From ddeba2db0e31b7e424b72c296c0abf2dfa49f220 Mon Sep 17 00:00:00 2001 From: ochenstarik-ui <267932263+ochenstarik-ui@users.noreply.github.com> Date: Mon, 31 Aug 2026 20:54:19 +0700 Subject: [PATCH] fix(a54): validate accounts synchronously and manage Windows runtime lifecycle --- agents/inbox/A54-accounts-fix.md | 169 ++++++++++++ agents/reports/a54/README.md | 40 +++ agents/reports/a54/antigravity-fixture.png | Bin 0 -> 65693 bytes agents/reports/a54/deletion-benchmark.json | 12 + agents/reports/a54/local-live.png | Bin 0 -> 70662 bytes agents/reports/a54/local-model-review.md | 13 + agents/reports/a54/local-model-usage.json | 198 ++++++++++++++ agents/reports/a54/ollama-fixture.png | Bin 0 -> 116158 bytes agents/reports/a54/openrouter-invalid.png | Bin 0 -> 44024 bytes .../reports/a54/openrouter-valid-fixture.png | Bin 0 -> 33638 bytes agents/reports/a54/service-health.png | Bin 0 -> 128640 bytes installer/HermesHubSetup.cs | 35 +++ launcher/HermesHubWeb.cs | 159 +++++++++--- scripts/install.ps1 | 32 +++ src/antigravity_provider/agy_subprocess.py | 72 +----- .../router/account_probe_service.py | 145 ++++++++--- .../router/action_handler.py | 122 +++++++-- .../router/connection_preflight.py | 93 +++++++ .../router/model_discovery_service.py | 30 ++- .../router/state_store.py | 14 + .../router/unified_health.py | 2 +- src/antigravity_provider/router/web/server.py | 48 +++- .../router/web/static/app.js | 56 +++- .../updater/update_manager.py | 2 +- tests/manual/a54_preview.py | 54 ++++ tests/test_a42_provider_connect.py | 11 +- tests/test_a51_hub_controls_hermes.py | 7 + tests/test_accounts_a50.py | 32 +-- tests/test_accounts_a54.py | 242 ++++++++++++++++++ tests/test_agy_native_login.py | 36 +-- tests/test_web_handlers_dom_contract.js | 8 +- 31 files changed, 1387 insertions(+), 245 deletions(-) create mode 100644 agents/inbox/A54-accounts-fix.md create mode 100644 agents/reports/a54/README.md create mode 100644 agents/reports/a54/antigravity-fixture.png create mode 100644 agents/reports/a54/deletion-benchmark.json create mode 100644 agents/reports/a54/local-live.png create mode 100644 agents/reports/a54/local-model-review.md create mode 100644 agents/reports/a54/local-model-usage.json create mode 100644 agents/reports/a54/ollama-fixture.png create mode 100644 agents/reports/a54/openrouter-invalid.png create mode 100644 agents/reports/a54/openrouter-valid-fixture.png create mode 100644 agents/reports/a54/service-health.png create mode 100644 src/antigravity_provider/router/connection_preflight.py create mode 100644 tests/manual/a54_preview.py create mode 100644 tests/test_accounts_a54.py diff --git a/agents/inbox/A54-accounts-fix.md b/agents/inbox/A54-accounts-fix.md new file mode 100644 index 0000000..a3bcd40 --- /dev/null +++ b/agents/inbox/A54-accounts-fix.md @@ -0,0 +1,169 @@ +# Задание A54: проверка аккаунтов не работает, окна консоли, закрытие программы + +## Дата поступления +2026-08-31 + +## База + +`origin/main` (`f0d06e4`). + +``` +git fetch origin --prune +git checkout -b antigravity/a54-accounts-fix origin/main +``` + +В `main` напрямую не пушить. + +## Порядок исполнения + +Два прохода: **Flash** реализует, **Pro** проводит аудит. Пункт **P0-8** написан для аудитора. + +**Задание срочное.** После установки сборки `f0d06e4` владелец не может пользоваться программой: ни один аккаунт не проверяется, модели не подтягиваются, поверх окна выскакивают чёрные консоли. + +--- + +## Задача + +Владелец, дословно: «я так понял ни один аккаунт не подключается. Все проверки проходят с ошибкой, модели перестали нормально подтягиваться. Даже на локальных моделях». И отдельно: «в чём сложность-то?» — про OpenRouter и NVIDIA, которые не подключаются третье задание подряд. + +--- + +## Что проверено ревьюером — заново не выяснять + +### Кнопка «Проверить подключение» ничего не проверяет + +Воспроизведено вызовом: + +``` +check_account profile_id=local-1 + → ok=False + → «Фоновая служба проверки не запущена. Перезапустите веб-сервер.» +``` + +Действие **перекладывает работу на фоновую службу** вместо того, чтобы выполнить проверку. Если служба не поднялась, владелец получает отказ на каждом аккаунте. В интерфейсе это выглядит как «Тест завершился с ошибкой» и «Отказ выполнения действия» — второе вообще запасной текст на случай пустого сообщения, то есть причина до владельца не доходит. + +Служба включается в `web/server.py:496` внутри фонового потока. Любой сбой этого потока оставляет все проверки нерабочими, и узнать об этом нельзя. + +### Удаление аккаунта занимает полминуты + +Причина найдена: `_rescan_after_auth()` вызывает + +```python +HubStateStore.get().refresh(force_scan=True) +AccountProbeService.get().schedule_all() +``` + +то есть **принудительный полный пересбор всех провайдеров** с сетевыми запросами. Таймауты в сборщике квот — 15, 20 и 30 секунд, у Antigravity через CLI — 60. Удаление одного ключа ждёт опроса всех. + +### Окна консоли + +В `f0d06e4` скрытие окна добавлено к двум живым запускам `agy` и к остальным фоновым вызовам. Проверено, что `hidden_process_kwargs()` на Windows возвращает `CREATE_NO_WINDOW` и `SW_HIDE`. + +Окна у владельца остались. Наиболее вероятная причина: **старый процесс сервера пережил обновление**. Закрытие окна браузера сервер не останавливает, и после установки продолжает работать прежний код. Проверить это первым делом. + +`launch_native_agy_login` с `CREATE_NEW_CONSOLE` — мёртвый код, его никто не вызывает. Либо удалить, либо подключить к входу. + +### OpenRouter и NVIDIA + +Сохранение работает — проверено вызовом `add_account`, профиль создаётся с верным идентификатором, чужой слот отклоняется. Значит дело не в сохранении, а в том, что **после ввода ключа ничего не проверяется и модели не запрашиваются**, и владелец остаётся с пустым списком. + +--- + +## P0-1. Проверка выполняется, а не делегируется + +1. **«Проверить подключение» делает настоящий запрос к провайдеру здесь и сейчас** и возвращает результат. Фоновая служба — для периодической проверки, а не для ручной. +2. **Отказ невозможен из-за незапущенной службы.** Если фоновая служба нужна, но не работает, ручная проверка всё равно обязана отработать. +3. **Причина доходит до владельца.** Запасной текст «Отказ выполнения действия» означает пустое сообщение — таких путей быть не должно. +4. **Состояние службы видно** в «Состоянии системы»: работает или нет, когда был последний обход. + +## P0-2. Удаление и очистка + +1. **Удаление ключа не запускает полный пересбор.** Обновлять только затронутый профиль; полный обход — в фон, не блокируя ответ. +2. **Кнопка «Очистить все аккаунты»** с подтверждением и перечислением того, что будет удалено. +3. **Учётные данные Antigravity — под защитой A37.** Массовое удаление не должно затрагивать `~/.hermes/agy_profiles/` без явного отдельного подтверждения: повторный вход в два десятка аккаунтов делается вручную и стоит владельцу часов. + +## P0-3. Закрытие программы на Windows + +Владелец: «при нажатии на крестик спрашивать, закрыть программу или свернуть в фон. При закрытии полностью всё закрывает». + +1. **Диалог при закрытии**: закрыть полностью или свернуть в фон. +2. **Закрытие останавливает всё**: веб-сервер, фоновые опросы, дочерние процессы. После этого окон появляться не должно. +3. **Свёрнутое состояние видно** — значок в области уведомлений с пунктами «Открыть» и «Выход». +4. **Обновление не должно оставлять старый процесс**: перед установкой прежний сервер останавливается. Это вероятная причина того, что окна не исчезли после установки исправления. + +## P0-4. Подключение по ключу проверяется сразу + +Для `openrouter`, `nvidia`, `nvidia-nim` и прочих провайдеров с ключом: + +1. **После ввода ключа — немедленная проверка**: запрос к провайдеру, и его ответ показывается владельцу. +2. **Ключ неверен — сказать сразу**, не создавая профиль-пустышку. +3. **Ключ верен — тут же запросить модели** и дать выбрать предпочитаемую в том же окне. +4. **Не «сохранено», а «подключено и проверено»** — сообщение должно отражать, что именно произошло. + +## P0-5. Модели у локальных и Ollama + +1. **«Запросить список моделей» у локального профиля возвращает ошибку** — разобраться и починить. Локальный путь не требует ключа, отказ там означает дефект, а не отсутствие доступа. +2. **Ollama: список не грузится.** Локальные модели через `/api/tags` по адресу профиля; облачный каталог уже работает — не сломать. +3. **Отличать «сервер не отвечает» от «моделей нет»**: у владельца на Windows Ollama не запущена, и `WinError 10061` — это честный ответ, его надо показывать именно так, а не как ошибку обновления. + +## P0-6. Antigravity: было 14 моделей, стало 3 + +На прошлой сборке у аккаунтов Antigravity значилось «Получено 14 моделей» с перечнем. Сейчас в карточке три, статус «Не проверялся», а проверка завершается ошибкой. + +1. **Найти, где список сузился.** Проверить, не подменяется ли обнаруженный список предпочтениями профиля — эта ошибка уже была в инспекторе агента и чинилась в правках ревьюера. +2. **Число и время получения показывать** рядом со списком, как было. + +## P0-7. Проверка исполнением + +Тестов недостаточно: все перечисленные дефекты прошли через зелёный прогон. + +1. **Открыть хаб и нажать «Проверить подключение»** на локальном профиле, на Ollama и на Antigravity. Результат приложить скриншотами. +2. **Подключить OpenRouter с заведомо неверным ключом** и убедиться, что ошибка видна сразу; затем убедиться, что при верном ключе подтягиваются модели. +3. **Удалить аккаунт и замерить время** — должно быть быстро, без ожидания опроса всех провайдеров. +4. **Закрыть программу крестиком**, выбрать «закрыть», и убедиться, что процессов не осталось и окна не появляются. +5. **Проверить, что после обновления старый процесс не остаётся.** + +## P0-8. Аудит вторым проходом + +1. **Проверить, что ручная проверка работает при остановленной фоновой службе.** +2. **Искать оставшиеся пути с пустым сообщением об ошибке** — их не должно быть. +3. **Замерить удаление аккаунта** независимо. +4. **Проверить, что массовая очистка не трогает `~/.hermes/agy_profiles/`.** +5. **Проверить, что окна консоли не появляются** при работающей автопроверке. +6. **Побочные изменения** объяснить. +7. **Пропущенный пункт назвать пропущенным.** + +--- + +## Ограничения + +- Учётные данные и `~/.hermes/agy_profiles/` не трогать; массовое удаление — только с отдельным подтверждением. +- Автоматическую проверку не отключать ради тишины: чинить, а не убирать. +- Вёрстку A48 не ломать. +- Версию `0.1.1` не поднимать. +- Правило честности без исключений: причина отказа доходит до владельца текстом. + +## Критерии приёмки + +1. Ветка в `origin`, `git status` чист. +2. Ручная проверка выполняет запрос и возвращает результат даже при незапущенной фоновой службе; проверено. +3. Путей с пустым сообщением об ошибке не осталось. +4. Удаление аккаунта не ждёт полного обхода провайдеров; время замерено до и после. +5. Есть кнопка очистки всех аккаунтов с подтверждением; учётные данные Antigravity не затрагиваются без отдельного согласия. +6. Крестик спрашивает «закрыть или свернуть»; закрытие останавливает сервер и фоновые опросы; проверено отсутствием процессов. +7. Обновление не оставляет старый процесс. +8. Ввод ключа сразу проверяется, модели подтягиваются в том же окне. +9. Список моделей у локального профиля и Ollama работает; «сервер не отвечает» отличается от «моделей нет». +10. У Antigravity список моделей вернулся к полному; показано число и время получения. +11. Скриншоты проверок приложены. +12. `ruff check .` чисто; релизный гейт 10/10; тестов не меньше **574**. +13. Отчёт: `START_HEAD`, `FINAL_HEAD`, `origin/main`, `git status`, `X passed / Y skipped / Z failed`. + +## Главное + +Владелец поставил сборку и не может ей пользоваться: проверка отказывает на каждом аккаунте, модели не грузятся даже у локальных, удаление ключа занимает полминуты, а поверх окна выскакивают консоли. + +Общее у большинства этих дефектов одно: **действие не делает работу само, а перекладывает её на фоновую службу или на полный обход всех провайдеров**. Отсюда и отказы, и задержки. Чинить надо это, а не симптомы. + +## Порядок сдачи +Передать точный `FINAL_COMMIT_SHA`. \ No newline at end of file diff --git a/agents/reports/a54/README.md b/agents/reports/a54/README.md new file mode 100644 index 0000000..9212386 --- /dev/null +++ b/agents/reports/a54/README.md @@ -0,0 +1,40 @@ +# A54 — проверки аккаунтов и завершение приложения + +Дата: 2026-08-31. START_HEAD / origin/main на старте: `f0d06e499449564b3fb19c80a8bcd862ea895594`. +Ветка: `antigravity/a54-accounts-fix`. Версия остаётся 0.1.1. Точный FINAL_COMMIT_SHA будет указан при сдаче и в PR после окончательной проверки. + +## Что изменено + +- Ручная проверка выполняет запрос независимо от фонового планировщика; результаты и ошибки возвращаются сразу. Проверки одного профиля сериализованы, незавершённая inference после таймаута не запускается повторно. +- Модели запрашиваются отдельным действием без inference. Пустой каталог отличается от ошибки соединения. Облачный каталог Ollama сохранён. +- Новый ключ проверяется до создания профиля. OpenRouter: аутентифицированный `/key`, затем каталог. NVIDIA: каталог и минимальный запрос обнаруженной чат-модели. Ошибки не записывают профиль. В мастере можно выбрать полученную модель, результат сохраняется в состоянии проверки. +- Удаление и смена модели используют локальные изменения снапшота; подключение не ожидает общего опроса. Массовая очистка показывает точный список, требует подтверждения, отклоняет устаревший список, исключает Antigravity и ссылки на защищённые данные. +- AG: явный запрос каталога больше не возвращает пожизненный глобальный кэш другого профиля. Предпочтения подписаны отдельно; каталог не обрезается до восьми, видны число и время. Падение с 14 до 3 на машине владельца не воспроизведено напрямую: найдены глобальный кэш и отдельная строка предпочтений, оба исправлены без заявления о доказанной единственной причине. +- Windows: контроллер с tray «Открыть / Выход», выбор полного завершения при закрытии окна приложения; остановка процессов только этой установки. Установщик/PowerShell останавливают старое дерево перед копированием, сохраняя ветвь самого установщика; при обновлении установщик отвечает за перезапуск. Мёртвый запуск отдельной консоли AG удалён. Вывод сервера читается постоянно, чтобы перенаполненный pipe не останавливал сервер. + +## Проверки и их пределы + +- Linux: **598 passed / 1 skipped / 0 failed**, 4 deselected. Пропуск — Windows C# compiler отсутствует. `ruff check .`, Node DOM contracts и `node --check` успешны. +- Router verification **10/10**; release gate успешен. Итоговый Windows CI проверяется через draft PR, результат будет дописан после выполнения. +- Браузер: настоящий запрос к Qwen на локальном 8081; AG — явно синтетический профиль с 14 моделями; Ollama — HTTP стенд с пустым `/api/tags` и заведомо недоступный порт. Кнопки ручной проверки нажаты. +- OpenRouter в браузере: немедленный HTTP 401 при неверном тестовом ключе, успешный HTTP стенд возвращает каталог и выбор модели в том же мастере. Настоящий ключ OpenRouter/NVIDIA владельца не использовался. +- Удаление, 50 образцов обработчика: базовая медиана **0.329 мс**, A54 **0.324 мс**; максимумы 6.942 / 63.205 мс. Это не доказательство ускорения пользовательского сценария: полуминутную задержку Windows воспроизвести здесь нельзя. Лишние полные сканирования в последующих операциях устранены отдельно. См. `deletion-benchmark.json`. +- Защита AG, ссылки, устаревший preview, ручная проверка при disabled, непустые ошибки, serialization и сохранение результата проверены тестами в изолированных каталогах. + +## Не подтверждено исполнением + +Windows: диалог крестика, tray, отсутствие оставшихся процессов/консолей и обновление поверх запущенной старой установки требуют интерактивной проверки Windows. Компиляция/CI не заменяют её. В fallback обычного браузера его вкладка не отслеживается как окно приложения; выход доступен через tray. + +Не проверены реальные OAuth/каталог аккаунта Antigravity владельца и действующие ключи OpenRouter/NVIDIA. Учётные данные владельца не читались и не изменялись. A54 нельзя считать полностью принятой до этих проверок. + +## Артефакты + +- `local-live.png` — живой локальный сервер. +- `antigravity-fixture.png` — 14 синтетических моделей (не доказательство реального AG). +- `ollama-fixture.png` — пустой каталог и отказ соединения. +- `openrouter-invalid.png`, `openrouter-valid-fixture.png` — отказ и каталог HTTP стенда. +- `service-health.png` — состояние периодической службы. +- `tests/manual/a54_preview.py` — воспроизводимый изолированный стенд. +- `local-model-review.md`, `local-model-usage.json` — честный результат локальной делегации. + +Проверенные первичные описания API: [OpenRouter current key](https://openrouter.ai/docs/api/api-reference/api-keys/get-current-key), [NVIDIA LLM API](https://docs.api.nvidia.com/nim/reference/llm-apis). diff --git a/agents/reports/a54/antigravity-fixture.png b/agents/reports/a54/antigravity-fixture.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2411e1bd0eb69bacf2bddb00f114981fd8b8c0 GIT binary patch literal 65693 zcmeFZ2UL^U*EgE6ixmM;ijH(blTIiyDxnu4c?g}6PUs08k&zh{f&?j{gr=bf5~Ku3 zD2^h%2_Ya|dXp+e`o|P!{!{LI*S+8O-Mj9(?~}F2$#b6bJHNBfJ|}yhy~)9cgO8w# z+Ui>Bpl`kbfxbC>fer>hcR?qP9Y1mW*ohOzPnC!a{8N7ht!e^>pdjM^&#qsuFYxE#Oq_{;UR(?fCnf_vhy zPL}ylaz~CGJ9_HKQP3~1U+S1I-7s7}DtWu}{>!3cEIeM1qTh_N8cEr#9GAW$LwI}8 z4?27Fa3st}nL({jqjao&S#y77zdrg>q}4GB3aJ5zf2#qb)>lFQBC zfxi1kAOBC?IQj9v?CEss$LPKBy+|H@zfg_Ms12F0J5SegycW{>IWXU>elr(hc?QNqgOxXj4Yd-Ox#*L{$Zp6n>1I?_!El-eG95* zivQ`!gs0xvfJ&?Pu5Mz2JG%Wew__{=5{ks0)8nqs5Q{@3Vnm!(vE$ZD!y#$M1@oh? z*3Z8zH+RSN_Rr$WFTZWN|1y$n0lh@@vBq*qK2v&^*y&cyD2$VItu=}nkV#e{2~Eb! z=MVPEnvnuC=)#Y6ZMmMmiJ)=!iORRg>d79rtXWVZrn7zuTnhjIpc4#{AwLM1T%V3V z9fq;ZNwJdJ@sKwm3wRlr2QNS>hn8&Qe7lR?JOagVZDk)`M#pR3a9rR=DM{;b2(Z

9fnjK!fqjHy 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 B2+{xm literal 0 HcmV?d00001 diff --git a/agents/reports/a54/deletion-benchmark.json b/agents/reports/a54/deletion-benchmark.json new file mode 100644 index 0000000..68a9d1d --- /dev/null +++ b/agents/reports/a54/deletion-benchmark.json @@ -0,0 +1,12 @@ +{ + "baseline_f0d06e4": { + "median_ms": 0.329, + "max_ms": 6.942, + "samples": 50 + }, + "a54": { + "median_ms": 0.324, + "max_ms": 63.205, + "samples": 50 + } +} diff --git a/agents/reports/a54/local-live.png b/agents/reports/a54/local-live.png new file mode 100644 index 0000000000000000000000000000000000000000..4fbb3c5ddf9a88e5fec5b18024eb29fc32be7f6f GIT binary patch literal 70662 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 WFw4t4%@D`H(tF%{$D9XF#{UhF#-U6A literal 0 HcmV?d00001 diff --git a/agents/reports/a54/local-model-review.md b/agents/reports/a54/local-model-review.md new file mode 100644 index 0000000..6ba5579 --- /dev/null +++ b/agents/reports/a54/local-model-review.md @@ -0,0 +1,13 @@ +# A54 — локальная оркестрация + +Использованы HTTP chat completions на 8082 (Qwen3-4B-Instruct-2507) и 8081 (Qwen3-Coder-30B-A3B), последовательно, без передачи данных владельца. Изолированный Git worktree; ответы моделей не исполнялись автоматически. + +Циклы: probe-coder → probe-review → rework → review → rework; дополнительная передача сильному кодеру; preflight-coder → review → rework; Windows helper → review; отдельная генерация теста и ревью. Объёмы и время: `local-model-usage.json` (только сохранённые ответы; один потерянный ответ из-за ошибки оркестрационного скрипта не включён). + +## Итог аудита Codex + +Модели не довели критические части до приемлемого состояния самостоятельно. 4B повторно оставляла отказ при `enabled=False`, использовала несуществующий `threading.ThreadPoolExecutor`, неправильно читала JSON Ollama. 30B тоже предлагала фиктивные профили и успешную проверку без вызова inference. Эти версии отклонены; конечный код существенно переработан Codex. + +Ревью 30B полезно для поиска отдельных дефектов, но содержит ложные срабатывания. Например, оно объявляло нестабильным `setdefault` словаря блокировок под mutex и не признало отсутствие нужного импорта в предложенном тесте. Его `PASS` не принимался как достаточное основание. + +Исправленная схема на этой задаче: локальные кандидаты → статическая проверка Codex → исправления → детерминированные тесты → браузерное исполнение → Windows CI. Нельзя утверждать, что расходы Codex снизились: контрольного замера без делегации нет. diff --git a/agents/reports/a54/local-model-usage.json b/agents/reports/a54/local-model-usage.json new file mode 100644 index 0000000..3830569 --- /dev/null +++ b/agents/reports/a54/local-model-usage.json @@ -0,0 +1,198 @@ +[ + { + "step": "preflight-coder", + "model": "Qwen_Qwen3-4B-Instruct-2507-Q4_K_M.gguf", + "seconds": 13.08, + "usage": { + "completion_tokens": 1490, + "prompt_tokens": 394, + "total_tokens": 1884, + "prompt_tokens_details": { + "cached_tokens": 10 + } + }, + "finish_reason": "stop" + }, + { + "step": "preflight-review", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 5.61, + "usage": { + "completion_tokens": 333, + "prompt_tokens": 1536, + "total_tokens": 1869, + "prompt_tokens_details": { + "cached_tokens": 5 + } + }, + "finish_reason": "stop" + }, + { + "step": "preflight-rework", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 19.48, + "usage": { + "completion_tokens": 1705, + "prompt_tokens": 1849, + "total_tokens": 3554, + "prompt_tokens_details": { + "cached_tokens": 3 + } + }, + "finish_reason": "stop" + }, + { + "step": "probe-coder-1", + "model": "Qwen_Qwen3-4B-Instruct-2507-Q4_K_M.gguf", + "seconds": 16.74, + "usage": { + "completion_tokens": 1823, + "prompt_tokens": 1149, + "total_tokens": 2972, + "prompt_tokens_details": { + "cached_tokens": 0 + } + }, + "finish_reason": "stop" + }, + { + "step": "probe-review-1", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 5.89, + "usage": { + "completion_tokens": 603, + "prompt_tokens": 2059, + "total_tokens": 2662, + "prompt_tokens_details": { + "cached_tokens": 2058 + } + }, + "finish_reason": "stop" + }, + { + "step": "probe-review-2", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 7.71, + "usage": { + "completion_tokens": 511, + "prompt_tokens": 2115, + "total_tokens": 2626, + "prompt_tokens_details": { + "cached_tokens": 312 + } + }, + "finish_reason": "stop" + }, + { + "step": "probe-rework-1", + "model": "Qwen_Qwen3-4B-Instruct-2507-Q4_K_M.gguf", + "seconds": 19.38, + "usage": { + "completion_tokens": 1879, + "prompt_tokens": 2643, + "total_tokens": 4522, + "prompt_tokens_details": { + "cached_tokens": 10 + } + }, + "finish_reason": "stop" + }, + { + "step": "probe-rework-2", + "model": "Qwen_Qwen3-4B-Instruct-2507-Q4_K_M.gguf", + "seconds": 22.35, + "usage": { + "completion_tokens": 2163, + "prompt_tokens": 2607, + "total_tokens": 4770, + "prompt_tokens_details": { + "cached_tokens": 291 + } + }, + "finish_reason": "stop" + }, + { + "step": "probe-root-audit", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 6.82, + "usage": { + "completion_tokens": 490, + "prompt_tokens": 1488, + "total_tokens": 1978, + "prompt_tokens_details": { + "cached_tokens": 4 + } + }, + "finish_reason": "stop" + }, + { + "step": "probe-strong", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 24.7, + "usage": { + "completion_tokens": 2082, + "prompt_tokens": 2439, + "total_tokens": 4521, + "prompt_tokens_details": { + "cached_tokens": 5 + } + }, + "finish_reason": "stop" + }, + { + "step": "test-coder", + "model": "Qwen_Qwen3-4B-Instruct-2507-Q4_K_M.gguf", + "seconds": 2.67, + "usage": { + "completion_tokens": 302, + "prompt_tokens": 143, + "total_tokens": 445, + "prompt_tokens_details": { + "cached_tokens": 3 + } + }, + "finish_reason": "stop" + }, + { + "step": "test-review", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 4.22, + "usage": { + "completion_tokens": 385, + "prompt_tokens": 335, + "total_tokens": 720, + "prompt_tokens_details": { + "cached_tokens": 5 + } + }, + "finish_reason": "stop" + }, + { + "step": "windows-coder", + "model": "Qwen_Qwen3-4B-Instruct-2507-Q4_K_M.gguf", + "seconds": 3.15, + "usage": { + "completion_tokens": 348, + "prompt_tokens": 173, + "total_tokens": 521, + "prompt_tokens_details": { + "cached_tokens": 3 + } + }, + "finish_reason": "stop" + }, + { + "step": "windows-review", + "model": "Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf", + "seconds": 3.52, + "usage": { + "completion_tokens": 296, + "prompt_tokens": 378, + "total_tokens": 674, + "prompt_tokens_details": { + "cached_tokens": 3 + } + }, + "finish_reason": "stop" + } +] diff --git a/agents/reports/a54/ollama-fixture.png b/agents/reports/a54/ollama-fixture.png new file mode 100644 index 0000000000000000000000000000000000000000..717891da177c341d8dd151939373ce6e14a6a938 GIT binary patch literal 116158 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 literal 0 HcmV?d00001 diff --git a/agents/reports/a54/openrouter-invalid.png b/agents/reports/a54/openrouter-invalid.png new file mode 100644 index 0000000000000000000000000000000000000000..a674107a36b1034cc8bb59517768a05cda991fd7 GIT binary patch literal 44024 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 JJ!q}={THhlel7q2 literal 0 HcmV?d00001 diff --git a/agents/reports/a54/service-health.png b/agents/reports/a54/service-health.png new file mode 100644 index 0000000000000000000000000000000000000000..57106f689fae1f055df6a4fcd7fd60435bb5b6a0 GIT binary patch literal 128640 zcmd?RcUaTQ);}5xs0d2$MM46EDhVACX@P{A(EFwZLsP1P2wSE1gaimxdIu??DBxB= zS}4++CTlT+u;oufHV!$d>FB+SXmDg1x? zIsOg6aQ^fl72wP%AmB8^sWS|xj@tn|CqkY+bL!*){Cv)whJmg)=@;MD0eXQ>#d8Cm$Hh{H_G#wMmo=U9QNC?mpasICu)N~fKJP|v3%*R&&%Rncz%E4X9w2ejJf$hUJh!fsab7EcVgMa`O zx~JWt9aYrAQrP$_fce+|)bRfx8sC3g7ADd8xTDu04jO7EKVf6I@##7{Sf}W&+~$4i z`0et+w?#>nOd`@b<2#(SR#+S<>p3D`OfExc4q6*g{FDcU^$SFr^~hZ+<4W-;2sA2> zZBf#Q($nd8U=vb-aM^N%MSfnRTtvL`5Zl~;b30e}cKPZ@q#hD}Zwb1k9k!@kO07`r z$Sr+WpQx<~gss0wr%Uqq!iDUyF0ER8ySNu(zQi8$5-w0VFVB*)2$YTvz_q!GKxKGm zor>(f&wiJ^7`+iLvSUgzjC^xFLeD=pBMEaO+(QM_yg*Ki|F*rt9wnc=am|j}lQqd` zYrR#lPubV*9J~6t3VGWk8=_T0|B`lbZBLd_L*h7zTH~Hp6%|XMjL}Q)n{>adzUQ)~PnC+c&VraXR!ky$BefsS!`#=C^lI{Z+BE_r6DV?$Bh%ZT9wh8`d%c-i9-(83 z6mq2bWJEg{l_A!aF?E(bwCz^$NEu{aVCz%Tj+;~jked4yJ55TAtMpxFs?PETYX3O* zN&6*cXFo;>f2hEe?V}^^RhsutUvadxr53D zKjgM?SCx_QYsghzq1U=$?31zc8)Pil`rtcleJbTD*=26^Ig^)0dd&OfXJ@`JZsszf zs-&A)LUCbSg^HgP?=ehyePcV(_?G;eWp zYH!NoM2r-u4`aH$)!y54Rqpzoy~gV}ftUU=1ut`q z*pe=Tz05rY0t`RrM-m>Aqu{~bV~}dfRw&E6=E4jJwn?SYOa7Y2tfz>`ymb%kSS?eR@=z`EU)afZ0kk{3g_=aOh* zfLH_TFvhqeGqXhunQZ5LWN1i+?1dZ}41W|PAJ*(B?U=?r_(*PIcP;KeAEl0sM|eJc zpJpP#DWT8V$2xU~d<;lP4Gw7YHQx#HF~}vPcO)rDHTmuhy45=zI>|2Hb!n%$ncMLzX(1Q!le!Gg8s^^lP(;D=_)ohVqS)u+#{fM) zC6ADE_Vowg`LyWbYBqzM*Xe0}Qpw%*nYV{9@chDYam&N&UOg+R>nTw1_53laoQ^Vh zVy;Xr=b)|ouzQTt4n*_b?2%if*_<0gmaM6e2fbzTf^SElq9y9dwuWg>ehJ*=OZ0*L z+@+GJ5?wU$5)qkSH`i=f;?+b=`0#;bO&QpY%yG5+9HJXN6}V+*RQ$f_$u;X2wCXQ+ z(E<}`Qi8hS%QumeGMq-FJjsX7sRRA8A{AU`Ub}f;9Ytj@Foq9v_I&P~Qu1~AOu2LKW|S;8Pi)(bq9*gq0TfMM z-|Jp+4{@Ysiu+Xe^~{HmU9|}HO$Kxfka&us#hF1FUzAX!TN>F8cfwmFJ5;mO$7||r zl57f%gz0m0IRxXxeb{dgHm^g>D8xNe=`2T42DVkk(ICipY23W8jw?+JJre?l8Q%pp zY$BeEqJp1=-fsV-^U4Oc&-qZ;$Y^uFxkaB8+src;xDX4bk@2SHE2rdFcdO}1Z}nKD zv>8R!AmD-InH@T-m$qy!m+pev^q!yQG6`RS<{=Y@5#VPyq$uYnKh_E}cD-Hq3jVZ^ zW5B7li|MCAwPF;yM6AQ{_-anmg3N?nD~lD*R&XaVRx5%ZwGzhjD!1Dor41_1^z!6L ztL6FRMp^^1f@T(j_DNy+g!O%$kx>A^{kQ-28V8{E4b(*HXe_t}b*3xFco2mXc5&yY ztdU7UwDhc&r>jS0E@SK(rKucCU3n?bZ}(|Sibqz8-mthy(`h`SObUKC$P!;td=Gl~ z0)4ULe>_Db%nZR%O1u_XPwKR5G!u>!fucA#T%jsghoUrJ;0hbF0RZ%WAH4tYW)Ofc z|M{k!_9JLn)QQ@q*BWoePG7V{z$fKB(_*Wh3;_Keph!lhsB@sC)DX`vF6vog79?7*+v*R{Ne3Nyh%^HOO<`r03lqwO+j}V z(c`l1WIkM+v~pFjFLKx|jt*2bQk3{el{Z&OxNE@fal}WygPZ6pZKZS3vF3d;5)PpH z{XsmUQ7;{yq~rnZuW-cwqJ}ls;UI)n(D|5p=3gN=@1iH*&LR1F<(}s;%`LiZG+x3M zD9HC&4~ z9xVN)J!@`Q#; z-g~W~5iVHa>hTvDD^VKRRsl;T6|(Q+WIfB1x43F9V&7maBLj-j`8Tiy&5dP3%vgzA zkOnfbegQRoE5oCeZbEoBt+}l*zu>8FyYP@1w8q_ETpb;frsXX_=zM#B=vuE33FM68 z%>{x*jse9klK*i%U;lMaWqx&}|j>x!E*N_F@Cb zG`r;rB09QIgd8^t3@Ttme%K=6*gkXh1&b@O8M(}hsO=S)gl>&;dQ&I_GoYNMispa? z??CRpjnFY5P5rP&WrzNm@QmAz7pyK!y_NSYQBk+Y#-zu0X>jD#h_i8d_!c zTVWxOZN@1{bF-)3c7KqP$*StQu}D2DOpy5Uw$MfUt1BC0Q^t_7(ENZm)3TbA>|A~B zBBK*hpgP$>DTFIVc*3DVr129^IH!qbE~=u^`!$1kWiYA?GSNaU&|U)V@Y5i1h-N98 z9s@R{n&pG_tJkjJ?O)`+3xADMO zX(vCDCZ*)gH{U|zeXg`G|FuM1Ux8F+KqW8a3_yo*um9 z^R<3a;_q*gsx>TJO!0-KL!-vSz-72 zuh!ZhpLVjIJO&tUj9gtB*pCR#iMnyNtEu)V=WVflU-r(WLv_YqFW~-o`G;s=02AKi<9cgE_&aEw4XyT3^d4uEDsjz|{*Pc_nfLgK>5MLYuN4pM(?t z+yZNnW--$S)GLADtc~oI^00eR{nqB-mDy<3FGTs^+>))iba(!bVWjuoI@)UIDUr>! zDA3pBw(SQP^uP35&`U6^gr+)8zmw3_yUXD!wRz#M-OZDgk+4p-3`idGXk3O8xuSqF zSue)|!)66dMU=V)WTfX90{R4j9P9jD8x>?+&e#YR#XAI@QfEaXpf*T92C=SI920~d zK=V`2|C`T&oVtios-FDh@F~BwqG}5+bXUT{Q@B{vrEWj{>+=~FpJdqk+TQZr`G&9? zylomQxf<9!esBYThh0J>4$~IFDvJ|CXQG!}9K;*tf%X_aN#XBH<@v5kpmM^Av*|ct>j*IY zmF#nQBne@HlCts6(&q}AqbnZtKPa1icaX#SKzZDOIh-eq7d;fd(Cyq_hpBp0j=%G~ zOSN5jy5})tuRY3HnWqg=QIN)roxo^$s10{aI_qkxcCveNPAo=s6n9mT5Fq!lTItNl z<|#_Ac@moB+^VUlJLH6g35bWQ^*nX~5@{TZNIUYY7g3*3R}!6EmX##N_s*MMgz(KZ z^0jmw0|vV&)~3xDFH@WT3Yf%?;Z#XR@oUL_k(+5K{%*9j;50J9!SkNMf@rGAM;HV* zg`cYhGL=fpiNHeNyP`bwdhHJ)99i$?z{l8MdL?3XGqjvI?@K_wF}kWGcOimvX(jUR zT%7Ofg~=iX&=;;pFn-5^*?OIepQECnX^jAy8vxlEiDBtAW!d^K^21;W_1pGx{M>oi z+Xv(dgtC?sj=`?KDv|wKh|6w@pyw~6TizMj*BlAts!iBZOY>Ocs1~C4T<4KXzw32r zpP8oyiVD1U(#96NL++%Ty_{UC&(VyU!sJEdm`+A;auc+@X~**NlH6w`#V;atP&R^2 z{-eGJc@VIgB$%X< z-!AWS3?M0dFVFrcFBKt6Kq;(7m5^z0*#-H5X(3OfzMaw0-jO~A{NlJytG!mK{;6ix zdR-Ww(E}n53}Ku!_bFB;S34|8Xz#Pd&p&%q_p?sBA-8hJVNE<_w#V>#Y2@_+5awD%Z3_aS< z50%8Se#D@bvAl)ZYqa-&8yZs9Q<-4@{;)$HUT91;=EQ`WV}#|;z+@!8pN|6hKTnsb z6v-&;zxh_k9-;b#P%&hLl+Y7$<0QKZG?@d8=2Ci9NRjjF)geuA(y?(Z_ z8|(xNAYO?wZ6PO5yEQxp*Jd5k$AG!c0|upIfRx>rG#9QEEC0|Bja4$CR&6XV2qc=wKrVc z=x0#7IpNQgwZ00re!Tl z<^8h+%^NRav<#ToF~3ybjq&s7Qj4njQrxw365;BU8}X+_+rXKq2?fYSJES{u!o_F8 zU+IDy_NBYUqplZ!0`yN%rPGjgGV%pkkjz9e3SPH0EG;&ANz-xM0Vu&A-lArDP2bqN zVef%cuSLIQzB=wweAGVv=JKBm5+c}#Pu^?q2H;UT+x$dTYlz|VCI*a|sH{2H?NU3+$x`OQ&8_UGH`h$e1% zz`2hD@j-mWDw}#ijbqauG;faq@&~Odh>&-!Rn$CYOv42TY>5v8$18d=quxvRH(&-k zY_jjl8N<(t75*N!5GRcjCqPd%$u~3Jy*}Ca(Uu-o0DL8uob^_?syr}9r(CDT8vh-t zpSxGD{mZO}ZUJ}!Kc-1McON;ukV%e@LFda!O638K0}t|NA`ihI$F3U*e`*7z_0d?k zZ5cVh_U_9b0}jWo5gh6QS0H>D&p+1&HHv)qIQjM%066%hU8Ss3U~)x<6INkNpZvxs zzquWulx!s&N#57)ymt(E6=qA@Q^{VWi65?+%hgH9p#gI_&D9|U>f5eGkH{N~T`T%n zT&lQ7ri~l&3(DN$^j<``jk(G&Sea#X7781oU5NF$Y5b4PvU15NkI2_qkk_LeZFf_= zRX_C-HLFm8T2F2H{j)VPk-~;=dP%KEk9YhHC1Espg_<^m64ty=enhYrFT! z>3hpe+NwGWD3wk{w(HyPr}3(5@ra;jbZ$y3hJleN8(9=jY;5EXZbIvEb zC&BxjhR;njCB`LQ_A=rNa$WLH8u{14NF2m20s>*PM=HV; zF$*J;;7l`o9fEjDJO}T;=N^|*jXNl+GJn*uywN)U3p{ZZAxE>pFD_OCB9wPi0^H%Y zUKi^SpWq*8oT>ZujTCv*x?-e+Y+`rbAV%w|o>H@wXPIRx4l<9`sspcD^|(6ODK*M&=!xlmZN|)2ad11PV?-=@O(3FeIJ;U z!#U=Wc8xHa3lx2`QSKDK!f(=hNGO5>#}gUjl4n>RzSoi5yD-Hqo2&zp*wgLWsC=b$ z^j<=o)3;blM9HHfS2=VGHnm{Z9W>UI{LI`*fYyXCmxG%2&@A7xpsTk#KV&(QD}J)r zF4vdE2^%ZnQkY_*==^Iwxi%h}8ZiuRuP$Q>k)GB%iMtGnK>xlI|tN?sXFjb3o}5xuP4CgaRcE`@Tc z#}$k~KBV6y5IOLEC7R`ZLJm{@6TpWokh`9uQB4EwSr}n|r!ONQBW!O83!%h<6=~V) zFp@Dzcd}foD4f6gm7l0lQCd2!izMV)aCB3g0=l}j7K-D)!nPmY?$dL>x`kq%3J|O- z%Yv1F>qZy%KvuN%T zlrezz0)@TKDo~GMJj*sCWUJwAkzOiJB9MjGY-1)+F&BKX)%F=h>Fy*jo`tv|t_^Fc z1;zHsRZlHezHD}7x3|8)bSn~YD(}jVAm$XbRru{Ewyz)!uvrJ!VeV0TU?8R7!W7L19lz*o{7;IK@1Rrv%RUC8WUg!Fe@Up#!ZmB1w%vF=>3iQRk6_nM}4K zR$>ClK`ETFoTY*|wX-M*;S#_wrq#y~bnt9RWftZUL;w zKE3>*TmgY5!KujRZ%Pw4j{y&NJ{{70JNK^TUWi)DizbEdPwBRBt-Bi>+NljwM4;7r zZ|#5uCOlIW3^G%001A9zaBb;Kz1x$OqTm8VCV)Gd-&fW*@3GcBu5EBsi+RUkCEMY# zO~5&$8Ytb*WqPZL)*!H=l+!~s3CwU_!t25E}d`m zxw<`=8sE6$Bjw|*ny!Ia4_XLVL)KS4xNqfA91s^ZU)Lcj9UZUTOcJ@kf9;_j$jLLm z&+fAAt%sHe?+t#)sqzQNXYr!xa@kx093@n!a@h^RDHF5~R^jp@nleTf>a93-S zX5k)6e!yYvW=hOjVpAy6n?l-M;(a>9jI#xbvL2+Y_l^_iC$Ewy38 zGw#BoGzRs%ceP@_KcNKtSFXU;ZZ+29{dMyAVOQAHb*Xj!(VMS zwPdELpuOOG+SnvlQ#X|heSk-CuT*dz|Cz>`bU~WALd84@ouKp@1!#@Ryn-4C$3X%` z_J3_6O*FS@{1t$dL?0iR+t75jRkk=Div2J)f2;mg9+V~N`iWaGU^XTA3|u~oNXY@+ zIR<#MS5^`H+>}dUSCLjRO96mWkN-E>jvr*IWZvEH&z~ZX9zCqHu-`~{_C5b378QlF z?WjbI3?C88Vwz=Biy;QRIEFCr*>Ds7+`CbjlQ?6zdZq?XCYe{-dM$~5zUC2oa8HK5 zAVVoSsR5ObAbSuh$_Hap z;)2HJ#ugZ#dC^OyS$drh_4CJ4wiwvnwKAIOG^KrV6kSz{zkNpbj!utlQ(D&E-oUUx znW<}?DXB_|RTq1?uSmMV4xBu)rJ?(HqkIhsYslWAdHQ91*6*9Z=<=*&dYq4WMk#Z? z;POZ^xrEHpT)-jtRoTUB;0D&y2R0}0cvrpnMLH+SZ~;2wkhM}!+Y8p$zC99PBOvOc zNoHUOxPEW;eKvr$jgAOxxC%IlDV)|Fs&TSvDN<*tRLk5z!_koJ7B$ zTg_oXi%)M5P$VGrTd+`5qvuEMGFKUqXt8gUe@@I)u%cDkZmZnG9RqT3sf`tPp=~dS zc`F{NwRYk=(>Hg|VDx`&YP`kN8^f2{9~p_m_X^vXUh~I?W`7WGafP9ZcV;LQ206O9 zDDS*&j-l5QP*TA8($2)8#Jtf({uZPFLYO=g8|kyjsCm6~GC_Rnt;yGfUr#5}MbMc% z?tEZaFopvg?_s7x8~5~H@u+4d<4yBMTm?jv^EfvFN)n;%wpYE=MEKf{0ZiV=zOL!- z2TfZpy_H{E4!(^k%!12Qai_D9xw%N}U|%PlH#8|hv388i=*OCiV6fhyAOBS&`XrUc zn)*+vlyH6SW5ANmo!h3vd;$waSBjspT)3&h5& ziqfgjjiszm#V#j|ZiZ%==W6|0gx=OxTk8#IeyGGoT)??EMqDua*p*W$?%)e-(OrC#E+fhERtZyAUrIIqLi(|#Rayh6C)?mV=c`xBV!a=C+QSm33&ROhl{ZCGAcUT&{tw>VjZ`t4gB>h| zZ+AgTcXRZ>?JER#6D?<0Zf}YBw}AKFCzkPYQ8MUpQh6FmWWl+ZSbXr6dxM^$2Y+_m z(J3RLwc(-&l(n|ylTX7+Q}ib1F-#Ux^h`5 zt}Z9|oC%G-3!f3Wr;@E5n%Z^}X7%j#@O{w5@z;Rxp763YgU1%g0%K7eh7zUcsbkWJ z>Q2e<1Klpqywm#3jbd@D-1i-C0_Dx+%4UXs;@StvIai!Al+#}NGa_T8Zj`PapN8}% z;c$Bv%}Hdk+mxE%N0xCfF$9|5$%Ew0T2SXTIHn2KNJ4<3FfQIr#guhLbJ`;Z2-5PM zrH&nUzrwi-^T2}ZZFP%V1-jlqy$|e?!jxG2Bln%;3QS9g@I-N{WgcUWX|OkqdM&mX zIU@ray0vGkragdSa0V);MW~)~JkUiI<~QJZVz1Wi%;EZ6?0eFEXM}Z!3mO;Ldo>7Z z$&u?|OeiiOAbP*oCbr}Ild|Z|`+dAR&@y;87<*4NG_UW;c7TYfox(~JT{*SGbO#&D z`|A~lI+wcD+h)8&n9GK^6S1DU>VY{tUz!`(<+zYmXya$V?k0}pT*-VL*!i)-*B=Kt zekoa3ch$MnJRK$7L;`74G?lm9*(Or_u5uoX+!2Q`xZ97nx`?;?iX7^n19q_I@f*_j zaM*jr0Eb+B#a*AqDbXqDwp!6fU@NO$o?&k1WVtYlEPWCaMuJ3vOI1`yz0~5O7-y~|64&ksIgR=Yrm~wF#+iTMHZwP z%EkxIj~5^h*UO@uN0!BgvponkL--nL&JExEAyWZVfnvgzHaS*A4`IA~=~)*HEKyfz zI=xquW^n5Titl?YJu?@yI#UZLYvn5H!I6z8l)c+>nglN8!4M1#tIGNCJM_Dw3Jmym z_+%u3+=VB}UC^)?s;!BGJ69-OG_4&icY6nVP^%Irk|3LV9U z?Yp1vQgyQ&XK{C_&_ua#Ie~$LGe^9gGq!&TgUM5Qr*$jQ6o6oUS~Ra z)VNndSrx@i^vW7dHi#dg64%931l8mFqb^xyLebqrb_6Ucjh2$EwJ_5~UK_c?`SBu< z>s%bvL`1qF=VhSJCGbo9yji9OQif4C%EH5En}LUHeg6(iFFrPDzAbe$rYk@c*aSg> z14P70Bc_wLu8#kT08*Y7&Lap%p1L`C>Uxc1Ruu|EWDFFBjO?|ka1?)Z{knWE7j_zbv;fZZCG zd?tA}!#4=_ZsqZU|A%f*7%t0MgP@S!ZIRz6w|DE-+-*cHEJ)vxGQHEg-aE_P_uRU5 zt>wLI#{@hljL>Zi$GFJ1cwxns7s`i$ukVMYuS^8a!8;w@P78 zLtsX*kB!u@n(`*4Ss^{R>Hg%sj-AuE0w;a@{O0ZQPOA$3(3!DZXtm`ljO9U_%w1Cl z$RObWD~0L0-_8ljpGI1#F_!Q5d>t#x?&3Z>S?VKu=>5Is+s|H1rnOyu+T4|Sc797F zsKCWS7K@A$k$jZ4fUzvU4hy#n2+!2`s1k-X$Pp~SrDIWe;-){Vk&;LKOW4S1_pzow zL~8pXp}SjKLj6|L$(A8=n)=MzNUQcx3!)(@ZOJLH<}E5gGaM|G!A&xp&naSjEx#H; z?0_gF5xQc_ogJGd$iJR!u3+9)+WFgVE_v)PeskX7*aD`Xw}-EaE*hovl@o4`IXhd~ zuS|Y?(r}N)nDZXqGF6Cq@5v-*Y?C_hDIq=Og+WIDZ{jeEAJs4Y!R_;ts!Lr9gl$F# z?O5H$psvMux;lU$6+A+>HIo63e<} ziK+dI7BMCEB&h;jolDYR{L!BEb;YASLWG4i%T@-CiLNyeF?2yqfeMvL&3{$TMUJk+ z%}X%XATi8Ml;_~3fp4#z0%z5a5%fb9F~g6$1z?NjveA;)7PSW;dCv8=-?luKnMO88 zQZL{F470tZ^0PfsXh$Z6*Wh=6qHf~h{;khw#9>x{>1gfUDzL^-UT+vbIc>-d>nfdt zP%R&FNwLjU;;?Q-MR#1%8GH@C=mMPZR%IZ)6}j}vN_PLWgL~dz_|z$fF1Tnuhr-LCX-oFqL~up{`xQ`fjVDYkQ|1hK2t!9BkEd zx``Z77ra8RF3aaxjyUNRuu@z{YkNd3mw=f%fhXs1tkySZYb=*UXgv|>;&LZ{Da=(&kjF6~tE!GBqw59${l^OS(`^0A=P7B##Tf8q z8TV!7i1OHa4!$nuV$5Q`(qj5>9%*%9=%o$t5Gj*?445zl^oHN-69V?)^1kdxR0~9N z$MF@7C`WOlEKgh9*>@5bjgf#S46pFE#|wK)2WK081$k-Sq)G`XR2yonS-5$4J!egO zK0-iidFQf&7PINE|FbGBR%MN_Z23r^9J5Lgapd*QZ`G6Tp=+ezlCZF*)u}uc#4%t^ zotesTx8dr1BLMI^@n3Mf;COujdp>~Z>~+pt$=V!?F|b@_-VyD;bGPc?!b{1=VTQDg zMj{@pPc2o9hL4^d+!%VjpOwAycAn-j^x-U4lg1jANmDT6%bmDv^%f|qlqbsF= zCv_A5b4czcp|VcJU%JGeS`N*5mr7?Bo}57)QY&#qj}?gZAyG4wgQe?$Qszd6`o26W z$LLp=t@g!rD^kkc?7wg(VyrHsaJZv9E|;(GqXOypn(jm@m|sF2aXHud=Z3p4Uz*0! z;9ZQ5X1pX-^S()ZKJ(qHy@fhq=2<&;IkgJ-$s+u@6nROp=+D}GCtIH%rGpn|uPpw; zhoA7y*^8@^8dYiF))~Bc*xP*LPfq7V0SC!##LESR{54p|z9(Wywz=~ky{E>-d^Ry) zH8z5l&(mq^!>2tI3@1IR*^ZVl4w2{dvghipmQ0(ys+ z4%N3C6dZ?^L%yao-~S*MXtN)-adu&e8KqWU70kD=lEqOie*LKz&Dq(z%}eB_v?a@m z@>d1A?ez0ng-n|uCBdu$NI|ZJ>?4@zEr|d*$u2_2w{lr zyOZPz4IuBad$zaUZ`uy9x;9xKl&*R1U&RXldnF+GaI;qGZ~ zU|mDeJvVpU^joaNeK-^TBHw&>x~{cB-qZpXl@&c?=_hO^|18QXS-{o-;SRzvoE$>u zkUl_{$Y^UCsmL?|vj>qPW*z)Wm`66S24ouk}6#yty)bKkMGxg+2K5e)BKS zb}r6xFDB?bH*A>);c?a5;a$vYEuu2_M zg;Ml|kG)^Nl6iM_k;@ALHNoS>&7h*ID)=_!UlbgK(UCyQMR=8YiZ^c-G(HUQEY8Zz zSSuWfErx00HPcP=CO_~2=Ux32&uT$7-+Z9u|F}Sjh;aRKumUwzWec2I{|aRk z$O4AF#frp=_&xM%>ZH#l5L%s_7t;t8nspl< zpZ%q~>!9p29x<^ibcK@g{#NUC5mr{65RH|@TEwL2RFVL~eCH^~!mPYB$JoKLsR!Q; z!lRu^b~5Al$AYsHBU@E<{*~Xm289^O2aUU*#JeRFq$H8kIIS#@U|=g&+0 zmbj=#x^V1D^4@%rEqzjy$S5s z2BJ6-f`RpGP)@#o#V@82k?w1aRfJU&dJ6dK7Zv!&h9Ukz1m}g~{w05M<((-8FRT=D zDP#2e_8oyq#yGL8pjnHC6w94YtlB4^PjBa|3kD>oBv%#r?MGgXds)Y>^193k(nCnYg0+JK$D}dQ=r$c z16Q(l_~vNAKd%Kk^acwSR*Kd6+CD8h)Y?@uc|EB%LNtXex=44~D#{N6q2%VF-7nvE}AmS!B5f-2TVM|lTVUrX)J|1MCh;YEpKfNt0c z8)B~GPKU~hN*f&$UnS%ifI4FD0Q_Fh$}Eude?rB`yc%)=q}-?vsl?zM5`OI` zvYi74Q@}r|uK` zr!$19$t0s*z-U>o)F;L_*&|28-$Td&9b22`&yX4UHU7Z`Lem^$cI5JoEOT_h$pNBl z?o1>Dq@Fp&*i2Q7j1ztLwr50@(XC^1YkOJfz1v1eAC0Y(*Rh#XXj{$ysOMFKKXI0{=w}-z* zIrkBhW`j&HZHn~Rka`vbj4VJ9e{M5BCvOfSdRs7Yzgx(*cx2Sb+G!7*U@;1Mk{ zJ6d7;^;co;-xrsMQPw&?=iooBEvyq3^=zhy-ony6p7ZGBu{(^R#8%F}8kq(C;a?J@dJR%ga9rk-3w!O?ECd})y^DR}MSQ)sBjq+Wv3)s9kAJn^_%@2laJ+drB(yOD^De) zZ+Z@mUpH2OX6Z<+&D9g%fQkrVu22Ne&VeXhSjNS0-V);}e+6iiabuM_N`4E)tKK6G z>PilXqt4YYm|6Q}soBop+C!gBo1j|xe{u+*xzE?J0Qt&O5#@enAVdK)6sHGxfiWj(5>xZ zrj&=P71rJ!e*>>0UapX=)j_rl!enBU7@3m?SE7)hU_DB!4vnh4J}Bd@Zsbfx!HV-w zH>EQ-ujZx0kD8sR!tC=QZ_TjsWChmvClm4K3e5iaZ+4O<{|Nz% zEH~;F#ApQYZCf1!ruVcRLaU--+v8tBzq`01Q7WhJ^RQKx{O*#{-~8C(_q!h)_A?>5 z3pj(hapIxN%BM;+NZ|50Vlzq+jUzr5OdGORrr}47cw77t8|PAA-qlW8YmTCe);9oj z9RJy+zd-zXOO9XU=OM)NkIi*=r;h>3b~me7nSLBl5{lwGeFebW{lhj!hCcb>Dl)aV zp8QPAmH(?|&i;Ilv2AynPg&(=qyghDW6=-S@q*D0ujc{vKWLt zGDb;)p~!)g`(&A-vpru{fy%*N02(z+K{p2WdMa^C;CTuWD+<*~R!Vl5@K;V@f|rgs zJV|ymNbZHmq*-|^fQ%xeV_W)A&Yu~L4=@lskf&sL(nl6w6~eVo|&gLQG$%^IM_lPAr|6 z#s}cFe8w~adj|tMZeIlI)`%SblJC7}TI_w$Ait>4v+Z49e{XiLqV&7F6gLUn)xpty zSwunXjUb^`8b5$4otE$ycK|S|Ifq)lF$F8E1X*S*T~R(J6L%?A1JF*4y2cvIMh-95gm+`rtO5`qd`~a1dWB+{F#LfR zWt&(%%M1Y;oktw7p=*?DC;%P5bN*GXytw000WEpNuovG#Y;NldaV) zV4-iTub1Q1Z{Ng=6OnSPb}4n`nVQS3FUshKQV^Nun|G73xKaMGl^Dy!Bp}oPh;Oas zuI~dCe$!p9wfe@)=*mJO>xpe|vq_KWGe2yC2wFi&?!av;)Wwnwsi@6Ec!i*%dHIcn zk!=bN%s50|e2ROL48POls-j?LKFwY>iala@(jvU#!yZ0O&lxD|C<@Ig2`0d^3!@ni^7o zHr@b|@P^$@Zi@m+9MKP?Ic~j3Yj2E)l!%E-$j!`|wQH5%e^BAJq1L)&PGBij&d?sQj1)V0#uluFi5R)n2 z&zZKsJl_YZdt(=>*VVgau)tEWt5%|!@554Bl35ezJ5dPa{>#r$L!YLKymMKIoqhH6H?Poi=3E|_^&FE@Y8d%X7z0QJdFd;RS>+q0V&QfD`T zqbJ%i-})N!oe_A}P)zX0)}mR=g>0^n4`rX2+7lj}Tqbtf594Gd3SoJ=kRD0lt{&Pz zWq)*JY%A{kd9XWGRU7rU92AWY}JSNW9PA@dKDc z?#}4+jqml{Dft%hg9Zf5$}w*LQEBdfvG<-~O>N!UFuJW2m8tGul?wualLp`5A}WZ3S`Rn6dP4S zQwzR9LITAp((9pKd)b*?A%)Z#itc$+!ewz-! z&gwUweW1C--E9`5VaBN&Y%+hq1AhvhKY#E)eLU#?`4sPp?6#$gXk$}`yMeMdMDooC92ris&uQUF4SAZDQlt{hJ6X4Y&FPw@aB2}!9tjR(U> zL%nB5C{lNOzZv6TMK38>&$tt8TqpkXDUjT&`HC#xyLJJ8&Caq5wM&qkSb~Z{bh20v z8lw655acDj?{94jNE6QO#-@GiI%L?svuteU zKL9^or({inWO)IpUxDSWs?H42wmK{}0Zs375^139#OYrWg1PDz&8}S6Ln+6TTW`Kl zl0=N78X^HwukXO2=mKJ?GZ3s_F!2=^+^jY*7YO?p!D%fvD)BUMXMXrpiXh?)M5!5} zYVr&Zm!lFu`Ge{!jCPVOz2h+n9orH>TLL&Jw#Y&+6>6j!Ri=@slFG!Ae6{r6v;BS?9w%&C*O!!L5(b=u&mXTgYVjt3Ce3iZP&8voK8u4MDEoWR+ZsNXFpeyaI+)l>3)Fpt-idAY**m4L8o?)F!C;8=L0$uJDw@2@ivp$MDvjQ%Ym zD~94g-hDLCn%8>%M742=syUu(P8~26XM2ANP&XY1aG#bw{BS+aQzkm# zi=5n|l35or{UX7%7?K`98aE6XuCfc{dRdbqL)Hqk^Zvy^GV2(*6|8=mB;w9YyicPU zk%v7b0P7DvovJp93<+&6JUB*uYG+`SSVB|gffCP-de~-(M^Yrm(IHx|i@Z@j*S|TR zmO-5dHTfeeoisXtLK{m)uEpoRx-_psa)QO@(zDY8q~Fu;Ki7J*p9l;P3^+QR-6IfU z-P|{jJ^;72`a!6(?RocY__2?_=^S@j9^K(xZCH9qFLBaF;TTI^=`KXu@%%^hPwa(9 zzjWp&aGS{5pLF8G^u&(~?wQBP56iA=NaW^M!M+x(vj z9=Q3IwpPBAF}T}q@ljUm1{>`k-sYsv_$iSJY>U2j$Ej+DgteW%hy)?7B{=<{`#NIK zKe;{d+2Hf7+}hRrcM0#=4#X+`^igD&s>_7ti<2*pd3RM`ZB@9>#>0F1MT-6VfJ@iZ z?}@a$eEaYNo3V+1khcGWq3f>~*Fu&;i@rVHC;IoP{+_G9o#F3=^K)c4=R3Knwea1# z@1^1kA_^p1wag;Ub4*L+N%+p6zPV%@QFr~dHKrVO&}=UNVDt7KAk+8@+`9VyyH0@qJ6|OT6&*Zio1HJOitbR!^N3gMZ|8 zXJe!O5u^X|_RESTRhUI~eV*-?;TddiFPd`v?2jh@FqS$&-(1<h{b7A!yWm%p7X;r;YvI;?Y9Fikg}-Lw@~TI{8-n{;`7<>B{lMt zMG+5bC)hT}7(wOxxaEgb*|>OqNs6N)`~)tBtY!vI`32VRuBe(eG@{8K17Mq6GeJ zK#e}Db$Rrn18<@HM+@wGG88`0cPl9*o4zHnrXF9NcxaDXuQq?9#X;qR_i56p(W8zC zvz~`8+SWjA=LeM>3BalLFJcb+f{oe|=)(o{7WA)&Kv#GHG?}N&deCIu9Y<$C)Gdh& zXPQ~ab?x-hINvM$(^mC+o|QC#BBCm%TsGA$ceQ&#mmbh zOKW~3>o3nrO2hHGB1GI`Q?HiAxwY2BQ+3(Ckxf94%i@{EVp4oIVwxwP{LU7UicNiq zGvTHOR zS{c_;gh{u6ES?VgPRCdH=6WPf=!KZYJ|{iuBW!uoe%WdLJ_&$Ov}>V+WbvfY4}vEy z)AZ;Pn0WUF*bwQ%?7mNGtP_K@tOzC$I5l%eUgLCmU&mh%Pzz7p_M^|78mJpd zKxBGr;f>*}vp{PBYhs%mfNb<4p!9)Av1tx-`7l4D%OVre`-%f{WPL%P@7A8;1F6n4qvDNkSa< z&1E^r!3-{?t5D3St2Kj>l3}kP&#AI#l+I4$HcgjYJIVD_Kc-ez3Z(umlk2{d+yrC%s+-70e`b>#`UUu$``0W-PNkU{_+W?3g9mzPPbXJo#dt zMSDq--BB2-;DJ%yob^o$3c=v1Vcq^&rslcg5eFv}T=v!gR2U4P(4Q5-3+li|eofyd z@mA*ozIw%1DClr|l%9M3F4q%HBGm)sO0#Tt4BiSko#yAph%d!D z+7ZqdSV-l<0v1m&r1%8eL7D$P2KpbeHvN%c;-C8i)eQS6_8O)lIA$o92aN$j-VwNY zK58YF*h1C)#&IrVZv{UbnMIWb{mxc88ZTqUTvpbyfZ0vb@X_U5{c3r)l?d1x=Uj!&|aVy&9% zX?{tASUcRj?GdQhcmucNs_5W_GqX#-vw^BV_;U~yxDbZRHti--`=1ndk>V_@VHgoT zfxJX&zp-mS%%+a)R$*NF+huX+g8as%qTPt2J9>E;7Q(nJdH427Cu%Q_qJ<)bAfjU+|QGp+-83xD9yhp85`Sej$C&G5oo7|eOk$$Pr)_&5D zdiT|?5LyhJnePkl^Eb6jlaL5aoBo|mx~0l_#li3BFs-$XJHNE9D3$4ABq39$BMKwW z3|02F8ybYBE?$tk6df&@JI9#OZ;BTYk9DPOD?pA7jfQ2(@aMiK|Ts6^5Wy&JDsE(^%mwRm*cZD2UI@g_oDU&YnnR_Hs zH=0o-2O)?LiB}hkv-pO7XKVNWAh_FbJS9tCxoGzN3N;{3tvZWVJ~XFA95y{oJy%S$ zN&VK!Qd4QMXFZv53p`QgJvFlY&S|nnTSVXYjT{XXB^d-B6UJz>?8uq;eOYAneYu<{z|8Wn{%U!HXwm zRf?Sz>zE+{{_y-~G4l8z5Kjs=ad5!JXy34QqGAVOC%|9v*w|BQ((@;47i;fWRah)B zxEiM|C6kC%5mAAMU~Z|2YcRwnhvdc5&Zm}L&SP(w9$8k%Vaw<8rLy+D2F@7c!Pg>B z`X3uN%1c*a@0C!TrX{#2mnMvt>plj8IyG+jyi!7swlgH!h%i5Kjr5JgD!*wsXbrey zsC?!mhOQ`mB0F|;9)bw5>s2*(w<|yl!&`VN69noYTgQTa0e!fO7>wCr)_mkv)xL&X zAqK)58hsdgS!P*%zq5UGbVzwprcMzD@G#Qs2>dA*KO@_{MtpSja3@~n`Hy~N$O0XK zSJHt@+hKxOi`}sD387+6>gO-3zbM-;-v2rXE!K%I^D7@}8M&WlYl$iCwZ}s?1M>%# z4Pp~x*Xazq%QYxOdi2|h1O$DVfRU&d^+0kE8lMd(cHgfPQw9_kwZZqDoSn57dAA9A zuG(cs_0H)0P&u{D{*XdiQXkkj3)CQOI9LtJX1cof8ipbkU1gW~Pt|_79>OuOkRjvS zPsTx+a7+?*-I>wnKJnP979j-ndodC$GSuW@_jy~D{)KdalVe|YwO|D^cl~S~fGNId}?90CEC|}xHh|S_2KjS+cW_?lrW52syY)^KQEXbpFRmbp7{{`H4!9&l- z7VO+f#;>?7Z?_~C&#Agr$dbyE+k8P7*7}=oMAW8H$6Ul77L5j-YK}QEvijw6>U_}c zQD=ljVq=urtVWEy=LXr$MdIQb-k`>OpA1#5m*%{Y18wEHGCmW+alN+KYIg#$ z6M4TLPZoq5dZ0+IuHn~9>3H3uIyw~YGaUqt&8+jK!y!a?KRM}*)o@X-wVp8}#0a`C z>)0~CwhQHv#t3R;-eM+(3zUR%>iC`QX`?A^B=BVG#^QqvPe9`I0;G@^-c|ZEM)G$2 zEkqp&7D-A9wgux@$}DTR%Js$5&klNoY*Mr&st=7M1IfWkZI-T`!JYD}VN;4(x$3JH z@X>s1!mxpF-57z6!npVo%!@C;qS<+q?vnlDm8oPBIt-$eQ*9J#$5f9KPE2_QDNoNU zvpkdi)jZ458pm^_JN7&B=8LnR^VzK+(S1?eC_^;Ey8GK#Qo6DP9>u+rY7IZr=X+~E zPagSw;%M^+!NrscsA6giB(1bp@|{72Lx%Ii2Y96u+%lfM2Hvc`KBMYkPiF_Tnn=yl z7Ki&_PaVyalnQK)Br+CvY3mAb4h;v{{c-JWkr+{7-Nn%ciy=|KQR!On=0=V#ppa}c z=6{;bqU?8t`9Z5rM+ypF?bVBYhcI;kW%bZImuzt--dKt(o}k1Dqw>Muy>BgSXXSP8 zV3cMCmDj?PZo$)Kmc@t8-)|pr9aiSX!M(tjD%*i6ymyc+HHv)YX7ZO~gLv_)z%FkN z0}2ws)z%H)7__BuznsuKaWmJ`eBXf?QhK+EN}%GZg@5X3V*(Jg3%;B#NR zvw&u8#ExXy+^&S2DQPMlA2ZB220B`%LaBvIWLntlv~(|VYS?Va~0xb!ZfxL+oi&m zW~VB1&Lt}{7L9<)ICW(+pWG&4dsHRFoJ~Ks1_?ZQ!{1)o-u4lD^Eo1zlH9OGPIDOJ z!Qf#LIfg+BV-aejY!a<{p^E|6w%}E>TX$PUb3?#a%HG^Cd}uk2FMNvY_d_x4Q7ZW+ z`lxjCJijyG(?yS%IYfp7{LyT%zC{ygrY=8)sefU3Bp@?&fyETQo<;7?r}(Wg8a+;l zzR~uTicI>n@80>E*wlWFe9i;&aRC2aqttxZGtZeB}I#6RJ36l3LT~ylBw#AbMV=*WDeKpD&9ictELm?2}dunI8Qp&Z|}z(55GT9VOC`1cSrm1!5Gm8@<@;QI})x#lJl@qltE7j1`aCx z#y)nzH0f6F2oOkWy(GO`hZ8TlDqB}5(~uF?h}wSTlza`c!uuk>zs2>A)(i68JSr}r z0+imt(vp!eL-{a^$5=HK%SW-SRk>=+;TWK7H^ntG|MGvQ1^|vYpAzO%>tHa z136MpY9Rd`ECVPFL+V72-J8G%iB)wIo5vg>^MgUKBfbJ;USI!th*-;_X8v~kIOCmY z!^R2r8|5QjcZ+ZtPsD|AIBgc!Pe!F%PyYL5<6fu55@38Bw@gXXoYqH)b5ouf!Lqh0 zh6K1UgB$xvM{T5#-n^g~dxTJuO~lV70jlSiRTLZOxIu+g!u%;+uqU&1;_)(H_fg*s z%W^-VioChg~k0~zE{ z6VEo{hfsjUac(1`S7WJ+Jh#je&osw}BqAm;_EGFoBk{ttYQ06gA;brFNf9sWTk>_? zDj{O!_{H}e6`TV}J*}osbB1(;4d?jk%<^Ts@rJG;)!3B&CE%BrJegTM#dLF%*luP+ z12F;-6%*y*@?n+PA0C2NMY~d!ubyBuCPk+A%uhCQm!i`=wvHj)Uk-tgUG}EQ2X1>C zk|Bgt*U=Tl+fS}!WJt6(3`2SRWsICb`7DBP!*h>5To=u5UOnDTUiG>=x@i3-S(-!^ z&osp2Lt-DYM9@&wK`m2w!}X8Q6W3nMbtXIJ52oiV8P2pkj;RocS)fuLOxqn`e|c&G9Q zA}Zn;GHUU_JIJaY%T808AV|i2%(aZ5Bsebt3#qK6Z4gi2iECh79m;o(lH86MGv1y2 zWlLKSdH2I2XOM7Eh6zG|NI(cqC-DQ2*B(@3!uHx0*#R5zcu^9X@VxS>4PlX^vPbFv0;u&#d9S z0hF*3Jx;OsGE*nPKnuRnoI-niYiUl3=rD#%6KzNzuzzQ)%gs{aqj2w!A9>Ms)kc2a z!~WWQ>E!Hd&EJ3xJ#(k6TTaE35_Nzk3leoXy~d+OXr38-dy9;=tslKR<*mr&L8{SX zUc$hHGc$7Gpy7!3sLP#$k`v;RKy#$jk>A*)_8Xu^|2m=*KK8%Htd1 z(cU@n9r#+=T&tp)(c7-S_pd(A-y(8KF2CuvHQU zQF#12pe0F`$6+AxZQ@NJl)=a!9DIAG@K^OlxVH%_>$tbu@(=mO{wyj1bwmy(J=z@m z6gOw|m<30N>>c(m{r=BEb)3CK_}380qVq^(vTq*KW`hfke!kFZ>~teZswG4H3KiNYrgfTLU|c0Uref^0 zwxZwL_eEM6XP+;is9?C*CUw+^%%V~So#_R!?b}8uOOF;q(fQ0lLiUeD2HXB?P>Bm9 z$_dv8f_lc?`8a$OH{jxS<^xx}-e2wU57mF~Qa(0)4|zD`_$S`ljORRSmrf@27oFp6 z26_)rksm3ll1LMJAB!wd?3>}z?0$^&wQ2{IjQ!c|#>+$*#BIoO{<91~PUbD>^JS51 zpEjne5@m@c-`SBXfiZ4hMTQ=XqzzuUw7hd&B%}3>Pn%ia+pVezp=ed@sy>lU9fSAB z7T7p`(@`iMZnF12MfjuH(@?ui?U=U@W@m2iizr>#3b9^IYUA2#W#;MEb@#WE_ch6E z3R}AmQxGqFo1OMr9bNan_~}g1=NP{m2fr6)4K3SMt8yyswfga^ZCj2X-kGyK8rk@& z4GQd>joxb|#b|Mv3{Q9|+{qL7=nAv z3dR>woW3etyDH80^I&f%Dl|wYcFSEb))t z#0zYErH}u5(fw!t{|{@Pnx7QDVL$nPEdnie`2*wo<*|t2@1#SIZs~OLDZHBeUS#-W z)^qns`R{DB-^7pq@;h7DquQ^( z^WNhyUUv9K$Y{F3Ab!kqT)S2sJU#L2;;)jQ^O_Dh$y}^jew(0jKyubdT|ry9L-eRF zfO{2TwJgB@=x_!ifIY06=k^33uj#}Pn zu*?ZT&^f7KR@ULbl725>o-Ff!p7W6>H<`XFC17-SIM@Dnwi{b7&s5&CbWkieFbL!m zz!{j}a?2FpMH33QgIe7pO_WXi63i$z8MgCIeNHR&m8}^nrQ~!tQA!SGXh_gp9d*$V zc1*KQv#(Zmz-wtZ0F)XAVFXo)`^DlFeVBY}JM5Cn#Kw_1&#;=Weamr{N8jbYGW~K| zBwV=4A~(1&BI!A5wTMW!`I|gXE^v zGRp4fy3PV%2)HK38Uh5$H9hK<_4k_q;D75*<|A)Ey`Jov2adHwDm^PNVQm`T)A#RD z+68K36YqcjHBKPKBJ1EzEn!3?y6baI<5TkU2z8jX!kms_Py1HnNEu_K-LGu4zMY45 zd&+4Ai1DjTD~0Xa9#GcC@J`ewpV(rd`64$8=F^e)A6@!sl zahsNvhixZDvf$1vdc*y-H*=FNmNm5TjsbQ*>86*YijzO6W?y38;`DN6 zK7XQgVB0d9aEQb)L23(k;KO0(%JIQLkb_RUUWY)Ls3N~euJUju4XAi0sv;8;&JFBX z00eh89v=>5+QrbV$`YCMBG536flU&hCJ_P|jWCvI2pmnXTf0PZ4e6}c|Bw|e))GCY zNKXcr=k+LPl!(Be>L)-EspOgD`B1HjBSlx*95psTzbXh{yRN8KAHd$1Y(#8D>3SPW z$dF4Q%opOjVsJZK{^U=SVknW4a_4fHQj|uBnJkT$eLnWn#R<=d=JyvppN8|%I&MRn zV&`csCcWg6)91aX$t>oVVb@B5>Ht=$j~t3l}!BHnk&u{ ziK6f%ZnGcd%SpV(IgqyB&b&ZVS=6fx+_GtjbNT*@Z_OLy?!}&>CpSt5$V@4ZLs>1( zy8wxHZkb??fn1V`$Sbu$`UHLRBsOgI0MXjciL7tOVsm+d!*Gs1k^-l)lItd&uAxWV z!nT9UWWd+t7qg@|oR5?_Vdz%Y7NW3dRJXTy9y+5t-ETYyG#RCsk=)e~m=nYT)&kQM zr@|6IH4Mc=Z)9y=^GuKAb;tfDGuGtzr2I__xeQ$vb@XdMD+%6~C7I7TS62j;i|ckb z7&Qo`h&N_F%bjSwekw;E;gOUqas=J}*($N)=~!$H(wFB|I50;+y5HDq)UA@iU!8yH z!gH&5x?hErReu?LF=aw1d-(YRrrIQR)=dm3AztnNpt8b?zu)skp&lIR7#yg++8ort zoQqx;DT<3uwn(+KN~h>(f@`jjxnn#{EhkXkDQGK$gA}v{KYj%{?9N!X;l94pi7j6+C+nx7!ogcR=sVf5gr%CMo0h4Qhz9sv(vSV_i z8N4c(QG;~wZW?dMm-$+7MtBqcgZi3=gtgy1kRK8d)%kq~Y=rHv$#)*xH5zvhbQ=Mi z3@@o=N8`kYgx$I+#6jnch}hNRqp#;=d*sv5;bMduzLJ+Pqq;sOnOi~~6Xa8uA7>4c z-o9Cj14>}^goE-$95kxrb=75ByoD%PekwgNJW(KP3n@A4#(N$-BQGlIe{^HsU*kM~ zrIm2BapX5{T7?+q6@hShpcA*S0NG8SddtscaD85@(bl*9T;98~BT#Y4c^mW&OBm9B zD=FcmjSwArK^kInEwx4Y&H*Z~sZau%bY(*@=+bsHd!;V5t^J@mE>234TWR!a4>P$U zL$4A)MeRcac7c;}FIfTr;w4$l^aTA1WP1M`X6cbwx>Sqgn<~USvl>~;zd;H9#Az+s z6Atfk)*LXFn;;y4qH$u-QS3H1OFh7RWhvpqZo7`a=;ZwBIm-;V$xB^^(hv>xg67vG zrfnD;yWZrK6rLVSsQzLZUTa0lEE|;B@Ld$EQk77lzL17uVwr;jZcVn4GYju|Fs4@p zBSVxi2qF6ruL<)vo`LMdC~0zJm;`@tud?40zq_W4oQ$efWL6*o`eVI%)7%1o#hF>0B3;T976szjI0 zkU3(3l#nB5p*nUL)bYr5F|C{jKG~B0IZSn>7AEsr?6gz&Dl(aS ztv4N1_yJ(zbQ&)Dc`7Al<=y=!X&Td_YBUwM$~YK&EP@;$;2R~t7mG#(WX)~(r5Avp zb>~VkFhiQgd)cc^WMf8kkTUz!wVZ6L5{|sbYPIwY(L3EHaLLUoj^3N9#dv2RC?}9O3HFh|@{2fFO~(rcHWA)Kq8+3l8VqcYRx|>rgX-H( z>R|2eNGhKm-7-F|YMR_*P`yowql(;RjQg4xr24uahZJWMr@`0hpL!K;&o}vnfZRHyPMeY9mAbi zUoL^B^H|Y|0aElzc|jbk?Nto?&H+Obf<;)HW7=MEGUG$6r}>JnL$TgXjD3jHgnG|L z90ZfAM2*9T^s*T6tMMmHWfZR3x{Yw~AZy?Y6T%_I2IV6{#6Vfsx3K~J;Br`CBN8$V z!yEW+5CuyQjtk|R<^p;S81_0k8LJ-ogcActJPwroezwHCR-54G0jdOl9l@9?NY<&% zkHjnEmD8kD=QAxJjU(V&hqB_`x75))A!*~J1(ZK(06x6|T{*d=elL7_n)2~SFnO0w4 zZ((BfMR|Poh!?91h z6~YhBJ58KSIJdRrO0yEw=RTb;ykwhe8l(#*cOe8a-%TgUwg9*nSxn$e#j|hZG*Rt@ zazpaYQ;%QHJ-->9IO>)+sF*_{>;kx@AIJim^6X64k=ifsh))QcftTd*8R+oRV%uNA zy~!>{%KEaZ{sO~2o->cknGx)B0un&zmSDY~b>1?;XGWq-m4y+_Soa4$qIMJr(RFDq zF$-|Ie{3WMgV|C3eiG^_P9O1_fI_AneHoX_6V*>S`J|yORg2LjqMzX$yT`6RBRq&- zG_>=ZS-sjH}}LmSn0JRV{|Z8z7I>GP&6xgr3t&%3x!X*&Xb zeikz8hmsH{L0gTPgSL~g+hKPIA0}e_)GSMDM7kGI=oRnBA^w)j36VVuL3$U_jZ# z+SG!?(q!HbI4zIJBC$@ogkhXyq%e6k86ZqDM2ud_ar5KUk9mW#-??TAssFvMMvFk}Aj)Lq z*w^Xht(GKa8bZD1ZgcJOR=QXUKpr4eO&`YFj(J{8{InAr8xud{tzP=!%ZqpKU#A#k zd-bfEEZ*M#ZJ*IC1;J-;#y0W}*j@Is$)*8r{ z8WX4GEY&Oyt3!|SZfBUK8=QiJm_QU zaw24q_E0@(uK`xsS_fPBjgLl$M?Di_P9BE>vYRu?G31#RcGVmuxlsgjcJf_5&B;LM z2}8IQhp!$jU3%;-K8$No%;N66tvE4~zK=UP(97}L4)^3-hT$$D>7!WQlX z2UwN2ezbbS?3B`s=^*A_kCxL*s(ng{o2(}#u)7LyLJC=Gys*4c82{bEOu8*P>f#SE z&mhPsq~VYDmq&axwGr>dKi>Rtob%H~2S3mSTS9Yw0qrX3+LMyGppcB0@HYpITh5qt zC^K8<^^cXF=OZZ2nr4V-kr%F)pY~+0D1Q$*4 zxsxfNF-l}ad`(QpxJv-*E#+3`Fkf))&mYFf8;vMB`OCNP-}h`IDe?a{J^OHb!#k84H??9DES1O)oWBm`n}DpQVfXj#9m2IY$+8CB zU-2^4xCvmx!OXow1o!%GnUJ={w6O21HgNyhE|<$riY;fCv}D=GKl^9HMX`n}A`@6n zlTeV%z~mlP5U@c&SG_VFqi~Q%A5R^+s##F~&yM{Uo~jVN(dpp^>EVX_9#{}W$N27l zVv{GSn{{V=mydxb^3YY@;61uC?u4Hl{og0_?teL<|Aqg+D&gT84#?vg!wyE0v!eLC z2B@b^SfuKjQrVFJtHbLF)=6{myo4<@d*JYT>2)8w`IWrhXKcdEy_C?6KX7g^oZ(qE zc8k|+Y`^$CwPM%57IMdoZWfZc`i^FHzVFc7{9S{pNJ<#*!v`TLgLet96;BI{Qs~Zg ziw@3+6~|f#QPs~4q3N($5Cp;O7f)(Op{C|gOc^()Y$_bcux|^ zVBS+P5|78bH9Tf3GiJeFaC=G>h?;oSZw4%uto_pe9HQhl`^BAZQ+BriDmmXn$N&)Q zGGP(!GrMOI2FLmPN``M+oQe|$(_}0UIY3)^ilLZi_|WTOR{tpJcK8m0e#dTYxdcR#OBab8wI&RlBb?Znt^n(S5r`>R{M zG>wDjU5}c3CJxxey1{Z&3SalGK*e-DL`Aw>o1fn0AT)#twHN)=E7^9m^8{;W2BQRimb0tX? z2ziiRKJOYqZ!fM}xF~8t2tE5#A45$A+GQnj+^sAm`w0$rTIO@YxkaiB9V0HZCm5CW z-Q1mQSWeM*`8M&~2|;|6R|GowkzG^X>L$NRR=wCyGdasjq_|@y;B<+jI0%;!z!f%} z-2R~Oz@XC_FEpz5mrcj$4)*f-Mhr4AQr~Ar&&;Vz+y_RKe0>a zm198Oy%~UVWw;-3^*Xh~wyLnex-}v;Djtl{bC%Us@uYzfFc*Ce8#(GO&>*1~vYF>g}sZ}Jler+^l|aMb8>O8+9Ez{k#l`Vrzj7+O}ROOdiolO8m`od&0O-C!=C zkYF5rQ;!koB|R@xHni4xEg_u60op%0?VAe;*n?T^fw4s9XT5a!#T}$(o}3tor-U+j2(^I*c#c_j z`M$p@y60WpU08+SN7tOc&R`10XUvwuP+NPNCRa8fQ>I`@@K(76rvP%QSaREIXT4*r z{R+y~hnLFPE%N3iHTvsN%$l5WMmI}W+$ zg!PMf^kRbf{S3nsKQUOPF*_LQC?PB}y|gc;H!U}8HbXTpfmqLNj}`i{8iKOwrG8os zs~qOybBGEbpbn45*p;WfSApz{FoU~HCbPQ|=2m&lBSy4yl|$+jkX8z9$A{a@9u+aI z3Sl-rHzx-nzk}EsbB*Q(TmL%tM1k9V!6kVfpjG08y1-~Av&Y+G+O|>NVDxSd4r}i^>s%Od~XHrM~{T#3c9J@XzRJqYU_bF?f*@=vD8HZol0x-7;B! zCTD3GfN>u)uGHEp_Zqjw5%iPQo|4Ei1_7kRJ~YJ>s7>W#dH4a@bp_Y2f9+%J^E*~E z86wbtvek6ay5P)oVSJOFb^;u`SV(3ZS9H&?^?Q}TLs8!`v44T1uVS7z&h!9VB2Mgu zfuH*rniA#9nXUCno4tGuBx65&V#Xo}G_%Q#?QnUt!XFza+P(PAOQYnd>kx|^s#JYd z{1tAXt74x059`$Z>F0uf^i@$%S~*52^G!hc&D>}_#xlDPa=DKnw?6+n8~36%PlY58 z-l)Vh2$+dVU+==EdO&NX6!~i+&YAxapVNO@L6Yf_igNaOtH-SY19;;FQH{J#7(S>q za79dKRG(`FY!y#p!K|fJwS)QqUUK7Od&CNrcN1!-lFXofTj2&4XH^knb=TkBJ4*FqYe9&JP ziZgG~*wJ>CfT{aM{jTH!q22E7D=u<6A>P6oM?2rISRSOMI zGczChrg?k^qJIpztltteL?`M_@ z4*wcv<#<_S?IDX8QCU0jXv=D}%tIGc!jFvq)aAX)C8Xh}7|TM2BxlgrQ_vcC`Y+@%Uk9ez0JpN~++IN}6R>^CHJJMd{;50sXTe-qvX3)d z7O!Pa|JCgAsXx5`M#ULud*e@Q-txu|M?QFQr$D0dC(}~*NB3o1mhEEx!=LXHbw!-}`RXHkLE5XudVgiuAkXuk;wWa{j~V3u zdys!y^1th@E@QgwmOh*H4oQGAG)-yX+8V70Yp)+uB?CltKYz|DUEF&LZD&1&#(wg- zKsGN^ud(nk;xk37zYC8#!FF7ixkvlISJEIRyH`K;ANI-rlRy7wbpWI{hawWCFFmUL z4VHB4>BP=07NijQ)mZR5=kIK%%pXO#e2o)2996SCeNRbqHcI(DsSJk;=1Ilw^Mx4>Afl#}t)VQ|FHS6ftRg&6Sh zba|lM#{*^VDi;HKosV?yK;aizx0{>%jQkF5(9>{$2F3x|Q;LXRWAM3MOr5)gtiZ(g z5D8w)?zOOzK9AGfJ;O6MN2MgrHxs4DpR@b)H%Nb?NI3z%8mjdx%Xr?rq&MbY(A>1G zqxbsJ(Q7uxW~Iq1k)-k-XBB_tbFZS6BcjXqXKR>A?_$ zGsK5iJ-y<@U581r@kZa5nnl=Se*s-fM%a;=WeBIX#q}~IOV_E-Us-ynvc?(g zTzj7T-12LD4j$=c=0Pg=d)>;6N-uQ*QAu_9uFyp^o<$$ZvtK)hQ1Ojr!{DZxubZjY7um&c&O5tF_x-Vz>$ejmhAzxnx;sdJBM5!=GL1iA+)9RC zseUFcv*oB{|Dmh*^5Ws@-i9RTCJvN6e_Q+<9j724<*VAhvf9B%P>vnpzGx{~HWmy` zs>8LZCsnypbL6a;oJ_5tTqu8b zAKIh&%~Kod!*5=Vn*+_yWx9v0>mhpHZmwx-AWDA1u!OP%`}nfJ^V}<4>iOrb6{wmQ zEYhq{&WJMi(sGTd%qC`cZ1Sr}$)g(eJXL-=JtQE-|$L9w(W z4*aR&^g>vRPLNRV%>~|`GI2Nhwg@rzP}>!$yzX5wfauf3HMQ5LP*tzc|>o+_b%9Ujw23l^^G-uk!35n)71ah?S zq&SHucV3+~aB9^_`mk+*(5ti*Xtr{jw#+)3k&~9Gp>xC_i=dWZ_snhawBeLYZW}{nEG^^^DH#cWJHGivJIL?;Y3Vwyg`tt_TPS zXlM!~Kmv#mLdQZ0Bs2+x5}F_c2u+#_B3S7yAqj*kkkES*6lF>8NC+JZ(xfSZC?M+1 zI%l)?-RJDRzkAO8&i9>rf9pT;<9){*W6b%E*`6_;gQ{P8%@NBX^Vz02ZKM}jiA>kX zbKwRS%Qed)a#>_i3&%$nYkHx($cp#IiBFT{=v0kLo+~7oIA^aywa(sJVCL%wM*AEs zZpxh_b`o^m2i}eZWt3$_S5!$?L64ZZK+G4tOK4))VR8?VgCx1;jL@4C=s7=Bgwa3A zn#lFapY3ahxEwN{pSV8qKE{*)g`EtJGT$4v z@m}ze_wq*_=+#(uGlh_ojH#0@tA3hVN5{gG*mzNDMN`u*ht01Q)eSWO&5BS&7Mxqf zT?|RcwAprbx_D7F4!l(+NU#q~=73%+%xUcMQaf zTiVPO&H7`+bdY#M{%easHxk7bEsR~y0=eIY@N`D5ZXXI*sR~ujeVWfF8Xc(HQmpV< zfJ$QUObDPjm<08d0n52U#BIX}seS0A%=+HAkCb}-<;u@xXK>X9f$dHPUQd|~_{4P( z&rD4%jZs51C#n;GV~oE zyEL%6Qk(4&sPW=UTd%rL{jL@kkQ_3M=Qks31_o!CoEjukEMxv=QT(ZYC~stx^$ouA z1py2+moHY>_Wp8%3o=w;0%4}n`oR9$^Ad{&FM+j#=cR%JIF)ub)rHY_E|h8&_TZl9 z=BV1Zw_fm4C-;`{b$20)<*iozYJ1$hPRBbf!4ajLkE3Hqb??mIq!!FG`p~axL7hX1 zajLzM3>Fzj<*McbihuHUIeac-etg^5Ky|jy16S8GiD|veLKnZ3dtCbz`+h^+`&29M zc8a%c`;rI!iHUnAR^dvuBGv&y1)|#V;-F=P5$vYN=`SU>Bi@TqmJyz)fO%z5A04Rc z=;7&?^qvaG9$<@39F{ zgC<-I@v0Sb1IbC;{VP|h+?|s%m60t-+cMpf?s?q`PoB@E9D(~&TE5I%Q7=e;tO=Kp z{hBz@h46rvOc>ia+p@}m^b*?d;%yenU@(t>+GahIHkI%P4z#>D5nr=+dW9-8$8CMC(kDd|cJ7er(paK;}ny4pPyUo%11 zE9h{}sO@8YAoAQh>8N!%kkc-TlC7hQN@&NQ+vs?F6N7;ymQ zau)EV$0LZT$S^XN)gjU9sF}^eJk$rBoGsHAU$zDx=8A)IoO8AgSV)bzLR_-#lA7{@ z&T*%8RasJ5$7}a9pS;VY>ucz&JnAuIv&Fr|T}!kGr>DjpB14}?j}JH&<6fp21QpBO zr1sqnu+@Io*KN;d=N^@0t8Jniv)qY7vfvc^bVpH|=X(Qr57YfTT|u1f(y_8bDVS0}An;Sr(;+nGqpM7W7M zv8Qt}pJWt;cu?tpd$!|JbPIOBFSt}M&yv=cVf3&eo^Jlpkm9Vbn0@gPX2W%IzOJR7 zGV**#Hn}_`9(SNv{T=SHiI^bY!LGt0N+73a3-A}a%m&F{>2F= z{nqM5_Tl+n+keA*wJ9ZA|5yR(m3zL#zoR7lj{$m+*~lA0?O;8P^7HR)FYoXs zHH0;AWHv<=l6Qzpd{CX59$$zgr{Zijn}V1$0YV4j#Wv!CV~!&&&R*_IN`En_`W#5o z4f`e-3Qy2$sgKr$3iF7scA$>FCT`5vQXi9WLAJ=C9|t<>ZY$S?^QT3dgs%?Sd$jA_ z;`P8y4O7dM-*t1|zO?i-@3YTcp|AIb1C8Fl1q3s$tE(HZFgy>Czpbpwu|O^Y)hlfY zQwFHbh-(9yj|1(@Zaw+!kM}g)RfIF>-&p7#+PfP!l7C0{WZ`5&r`_!($e|75k$WLD8?8y9IaLe%vy;eV(8P6TZHulUr zu&2`r?4Ha&+~YbPbEY0^S)wiyv}d0GUv%2Hyyt3;J@?3bm%sMy_@6HS+mZOE%b)!A z=P3U(u>2mZ{tPUC#_~U>&)=u?Kc~SO;o&}cbB$t1108> zNUJCmQ+Gk0u(!TDLFRYt$vKzJBOt2Q`tbaWmn>eZ%N-lpqe>+tON550?nf%Vf3$1+ zv&7iFt3;jm5mTQC_|)6Okt=7|ba_;f)Wfy?QKzK&EnYd}EM+Z4vjOdl<9Nio z=pJQV$6c$UfH6I!CHR~cs6NzagGSNyk#?not(^C@ljf3b8}?A#Jf9w?NY5KLfbu-t z9_S_h6t~`&ay3e|&vB{@#H{^rDEv&3s!nNhVMPm%aO9G`wjU4P3&pD86xli8&@KI2 zps}7(e*JjvHGGSn?E|hXVFNAZMpoi4>RqW{dwHC8g~0 z{kyd-IKuw!ZIsB7pW9*AHuds<7XO_4(09pIQ$Mp$L=!VsmXjgcrZ_Zjj~dCKIhag- zkpKF?SnWAZSW`~1LnR>5`)L)5%RUg8Sij*dpUR6<&6^=+656~fg~Vl!^?qWeR}Si&?(I??8^dsf z#7pv&JilTpQ)$czMGB`x$!efjNpxBX47m`2o*3hMaVe~8oSSwuwHBS3LKCUR#dS0P z^#qG%R;i2Kt$6fxPo+Fv)mUiW6D*ua8WePOkrmW$vi3NdL-e`@*_pL+G)8VU1n4bP zoXLInp6x&&be|J;Sj<~Y2WXUm5}TBmK*woB2~s&Arjqj9sV1_UiJg(l=+7*Q3&TQ& zHF7_CRu8zu zqAauc&7qqT>Ybz(+7j=s3wM2vDSpJdd&a?|`GOl6QUP7Ld;#k?E zT7&(^pwZsg8QCB)6;OWJ$x-U|+L5IW=m%}neC_hV_vrNUUfX0){R5qXQJF3;1Oml6 zW!hZ&!iGI8-pn!Ganc~k#EDxSmT5MN@>X*O8<^&NFhkj7BJdpeg?_+6a3EXU0 zCf@Wdn(Rz)a0f;|bYfSuXMfe|ex2`>ZXuO-0jD&co)Kyd?}D_+DOH(D#cUq^8YeN= z^1=>Phi8>*s9n3L2{>-uL%J2565-P72etSF7OvKV4o+1IbjH9FFlDY4D{4ZqU8mLR z+Ae0EgRyxe8s=*Ijr%fdavEeNP<_s6!XMoQ))wKrM*8{BffFHmV9Y69oB*AdSxDJX z(6{!}iJ2FJ$$BtD9j{rZiG--p{ELQcb5LI4A3k#$IQu43Pr)u{jCT{QA*f2|cSD?a zs9hft>G4vCbj0r(e@B7SiLIhZAFXR#RRvv1(7tR^&3hvx_zW>-(%PyvaUo@$@0=q3 zTH<6rqENkCsDQcHxJm-WR!J)bj_Z{z_TN74(me9wB&To)7XFlc0Rx|(NF9}!i4&cr zIALDZ5Q)LDUkQ}b+&SYcXtKPiE4=Fh64j>~g=N*&_7GPXb5_<6wxq0{D@q|-h&mmR z`j8-@^YDDg>x0gDjQ6a9qT-lMf{p#l7Y+9G3|w9T-_fN4sCnSi-QeQ$HbF$kgDx3f zC6xQ7&{cAReajeP!f&L?5mM?gb=`E8LiyfTGl=uWgJ|U*)QreL?N(m;kn8Z|4VmCa z5OmIOv6D~WqMM=YlMSFgsour65SuQhR(GK-?OY5+Jhm)_rfZ1HEUs~Gc}T;d#geRF zU3;Ve1A@l%*wuLz-xxy1FU=~ zX=g0?C0peq?qi~ihl#TfLG<(9+_aUjx1d2kP`=Xh8>7CklihGh_WD36-?f*mM89{9 z>pV|vl!U#Ur%Al2%BotJ;VgJ;lT;mt%^4@Hv;=UIbYiL5wSqz62oZ;~NCmn3UWF3a%_U9O zx*4+{XqXGiA07SP2ECyjwg^0 z21NalEK#Tei0ZK(*@vvNS$*-+=i#(&E8jNqhK`!7)L?fL5QZcMLKGC-53g@hvlgUQ zpY+OqeuRGfbna5RIZiNf(ld=~_K7I1Dz-5d_L!;XgbMlA;Bk2B6%tvE-8Z;qhl&v7 zG!-abkJotZPex%=!#PNEK5H>xQAJNiSjG z-6pVao*Jnd9loKk;dL~px*VJmE@-dzme30D2|WQeoq6^7TzXKIGqI&J8ZTy>q#f=& zVcc7F)>od$Y%=w}XpM0foC6nZxccOFY(!ztQ?A!*{=_ zmy{Ukq?u_~(7;qMQs)*M?lBWyrGLjIiGnq!jJSa^tE9=Bxx%}zf#fkylV67#lDut)C-Q??ih*F&cvG_oaa!+x~WxX=X!Fd zVi!gg*)nK(xy)=D4a^6hYq9wtsoHghO81crEHIRxEtNmzM@lqF4({PASt>#oE_G*`QAg5mh zdMMh|Pba^V6$3z3V27^W3>Pm<>kz4YQ6nW}rp1=a~kykky^iAxYs0Zh+vcUGnC zE(j|>_@!!tM{FdMRdLBxc;7@y=`?fn!$-s06s+`+h<5LQSKYW)`eovjxK=f2)lZ{q zEV$K>d^qqzj9A`N1#Hy8IM_+F7%8G_Gu37m+43}yKutYvN}XqNwJBz73q%8zlBUz+ z6%SOOt7L!tULv~En4#d@YX=_kh0d?0HXXIi^AIP=BAYT7wzUnK1G{)_&qQ)&ncq10 z%^{{MjfW%Of(W0ljg9TGw$*n^Z7I`|av9CeyZe#M7Q4t*tnh(v%+zAloeni1z8Y7H zzf^7ACQPy?5nfx2-9F47+^4w2QO?OMT!TOgU(A^%+iL5IJ}|Xe!;ie@P>oE~xd9uq z(HhzIxId6B^D(p0PZfj>D7-Rn5I=HjjX}Op(rSGS)s2n)7(CD`e|qV57L$Flr5?y04EASlhJwODt#j#+!EvuPTC^b4Cc3vc zi%93DL&P_LyZ2Ql)<*pb_;yyVzY}&f$$@iE2$CN*9E#p2>YJ8KC3h-E;gDh)MfPTO z#hJNZj*o9HY0+DiXb3fHrqem@CM);m=!Ye-ecX&e2oW?z&d~h@cwOUtd#+63BhH4k zc2Q}=rp(D3(#OwdDVt?zjA)67$tii}1)0pMvkF0l1D3XGcXTc8rV8@}s@7Cm1cpq1 zW4t|w8!t4bX3bK!AwP5%g&u#6ZQ;x5;79}rs=a~0H zm(#gQ#eSc-GnnN_DlvZNYp~(OsE%6KBR37DGATgnf-(9@@z~bL$s?OU`8J)}5K%OTPdX-|qL?jK5y`^MyaX^bdxH zYtNboR!0&%bS7`a+Ot|_u_|gt?1zQ;#c5v})oSH7V)EF6sJ_}Gz_3vP0{PT7CR(u+ zT&fckJK$(Ps-Pfk<+5drQ*6$4vhtKr^YDapq?)`m_+Vkl{z4lj_w7r}VFs8d{36$M zxRjTcd(l>ISdGINfs5?G>+?0{JCB$M$^V}f6Zm;PJM?GACXdpI;|}v2mOtbc&*FKz zV)B_eMsAT)vFjp8krqWN@XiB|HcaYa@lthj-=%bA2b3zpjPD5=g+i*4yYn%TjV&!T z;Zk9IoFg_RwVzX6bNF+{R3u-xf58>(ACfq;3@!WU6AwK93t)}8=^x^|SjsVQgwRg1 zx5_E8dgXy(J9H@@?d%_<^GL~{le`TTM@4sw%R1vUXIp-_U|#oqZrPK;m)-Dgo%j8E z8{aiiDq}24Ok5$$TP8MdL+W}Lr;9qpnUeb?bq2Qg_#aJP|GmY;{8JRE9{P;XWrMq4 zq~Lmkz!9U^qN+ZQjE^LN$i9O&)#nuIAM;c9^t|2`vD01rEN$kIo2#mZh*r9-vQxFj zMQnk7c3bW07b?zw(Y(1v`S&+}x71l^ z(G~DGJ%5{^+D!_*vaRv8&hwd^m*oUZ!SQER(Z~6%>7)~zWXqe%9c-_r)`HkfgPdYj ztLX#2$1@LzW^`q;LN?U-mM8M2x~ZU2iZNOy3NFCPVp=xMtW4T_{BPAU z`!7_d;_nUu?^_y=q#7%At^QFr|8IJ}JM{xcH6OJN`o>SOfjP%!vPngZ;m%zy36p732SZ3t|7q^=eyg*t?zNPoFR5 zpWTbhGi``~gXs7yL)CNH9mMbD`dX}813D7PgG5yZ;YY(%gAa?x)3P63kbYUl87h(e z=(qXZUDOqT$b*!<;#qsyA_#L9`8ECAn&j5ZiLiP3Uw|S)nEfxn!Yvj@qT0nD=tGAO z{sIU&e%funxQUiqe!Ke#7`DJ-RxY}K61X~8DSvjo0@S30t^7lC+L--#$)vckS6U48DV=5tfsIGja4 z!iGcFH^x_swaCx&ZjSPXpWUZ%x~xC7)vBv^qetSEWo>VNt6F*|z_WVo2RwZ4iAa<1 z;vgC~BkeY+)%${5srsT+&!AIN%GHYz&|b5Kjf#YTbf0Rqs*Ok=%D^ZONzF+s1^fa8 zux6p!Pfsv)Q8DZzsxzj>JdE$LyhId*DCYSUf^c^VQk^V@1>k@1tmo*!Dw~A`K}dBZ3XKm+ZVM_t05PM$Q^;Vj^$vc2v@t z-+B9(LW5N8wyx8LE%aqOqqQb?S^|ByAt4;UF7}ex3sZ7c@zOJ`zdy%o*}NmiPYkNO<93#-a_X7y-I-EnW>?_0o1{?#eND*(Z>0Kj34`uDDjPmw>P z+r4Ff0c6gf_yx%N5fBT#`HdJBko1EucFN|b)zve<02g-_g~WdWmQOS-axbw)dyKu* z5au)D7r>3hGb{>yA@z3k)K`#>rvCh)zcAoLf8OJ7zeQLR1MD-TDt3AlnCED@b*2;7 zfym5exK!ke!CI#x_z_NvOnQBv@wE~#@Qq>Jgg6{TF4Q1C2QToZz;+$Ae*8#S0(pw? zH}wjX?>I0nt*weh%e84&`2fD3u)68yPZwu+e;sZu}jF`T6wE!eH)cH6vf@hQsDih+oox?&bG?{LV);aWQu zrcfJ6GcT5tP1RL%{&ppONymbBiD+}qnW)Z1DZf-Qm^iV_oBHse3Qpg=pvR5kQWGQ3 z*BmR|_I`s;Z2hJ4oqs0}bJsNdTTCw|rsp7bPqzaX&MZxov5<_=-=uz51===uUlum~ zv$W_F3xJq)V$;i#gFB|mkI^??uHWMKmL8epqnJOAc$P;_O`)tJ9y z{Gro6w;J258Y^`3_AJ|LV1LQ}Smj20rxJTBv7tRpfO`$>v)G3ad?P1sAt%G_zNZTN zo_CQgwe>YjbI{ z^$ns7A{D8$?%ABClpgETk^jU&r@5~^Kc{s%x+md9b(Nr(1YPRKLEVy8y@Hk7TK{Pa zi%+WaYs*w^^r}tDai-0ZH>Hl4$>OXJlc~E;OG?6Ovw3~9@ z7xbP(!krZ|%jXrwoX-9;@5S!uie*~`wijN1Lz!{!uc=9ICv7ubKFF!A$f^ACy&C+x zJ}FU9fQe6Nzx(5n{|i3p|Ge}6kBeS^n)0)jcOf8M9P&6jw0KdKQfpPd-e&6B zwsV}>K}ss@$DRV$WNbfkYoN2S^y~fTGT&`aI2dAM>2yp_dl8+PUF1RY*|4?-; zvgsE9)%*y7H%*OYl}M&;cStFDdE*V3i~NJWHsfn93|xazVOwe!PkQ{4otS3CHP+z< z=ck~~@g@KB&D*mn*O#P|&&Iy$eFRE%MBIe)5N~1{Tb&(b+ie?7jD7u=*sEoVl5+el z1uX1!Pa#1}z1x|zC279r;zs+rA6|f|jYRt^* zpJXiBc55ijKj)N_SzPbbeT!uvJ84s$go5&t-XHtTuer^3TU?)n95S{wHj=lIfTcCW zbdFQrO1wQk2ypo+a^(4PJdW}P-ry0gcga=orP$n=d);d0%r*%kgKHF;3?s~m*BPaj z?jF>OvktwSPE&hff50~@uwC$0S8Ks=O5!uRZkYV!mX+JxGnDbEi}J!duL-y9N_o3m zk*3U<w^ zYb9!$UV3!2yXt;^pGpmQ@2ycceJLdwcp0p00D6O#d$d;W|HWfMJS+B{rV#;XP|$a$ zb3hTz%J!;9R2wA~>ahyXkNRugK5}8-Md@m}`D*}xrX=gCjlJmaZ3a%8fBFRaxhT0K z4Xl5%Tk+e)pJAH}71ow`wV1)1pb>l5aa$QYR}>n>ttmkbMA(|I!evIC`+?xbyQ>FLfQrpdvEeAn-|v=+>e9&S&L0ObFJCRyE>x@(2`eQl z&<$eFsh6~Ql_V(T%rVmGMYFDc+lLP*d~oH=y^`lRaey!yWt|7>F`KYH2|On0LCICe zHPJd`a&BprqR&1NCba~a&XmdMy>a^3s`V)?NkL&GC;?l|q0ztKKLKSO(Kr6!jbuS7 zSLN&$mM-#NB~gYeWR0@&&ffqwGuA>}KYJ-1gmm8}s}mlAZ6_&6rJWLcEvBWosfWUd zbio#yhOzZgZ{5)zs0Bw>I0;FlyBzC9&_yM599~mJd^9^2?l}b(E?kB}SP{I1O;1h2 zPx5JCjl)h*g zR^Gm8?ZQ2&5oMHi*%~}c@RYkSXfJlJT-amDQXo`d=ywDi>>;WDba1Z8-PuJWBli@# z@L^*Ci)v+C=^$1vCeiZC?)~i3H`$XPD57u~0)}8Tb7p-qcCe9I8r-+3hDd|9brFr{ z7SCkf)vNZy2fw9S3>v9=+_;48$D^-r%6GW0!1z1@QYobIj^5a6p7@=@TYGf~q044&wkLtt9upTaDj2?Uu;pZ6bWy0lecM9nT^3>{8 zN)kDKwD&D&-dTVcQxZG0Z7H-N;#eo;TSyd)GR=DqBf*E3pr}kwqO;C3qUmhWf(NZm zgjL$XdbHWDCCaX_`tfu!ePnSMVtN))h!YMvN}e&?Qhl~Wc*zEV99w$FLMWESx=y@JyUEUH;u2lT zaSNZu<0Wd+xsWvFBJE4(88IT%2T!gaJ4_Up8P&|)&v!2Fy@!cd=59ScUu`yjB3~iL zTaR3dCM}td)7HliX1G+4eLL>r+80f1HrL=jA+uQ733&$BBIuj(KJzA1I z5vO|_ulXSIuJy(UJ%Z{LE8t63ZtOK?5Y?rbwh|b&R9?D} z^LwR~L?3OhhZW=NPrTR+!f|oB+iAxwa~?E@oF0T+;Vp8GOd^Xm8^oJg-%SRJNpmYr z7Q+c59qhGl-Q)cZK#$#8Lf+v}+4?xL+yCk*tExTUa092{FyvNX1IObuqg*07?Wv2; zC*EAm+n#!hg8M5z3Vm+tE;K9L9o7k`y4RVX1kpj@8Yxe{xupIAq+i>pKX|2XGV{rg zGfZt>B6{Rg(T?yv#Uki+w4Hb6mlR0@Wntp5YMQd7T_2jcC__RGcg>C1@Z8o(sS<{g zBj!+fLq?q?C)x51?Ih$C@ap!TAZWpEd8~5|6ty{~uuO^S8{ zs8}R@OYyZ+=9kpaIIq@j@6;|ZkMSss;!W(`u#IbcrX<-9GmeTl&SQ}l-KFs!nkZ;{ z(|t8N51lVVtINTb=~eVVy;UL)Hkog>_WlAGWn5Q>?~jVeOgqGtTlSbddd7v>d4CdB zsgNr%<%o8Ef+5y-yW&B;k?Z-UpgJ3ebbF-KvRa1X zA~PqpjT02!r}&j;TBS@+p+O7b59=*0+KAWDRIGMqs-)RL!F)e2JBHg(g>2^I2cti% zr4?c(T6v@INW>3cerPs}h^H8}3R12UYsgbF)Yz|c3U#ITd1x(uShFa1-ld?t9IqjC zII-CUPQdBlEan7zjY7G4Kc(zucY6d%7V`y>fk>|t-GRoXvIHV4zx_r7b#g0~JH^ot zxg2hXdT-`8dh!d{g2Y^UBWQeSS69U|-IE6vg(Bp8ub# zqFMY;P`3k=$sNn*!MS-oJ1SrkDW|_?Q_K-?3|v^AmI}jiZ|5S`aDPX%Xh6TWm@ynPOo5c}_4M z>=G6xFQ3G#7+2`frX#m|Nx|J1jh>+aYq{FXy%>i3g8z>cU2r&wm=!Ss%j_2DEz}8|{Xt#?I{Y{G5)tZEwlqX4Rq$q>YLnPbsDi{b$ke@e`m3|T8B;Xe{C$!{~2ZA+P6%2wAT!$Q(2P9*ZI(`zRyXAz8?9>+LF|3 zIKRAe?-!t?>ErSLbTf}+vy{sar{pb>`QQC7hNwnAHM%%S{XV0-XTrO`wkNw9533-sIFg#`ZNuIfL%#vQWV}~t@4ieawwM*I@KZi7VeN3is%M0@I~8Q7MUtC#j`3;=jaEG zpQ!&5!N1%uHBwvhkq%sj!8TGVE(@6!f1JSauf0r$%W(;~N59D|Tf(RyRI<;KF(h2xP2q@J;hm|> zqi&tTIrMLSx5Nh&9tYCRSU@mNmrKj2JQjEk?lBQ_qK1O$5m_h&9;h*Y@zLaP`-8zMI<2J$oZM`E}R3@Ys73P=}k6_cb=4N3a-W z|B&nR=A1P}-YneNzX-Rsl)0T*^B0+1gNf?81|MhF^fLEU5bC}+LN;O{%4BbwI)06T z&L#Md?8y|^Ghw5*K-k^2DMfcp3ps{D3>Yh&6uQ@HN{C~RqZ%5*vF3&vr=P3U(u>2l3{|qc^f5!4Zr%%@E z;?L>xzv+r4q~JLxm^)xAi5osTEBZ~y{WywCAH~qI?u_l-*4_w;4B1;Iy%!*#Q@_F% zsOB`=E_p2Z*hmn#E>~P}DheeH1YXQE#K+Isg$(9t`s&1Jmw&uUgi;Xw;=gisE_MkCj6|b zt75kiIl1Oeej4HzjyV~4uFd3|SN(XteD15HUIbDzwZ|pg+*g8R5apSdM=b@gM~5gE zolJ?~P0W95tu!v{epw)PMF($6IQ3b6C@TK2%JD)gi(2lY2gI|oHAAy`LPWSE%)4mY z%wy`)wGm6v82en~#~9&!3{^s+M#o#x7>tV{cg8YsIyW@a4EjMsGO5zP0nqo_lz(NBXZ zwySpmT!5}TEsU0juT8MJwBIbbGf-CS>zD^7vdNmtWu9G>1@A1=6rOwHgr0etY*IjPS&Dem0TihkBC>HT<6~$m$B=?#Elk7 z<;x%1xmiHb${pWN)MXt@}Zti6%K`Q2d6KLX!xny-!|=-aH(8=vY#oy(G{ zGbbYFE9-S`Hq1#cv5s}uB+mHocHb$2F&2AGEmg;knUk{R2;&g#Xp|5dGyn6#Jt24B zjYW+ZqvyA)RjzVwTv-d!E;5%uL(DN|MF~TWOi@DPQWdoz>Prw_eT-xiNN#L-dF8sc z5!1OkLNE=;_qAYUK6S@4=`v5UpM5o)Ct)i(=dG--!7#CZarxm7PM!l_(7R`*!(H@T z8l|DZpiz(+X<6ZoSo9!}$0E3YJ8*T|$2ZP!?b;(M?JON^hSIK@R4wq+%D9$AtLGczV%9BTqo5-a z+M@G)m0J@{6>ilx>-6*YD(N~VCU@6axBOjXt_ilW95?cOTZsM0hjjS64mQJ>OKDe} z6Qhi}ebSOX;)v@OjrnV3NEFv?S^wHL%dbJm5jgt8IiQul+i{3^1I*SHOQXnFm2w&V|h&vlm?vdMZL(@!?uuU%J%tfd8HBVh7~h# zP7GcZQG2$8MxCpw2IfQf2UL2$_1GF&PqC_=-Y{#i^21zzmlq?VE??|rHd5yh!d%8p z^y!rJ1058?B&8NoQtyeRndCDIheXKxed{UPt)Z7&3lHnuL_&02N=lq_H&%`t*e^yL zA339Kx35Vz?Qm(t(q?oiB+Abb&c^F!(+@r>Q*^nYi%nb;DPH^a7vTBuZ8paOPgLYM zxZ^!ko_?Jm-|+@q2r4s!g+$@RVa8^YPV0{{w|Q*x{H_c8TA?DYlB zUYL|F&q!nRJ6D-~!@d$ij|T-xT=KGqp`KQsN4}SXa>4T)cy*k(x=8PvxSJ!IW@j%y zm}cXZvbwX?m2Uw|80cEyORqljjaHnmQ0mu1DxE)H`vSYxcjP!K_;cqRK|QC3p(q8M;aKKm9J_kRmb&C&~a-|F%i35$8fRUB4v{VRar*AiL$$yU|e_7 z;$;Y1K;nC%b8z=UNrDySldSS|>ALEb+ZK<6Q#FG+DqBIqg41DLpRp!7ibdg<;F z?ZT_k2LjnsFgpbnOi?02NY%c4yMY6G_olxv}W(>Ih$&r=WoQwQ5c@H^-$SX9AP63E5)&8 z`ZVKgVq7|yx#%H(lW8GSmoNCHZt2@|+#3EYC*L?3h!&(PLn6c7TF}@I3OX^(pmBpTvGOx zj=e<=cWW|NwoiDYvD$&h)9r)XY3|AW>z%m zurP4xKp?C+w)2Lr?K?kD{X~5);7KQ=DOkU&zc@_c`6kdRdcXn5gWWRuz^cDst%8bT zD>bJ3^D)y3jgo+74K8$3;$-;!Zlp#-WQk3x$fIzJ^3* zt|E~=L9Lc2e!Pya7N_&uRzNX&T$x4hRNU7xn_F}lsxD#ty4Dp$$Rc7phpT<^jUgU= za)rFI%iXNX3xj+Q-3iy@w4MPw@baXG>Gpozx%H30vtVa;6q8kLs1hi(`|+5 zrn#|W<1c`850ClHClKO9oePj0BCB&F--7-Gsb+RPC3XjT_t+x|14H}Kl&=l$i)7{lHXNf%xQ}lvx2UN0izJe0}FhnaZ(SOE{e!eu<%y^Z-ZEq zaFETR*Vrgz89ZVeuk|=j{W=x2-Vc=J)W`C6O?^s|45Ym`NMid`PTuSpEr`BoJo+N=-ynmVELbajmhjnbl(__1OXr$KL(xitB&>uYG?7 zVe&Z*Hm%(;__mcbl&I>}M87>+q~_UF{O$+aS%9$NUGir{XzBk&OtkkxE1iCl1y1oxY&eYW;^nx@e$omo8*Jg}M4lNJd{$|;hW z_~W zJos71hh4&mN?zuMJuo1}^-5t|B>Hq*j|$0;AtW*By|6~gW$I{i9jWzp&B)3%X+C!< zg8z00KUn{r`B`|sa7ee#dv_?Z3uNE!URR31_P{qeZnK-c8?HovUv5atn7a>4a%1AI zXw#k*9?3xD%El-$t4u{&L|fbFXSmD@1|<=B`UV_*KEyjZ3=TZv8I9sX1^u4Y-IVS$ zaB61r^`;rz<320J;G&**9ip6Byyd_>EERYwz%{*GF{QsNF=f#J;>;lN3>P#KW$pdM zWpAH2!((~g=1cdI$jx*;zgl6YvSH#Ro3C?Q`Yj?&dM#+f14Mb98zWY(%Bw837|L8Y z1A)4V1=b@KiPhNe?3?y20A7V#0Tiu~mEZx`mvn()aJq|Cp;oJJ!>MKDT&k|IhQ)S+ z=*5R<(j(a~B2}G9b)`;uF;QZU?((PUmW~Lg+-S=8s3=*W=`m=}mVq!aX+kH|>BY<6 z?&=<-&z&RoFjew39jJrn$%vGWM{JFSXeTA(^r{E4%MePIg*UQA)5T+ZlVBU`Y2IBE zUdc8bSqW#eKZ}taS=?aEc;~_9s}$E0c>Gf1R7-MUJz?i(&axc?m7zD68_OVdpZrHD zGtcu+>biTxK79?bYTHp|QJbY-uE_6N$MSejik6GoTcrR~HE&E@+xT$YCHRN`7dD8;>*T^oc^3=9qqQpRZ<{zV zBVE({5hie|T#SxTtT!s#CXE9pm8wQPV%$~AI6RsyAWqMsY}EEK>|7#(nl0}4QmVnF zH{ikvra_&dclOB``+v@&Mdpy`)9C|)vQ9G6ma&6|X>7>`76N|q?e4Q_aYX0WvfTFb z)7hXK6S$i~Gc6qWL%u68u@qCRJ17q{YvUAIdV6_eyF+uIt@=W_P;<1| z@HhYx;Fn?EH(@5pZvc_xT- z6BjyPB8e(sk)xn#fA8HyXhOTTkPVrVzn~bL{lg*RdKt_kZYBv+IPg)A)HUxl z(%+5T(Qj|I=lbl69gEH__~;O>iGY4N_=13XL#V&^82lyL;!9ksNOIly1$i0M1slzr zchtx>R6rm~Wdo$(M|2BIx<1rR>z^mvxC6IiJx`wzFl^z|Ul&?9>7?g13+F}~9rZFk z%fKV8IuqXH7T7cxViLfV?2G+;&zg? zwBpXJ%#>$iD;YS|boXiA*5y{x76xZsh%`@426y+{d=w(B<8V63Fxxt+@TUUv4}Xz& z;F7^2Z|S07BwwAatchj&kzw(OwaG3K}KcK(*y4|eK5zF&IW z^9$e1T|uvE*FDu`9?Qn)BKZ)sr$I_jM(os!rfJ-owVj;foCY$hcZ!<+)Hd6@gFAn` zN32k8Cb@D3U2%)yy=L)g&goywSRl;wdEf4ep~C?h(Isf%8F%EdJaVOWjN5MV2D_8!TnEvk84cmPe3N2Jp%O5OO%bb-%gDRUG z7&ziAa1(VuHQ;na>Bh>C#|owbReCD5c!NLX89ad5X$2kxgzn~gu{^(N_rGi7JLfJD z@QMmH0N6Bf*&}xz)m&gQ?O6pZ?K)5Q(Q{t;*k;2n&gZ^6cMp|br%VU47O&#Q_S8t& zgaNj4PyKL$A~mV%I_!@vn}8Y15;X9^kv~(V$?T$vblhdt=OAT-3xvdl*V;gS&ri`g zxzdXs*sOmY7M^=4ea^b6*D=D(rNyt+4qQ#v- zlYDh23(<7L*F}$f?(@s(yZsRY$y}Q$(?td#z>&*qjgf<4x7mxZiC0cqX`JuuNol#B zrdZ9Bzi^qY*(+O}mXOD@og1GtMU%_!p)k>(o}I(7ZQTV|(~5e1C2wkk+&WcBY(A|^ zHucz&C4O7YHznEjRd>J2>UZ1N^dc<6)&xHgy)I&N)tPjp5VW$@EM}BCli?*ZFQxq$ zk*}NJh;kCPA2EI@ru)y!+;NrXJ_MZ1>CwfR8&KZYdA?1DxvzLbNg22XoqgZa5#AD} z?D~7kX@FfZ@CjN;RNSaPhPcMNc8P^X+UuJb4*g3-0|#-cJC}P>(V3ry%wp>Ic3?7% zYp}?yt`CBT94d3Inq!y)4D-kroldXJ+~LW-ATu~(r?Gcx%GC#dod3=_gNPI+-W|N6 zprauTb!F~Vj=l>ya413U&$;vvnBjvH(aYCc#7og51^2An^VJ%{3NOpaY#cEEd_nH+ z=U?T%xp;}c)_>Of>vq_TId{8&t!JeIbKtX5aO3PG zH@QA1Z6o#eM!f0b0Z+|otFGiFUtPa4!5}zDXLHUZbZ~9udp+cL;_0CQ&%e8i!u`RJ zd9p7pr2Yt`3~>!Nd2`K2Y@|w*t0q#YV>+wF*8?#EnW4sfI)ND^f>KsRRj=B2mMbu> zf{iZZIra7o`yxw%USRP7V69{+$MveYeB2gFWAM|CCfPPE_}GO{rS(NFTDP<#icvJ& zltmv^wa2bf)iQ7B*uUzuK3U7LSc9{s1uk1FMon-&#_94fsI%|mu&ln`lP1Mz*<$s4 zOByF%JY(lL2UhJ>3r*^Lkln2Gcbu%{hJTzp9#YX5f6ckd0`%PQv_a;@-zkTXu-4C!xg z3+35C3nhQ{3Xk=-`k!5sz@I#sF^?$yQS=M(I}c+&8mMfnxaqpXOz_8c3O41e{%A;1 zo`VO#Puc&D+BW{r0ytB_n`s(Pu)aU5mYJRMOl<vdjAragY)jj|XBJg)85?EzRhnxJ?- zFwnK&`3*(qDb&Pgp(}j5ZqI$=|NTX2D*n^P=NJI>&~JQTtN-$4$$uM?eI+vU>f9)H zXRR|*h96q2p$8C(ExeTqqxKNkp`I{LGKy}mTxHCe4KySu@d)c9ehA^dPcqD5a!RaK zM+v%NzIZuuw_WRsL`J%cxN)v*a3u9>X56iqF$sHKW}MQQ%Y_H^7D$}DS(iZNYM|xg z{(JQ&_dh1-8Nzv~aK;yQoT#6)h%n|f%sE~#%gSY54!9!ot(Vxx0{($bbb&Z(Pm*;2q zn@wES+YYpINjaAGZLSi+3K#G$yrjW0zOQpmX4Ts}cR{~BqWRa{0hnJbRW1+6AOp(l zX_#-1e4D#$^|nms*98VYm-};fe=74&+x_XP{#ScuKmv-PBIyYypz$PhlNB|QP-*Ku ztBykD>G{-q-~G7r*k7Ecs&8lZwB+5eFo1wm#+Wu-~S%Rrg^;h z4{&b1Kl~5}>-77sKaUjapWbkLuWCX-XxBO$5*b`J9R!xG|4OooyLXF4d~Sm0Zpd6I z7k(NHCu5#!f&_x{^p-eqrEr!TBTxbgH8Q4OC02kBZYk}s^uc3vIw%rGO-slpcI{L0-F z0@RCDR_dYja8BCmz^N#&p3vAq8BRvDySZR8hr}93J)u|WZFco*Zc6XJYY|%tkE2G_ zbB(|?2t@-FrR0T}fpXz>{f^i32Q~WywLbWJ3j|#tp)(^fzL<;)DN@zq^xNqj7u5BZ z2NwXW#*5L8opm=5w%Z>@S;uly58DMlMGAL1T4M$RM$|>0 z|GA@0_r?sY;#5m$Gdh^tyi7{x-ssN17sl@xXPa4Jh}-E9dY+;weYkR8Rw5ri!t=6A)Djv++{0+q&kw+yie=I zy$e^F+IfNOQSC!Tp&wCYL+)_u4S>Qh`O#Y1$LMw9;grlzdb0)C6IkfQKC`hWyf^Re zk9h@s+30u0Cm%+Lq^*D}fgqFV*g&viW5o^f{b&#CPy5cYsQkvL;~0{z1wK*M#;iAz zi-)Jl$!Up?&96q*IJ2|@AR(GD(J zM6PXi=AUHuB7}@dl%!sn2`&dRzc~z0Yz(R>a*BHB?HXm>+_V!PWX7deSf#aqh0JDs zr!=5ksL`$CGg|~9)3D`r0rnLrQ|(rIs!G9<*71dQYy4nmVx($mXF2cMMMGWnma%t& zO#IcDG#4F&tytC(&bs?dhGs3tO=lb$-#cIW+I#WNYOiif{9{pLU)Bp7$|$=tej_}1%Ot1vj7SAkVkcCZ5N^lL)7)xgM5eF}re@XN{}60jZ`wjGVl zRz+wm`YFD%e60k}IChf*tK4q~BdDs0JXf;mXZ@ z^=9tM1#`_gJCS8jvsiBq0Y>wrL%~RK=bF?U>y3k=LwOu@WZ@CzBCL+N(*?(j789eY zZquu9eJ8Eu{q{;55~C)FvqK5289cT?uBQ1y{ls!)KV_m1KQ<>E`W|;U%JuzQ?Uy?Y z%3d^djmaP^uyty5|3d42RMnag&T;R1q+UEyT*&p3bG|@ol^)yxx@aR3z&Jp$x+~6Qu(0O!T$tcJkJ&rwjDn0E#&Q z6e|KX9%P)0+jD-qy`m6;_%7qhqFHohsE67>XSy#g+qz4A%Ru9^p+m7%3Yv9VJFKy^ zkV*;y6Uv^WVn~>xtYU(C_+fPv{t#EIZEt7WI=a7ZZszc6cMCd zWnEyJ-NLVQzP=|wm>+2Ge^9O~%$c24LRHR z!K+apBNN-yDon5L(>VEfQLHNlshMEHK?rSG(dDszr?aOY`4cZP)Hi#zPCU^y&SHQe z3L*qYu)Lk4c-C^BI=``gAL>A)vsQ)8MU!6{0ae(7z<}H8k$cj7D}>lG?HVou$@$vx z1Ih11duLhfc+-np2P4~L`}!6Y%xAbU`xli{tU#>*00Hl5lCh+YB+;cGmKPqfj2uH z396BNv`~J2EPlupUyo!S>xUcFc+^~QRPN(k>^G?ZmKt5-K@*Hz+gs#aVOh}OJolu} zIZ6yZXNo@#6KgD9%hsbiCmZodN(R#@HQ>Ip_=&r&LHnTMX0NINWXpF=rR{IyMn=By z37cH?W9wI4wF0mC`-@|e*#O~$oec53cS>X*6J=O^m$M#8Yr0%NW)8_hr|l=9Z4qO) z>N4M`n4olk0Q&4%24_CNl8qa@ek1rG;7+f24!Zf+^j*h9Tb!j~qKdcGVZ7YMN+yuw zd-<%?>ouodEqOItY^?k3<4};~BQ2}#e2l57w*4p2ig~fWnc%~V0!KuwB z7qTV-lU=J4>p$7>E@ojwHq{#6z_{!wORh6j$}mf7-b;>oW-ilMDc@01p;kD5!5f7Iq4+zza;yzp^f`Qq7oO-EG@1?_iN*9DPdP$rECnr7c-0|e&z3A@4|~JRvcDo1qM)0Fvf%z?Ys>#yUkGjc-b{8xBMsB z?{A)nEip|HbDRXxE8G4Y1jJz?6y6rr(__Ps|Lm7#q3U1q>V2TTW_Zu z*aUZUikn5p0F8L?S?-(LlcpNDF+Q+RU#}5LQCSK3EcVLUQ#_Y>^vrE_Ulq~pz6Dl!JualgxO zPmyJjO$nYuw!+F(oGRq~U}@HmpU{eaP$vJI5j&pAuS$xVY1~1Y>YmkEM98X(Jd>052Sxw;fAgN54Dl zFJzodL+9JXn6SZugR^euMhSIJd-`AW@Hq1dN~=i z<{`E?(!D#rx&BZZCHE`%y-^-gtOwJPWE(lKPueOeirGFJ0*~uIgoKXtoEQcU;BJwa zM%c8*3~8su`>!-VoL_2efm&V9DVXZDDrL@W}KxkNncwY!`s;8>Yx z_o@CYgemNv`L#St3grMy^8^DVKdBHX2Yj~KR^6*yu0FBziFF|GV5-aw6sojb^@ZXq zS7c6?|KU1X=~9V*K0VZ>DFK6|ueK4=Wt({Im_THs>hc>W-unj-0$$zTS?7 z_}9yfI&XOUGgLK35jv%K^^trfpUqziHeS6l>K}e^_sp-0@!WikvC#I1RY(8hck2I{ z_KtrCYPXH!;X^;%P@SB*Zh2<5W{djTm9dLV+BqS1s$a1bdL^X!LVmkEzlB+%r#*)4Xs?t`@e0seQWAjQkh_xWLS*6! zjY|PGlJ|QYV~nb|N@Iv7*T|}7-RLo;wdk>y{-U?`+$c9j&G@FZiIK0ikt=Me+xXMY zyD@6NvZ=WR(``|f=e^Na?xxH4#}CzKv5QQMGU$`%)|Q_W%lco;ZaI#fAX|mNwcU1J zpOcsP!q@Gvl`C`sCSmvls3ogZuKp(+R5MM`EE0fvdSXkHW~E;`r+d*rnoq_T?y&X@ zeUiOrQQDoVk6xHyT*l9E06|MtnRyi+gRAf_d`H{EenE!Ym8hvmnrVezI?<0_Qul0J z6e7TmK$sxqkxqMH-kcq8zmE`@I)#h|?x&dz!a8^D zw+-Kd8DT%N;u7seZHj#g?OjdYV3qak9wA^O`B6xgvkh^xHoo%sgcm&j#m5M^WH8OqP|M4ZN@KY8jwJS0d9hF*%L~vT}OGjZ*3bEa9_A&Vbp_hQ$_l-%8d><2)WNwI|9YXp~r~qxUfyF5^9QTQoJ~PbF(|^k{*yraC8DHOAAB;^&3DNM*R6+H0N7`x5-Cy>^ z*^MY!@c;^?w|NJ%H{R%ZX3Cr`MYAN|c@M&b&!GjdD9=KgWz!=cOE#kEbivyQGWG=XcCRH9E8i(!0tkt7=?>Vbq-7$3FM!xM5h>7` z$5C9ef&FT~ktvHhFFQUjo#Ikb0P&D7IhhZln##u-bZ+lYoQrcEwb-Eh)FmFQNc4t@ z^$#~g{j@6tMc`6m#(a1BollU9SRqy?@-?o845b9LdC@k_mhEIEj%K5Ifc%fJu#mTR zMm3+Ds6uMr&?DPi<>eY3WSr5YG|+v|@$LA}u46mrJ2I#3*2?nX#4mi=71j1}e<3~| zXi55gKc9eSU-LS^s=@}>U_xvo4{&71Jz4Qv59>dijgEZ=NkuWO3Qh|fIHAx*%hh?6 z!YOjRY;@C-$C^7O{NHC_DH2cpjcx&JSl!D;+K_Bv7kPWF;=u(Hhzx^cohy3|Dp7lc zSQVd4lZbnct>lg=GDXrUg$>>h{q*;1zw_N$YkApE=DP^D>36rOT6TI{4pkbKQbsY~ zr6vGg{&Pev!r}F%d$&y#QWo*gc{STZ|2dW=^N+4YUU1D){y9c}R{Fc3nQh`1KALjt zi6CL%e_`699uH>Y)PBzTTio!ctp7Q3{8K~zEg1b%L;fu(_j}j(Q$v1g2rmo#@3ifo z8uFiu1%96Bf7J>6|3E`-4xZgzcz*c2p1ejSgM(itJu_$As)-WBkZ~FG`pPYj{omdN zFA412uY7Sq-r^VXZ|XkGBa#pbQj8NSfO zqd%rJ`0!u;7^i;+B6lYCUs5oo9{N!jd3g0luGN~`8ZU#xhgoGP$)dVQ;GOzCMG^^YsCb6PgUtI! zr_B?YCvW`TB=LgY$rmh1DnSG>zD_$08jqZ- zYqxfe(V8Dgav&s*rClX!V3Hjvm;KHwsS(x%_1A{QL+b@qY=-$i`klD5mlsF4DXFj* zePJCtTo0p0Eg*YR@J1;x63D#4e4uE?3{b*xMN+SnDB+t!`*8kM=;8C{)=QbU`Dxz zF2xypT|9Lo>(;Rnwz9)A(;iMT4N6y86B$FF#kgfKRh<|=lH&cD{n zJrv@nZx|zTP8O}8Lv9Ly)y8Z*&EN^`B6BEYh}#ZO*#5TM57IZ05aC#cFI)Cf+JK}{ z0Vzv})lWTUVnWbh_r2JiZ*f9msGPUr`Ka(c{fnd`4c8pCXp{tr^Rxx$#KOev_Urt_ zl}LO)Iwwk4b%J~FYpJ*(h6sKGiMIzzQl$2{Ii@(%b09cRx81SBfE8iHQoHOxY`{=$ z=5Ku1ChJS#Hs?{6!PvE#>cSM+!BiR2L?7|>noyb=U(mL-$~S z>ap(k9fMh&=|}gL{vU_{VlXW`?v z-5V2Kk3-wSU++R!X2xD3Wcc(L4Na-)8)!zHO3?s8g|tJ)HOHS9{~4TIl`2JW@8&+~ zI&(=`Y2O}ri;kQrD`R)Uv24P5?RSjIeDi2^APMqujV=`*$5FF!y4@dh$#kL0ew&b` zZk86B;u`>gb5rDO%<4(AgPxlkG2Wqrn_^wV%^Ehp)V^p0OH}C=S|;cV&#BWg6PKM^ z28xagQx`G(m>ByJr+pVj`yQ_Fi>CDydu|NOn*$9oV)2XT=*PwK*L-kr&BAV{vn{Do z-s*}@&jXUB>~{_vTb?_2VpiMmjtdKhhc+zXR#GG>j+yf1*syFDUZ`7YHSc+`2G?P2 z#zK*hB{gbs;xh`ue?tx_BY<~wzSsv%fB~s}NU3;9ROZH%?XLl}+K##B$7Anl?ord$ zgBqr)y)U{|YYQfpRoAU=$7?Epx**gr`s9k}i1!|9;J(4x>U9Jsa+=>Khr$hxrxALB zPI%g{!CS909G9kL&4&1bE}xX_m+7MR6)5LXp5ex*HgS?;vIZiBBEAlpvRa=+oRGv3 zt&_(iNDdXY3qB`{ERE04nmA(t%vnZ9N`(tAN_kZlW5xg3FrvaLx0r7UaYZv>#{$ELLQW$FX8q6z-&wOcpNcFN5} zC(e}6-Fm#E1%=LESuZZtEgBdQ+nH?e!uF85)k8Tf+}s?-itppd)%2Xjd%GI^qstDV z459OLC2y2^+Z~V1XeTdU>Yxpnt!2S|Y7bKN_Vs7vJl3w;+P9EkH!K#?jdn8j$uauS zqn#>6gxJzbQfL}n3V@zE8`4S#20TC9YAE#Nf<<-gI9nly{5EndK-$0@#!C^=k}(dV z7b&nP83!|4-mp&i`kYkvF)mf#aCK}$rRuPmmF6+>8nmfEPdq_!N@`s2FW7`YC z>WDdPCsxIU!uXVmhMg6zD#XNf4p)odm!^1i`KEfmJefTQ4_xjGpq|pHkazyVw5YHJ zM}9VD+Kk``6TlQYUAw=~+6czISJJs2(u5Sj7kz?14`Bt+^YmCO>xXMo*xP^X?u6D*`hzEr0%I_Zr=6~d^|7LpxGv|XlF_wS+*umZ}y|H zKipi*q`M1S8jfa|p-G$#S z?2deDNFvE~Dwj$eMk(8Et@b>!98lV1@4;LXx?KVc!J?h%!V1-037tfK1CN3QE#R02 zlD?=1<{h`L%a4A)AGW4*dvAi$uc#^Os!o=6k6~IK!Py0_1|pzfMo&y1D1}LX%@S~O zsBHUStGNtC>)42e>ddA5l4#5*v!Kt+N@J|yu9fPDK6k6`y};TXf&?!GzF+eH^R486 z`6cRK{7203t$jt;zVIFV7_h_PuXII)w=;X4{1#j{785g67eAafi00d6^S|LOZs=k+ zEq4lTQ6#|W5+3s>yag%AX?)!6yLCX3s+*{up`BrssxG&HC*BvQ>P7&x$y^4B)~~ky zj-+_{@E)X&lIox|%O-BM2l}f2EskznWR^eZ&ON^tKBwN<*3%-~4~Is1a6Rzek9gq{ z&4PSnazUm|PddJo#3XQ;2UDt7NnmRO$_Rj`Yv9%>$a#{SgG?$y6_)m+g7@x zD+jmtiTuy9{UrM0M7Q#b!{oA`zj1%S4YKkKoDi)+QJI$kR(PGxXBe~9h*(csceHb< zes7)(q7rW)Okuk1t^{E9HeZ=uKT%(B#j&C}&cUX{D3&p!J`lhiH%eQ%-QBZ&$nY#_ z5?5iyZFH#Ekg^$-e821Ou}bbz%9N2lL|&aB^T{XG8k_TWN`Tqodsa7QOzfqg2T+uI zBTr?4Gw|>XVY7E3QO7+*h7Lut5-c>^(fuq5L^b3!t#yL)h40b3&0R@iN}o;9?@aX{ zPPJZVEoOJj*NKgLW^&Ds=zNUY`J_nmE%T-Ct1FHrRT1v(g+1h+OLHA5>aaUQruJOPyili5*7o#&nD2JznzH@J z#G>WIu>YV~(3;lko$j&E$4-H1${x!Wj}|xtR`ts*`;3FYQDzfrvv<@7cUj*n%*{3` z(tiku`>j|h$W$P+pr_no{46Uu3}vp~4cpwkd@TG&8_lcc^T4-Ru*Chizz0@wI|dok zCMa${j9*U9w#voGUO%F`w^`!{dj5~nZye>a#$G0pY7>W}*&bW^3YOg0|E0 zHT$h7miBx4DI^IBCc(t932CE}3vo8{XXs@`UqBtQL@CGcQjW`w1BY;-ZC-yH;NL@l zz9JI{gqhQmj7qI?`@q#j0!hH+f^`yL6Cx+4BrfiwMjHZ`vh&s~ZHrUiy&XZLI15MXrKe_}Ln$zW-`F%Cy&AqY1X3<4HHo~x3ArQ84aJ_kK>y_7 zcFi5DhjeVB3sTI1M<492CZj{+&NG3I!A{+3Kk%R5ie%MAbP`h&0osSqLZ9OF?m~~Q&ofKhp|gK;AW-dHTbAm*}1><;BQsC z@ej~|1ZMZ6IBTjfu;aWWJZkEhiT;56i?P^RUU>fPP=AXvoXti5SJ194ugHz(;$Gzq&*nMPUMA z%446%GE+EUiG>F#MO80kEMOvCkb@WB9~#%4<))hb;_vh61K)h~SDEBmCx4U1jxh z$6D&Kdffi0!m?}e7R%f1z>Fl+mfKsbTb zU;Q2`MG4yx;9ST!m1k34I#dPZarE@gv)Bh$0fIj`kZfy4p&U@`KCkL)dsx5t{Xh_Z z)x2ZR{OIwo=b0=ey!2l`$}2&q@s2j3g(UuExhXujGXto19f z1+QS9^PAY#4-E3JT6;(9ZIeGZ*1whML-?G2usvV#JVf$me=fG}=gxjp*{|p)Uy&64 zU)1>9*X4na0lOZ2JBlA+Zs~}Ws>UHbyHcqx>t4{uUHSz> zyZa->GSW9pzSg{ttzL_)=KHlj@LQ=n-(S#t(VX}*d?JN^{ELsB$9lA;qyGYV6oD#t&F*?kNzeD|slM2XaUEx2_?%DO`H>mg_d+=nKm^9RCqxwD%T6&_iC?(Y%*Ziqe?9(#7@74&Ri``z$BCET; zH3U}qiGB{3#ctP6kKB1fxL(G5&4c0k);R0>3$$!$@6^vl|J>=H>iyHE{eL>Lzn%8q zjsK5%Z#4*-PMOiJ=aIr*>`q>?%;hR};f0fN_QRD^G8YoA=;mJU%n_Rejgzk5Y5F}a zyPscsz^PI7X^3rFEvWP>_-^;N6aIVf-R}g_A~3DDH_ zDHC)duD#m}w|2W{yOYWd%$_fNnESt;xy?NQFKy1QEA3M3Jg%4Hx*8eT6uU=Rw|5$!Bjep_^C=4Y`Q9zTQsv#Y4_$Vz`n5(x_ISyz1J zY3wn)womm6_(UDuT48V^!SYE-u}JG57-#t>YzP((0@<%S+g~RH4b43a1`>F%`QrY! z9=e}$STdyb(T~^9smqPIfg-4Kk8T3;h8ghN1EM^x0~U$y3(W`RAv0p!Xyzx!*b}ea zn{Ef!Rh%wuim*Ew-jvlRnzW-RvFFT!78QLYK|;A^^h749abVv2lSYjbwaaz#Soi52 zA~llfHg_@UMufOajVl9)?$>48O9+8T0G+yZHtg(bj)4nC>}VRorto2birgwDw#xVX zlZ4L4=w>Xp|>lP>SV^IMhvC__2_>Ks#y^Nzi` zM|0x16yBsiL4kA9)%>z%Rz)?|Y_+2EMYJ$I37!&dSt##a`T#&M@~}-%(Z+=)`OO~T z7}~|X(5-o@c9Gd$z!lUh!7q?DjVpb{(<_%`$8ez?%W5BIRi(R@PRqIF1+KpO^WcZD zKPKW$4SfrZOXLmBaWfI7oD0e3z%pt`XsKz2_Px}!2p2s*6n0SUfOiYWSUbKT1Kn~) zYpn#c=BTKkja#2|NX&WRvEK$yv{^`a7$wSTm8!0cpc#V5J(E#oI8S?x`tVy&@zo;n zVo|Fvd;`^mN?PEB6tGfaxeo&b@=(&r&<-me*Ge1DoPRMX2kAn+S;n@mf@Kz|#u0`{K=qmBFHs*&z#l5;PktnDxOrl_S&0Z%LY@*<1G%WTG+NobAN$}~ zR$*%_(nH$^OgR2HMM1KMXs$QXQC5N^sy&{$w2%guPJq=%QiU^eGtzAHY-U4tK2ap& zm>GobD&Q=Tv?Rf{*;%_+%eaORejk-KCYf~EeYs#rmMRj#^noHRw>KfT% zrL-Go8902v24(IH2%W!~=FO_zDMfsL1Yz6|IJYcPLjhkvtphi0x{YaLopOkBYl4WO z=X~`fa8tZ;UA1Q27a*0`MTEoXA)Jp9)fPeMB&H!EKKpfyrF#k4T)?11(Bt(3c03eCyC0nWv0=bhlZZSx^v@L zM1b1csn~*HOJ@DiX+0rzT9i=MP^=P;9`%kPu-JV&j>vW?8w}o;n}7`h~h1H?+jjxpl{?w43-ns zbVh%c-8LF$S&*4e97@qal;*&ll@!b2z!GFu709kB_ji}ldydZbz`IiW?mRkl90LM0 zPyiqvH<7q=bTk{VJ%@kkO6JL+R(R-qPtqgChC@ZP!e zl-i{v53%1Pc?GeySgIoPkq?E2if>!&;nvdLD|y>J4cqwywdz`zT#{I2PcVPmv1}$k z?$vpna<nrw?Z*$eY+fJ){~j)%qX>Q-;(j11HeHCWx7l z|D2Ve1e#OIp%CgPUi+U$Ubk$L>WXoY&O$(@gF+kMfl!E@>plbI>M|vDpajAS__{Q{ zqu*}RSo_E$o29po19*!r+FM5bt;eAaL5sDq_!pU%1S-r7m$VvO#4qnhLmyTKe zXSkJLACl*67cX%w)BIYg9hHS=i)W)Z9ryCkeHh&ptPZO|s0;nN#l|(`neYRq zblDp%khjYlm&)3>pS2XtFThIUx%d#%u>A9YMg6Ap@ofSLS_NJ<-a9vr#!RPxMheD8 zXUK5-=j+nmFC(VequG9+3S$fjsK{bzwUCF6dt9Jq2DAOHn&!V>$!fSEh8o;Wv{cz?SU!d5%7ajt}(lX-k;GWoOadmK?<)gBd)$GrfdtKFAx2z*tw1FkrenRCk} ze%aM=QA71+wVnCub!&?gsN1^Swr51&x?6Q)E_lTtGpzu}^&)LVkCC0yr<)S4Iz@1n zaoY6$&XK_#Xls~3sjm{K<5R`IIpFx{4_n@VQTYW*)0Hk2Qv#kj5VYGLj*5<>bZ!!q zX749mP;x3P8>Nm;R!GLv?i>&#Va^VX6B{&M$r5O-6k1Anxr|O@J}OSdi5lPKde=0P zb*I>$(7&j`Fp9In?`4g|rVcfB0Rh5@767s7iTmU&ffB23|GHHay{GJWWynsI?G{kG^HM$by5A9^3bE{vm%~(at$%Y-qK~)ZXDvFTdm9Y#7Hglw1dhGfOW(< zbNT)?fY<{?ZdnBDO7o#NNJTb|(9@i%NN)sn;t9yoN%P1QO*)|9y&H9Yb5F+-eKpFN zm>veV*()zuE5CU`uW_-vyQfRsIdou{!T>jk5v zf;j@m{;qRBj7ORNY_sIv14i^LbZnxjO2xnJp!1#+PZ4dmjcfvKg_PUyc&7#Bp{pUZ z()xs5p47NrH`UXJoj(Pkip-Ng!%vEPe&Y5zS!w5=O-JG7S2CVEydw@)6MB{OV(rj{ zYV=vlN1MBGhh24fodZT!PyWU?n*75r=KsNu|DHD{aQENYbtG#h`|mFeN@=?du3n4S z&$qYW4E#g>Y5nW&Xa1@PkX6s$&$k1-`d=OT7xgB^$(4iefJPwu*2ACkwpyZp7ZLoc z@K$u{kyqQ~=Hj15Z{(gE@ol3+FQ%|OM3GrRMzryC4kdrY$Xrh2uxi8*H~u;bMfNn8 zr=*cuDrYBFb-`T-dX$Vjn&K0qp?Fh z%Zv|w{^h@ooj!Dg>DIk#`q#H5o4;3dhcth>C!YJdxxVB-|LM0+?U|>$?)?1APZ|8w zgP*pr`O_bi{4bM1oQJ{K!%FTH0(>oS=M%cqDU)YCeu%2V1sUvzKR!dY&RN@EYS*#M z>6e^VP3a4qukFlm`Q6l(g{zpDZ@&7dRsYXb5{B0AJb5m4Lj0``YqekOJ_#MCtrFy6UI6D2_OHBqH(dTqQ$<1~0 z-Od>i4V^PWE7t^lzJpm7BB=c24?o+Aok5|_j(rr4XG@E(9>>C7EZ@mb zDw*+gM?lll43p4sfGup)ECqAh_(Xrkt*VgsW(l*mDP~IAm-Qf%rSb9+w7_#xGSa)1 za8(A2m$Wl=d><0`a!^9Uq)kORlY5&Fo;7dFdH(2ux`HC}j|4Do&EpYCPH7F1ukI$F zAubi4gr_cp*kD@o3ptZt9v{7;*rFxjWGmpE%xnwRF(V?NID&@b(XkH_nR4p&QgO5U z4OfY}wytcx5>1m>QZl2{f1aO=N&*9^ zdMMMYt{I1(r0m~i7{>oZ@(bT@@#*BFj?|cdwaKG$r^eHA%~Iy`kL^LZ-Vc zZ|*c)O5q;`pdvVt1F^^RLBV%R6M$I-Mj;j}SA&HK0fViTv-;j4Wqi-1R{g9kYVz8P zQH)OKma|U8!^3zUFqu(l4@ul1>G=eKNBqSyri1px&Gg(UPEI@o{^NT^BZ zO@R;yO{ofESxWB-A#@N(fY5srQ0as!gpLIWD9sYUC5WyY_xG{(x7XTdpS#a_o_n8j zum4S+@XmM4Im(>xD8J!?JBkUa;o^<&v>6_{VsT3sj$ekIY`5O5pMO=zlQ&e~hrZqa z$z14C31Qf90B2MH)0Xii^D@~=eS0*S9RNbvtw6_qQ1HT_|g{(lX zHM-`-sR37P!V~qSn_ER~Jx^=3zjQd{A;WyZV5%Jb;MiDr`zLF-hW@_vaRV%N%SSCUUkMm5efw z@`2QNCVSTRe;P*Mt`FDNv#T|7SBS>JD8dM27p&*hsKq>4AAWq$Sk6331(x-}wd978 zOvsUxQX|u&v^$cHjiWO;#)0YemH>Tn7lT#X3}*h}ku|?~ZyE8OZ(Zl-Pv?eU_fkCk z!#Nt~wohD_CAA7oE}6PvZCWNYCF#MBM)|A@S!$!8fzAQ0PQCGqO3O_yjnt71G42nYahR@d{Un?aI6-?ukfN5O3{Zs^5qu**Pmd_g{V(8wgcU>bSuXZ%3+wXQ? zvs|Cccxv72*N^3mt{lOZixwQZnex!xt55tBd8}AY6rmlYAc$aaX0012gFrVy4hXwC zp(?gYv+>q*X-0)ckvolgG7-FeN?wKF&2&6mO3Y!shd>4TTSUEG5Pv`5nIJMvaKT4B$c( zWQ+tgn8>hJm7dwYKBT22U4u9fpx3chY(Yj%=djlHcuiVLVCL&^)r!a%Ne-ry(7~wd z#SMNo?HpbA_**D0MPutSI`bqAf8C{G(B?FqvTY|?S0U_@?#4m-WHv#EOZZ_w=gNoA zsSh>gJ7RB@zqX?&3wa2YHkaP63oGaUbX&v=W9CjHUhHxv=t(h)PJ*l5=8ScKC19^) zXy8||6)!MvQIa54ii2e+r;Px zg^f%2WJ9*cG7P#uGlnmg2N}r}FMrS2Mfis$;&HnFnwlSdQDB?eQIE?#HqwF0$C}_H{QDJWO{F@5g-WwkX})?8>UyP z;o0~G&;Auz>i_QN?|<=swgR*d9K;kJcZ1WZqLD*8iuGSSg5_{mwb*d~$p^XJ{gWek zEC*=4tk-#5-&L&ZAFha2+?@OZgqk_Au#m6(7ccscKZ)*thKCmKgJX&O=BT)Mb8q`z zUW=9C*V#WVO`kn*-imIM_~Y z_>An`?o1I*yrnqNkKATl3ImHRX}EQdMj$z`}4KOnkb(yQR<#g-)a+u zUT{4HrYT=}g%p@4(LSKu;vndJT2Q?wP4(H~)R}W~rdVFl#jZFb$U9@RC?G+@TP08n zhqHAkE4&+jg=OAIc}dQ$J*psU$knXytDU)!u0pXON26J)=Ot<$p^oD1TL2}Wu5UJ8 z0m$gxBv^NRO4A{}zF0JIqu&>mh%<>|oq0S|)=kV`N+2qw0lx^f?;JaO;JidK^yRMD zN#{$-l69Od5%cZggBQ|ilu=ST5i|WNR5eXviI>jx3iNJ5{m~`iOa43T@UZ^2Z7<&B z)_#|!!arCFJqx$qeC6Od0yhp`ylT4OWnc$-e;f9itLTR;a?KZuz|f3qB>haAzF3M# z55%#VN3WW!iL{2DKgq#+bcGX=#X6ZICghXiY~l;npF{mjrOjG%8Xr;-CbXPD z%4&QbSUY>W0~o8S#03ec?DhNaN`s z^%7Chr@US;B`&qc2wM z(ux<8A4VU399L5|x~F7VsGASL5Ouj(+X@qrp1wu{JKjOc+)r@z^!wp@(X z9LZ7VfT(%(x<6SoqEA5!k|=PI@w-!dboD!|PG^*Z+;!Cl*c)C)HiuZGM;0vQ8mN-a z73BHHGq034MQ8Tj-Hp9=PTuotgn)VRXJ>6l-^-QKE{sBlgaJxYWmGpql(YtJEmh3v z#$B-MnIlOT&|tM@f`(5)G!P7tgzfvP$i&UZxbGYfCmb~Btif!bXg@ez+^V6gmZj=m zL=iakMOy@JmTlOQv?((|BRPL){(D?Pcoum`pHA*kwmoX689;HO>`%0 zYZuylz{TSLHY5J9PueX>|ERuDx*lz8`a)42+vbyjD19HSk|$y=!5X(ZA?G8jNET@| zjrXUUJ!z1K_h`XC(S>oM;>k%wwV)a)-x>lYHFyO>A&I|ImFZn zTJUexW0{n+X&U!Qg3{~G+j2B<{%&=#j)307bj(V+%on5CbAwYK&?P})rLlE_W$y$M zk3WGi1#(*|s&#kqDk|u~`7R^%QxaPaP{mtK>D*h{X2YN8UtD$$!&^(y5Z#KwN*nkm zQi?0}rJOE7b90HedP1q|U$N>>&H{ z2emM-xlJE42teL4FN?nVA3nHnAEg0J?&4?f*y5GHL+$IW=lVI?(CwmLwVKL^0-6jji<_Y5( zCiW3;ki9#Q^bm6Ks(Hmb&8+%3tHbyO8Fl?Pd0!1O`&3r*Gm=KB8R|!WZ%6crZMyW= zSlC{l13P>oUo7ake?%>}K}eg}Z`2DGomPS6dx=7zdLG$Mo7pdhSPZ0o^Qy^B3GMST zOWb5D%k+zF96Gn1Vvk3Yxod>ixGwgNW?1u8c{G-!#ZHRUsraU*GOibvAB3Z~djo)^ zS&dADhvwWm1V336>CVDu$-%7j5E+|jiCLG6a+&X5jWDrYr>33F&(k@XVc^=&jHVH5 zzN*yqyG^HlBF^_E?oHK9Y_4~E`2uKW{c9)*YEWh`h9rkAM66G!Po0p!sWhG&G&rYK zN=;mH52r|HPGWknr#adT=jzeY4E{19m{4h9gH=WDq%AlXmFdE+EKoAc^SKF)6Cbgt zS{LcB9dLhsip)-?aEmS&2dBMsZ(LB8ZM|$2m>J$j#ZeO%=!{+*VFE(11|=VbBQ_9g zGxC(iPem0vx(Bnj#0|^do!2f9$nr7H7b#spX4b=kRHTSwiUMk^?5q+3(JFI;yLzEf zr1gf2>Q>lyj($*jUrFO$_%H!J7_@HdJJSbbc1NZUvnIO&dY9veqBOL0#W2e1=!G2~ z39;1P$YJG=rQ5bcN*DR4paOr)9spvm)>DOsA<>yPo7hD3{FB~+P08Pl zpRQIuYqwfZ+TDC#-i>1Z}TQC=3gMl&!$i1p=qKbXSwgilNQ{ zJtrN7kW>gnw{q_tgD>`gi_c^@q;^ThBdE2aUAm$2Gb(#DGf!kw$=6)ZCN9ZQAQff} zudfJ&-1krY7I{fT-3GEOR0wMH1yr~5>&)PASR}zUg^H}+827UERFdbTW_A@m?=5;N zxHJ5eO`$8cF0KAWqxU)NCZDs&v$eBt50-WQ$Lq@f{$D5l1@5*+2xm%g!vLmkQ7bRLo+_FiqhEuwrFu_?MJIarH?wLK@$g!s4tR zyRBQG#cAK055l*~UGt9HX{y%Nj%GFpJczCNZY~$lJs+_@h}v_l*j_@-%>5n_yZxi3 z_^xgC=i;jkoNY(lznNU;KFRO8TkNnF*YW4z^w;6*Yt+KJrjIB2*S-gteQCHnulHqs z^11n!>^7hfczD~ab@E*Jp98Va+0Q1EO+5Tw3n@URo z+~Ac@qvM|=rw4y7^iSHvf6QroWosLo?0np9{i8UgdGS`q{-E>6{z5zcoi@bx#(+<} z_X;bbj_q&#f5n4O`QL7>y_NjMf`2gM7YpWo|D^@L4ACz`^h*nVX~8co_@xE^rUhq{ zC2OhC=OBe#eJU6?Y(e5Ew`*;mxQNuMOdy}b{w=JtjukK2=m3e1=}!_>>bCWIX98xF zai-(lFJmmdGy^@h9))?%L_JS=IvmhzQ%}kZ{+d3*auU(G?`_@h4g!!=U|~V#uvlYv zdu+`vlka~T+m5dJyK`Bw(CD)}#+uDvxWm6YSv;)XpKZQyP0-8qOY*mNpI4KW z1l2X}+9SmM$vCcBt+_|kR=ocC%Fx_rR>@DKYxgJnld#O&0qY=+-OjQDF8h;p?9&yx z__V@N{N@D6?S#z!WCHtii3z^C%c^s~O6uC*S2?ftVQuRFutkar?5CnBiVh?xhuftI zuW)h`@Td~yG~T4*cgqvb?ATkcp?|}v&0WxY9?5b9YMLS%L>-b;)QdL52}5fr7~} zq_nw1FE*I~U-prDx7THKW=~_iCwDH50AFwFJwJ<75wo{O6-O6z6++a#HB#rA()D{| ztCvkk_Qs#wd?~d-cQi;FcUFxrh0mBFqx0y|t5+pDo~`npRpip@_*?~H_B$V?pe8vr zGPK+gMX_;~;3}(@Nx_rPhk%czKfOAho-~AADZ0ccg@l2;1f#_KG*>qhaSfuAk8&zT zb;Be`dv>i?3e|9Lzwz{x=oUQH3n5cIU%3ElB_y>%07H6&vUg3Zn+cK6&!*i8GXs;0 zim_*@D$r?WSQb134DgPClzF57F7vwMWBZkP9RVy zU#6Z<-Y1@~NZGz0n)qYnjk%2O)ufB3okGViHjQz@SB<^42-!8 zDlpNvs?{&DR_yCoi@5V3xX`KK84PM^jyS8g4+-Smh;@w zMcmPMk;w{s+OOPBHJY=GZ%jS(Z<*7wLw{^7|l8MJlj}E+a##!Ro9^9;I^DISG^=+1n?}l@*yV3Ju)x7JvKoMnU<(^En3%gG(*ZP5iwt z^Pl<#z|CtKp#>YMy$sx3xQwpsxo-dq#~i^|(?k6SoLnG=1uN0M8u_9&c3#UgI2KNY zT3FOH;ap@~-U$Ouj@`+&cetkz?dP6xK*Ef0z8-0WnGO(OyrH-DK-z`QVy#dd3I@Ni z`6nw4OHlQ-FHzWT5vt|n`aC1+Z0)zFbU7Oyo$dIVp4T+)tLsjBl`n>~s~>qR=8aWV zCQV?hE0*QdX1%V;GQhb;K5wQ*^1iBd;R}Z%gyI+I+J5+uCQL8>>2(S5aTm#%^(4i! zh+CM81pjtSX1+P>9iR)IrESCv{MZ=A=@NT(CIs_OeT8+LlB^c6lmcH$nJuXjVHQl3 zrI=e>4J2n9uG9B8aDh*1{9n^URGpfc`s)MuN| zyU87FpC=AY0iy#U|pg zTGZ2zHD*GOt`^e*d!)>)s z{r9tEqC>2Qs!5%AGC75v+OIUL{LH-9>A&cJIzsnKcv}Ps?TNFzM{OEQLN0&M0V=tv z?C8MMjQN*=Z`_Z^w?_x^mA)t-?3gm3)f^T9Y)nX`M;=;2Xs(?&h~*iz$LFbp&O5c` z#+RH5t2maJ9m5!mCsDdoyb&e|Je}d1F`($OPz+32P2x}nQcH6S$PIlLXXEimo*K{1 zR~XErDt^()8E4IROLG$|GIvC>p@%vZ=3MGJ;|m4vDMWD?Id*}%fHW8agmF_8QDl@V zKL!B6m&rx`>G!Wbd=;?ru}Yz~$;LYmGKwUFNV(Yhx--d3XZjkf@_Ve}Wqf56h%RRC zV8H3jGVQz>)6KNlIB{k_YBJEKJpZz5rResD0i_DsboBCR;#NC`u!cHkXn}6oozvl{ z^#&$L66;(508J0DV*QH+l@p!Zf{8N{RD)OzPYKTE@Ihmnol|gxt9fal(XjQ&#^4eY z?-)e>1g9;+rFo3L2OV7)so&&{V`EwnbpBpm)zo%O1`!GhjaG|ZxN{3$bF}Ga=slOg%7C8HEwzgac{kbh!Hb$ZOsV}MbcBVw5M>KT? z+r#4ys{h{C-5dJ>D*{%OBbZJ2Xb+XKl|(F?T{JdS$-m@wMSsLi+cd}`*&c$qD!aX{D(lSANzyYAab-Ee z`Dw3=oJM&0@~F0-c#U|!HAq#FU#Ue)$d0Y{yn#sYm}wA2GL;H@7uAW8laNCCap4mf z(LK%+ig}ZjyLokNIsq8R_H0TOM@zig3O_K8lRq6MM(0|Vnpw8EoNxQCLY9t~eEYUk zOM?p@XEN}Tkp?qS2`ifYiY7=v^1=1hB8~lbUwp@G(L2&Zx(1;RCweD|^>*^j zq^7b_>E#4rTeJIK4zVGwaUvF!q>Rv;wd*^q_mrq1l`CKUjXZ@|yB%XBW849d?8ZorD|R^mBj#2i*{*BcUGCX%P3;HrC+7pF#j* zi%4NTGnlbKVV75`^Z?tPu{20HhoWT{F1h!Z#hNk6{kGG@)i zmDWrq+TWGVn{}*JOvukWXF3En2D=p(QtSrftzLn_O`4uN$|*|^4%pF`-fgeDz_E9{ zcW*0G8lg>`r@3<;g(UUsVBvz=6L4$$!zAFKzTzfEq%q4%q&Z5ul76SGZ2TM+`A!e6 zu3a~)oX)^+rzB$FJ4atv9Ou!Ok1ZN`18aBvHF>x3&Tm7H+I=71FEc4jELvqMtVy%B^U>@8rji zvD~9H#T6(~jZhp;I{~~yPCUg=W$Wt&;B&e=F1#b|BA0F2_{y5U94|ggO|S_9nK|Y1 zrzXM896a@XjDd-v=v#xZsx+0PAP;qv?^Ah9hAz z{1ywR>L?eECx-D$U>tm5f}s)}b-FU*;%&&>OolAt>Kqq;`j@?klAFD%MQz*wjnJzy z4I)PIdlA!WTkoqm?D7WDkhMN#B{U{@6y6jR*)0-sQ67QgMc{p?(M4>QU}xe|Y;3vl z>=mQCiVs*ak@L@Lc6;Ic)VohBa*K(4rI~#Q_=Wj}3BpWJl&$$WWX@q*l^i2S-Ux~Loc(2Rp=mH#jeJh2Q zNP7MIZNFUm8D1#$m0LAo1uX=aT0 zMMg`%%ha(coM#PbNQs4E*C{3hZvn>AWNAxY>$=p9kMw-s1Nul=C3{~-}pFRLd*^MI2O>ckH=s(e-wDpw`2TZD=kIg)!@tG5d?3%0U zya|Xk-grmJMK?m-bA*Ue?ehTZm*}>#$ky!~s-=kF39bdWnWxM_f1t7LIK)8PHb??k zYmk`S6u_OJfJ=@+1RKvDR=P&DVV;6JfvQ$o$LU@KYPrj0bhjsa?2uKDlvN;t) zpA?SzkWOPr!HsR^uqb)mU|{5cI#Cn10XkpnH0G|BMsSgG1Q$ox={`5{WdC5-+A z0d0ei(I5+cEZy)3X{a2B=H^7DlHW32K>z#k>3__?7su?#vU>el=a0_OCb^+UwjUCY+s{DS`7w*P4c;Gr63bpXy^)(ZfDF@oyF@Pl5&x{c-5p0h&tA{Oc& zL}sa~pZ{{#Dln<$EsG}ut6;!4dILO)90-Ldlc8j;^pVGi?CQ%H*UEl+<(CO=GZOg= z2$-)nN`TYXVYdnNzKXCFrM0$>)`%x7vy|e8Q&lSG+@l1gbdkV9b(D*j$|fAaf2LhT zC+1Rf*%G%2oo{d+U~y1=SHpThWe97~+oqoeLeoEfy6I6d=EOZp=$BzA-4f(1gOZ@0 zGr@u?3g@_z1-mg6Um+jJV}wi_!W!P4-)6Q`Dv>+pB-YNJ8WL^JsT4soETMux)yOEZ zdks|GQZd<9)-J>GYhI@$IE)KlXpfL!>6^pp)2;-hjh0m@9xMW|@G5{<%s@nQLi5JP zWLA<@QM`CZ7|I8~Fky_3Er%>4!PMJ~gzeD&p5KZdzRKv3exAZ!aN0y^Ad2lC1TKpx zNK9U1lsN;YAbJ(pSp7!xrc%^vjC(>>^9-Mtya6_LwH}3#q~~pkCp}O|H4HC0RWX`yv-3QPN;z7vO#5UTGg-QwSvoOB^n7JdT&d z^XE~OC`~f*i?X$7;tnJYhu`Ecp3t0&p*PxSL*ozKB0ExTcSz;_DU?+wSS~gm<|A7h zJ2RF&QH3M6-sNmB;gavu%A>l}D*1{8p$T|Di4#agtCnS$)LsMY+WF9ECT!!we;4=v zCN5*+i}b26w(pk{R)L;Ee9TtE0u{U0N3V^h26Qtq3M||L>bOVpW}te$3RSev?yI9s z;}!`9Dbk}b6m=<)JXH!sM{ryIIMgFVRsI@Q4|ngkN9_vE$DgUXt3qGSfg)I{$9yy| z!#@H)KQ`)I-K0tp?cK%r7Br>UMKj&4-eRs4dwRA!wlOQ4d>en~1yWXTOu@)c zwuzVNHk~sbMn3JkbYp*(M(3>{1?RrvLQS z{`JLdINvL2(H?05y-c6${v$^-qNZ0ZgT!KaMddl(>1hmhRIpU zpEOI9yG)8O9liUH2<+2t7K7UwK-u+|>oOg-`;RE?(@r@9SV{f0++WCOSU%LA*Hu9ILf-U|(YMEdDv$o^|F8b z%aQW1_1d`0M7Jlg&P7O&8VdoJLK_GZ?pio81$)&kyZT_rq3mJjqtrm20?b+Ah+RZr zDZ&itZ11D4zn262sNkGzY~ZpdYS`n!H}>6`z2r1Cvk?T+xW+L%Em5D0X2`ayqj8hS1p!Y1>FN~MXAn}6L#Z=Vg&21<85F*m ztlBD*hT|6FwhuI{HjHe&kxtJ8gD+8N!F4A@ ztFnx^fWjd$cp;x;M!Ebbo=~3zNA;z1Xp~!ARSr8b0;=MrnCK?XxjuUu;FTu)plG1< z!Sg$Df-5HE)Y8UHDvdY`qv-8MKGK!uigb6wZt>t1?@W037zrB(J>cvI4_Iza^#*Bt zH%SRvAds3j%UbHl5&-4=x7m5)9y?)I%a=+WX~lA8>Qx%Vk;rv2ab(65qU-l; zO;J&C$I$U1jE9AV^zU~~mj7PSlIZ;l;n88i8LW$7Z$n}lf;cOI*837S+DQcoQlth zFZi}ynt}#}iXNEE&l$v#-&4J=%H@wXFtbmwJNJZ=nK_?b`YkD8t2p`EOV_>~PWNmu z8*_h_?7Nv36uDkzI zdZ0n96ia=E-isEv%wMVMG#*(U7{;8SHEj&ui8AUj3rLCqOks`6A3P7fd2+(OST=QB zB(FL81URn%JV;9+z4S;Kk>N;@e8KkAVEUs;|NE^nW(u#s{p)&U@5VWW<@^YGgF%n-lnEqt=Md*d1 zn(e8p%I`f*i^~mMfDKj>wlxN&u=kx%N&_+L2=3oKq2ofW z1X=B*F>wI?A!dK>eLe0GNR@~1$~blJH74!dkva{N)1tAzH)jC(@d0VvvD<8{Jn6A_ z*oSZjZB4T^m4!ViGEJLiF3vv=BBpOuSIQU_^4Ey{jgAk-e4Sj#cCu-4X@PbWdq(0M zOf6puC%RO+Zdt|VEG3xWR;yxHa#(Uh&ZT~TH~!paS&P#}^3;iBmE9;VqETfEADOYz z%xz&*6Ab?rXeZGq$7NE~9Xc*__hzqlrdw8gE%zwCDUF|4y?MVzSbV+7;$Xq(7pHxN z?AWJH#GI`>brda`aw)&dy8c_CV2};M3m!iKOL_7_NwRun=`v5#>Lawf1V|7wjq|!R zQU7G0b)dho?%roiYk!Zkwz)d?Fs47`<-icmW*J{MG%1sfOFMRCvOxR34R+KvzLU@y zI^FLuuHHa1R}GNA5v;F3;O*3Iwh}2kCypP zi{+Nx4{c-=*WB_Nm670hal_?8ulC5aZz-$A6^y~(1S2dOWWEVgFwC5%7-*s6YnpMN zVh~^J-<4} zKY;f+W)Y?$ryT4l^r=;p}6X+xVN+@0`aO?Da+Fx8c@x@a*bv z4AQs9nsL$KH<|Pp9klD_7D?T#oaPFyUg}adr^JwuLiAC=B0bNI#>Nll37#KFu#N& z=4RpOqXxotiIb%x#ltka!YYGo`j?N{U_j|B-Bt;arh5l|s;YMR=$F591TVzXiE^fV z^=GRM=OzQ^+|R|p_}#%xyyXr)7LnCw1aIa>n6>j6m9;bB#PVD5u9dOt!EHMKAdhKp z|I~v&jre@=5trAu`;hJ@mT$jPcb48cnN!mDLqt@3TXkhMyGz445m{QC7|!E`+vR{* zH2!4pPfn!mPw*#$qv&t<40y%OGBvGTq%6!b676B)8+UofO1CeJ$dg`5R$*#5jlh23 z*CHyZz8a&8p?AR~>bt$e`|2gSFDZXoMx9*AW)$>&-;7?~W&q`RZc_yS_;=|tn8a4cI_beBnQhtUY;s_;0j9{57gBg~z9; zW!Z*P5rdOy1|m(Q=ouOWjj`2BHy5B-1$ASUrfaf2Yh<`mQN=KaNia+>Qrxr2;<)*Y zL*Le4HB=}mtm+_HlV3@)m;^=}DU#YB8)N zGhF^)QI4_v{O38)`!^DeblS(=Uuop4WN}SeJ$fTPPp&IbCFmxrFw-SkH%buv(O)F| z=#m=FF9<7r%BO+hX62T0?fp)ZH!s&85&U`TXBaDDEdFMh2SPM$lML;lmxb~+E+5V} zBk9^OL-E*jCPMLWDYRL}oXZ(z5B7D2A%r80!tjEMQ!q_yz1=?z-rpG=T>6qThyP@a zFmh(d>r!oZKyBqxMW6HpUizE2?!63MwHW8>2cNCjGISR{%lyq;@?QLTM|qy?ynKf^ z^H>2n^U&+Hfxei!dagFl& zo7JSS{50)sRhyR#{*#O0k)O1hC!{Ud{_Sj%y!KN(4wi-tbI;={w&rxN!)1+hh)EC=8rEG)-#jm7hPiM~pHaJxrjHA1sT zNQQ1oDxtIuw#%xz169g24K))=jKY}%^ctxb;!|jt8uL+TVJyvEPGMDK(^KH=aoYCM z#RmWP{*p(f9n%#RR(a1Db(O(Ghz8cBv{p=h)$5hU@cV%9bxA*;%tA7=cRQ(i5y@9? z#L9^69cBWsyxw73eMWM-!F{wVuCTj^b~adv+-C`LJxTEC1a1nEBs%dMHx*vL#<_%- zY)$bLaV;qd-V{a-8kc4b4F&clrAXk7mn|mX4ZTX0Cp1acAJaxwwwoch7yIpX`H5Rc zB=TH3P!KA(bhxi-ZQ5Bg&X3Q`Hrw<>_U4X^3hAjRl~G=!R7hn)wep|&#`mJ)p+QLd z+|5*n21tx* z+MMnJbr@-15Wi(0ku^wLvS}N1r(}{;b6IT9;o>+K# zUiK($CI$~wd3xDz(itpe)e6*Js1lAkYmqs+#@?UWQG%#*je}|99|3Wc!&%lQ<{R%D zCmw>Db+dOK{)c!E^K1OH)I!{kmk*pE+U6mMXESo^`jK4MD$_nU{0MG)=^!l{;`Ikh zc15iT_m#ufSS0X^M<2wBUw>Bh9TNAreRAiq`5!C>yZQn@*vDhVEmzhbAOJT$HT<|S z{$TV6{@BlS>4GyI=B)wQ3d5zTB&e@WRt940qV3_? z{*=bN$aIm3O@s(sF6DCy@H$KJ+tp3=o8oko##bGhl66H}GKV${KShO8;t|+Q zNk++~Sar|K76B>90vZF4Wp%l*?b_NdL5-WL^AvvR55vc!Nmp3)QeO<*NwV5bb`chyCblLz0^5MOY zu#SwaNOmc8bDb9g7NK4T=B-;-`$(aJRQlS%kpz4oiHXGkvA+2r(bpYi*FTnbc2u2BS3F*0O| zZs~~`_?|G$B<#-D=G%Hobf}Ev&!DqHU02R7D$&U0toKfs4+Ss0p?yE`Xb&`Rr^yV4 z7IVW(K#|h}w2n}Sdw}F}Z*w3p`uEG0Q%(ZDE7C}X`xhY5jg)xzpTb?J`4*i!PT#vP>}zD@sc;C@ZT5;*#L- zINcPdy(GYda{7hP76rip6-pe$$IEOP7Bnu;Fy=mQoo*IdK)(%`Ub4C+&vlJh=X=ua zb?Z*ema)L6oG=L=H}gM}N&4AAnS)vb|r(Vbr*9fiN8W7A}+ zE*HZo{g2kbe8yR^<#>2shTz9E-PD9pHT~mXumu$#nM|&ISHb?Uidd~7eHg2EL8)x` zD*&_<$ILTPWQ0^Cy)3n4dGDvX`a>x;-ZNeLEL+HmVSC^c>|LVV3%s2ccS>T*N)y0w zV>5O)E;vCUpm3-XI_^@>4^giExW{LHanOL_JAF6_NFTuHRYrgh01Lr0zPJhO6gBov zG^EFcAzj`^>pT}rxz6keXY3~e*ed)9d0!I0j3h$~c*IslS7BnDcIp0#(bUL+YBAy5 zGYH-fX#9*V^vOYMo8R^8U$<`VW^^CwJVjwTB#mtn=V=#PGW(E!upAwwF}nubJ>G9Q zB2$#woEcUd!2dy-S|y?-;by}CFG6F#sn}8JHrt-(I}eJR*#&fnh^Nn&t7q9{MT>tb zO3ZLKlFCBmK08HQJ8jW02yOKuOX*;ex$79ANpf1N!kJ@()ChZuvig^F2SFV%6Q2lE zFKcm_;GjB~KY0|LuQ*s4agLAEqPQIS($JTz>`xOM<1#6of$c@MKASqPn3EGSC{CYD z@r?T%u&cD^XqzIMm#zCgPMO!&817u$`3Pwz>N!u$ukvj2peYtNWx)LE~#Z1_R4ghw~VwW);JNMxM9i|4i^VP(m}47%b+*0*!Q zcBn_$hF2?Dl?8AufvpQV9qv75Eww(BQb1ZRYm6JAcLw0$4DvXmfM7GTO%eFwIa%cQ zkiW8Ydh%#nL0QwxBtJ2_Oy3^Fv!qwZI1avI`lQ-KFn;$H@ZD9Czs(QHe6#t%Wj~2Z zc!5u1wWw&>7uKUm%93j;N%)z#+O#zHYHxLU4rN7&-i@lyf~s6jzG-ZQqTsV+)i z4X6PvzVpIG1fcu|95e6m2g^lrfm1N(awCnxy-0)cOgc$ESp}X3lA8^HJL*Ec5U8aH zfRTVmTvnhz<2NvK&2ll&&Op@X!ziK_N?9%4w)zlIaz#9*tThCzVJzNdN;X|PDOu351jH5)3=AEj1FX5MTx`tpw%k0EHuU@cG&wx zGg0+Plc}$c94gHYo|)#QDU%khimbDj^pcU0P_`;XFV)#PjGn)7B+7<~!vR6Sn3x^r164Gbv(IAY7HeZ^idbiJhJH&;= z-m)UgR#VDl6t8~83k1FlLW3l##G_oxMBS_IBW4!UyYPE@qkDQ;j`Y1V0@h^RWtvMV zL@L~GGY2W2{^rAbCisPT9wh#i2qbl^dW@5w1{8sT-Bp{kVRWU|#2EA53Wk;BS88IT zxoDG~RS-AQXT}ob@&r$s+e@P5Sqx@p-f4{BY=wl5!vhqi29%{U!OE&63`wbiTq=D9>2kvqL(cZ+w}lPY9> zXgx7??TWb8S#|wR)QYFl>|vPV5H?8ia^QGT?Dmw$TQ;6nc|g>6;}_r%w))dWYJ+}y zdhe9zzN=ny#kM}Ngd`wo+*c{9&W3K&@Ae`i8p|8xVQX$Fak$Is9U~gsVMcP%va9Br z?td~wtqO82jQ~r?5zL`tS>jY{H81W2;iAZ1f=l%m#YskFSjwu8M~8@sug&Ly4?K1- zqf(S4W6>-{&l>=@jXmw52$OWO6XQyZje|mARkPM-GOV3PTP`|&O+dNS1%k>w+sp>Z z{E*m%P4_AfWZjvhyS(24@rs}?=Yr}T0_tBI>mkF^xW{}o#aotq0h8~!*vITR%v>Q+ zkrE30zwwZhA`_sg?Q^0NFxA&X=toW0haj#V4!awr4kq0MOAC6@&{!IzC+}SB>Cu zStpQ4svz8B#+#T>hkdgiymg!o^B`IA#L^W27-Takr_VU3!xj;0EV z)c^YMU%uFmSp5@zUv7)eX?t_UVS6<`LvHo!RqaTYW2lS&gxbIO&+j)JKO&OlAmJ+u z%L!dmNo@4o<5+7xeK1Vzu{HNlpQ4tK6JXpKEHZJK_TJ>09VW=w!L}Q1SlgfS<0uIy zb$xlR4Ur*PWfEu?oQIHuDH(Dpqmy7LG=4CB83Tn)JJo$j9e{!!b*#{-&b_`m9~&FE z31w~O{L%^HA6)Lv4OBQy0gg{5=@v^O7YZ_z=ue{HZmAajxOGJ-yU-&C9ZN?LXjd`T zBooowVkezcLS$@J;;KOwsT-o6%6*Bnz$YRa_DaAk{~cfJY5sMz<#dLl-CgH1?cR{_ zVyT`XAV}Z0i>icon;psuTvEoZHF-_gY6pLPjM6}Fb(qzJiRY0Rltrxd@sAz?Wgc_a z7Eh{-88?naVn-Fd++jG`9_Ol^?YKM+-(;a!I?6CFpf_F*LGYJcRThW}8nlkA=R;QU zy>hn4uX#jp9S??2JhJdt_l#^>?W-8B-R7(Od{mr05-bqAK-f|N;gX}|1bSnZ7(7WA zTw(6;QP1{-Q<0@u7h`^@rAw=(PrCmL3Ha}QASKOmHg*iQPzO2d^K5u*^?N@+RW!0? z>}@PHieIkyE~UdHgY2q#p7KTxBrd@JV0mul_|>h*l2VziC`#|cCi8n$6Cn@W=Jqba zbx-p47mPkZosANdAxoGYwO4HB&R0Z^VD8=n^wdY6tshyZDMlL&`My$KXvmH{ZL50j zZlTog>C7%J|42&vGs7(DZ(gWk#H&qRTzcXvkKTR?&7T<)z`yy|B=l|%@@bPa!njuc znl#6%^j8Nc+s~;JDV({G;Qb7@{ZzYlqrZC9+X=TrUZN#+iV#BobE@UZf^U?p*?tlI z&%ocWo&FDT>|f&XAJY$hiN`PT_%lKBm!1B%JnjGSk@(Ac{IVXg|KAr6cK2j^KY)l7 z!dWLenUP8GH7AtVDx?$0{If2@=EI|k{{OtsIge{~n%&y0v5(`YAjnEXch<>yHg-A@ zWfCGry|c47)x_;M)KVyo+M&%Bh=abP*Hs`fDXGxUD&kIw%yx`m&?e`-aF@ZitYN^N%kHqecQx*HYeG|*#0`(tEorqkZq(ZBqJf`Ep=59pye+7k!3=H zrhljH(hf|!0Chg*>}Z&H)-9TaNR@jN-&hrA%v2P*uyhW zR2Zo~i6{a9C}nN0Dr9k1=$Gi1TMCrd2nou@rrWsYDP`baBbe<_DaIu-Wqws_JBNLg z+bqAkY;_hN{@wUvVF>5RtDF;*!ImZM1VnVW5pXppx|W;c`Z0wx_h;$fpay3(PhTOE zV>PXP^y_^gXUwooT*>QMmH@za=vD15jG)a^j+6pf^8eM^nf)b!?tgq{nwc|N)WxVEmsx+*U>;hToQLPEq8Ir1vSyK3^mC* zX13Tg&Ef8Mb?(kT@LW6>&+B=8zMt>=of&10>_R!r&Z2xT1~9yWbd1)$qclLD9J38o zKbG_FsYjPNOP-=dS97Z&y5#~R5CEV~Se2<+c17j3q{tkVos*xRAAu=KZibMOa8In> zWQ1Q;m#icOaJ&KOpL${Nwxc5K|MIwXtH3_^uf^p+XHs8Twb3tcPuvMvOSX%UNVnE3 zadPi9CCqg6-7Ur-plFv!YgV9XHjJXIa+2}sUtkH`ZWi5*skRhpFx9L**vsho?Pta9uT-RIgv9EFY~#*u7Y;hFAn_IZ<5lG+1Se$RP!nRoXOp(8r&PxSum z&;>HYSP(IWmZHGE)aQ&)q5(ApSWi<=)w!B-Ykejrn@V<|7)Q1Btz55%KetiFtWARm zgJjG~O{hXidEzX|*=LqfOyCHRd7%_Qlv?&qcBcCQ^EntHh=OBcSwAd<7?)dt{B)Ug z3oAu_ZhC_2sEMJp^|eDT*_+okj3@z3G7AS{O=^MT86ngXSDJ!dWMiEkH0(3_@-Bd< zd1JQ2=2((N_8%cUOQj6haHD?e%15fo=w38LBJFN^RSYEglJ$A||as9t8j=_IB?@ z=Ax8+D~@TjqsZu{LL5>U^5v#0^KmO;9ADC({x`x8rTcuG?v@ef?ExxwkeP$!;QJFa zf=f91)syoN`xQ8r%OBK)?_>^C75Qy>?n;ZRUhx+1Aj+W8p_G~Re!tg)db|Kj*Ko~} zY&ALN2|f}6om~RXjn-GLSwtVWoCoT9D{nK%9l5at2M1$RU35W@r(fuoE4!C^Vc$sy zB5Pl095Bf5Y#Jsd?8C}PVmkS0lB@w4fkD**6&m7QA)|e=_AZ$86DG_AtykS0SqH5h z_q5h$$moU^S$~6GE4q(A&%lp+FC?Y+dMc)MmTE*~Fc>YCHWIz|Rx+Mog%>K(1u*L* zF(ntP3=}k&zX|2HfdEAzviY6dN>@=yUU7Emt|y1D=Lu0@JGVCd(l(Qs+{q^KV^l zgLIfUEOn8O`{x^6<#+Jz@HuFwMxW)^7~Gbz3%oUbB*lvFvv2PKygk;A5eqq-XzO-U z&r4OF5xe`X;)Hhpvw7*fXntOdS|ekntwJ=v%i_jJ%J6Ol_(oTj$%y3;(R{c7oabhq z>BT!Pnh%0Wu9=pm%g~i(mN93brt0i6H(EBZ+ZLi}^f+l}G+)J-{*BO<*vUje=mqx9E6f%g+Bt-6* zUPu6ccdn;ynb?H9mXjOtYw!_O zRC@MZLSp7+u#cB_87A977&;zGAbqvfTUCkM_J%aYHNin2OOh5ial;%iR_N?HCNgW* zD447tZOa{%AX)`s>L#ZsvnWx*QVc>OvSp5WJ2eIC==6zCow-T;!H}Lss675#n>c?t zdbmg|OLUOqu3JdxMgY(k@Y3evvlrJsf4?X{l)AHV>GPG&Wg7hq$F_CK^XwU-5kdF%krcdK!Kt|2(&@O>{e3)&IXz{h<;Ll6G~ZJQR8n0spi%E>QT0ttc)FrLCy_{EO1yRVM08<~ z&YTbZaFRepkV9xbdZ^S3$CUwirP9?W>Q5@lgU!f<9h5(jUkPNd;Sp+8rjS&yGC`3`-OLI z(>Nq4k!BJ-5-shYyN5Ahrqsm0eC!TzPO&%Tt6i_iuXY)YIhKPZhLRxweUGor{@n=@ z8z^&t#;PtV%b4T=IbbVLeS_@r#O=$gyfvSQHS_v)yL0s(6=|7Z)03reK^qO@TgO<- zk%K4d`}kQI_y3UZMEpSTw5f)Vk`)kpK9&Np(GrZjZ#E^oF z1DIVJ>?HdvC&-4<^dI2;FufuR))6D&G9{f_CGYGMpH{dE{rq{H*t3 zo7#JK->=&3u49xSReIpM_UC*)kmdr_oSbr< zr5u4b#4>^;227tw4L>9Y0oF2eiA+H(LpUUGSCr{ZH^D_R)&2k61@Y#q=gbBA@wPk& z`%&n`=zISc*M(~c{}V&ZS_p1M2>m=BTSg`&Rnw!qg3Y{v=!+C}EUcrf{QwCrYPLWDdiJ3pI8uMVB78mm%le?sB2y+hQc%=Gpo2>Ur(ncfhTd%SpxictRqT=j6C) zklUs%T1d{cyAzaStuz|##Ak-*2k)xs(|^xF_=Zmt$fx0tV4})W4^Fnn^t{%~?GL z$^%B%Wvy=G3#|FtCR)Q?_9uv|61yr8)FF`9`+peI$*2uuhY8XQKAp=knkpk{%k= ze#fqnZnS~=Qr-UX&BB^Dp+oKn_B5={$Q!y)Ts&Gxyc6o+;POf1^}c_sJNssVlfX$( zZee{sxD9BA8nRc$azk51fB?K)%c3$jTy@2*t_8D-bHKi^cQ9A<7Zsmq{v^u$>ycAI zd;A<}Bm9ufrCTmTZNJEHmV==q#Zm}4>ING;k^h&8-w=VJB)bEJ*4RQ4DE+ut4HQL{K9+?hh zBOM%YQ%8&VF=pD^w_BWXA{ZppsKk|l7d!G5i$K{nKhK8EKCP~9o?LMa&x`PEeS`XO zrU~XsqhF=37ZYlCl|TF_B`>NIpn_KeX6OO7zc4E@=0WYngw=?H1Wu`65hHh72;hLE zL#gMheCrZqo0Er8Aqi|xDW3Lx+g2`Va1_Q=EnS_`tywgBr{hr3=|)UkOOhCONu5FM zQC@at5CC^E_{)oTa>T!nhetbBY9H>><4$B{s>GP5QVG$ek%dB5$wr7{<9;GZscZbn z{41rlR-yRkfWzOfX)Q8y&391T`8Po@dpxT6t)4ulAzoLw>gD^1M+C#F@zw1w4%W0l zb12h!wM)evWpIt&Zz26*hAqC63c1aOXBKgeu`USfGzcuK6|DD6uV2y(Vvw^Je}S~} z$l!Q9t@EYVPy@1zOYe>j3A^z$&m~GrkCtqZ=`O?y> z2&8!Ujaw|q;{pxJc7HLas89&DBVd&J_tw2cUv(n7T1=ois{cFr+PD92R#OX_>D#&K i^6^vUT%jeYk4IUoLqzuppZ%?T@*6GJ|B_Dpv-BU`YvC~f literal 0 HcmV?d00001 diff --git a/installer/HermesHubSetup.cs b/installer/HermesHubSetup.cs index 528f869..f70fa93 100644 --- a/installer/HermesHubSetup.cs +++ b/installer/HermesHubSetup.cs @@ -263,12 +263,40 @@ namespace HermesHubSetup return true; } + // Restrict cleanup to this installation. Never kill arbitrary Python/browser processes. + public static void StopOwnedRuntime(string home, bool includeLauncher) + { + string escaped = Path.GetFullPath(home).TrimEnd('\\').Replace("'", "''"); + string script = "$ErrorActionPreference='Stop'; $root='" + escaped + "'; " + + "$py=@((Join-Path $root 'hermes-agent\\venv\\Scripts\\python.exe'),(Join-Path $root 'hermes-agent\\venv\\Scripts\\pythonw.exe')); " + + "$all=@(Get-CimInstance Win32_Process); $protected=@($PID); $cursor=$PID; " + + "while ($cursor) { $node=$all | Where-Object ProcessId -eq $cursor | Select-Object -First 1; if (!$node) { break }; $cursor=$node.ParentProcessId; if ($cursor -in $protected) { break }; $protected+= $cursor }; " + + "function Stop-HubBranch([int]$processId) { foreach ($child in @($all | Where-Object ParentProcessId -eq $processId)) { if ($child.ProcessId -notin $protected) { Stop-HubBranch $child.ProcessId } }; " + + "if (Get-Process -Id $processId -ErrorAction SilentlyContinue) { Stop-Process -Id $processId -Force -ErrorAction Stop } }; " + + "$targets=@($all | Where-Object { " + + "($_.ExecutablePath -in $py -and ($_.CommandLine -match 'hermes_hub_web_entry\\.py|antigravity_provider\\.router\\.web'))" + + " -or ($_.Name -in @('msedge.exe','chrome.exe','chromium.exe') -and $_.CommandLine -match ('--user-data-dir=[\\x22]?'+[regex]::Escape((Join-Path $root 'web_browser_profile'))+'[\\x22]?(?:\\s|$)'))" + + (includeLauncher ? " -or ($_.Name -eq 'HermesHubWeb.exe' -and ($_.ExecutablePath -eq (Join-Path $root 'HermesHubWeb.exe') -or $_.ExecutablePath -eq (Join-Path $env:LOCALAPPDATA 'Programs\\HermesHub\\HermesHubWeb.exe')))" : "") + + " }); foreach ($target in $targets) { Stop-HubBranch $target.ProcessId; " + + "if (Get-Process -Id $target.ProcessId -ErrorAction SilentlyContinue) { throw 'Не удалось остановить прежний процесс Hermes Hub' } }"; + ProcessStartInfo info = new ProcessStartInfo("powershell.exe", "-NoProfile -NonInteractive -EncodedCommand " + Convert.ToBase64String(Encoding.Unicode.GetBytes(script))); + info.UseShellExecute = false; + info.CreateNoWindow = true; + info.WindowStyle = ProcessWindowStyle.Hidden; + using (Process process = Process.Start(info)) + { + if (!process.WaitForExit(20000)) { process.Kill(); throw new IOException("Остановка прежнего сервера превысила 20 секунд"); } + if (process.ExitCode != 0) throw new IOException("Не удалось остановить прежний сервер. Обновление отменено."); + } + } + public static int PerformInstall(string sourceRoot, Action progressCallback = null) { if (!IsHermesFound) return 10; try { + StopOwnedRuntime(HermesHome, true); if (progressCallback != null) progressCallback("Preparing installation directory...", 10); if (!Directory.Exists(TargetInstallDir)) { @@ -1074,12 +1102,14 @@ namespace HermesHubSetup Application.SetCompatibleTextRenderingDefault(false); bool isSilent = false; + bool restartAfterInstall = false; bool isUninstall = false; bool isRepair = false; bool purgeUserData = false; foreach (string a in args) { + if (a.Equals("/restart", StringComparison.OrdinalIgnoreCase)) restartAfterInstall = true; if (a.Equals("/silent", StringComparison.OrdinalIgnoreCase) || a.Equals("/s", StringComparison.OrdinalIgnoreCase) || a.Equals("-s", StringComparison.OrdinalIgnoreCase)) isSilent = true; if (a.Equals("/uninstall", StringComparison.OrdinalIgnoreCase) || a.Equals("/u", StringComparison.OrdinalIgnoreCase)) isUninstall = true; if (a.Equals("/repair", StringComparison.OrdinalIgnoreCase) || a.Equals("/r", StringComparison.OrdinalIgnoreCase) || a.Equals("/reinstall", StringComparison.OrdinalIgnoreCase)) isRepair = true; @@ -1149,6 +1179,11 @@ namespace HermesHubSetup } int code = SetupEngine.PerformInstall(sourceRoot); + if (code == 0 && restartAfterInstall) + { + string launcher = Path.Combine(SetupEngine.TargetInstallDir, "HermesHubWeb.exe"); + if (File.Exists(launcher)) Process.Start(launcher); + } Console.WriteLine("Silent install result: " + code); return code; } diff --git a/launcher/HermesHubWeb.cs b/launcher/HermesHubWeb.cs index 87164bf..63a1156 100644 --- a/launcher/HermesHubWeb.cs +++ b/launcher/HermesHubWeb.cs @@ -11,6 +11,8 @@ namespace HermesHub { public static class WebLauncher { + private static Mutex instanceMutex; + [STAThread] public static void Main(string[] args) { @@ -69,9 +71,17 @@ namespace HermesHub string targetUrl = string.Format("http://{0}:{1}/", host, port); string healthUrl = string.Format("http://{0}:{1}/api/health", host, port); + bool firstInstance; + instanceMutex = new Mutex(true, "Local\\HermesHubWeb", out firstInstance); + if (!firstInstance) { Process.Start(targetUrl); return; } + // Adopt no unknown server: stop only a verified process from our installation. + try { StopOwnedRuntime(hermesHome, false); } + catch (Exception ex) { MessageBox.Show(ex.Message, "Hermes Hub", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } + // 2. Check if server is already running and healthy bool serverWasAlreadyRunning = IsServerHealthy(healthUrl); Process serverProcess = null; + StringBuilder serverLog = new StringBuilder(); if (!serverWasAlreadyRunning) { @@ -131,6 +141,14 @@ namespace HermesHub try { serverProcess = Process.Start(serverPsi); + DataReceivedEventHandler collect = delegate(object sender, DataReceivedEventArgs item) { + if (item.Data == null) return; + lock (serverLog) { serverLog.AppendLine(item.Data); if (serverLog.Length > 4000) serverLog.Remove(0, serverLog.Length - 4000); } + }; + serverProcess.ErrorDataReceived += collect; + serverProcess.OutputDataReceived += collect; + serverProcess.BeginErrorReadLine(); + serverProcess.BeginOutputReadLine(); } catch (Exception ex) { @@ -149,12 +167,8 @@ namespace HermesHub } if (serverProcess.HasExited) { - string why = ""; - try { why = serverProcess.StandardError.ReadToEnd(); } catch { } - if (string.IsNullOrEmpty(why)) - { - try { why = serverProcess.StandardOutput.ReadToEnd(); } catch { } - } + string why; + lock (serverLog) { why = serverLog.ToString(); } if (why.Length > 1500) why = why.Substring(why.Length - 1500); string msg = "Веб-сервер Hermes Hub завершился с ошибкой."; if (!string.IsNullOrEmpty(why)) msg += Environment.NewLine + Environment.NewLine + why.Trim(); @@ -178,7 +192,7 @@ namespace HermesHub // 4. Locate browser in strict priority: Edge -> Chrome -> Chromium registry -> Fallback string browserPath = FindChromiumBrowser(); Process browserProc = null; - DateTime browserStartedAt = DateTime.UtcNow; + if (!string.IsNullOrEmpty(browserPath)) { @@ -199,7 +213,7 @@ namespace HermesHub try { browserProc = Process.Start(browserPsi); - browserStartedAt = DateTime.UtcNow; + } catch (Exception ex) { @@ -226,36 +240,113 @@ namespace HermesHub } } - // 5. Server Lifecycle: - // If the server was started by this launcher session and browser is tracked, - // wait for browser window to close, then gracefully terminate server process. - if (!serverWasAlreadyRunning && serverProcess != null && !serverProcess.HasExited && browserProc != null) + Application.Run(new HubContext(hermesHome, targetUrl, browserPath, browserProc)); + instanceMutex.ReleaseMutex(); + } + + // Restrict cleanup to this installation. Never kill arbitrary Python/browser processes. + public static void StopOwnedRuntime(string home, bool includeLauncher) + { + string escaped = Path.GetFullPath(home).TrimEnd('\\').Replace("'", "''"); + string script = "$ErrorActionPreference='Stop'; $root='" + escaped + "'; " + + "$py=@((Join-Path $root 'hermes-agent\\venv\\Scripts\\python.exe'),(Join-Path $root 'hermes-agent\\venv\\Scripts\\pythonw.exe')); " + + "$all=@(Get-CimInstance Win32_Process); $protected=@($PID); $cursor=$PID; " + + "while ($cursor) { $node=$all | Where-Object ProcessId -eq $cursor | Select-Object -First 1; if (!$node) { break }; $cursor=$node.ParentProcessId; if ($cursor -in $protected) { break }; $protected+= $cursor }; " + + "function Stop-HubBranch([int]$processId) { foreach ($child in @($all | Where-Object ParentProcessId -eq $processId)) { if ($child.ProcessId -notin $protected) { Stop-HubBranch $child.ProcessId } }; " + + "if (Get-Process -Id $processId -ErrorAction SilentlyContinue) { Stop-Process -Id $processId -Force -ErrorAction Stop } }; " + + "$targets=@($all | Where-Object { " + + "($_.ExecutablePath -in $py -and ($_.CommandLine -match 'hermes_hub_web_entry\\.py|antigravity_provider\\.router\\.web'))" + + " -or ($_.Name -in @('msedge.exe','chrome.exe','chromium.exe') -and $_.CommandLine -match ('--user-data-dir=[\\x22]?'+[regex]::Escape((Join-Path $root 'web_browser_profile'))+'[\\x22]?(?:\\s|$)'))" + + (includeLauncher ? " -or ($_.Name -eq 'HermesHubWeb.exe' -and ($_.ExecutablePath -eq (Join-Path $root 'HermesHubWeb.exe') -or $_.ExecutablePath -eq (Join-Path $env:LOCALAPPDATA 'Programs\\HermesHub\\HermesHubWeb.exe')))" : "") + + " }); foreach ($target in $targets) { Stop-HubBranch $target.ProcessId; " + + "if (Get-Process -Id $target.ProcessId -ErrorAction SilentlyContinue) { throw 'Не удалось остановить прежний процесс Hermes Hub' } }"; + ProcessStartInfo info = new ProcessStartInfo("powershell.exe", "-NoProfile -NonInteractive -EncodedCommand " + Convert.ToBase64String(Encoding.Unicode.GetBytes(script))); + info.UseShellExecute = false; + info.CreateNoWindow = true; + info.WindowStyle = ProcessWindowStyle.Hidden; + using (Process process = Process.Start(info)) { - try - { - browserProc.WaitForExit(); - } - catch { } - - // Подстраховка: если процесс браузера завершился почти сразу, - // это почти наверняка передача окна другому экземпляру, а не - // закрытие пользователем. Убивать сервер в этом случае нельзя. - if (DateTime.UtcNow - browserStartedAt < TimeSpan.FromSeconds(5)) - { - return; - } - - try - { - if (!serverProcess.HasExited) - { - serverProcess.Kill(); - } - } - catch { } + if (!process.WaitForExit(20000)) { process.Kill(); throw new IOException("Остановка прежнего сервера превысила 20 секунд"); } + if (process.ExitCode != 0) throw new IOException("Не удалось остановить прежний сервер. Обновление отменено."); } } + private sealed class HubContext : ApplicationContext + { + private readonly NotifyIcon tray; + private readonly System.Windows.Forms.Timer timer; + private readonly string home, url, browserPath; + private Process browser; + private bool watching, hadWindow, closing; + + public HubContext(string homePath, string targetUrl, string browserExe, Process browserProcess) + { + home = homePath; url = targetUrl; browserPath = browserExe; browser = browserProcess; + watching = browser != null; + tray = new NotifyIcon(); + tray.Icon = System.Drawing.SystemIcons.Application; + tray.Text = "Hermes Hub — работает в фоне"; + ContextMenuStrip menu = new ContextMenuStrip(); + menu.Items.Add("Открыть", null, delegate { Open(); }); + menu.Items.Add("Выход", null, delegate { ExitCompletely(); }); + tray.ContextMenuStrip = menu; + tray.DoubleClick += delegate { Open(); }; + tray.Visible = true; + timer = new System.Windows.Forms.Timer(); timer.Interval = 500; + timer.Tick += delegate { WatchWindow(); }; timer.Start(); + } + + private void WatchWindow() + { + if (!watching || closing || browser == null) return; + bool closed; + try { + browser.Refresh(); + if (!browser.HasExited && browser.MainWindowHandle != IntPtr.Zero) hadWindow = true; + closed = browser.HasExited || (hadWindow && browser.MainWindowHandle == IntPtr.Zero); + } catch { closed = true; } + if (!closed) return; + watching = false; + DialogResult answer = MessageBox.Show("Закрыть Hermes Hub полностью?\n\nДа — остановить сервер и фоновые опросы.\nНет — оставить в фоне (значок в области уведомлений).", "Hermes Hub", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + if (answer == DialogResult.Yes) ExitCompletely(); + } + + private void Open() + { + if (closing) return; + try { + if (browser != null && !browser.HasExited && browser.MainWindowHandle != IntPtr.Zero) { + ShowWindow(browser.MainWindowHandle, 9); SetForegroundWindow(browser.MainWindowHandle); return; + } + if (string.IsNullOrEmpty(browserPath)) { Process.Start(url); return; } + ProcessStartInfo info = new ProcessStartInfo(browserPath, + "--app=\"" + url + "\" --window-size=1400,900 --user-data-dir=\"" + Path.Combine(home, "web_browser_profile") + "\" --no-first-run --no-default-browser-check"); + info.UseShellExecute = false; + browser = Process.Start(info); watching = true; hadWindow = false; + } catch (Exception ex) { MessageBox.Show(ex.Message, "Hermes Hub"); } + } + + private void ExitCompletely() + { + if (closing) return; + closing = true; timer.Stop(); + try { + if (browser != null && !browser.HasExited) { + ProcessStartInfo kill = new ProcessStartInfo("taskkill.exe", "/PID " + browser.Id + " /T /F"); + kill.UseShellExecute = false; kill.CreateNoWindow = true; + using (Process process = Process.Start(kill)) { process.WaitForExit(5000); } + } + StopOwnedRuntime(home, false); + tray.Visible = false; tray.Dispose(); timer.Dispose(); ExitThread(); + } catch (Exception ex) { + closing = false; timer.Start(); + MessageBox.Show("Не удалось завершить всё: " + ex.Message, "Hermes Hub", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern bool SetForegroundWindow(IntPtr handle); + [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern bool ShowWindow(IntPtr handle, int command); + } + public static bool IsServerHealthy(string url) { try diff --git a/scripts/install.ps1 b/scripts/install.ps1 index 0e1de1e..4faf8bc 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -50,6 +50,38 @@ if ([string]::IsNullOrWhiteSpace($TargetDir)) { Write-Host "[2/6] Preparing installation target: $TargetDir" -ForegroundColor Yellow New-Item -ItemType Directory -Path $TargetDir -Force | Out-Null +# Stop only processes owned by this installation before replacing files. +# Preserve our own ancestor branch: an updater may have launched this installer. +$hubProcesses = @(Get-CimInstance Win32_Process) +$hubProtected = @($PID) +$hubCursor = $PID +while ($hubCursor) { + $hubNode = $hubProcesses | Where-Object ProcessId -eq $hubCursor | Select-Object -First 1 + if (-not $hubNode) { break } + $hubCursor = $hubNode.ParentProcessId + if ($hubCursor -in $hubProtected) { break } + $hubProtected += $hubCursor +} +function Stop-HubBranch([int]$ProcessId) { + foreach ($child in @($hubProcesses | Where-Object ParentProcessId -eq $ProcessId)) { + if ($child.ProcessId -notin $hubProtected) { Stop-HubBranch $child.ProcessId } + } + if (Get-Process -Id $ProcessId -ErrorAction SilentlyContinue) { + Stop-Process -Id $ProcessId -Force -ErrorAction Stop + } +} +$hubPythonPaths = @($HermesPython, (Join-Path $HermesHome 'hermes-agent\venv\Scripts\pythonw.exe')) +$hubLauncherPaths = @((Join-Path $HermesHome 'HermesHubWeb.exe'), (Join-Path $TargetDir 'HermesHubWeb.exe')) +$hubBrowserPattern = '--user-data-dir="?' + [regex]::Escape((Join-Path $HermesHome 'web_browser_profile')) + '"?(?:\s|$)' +foreach ($hubProcess in $hubProcesses) { + if (($hubProcess.ExecutablePath -in $hubPythonPaths -and $hubProcess.CommandLine -match 'hermes_hub_web_entry\.py|antigravity_provider\.router\.web') -or + ($hubProcess.ExecutablePath -in $hubLauncherPaths) -or + ($hubProcess.Name -in @('msedge.exe','chrome.exe','chromium.exe') -and $hubProcess.CommandLine -match $hubBrowserPattern)) { + Stop-HubBranch $hubProcess.ProcessId + if (Get-Process -Id $hubProcess.ProcessId -ErrorAction SilentlyContinue) { throw 'Old Hermes Hub process survived. Installation cancelled.' } + } +} + # 4. Copy Application Files to TargetDir $RepoRoot = Split-Path -Parent $PSScriptRoot Write-Host "[3/6] Deploying application binaries..." -ForegroundColor Yellow diff --git a/src/antigravity_provider/agy_subprocess.py b/src/antigravity_provider/agy_subprocess.py index da1d12e..afda537 100644 --- a/src/antigravity_provider/agy_subprocess.py +++ b/src/antigravity_provider/agy_subprocess.py @@ -113,7 +113,7 @@ def discover_models(profile_id: str | None = None) -> dict[str, str]: Also populates :data:`_AGY_EFFORT_MAP` with supported efforts per model. """ global _AGY_MODEL_CACHE, _AGY_EFFORT_MAP - if _AGY_MODEL_CACHE is not None: + if profile_id is None and _AGY_MODEL_CACHE: return dict(_AGY_MODEL_CACHE) exe = get_agy_exe() @@ -166,23 +166,13 @@ def discover_models(profile_id: str | None = None) -> dict[str, str]: ) raw = result.stdout.strip() if not raw or result.returncode != 0: - logger.warning("discover_models: agy models failed or returned empty output (rc=%s)", result.returncode) - if _AGY_MODEL_CACHE is None: - _AGY_MODEL_CACHE = {} - _AGY_EFFORT_MAP = {} - return dict(_AGY_MODEL_CACHE) - except subprocess.TimeoutExpired: - logger.warning("discover_models: agy models timed out") - if _AGY_MODEL_CACHE is None: - _AGY_MODEL_CACHE = {} - _AGY_EFFORT_MAP = {} - return dict(_AGY_MODEL_CACHE) - except Exception as exc: - logger.warning("discover_models failed: %s", exc) - if _AGY_MODEL_CACHE is None: - _AGY_MODEL_CACHE = {} - _AGY_EFFORT_MAP = {} - return dict(_AGY_MODEL_CACHE) + if profile_id: + raise RuntimeError(f"agy models: код {result.returncode}; каталог не получен") + return dict(_AGY_MODEL_CACHE or {}) + except Exception: + if profile_id: + raise + return dict(_AGY_MODEL_CACHE or {}) models: dict[str, str] = {} effort_map: dict[str, set[str]] = {} @@ -223,52 +213,6 @@ def discover_models(profile_id: str | None = None) -> dict[str, str]: return dict(models) -def launch_native_agy_login(profile_id: str) -> subprocess.Popen: - """Launch agy CLI in a visible interactive terminal window with isolated profile environment. - - A22 Requirement: Native login executed by agy itself within the target profile's isolated directory. - Zero interception, zero credential logging. - """ - from antigravity_provider.router.adapters.antigravity_adapter import get_profile_env_dir - - profile_dir = get_profile_env_dir(profile_id) - profile_dir.mkdir(parents=True, exist_ok=True) - gemini_dir = profile_dir / ".gemini" - gemini_dir.mkdir(parents=True, exist_ok=True) - - exe = get_agy_exe() - env = build_safe_subprocess_env( - overrides={ - "USERPROFILE": str(profile_dir), - "HOME": str(profile_dir), - "HOMEPATH": str(profile_dir), - "HOMEDRIVE": str(profile_dir)[:2] if str(profile_dir)[1:2] == ":" else "", - } - ) - - if os.name == "nt": - # Launch visible console window on Windows - return subprocess.Popen( - [exe], - env=env, - creationflags=subprocess.CREATE_NEW_CONSOLE, - ) - else: - # Cross-platform fallback (Linux/macOS) - import shutil - - terminals = [ - ["x-terminal-emulator", "-e", exe], - ["gnome-terminal", "--", exe], - ["xterm", "-e", exe], - ["konsole", "-e", exe], - ] - for term_cmd in terminals: - if shutil.which(term_cmd[0]): - return subprocess.Popen(term_cmd, env=env) - return subprocess.Popen([exe], env=env) - - def check_profile_native_auth_status(profile_id: str) -> tuple[bool, str | None, dict[str, Any] | None]: """Check if agy native authentication has completed in profile's directory. diff --git a/src/antigravity_provider/router/account_probe_service.py b/src/antigravity_provider/router/account_probe_service.py index 54e292b..25e84b6 100644 --- a/src/antigravity_provider/router/account_probe_service.py +++ b/src/antigravity_provider/router/account_probe_service.py @@ -14,6 +14,11 @@ class AccountProbeService: def __init__(self) -> None: self.enabled = False self._next_check = 0.0 + self.last_tick = None + self.error = None + self._profile_locks = {} + self._closed = False + self._cloud_next = 0.0 self._states: dict[str, dict[str, Any]] = {} self._lock = threading.Lock() self._pool = ThreadPoolExecutor(max_workers=4, thread_name_prefix="account-probe") @@ -29,66 +34,134 @@ class AccountProbeService: with self._lock: return dict(self._states.get(profile_id, {"state": "never_checked"})) - def schedule(self, provider: str, profile_id: str, *, force: bool = False) -> bool: - if not self.enabled: - return False + def _profile_lock(self, profile_id: str): + with self._lock: + return self._profile_locks.setdefault(profile_id, threading.Lock()) + + def _mark_checking(self, provider, profile_id): with self._lock: - current = self._states.get(profile_id, {}) - if current.get("state") == "checking": - return False - if not force and current.get("checked_at") and time.time() - current["checked_at"] < 30: - return False self._states[profile_id] = { - **current, "state": "checking", "provider": provider, - "started_at": time.time(), "message": "Идёт опрос провайдера — это может занять до минуты", + **self._states.get(profile_id, {}), "state": "checking", + "provider": provider, "started_at": time.time(), + "message": "Идёт запрос к провайдеру", } - self._pool.submit(self._run, provider, profile_id) + + def schedule(self, provider: str, profile_id: str, *, force: bool = False) -> bool: + if not self.enabled or self._closed: + return False + lock = self._profile_lock(profile_id) + if not lock.acquire(blocking=False): + return False + current = self.state(profile_id) + if not force and time.time() - current.get("checked_at", 0) < 30: + lock.release() + return False + self._mark_checking(provider, profile_id) + try: + future = self._pool.submit(self._run, provider, profile_id) + def cancelled(done): + if done.cancelled(): + with self._lock: + self._states[profile_id] = {"state": "failed", "message": "Проверка отменена при завершении сервера"} + lock.release() + future.add_done_callback(cancelled) + except Exception: + with self._lock: + self._states[profile_id] = current + lock.release() + raise return True + def check_now(self, provider: str, profile_id: str, models_only: bool = False) -> dict: + # Periodic scheduling can be disabled without disabling a manual request. + if self._closed: + return {"ok": False, "message": "Сервер завершает работу"} + lock = self._profile_lock(profile_id) + if not lock.acquire(timeout=90): + return {"ok": False, "message": "Проверка этого аккаунта ещё выполняется; повторите позже"} + try: + if self._closed: + return {"ok": False, "message": "Сервер завершает работу"} + self._mark_checking(provider, profile_id) + return self._probe(provider, profile_id, models_only) + finally: + lock.release() + + def record_validation(self, provider: str, profile_id: str, result: dict) -> None: + with self._lock: + self._states[profile_id] = { + "state": "working", "provider": provider, "checked_at": time.time(), + "message": result["message"], "models": result["data"]["models"], + "check_kind": "credentials_and_catalog", + } + + def status(self) -> dict: + return {"enabled": self.enabled, "last_tick": self.last_tick, "error": self.error} + def tick(self, now: Optional[float] = None) -> int: from .settings_service import get_hub_settings now = time.monotonic() if now is None else now if not self.enabled or now < self._next_check: return 0 - self._next_check = now + get_hub_settings()["account_check_interval_seconds"] - return self.schedule_all(force=True) + try: + count = self.schedule_all(force=True) + self._next_check = now + get_hub_settings()["account_check_interval_seconds"] + self.last_tick, self.error = time.time(), None + return count + except Exception as exc: + self.error = str(exc).strip() or type(exc).__name__ + return 0 + + def shutdown(self) -> None: + self.enabled, self._closed = False, True + self._pool.shutdown(wait=False, cancel_futures=True) def schedule_all(self, *, force: bool = False) -> int: from .profile_manager import ProfileAuthManager from .router_config import load_router_config count = 0 + has_ollama = False for pid, pcfg in load_router_config().profiles.items(): if pcfg.enabled and ProfileAuthManager.get_profile_status(pcfg.provider, pid).get("authenticated"): count += int(self.schedule(pcfg.provider, pid, force=force)) + has_ollama |= pcfg.provider == "ollama" + if self.enabled and has_ollama and time.monotonic() >= self._cloud_next: + from .model_discovery_service import ModelDiscoveryService + self._cloud_next = time.monotonic() + 3600 + self._pool.submit(ModelDiscoveryService.get().discover_ollama_cloud) return count def _run(self, provider: str, profile_id: str) -> None: + try: + self._probe(provider, profile_id) + finally: + self._profile_lock(profile_id).release() + + def _probe(self, provider: str, profile_id: str, models_only: bool = False) -> dict: from .action_handler import do_test_profile from .model_discovery_service import ModelDiscoveryService + models, meta = None, {} try: - from .state_store import HubStateStore - HubStateStore.get().refresh(force_scan=True) - models = ModelDiscoveryService.get().discover_models_sync(provider, timeout=20, profile_id=profile_id) - HubStateStore.get().refresh(force_scan=True) - if provider == "ollama": - cloud = ModelDiscoveryService.get().get_models_with_metadata("ollama-cloud-catalog") - if cloud.get("is_stale"): - ModelDiscoveryService.get().discover_ollama_cloud() - result = do_test_profile(provider, profile_id, timeout=60, discovered_models=models) - meta = ModelDiscoveryService.get().get_models_with_metadata(provider, profile_id) - success = bool(result.get("success")) - message = result.get("response") or result.get("error") or "Проверка завершена без пояснения" + discovery = ModelDiscoveryService.get() + models = discovery.discover_models_sync(provider, timeout=65 if provider == "antigravity" else 20, profile_id=profile_id) + meta = discovery.get_models_with_metadata(provider, profile_id) + if models is None and meta.get("error"): + success, message = False, meta["error"] + elif models_only: + success = models is not None and not meta.get("error") + message = meta.get("error") or (f"Получено моделей: {len(models)}" if success else "Провайдер не вернул каталог моделей") + else: + result = do_test_profile(provider, profile_id, timeout=60, discovered_models=models) + success = bool(result.get("success")) + message = result.get("response") or result.get("error") or "Провайдер не сообщил причину результата проверки" state = "working" if success else "failed" except Exception as exc: - models, meta, state, message = None, {}, "failed", str(exc) + success, state, message = False, "failed", str(exc).strip() or type(exc).__name__ + record = { + "state": state, "provider": provider, "checked_at": time.time(), + "message": message, "models": models, "model_error": meta.get("error"), + "models_discovered_at": meta.get("discovered_at"), "models_only": models_only, + } with self._lock: - self._states[profile_id] = { - "state": state, "provider": provider, "checked_at": time.time(), - "message": message, "models": models, "model_error": meta.get("error"), - "models_discovered_at": meta.get("discovered_at"), - } - try: - from .state_store import HubStateStore - HubStateStore.get().refresh(force_scan=True) - except Exception: - pass + self._states[profile_id] = record + return {"ok": success, "message": message, "data": record} diff --git a/src/antigravity_provider/router/action_handler.py b/src/antigravity_provider/router/action_handler.py index 712edbc..5558e0d 100644 --- a/src/antigravity_provider/router/action_handler.py +++ b/src/antigravity_provider/router/action_handler.py @@ -18,6 +18,8 @@ from antigravity_provider import paths from antigravity_provider.router.adapters import get_adapter logger = logging.getLogger('hermes.router.actions') +_test_locks_guard = threading.Lock() +_test_locks: dict[str, Any] = {} def do_set_main(provider: str, profile_id: str) -> Tuple[bool, str]: ok, msg = ProfileAuthManager.set_main_profile(provider, profile_id) @@ -55,7 +57,10 @@ def do_test_profile(provider: str, profile_id: str, timeout: float = 10.0, disco if status.get('is_expired') or status.get('expired') or status.get('status') == 'EXPIRED': return {'success': False, 'error': 'Авторизация истекла, требуется повторный вход.'} - model = pcfg.preferred_models[0] if pcfg.preferred_models else (discovered_models or ['default'])[0] + candidates = discovered_models if discovered_models is not None else pcfg.preferred_models + if not candidates: + return {'success': False, 'error': 'Сервер отвечает, но доступных моделей для тестового запроса нет' if discovered_models == [] else 'Каталог моделей не получен; сначала запросите список моделей'} + model = next((model for model in pcfg.preferred_models if model in candidates), candidates[0]) t0 = time.time() try: auth_data = ProfileAuthManager.load_profile_auth(pcfg.provider, profile_id) @@ -73,14 +78,25 @@ def do_test_profile(provider: str, profile_id: str, timeout: float = 10.0, disco result_container = [] error_container = [] + with _test_locks_guard: + invoke_lock = _test_locks.setdefault(profile_id, threading.Lock()) + if not invoke_lock.acquire(blocking=False): + return {'success': False, 'error': 'Предыдущий запрос этого аккаунта ещё не завершился'} + def _call_invoke(): try: result_container.append(adapter.invoke(pcfg, req)) except Exception as e: error_container.append(e) + finally: + invoke_lock.release() t = threading.Thread(target=_call_invoke, daemon=True) - t.start() + try: + t.start() + except Exception: + invoke_lock.release() + raise t.join(timeout=timeout) el = round(time.time() - t0, 2) @@ -110,7 +126,7 @@ def do_test_profile(provider: str, profile_id: str, timeout: float = 10.0, disco } except Exception as e: EventLogService.get().log('system', f'Сбой проверки {profile_id} ({model}): {e}', level='error') - return {'success': False, 'model': model, 'duration_sec': round(time.time() - t0, 2), 'error': str(e)} + return {'success': False, 'model': model, 'duration_sec': round(time.time() - t0, 2), 'error': str(e).strip() or type(e).__name__} def do_delete_credentials(provider: str, profile_id: str, actor: str = "system") -> Tuple[bool, str]: # Сигнатура get_profile_dir — (profile_id, provider), а здесь её звали @@ -125,6 +141,8 @@ def do_delete_credentials(provider: str, profile_id: str, actor: str = "system") if auth_p.is_file(): try: auth_p.unlink() + from .state_store import HubStateStore + HubStateStore.get().apply_delta_account_removed(provider, profile_id) EventLogService.get().log( 'account', f'Учетные данные для {profile_id} удалены.', @@ -281,11 +299,8 @@ def do_set_model(profile_id: str, model: str, role_id: Optional[str] = None) -> updated.roles[role_id].default_model = model if save_router_config(updated): - try: - from antigravity_provider.router.state_store import HubStateStore - HubStateStore.get().refresh(force_scan=True) - except Exception: - pass + from .state_store import HubStateStore + HubStateStore.get().apply_delta_profile_preferences(profile_id, target.preferred_models) EventLogService.get().log( "model", f"Для профиля {profile_id} ({provider}) установлена модель '{model}'.", level="info" ) @@ -341,15 +356,19 @@ def do_save_request_options(profile_id: str, request_options: Any) -> Tuple[bool # Функция объявлена на уровне модуля намеренно: как вложенная она была видна # не всем точкам завершения входа, и device-flow получал NameError внутри # обработки успеха. -def _rescan_after_auth() -> None: - try: - from antigravity_provider.router.state_store import HubStateStore - - HubStateStore.get().refresh(force_scan=True) - from .account_probe_service import AccountProbeService - AccountProbeService.get().schedule_all() - except Exception as exc: # пересбор не должен ронять сам вход - logger.warning("Не удалось пересобрать снапшот после входа: %s", exc) +def _rescan_after_auth(provider=None, profile_id=None) -> None: + def refresh(): + try: + from .state_store import HubStateStore + from .account_probe_service import AccountProbeService + if provider and profile_id: + HubStateStore.get().apply_delta_account_added(provider, profile_id) + else: + HubStateStore.get().refresh(force_scan=True) + AccountProbeService.get().schedule_all() + except Exception as exc: + logger.warning("Не удалось обновить состояние после входа: %s", exc) + threading.Thread(target=refresh, name="auth-state-refresh", daemon=True).start() def generate_quotas_export(format: str = "json") -> Any: @@ -686,6 +705,10 @@ class ActionExecutor: return {'ok': False, 'message': reason, 'data': {'status': status}} return {'ok': True, 'message': 'Ожидание подтверждения', 'data': {'status': status}} + if action == 'validate_connection': + from .connection_preflight import validate_connection + return validate_connection(prov, data.get('token') or data.get('api_key') or '', data.get('base_url') or '', data.get('preferred_model') or '') + # Подключение аккаунта: сохранение профиля и учетных данных (P0-1) if action == 'add_account': prov_norm = (prov or data.get('provider') or '').strip().lower() @@ -712,6 +735,17 @@ class ActionExecutor: token = (data.get('token') or data.get('api_key') or '').strip() slot = data.get('profile_id') + if slot: + valid, reason = AutoAssigner.validate_slot(prov_norm, slot) + if not valid: + return {'ok': False, 'message': reason} + validation = None + if token or prov_norm in ('local', 'vllm', 'ollama'): + from .connection_preflight import validate_connection + validation = validate_connection(prov_norm, token, base_url, data.get('preferred_model') or '') + if not validation['ok']: + return validation + base_url = validation['data']['base_url'] slot = slot or AutoAssigner.find_free_slot(prov_norm) or f'{prov_norm}-1' status = ProfileAuthManager.get_profile_status(prov_norm, slot) @@ -789,11 +823,21 @@ class ActionExecutor: # авторизованного аккаунта не существует: перевод аккаунта в # другую роль падал с ошибкой, хотя ключ вводить не требуется. AutoAssigner.assign_profile_to_role(slot, target_role, is_primary=False) - _rescan_after_auth() + if validation: + from .model_discovery_service import ModelDiscoveryService + ModelDiscoveryService.get().remember_models(prov_norm, slot, validation['data']['models']) + if data.get('preferred_model'): + ok, message = do_set_model(slot, data['preferred_model']) + if not ok: + return {'ok': False, 'message': message} + _rescan_after_auth(prov_norm, slot) from antigravity_provider.router.account_probe_service import AccountProbeService - AccountProbeService.get().schedule(prov_norm, slot, force=True) - check_note = 'проверка запускается в фоне' if AccountProbeService.get().enabled else 'проверка Н/Д: фоновая служба не запущена' - return {'ok': True, 'message': f'Аккаунт {prov_norm} ({slot}) сохранён; {check_note}', 'data': {'profile_id': slot}} + if validation: + AccountProbeService.get().record_validation(prov_norm, slot, validation) + return {'ok': True, 'message': validation['message'], 'data': {'profile_id': slot, 'models': validation['data']['models']}} + result = AccountProbeService.get().check_now(prov_norm, slot) + result.setdefault('data', {})['profile_id'] = slot + return result except Exception as e: return {'ok': False, 'message': f'Ошибка при сохранении учетных данных {slot}: {e}'} @@ -942,6 +986,29 @@ class ActionExecutor: res = do_test_profile(prov, pid) return {'ok': res.get('success', False), 'message': res.get('response') or res.get('error'), 'data': res} + elif action == 'clear_accounts': + from .profile_manager import get_profile_auth_path + protected_root = (paths.get_hermes_home() / 'agy_profiles').resolve() + targets, protected = [], [] + for profile_id, profile in load_router_config().profiles.items(): + auth_path = get_profile_auth_path(profile.provider, profile_id) + if profile.provider in ('antigravity', 'google-antigravity', 'agy') or auth_path.is_symlink() or auth_path.resolve().is_relative_to(protected_root): + protected.append(profile_id) + elif auth_path.is_file(): + targets.append({'provider': profile.provider, 'profile_id': profile_id}) + preview = {'targets': targets, 'protected': protected} + if not data.get('confirmed'): + return {'ok': True, 'message': f'Будут удалены ключи {len(targets)} аккаунтов. Antigravity исключён из очистки.', 'data': preview} + # Require the exact displayed list. A newly added account is never silently deleted. + if data.get('targets') != targets: + return {'ok': False, 'message': 'Список аккаунтов изменился. Повторите предварительный просмотр.', 'data': preview} + errors = [] + for target in targets: + ok, message = do_delete_credentials(target['provider'], target['profile_id'], actor=actor) + if not ok: + errors.append(message) + return {'ok': not errors, 'message': '; '.join(errors) if errors else f'Удалены ключи {len(targets)} аккаунтов. Antigravity сохранён.', 'data': preview} + elif action == 'delete_credentials': dry_run = bool(data.get('dry_run', False)) confirmed = bool(data.get('confirmed', True)) @@ -1042,13 +1109,10 @@ class ActionExecutor: elif action == 'check_account': from antigravity_provider.router.account_probe_service import AccountProbeService - if not AccountProbeService.get().enabled: - return {"ok": False, "message": "Фоновая служба проверки не запущена. Перезапустите веб-сервер."} valid, reason = AutoAssigner.validate_slot(prov, pid) if not valid: - return {'ok': False, 'message': reason} - started = AccountProbeService.get().schedule(prov, pid, force=True) - return {'ok': True, 'message': 'Проверка запущена' if started else 'Проверка уже выполняется'} + return {'ok': False, 'message': reason or 'Неверный профиль'} + return AccountProbeService.get().check_now(prov, pid) elif action == 'check_all_accounts': from antigravity_provider.router.account_probe_service import AccountProbeService @@ -1074,6 +1138,12 @@ class ActionExecutor: return {'ok': True, 'message': 'Успешно'} elif action == 'refresh_models': + if pid: + from .account_probe_service import AccountProbeService + valid, reason = AutoAssigner.validate_slot(prov, pid) + if not valid: + return {'ok': False, 'message': reason or 'Неверный профиль'} + return AccountProbeService.get().check_now(prov, pid, models_only=True) from antigravity_provider.router.model_discovery_service import ModelDiscoveryService service = ModelDiscoveryService.get() if prov: diff --git a/src/antigravity_provider/router/connection_preflight.py b/src/antigravity_provider/router/connection_preflight.py new file mode 100644 index 0000000..b19833f --- /dev/null +++ b/src/antigravity_provider/router/connection_preflight.py @@ -0,0 +1,93 @@ +"""Validate supplied credentials before creating any profile or writing auth files.""" +import json +import urllib.error +import urllib.request +from urllib.parse import urlsplit + +DEFAULT_URLS = { + "openrouter": "https://openrouter.ai/api/v1", + "nvidia": "https://integrate.api.nvidia.com/v1", + "local": "http://127.0.0.1:8081/v1", "vllm": "http://127.0.0.1:8081/v1", + "ollama": "http://127.0.0.1:11434", "claude": "https://api.anthropic.com/v1", + "opencode-go": "https://opencode.ai/zen/go/v1", "grok": "https://api.x.ai/v1", + "openai-codex": "https://api.openai.com/v1", +} + + +class _NoRedirect(urllib.request.HTTPRedirectHandler): + def redirect_request(self, req, fp, code, msg, headers, newurl): + raise ValueError("Перенаправление API запрещено: укажите конечный URL сервера") + + +def validate_connection(provider, token="", base_url="", preferred_model=""): + provider = {"nvidia-nim": "nvidia", "local-llm": "local", "llama.cpp": "local"}.get(provider, provider) + try: + base_url = (base_url or DEFAULT_URLS.get(provider, "")).rstrip("/") + parsed = urlsplit(base_url) + if parsed.scheme not in ("http", "https") or not parsed.hostname or parsed.username is not None or parsed.password is not None or parsed.query or parsed.fragment: + raise ValueError("Укажите HTTP(S) URL сервера без пароля, параметров и фрагмента") + if provider not in DEFAULT_URLS: + raise ValueError("Для этого провайдера используйте вход через авторизацию") + if provider not in ("local", "vllm", "ollama") and not token: + raise ValueError("Не указан API-ключ") + headers = {"Content-Type": "application/json"} + if provider == "claude": + headers.update({"x-api-key": token, "anthropic-version": "2023-06-01"}) + elif token: + headers["Authorization"] = "Bearer " + token + opener = urllib.request.build_opener(_NoRedirect()) + + def request(path, body=None): + req = urllib.request.Request(base_url + path, headers=headers, + data=json.dumps(body).encode() if body is not None else None) + with opener.open(req, timeout=20) as response: + payload = json.load(response) + if not isinstance(payload, dict) or payload.get("error"): + raise ValueError("Провайдер вернул ошибку или неверный JSON") + return payload + + if provider == "openrouter": + # The catalog is public: its HTTP 200 is not proof of a valid key. + request("/key") + if provider == "ollama": + base_url = base_url.removesuffix("/v1") + payload, field, key = request("/api/tags"), "models", "name" + else: + payload, field, key = request("/models"), "data", "id" + entries = payload.get(field) + if not isinstance(entries, list): + raise ValueError("Провайдер не вернул список моделей") + models = sorted({m[key] for m in entries if isinstance(m, dict) and isinstance(m.get(key), str) and m[key]}) + if provider == "nvidia": + if not models: + raise ValueError("Каталог NVIDIA пуст: проверить ключ тестовым запросом невозможно") + if preferred_model and preferred_model not in models: + raise ValueError("Выбранной модели нет в каталоге NVIDIA") + # NVIDIA also exposes a public catalog. Validate with a real request. + chat_models = [model for model in models if any(word in model.lower() for word in ('instruct', 'chat')) and not any(word in model.lower() for word in ('embed', 'guard', 'reward'))] + if not preferred_model and not chat_models: + raise ValueError("Ключ пока не проверен: в каталоге NVIDIA не найдена чат-модель для теста") + result = request("/chat/completions", {"model": preferred_model or chat_models[0], + "messages": [{"role": "user", "content": "ping"}], "max_tokens": 1}) + if not isinstance(result.get("choices"), list) or not result["choices"]: + raise ValueError("NVIDIA не вернула результат тестового запроса") + message = f"Подключено и проверено. Получено моделей: {len(models)}" if models else "Сервер отвечает; моделей пока нет" + return {"ok": True, "message": message, "data": {"models": models, "base_url": base_url}} + except Exception as exc: + if isinstance(exc, urllib.error.HTTPError): + reason = exc.reason or 'провайдер отклонил запрос' + try: + body = json.loads(exc.read(4096).decode('utf-8', errors='replace')) + detail = body.get('error') or body.get('detail') + if isinstance(detail, dict): + detail = detail.get('message') + if isinstance(detail, str) and detail.strip(): + reason = detail[:500] + except Exception: + pass + message = f"HTTP {exc.code}: {reason}" + else: + message = str(exc).strip() or type(exc).__name__ + if token: + message = message.replace(token, "[скрыто]") + return {"ok": False, "message": message, "data": {"models": []}} diff --git a/src/antigravity_provider/router/model_discovery_service.py b/src/antigravity_provider/router/model_discovery_service.py index b229c19..37954f4 100644 --- a/src/antigravity_provider/router/model_discovery_service.py +++ b/src/antigravity_provider/router/model_discovery_service.py @@ -76,6 +76,13 @@ class ModelDiscoveryService: # NON-BLOCKING READ API # ───────────────────────────────────────────────────────────── + def remember_models(self, provider: str, profile_id: str, models: list[str]) -> None: + with self._cache_lock: + self._cache[f"{provider.lower()}:{profile_id}"] = { + "models": list(models), "discovered_at": time.time(), "error": None, + } + self._save_cache_to_disk() + def get_models(self, provider: str) -> Optional[List[str]]: """Return cached models for provider immediately, or None if undiscovered.""" meta = self.get_models_with_metadata(provider) @@ -203,7 +210,7 @@ class ModelDiscoveryService: result_holder[0] = models error_holder[0] = err_msg except Exception as exc: - error_holder[0] = str(exc) + error_holder[0] = str(exc).strip() or type(exc).__name__ worker = threading.Thread(target=_do_probe, daemon=True) worker.start() @@ -412,7 +419,7 @@ class ModelDiscoveryService: last_err = self._extract_http_error(http_err) logger.debug("Codex model query HTTP error on %s: %s", pid, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("Codex model query failed on %s: %s", pid, exc) return None, last_err or "Отсутствуют учетные данные для OpenAI Codex" @@ -448,7 +455,7 @@ class ModelDiscoveryService: last_err = self._extract_http_error(http_err) logger.debug("OpenCode model query HTTP error on %s: %s", pid, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("OpenCode model query failed on %s: %s", pid, exc) return None, last_err or "Отсутствуют учетные данные для OpenCode Go" @@ -484,7 +491,7 @@ class ModelDiscoveryService: last_err = self._extract_http_error(http_err) logger.debug("Grok model discovery HTTP error for %s: %s", pid, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("Grok model discovery failed for %s: %s", pid, exc) return None, last_err or "Отсутствуют учетные данные для Grok" @@ -523,7 +530,7 @@ class ModelDiscoveryService: except urllib.error.HTTPError as http_err: last_err = self._extract_http_error(http_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ return None, last_err or "Отсутствуют учетные данные для Claude" elif prov in ("openrouter",): @@ -574,7 +581,7 @@ class ModelDiscoveryService: last_err = self._extract_http_error(http_err) logger.debug("OpenRouter model discovery HTTP error for %s: %s", pid, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("OpenRouter model discovery failed for %s: %s", pid, exc) return None, last_err or "Отсутствуют учетные данные для OpenRouter" @@ -613,7 +620,7 @@ class ModelDiscoveryService: last_err = self._extract_http_error(http_err) logger.debug("NVIDIA model discovery HTTP error for %s: %s", pid, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("NVIDIA model discovery failed for %s: %s", pid, exc) return None, last_err or "Отсутствуют учетные данные для NVIDIA NIM" @@ -655,7 +662,7 @@ class ModelDiscoveryService: last_err = self._extract_http_error(http_err) logger.debug("Ollama /api/tags HTTP error on %s: %s", pid, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("Ollama /api/tags query failed on %s: %s", pid, exc) # 2. Try OpenAI-compatible endpoint /v1/models @@ -675,7 +682,7 @@ class ModelDiscoveryService: last_err = self._extract_http_error(http_err) logger.debug("Ollama /v1/models HTTP error on %s: %s", pid, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("Ollama /v1/models query failed on %s: %s", pid, exc) return None, last_err or "Не удалось подключиться к серверу Ollama" @@ -708,13 +715,12 @@ class ModelDiscoveryService: for m in items if m ] - if models: - return sorted(set(models)), None + return sorted(set(models)), None except urllib.error.HTTPError as http_err: last_err = self._extract_http_error(http_err) logger.debug("Local LLM model query HTTP error on %s (%s): %s", pid, base_url, last_err) except Exception as exc: - last_err = str(exc) + last_err = str(exc).strip() or type(exc).__name__ logger.debug("Local LLM model query failed on %s (%s): %s", pid, base_url, exc) return None, last_err or "Не удалось подключиться к локальному серверу LLM" diff --git a/src/antigravity_provider/router/state_store.py b/src/antigravity_provider/router/state_store.py index 704c054..3eb4f97 100644 --- a/src/antigravity_provider/router/state_store.py +++ b/src/antigravity_provider/router/state_store.py @@ -75,6 +75,7 @@ class HubStateStore: def __init__(self) -> None: self._lock = threading.RLock() + self._removed_accounts: set[str] = set() self._generation: int = 0 self._current_snapshot: Optional[HubSnapshot] = None self._pending_refreshes: Dict[str, float] = {} @@ -138,6 +139,9 @@ class HubStateStore: # requests may complete while this build is running. uh_service = UnifiedHealthService.get() profiles_by_prov = uh_service.scan_all(force=force_scan) + with self._lock: + removed = set(self._removed_accounts) + profiles_by_prov = {provider: [p for p in profiles if p.profile_id not in removed] for provider, profiles in profiles_by_prov.items()} all_profs = { profile.profile_id: profile for profiles in profiles_by_prov.values() @@ -386,6 +390,8 @@ class HubStateStore: profile: ProfileViewModel | str, profile_id: Optional[str] = None, ) -> None: + with self._lock: + self._removed_accounts.discard(profile_id if isinstance(profile, str) else profile.profile_id) if isinstance(profile, str): provider = profile if profile_id is None: @@ -410,8 +416,16 @@ class HubStateStore: }, ) + def apply_delta_profile_preferences(self, profile_id: str, models: list[str]) -> None: + # A configuration change does not require quota/identity network requests. + with self._lock: + profile = self._current_snapshot.get_profile(profile_id) if self._current_snapshot else None + if profile: + self._apply_profile_delta(replace(profile, preferred_models=list(models))) + def apply_delta_account_removed(self, provider: str, profile_id: str) -> None: with self._lock: + self._removed_accounts.add(profile_id) current = self._current_snapshot or self._build_empty_snapshot() all_profiles = dict(current.all_profiles) all_profiles.pop(profile_id, None) diff --git a/src/antigravity_provider/router/unified_health.py b/src/antigravity_provider/router/unified_health.py index 4863bdb..19fb431 100644 --- a/src/antigravity_provider/router/unified_health.py +++ b/src/antigravity_provider/router/unified_health.py @@ -539,7 +539,7 @@ class UnifiedHealthService: model_meta = ModelDiscoveryService.get().get_models_with_metadata(prov, pid) if prov == "ollama": model_meta["cloud"] = ModelDiscoveryService.get().get_models_with_metadata("ollama-cloud-catalog") - if is_authenticated and pcfg.enabled: + if is_authenticated and pcfg.enabled and not check.get("models_only"): if check.get("state") == "checking": health_state, health_lbl = "checking", "Проверяется…" elif check.get("state") == "failed": diff --git a/src/antigravity_provider/router/web/server.py b/src/antigravity_provider/router/web/server.py index 09e8c72..88f2e93 100644 --- a/src/antigravity_provider/router/web/server.py +++ b/src/antigravity_provider/router/web/server.py @@ -101,7 +101,10 @@ def get_auth_token(x_hub_token: str = Header(None)) -> bool: @app.get("/api/health") def health_check(): + from ..account_probe_service import AccountProbeService return { + "pid": os.getpid(), + "account_probe": AccountProbeService.get().status(), "ok": True, "version": __version__, "commit": get_installed_commit(), @@ -194,6 +197,28 @@ def get_snapshot(authorized: bool = Depends(get_auth_token)): raise HTTPException(status_code=503, detail="Snapshot not ready") snap_dict = dataclasses.asdict(snapshot) + from ..account_probe_service import AccountProbeService + from ..model_discovery_service import ModelDiscoveryService + probe, discovery = AccountProbeService.get(), ModelDiscoveryService.get() + snap_dict["account_probe"] = probe.status() + for profile in snap_dict.get("all_profiles", {}).values(): + pid, provider = profile["profile_id"], profile["provider"] + check = probe.state(pid) + profile["connection_check"] = check + if profile.get("auth_state") == "AUTHENTICATED" and profile.get("enabled", True) and not check.get("models_only"): + if check.get("state") == "working": + profile["health_state"], profile["health_label_ru"] = "healthy", "Проверен: работает" + elif check.get("state") == "failed": + profile["health_state"], profile["health_label_ru"] = "unhealthy", "Проверен: не работает — " + check["message"] + elif check.get("state") == "checking": + profile["health_state"], profile["health_label_ru"] = "checking", "Проверяется…" + profile["model_discovery"] = discovery.get_models_with_metadata(provider, pid) + if provider == "ollama": + profile["model_discovery"]["cloud"] = discovery.get_models_with_metadata("ollama-cloud-catalog") + snap_dict["profiles_by_provider"] = { + provider: [snap_dict["all_profiles"].get(p["profile_id"], p) for p in profiles] + for provider, profiles in snap_dict.get("profiles_by_provider", {}).items() + } snap_dict = sanitize_snapshot(snap_dict) server_host = _web_settings().get("web_api_host", "127.0.0.1") @@ -226,13 +251,17 @@ async def handle_action(request: Request, authorized: bool = Depends(get_auth_to threading.Thread(target=func, name=name, daemon=True).start() actor = request.headers.get("X-Hub-Actor") or (f"web:{request.client.host}" if request.client else "user:web") - result = await run_in_threadpool(ActionExecutor.execute, action, data.get("data", {}), async_runner=_async_runner, actor=actor) + try: + result = await run_in_threadpool(ActionExecutor.execute, action, data.get("data", {}), async_runner=_async_runner, actor=actor) + except Exception as exc: + result = {"ok": False, "message": f"Действие {action} завершилось ошибкой {type(exc).__name__}"} + if result.get("unknown"): raise HTTPException(status_code=404, detail="Неизвестное действие") return { "ok": result.get("ok", False), - "message": result.get("message", ""), + "message": result.get("message") or ("Действие выполнено" if result.get("ok") else f"Действие {action} не выполнено: обработчик не сообщил причину"), "data": result.get("data", {}) } @@ -488,6 +517,7 @@ if _STATIC_DIR.is_dir(): # ───────────────────────────────────────────────────────────── _SNAPSHOT_REFRESH_SEC = 30 +_background_stop = threading.Event() def _background_refresh_loop() -> None: @@ -509,17 +539,18 @@ def _background_refresh_loop() -> None: except Exception as exc: logger.debug("Initial background update check skipped: %s", exc) - while True: + while not _background_stop.is_set(): try: AccountProbeService.get().tick() HubStateStore.get().refresh(force_scan=False) except Exception as exc: logger.warning("Snapshot refresh failed: %s", exc) - time.sleep(_SNAPSHOT_REFRESH_SEC) + _background_stop.wait(_SNAPSHOT_REFRESH_SEC) @app.on_event("startup") def _start_background_refresh() -> None: + _background_stop.clear() # В фоне: опрос ходит по сети к нескольким провайдерам, держать на нём # старт сервера нельзя. threading.Thread(target=_background_refresh_loop, daemon=True, name="hub-web-refresh").start() @@ -530,3 +561,12 @@ def _start_background_refresh() -> None: AccountQuotaService.get().start_background_scheduler() except Exception as exc: logger.warning("Could not start quota scheduler: %s", exc) + + +@app.on_event("shutdown") +def _stop_background_refresh() -> None: + from ..account_probe_service import AccountProbeService + from ..quota_collector import AccountQuotaService + _background_stop.set() + AccountProbeService.get().shutdown() + AccountQuotaService.get().stop_background_scheduler() diff --git a/src/antigravity_provider/router/web/static/app.js b/src/antigravity_provider/router/web/static/app.js index 08fcfd7..233ddcf 100644 --- a/src/antigravity_provider/router/web/static/app.js +++ b/src/antigravity_provider/router/web/static/app.js @@ -702,7 +702,7 @@ function renderAccountsView() { const profilesByProv = currentSnapshot.profiles_by_provider || {}; let totalProfiles = 0; let visibleProfiles = 0; - let html = '

'; + let html = '
'; for (const [providerId, profiles] of Object.entries(profilesByProv)) { if (providerFilter !== 'all' && providerFilter !== providerId) continue; @@ -846,7 +846,7 @@ function renderAccountCard(profile) { - + ${renderAccountCheck(profile)} ${quotaGridHtml} @@ -862,8 +862,9 @@ function renderAccountCheck(profile) { const modelStatus = meta.error ? `Сервер отказал: ${meta.error}` : timestamp ? `Получено ${models.length} моделей · ${timestamp}` : 'Список моделей ещё не получен'; return ``; @@ -1516,6 +1517,10 @@ function renderHealthView() { renderHostResources(resContainer, currentSnapshot.metrics?.host || {}); } + if (banner) { + const probe = currentSnapshot.account_probe || {}; + banner.insertAdjacentHTML('beforeend', `

Автопроверка: ${probe.enabled ? 'работает' : 'остановлена'}. Последний обход: ${probe.last_tick ? escapeHtml(new Date(probe.last_tick * 1000).toLocaleString()) : 'ещё не выполнялся'}. ${escapeHtml(probe.error || '')}

`); + } renderHealthPanels(currentSnapshot); const warningsContainer = document.getElementById('health-warnings-list'); if (warningsContainer) { @@ -2452,9 +2457,10 @@ async function handleNodeModelChange(roleId, profileId, newModel) { async function handleRefreshProviderModels(providerId, profileId = null) { showToast(`Запрос списка моделей для ${providerId}...`, 'info'); - const res = await executeAction(profileId ? 'check_account' : 'refresh_models', { provider: providerId, profile_id: profileId || '' }); + const res = await executeAction('refresh_models', { provider: providerId, profile_id: profileId || '' }); if (res && res.ok) { - showToast('Запрос обновления моделей отправлен', 'success'); + showToast(res.message, 'success'); + await fetchSnapshot(); if (profileId) { setTimeout(() => openAccountDetailsModal(profileId, true), 500); } else { @@ -2680,12 +2686,14 @@ function openAddAccountWizard() { window._wiz_redirect_slot_id = undefined; window._wiz_base_url = undefined; window._wiz_token = undefined; + window._wiz_models = undefined; if (elements.modalTitle) elements.modalTitle.textContent = 'Мастер подключения учетной записи'; showWizardStep1(); showModal(); } function showWizardStep1() { + window._wiz_models = undefined; stopDeviceAuthPolling(); stopRedirectAuthPolling(); for (const key of ['device_profile', 'device_session', 'redirect_session', 'redirect_provider', 'redirect_slot_id', 'base_url', 'token']) window['_wiz_' + key] = undefined; @@ -2771,6 +2779,7 @@ function showWizardStep2(providerId) { window._wiz_device_profile = undefined; window._wiz_base_url = undefined; window._wiz_token = undefined; + window._wiz_models = undefined; } window._wiz_provider = providerId; let bodyHtml = ''; @@ -2932,7 +2941,12 @@ function showWizardStep2(providerId) { elements.modalFooter.innerHTML = footerHtml; } -function proceedToWizardStep3(providerId) { +async function proceedToWizardStep3(providerId) { + if (window._wiz_validating) return; + window._wiz_validating = true; + const nextButton = elements.modalFooter?.querySelector('.btn-primary'); + if (nextButton) nextButton.disabled = true; + try { const baseInput = document.getElementById('wiz-base-url-input'); if (baseInput) { window._wiz_base_url = baseInput.value.trim(); @@ -2954,7 +2968,21 @@ function proceedToWizardStep3(providerId) { window._wiz_device_profile = redirectSlot?.value || ''; } // For local providers (local, local-llm, llama.cpp, ollama, vllm), do not read any slot elements + if (tokenInput || baseInput) { + const feedback = document.getElementById('modal-feedback-area'); + if (feedback) feedback.textContent = 'Проверка подключения и запрос моделей…'; + const result = await executeAction('validate_connection', {provider: providerId, token: window._wiz_token || '', base_url: window._wiz_base_url || ''}); + if (!result?.ok) { + if (feedback) feedback.textContent = result?.message || 'Нет ответа от сервера'; + return; + } + window._wiz_models = result.data.models; + } showWizardStep3(providerId); + } finally { + window._wiz_validating = false; + if (nextButton) nextButton.disabled = false; + } } function showWizardStep3(providerId) { @@ -2988,6 +3016,7 @@ function showWizardStep3(providerId) {
Шаг 3 из 3: Назначение роли для нового аккаунта
+ ${window._wiz_models?.length ? `` : ''}