From 35611e2a913dbe93cbb6da29b05f40ffdd2e5e48 Mon Sep 17 00:00:00 2001 From: StepanovPlaton Date: Thu, 8 Oct 2026 06:49:13 +0400 Subject: [PATCH] add pptx --- .gitignore | 3 + README.md | 67 +- content/01-introduction.md | 14 - content/02-analysis.md | 107 --- content/03-design.md | 126 --- content/04-conclusion.md | 12 - content/05-bibliography.md | 8 - content/06-appendix-a.md | 38 - content/07-appendix-b.md | 18 - content/assets/images/appendix-scheme.png | Bin 4790 -> 0 bytes content/assets/images/architecture.png | Bin 3900 -> 0 bytes content/assets/images/chart.png | Bin 4249 -> 0 bytes content/assets/images/data-flow.png | Bin 3547 -> 0 bytes content/assets/images/interface.png | Bin 4237 -> 0 bytes content/assets/title-page.docx | Bin 9383 -> 0 bytes AGENTS.md => docx/AGENTS.md | 56 +- docx/README.md | 44 + config.yaml => docx/config.yaml | 19 +- docx/content/01-introduction.md | 41 + docx/content/02-method.md | 154 ++++ docx/content/03-spheres.md | 105 +++ docx/content/04-conclusion.md | 37 + docx/content/05-bibliography.md | 7 + docx/content/06-appendix-a.md | 17 + .../content/assets/images/product-funnel.puml | 19 + docx/content/assets/images/scrum-cycle.puml | 26 + docx/content/assets/title-page.docx | Bin 0 -> 6436 bytes .../STO_SGAU_02068410-004-2018.md | 0 package-lock.json => docx/package-lock.json | 0 package.json => docx/package.json | 0 {src => docx/src}/build.js | 2 + {src => docx/src}/cli.js | 0 {src => docx/src}/config/defaults.js | 11 + {src => docx/src}/config/load.js | 12 + {src => docx/src}/config/template.js | 0 {src => docx/src}/config/validate.js | 25 + {src => docx/src}/index.js | 0 {src => docx/src}/markdown/container.js | 0 {src => docx/src}/markdown/inline.js | 0 {src => docx/src}/markdown/parse.js | 0 docx/src/plantuml/render.js | 148 ++++ docx/src/plantuml/resolve.js | 69 ++ {src => docx/src}/render/document.js | 8 +- {src => docx/src}/render/primitives.js | 0 {src => docx/src}/render/references.js | 0 {src => docx/src}/render/sample-titlepage.js | 0 {src => docx/src}/render/styles.js | 0 {src => docx/src}/render/titlepage.js | 68 +- {src => docx/src}/util/deepmerge.js | 0 {src => docx/src}/util/errors.js | 0 {src => docx/src}/util/logger.js | 0 {src => docx/src}/util/png.js | 0 pptx/AGENTS.md | 212 +++++ pptx/config.yaml | 130 +++ pptx/content/assets/content-bg.jpg | Bin 0 -> 386028 bytes pptx/content/assets/final-bg.jpeg | Bin 0 -> 373668 bytes pptx/content/assets/scrum-cycle.puml | 24 + pptx/content/assets/title-bg.jpeg | Bin 0 -> 191589 bytes pptx/content/slides/00-title.md | 13 + pptx/content/slides/01-agenda.md | 12 + pptx/content/slides/01-task.md | 19 + pptx/content/slides/02-why-scrum.md | 18 + pptx/content/slides/03-roles.md | 21 + pptx/content/slides/04-events.md | 18 + pptx/content/slides/05-launch.md | 18 + pptx/content/slides/06-spheres.md | 7 + pptx/content/slides/07a-spheres-1-2.md | 21 + pptx/content/slides/07b-spheres-3-4.md | 21 + pptx/content/slides/07c-spheres-5-6.md | 21 + pptx/content/slides/07d-spheres-7-8.md | 21 + pptx/content/slides/07e-spheres-9-10.md | 21 + pptx/content/slides/10-conclusion.md | 17 + pptx/content/slides/11-final.md | 9 + pptx/content/slides/12-scrum-cycle.md | 17 + pptx/package-lock.json | 203 +++++ pptx/package.json | 19 + pptx/src/build.js | 105 +++ pptx/src/cli.js | 96 +++ pptx/src/config.js | 195 +++++ pptx/src/index.js | 6 + pptx/src/parse.js | 230 ++++++ pptx/src/plantuml.js | 174 ++++ pptx/src/render.js | 778 ++++++++++++++++++ video-script.md | 98 +++ 84 files changed, 3430 insertions(+), 375 deletions(-) delete mode 100644 content/01-introduction.md delete mode 100644 content/02-analysis.md delete mode 100644 content/03-design.md delete mode 100644 content/04-conclusion.md delete mode 100644 content/05-bibliography.md delete mode 100644 content/06-appendix-a.md delete mode 100644 content/07-appendix-b.md delete mode 100644 content/assets/images/appendix-scheme.png delete mode 100644 content/assets/images/architecture.png delete mode 100644 content/assets/images/chart.png delete mode 100644 content/assets/images/data-flow.png delete mode 100644 content/assets/images/interface.png delete mode 100644 content/assets/title-page.docx rename AGENTS.md => docx/AGENTS.md (79%) create mode 100644 docx/README.md rename config.yaml => docx/config.yaml (89%) create mode 100644 docx/content/01-introduction.md create mode 100644 docx/content/02-method.md create mode 100644 docx/content/03-spheres.md create mode 100644 docx/content/04-conclusion.md create mode 100644 docx/content/05-bibliography.md create mode 100644 docx/content/06-appendix-a.md create mode 100644 docx/content/assets/images/product-funnel.puml create mode 100644 docx/content/assets/images/scrum-cycle.puml create mode 100644 docx/content/assets/title-page.docx rename {documentation => docx/documentation}/STO_SGAU_02068410-004-2018.md (100%) rename package-lock.json => docx/package-lock.json (100%) rename package.json => docx/package.json (100%) rename {src => docx/src}/build.js (94%) rename {src => docx/src}/cli.js (100%) rename {src => docx/src}/config/defaults.js (93%) rename {src => docx/src}/config/load.js (83%) rename {src => docx/src}/config/template.js (100%) rename {src => docx/src}/config/validate.js (77%) rename {src => docx/src}/index.js (100%) rename {src => docx/src}/markdown/container.js (100%) rename {src => docx/src}/markdown/inline.js (100%) rename {src => docx/src}/markdown/parse.js (100%) create mode 100644 docx/src/plantuml/render.js create mode 100644 docx/src/plantuml/resolve.js rename {src => docx/src}/render/document.js (98%) rename {src => docx/src}/render/primitives.js (100%) rename {src => docx/src}/render/references.js (100%) rename {src => docx/src}/render/sample-titlepage.js (100%) rename {src => docx/src}/render/styles.js (100%) rename {src => docx/src}/render/titlepage.js (60%) rename {src => docx/src}/util/deepmerge.js (100%) rename {src => docx/src}/util/errors.js (100%) rename {src => docx/src}/util/logger.js (100%) rename {src => docx/src}/util/png.js (100%) create mode 100644 pptx/AGENTS.md create mode 100644 pptx/config.yaml create mode 100644 pptx/content/assets/content-bg.jpg create mode 100644 pptx/content/assets/final-bg.jpeg create mode 100644 pptx/content/assets/scrum-cycle.puml create mode 100644 pptx/content/assets/title-bg.jpeg create mode 100644 pptx/content/slides/00-title.md create mode 100644 pptx/content/slides/01-agenda.md create mode 100644 pptx/content/slides/01-task.md create mode 100644 pptx/content/slides/02-why-scrum.md create mode 100644 pptx/content/slides/03-roles.md create mode 100644 pptx/content/slides/04-events.md create mode 100644 pptx/content/slides/05-launch.md create mode 100644 pptx/content/slides/06-spheres.md create mode 100644 pptx/content/slides/07a-spheres-1-2.md create mode 100644 pptx/content/slides/07b-spheres-3-4.md create mode 100644 pptx/content/slides/07c-spheres-5-6.md create mode 100644 pptx/content/slides/07d-spheres-7-8.md create mode 100644 pptx/content/slides/07e-spheres-9-10.md create mode 100644 pptx/content/slides/10-conclusion.md create mode 100644 pptx/content/slides/11-final.md create mode 100644 pptx/content/slides/12-scrum-cycle.md create mode 100644 pptx/package-lock.json create mode 100644 pptx/package.json create mode 100644 pptx/src/build.js create mode 100644 pptx/src/cli.js create mode 100644 pptx/src/config.js create mode 100644 pptx/src/index.js create mode 100644 pptx/src/parse.js create mode 100644 pptx/src/plantuml.js create mode 100644 pptx/src/render.js create mode 100644 video-script.md diff --git a/.gitignore b/.gitignore index 4ecbf94..582c65b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ node_modules/ report.docx +presentation.pptx DocxGenerator.exe *.log *.pdf +.plantuml-cache/ +tools/plantuml.jar diff --git a/README.md b/README.md index 066d7ba..a056c3c 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,47 @@ -# DocxGenerator +# lab_gen — генераторы отчётных документов -Автономный генератор отчётов **DOCX** из **Markdown** по дизайну -[СТО 02068410-004-2018](documentation/STO_SGAU_02068410-004-2018.md). -Поведение полностью задаётся файлом `config.yaml`; путь выходного файла — ключ -`document.output`. +Монорепозиторий из двух независимых Node.js-генераторов, которые собирают +отчётные документы из обычного Markdown по заданному шаблону/стандарту. -Полная документация: **[AGENTS.md](AGENTS.md)** — CLI, схема конфига, формат контента, -директивы и сборка `.exe`. - -## Быстрый старт - -```powershell -.\DocxGenerator.exe --init # создать config.yaml, примеры content/ и content/assets/ -# ... правим config.yaml и content/*.md ... -.\DocxGenerator.exe --check # проверить ссылки и конфиг -.\DocxGenerator.exe # собрать report.docx +``` +lab_gen/ +├── docx/ # генератор DOCX по СТО 02068410-004-2018 (отчёт) +├── pptx/ # генератор PPTX по шаблону Самарского университета (презентация) +└── tools/ # общие внешние инструменты (plantuml.jar) ``` -## Разработка +## docx/ — DocxGenerator + +Автономный генератор отчётов **DOCX** из Markdown по дизайну +СТО 02068410-004-2018. Поддерживает титульный лист, оглавление, таблицы, рисунки +(включая PlantUML), формулы, список источников и приложения. ```powershell +cd docx npm install -npm run generate # локальная сборка report.docx -npm run check # проверка конфига и ссылок -npm run build:exe # собрать DocxGenerator.exe в корне (@yao-pkg/pkg, node24-win-x64) +npm run check # проверка конфига и ссылок +npm run generate # собрать report.docx ``` -## Структура репозитория +Полная документация — [docx/AGENTS.md](docx/AGENTS.md). -| Путь | Назначение | -|------|------------| -| `src/cli.js` | точка входа, разбор аргументов | -| `src/config/` | дефолты, загрузка и валидация `config.yaml`, шаблон | -| `src/markdown/` | markdown-it, директивы `:::`, инлайн-ссылки `[@n]`, `@fig/@tbl/@eq` | -| `src/render/` | сборка DOCX: стили, примитивы, нумерация, слияние титульника | -| `src/build.js` | оркестрация сборки | -| `content/` | примеры Markdown | -| `content/assets/` | PNG для рисунков, опциональный `title-page.docx` | -| `documentation/` | стандарт СТО | +## pptx/ — lab-gen-pptx -Инструмент не рендерит диаграммы: PNG готовятся заранее и кладутся в `content/assets/images/`. +Генератор презентаций **PPTX** из Markdown по фирменному шаблону Самарского +университета (16:9, синий фон, логотип, фирменный шрифт). Задники и правила +оформления извлечены из `presentation_16.pptx` и заданы в `config.yaml`. + +```powershell +cd pptx +npm install +npm run check # проверка конфига и ссылок +npm run generate # собрать presentation.pptx +``` + +Формат слайдов, схема конфига и CLI описаны в [pptx/AGENTS.md](pptx/AGENTS.md). + +## Требования + +- Node.js 18+ (для локальной сборки). +- Java 11+ и `tools/plantuml.jar` — для рендеринга схем PlantUML (`.puml`) + в обоих генераторах. Путь задаётся ключом `plantuml.jar` в `config.yaml`. diff --git a/content/01-introduction.md b/content/01-introduction.md deleted file mode 100644 index 867fd17..0000000 --- a/content/01-introduction.md +++ /dev/null @@ -1,14 +0,0 @@ -Целью работы является разработка информационной системы учёта -заявок для отдела технической поддержки. Актуальность темы обусловлена ростом числа обращений и -необходимостью их оперативной обработки [@1]. - -Для достижения поставленной цели необходимо решить следующие задачи: - -- проанализировать предметную область и существующие решения; -- спроектировать архитектуру информационной системы; -- определить состав данных и пользовательских сценариев; -- рассчитать показатели эффективности разработанного решения. - -При выполнении работы использованы методы системного анализа, объектного моделирования и -статистической обработки данных [@2]. Требования к оформлению приняты в соответствии с -действующими стандартами [@3], [@4]. diff --git a/content/02-analysis.md b/content/02-analysis.md deleted file mode 100644 index 90b0c34..0000000 --- a/content/02-analysis.md +++ /dev/null @@ -1,107 +0,0 @@ -# АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ - -Раздел посвящён анализу процесса обработки обращений и обоснованию требований к информационной -системе. Рассматриваются участники процесса, информационные потоки и ограничения предметной -области. - -## Обзор процесса обработки обращений - -Процесс обработки заявки включает регистрацию, классификацию, назначение исполнителя и закрытие. -Схема процесса приведена на рисунке @fig:architecture. - -::: figure "Схема процесса обработки обращений" id=architecture file=images/architecture.png -а) обозначение информационного потока; -б) блоки этапов обработки. -::: - -Среднее время обработки одной заявки до внедрения системы составляло 46 минут. Распределение -обращений по категориям представлено в таблице @tbl:categories. - -::: table "Распределение обращений по категориям" id=categories -| Категория обращения | Количество, шт. | Доля, % | -|---|---|---| -| Консультация | 420 | 28,0 | -| Настройка оборудования | 315 | 21,0 | -| Восстановление доступа | 270 | 18,0 | -| Программная ошибка | 210 | 14,0 | -| Установка программного обеспечения | 135 | 9,0 | -| Сетевые подключения | 90 | 6,0 | -| Прочие обращения | 60 | 4,0 | -| Итого | 1500 | 100,0 | -::: - -Структура обращений по приоритетам приведена в таблице @tbl:priorities. - -::: table "Обращения по приоритетам" id=priorities -| Приоритет | Количество, шт. | Норматив реакции, мин | -|---|---|---| -| Критический | 75 | 15 | -| Высокий | 225 | 30 | -| Средний | 600 | 60 | -| Низкий | 600 | 120 | -| Итого | 1500 | — | -::: - -## Показатели эффективности - -Для оценки эффективности применяется коэффициент снижения трудозатрат, рассчитываемый по -формуле @eq:efficiency. - -::: formula id=efficiency -K = (T_base - T_new)/T_base -::: - -::: where -K — коэффициент снижения трудозатрат; -T_base — среднее время обработки заявки до внедрения, мин; -T_new — среднее время обработки заявки после внедрения, мин. -::: - -Значения исходных данных для расчёта приведены в таблице @tbl:baseline. - -::: table "Исходные данные для расчёта эффективности" id=baseline -| Показатель | Обозначение | Значение | -|---|---|---| -| Среднее время до внедрения, мин | T_base | 46 | -| Среднее время после внедрения, мин | T_new | 18 | -| Число обращений в месяц, шт. | N | 125 | -| Стоимость часа работы, руб. | C | 420 | -| Число рабочих часов в месяце, ч | H | 164 | -| Коэффициент накладных расходов | k | 0,35 | -| Годовой фонд рабочего времени, ч | F | 1970 | -| Нормативный срок окупаемости, лет | T_ok | 3 | -| Доля автоматизируемых операций | d | 0,72 | -| Коэффициент потерь рабочего времени | p | 0,08 | -::: - -## Обзор существующих решений - -Сравнительная характеристика существующих решений приведена в таблице @tbl:comparison. Анализ -выполнен на основе открытых источников [@5], [@6]. - -::: table "Сравнение существующих решений" id=comparison -| Критерий | Решение A | Решение B | Решение C | Разрабатываемое решение | -|---|---|---|---|---| -| Стоимость лицензии | Высокая | Средняя | Низкая | Низкая | -| Открытый исходный код | Нет | Да | Да | Да | -| Русскоязычный интерфейс | Да | Нет | Да | Да | -| Интеграция по API | Ограниченная | Полная | Частичная | Полная | -| Модуль отчётности | Да | Нет | Да | Да | -| Развёртывание локально | Только облако | Да | Да | Да | -| Поддержка ОС | Windows | Linux | Кроссплатформенная | Кроссплатформенная | -| Стоимость владения | Высокая | Низкая | Средняя | Низкая | -| Срок внедрения, мес | 6 | 4 | 3 | 2 | -| Техническая поддержка | Платная | Сообщество | Платная | Внутренняя | -::: - -::: note -Выбор решения выполнен по совокупности функциональных и экономических критериев. -::: - -## Термины и определения - -::: definitions -Заявка — обращение пользователя, зарегистрированное в информационной системе; -Исполнитель — сотрудник, назначенный ответственным за обработку заявки; -Регламент — документ, определяющий порядок и сроки обработки обращений. -::: diff --git a/content/03-design.md b/content/03-design.md deleted file mode 100644 index adb7d69..0000000 --- a/content/03-design.md +++ /dev/null @@ -1,126 +0,0 @@ -# ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ - -В разделе описаны архитектура, модель данных и пользовательские сценарии разрабатываемой -информационной системы. - -## Архитектура системы - -Система построена по трёхуровневой архитектуре. Взаимодействие компонентов показано на -рисунке @fig:data-flow. - -::: figure "Схема информационных потоков" id=data-flow file=images/data-flow.png -а) направление передачи данных; -б) компоненты системы. -::: - -Состав программных модулей приведён в таблице @tbl:modules. - -::: table "Состав программных модулей" id=modules -| Модуль | Назначение | Технология | -|---|---|---| -| Веб-интерфейс | Отображение рабочих экранов оператора | React | -| API-шлюз | Обработка HTTP-запросов клиентов | Node.js | -| Модуль заявок | Жизненный цикл обращения | Node.js | -| Модуль уведомлений | Рассылка оповещений исполнителям | Node.js | -| Модуль отчётности | Формирование отчётов за период | Node.js | -| Служба аутентификации | Проверка учётных данных | JWT | -| Хранилище данных | Хранение заявок и справочников | PostgreSQL | -| Кэш | Ускорение чтения справочников | Redis | -| Очередь сообщений | Асинхронная обработка событий | RabbitMQ | -| Сборщик журналов | Централизованное логирование | ELK | -| Планировщик | Периодические задачи и отчёты | Cron | -| Модуль интеграции | Обмен данными с внешними системами | REST | -::: - -## Модель данных - -Основные сущности предметной области и их атрибуты приведены в таблице @tbl:entities. - -::: table "Основные сущности и атрибуты" id=entities -| Сущность | Атрибут | Тип | Обяз. | Описание | -|---|---|---|---|---| -| Заявка | id | Целое | Да | Уникальный идентификатор | -| Заявка | subject | Строка | Да | Тема обращения | -| Заявка | description | Текст | Да | Описание проблемы | -| Заявка | category_id | Целое | Да | Ссылка на категорию | -| Заявка | priority_id | Целое | Да | Ссылка на приоритет | -| Заявка | assignee_id | Целое | Нет | Ссылка на исполнителя | -| Заявка | created_at | Дата/время | Да | Момент регистрации | -| Заявка | closed_at | Дата/время | Нет | Момент закрытия | -| Категория | id | Целое | Да | Уникальный идентификатор | -| Категория | name | Строка | Да | Наименование категории | -| Приоритет | id | Целое | Да | Уникальный идентификатор | -| Приоритет | name | Строка | Да | Наименование приоритета | -| Приоритет | reaction_min | Целое | Да | Норматив реакции, мин | -| Пользователь | id | Целое | Да | Уникальный идентификатор | -| Пользователь | full_name | Строка | Да | Фамилия, имя, отчество | -::: - -Связи между сущностями описаны в таблице @tbl:relations. - -::: table "Связи между сущностями" id=relations -| Связь | Тип | Описание | -|---|---|---| -| Заявка — Категория | Многие к одному | Заявка относится к одной категории | -| Заявка — Приоритет | Многие к одному | Заявка имеет один приоритет | -| Заявка — Пользователь | Многие к одному | Заявка назначена одному исполнителю | -| Заявка — Комментарий | Один ко многим | Заявка содержит комментарии | -| Пользователь — Роль | Многие ко многим | Пользователь может иметь роли | -| Категория — Подкатегория | Один ко многим | Категория содержит подкатегории | -::: - -## Пользовательские сценарии - -Интерфейс списка заявок приведён на рисунке @fig:interface. - -::: figure "Интерфейс списка заявок" id=interface file=images/interface.png -а) область навигации; -б) табличное представление данных. -::: - -Зависимость трудозатрат от выбранной стратегии обработки показана на рисунке @fig:chart. - -::: figure "Зависимость трудозатрат от стратегии обработки" id=chart file=images/chart.png -Оценка получена по результатам пилотной эксплуатации. -::: - -Экономия времени за месяц вычисляется по формуле @eq:gain. - -::: formula id=gain -G = (T_base - T_new)*N -::: - -::: where -G — экономия времени за месяц, мин; -N — число обращений в месяц. -::: - -К системе предъявляются следующие требования: - -- функциональные: - 1. регистрация и классификация заявок; - 2. назначение исполнителя и контроль сроков; - 3. формирование отчётов за период. -- нефункциональные: - 1. время отклика не более двух секунд; - 2. одновременная работа не менее ста пользователей. - -## Особенности реализации - -При проектировании учтены ограничения, перечисленные в таблице @tbl:constraints. - -::: table "Ограничения и меры" id=constraints -| Ограничение | Влияние | Мера | -|---|---|---| -| Ограниченный бюджет | Сужение выбора технологий | Применение открытых библиотек | -| Сжатые сроки | Риск неполной реализации | Итеративная разработка | -| Нагрузка до 100 пользователей | Требования к производительности | Кэширование и индексы | -| Устаревшее оборудование | Ограничение ресурсов | Облегчённый веб-интерфейс | -| Разрозненные данные | Сложность интеграции | Единая модель данных | -| Требования безопасности | Дополнительные проверки | Аутентификация и журналирование | -::: - -::: notes -Оценка выполнена для среднего месяца пилотной эксплуатации. -Отклонение фактических значений не превышает десяти процентов. -::: diff --git a/content/04-conclusion.md b/content/04-conclusion.md deleted file mode 100644 index c6705cf..0000000 --- a/content/04-conclusion.md +++ /dev/null @@ -1,12 +0,0 @@ -В ходе работы проанализирована предметная область, спроектирована архитектура информационной -системы и определены показатели эффективности [@6], [@7]. - -Основные результаты работы: - -- выполнена классификация обращений и определены их приоритеты; -- разработана модель данных и описаны пользовательские сценарии; -- рассчитан коэффициент снижения трудозатрат. - -Применение информационной системы позволяет сократить среднее время обработки заявки с 46 до -18 минут, что подтверждает достижение поставленной цели. Единицы измерений приведены в -соответствии с действующим стандартом [@8]. diff --git a/content/05-bibliography.md b/content/05-bibliography.md deleted file mode 100644 index ccf5cc5..0000000 --- a/content/05-bibliography.md +++ /dev/null @@ -1,8 +0,0 @@ -- ГОСТ 7.32-2017. Система стандартов по информации, библиотечному и издательскому делу. Отчёт о научно-исследовательской работе. Структура и правила оформления. — М. : Стандартинформ, 2017. — 32 с. -- ГОСТ Р 7.0.5-2008. Библиографическая ссылка. Общие требования и правила составления. — М. : Стандартинформ, 2008. — 23 с. -- Иванов, И. И. Управление ИТ-сервисами : учебное пособие / И. И. Иванов. — Самара : Изд-во Самарского университета, 2019. — 184 с. -- Петров, П. П. Обзор систем Service Desk / П. П. Петров // Информационные технологии. — 2020. — № 4. — С. 25–33. -- Смирнова, А. А. Практика внедрения ITSM-решений / А. А. Смирнова. — М. : ДМК Пресс, 2021. — 256 с. -- Сидоров, С. С. Оценка эффективности информационных систем / С. С. Сидоров // Вестник информатики. — 2018. — Т. 12, № 2. — С. 45–52. -- Открытые ITSM-системы [Электронный ресурс]. — URL: https://example.org/itsm (дата обращения: 01.02.2026). -- ГОСТ 8.417-2002. Государственная система обеспечения единства измерений. Единицы величин. — М. : Стандартинформ, 2002. — 32 с. diff --git a/content/06-appendix-a.md b/content/06-appendix-a.md deleted file mode 100644 index 2ca8fbc..0000000 --- a/content/06-appendix-a.md +++ /dev/null @@ -1,38 +0,0 @@ -Сводные данные по обращениям за отчётный период приведены в таблице @tbl:app-a1. - -::: table "Сводные данные по обращениям" id=app-a1 -| Номер | Дата регистрации | Категория | Приоритет | Исполнитель | Статус | Время, мин | -|---|---|---|---|---|---|---| -| 1001 | 03.02.2026 | Консультация | Низкий | Орлова А. А. | Закрыта | 12 | -| 1002 | 03.02.2026 | Восстановление доступа | Высокий | Крылов И. И. | Закрыта | 24 | -| 1003 | 04.02.2026 | Программная ошибка | Критический | Никитин П. П. | Закрыта | 41 | -| 1004 | 04.02.2026 | Настройка оборудования | Средний | Орлова А. А. | Закрыта | 33 | -| 1005 | 05.02.2026 | Установка ПО | Низкий | Гусев Д. Д. | Закрыта | 18 | -| 1006 | 05.02.2026 | Сетевые подключения | Высокий | Крылов И. И. | Закрыта | 27 | -| 1007 | 06.02.2026 | Консультация | Низкий | Гусев Д. Д. | Закрыта | 9 | -| 1008 | 06.02.2026 | Программная ошибка | Критический | Никитин П. П. | Закрыта | 38 | -| 1009 | 07.02.2026 | Восстановление доступа | Средний | Орлова А. А. | Закрыта | 21 | -| 1010 | 07.02.2026 | Прочие обращения | Низкий | Гусев Д. Д. | Закрыта | 15 | -| 1011 | 10.02.2026 | Настройка оборудования | Высокий | Крылов И. И. | Закрыта | 30 | -| 1012 | 10.02.2026 | Консультация | Низкий | Орлова А. А. | Закрыта | 11 | -| 1013 | 11.02.2026 | Программная ошибка | Средний | Никитин П. П. | Закрыта | 35 | -| 1014 | 11.02.2026 | Сетевые подключения | Критический | Крылов И. И. | Закрыта | 44 | -| 1015 | 12.02.2026 | Установка ПО | Низкий | Гусев Д. Д. | Закрыта | 19 | -| 1016 | 12.02.2026 | Восстановление доступа | Высокий | Орлова А. А. | Закрыта | 26 | -| 1017 | 13.02.2026 | Консультация | Низкий | Гусев Д. Д. | Закрыта | 10 | -| 1018 | 13.02.2026 | Прочие обращения | Средний | Никитин П. П. | Закрыта | 29 | -| 1019 | 14.02.2026 | Настройка оборудования | Высокий | Крылов И. И. | Закрыта | 32 | -| 1020 | 14.02.2026 | Консультация | Низкий | Орлова А. А. | Закрыта | 13 | -::: - -Детализация по исполнителям приведена в таблице @tbl:app-a2. - -::: table "Детализация по исполнителям" id=app-a2 -| Исполнитель | Отдел | Закрыто заявок | Среднее время, мин | Доля, % | -|---|---|---|---|---| -| Орлова А. А. | Первая линия | 164 | 15 | 32,8 | -| Крылов И. И. | Вторая линия | 138 | 27 | 27,6 | -| Никитин П. П. | Вторая линия | 112 | 38 | 22,4 | -| Гусев Д. Д. | Первая линия | 86 | 14 | 17,2 | -| Итого | — | 500 | 23 | 100,0 | -::: diff --git a/content/07-appendix-b.md b/content/07-appendix-b.md deleted file mode 100644 index 8e65707..0000000 --- a/content/07-appendix-b.md +++ /dev/null @@ -1,18 +0,0 @@ -Схема размещения компонентов системы приведена на рисунке @fig:app-b1. - -::: figure "Схема размещения компонентов" id=app-b1 file=images/appendix-scheme.png -а) узлы развёртывания; -б) связи между узлами. -::: - -Параметры конфигурации стенда приведены в таблице @tbl:app-b1. - -::: table "Параметры конфигурации стенда" id=app-b1 -| Компонент | Процессор | Память, ГБ | Диск, ГБ | Назначение | -|---|---|---|---|---| -| Сервер приложений | 4 ядра | 8 | 40 | Выполнение API и логики | -| Сервер БД | 8 ядер | 16 | 200 | Хранение данных | -| Сервер кэша | 2 ядра | 4 | 20 | Кэширование справочников | -| Сервер очередей | 2 ядра | 4 | 20 | Асинхронные сообщения | -| Узел журналирования | 2 ядра | 8 | 100 | Сбор и хранение логов | -::: diff --git a/content/assets/images/appendix-scheme.png b/content/assets/images/appendix-scheme.png deleted file mode 100644 index a05456716ad52f60ccc7423468309e6f9b95e28b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4790 zcmcgwZ%k8H6n{{~%22DVv9OS_WlDu)p))4J5ZET2;DnVy<7Cs)En%=ME-Pdp0@g6o zO1BS7nxSbS*-KqBKqYJ;Zf>BKxDTXkgv{VFqx)k6vP9Ql#5lHd?tQQC_94=;KcCLK z_uYHW`JHp_Irm)0OC>L?N=!-QIBr$Z&K+eOr)cB2c%?EPX3lONXyUka%|$z&EpNE; z`<1@l_jjra&#!c-l*gZZ=i4^jP{D;7#fmqNo+^9vtyA9(9{AAoPMUSX*z=2&BLnZy9$O zCBkmhC$by;I(8%3Ujn;ySxC@v~tf7Z6mDyhQjd5NOR z<<4V7b)*C|dJ)AVMZv>9iknd1CIr2fEsCiUE=Ma5w}u*e#A&vVW^)62!5oNLe7FzN(+suUmHB&)z&8* zg#oCU1B03A?9ombnj95h9_-fefuS?S`dXK1vZu_M(h-_&yyN#(SX?DA*pdZvd%YDo zuq@$5Zd2!WSh&ZlhCxyi%$aIjfsA3F4H#A&Gj{tkJld^U)#g23?H9$}b*9Y*PiXoT z9Q2Gij0$VQjR~t|Jfn9E=0GLf@;R)tj1ReOf>dM|mYQx@HPUz|w+Z(26<50~yjga*Y{*?b+MjOdT?f1Yv*IE!t=Q}B2bktSe{e#L*mH0ogU;$I zsE7RayCPvQzmhwuN0GZ|FVJWvwTEgLHUu^0;>x1IY*iqTnrLfQa3VDAAa(`7VRo>L zu?re$0lN^JGs>b}SY;*W1{&|+V54c$58hOSre|LcdzZRH`UMK1*H~qj(jhlL2C5uHCC z5~mKMeoB6Bs!Jua|MIRYFxem4zfRZOuvtT^EF- z<}pI-M!yfuqmYS>cDDI#^QHW4A2$^%Q9CT@L3ek{z7=R{H6LhACR(GUyRFe#?i@)> z^Yy|+rsC~JL@olRnP8z=!8w8zNCexo!v}8Ufr*B9$8ATvK4G=s6QI*o6 z23^P-J}>;FS!_xEh$#7T zApb&9m{;3Km1hfB7-FgO-fH1a6E^KX2Ur4Ey8pF!Lqd@GDZlVxFb>`v^jUA`=EH%T znz&dwd9NAL`j#wmBPJz9Xb?X8X4Aa;u_p4u3Qb+a1sg8hgiXZFR~cGMo1K`h;_|z( z-Pom&UDg*@CjYTNc7Z$OO~~n$F?R<0)MEc6(U?00OL^O@Mrzf>UP-QA6fIlVnwTAN z|Bx;#vde?6Z|a!_+7`2aTR?+09}MNZl-n0Md60?Kj&7BaZ;vRbxSp zp(|JMEqO5ryA^tzY48!1Cv<}Je55n?-40!UHTNdGN(k-z{6`9GKVx`&pf4q00`gKK zQjA;d*D5a OD=IA6aq2nqk-q`+*eJXJ diff --git a/content/assets/images/architecture.png b/content/assets/images/architecture.png deleted file mode 100644 index 46d031f274dda3e690664ba8ba28e4bbb4733d79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3900 zcmb_fZ%A8L6u&Xk&Y(7G3YoC^XKQs4#7u-4bhA~{=?7hkW=xTwN=+y z6CV3C!3`5-X=p&xwb)WhWqsY^x{Z>61jLSs3})21X;JHxId{%|FL^JqS|j~*lKbvG z=XZYR-t))&ZsqZKS&EDh5?}sK=?Oxlmk5zuc`*uBW>P;j5^_*lUV5~;_0eCCZn!?L zjVsfszIjb{B|$Y9`%4EgyAxx7oM`&_{-sw}ym#yEU(K90c?$gf#+*Nn46yjabNIn* zEFq~$c0zh|gt)WzFAdd96iL%ch#ZvdS0V^JAGsX-*L&Iccvvd8cPLE;h1|~0zMcB( zg*VswCte7y(ND!pl)-1#@q(yjJ-SS-gct6tG_6$`9TdDWUJ%hiI4?ek=lyt0qMi?m z4$$OG21Ha4gjEUFIne_UGfy!!Kb=WG11&>@V%tezpizS ztE@E^oz!S6^4gTQDu&0+@F%7l)`o6YG{QEvztKCAsdXg{wcwx5ldz_8jlb_u=I8n+ zM=I23dTSlY_L!NtxFLmI|52|;HRc3$_{UtMQJ-n>u!ZfFOr4`f18W}kIv#<2l}t)s zUM_DH)R_WS{cdMxf!Eep#nc_v&kdhoG}0eHXHA_0tu=T?&=1rtQit18`j!{kp17Sg z2GDKMH8#{bz@woSa5Mg4+mpg}>U$>q33pwLm4k=+HikY4bwl{1kuEO)-BFso7e%c)@5|)<>26>8NW(wPFMU+=?SWpMsM7$tLJMcm|7r-JfVz8p%0?im{ zx5^69Y;3RLxEOHqn7B5RUu}_I^_?@cWF}!IkybZ+N??`dedmC?c~&*rRsDM!R(koP?W6Pu$6 z_*OEt)~z?FCwLW?w!mBDF{O{kCjdYa*?wgi({+0s?dIjm!3E4O$h1K*%D=sBgi>#I zT79h7pb4I3dbNRj!2-BTlTUhR5R6Y-6vqH@dD!A`ckpU-c7hXVHApB`CSJ`hZ1;?f zBn0jVmQzS=)c@6mTkB0LiNjp_45XTstFsjQ@`9N@DtKFgPhnYTpO0mG0uGp>^oAxp z%qWmR!xF_j1Bzc3d> z+S{gS%lfL)Mg1{!+u%~fooz9*u}*|emUi^wR^Ffpw(_*2XT6uXAw)Dj_?lo|5O3RU zROpx}g$N2$%C=!+wAZoo4r1c_wqbKnvNHMi3%A<%ylKpC-w z5d(%!#H5Bn_gQlBl#kA>cNVJ{4Gyq(Zr&xyn@bO?Ug?^IshE_PRhC{m*3k7oe23uS diff --git a/content/assets/images/chart.png b/content/assets/images/chart.png deleted file mode 100644 index 1f27bf3617b6b4677797b6dd82fb8ccd3b665383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4249 zcmd^DU1*bM6n?wbYW-oYDa$5>4hGfUbVwZgyhy$|;!n5E%+*W5PA{@D5I-gujcGH- zw#G`;I}2TNGbrq0o3KF`?WQy#yU6087fOd+mqO}KV_NGPv>Dqu=ly=(1}QB*vTN-t4@i3Mw}r zeK9?;TtmB?&GM)VtCd|CUw%xFvkQx0V8H^Q#~3~C&2oc11xy7j#D&5vMhQ1plYX1i{Eo zg~uMGx?LHB>&;?~fd&se?K_Kh%dPS7pxlFSSHCanwev%lmm(!Xo}eB$c`2xc*85*H z%^X&g$EMd*&8)!54(tgVRZ|3eg-l4Sg-htDB~?JB?qGx_t2g0$I>p1C+dR+@nL%5q z5zU|38{9vihVY*^xDCG)mhRGx;Xa$*B|czkK2Khr3rLH4{iBg#PY_YC83bt*GISdT zF>`{7oIH+`q$GXNsfXC?fqwgf!=@eJrlO#zvEDE|s%5|ieKKO85-=R^nvx8`+|pCtd*vFD(R(UJ1VtHq7I%t{ za1g5zkxwkzC8Uvv6$f1#ImnUpEwYhvD*%&E)GcPq=Z?1~s%N4U_-2!@DM5W@DO}eZ zh~Fflij$&G4LH%%F>=BgmNzKENSWlel8C0YnJP54l_!-uVcX5quW28T<+7Tg<&Q@} z{zO-v6n)M+YPB<@!Q4|mvecNenxW4=47*8Tl_!PAuW{T3R(%vdw7Pq=t4>yuv;5i~ z&uZ68O7fT8)ofm_>9aBV^}=uXBZAQlziu*@J_U*3o{{fW$CeZ)@ diff --git a/content/assets/images/data-flow.png b/content/assets/images/data-flow.png deleted file mode 100644 index 82da710499c36d36ad932689479d5318301a4d3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3547 zcmb_fUrbw77(ZR5GY!mcl-LmsjKr0dmo`X38`#)@JE;k?WHcyh*o_HsiwUrq?gse7fSfe`5hLL_IN-3BA75AW+>{7PNT!K0^Uf1kac z^SM^hYmyI^%dex-on1pQZNO+3>a#Y16W&>@OoD+6=VIaVJQy!$v1USNffGe(0Ybn* zpD4gAg-4hns}yHQoofp&3IpVVNH|T{bmw&EM485-u>I>g`|-ePt?N?jB+X*XaqZ`u z4R(XH8f&g$T<~#v#o2lUKK((>TelkfO|30WUe%XIf4g}flQY$^QqjpqG}n!4_}Hz2 zvEgZr3#Lii+?8QBOdOiF!H29D#{4&otqwL4aJGgu6TU{)QE$&5DAf)%*x&Fr8vII6 zsAB~`UNSEQecgI#d|9tM?l3RGm_d3Qm*70z@s?14_lj^yuel!CgNjafC9G-kju>^Z z>}jL*JHK;HssuW3_vx*)319~W!mUWeA$M%yWk@| zbz!W0c<8qI*NRRo#4dk3CM&?R$R5m~M~DxD&7K-jGhI9Q2$O}Nr5t#2uvoCb7YIjl z${&a?cdP`lu9$EV4yFm}Lj7j03$1x753CE;H^b&e#R+z-oXMk`lPWsaGPzHDOC-yO z+rE)lQ*e*%Asi`-Z1Sf@!}DRom?PA@5B6;j@Kl~BWP^5NKYe-Ue089CX^b|A)fDt? z{~rI4^{TQ?dgEs7<3eVq2Uq4y*-XLWQzh8#2B}onud>WxTh!Z&m~kNlE(2_(PCm!? zI|6Tfln*r5V>LZ8bM>jR-yd!VZ_ukW1lncv?~`80PzKIoP8d`}tn;avY^0+EdV2H| z*+>75kA8FY0^&jMsw|<=<*4O-IL!uKZ1oOig*6ET{@Yz^Hvr~ZP|bmelAqVTt;rX_lwik4U)n-wyFaNp`Kfm-5)OXLIy zMX~64qO7}Hlcuz&+7yW$xmc8QtR*i(WZ$c5D-7nC) zyzG5D7nR!v75CU)fk>uWd44iY*b@R7(APx5g3y%{@J7JVmTe)^^}`i#Ik-FOYnrnwzdj1DqeP37r diff --git a/content/assets/images/interface.png b/content/assets/images/interface.png deleted file mode 100644 index 52022960f1a0308c368ee85e443b0a178e00184b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4237 zcmdT|ZA@Eb6uv+}0woq$$to_EG9f`Qgo}D>kPqn)mI-EK-5_W{H*S3 zYd2yb{%Ur^{NcwB7~5n97v_egM2yW{j8h{qvu#L8G-PaqDcOgf^WNLuTVU(O{n1~i z_dV}>-gBPw@t#xHOZ6|Lr96^CQB+!8t$8~|C6rQBoIg1pR&ENX){Te1FM53M%wT`sK2O%Gso9MsznG4W^?Y~q!}tF>|62Dx!8FHPpPY46*sbuh zrG?)_Q7v2fILb*=lvhvnFbPy;%uj*%TlKK)LleT6S0AL!9zrBTAlAFN_1!qL5su;_b>;brOXrh-` z30V7@j-W7*tj}OAZ90{R-4kPof=S7$>u6$$ku}35iCLS4!fBO^$KC+LK$qS9;KjCgQPu`yp5_Sl*)JQ4Ku_D$;t7^}se=t70n zG3Y&DSAiTOE}GR{)q#UI4zLgc5K5BzHJjx~5JO27qqQoi2^)nL0(cN$Yy=cyt<0#{ zBs(}297hyv+ zZ@S!%7&8f&xt4%e4+lf&&!)tnrmPyF$%Grd?nOAn>bhRM!!Kw|pnW~usbvKkaqM9x zX_5m9kx&_xBCF@cNHz#~9MjMsOwc5}V_xc{S6}IWYRT#$mwtI|SK!x&8@Br;Fswq+ zyX99%HR3{iw~45RHvT;a29c~+>Q2eI?451QaB*MGd`@eqbUoL;Yy8Hpp7>+e6u1#B;zg8-mr@$MDBD~ zjRbDbJSVvv8-Q>iWR+e&{&}Q!lOmIQfFuy41Lmn%)MGGioO*gy)Q4XMh@xRnL0OSh zk4Q>MX^T;*k^xVu18RJ`PWU1Ca=QHVgp0o#M)?&m40MUqZ-|@#3Ok%m-Z?1qVm%@S zG+d>{GOvb#&*THYYV0&Tsqo~6%Qq%ADVfDaNN3e=*F9f5c!>1tc+?I)E0;1w_5R=1 z;;5*!HA~?`o^=Uj@i7WBnsbGgNm~N&*6fEuX`~p*ZPm)&F1lAFy(4MQmF+FI&&oa& z+c6LexlE|o@hcX95u^3P-jVeE3M%U;w#_SBzxTeH(*HLa*NF>LivIfFVRm{f<_uBX zsXzzO8uctLC1E>Hrm?lAC2%*?PDGLr`+cS*aJ+I3gQ@I6hPqE%qol1d)s3AP>tHUu zC5>`x%&xJg)5s`$_tA9@!Wf+E8_prp)K1xvk(?+02EdC1{|*S}Ke|N?`4iY5OUFNk QzZs~yE%oM+=UaRK0Y)&6n*aa+ diff --git a/content/assets/title-page.docx b/content/assets/title-page.docx deleted file mode 100644 index 1edbc2e3d5ade493fb986976f5b6803ad9976ef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9383 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 C9$J(D diff --git a/AGENTS.md b/docx/AGENTS.md similarity index 79% rename from AGENTS.md rename to docx/AGENTS.md index e110e93..bd6fdac 100644 --- a/AGENTS.md +++ b/docx/AGENTS.md @@ -13,7 +13,8 @@ - Windows (собранный `.exe` под `win-x64`). - Node.js **только для сборки** `.exe` из исходников. Конечному пользователю Node.js не нужен. -- Никаких Java/Chrome/интернета: инструмент не рендерит диаграммы, а вставляет готовые PNG. +- Готовые PNG вставляются без внешних зависимостей. Для рендеринга PlantUML (`.puml`) + нужны установленная Java (JRE 11+) и файл `plantuml.jar` (см. п. 4, `plantuml`). ## 2. Состав дистрибутива @@ -23,14 +24,21 @@ config.yaml # настройки (создаётся автомат content/ # Markdown-файлы документа и ресурсы *.md assets/ - images/ # PNG для рисунков (готовятся заранее) + images/ # PNG для рисунков (готовятся заранее) и исходники .puml title-page.docx # титульный лист (по умолчанию content/assets/title-page.docx) +tools/ + plantuml.jar # рендерер PlantUML (для файлов .puml) report.docx # результат сборки (путь задаётся document.output) ``` Все относительные пути в `config.yaml` считаются **от каталога самого `config.yaml`**. Сам `config.yaml` и папки ищутся **рядом с `DocxGenerator.exe`**. +В монорепозитории общий `plantuml.jar` лежит в корне, в `tools/plantuml.jar`, +поэтому репозиторный `config.yaml` задаёт `plantuml.jar: ../tools/plantuml.jar`. +Для автономного дистрибутива положите `tools/plantuml.jar` рядом с `.exe` +(значение по умолчанию при `--init` — `tools/plantuml.jar`). + ## 3. Командная строка ``` @@ -125,6 +133,24 @@ DocxGenerator [опции] ### figure `maxWidth` (px; `null` — по ширине полосы), `maxHeight` (px). +### plantuml +Генерация рисунков из исходников PlantUML (см. п. 5, «Рисунки»). + +| Ключ | Тип | Смысл | +|------|-----|-------| +| `enabled` | bool | включить рендеринг `.puml`; `false` — считать ошибкой при наличии `.puml` | +| `java` | string | исполняемый файл Java; `auto` — `%JAVA_HOME%\bin\java`, иначе `java` из PATH | +| `jar` | string | путь к `plantuml.jar` (относительно `config.yaml`) | +| `format` | string | только `png` | +| `charset` | string | кодировка исходника (по умолчанию `UTF-8`) | +| `cache` | bool | не перерисовывать неизменённый исходник | +| `cacheDir` | string | каталог кэша PNG (относительно `config.yaml`) | +| `timeoutMs` | int | таймаут рендера одной диаграммы, мс | + +Ошибки рендера (нет `jar`, нет Java, синтаксическая ошибка) — **фатальные**: сборка +прекращается с кодом выхода `1`. Требуется установленная Java (JRE 11+) и файл +`plantuml.jar`; для части типов диаграмм нужен Graphviz либо встроенный Smlayout. + ### pageNumber `align`, `format`, `startFrom`. @@ -214,6 +240,20 @@ sections: `file` — относительно `config.paths.assets`. Если файла нет — предупреждение, подпись всё равно выводится. +**PlantUML.** Если `file` оканчивается на `.puml` (`.plantuml`, `.pu`, `.iuml`), то файл +считается исходником PlantUML: инструмент рендерит его в PNG через локальный +`plantuml.jar` (см. `plantuml` в конфиге) и вставляет результат как обычный рисунок. +Нумерация, ссылки `@fig:id` и примечания работают так же. Пример: + +```md +::: figure "Диаграмма последовательности" id=seq file=images/seq.puml +а) запрос клиента; +б) ответ сервера. +::: +``` + +Ошибка рендера — фатальная (код выхода `1`), `--check` тоже рендерит `.puml`. + **Подписи по СТО.** Подпись ставится **под** рисунком по центру: `Рисунок N — Наименование` (с прописной буквы, без точки в конце). Если на рисунке обозначены отдельные детали, пояснительные данные размещают **над подписью** и оформляют перечислением `а)`, `б)`, `в)` — @@ -293,10 +333,11 @@ a — коэффициент. - корректность `config.yaml` (типы, существование файлов, допустимые буквы приложений); - наличие всех `sections[].file`; - существование меток в `@fig/@tbl/@eq`; -- диапазон ссылок `[@n]`. +- диапазон ссылок `[@n]`; +- рендеринг всех `::: figure ... file=*.puml` (PlantUML). Ошибки печатаются списком и возвращают код выхода `1`. Предупреждения (например, -отсутствующий PNG) не останавливают сборку. +отсутствующий PNG) не останавливают сборку; ошибки PlantUML — фатальные. ## 7. Сборка `.exe` из исходников @@ -312,8 +353,11 @@ npm run check # проверка конфига и ссылок ### Подготовка диаграмм -Инструмент не рендерит диаграммы: PNG готовятся заранее и кладутся в `content/assets/images/`. -Диаграммы можно строить любым внешним средством (PlantUML, Mermaid, draw.io, редактор). +Готовые PNG кладутся в `content/assets/images/`. Для исходников PlantUML (`*.puml`) +инструмент рендерит PNG сам: положите исходник в `content/assets/images/`, укажите его в +`::: figure ... file=images/<имя>.puml` и поместите `plantuml.jar` в `tools/plantuml.jar` +(или задайте путь в `plantuml.jar`). Диаграммы других форматов (Mermaid, draw.io) готовятся +внешними средствами и вставляются как PNG. ## 8. Замечания по дизайну diff --git a/docx/README.md b/docx/README.md new file mode 100644 index 0000000..a7784d8 --- /dev/null +++ b/docx/README.md @@ -0,0 +1,44 @@ +# DocxGenerator + +Автономный генератор отчётов **DOCX** из **Markdown** по дизайну +[СТО 02068410-004-2018](documentation/STO_SGAU_02068410-004-2018.md). +Поведение полностью задаётся файлом `config.yaml`; путь выходного файла — ключ +`document.output`. + +Полная документация: **[AGENTS.md](AGENTS.md)** — CLI, схема конфига, формат контента, +директивы и сборка `.exe`. + +## Быстрый старт + +```powershell +.\DocxGenerator.exe --init # создать config.yaml, примеры content/ и content/assets/ +# ... правим config.yaml и content/*.md ... +.\DocxGenerator.exe --check # проверить ссылки и конфиг +.\DocxGenerator.exe # собрать report.docx +``` + +## Разработка + +```powershell +npm install +npm run generate # локальная сборка report.docx +npm run check # проверка конфига и ссылок +npm run build:exe # собрать DocxGenerator.exe в корне (@yao-pkg/pkg, node24-win-x64) +``` + +## Структура репозитория + +| Путь | Назначение | +|------|------------| +| `src/cli.js` | точка входа, разбор аргументов | +| `src/config/` | дефолты, загрузка и валидация `config.yaml`, шаблон | +| `src/markdown/` | markdown-it, директивы `:::`, инлайн-ссылки `[@n]`, `@fig/@tbl/@eq` | +| `src/render/` | сборка DOCX: стили, примитивы, нумерация, слияние титульника | +| `src/build.js` | оркестрация сборки | +| `content/` | примеры Markdown | +| `content/assets/` | PNG для рисунков, опциональный `title-page.docx` | +| `documentation/` | стандарт СТО | + +Готовые PNG кладутся в `content/assets/images/`. Исходники PlantUML (`*.puml`) можно указать +в `::: figure ... file=images/x.puml` — генератор отрендерит их в PNG через локальный +`plantuml.jar` (требуется Java 11+). diff --git a/config.yaml b/docx/config.yaml similarity index 89% rename from config.yaml rename to docx/config.yaml index b36143e..d36f0d2 100644 --- a/config.yaml +++ b/docx/config.yaml @@ -91,6 +91,15 @@ table: figure: maxWidth: null maxHeight: 620 +plantuml: + enabled: true + java: auto + jar: ../tools/plantuml.jar + format: png + charset: UTF-8 + cache: true + cacheDir: .plantuml-cache + timeoutMs: 30000 pageNumber: align: center format: decimal @@ -121,9 +130,9 @@ sections: - file: content/01-introduction.md type: structural title: Введение - - file: content/02-analysis.md + - file: content/02-method.md type: numbered - - file: content/03-design.md + - file: content/03-spheres.md type: numbered - file: content/04-conclusion.md type: structural @@ -133,8 +142,4 @@ sections: - file: content/06-appendix-a.md type: appendix letter: А - title: Сводные таблицы - - file: content/07-appendix-b.md - type: appendix - letter: Б - title: Вспомогательные материалы + title: Сводная таблица применения метода diff --git a/docx/content/01-introduction.md b/docx/content/01-introduction.md new file mode 100644 index 0000000..9737791 --- /dev/null +++ b/docx/content/01-introduction.md @@ -0,0 +1,41 @@ +Объектом исследования выступает процесс выведения нового товара на рынок, +предметом — выбор метода реализации проекта по выводу новинки и его обоснование +в различных сферах деятельности. + +Актуальность работы обусловлена тем, что запуск нового товара сопровождается +высоким риском: значительная доля новинок не достигает устойчивых продаж, а +неудачный запуск приводит к прямым убыткам, потерям доли рынка и подрыву доверия +к бренду. По разным оценкам, до семи из десяти новых товаров уходят с рынка в +первые годы после появления, поэтому цена ошибки при выводе новинки особенно +велика [@1], [@2]. В этих условиях выбор управляемого и повторяемого метода +вывода товара на рынок становится практически значимой задачей: он позволяет +снизить неопределённость, распределить ресурсы проекта и своевременно отказаться +от бесперспективного направления [@7]. + +Под новым товаром в работе понимается продукт, услуга или их значимая +модификация, ранее не предлагавшиеся компанией целевой аудитории. Выведение +такого товара на рынок охватывает исследование спроса, разработку предложения, +его продвижение и получение обратной связи от клиентов. Именно комплексность +этих этапов и их взаимное влияние порождают основные риски: чем позже компания +узнаёт реакцию рынка, тем дороже исправлять допущенные ошибки [@5], [@7]. + +Целью работы является выбор метода реализации проекта по выведению нового товара +на рынок и обоснование его применимости в десяти сферах деятельности. Для +достижения цели необходимо решить следующие задачи: + +- изучить классические и гибкие методы выведения товара на рынок и их основные + ограничения; +- обосновать выбор метода Agile/Scrum применительно к запуску новинки; +- описать роли, артефакты и события выбранной методологии; +- раскрыть механизм проверки спроса через спринты и инкременты; +- обосновать применимость метода в производстве, связи, на транспорте, в + строительстве, коммерческой деятельности, юридических услугах, организации + праздников, бытовых услугах, IT-услугах и банковской сфере; +- сформулировать выводы об универсальности выбранного метода и условиях его + эффективного применения. + +При выполнении работы использованы методы системного анализа, сравнительного +анализа методов управления проектами, проектного моделирования и обобщения +практики [@3], [@4]. Структура работы соответствует поставленным задачам: первый +раздел посвящён обоснованию выбора метода, второй — его проверке в десяти сферах +деятельности, заключение содержит основные результаты и выводы. diff --git a/docx/content/02-method.md b/docx/content/02-method.md new file mode 100644 index 0000000..93622ab --- /dev/null +++ b/docx/content/02-method.md @@ -0,0 +1,154 @@ +# ВЫБОР МЕТОДА ВЫВЕДЕНИЯ НОВОГО ТОВАРА НА РЫНОК + +В разделе рассматриваются основные методы реализации проекта по выведению нового +товара на рынок, формулируются критерии их сравнения и обосновывается выбор +методологии Agile/Scrum [@1], [@5]. + +## Обзор методов выведения товара на рынок + +В практике управления проектами сложились как классические, так и гибкие методы +вывода новинки на рынок. Классические подходы (Waterfall, Stage-Gate) строятся на +последовательном прохождении этапов и предполагают, что требования известны +заранее, а результат оценивается на завершающей стадии. Гибкие подходы +(Design Thinking, Lean Startup, Agile/Scrum) переносят проверку спроса внутрь +процесса и позволяют уточнять требования по мере получения отклика рынка. Краткая +характеристика методов приведена в таблице @tbl:methods. + +::: table "Сравнение методов выведения товара на рынок" id=methods +| Метод | Сущность | Основное ограничение | +|---|---|---| +| Waterfall (водопад) | последовательные этапы от идеи до запуска | поздняя обратная связь рынка | +| Stage-Gate | этапы с контрольными «воротами» go/kill | высокая стоимость стадии | +| Design Thinking | старт от потребности клиента, прототип и тест | не задаёт процесс управления | +| Lean Startup | минимальный продукт (MVP) и цикл «создать — измерить — научиться» | требует зрелой аналитики | +| Agile/Scrum | короткие итерации — спринты, готовый инкремент | нужна дисциплина команды | +| 4P (маркетинг-микс) | проработка товара, цены, каналов, продвижения | не покрывает разработку | +::: + +Сравнение методов проводится по четырём критериям: скорость получения обратной +связи, способность реагировать на изменения, стоимость проверки спроса и +прозрачность управления. Как видно из таблицы @tbl:methods, классические методы +предполагают длительный цикл и получают обратную связь рынка лишь на финальной +стадии. Для запуска нового товара, спрос на который ещё не подтверждён, это +создаёт повышенный риск: к моменту первых продаж значительная часть ресурсов уже +израсходована, а изменение требований требует дорогостоящей переработки. +Наиболее подходящим признан гибкий подход Agile и его методология Scrum [@2], +[@6]. Ключевые различия классического и гибкого подходов сведены в таблице +@tbl:compare. + +::: table "Сравнение классического и гибкого подходов" id=compare +| Критерий | Waterfall | Agile/Scrum | +|---|---|---| +| Обратная связь рынка | в конце проекта | в каждом спринте | +| Реакция на изменения | низкая | высокая | +| Готовый продукт | к концу проекта | в конце каждого спринта | +| Стоимость проверки спроса | высокая | низкая (пилотный инкремент) | +| Требования | фиксируются заранее | уточняются итеративно | +| Риск неудачного запуска | высокий | снижается поэтапно | +::: + +## Сущность методологии Agile/Scrum + +Agile — это гибкий подход к управлению проектами, закреплённый в «Манифесте +гибкой разработки» 2001 года. Манифест ставит в приоритет людей и взаимодействие +над процессами и инструментами, работающий продукт над исчерпывающей +документацией, сотрудничество с заказчиком над согласованием условий и готовность +к изменениям над следованиям первоначальному плану [@1]. На этих ценностях +строятся двенадцать принципов, важнейшими из которых для вывода нового товара +являются ранняя и частая поставка ценности, неразрывная работа бизнеса и +исполнителей и постоянная адаптация к меняющимся условиям рынка. + +Scrum — наиболее распространённая методология Agile: работа разбивается на +короткие итерации — спринты длительностью от одной до четырёх недель, каждая из +которых завершается готовым приростом продукта (инкрементом) [@2], [@3]. В основе +Scrum лежат три идеи: прозрачность (все участники видят состояние работы), +инспекция (результат регулярно проверяется) и адаптация (процесс меняется по +результатам проверки). Такой цикл «планирование — работа — проверка — улучшение» +позволяет проверять спрос небольшими порциями и снижать стоимость ошибки, что +особенно важно при запуске товара на непроверенном рынке [@3], [@4]. + +## Роли, артефакты и события Scrum + +Методология Scrum опирается на три роли, три артефакта и четыре события. Роли +отвечают за постановку целей и организацию работы, артефакты фиксируют требования +и прогресс, а события задают ритм и обеспечивают регулярную обратную связь. Роли +и артефакты приведены в таблице @tbl:scrum. + +::: table "Роли и артефакты методологии Scrum" id=scrum +| Элемент | Назначение | +|---|---| +| Product Owner | отвечает за ценность товара и ведёт Product Backlog | +| Scrum Master | убирает препятствия, следит за процессом | +| Команда разработки | 5–9 специалистов, создающих продукт | +| Product Backlog | перечень всех требований к новому товару | +| Sprint Backlog | план работ текущего спринта | +| Increment | готовый к показу прирост продукта | +::: + +Product Owner формирует и упорядочивает Product Backlog по ценности, принимает +результат спринта и представляет интересы заказчика. Scrum Master отвечает за +соблюдение правил методологии, помогает команде убирать препятствия и защищает +спринт от незапланированных работ. Команда разработки — самоорганизующаяся +группа из пяти–девяти специалистов, которая самостоятельно определяет, сколько +задач войдёт в спринт, и отвечает за качество инкремента. Каждый артефакт имеет +своё назначение: Product Backlog хранит все требования к товару, Sprint Backlog — +план текущей итерации, а Increment — готовую к показу часть продукта. Единое +понимание готовности фиксируется в критериях Definition of Done, что делает +результат спринта проверяемым. + +Цикл работы методологии при выводе товара на рынок приведён на рисунке +@fig:scrum-cycle. + +::: figure "Цикл Scrum при выводе нового товара на рынок" id=scrum-cycle file=images/scrum-cycle.puml +а) Product Backlog фиксирует требования к товару; +б) спринт завершается инкрементом; +в) Sprint Review даёт обратную связь рынка; +г) по результатам Review выполняется следующий спринт или масштабирование. +::: + +События Scrum задают ритм работы и обеспечивают инспекцию результата. Sprint +Planning открывает спринт и определяет его цель и состав работ. Daily Scrum — +короткая ежедневная встреча для синхронизации команды и выявления препятствий. +Sprint Review завершает спринт демонстрацией инкремента заказчику и рынку, а +Sprint Retrospective позволяет команде улучшить собственный процесс. Поскольку +каждый спринт заканчивается инкрементом, рынок получает способ проверить товар +до полного запуска производства и масштабных вложений. + +Результативность спринта оценивается по величине созданного инкремента и +получаемому эффекту. Скорость команды — суммарный объём задач, выполненных за +итерацию, — позволяет прогнозировать сроки вывода товара, а ожидаемый эффект +инкремента помогает сравнивать ценность планируемых улучшений с затратами на +спринт. Ожидаемый эффект рассчитывается по формуле @eq:effect. + +::: formula id=effect +E = C * V - Z +::: + +::: where +E — ожидаемый эффект спринта; +C — ценность инкремента для клиента; +V — вероятность подтверждения спроса; +Z — затраты на проведение спринта. +::: + +Положительный ожидаемый эффект служит основанием для развития товара, а +отрицательный — для корректировки состава требований. Такой расчёт делает +решение о продолжении или изменении проекта более обоснованным [@5]. + +## Обоснование выбора Scrum + +Выбор Scrum определяется рядом преимуществ применительно к выводу нового товара на +рынок [@3], [@4]: + +- рынок проверяется дешёвым инкрементом, а не дорогим запуском «с нуля»; +- обратная связь собирается в каждом спринте, что снижает риск ошибки; +- требования уточняются итеративно, поэтому изменения не приводят к переработке + всего проекта; +- прозрачность процесса обеспечивается ролями, артефактами и событиями; +- ранние пилотные продажи формируют выручку ещё до полного запуска; +- метод не зависит от отрасли и применим там, где есть клиент и обратная связь; +- скорость команды и результаты спринтов делают план развития измеримым. + +Таким образом, Agile/Scrum выбран в качестве метода реализации проекта по +выведению нового товара на рынок. Его применимость в десяти сферах деятельности +обоснована в следующем разделе. diff --git a/docx/content/03-spheres.md b/docx/content/03-spheres.md new file mode 100644 index 0000000..3005438 --- /dev/null +++ b/docx/content/03-spheres.md @@ -0,0 +1,105 @@ +# ОБОСНОВАНИЕ МЕТОДА AGILE/SCRUM В СФЕРАХ ДЕЯТЕЛЬНОСТИ + +В разделе обосновывается применимость метода Agile/Scrum в десяти сферах +деятельности. В каждой сфере рассматривается пример нового товара и показывается, +как его вывод на рынок организуется через спринты, пилотный инкремент и обратную +связь [@3], [@6]. Общая логика одинакова для всех сфер: сначала создаётся +ограниченный пробный продукт, затем замеряется результат, и только после этого +принимается решение о масштабировании (рисунок @fig:funnel). + +::: figure "Воронка вывода нового товара на рынок" id=funnel file=images/product-funnel.puml +а) спринт 0 уточняет требования и сегмент рынка; +б) спринты 1–2 создают минимальную версию товара; +в) спринты 3–4 проверяют спрос на ограниченной аудитории; +г) начиная со спринта 5 товар масштабируется по подтверждённым метрикам. +::: + +## Производство + +Новым товаром выступает линейка упаковки. Вместо единовременного перезапуска всех +линий выпускается пробная партия на одной линии, которая играет роль инкремента. +В ходе спринта замеряются себестоимость партии, доля брака и скорость переналадки +оборудования. Sprint Review с оптовыми покупателями показывает востребованность +новой упаковки, после чего производство масштабируется на остальные линии, а +замечания клиентов становятся задачами следующего спринта. + +## Связь + +Новый товар — тариф «Умный дом». Пилотный спринт запускает тариф для ста +абонентов, в ходе Sprint Review анализируются подключения, средний чек и отток. +Обратная связь абонентов позволяет скорректировать состав услуг и условия +подключения. По результатам обратной связи тариф дорабатывается и выводится на +массовый рынок без риска массового оттока при неудачной конфигурации. + +## Транспорт + +Новым товаром является сервис каршеринга мини-фургонов. Пилот реализуется пятью +машинами в одном районе; метрики загрузки, среднего времени аренды и спроса +оцениваются в конце спринта. Если загрузка подтверждает спрос, инкремент +признаётся успешным, и автопарк расширяется за счёт новых районов. Такой подход +позволяет проверить экономику сервиса до крупных капитальных вложений в технику. + +## Строительство + +Новый товар — модульные дома. Первый спринт предполагает возведение одного +пилотного модуля и его показ заказчикам. На Sprint Review фиксируются затраты на +монтаж, сроки и замечания по проекту, после чего они учитываются в следующем +инкременте — серийном модуле. Итеративная проверка снижает риск ошибок в типовом +проекте, который затем тиражируется на серию. + +## Коммерческая деятельность + +Новым товаром выступает подписка на наборы продуктов. Бокс-пилот на пятидесяти +клиентах позволяет измерить конверсию, средний чек и удержание. Обратная связь +покупателей формирует Sprint Backlog для доработки ассортимента и условий +подписки. Если удержание растёт, объём подписки увеличивается, а состав наборов +уточняется по отклику клиентов. + +## Предоставление юридических услуг + +Новый товар — пакет «юрфирма на аутсорсе». Пробный месяц для пяти клиентов даёт +инкремент услуги; на Sprint Review оцениваются востребованность, трудозатраты и +повторные обращения. На основе отзывов формируются тарифы и состав пакета. +Поэтапная проверка позволяет выстроить услугу под реальные ожидания клиентов, не +вкладываясь сразу в расширение штата юристов. + +## Организация праздников + +Новым товаром является онлайн-конструктор мероприятий. Один сценарий тестируется +на пробной группе клиентов; метрики вовлечённости, повторных заказов и средней +стоимости мероприятия анализируются в конце спринта. Успешный сценарий +становится основой каталога и автоматизации заказов, а непопулярные сценарии +исключаются без затрат на массовое продвижение. + +## Предоставление бытовых услуг + +Новый товар — подписка на уборку. Пилот с двадцатью подписчиками в одном районе +позволяет измерить удержание, среднее число заказов и загрузку исполнителей. По +результатам спринта сервис дорабатывается и масштабируется на другие районы. +Пилотный формат помогает наладить логистику и стандарты качества до выхода на +городской уровень. + +## IT-услуги + +Новым товаром выступает модуль SaaS-платформы. Бета-версия для десяти клиентов +является инкрементом; на Sprint Review собираются метрики использования, частоты +ошибок и NPS. Обратная связь определяет состав следующего релиза и приоритеты +доработки. Такой цикл соответствует самой природе гибкой разработки и позволяет +выпускать ценность небольшими, но регулярными порциями. + +## Банковские услуги + +Новый товар — вклад «Цель» в мобильном приложении. Тест на ограниченной группе +пользователей позволяет оценить долю открытий, средний срок и удержание. Даже в +регулируемой сфере спринты обеспечивают безопасную проверку спроса до полного +внедрения: пилот проводится в контролируемых условиях, а результат проходит +согласование с подразделениями банка. + +## Обобщение по сферам + +Рассмотренные примеры показывают, что различия между сферами касаются в первую +очередь содержания товара и применяемых метрик, тогда как структура процесса +остаётся общей. Везде выделяются заказчик, готовый участвовать в проверке +инкремента, и измеримый результат спринта, на основании которого принимается +решение о продолжении работы. Именно эта общность позволяет считать Agile/Scrum +универсальным методом выведения нового товара на рынок [@3], [@6]. diff --git a/docx/content/04-conclusion.md b/docx/content/04-conclusion.md new file mode 100644 index 0000000..6f6bbc1 --- /dev/null +++ b/docx/content/04-conclusion.md @@ -0,0 +1,37 @@ +В работе выбран метод реализации проекта по выведению нового товара на рынок и +обоснована его применимость в десяти сферах деятельности. + +В результате сравнительного анализа методов установлено, что классические подходы +(Waterfall, Stage-Gate) предполагают длительный цикл и позднюю обратную связь +рынка, что повышает риск запуска новинки. Сравнение по критериям скорости +обратной связи, реакции на изменения, стоимости проверки спроса и прозрачности +управления (таблица @tbl:compare) показало, что для непроверенного рынка +предпочтителен гибкий подход. В качестве метода выбран Agile/Scrum, поскольку он +проверяет спрос дешёвым инкрементом в каждом спринте и позволяет корректировать +товар по отклику рынка. + +Показано, что методология Scrum опирается на роли (Product Owner, Scrum Master, +команда разработки), артефакты (Product Backlog, Sprint Backlog, Increment) и +события (Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective), что +делает процесс прозрачным и управляемым [@2], [@3]. В работе раскрыт механизм +оценки результативности итераций: ожидаемый эффект спринта рассчитывается по +формуле @eq:effect, а решение о развитии товара принимается по результатам Sprint +Review. Такой подход заменяет один дорогой запуск серией последовательных +проверок и снижает стоимость возможной ошибки. + +Обоснована применимость метода в производстве, связи, на транспорте, в +строительстве, коммерческой деятельности, юридических услугах, организации +праздников, бытовых услугах, IT-услугах и банковских услугах. В каждой сфере +вывод товара на рынок строится по единой логике: ограниченный пробный продукт — +замер результата — масштабирование. Различия касаются содержания товара и набора +метрик, тогда как структура процесса и роль обратной связи остаются неизменными. + +Практическая значимость работы состоит в том, что предложенный метод можно +применять как типовой алгоритм: выделить сегмент и требования, создать MVP, +провести пилот, измерить результат и принять решение о масштабировании. Это +позволяет компании управлять риском запуска новинки и обосновывать вложения +перед расширением производства или сервиса. + +Таким образом, выбранный метод Agile/Scrum является универсальным и позволяет +снизить риск и стоимость ошибки при выведении нового товара на рынок в различных +сферах деятельности. diff --git a/docx/content/05-bibliography.md b/docx/content/05-bibliography.md new file mode 100644 index 0000000..ead8926 --- /dev/null +++ b/docx/content/05-bibliography.md @@ -0,0 +1,7 @@ +- Манифест гибкой разработки программного обеспечения. — 2001. — URL: https://agilemanifesto.org (дата обращения: 01.10.2026). +- Schwaber K., Sutherland J. The Scrum Guide: The Definitive Guide to Scrum. — 2020. — URL: https://scrumguides.org (дата обращения: 01.10.2026). +- Сазерленд Дж. Scrum. Революционный метод управления проектами. — М.: Манн, Иванов и Фербер, 2016. — 288 с. +- ГОСТ Р 54869-2011. Проектный менеджмент. Требования к управлению проектом. — М.: Стандартинформ, 2011. — 9 с. +- Cooper R. G. Perspective: The Stage-Gate Idea-to-Launch Process. — Journal of Product Innovation Management, 2008. — Vol. 25. — P. 213–232. +- Рис Э. Бизнес с нуля. Lean Startup для быстрого тестирования идей. — М.: Альпина Паблишер, 2014. — 253 с. +- Котлер Ф. Основы маркетинга. Краткий курс. — М.: Вильямс, 2019. — 496 с. diff --git a/docx/content/06-appendix-a.md b/docx/content/06-appendix-a.md new file mode 100644 index 0000000..d118f10 --- /dev/null +++ b/docx/content/06-appendix-a.md @@ -0,0 +1,17 @@ +Сводная характеристика применения метода Agile/Scrum в десяти сферах деятельности +приведена в таблице @tbl:sphere-summary. + +::: table "Применение метода Agile/Scrum в сферах деятельности" id=sphere-summary +| № | Сфера | Новый товар | Пилотный инкремент спринта | +|---|---|---|---| +| 1 | Производство | новая линейка упаковки | пробная партия на одной линии | +| 2 | Связь | тариф «Умный дом» | пилот на 100 абонентов | +| 3 | Транспорт | каршеринг мини-фургонов | пять машин в одном районе | +| 4 | Строительство | модульные дома | один пилотный модуль | +| 5 | Коммерческая деятельность | подписка на наборы продуктов | бокс-пилот на 50 клиентов | +| 6 | Юридические услуги | пакет «юрфирма на аутсорсе» | пробный месяц для 5 клиентов | +| 7 | Организация праздников | онлайн-конструктор мероприятий | один сценарий на пробной группе | +| 8 | Бытовые услуги | подписка на уборку | 20 подписчиков в одном районе | +| 9 | IT-услуги | модуль SaaS-платформы | бета на 10 клиентов | +| 10 | Банковские услуги | вклад «Цель» в приложении | тест на группе пользователей | +::: diff --git a/docx/content/assets/images/product-funnel.puml b/docx/content/assets/images/product-funnel.puml new file mode 100644 index 0000000..8d70ad1 --- /dev/null +++ b/docx/content/assets/images/product-funnel.puml @@ -0,0 +1,19 @@ +@startuml +skinparam defaultFontName "Times New Roman" +skinparam defaultFontSize 13 +skinparam shadowing false +skinparam ArrowColor #1B87C9 +skinparam rectangleBorderColor #1B87C9 +skinparam rectangleBackgroundColor #EAF4FB + +title Воронка вывода нового товара на рынок + +rectangle "Идея и исследование рынка\nСпринт 0" as A +rectangle "MVP — минимальный товар\nСпринты 1–2" as B +rectangle "Пилот на ограниченной аудитории\nСпринты 3–4" as C +rectangle "Масштабирование товара\nСпринты 5 и далее" as D + +A --> B : спрос подтверждён +B --> C : инкремент принят +C --> D : метрики достигнуты +@enduml diff --git a/docx/content/assets/images/scrum-cycle.puml b/docx/content/assets/images/scrum-cycle.puml new file mode 100644 index 0000000..0791e3e --- /dev/null +++ b/docx/content/assets/images/scrum-cycle.puml @@ -0,0 +1,26 @@ +@startuml +skinparam defaultFontName "Times New Roman" +skinparam defaultFontSize 13 +skinparam shadowing false +skinparam ArrowColor #1B87C9 +skinparam rectangleBorderColor #1B87C9 +skinparam rectangleBackgroundColor #EAF4FB + +title Цикл Scrum при выводе нового товара на рынок + +rectangle "Product Backlog — требования к товару" as PB +rectangle "Sprint Planning" as SP +rectangle "Спринт 1–4 недели" as S +rectangle "Increment — пробный продукт" as I +rectangle "Sprint Review — обратная связь рынка" as R +rectangle "Sprint Retrospective" as RET +rectangle "Масштабирование товара" as M + +PB --> SP +SP --> S +S --> I +I --> R +R --> RET +RET --> SP : следующий спринт +R --> M : спрос подтверждён +@enduml diff --git a/docx/content/assets/title-page.docx b/docx/content/assets/title-page.docx new file mode 100644 index 0000000000000000000000000000000000000000..ad44a2ca16e3005cf4c765c91058245bc9e1b32a GIT binary patch literal 6436 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 literal 0 HcmV?d00001 diff --git a/documentation/STO_SGAU_02068410-004-2018.md b/docx/documentation/STO_SGAU_02068410-004-2018.md similarity index 100% rename from documentation/STO_SGAU_02068410-004-2018.md rename to docx/documentation/STO_SGAU_02068410-004-2018.md diff --git a/package-lock.json b/docx/package-lock.json similarity index 100% rename from package-lock.json rename to docx/package-lock.json diff --git a/package.json b/docx/package.json similarity index 100% rename from package.json rename to docx/package.json diff --git a/src/build.js b/docx/src/build.js similarity index 94% rename from src/build.js rename to docx/src/build.js index 527dab6..3852529 100644 --- a/src/build.js +++ b/docx/src/build.js @@ -8,6 +8,7 @@ const { buildContext } = require('./render/styles'); const { collectNumbers } = require('./render/references'); const { createState, renderSections, buildDocx } = require('./render/document'); const { mergeDocxBuffers } = require('./render/titlepage'); +const { resolvePlantUml } = require('./plantuml/resolve'); function loadSections(config, md) { const sections = []; @@ -33,6 +34,7 @@ async function buildDocument(config, { check = false } = {}) { const state = createState(md, sections); collectNumbers(sections, ctx, state); + await resolvePlantUml(ctx, sections, state); const children = renderSections(ctx, state); if (check) return { state, buffer: null }; diff --git a/src/cli.js b/docx/src/cli.js similarity index 100% rename from src/cli.js rename to docx/src/cli.js diff --git a/src/config/defaults.js b/docx/src/config/defaults.js similarity index 93% rename from src/config/defaults.js rename to docx/src/config/defaults.js index bc92a0e..f4d37af 100644 --- a/src/config/defaults.js +++ b/docx/src/config/defaults.js @@ -85,6 +85,17 @@ const DEFAULT_CONFIG = { maxHeight: 620, }, + plantuml: { + enabled: true, + java: 'auto', + jar: 'tools/plantuml.jar', + format: 'png', + charset: 'UTF-8', + cache: true, + cacheDir: '.plantuml-cache', + timeoutMs: 30000, + }, + pageNumber: { align: 'center', format: 'decimal', startFrom: 1 }, toc: { enabled: true, title: 'Содержание', depth: 3 }, diff --git a/src/config/load.js b/docx/src/config/load.js similarity index 83% rename from src/config/load.js rename to docx/src/config/load.js index 58d6987..a70cbbb 100644 --- a/src/config/load.js +++ b/docx/src/config/load.js @@ -19,6 +19,18 @@ function resolvePaths(config, baseDir) { config.document.titlePage = resolveAgainst(baseDir, config.document.titlePage); config.paths.assets = resolveAgainst(baseDir, config.paths.assets) || baseDir; + if (config.plantuml) { + config.plantuml.jar = resolveAgainst(baseDir, config.plantuml.jar); + config.plantuml.cacheDir = resolveAgainst(baseDir, config.plantuml.cacheDir); + if ( + config.plantuml.java && + config.plantuml.java !== 'auto' && + /[\\/]/.test(config.plantuml.java) + ) { + config.plantuml.java = resolveAgainst(baseDir, config.plantuml.java); + } + } + config.sections = (config.sections || []).map((entry) => { if (!entry || typeof entry !== 'object') return entry; if (entry.type === 'toc' || !entry.file) return { ...entry }; diff --git a/src/config/template.js b/docx/src/config/template.js similarity index 100% rename from src/config/template.js rename to docx/src/config/template.js diff --git a/src/config/validate.js b/docx/src/config/validate.js similarity index 77% rename from src/config/validate.js rename to docx/src/config/validate.js index e48b4ae..6e94084 100644 --- a/src/config/validate.js +++ b/docx/src/config/validate.js @@ -89,6 +89,31 @@ function validateConfig(config) { } } + if (config.plantuml) { + const p = config.plantuml; + if (typeof p.enabled !== 'boolean') { + errors.push('plantuml.enabled: ожидалось true/false'); + } + if (p.format !== 'png') { + errors.push(`plantuml.format: поддерживается только "png", получено "${p.format}"`); + } + if (typeof p.jar !== 'string' || !p.jar) { + errors.push('plantuml.jar: ожидался путь к plantuml.jar'); + } + if (typeof p.java !== 'string' || !p.java) { + errors.push('plantuml.java: ожидалось имя или путь к java (или "auto")'); + } + if (p.cacheDir != null && typeof p.cacheDir !== 'string') { + errors.push('plantuml.cacheDir: ожидалась строка'); + } + if (!isPositiveInt(p.timeoutMs)) { + errors.push('plantuml.timeoutMs: ожидалось положительное целое (мс)'); + } + if (typeof p.cache !== 'boolean') { + errors.push('plantuml.cache: ожидалось true/false'); + } + } + return errors; } diff --git a/src/index.js b/docx/src/index.js similarity index 100% rename from src/index.js rename to docx/src/index.js diff --git a/src/markdown/container.js b/docx/src/markdown/container.js similarity index 100% rename from src/markdown/container.js rename to docx/src/markdown/container.js diff --git a/src/markdown/inline.js b/docx/src/markdown/inline.js similarity index 100% rename from src/markdown/inline.js rename to docx/src/markdown/inline.js diff --git a/src/markdown/parse.js b/docx/src/markdown/parse.js similarity index 100% rename from src/markdown/parse.js rename to docx/src/markdown/parse.js diff --git a/docx/src/plantuml/render.js b/docx/src/plantuml/render.js new file mode 100644 index 0000000..28026b4 --- /dev/null +++ b/docx/src/plantuml/render.js @@ -0,0 +1,148 @@ +'use strict'; + +const fs = require('fs'); +const os = require('os'); +const path = require('path'); +const crypto = require('crypto'); +const { spawn } = require('child_process'); + +const { BuildError } = require('../util/errors'); + +const SOURCE_EXTENSIONS = new Set(['.puml', '.plantuml', '.pu', '.iuml']); + +/** Является ли файл исходником PlantUML (а не готовым изображением). */ +function isPlantUmlSource(filePath) { + if (!filePath) return false; + return SOURCE_EXTENSIONS.has(path.extname(String(filePath)).toLowerCase()); +} + +/** + * Определяет исполняемый файл Java. Значение `auto` (по умолчанию) предпочитает + * JAVA_HOME/bin/java, иначе — `java` из PATH. + */ +function resolveJava(javaCfg) { + if (javaCfg && javaCfg !== 'auto') return javaCfg; + const home = process.env.JAVA_HOME; + if (home) { + const exe = process.platform === 'win32' ? 'java.exe' : 'java'; + const candidate = path.join(home, 'bin', exe); + if (fs.existsSync(candidate)) return candidate; + } + return 'java'; +} + +function runProcess(command, args, input, timeoutMs) { + return new Promise((resolve, reject) => { + let child; + try { + child = spawn(command, args, { windowsHide: true }); + } catch (err) { + reject(new BuildError(`PlantUML: не удалось запустить "${command}": ${err.message}`)); + return; + } + + const stdout = []; + const stderr = []; + let settled = false; + let timer = null; + + const finish = (fn, arg) => { + if (settled) return; + settled = true; + if (timer) clearTimeout(timer); + fn(arg); + }; + + if (timeoutMs > 0) { + timer = setTimeout(() => { + child.kill(); + finish(reject, new BuildError(`PlantUML: превышено время ожидания (${timeoutMs} мс)`)); + }, timeoutMs); + } + + child.on('error', (err) => { + finish( + reject, + new BuildError(`PlantUML: не удалось запустить "${command}": ${err.message}`) + ); + }); + child.stdout.on('data', (chunk) => stdout.push(chunk)); + child.stderr.on('data', (chunk) => stderr.push(chunk)); + child.on('close', (code) => { + finish(resolve, { + code, + stdout: Buffer.concat(stdout), + stderr: Buffer.concat(stderr).toString('utf8').trim(), + }); + }); + + child.stdin.end(input == null ? '' : input); + }); +} + +/** Рендерит исходник PlantUML в PNG через java -jar plantuml.jar -pipe. */ +async function renderPlantUml(sourceBuffer, cfg) { + if (!cfg.jar) { + throw new BuildError('PlantUML: не задан путь к plantuml.jar (plantuml.jar)'); + } + if (!fs.existsSync(cfg.jar)) { + throw new BuildError(`PlantUML: plantuml.jar не найден: ${cfg.jar}`); + } + const java = resolveJava(cfg.java); + const args = [ + '-jar', + cfg.jar, + '-pipe', + `-t${cfg.format || 'png'}`, + '-charset', + cfg.charset || 'UTF-8', + '-failfast2', + '-nometadata', + ]; + const result = await runProcess(java, args, sourceBuffer, cfg.timeoutMs); + if (result.code !== 0 || result.stdout.length === 0) { + const detail = result.stderr || `код выхода ${result.code}`; + throw new BuildError(`PlantUML: ошибка рендеринга: ${detail}`); + } + return result.stdout; +} + +function jarFingerprint(cfg) { + try { + const st = fs.statSync(cfg.jar); + return `${st.size}:${Math.round(st.mtimeMs)}`; + } catch { + return 'nojar'; + } +} + +function cacheFileName(sourceBuffer, cfg) { + const hash = crypto + .createHash('sha1') + .update(sourceBuffer) + .update(`|${cfg.format || 'png'}`) + .update(`|${jarFingerprint(cfg)}`) + .digest('hex'); + return `${hash}.png`; +} + +/** + * Возвращает PNG для исходника. Использует кэш (если cfg.cache) и всегда + * оставляет файл на диске, чтобы его можно было вставить синхронно. + * @returns {Promise<{buffer: Buffer, cachePath: string}>} + */ +async function renderCached(sourceBuffer, cfg) { + const dir = cfg.cacheDir || path.join(os.tmpdir(), 'docxgen-plantuml'); + const target = path.join(dir, cacheFileName(sourceBuffer, cfg)); + + if (cfg.cache && fs.existsSync(target)) { + return { buffer: fs.readFileSync(target), cachePath: target }; + } + + const buffer = await renderPlantUml(sourceBuffer, cfg); + fs.mkdirSync(dir, { recursive: true }); + fs.writeFileSync(target, buffer); + return { buffer, cachePath: target }; +} + +module.exports = { isPlantUmlSource, resolveJava, renderPlantUml, renderCached }; diff --git a/docx/src/plantuml/resolve.js b/docx/src/plantuml/resolve.js new file mode 100644 index 0000000..81e5346 --- /dev/null +++ b/docx/src/plantuml/resolve.js @@ -0,0 +1,69 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +const { isPlantUmlSource, renderCached } = require('./render'); + +function resolveAssetPath(assetsRoot, file) { + return path.isAbsolute(file) ? file : path.resolve(assetsRoot, file); +} + +/** + * Проход 1.5: рендерит все директивы ::: figure с file=*.puml в PNG и + * прикрепляет путь к готовому изображению к атрибутам токена. + * Ошибки складываются в state.errors (строгий режим). + */ +async function resolvePlantUml(ctx, sections, state) { + const cfg = ctx.config.plantuml; + const jobs = []; + + for (const section of sections) { + if (!section.tokens) continue; + for (const token of section.tokens) { + if (token.type !== 'directive') continue; + const { name, attrs } = token.info; + if (name === 'figure' && isPlantUmlSource(attrs.file)) jobs.push({ token, attrs }); + } + } + + if (jobs.length === 0) return; + + if (!cfg || cfg.enabled === false) { + for (const { attrs } of jobs) { + state.errors.push( + `Рисунок "${attrs.title || ''}": PlantUML отключён (plantuml.enabled=false), а file=${attrs.file}` + ); + } + return; + } + + for (const { token, attrs } of jobs) { + const resolved = resolveAssetPath(ctx.assetsRoot, attrs.file); + if (!fs.existsSync(resolved)) { + state.errors.push( + `Рисунок "${attrs.title || ''}": файл PlantUML не найден: ${attrs.file}` + ); + continue; + } + + let source; + try { + source = fs.readFileSync(resolved); + } catch (err) { + state.errors.push( + `Рисунок "${attrs.title || ''}": не удалось прочитать ${attrs.file}: ${err.message}` + ); + continue; + } + + try { + const { cachePath } = await renderCached(source, cfg); + token.info.attrs.__renderedImage = cachePath; + } catch (err) { + state.errors.push(`Рисунок "${attrs.title || ''}": ${err.message}`); + } + } +} + +module.exports = { resolvePlantUml, resolveAssetPath }; diff --git a/src/render/document.js b/docx/src/render/document.js similarity index 98% rename from src/render/document.js rename to docx/src/render/document.js index e97b614..3e7f8c8 100644 --- a/src/render/document.js +++ b/docx/src/render/document.js @@ -30,6 +30,7 @@ const { pageNumberFooter, REFS, } = require('./primitives'); +const { isPlantUmlSource } = require('../plantuml/render'); function createState(md, sections) { return { @@ -274,7 +275,10 @@ function renderDirective(ctx, token, state) { const notes = body ? body.split(/\r?\n/).map((s) => s.trim()).filter(Boolean) : []; - if (attrs.file) { + let imagePath = attrs.file; + if (isPlantUmlSource(attrs.file)) { + imagePath = attrs.__renderedImage || null; + } else if (attrs.file) { const resolved = path.isAbsolute(attrs.file) ? attrs.file : path.resolve(ctx.assetsRoot, attrs.file); @@ -285,7 +289,7 @@ function renderDirective(ctx, token, state) { return figureBlock(ctx, { label: cap.label, title: attrs.title || '', - imagePath: attrs.file, + imagePath, notesLines: notes, }); } diff --git a/src/render/primitives.js b/docx/src/render/primitives.js similarity index 100% rename from src/render/primitives.js rename to docx/src/render/primitives.js diff --git a/src/render/references.js b/docx/src/render/references.js similarity index 100% rename from src/render/references.js rename to docx/src/render/references.js diff --git a/src/render/sample-titlepage.js b/docx/src/render/sample-titlepage.js similarity index 100% rename from src/render/sample-titlepage.js rename to docx/src/render/sample-titlepage.js diff --git a/src/render/styles.js b/docx/src/render/styles.js similarity index 100% rename from src/render/styles.js rename to docx/src/render/styles.js diff --git a/src/render/titlepage.js b/docx/src/render/titlepage.js similarity index 60% rename from src/render/titlepage.js rename to docx/src/render/titlepage.js index 1cbc1ad..43bd05d 100644 --- a/src/render/titlepage.js +++ b/docx/src/render/titlepage.js @@ -5,6 +5,62 @@ const JSZip = require('jszip'); const PARTS_TO_PATCH = ['word/numbering.xml', 'word/styles.xml', 'word/document.xml']; +const NUMBERING_PART = 'word/numbering.xml'; +const NUMBERING_CONTENT_TYPE = + ''; +const NUMBERING_REL_TYPE = + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering'; + +/** Повторяет патч numId из document.xml (fileIndex=1) для numbering.xml. */ +function patchNumberingNumIds(xml, fileIndex) { + return xml.replace(/ ` Number(m[1])); + return `rId${(ids.length ? Math.max(...ids) : 0) + 1}`; +} + +/** + * docx-merger теряет word/numbering.xml основного документа, из-за чего в Word + * пропадает нумерация заголовков и списков. Возвращаем часть и её связи. + */ +async function ensureNumberingPart(mergedBuffer, mainBuffer) { + const mergedZip = await JSZip.loadAsync(mergedBuffer); + if (mergedZip.file(NUMBERING_PART)) return mergedBuffer; + + const mainZip = await JSZip.loadAsync(mainBuffer); + const mainNumbering = mainZip.file(NUMBERING_PART); + if (!mainNumbering) return mergedBuffer; + + const numberingXml = patchNumberingNumIds(await mainNumbering.async('string'), 1); + mergedZip.file(NUMBERING_PART, numberingXml); + + const contentTypes = mergedZip.file('[Content_Types].xml'); + if (contentTypes) { + let xml = await contentTypes.async('string'); + if (!xml.includes('/word/numbering.xml')) { + xml = xml.replace('', `${NUMBERING_CONTENT_TYPE}`); + mergedZip.file('[Content_Types].xml', xml); + } + } + + const rels = mergedZip.file('word/_rels/document.xml.rels'); + if (rels) { + let xml = await rels.async('string'); + if (!xml.includes(NUMBERING_REL_TYPE)) { + const id = nextRelId(xml); + xml = xml.replace( + '', + `` + ); + mergedZip.file('word/_rels/document.xml.rels', xml); + } + } + + return mergedZip.generateAsync({ type: 'nodebuffer', compression: 'DEFLATE' }); +} + /** docx-merger переименовывает numId в numbering.xml, но не в document.xml. */ function patchDocumentNumIds(xml, fileIndex) { return xml.replace( @@ -117,17 +173,17 @@ async function mergeDocxBuffers(prependBuffer, mainBuffer) { const mainBin = toBinary(mainPrepared); const prependBin = toBinary(prependPrepared); + const mainBuf = Buffer.isBuffer(mainBuffer) ? mainBuffer : Buffer.from(mainBin, 'binary'); + return new Promise((resolve, reject) => { try { const docx = new DocxMerger({ pageBreak: true }, [prependBin, mainBin]); docx.save('nodebuffer', async (data) => { try { const merged = Buffer.from(data); - const patched = await patchDocxNamespaces( - merged, - Buffer.isBuffer(mainBuffer) ? mainBuffer : Buffer.from(mainBin, 'binary') - ); - resolve(patched); + const patched = await patchDocxNamespaces(merged, mainBuf); + const withNumbering = await ensureNumberingPart(patched, mainBuf); + resolve(withNumbering); } catch (err) { reject(err); } @@ -138,4 +194,4 @@ async function mergeDocxBuffers(prependBuffer, mainBuffer) { }); } -module.exports = { mergeDocxBuffers }; +module.exports = { mergeDocxBuffers, ensureNumberingPart }; diff --git a/src/util/deepmerge.js b/docx/src/util/deepmerge.js similarity index 100% rename from src/util/deepmerge.js rename to docx/src/util/deepmerge.js diff --git a/src/util/errors.js b/docx/src/util/errors.js similarity index 100% rename from src/util/errors.js rename to docx/src/util/errors.js diff --git a/src/util/logger.js b/docx/src/util/logger.js similarity index 100% rename from src/util/logger.js rename to docx/src/util/logger.js diff --git a/src/util/png.js b/docx/src/util/png.js similarity index 100% rename from src/util/png.js rename to docx/src/util/png.js diff --git a/pptx/AGENTS.md b/pptx/AGENTS.md new file mode 100644 index 0000000..9c97910 --- /dev/null +++ b/pptx/AGENTS.md @@ -0,0 +1,212 @@ +# AGENTS.md — генератор lab-gen-pptx + +`lab-gen-pptx` собирает презентацию **PPTX** из обычных **Markdown**-файлов по +шаблону Самарского университета. Поведение задаётся файлом `config.yaml`. + +## 1. Требования + +- Node.js 18+. +- Зависимости: `pptxgenjs`, `js-yaml`. +- Для директив `::: image` с файлами `.puml` — Java 11+ (берётся из + `JAVA_HOME`, иначе `java` из PATH) и файл `plantuml.jar` (см. `config.plantuml`). + +## 2. Состав + +``` +config.yaml # настройки (тема, тексты, таблицы, список слайдов) +content/ + slides/*.md # по одному Markdown-файлу на слайд + assets/ # задники (title-bg.jpeg, content-bg.jpg, final-bg.jpeg), + # готовые PNG/JPEG и исходники PlantUML (*.puml) +presentation.pptx # результат сборки (ключ presentation.output) +.plantuml-cache/ # кэш отрендеренных PlantUML (ключ plantuml.cacheDir) +src/ # cli.js, config.js, parse.js, render.js, plantuml.js, build.js +``` + +Все относительные пути считаются **от каталога `config.yaml`**. + +Общий `plantuml.jar` монорепозитория лежит в корне, в `tools/plantuml.jar` +(`plantuml.jar: ../tools/plantuml.jar`). Для автономного дистрибутива положите +`tools/plantuml.jar` рядом с `config.yaml` и задайте путь `tools/plantuml.jar`. + +## 3. Командная строка + +``` +lab-gen-pptx [config.yaml] [опции] + + -c, --config путь к config.yaml (по умолчанию config.yaml) + -o, --output переопределить имя выходного файла + --check только проверить конфиг и ссылки + -v, --verbose подробный вывод + -h, --help справка + --version версия +``` + +```powershell +npm run check +npm run generate +``` + +## 4. Схема `config.yaml` + +| Раздел | Назначение | +|---|---| +| `presentation` | `output`, `author`, `track` | +| `theme` | `width`/`height` (дюймы), `font`, `colors`, `backgrounds`, `slideNumber` | +| `text` | макеты текста для типов слайдов `titleSlide`, `section`, `content`, `final` | +| `table` | размер шрифта, цвета шапки/ячеек/границ | +| `callout` | плашка-вывод: заливка, рамка, цвета и размеры шрифтов | +| `metrics` | карточки-метрики: заливка, цвета, размеры значения и подписи | +| `flow` | нативная схема-цепочка: заливка, рамка, стрелки, размер | +| `chart` | палитра, размер шрифта, легенда, высота диаграммы | +| `plantuml` | рендеринг `*.puml` (см. п. 5) | +| `content.dir` | каталог контента | +| `slides` | список слайдов: `{ type, file }` | + +Типы слайдов: `title`, `section`, `content`, `final`. Каждому типу соответствует +макет (`slideMaster`) с собственным фоном: + +| type | Фон | Оформление | +|---|---|---| +| `title` | `title-bg.jpeg` | синий, белый текст в правой половине | +| `section` | `title-bg.jpeg` | разделитель, крупный белый текст справа | +| `content` | `content-bg.jpg` | белый лист, заголовок в верхней синей плашке | +| `final` | `final-bg.jpeg` | синий, белый текст справа | + +Номер слайда выводится в правом нижнем углу для `content` и `section`. + +## 5. Формат слайда (Markdown) + +```md +# Заголовок слайда -> заголовок +## Подзаголовок -> подзаголовок (для title/final) + +- пункт списка -> маркер + - вложенный пункт -> вложенный маркер + +Обычный абзац. **Жирный** текст, *курсив*, ==выделение== и `код` +поддерживаются в абзацах, пунктах и ячейках таблиц. + +::: table +| Столбец A | Столбец B | +|---|---| +| 1 | 2 | +::: + +::: image assets/pic.png +подпись под рисунком +::: + +::: notes +Заметки докладчика (используются как сценарий выступления). +::: +``` + +### Богатое форматирование текста + +В абзацах, пунктах списка и ячейках таблиц работает inline-разметка: + +| Разметка | Результат | +|---|---| +| `**текст**` | полужирный | +| `*текст*` | курсив | +| `==текст==` | акцентный (брендовый) полужирный | +| `` `текст` `` | моноширинный (Consolas) | + +Пункты списка рисуются с висячим отступом, поэтому многострочные пункты с +форматированием сохраняют маркер и выравнивание. + +### Директива `::: callout "Заголовок"` + +Плашка-вывод с заливкой и рамкой. Внутри — абзацы и/или пункты списка: + +```md +::: callout "Итог" +Рынок проверяется ==дешёвым инкрементом==, а не дорогим запуском. +::: +``` + +Параметр `side=left|right` ставит плашку в левую или правую колонку слайда. +Если у слайда есть блоки с `side`, они верстаются в две колонки (левая/правая), +а остальные блоки — как обычно. Типовое сочетание: `::: image ... side=left` +и `::: callout ... side=right`. + +### Директива `::: metrics` + +Карточки-метрики (до четырёх). Каждая строка — `Значение | Подпись` +(допускается разделитель `—`): + +```md +::: metrics +70% | новых товаров уходят с рынка +10 | сфер применения метода +::: +``` + +### Директива `::: flow` + +Нативная схема-цепочка из скруглённых блоков со стрелками. Шаги разделяются +`->` (или `→`), можно писать по одному на строку: + +```md +::: flow +Sprint Planning -> Спринт -> Sprint Review -> Ретроспектива +::: +``` + +Если ширина блока становится малой, схема автоматически разворачивается +вертикально. + +### Директива `::: chart <тип> "Заголовок"` + +Диаграмма на основе GFM-таблицы: первая колонка — категории, остальные — +числовые ряды (заголовки колонок = имена рядов). Поддерживаемые типы: +`bar`, `bar3d`, `line`, `pie`, `doughnut`, `area`, `radar`, `scatter`. + +```md +::: chart doughnut "Новинки, которые не выживают" +| Итог | Доля, % | +|---|---| +| Успешные новинки | 30 | +| Уходят с рынка | 70 | +::: +``` + +### Директива `::: image` и PlantUML + +`file` — относительно `content.dir` (`content/`). Если файл оканчивается на +`.puml` (`.plantuml`, `.pu`, `.iuml`), он рендерится в PNG через `plantuml.jar` +(см. `config.plantuml`) и вставляется как обычный рисунок: + +```md +::: image assets/scrum-cycle.puml height=3.2 +Цикл Scrum: от Product Backlog до масштабирования товара +::: +``` + +Подпись (строка под директивой) выводится под рисунком курсивом. Растровые +PNG/JPEG вставляются как есть. Необязательный параметр `height=<дюймы>` +(`h=`) ограничивает высоту рисунка, чтобы уместить под ним другие блоки; +пропорции сохраняются, рисунок центрируется. Параметр `side=left|right` +ставит рисунок в колонку (см. `::: callout`). + +## 6. Задники + +Изображения-задники извлечены из `presentation_16.pptx` в +`content/assets/` (`title-bg.jpeg`, `content-bg.jpg`, `final-bg.jpeg`). При замене +шаблона положите новые файлы и обновите пути в `theme.backgrounds`. + +## 7. Шрифт + +В шаблоне используется фирменный `Elektra Text Pro`, который обычно не установлен +в системе (иначе Word подставляет случайный шрифт). Поэтому по умолчанию задан +`Segoe UI` — близкий современный sans. Альтернативы: `Calibri`, `Candara`, +`Corbel`, `Noto Sans`, `Arial`. Смените `theme.font` при необходимости. + +## 8. Проверка результата + +Презентацию можно отрендерить для визуальной проверки через LibreOffice: + +```powershell +soffice --headless --convert-to pdf --outdir . presentation.pptx +``` diff --git a/pptx/config.yaml b/pptx/config.yaml new file mode 100644 index 0000000..31a02df --- /dev/null +++ b/pptx/config.yaml @@ -0,0 +1,130 @@ +# Конфигурация генератора презентаций lab-gen-pptx. +# Шаблон: Самарский университет, presentation_16.pptx. +# Все относительные пути считаются от каталога этого файла. + +presentation: + output: presentation.pptx + author: "Степанов П.А." + track: "ДОП 11" + group: "6403-020302D" + +theme: + width: 13.333 + height: 7.5 + # Шрифт презентации. Elektra Text Pro (фирменный) не установлен в системе, + # поэтому используется близкий современный sans. Замените при необходимости. + font: "Segoe UI" + colors: + white: "FFFFFF" + ink: "1F2933" + brand: "1B87C9" + muted: "6B7280" + accent: "0E6BA8" + tint: "EAF4FB" + line: "BFD3DD" + backgrounds: + title: content/assets/title-bg.jpeg + content: content/assets/content-bg.jpg + final: content/assets/final-bg.jpeg + slideNumber: + show: true + x: 12.17 + y: 6.86 + w: 0.5 + h: 0.42 + fontSize: 14 + # color — для тёмных фонов (разделитель), contentColor — для белых (контент) + color: "FFFFFF" + contentColor: "FFFFFF" + bold: true + align: "center" + +text: + titleSlide: + title: { x: 6.7, y: 1.85, w: 5.95, h: 1.9, fontSize: 28, align: center, color: white } + subtitle: { x: 6.7, y: 3.75, w: 5.95, h: 0.7, fontSize: 16, align: center, color: white } + body: { x: 6.7, y: 4.65, w: 5.95, h: 1.7, fontSize: 14, align: center, color: white } + section: + title: { x: 6.4, y: 2.55, w: 6.35, h: 2.4, fontSize: 26, bold: true, align: center, color: white } + content: + title: { x: 0.6, y: 0.20, w: 12.15, h: 0.66, fontSize: 24, align: center, color: white, valign: middle } + body: { x: 0.75, y: 0.98, w: 11.85, h: 5.7, fontSize: 18, align: left, color: ink, valign: top } + bulletSize: 18 + subBulletSize: 16 + final: + title: { x: 6.7, y: 2.85, w: 5.95, h: 1.6, fontSize: 28, bold: true, align: center, color: white } + body: { x: 6.7, y: 4.65, w: 5.95, h: 1.7, fontSize: 14, align: center, color: white } + +table: + fontSize: 14 + headerFill: "1B87C9" + headerColor: "FFFFFF" + cellColor: "1F2933" + borderColor: "BFD3DD" + +callout: + fill: "EAF4FB" + border: "1B87C9" + titleColor: "0E6BA8" + textColor: "1F2933" + titleFontSize: 18 + fontSize: 15 + lineWidth: 1.25 + +metrics: + fill: "1B87C9" + valueColor: "FFFFFF" + labelColor: "EAF4FB" + valueFontSize: 30 + labelFontSize: 13 + gap: 0.2 + height: 1.25 + +flow: + fill: "EAF4FB" + border: "1B87C9" + textColor: "1F2933" + arrowColor: "1B87C9" + fontSize: 13 + height: 1.0 + gap: 0.4 + +chart: + palette: ["1B87C9", "7FB2D9", "0E6BA8", "BFD3DD"] + fontSize: 12 + legend: true + height: 3.4 + +# Рендеринг PlantUML (::: image assets/schema.puml). +# Требуется Java 11+ (берётся из JAVA_HOME, иначе java из PATH) и plantuml.jar. +# Общий jar монорепозитория лежит в корне: tools/plantuml.jar. +plantuml: + enabled: true + java: auto + jar: ../tools/plantuml.jar + format: png + charset: UTF-8 + cache: true + cacheDir: .plantuml-cache + timeoutMs: 30000 + +content: + dir: content + +slides: + - { type: title, file: slides/00-title.md } + - { type: content, file: slides/01-agenda.md } + - { type: content, file: slides/01-task.md } + - { type: content, file: slides/02-why-scrum.md } + - { type: content, file: slides/03-roles.md } + - { type: content, file: slides/04-events.md } + - { type: content, file: slides/12-scrum-cycle.md } + - { type: content, file: slides/05-launch.md } + - { type: section, file: slides/06-spheres.md } + - { type: content, file: slides/07a-spheres-1-2.md } + - { type: content, file: slides/07b-spheres-3-4.md } + - { type: content, file: slides/07c-spheres-5-6.md } + - { type: content, file: slides/07d-spheres-7-8.md } + - { type: content, file: slides/07e-spheres-9-10.md } + - { type: content, file: slides/10-conclusion.md } + - { type: final, file: slides/11-final.md } diff --git a/pptx/content/assets/content-bg.jpg b/pptx/content/assets/content-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ffbef67d80be0fde4d1ad39c9d56afa3756d2bd GIT binary patch literal 386028 zcmeFacUV)|_ct2H8M`tJDxeev0hMM5MQYwr2BbzoDT%^BD25P1@8vrqiqr^53vHB= zK?o5@LJf?RM5GM_5+D$y3y~IDXyL~Bean0A{rNucGw<`h-b^!qP#}DT`_V@SJQC0Qw zQ*m-ZJG-jD(J0kmCvR1t$_-V39yr+B366C2zvS%dj_}f#S*mZ6xrA`hm$B8bxMAUa z+x0QxPN=V|b*SZicqkIC?IHsdXB2h3X|ci@TR@qkUa3X{cx_!-1fim$bB1fEwC2)zp^K+V_1O~=a6=%2I%-}Ghv*{PtQAeA7H3fk9Q6{xMPt$IUERZUG< zP(s-+#LM3)SlP=@_Fq>pboGP#BE0<(Xs=6OuIS{94)E8P5w!Hbx`6Vwu=w|d|66XM zP+$7>S7|?gE7$)tyj6l$E+C+?3kc+*r2)LD<_2_@`DbO9|EcR*MmKM2 z0B>t(XsBy|Zh?Tejcys<)Vi(t6G&Ur@WxMuGOB`BxWIMb|JCq+jxK9gpMRctA`Gnk zUA>*W(1CiYUxtYw;nIJd{Z}E?|6Aq1iu_L_>tAIB!}ZJQzvqeI%fDxutCwJU`3mOI z{sQ36f4BuwxdFI&%f#Z_FLM_F5Ry0q1suL8XDsmz0Pv0A=dV1uzw*A{9hZ)MU)>(8 zs_v|Q)Gmm#zX&+<*E|Eb{2?fDXrBd$1|0g|Kfd|TarocIKdXOp=#U^+@cDPf|L)2D z9{}NF$36(XK72?R@Qv`H!@`I5TLFB5cseY&_Lo0@^#%YqcKpQABi|kV_T(V}vA;6E zzbulTA!a8I zl%bzx{&?=5lbY;#a?s6NRs*71w$(nM)GH*LKt}K{z0S9ZavA}e3hv3TD*gN)$ou|k z4S!Ol{*%$wl>08OZZvJ-Lx67%9scH1hfaT?BK(ESFbN>dl67%TJ

{5l<)7{k15O>0S68^aKM2B4jgdc?{feQ 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 xaVxIHJ*L(5gtVDEWT*fg`O$9MA! z6@Qf7$asY-->yI3;v=#rRE>F5lex^4bW^7hXz9b&lW|*k>DRG4V62O?xn_%-DQATFXQAc$eI8c_h@FmM4a5YHIx8=rF|%%CJ9`ZnQYD54ao^;ea1l zSYMw;EUGN2s+9KVBeP4f>+*R;CNl~29`!FWe7;Z5uHqx@;Y}pesmPgBW|S-}EO=&V z@RwiX*J4{WBkrTK?e(J$Lt6G|Bzr@^nK1J%JQ9-dMSBX=CkJ#5H5BE((-a(DVrKD2 zKmG~bTWxq+TQnHU)>t6rNP1MY8$B&cH8Qo$mh$k>xMl}4dK^5H5?ZxZU{uz({D`(F zB+g==2$38ya=5KRVvRFR+JiCT`SFq(v6RNs&J}BTyDV7MXz}z;MSn6CRXljpqA7g` zPsMK6nRllZH;QD-r;1I4%bGbvCb}uOUc%2WF?I zIM`NBH({nd4J&v>hj@I`w|W5{5kqp(#5ps|gcR!xU7hSVA>D*&bjRw@LUsUR8S@j6 z>39N8c>NOdt1LA_GmF^SUAcxa_FuZ~T~l)=i)D?XO=2YV&?&=)mgd!8d?>^fQn7ol zaFMf&?%_QDB`}tyfkF=K1MZL?MIGWeF*24Kx^>TSE;DX$Agi0|dfuE}Nk=y(W=daUUXIe>syLqR`_yn-U^> zyeQAUQdBq{;T8>7a!t^`kzl|ecsj#fpDEDiO9Wy?4Bg!c%V9%PMMUa5fWT!=%J5?z z1V8nUuL_fcjK9r+)B0Oy_W{3^Kjt$~;1Zte)y-G?fRNyxwTn@?Rd*;I`+yMx+iiB# zz_O~Govql{=o~p7_F@X!P~Fqe-VPe+@-z0Hil_!AmWVfaryjKh1wkB1II!J%0sKi3 z+6V&SUVHaOU%J)yA9D`6&&m+G5qZ~PyTOGaGm$XIE)cgvBrLgy^+snia~2;=(b9Vs zW(D5|JQc-`KhNYT#u3XPEy8a`8sd4CN$xLe<1hKog7DtVg*K!J*MiHDRyO#l zcvE%m&0@%+W2tYS|L{V^LWTLZ-q3=!8iIcg`79ZH)@2L&*oyj0&30C?iz$H_Rlmvj zu;_th9z&9$dx{|nD=-N8GlKz>qDMgrLqk8oY-xk{W9|gI)2PxdjNPz$|E`-}&-hs# zkF*-{?At-h+hu+?S8TaR(T4CW@uy2Z4BOeTM9Zv}h(HMgHj(~ueQToDmo>dD@+|*K z--mP(sg_b#T~+l8I?v@!B$DuWiZ;i#ww7Q8y?^y?fu#t<2JcbTY%iBCoIp1&ygUc7 zr2zYUT{6pcT01*=0x9|B>CRGV_AN1*llp->p~E`~8F36!q8lTtufh&v-r1cjyu5w! zAD_d><`54`^Iw<>h&EdLB#MX(H> z4f}8CFt;rS66#B-*r^e=40^H<2@Q6p@xN0fBy@KE-tB&4yIWMb;gx*F8v>MoSX=W#V144otW=M?nak*OgVoD2 zBoaz5LJBW;cFrA_4yt2$2G(lTkGyQFYB6)zB(@<JC`ce9pMryZ282Bsh z*x|H~3$&kuErn2+RL&{?F~7j))o-f%SmXJSjE+xT!D~=7USk>Wey3qpD2Otz^CW+C zW?VNYeK!hX!@whRP2Rc?&B&#d(iF2w|i{Dk$k%y<$d(d!?v-_>A@CtPaNq zSjr+qG0ZRdy@O5m)&nns*F2-Prc`SI8&V)vW^lUkboupUD$7Fv?VrCfirMa+d87K;lA~6x?Js)Qt{KcU>K;n*Q1>KS=*S;Q(UwJ#O#YRqzH0 zxo6p2VoVX*>7oi`FKc%J`_rN$f1KOISmhIb2|3YR^T$^Rok4eoo!Z8H&n;$JM%h~1 zO-4*Q;j9TU13ga}YFXD5R-&GaV_5{p!HrNq^TGOc^DA8yQ8Va_uDNjcopEyO*yahtQkD; zLYiFk+AEbO&)%al2W@d;M(3{Dc2D51b}2cDyFGPCj=9tJJ_wW5bd(io9q^3)aO(#3 z#M~THpA#ntEdb4+0b6>KoAuQY_`Kz^_m1aU{6gRmzOJ$9=pt_+RicNsy9Q4*aFjj` z``NAD@vP&l-^h6gWb)C`e`v7g(}N^%0bx~MtE>m>0dEl7q^_LI91X8zfoCbT`*Q%r zee>^j%t-MO>kB3uiV@i)L zjpaD0E&FS^;Bob+Tk~dNWs7@o>j7qgvb{@m-^%o~s=bgj#N0I<+*}?Nn-o_Z<}~8D zWx9m|mRWySV3!N#t>`FkIQkiU>^?C)#C>RB29@zARjV&&GU*q?1W(?Fuii{rnU-d6 zWLp-sWk~*9U2m$^r2*YG;1C=hq}zvXBj6w=bkS`d(d0rzy@BjnW+yDodTw1b(p^$R z`9fZUoZ9VnHwqn+w-&yitj!N_Sn*L`&yL7rM%`KCFV)b>qT0LWmBA^btgY{LBPY7e zCdzVdjAZ=grE^~3N-#6+Kr^`8>#$5KjLEz`e~m~^--sy|erkFz&*YT=DwH65tVl{R zXS}vkx?!1xZ{!@wFN&8_GmI3(5mULAsmILn=PZlnP_)HS$8hX^12^m_VCc@yXRl4Rm~c)`TFR9(_uyKrO5oq*--t%!iDJgE(OOyiqz-y7X8!pc=h$(4^yk* zp_ZqcGFF2v^Hs|FH@j$cNs}u>=$XB~;D z1}F%5pmfUf`}F*SL*Msh$I)nI2=lsd+qmIKiMXl}h<|t7ys68WKdR|fZ7jn%8NZQ{ zALql-Y9SOnw4N%j+b#_iZ=cN@sf{7y8;dhKwgdR2b$R-3&WkX&SUEYFGPliv{Oc*-gJiDREDp-;d0 zkFQL>gXF)&Zgn%rgg1v3;64&H<&ercH6@Qrc z8u#^%Dsoa6^`nfno(0nT4NScf`5AR=yE$fOW&fYB?)Dls(8&NI2~68GDAMtT6akszIZi(8JyK6 zH9P*U8}h;P2D7WCe2i%&OP_h?G1F%N`$@iHg;P-eS?J#6T;#$sYj=~20(rTkQX)@l zsgqA^HN7i0>stjM&9Gm7HfsOd;7^KMy&Gd`Q{@r^wJi_cmPTR6VF|g)Vi#>?St8bD@Es0HoZ9#5?Xg>=MvW^>LX1RZx%-g z*U-w-w)9c*&IYQRKef* zbi*L8(lsXCyib}pZ?y%LJWFT1+~ON_u%K22w{puN|AX3Ys{Xr)Qi_QlFFWB;XXMn| zX!wa2n3eS(ck+YES&MGWb=^7_VrM5)pTvlw#v5~$7Mbj^`mo1%lov=&QTPH31wP8l zx(5F6@*!%r;=Rp-g-^aqN9Qk|E~IzJb(>*8S&3HMr>d36xZvD4!ONrg4VQ&Bo4SV0 z1SUzkRE$vP4#7tpiCmV*n>+*gwRX;&l%Lv#88A2Qm?rL~B-aIvS*O!H;PZ{5=nSbQ zGkLo5in%dOta5vhxSNViUgk(WB?hj}=noToHqYO*K!zk`*N;(iuU}A*{qt4nYWKqGSpJ2k6COJaaCY-WxHPbmZy|uf=gqIo3g%3#DlJewRy8+ zR6DAgg?d$3u6}T+ioP;hZ4Pr1O@?>9cQAy}FGSnPuaNNbLaq(SHUUy)LnoXK&(3$f?==r^^fSm@A!}#GBSl~^W!<5{Za7II8XZWF7&G=#L&O;5n@QrRH)i|P z@oTYMw#>D3S-ZGl`DDjyu7|!R-u|v={r`Qv!*`{Aa{MHk1t!gd`#Zl$-T8AL(6Ec% z{;sKev@mjdAFwENO%U$+KNO^aLuR33C zcKjAxkTIk)^vIbgHz)M1N&sgE`XZ+I`{=#PVl93B<%XZj+Vv>|0csly@_J?;tKpH}z?xud+$x)QCg{y75d@_kIh*mtN| z3(wl!2aFx%&dG*dyVcgf|w z9cBrSQ6F}brPee=eBXZ}McwITla9lwnm_B4T362)bR#snkxXR|_6R-YMuBlKUD@-k zc0A&hlK!Ksqe$+=q8z8sW5AuDb%*B`x3NRs>NtZKhVHf6xS+1j;Gyh z*IS!SFVZefDNHrfOKn$o#hMf)$ftxTq#ImwOGlf_3RO7G$n;KEC%WF73$yACHE){; zh{YU_#Td5kMxEU~UA7grX^UAbt?mlbjd)Q2OI6Pflf3=XXZ3!@>WiKsXmf5}mxfej z&qYblsQ_d=1cn|s%nkROp6h2(H^aOTcuoBS&@ zT*nlV|58)5Vy}a>sr8Dyo4X{^gDQP^@k2NeTd@zY$8BbDgj1@dgh3uikeR~i(W2s8 zee=zH278;j%_bF1=Z;>m)yzoGP%kd#YJG#14CSO=AP`vgW#dmP@5?SANKy9U zT6hjQUWpA)*0p$r%whVT<4mdY0=M~N(%3(2O7)PosU{y>O7GI9m;dCbBZeN?76hS> z-7>Wv;T5IlQWt0q1~g5Uv@kREW;N+KKFG(Oq!upBDYeVC+6PE-M9hM_Ugw|wZgI0N zaA$Lb@+0e5u|=_&1>r5}b$VeZ2R%wa#6j~7S(tOpHFS$(D!pw2XD1>@iX9 zk^G2Tg=;wSkoqoP3Q?Sn7K%$?GR`8HMPQcF+N64FhnSHaRXExPf|*x2oZceN>sqAy zJnJp9)FW1J;B_E0kwV(*`>Sc6lBzzg!j7u8`CjxS5nHJijnLLPonR<(nh1I4(b-B( z6}hn@IvC!lVlUr5QE4~lv9|8#Xg3Nqvo6zV{=sM>?Iz^YT1!D+TPXr@TyrfhTD-h(b=a_pR)VF^e(9DWA6QKsl#ah|v*Ol1#Xe$A=uKtZD`skwKK*6PQ8+$Km_TH_Qk zPW@2xIXmvhE`wY(n~EZ3@UE#bj=El5tQ_RNH@h8QP~|+X!`KQj$jFM@?l5NskTFTs zL{7G3q(o2_(RlCCgre9&2_HNqshXz#`OH3mR)1d0qhAv#t|sQmRw?sfJ-UlUl=S2D zQaj|r%sNcD7N!$y;!6&Tnc@-Pk`m&Ue%3vGLR;lzaz~pl5B=mt3tD;Zai4P}IL;YP zCC6fi<>lp_ouL-Zs}F7O`2>fQix}wlh}IOsq)aVILOW)0tg2#4v>ODKzR`Qs~7t36;KwW4nH8@|^35jmX3wkn9m+^eW`yu;+ z*G)V_yVw-g3k09tMn29}h8eb%K909>c9x4vTGPEd9CmvqoFFxgtNY+#uYG+scoHSh z<<>(Q(1F>M1Qi9`6*AZT?LgE-?FqGJ$I}QW8+#`sl6Y~S<;XglRwJp6$zZj@$E?D$ z6QG=VZfo$|@|LQ!nZzzo2hxXsttQg&sC-KI!NAZ>bGm1P!Q-5I^Hu5fOt&Z_x-bsk z2EKj8xMjM*&}!WLF|o_RaD@;@82fu1npkPv+-$dkg%^)jlA+M~d(r_|IDECF>~`^gB4q z;bHtJ!s)n6Nm_ro=iJ>CwE3UZ2MMxbW@5J%cZdNRL8DrAa|w)nK&z);Xs6FUpuGzO z!trXISHYrX1Zp=rJTH;l@+9S~Yo_33$b)$xZnS4cb^^lPTE=i5)AbxF9%Txd4b9f1p zAnulUD$tiPK{l9=Obx9QwZ0!+k(ZOJ>o62R_IfhkDbc!xOKMt$#Tjqfp@B1*m}mW& z32B&T$muong2ko4CDaHzX4HRrmo(+9@5Q__x67VLHZaNR^T$u1;;*zKrzpjG&SD9J z8oP{=yiU$Vd9~G(Z#hG{pHAmD9W}4X) zf#(2;39F*`qSX4Ti#R%r0U{D+xN9vUa>{oqcwtkxsjH0}Oo&NlO_B977sfptQj1E# zN&=-E48c()S4m!UrCYb63YV^*!*2>!agKGdSfttcUcx zI}fVr(@o}~4?C3j;!}yH540U>Kjq01ZYnM}l!c%O+2`#N(J@zypK?}c??O36r64JR zPV{3*O|MeQ=RE?Bo;HY}yuMb$8g{!@BZ!Zf1w+yY@{2H647-%~*4@^~@9Q5g;-2f4 z_5SV^?wDWXF#q&oNMMAntku&-R`Hag2}4tS z<+>M%pB#SsWN8_^h(1fz&RVxG6}eeu1FkD-)CZfU7IBtouifqIqeddr7j2I_xEEKo z?aDI7$;sK@&C<<@4F46TnGvxO+sBB;_>?an<%~k1W3T~YBe}YPL{M_UqXLX_+b9Ux zjdq(vggeeku=VC!CoynCh?-M_OB>SmN~l0D!MWzaP1$`}it6pc9*|;rjo96atFB!J z4!H$>xkXc&UYD2w4GaC(E#${&HsoQ=j$8AE6&b4orB2G9oL6ntnhl=2;L(Wf%M81< z7!&E@om%D|Fr}%MD_(^{3Kr!f<})KW0bQD)PSdz#e8H20GcaR(-Czjnaf6 zuo#+K6T^s^?8&&c83QF!yW=rNRUxRI9h4TN9N6Rfa_aO6?qoVIl6uaoQXD1`j@pz| z`(Q^6W(+Ue&~0%6v7{pDS+&4>*o3#~9vNp*SC-eSC2N;54l%N>wQ|!EWA4J5i6l~6 zdZdzVt~zm7Y^iYf9BKM?eeGgL|7g>@jJ!F{SlXOtq*f+@uYh*MsOaz-A=`r1u zzEXMnveCTdk}H({MzcSwCFzmiv7P*-uwbKEiEt@Lp+|OmdOl@_Y*OrCBUsic zgElzr6O>*n;bz&*x}5ah-WKQQ8s!vbWR|VlVTJ`kj3yZK?6NAsOrY9NVTGgN$EsR1 zCF;YOtXX_XUOINT>VgHzUVzdLcXo!G#IBjythlz-v_0f0!^SDj0|I9^`O8Lm;5ZPd z(@HD;KCDxh1T&Zq3mLp&*Ks1C7Gzu$QnL~L@V#7;*89!LZGcxuIU4XA{&#r2Ss}Q^VTIw zE+v+Q$q7~Mda1WWO!QK37dlBLNB`V+HIw*LDNrL5zCIUjn-d~~OsNvA@(WvOUsn08 zt@{9{eSpyV?%&j(2i3m90gdmbZ2A8Pi39KcoGRGAY{mpHm1t3p?(}|vH9)pF#MF_d zy+5YG<;r|~wZjh;<(Iy4A;7W3F;Oqgz21#+icju|`?BP_ujHAujDX!An&}}-fu@Ts z;=GCI@X+oEC9R~*(+H*2jU{>lS#;&h;Cf=6Y*}DK*GyEwOoYvZ?08Fxv$9S&$Ruv+ zIS+LQ^Hgl}$!|VEvcCmUw1ge!#Bq2Q)PGwy2g;I8Xx(z=-xQ$r+tgr?^U_P7Refxk zH4V8%-C)_o`r5be?b!E9&_S*d?$EHXdb85d%66NlZKO~?6DyNf$BVFb%{MqlGABAP z2G?g=9yeYTC~rfKh{%Q3FC&kZ0BNOCy2lK9d{Pm0MHPz`4*e9A$a#FJj=%<3i7jhw zZQWLQ1O;+km(H_y&N&kCJBrGBd1~4co2S`qW(?oEtshHVY{A}#a*(4T8DbmU#1w-Q^+Z%cM}w?ij-k; zLk26h#mWvZ=fhL^J?yd0>3r$Y1;h%zX-hMU>9{vq?7rsaMv`T#z7=5#jFQ~TNfiTw z0vCY(Gj+@uuunZvUwEfYQ3@*99M7wtf*CRfNbVgPBzKcChCn*@Im02xWAKxU#$z`N9@7>Z(BxTv ze5t59+&!CFd2VI1(i)3!D@8h}yFJzIIGJf3O~RL&Sv?JjTriQ(_>-sYARRv&Xge8_ zAXcp_k%x6DgEn2EHpUyjd)(JM7aLPb-!ti6BPdwHaa#7|@I0`QxebC+C}1)}0YqZJk#3>gy2hZg77x^+sI|cdM9H;?Pm#IdCOiI&xJu2HPWtcSS2; zg?Gr6&Imz>g&~EV?r;3uaDHQB#J_P<la@o_eQm(hoT`05C3`KX(NVvG zWU(zP-vtSji_j7yG2&$Mae7=j^agGr#3$v<~saWYEK40r>^{B8A zd9h}Bmxx^i0joDKY`dBmT36vyvNe%nUN*=8HH5GWMsi?o+-KVA+dKw6ePkDC6 ze?HfCkWKrznLg-uF`R{3h){1gDI)SFE7lvxN)&|ozj&bZ{kbMzlv|4F%Xt&^v}-*|Uo=~XxO+;7e6*8#>MdZjlbC;k zRJb|Ac_1s^kZ0DH8E=$2Y46(9g%m(@C7bQVcVfoN)X5U|mD4UHc7S<=&}odc0HQOh z#0`FC)^3I2nYzE#PI)Qz1g?@@-0FsSp^2yRvTf!GN%Q-FM71EtjHl6! z+PG5aBaoKOdHz-E57t$U#DXh2R`>P+!Hcmt;cn;og{OM;D!1HfU+bS6vC&u!&m$)j zIy@ZclWyrdg`3g}_tuIXo=>ZV)EdYr-gI-P?wEC_5peeFqT3gEKlzNEhW9E~*%Z~o zwYsE#eZ1@*6xNxUebatEC*LUMI>*1nIw5^cwrYfJJyeDWcA9s2T0Z6!rJ`F4FZS*{s;Mkr6hGC~RymYf7K)$@S5XiF5t(F4 zx*eE@5=y2pG$KO?gUnMP-6ev^kdh(Hq!dC#5|AMYQ=pU~A_Rm$fCPdN1|iH4#t?p~ zetm!IzO`P}Tit8jd*51j`vV~B}(zcKQlG#FK?t8kf`z|sR{_vwQ^8o=(leF z|Jv(ceqVI=(Sg_&YDQAjy;Hv>C&;rCWrM_;#(su!iu8AzQN1oD%`8#v1@@9~N>+U?*S=>BC=Ne_zw<>z>G1PREk``yvrXNy~< zYg#z1wK`l~sinX#k`KiC^2^%-%SEHL@?Jf=`i*U+{C5=WaSb?}8Df>0T(RItH-;v# z!cvG!#~us?V;l*x-sfFoVg#=C=YuYfrSfs2#S~@s}okPU0!^8ZDwS zWvTLrq)rI>Ye)Ye+VV~LcWS3f;#LzB!V2sP4F*>W?6H?gg#N9nc!R=0yr?EX;K?o6 z`LW(3cG+jwH8&b)VQs^vZl`JoaF;F@-;R1~Q^ax3a{J>O{Iy&08ksUYb5>nBpiGAFuq5UVB(XE&{$m~wN1yq~3U8bVnT(k}^osD47#K z_4=~@fR)&hFWJ}-WIbzU3r-DkrMb!JR8X?rnE~_mm9Lj1Sz7W^t1yL&PPL!M`tu4H z@3NwhXYFb%r9S_FhvGWb) z-fuwfdCdvU&D~@%w8&KD>@%dbhn4MwJ8c~`)3r_wJ$WPsWh|t1>pV_-?Ebs%j&Jxm z&AR&rx`>I4GeRd=pWYqU3>dAiR?qw5XT4sf&-oG30e0U#EjAQKy8k zt16rHYaqQrHZXy^o0vGd;!KoRlxcj6bX0~OS92uHLI2p%!1U-)xaiR#sW~mwqCXl} z3jSKc&(N#eM?WCYp`q@{&3=6BwX3^CYN;K^v{=&}o>h}xNSEZJo$h-k+w7up*YI+47^G2W4Q#ciQ!)8%pxcoa`ZWr-3GEO@YWG}LRTJeG zj TRrDC*8gJvYA>eKZ?f6HLt4C!w%Wde(w$giRr$u5o88%po6q0K4!>DA$`aM1 zncZioAjK_v*TaSc=Vl5V6$RGaY?vnd4=+%LX}ZO+9ZeUyPWyy5Ft?mJk7Hd63cbob z>)aK4hi^^#+){s{tXz1bNvXr|!jX#7M7E|x@mNd_`I<+@C;z|~`GFREboQBjm)ae# z8$)jCRjW$&&DmdA(#%(7EX}%SSj&}^T=cSzb}K`~{u89<`X{=iD{eiM>OU8&q#|yTQT-9y8b@8x|H2h%tJ2js4B2o8q(F?fnjY zkIuAJaajMVx-UzSAue7ly)WF9A&38s`a|c$=PB(IC)qc&T7G7St{G9C??%5V3)w%$ znrC3XgLxCKbm~m=ERVpah-Do_NYBJoCQIGaFFuEAqYnY5)_h z^|@C|FWuS-j!Vh!49Y*@;gOv(t!@ix)$*d?xK1p^JzH_ExTtL99Z}H0?97C2GpuyS z*dEX=w1Ta$M6RrJ$`uF4 z*`=$UX&-giIot4iW$>6F8_h81{ZU~Op#qO#k{nvs28*>!V74VPT?=YzjEK&z4P0L9MO`eYZW3;yeTDlhfBOk44JU3*L-;)&{!3o4Suw}0uBlst$&bJghkV=)wqb#JT zv&;}M&8@I>*U;K-BYh|DPFRX)TysJ6nR}*O5T)Pq4!?us7@bOdc|GL}=fQ(etl2=z z3{LlIr{UFVQ@boj1-wn6sb^84S;#*IMWU>R=@fU-Z^pZy-Gf79szk9een@8$!`{70G3(srUym*phE*$vThJEwBq*AnF zX&t{Ay3$Z`P4r6ZCuL_OO1Zw^%!aMXkl_Q!m6X0%d4Y@Ow&vY^;}KV8*!{}voC$5) zx=uZ|!quMf%Xlu?vT2fv7r+Z+#R(UC>^mcBR8rxuN4h?2D=DOS9P_i|`#Yulgx%oq9+>UDO%f!)>ArN$rWK1jy9@fAs^g zf#lw`>Y##ZTq=D=eN%XoJ?t4Q@q>Wn-^R?sdgK z$Er+KIoE$EPzwpM^ZSZh(n;kKU;mIY;2-V+RZ44jwnUhzuk;hM-uc;fG<{5ToPL8l zyn89p?CrAdFYcqEo3vMR4*NX+dcHO`A!vq3JSPZ(aZ@2`hRwPzsE`w7qkox)*cMki zF{(!w<-<&bGxd)+Im;!;C?!loZ>wba>TRo|HhmIzkW(9MOBmIl*_D}DTRJ7H*B7Du z%Ji_g%2w!=soJFZcMh?`mUczCm%LJ-Sx^TWL$dv6$kJ%)))=Mz$Mwpk{HAS>sieG_ zrveV8b!x@4l1e-CIBjW~;()+WMgztTg|ItQY~F5Tw5Ui0;Wb<4r>3?kzZ-SC444~N zO*L4;{<~(`ex>9C`SNSNssUR4xTDm^|mBY{(o>tEGq=zYbLD{Z14C~(5 zPGwtXhlr9+Y~qw{9t>jX>fZ_D9SjN$IA>4h;trdet0vQ?=0qinuRqb>Gt&vabqZa2 zJ)V@S*7#Q6h3P`r4VogM?7X0xI^O4!Qhmp%2aA@f1Ip$HIAQB z4{owTe44t>rkgWEbFhn|X;r5hafzgyoSfXm{O(5r@9%?h>jDs88TLxml`s_aJ4nCY zKxA`r`UiiVOi};t13p&PuIULI*W>ZLE@52ty+Hm*g<6ICt&~8DtUigSW%_x6Y*#yB ztNJ$*o_S-MIJXV&R2k318@H-DQOe0OE0cQfa<=2*f);l3O`bB5brIsL+*)DktY|Ga zoaw!xz)^SZUxqds>wK)&2s>#!Bq|78qLuGdB^%qpgh*07XxFX^q{`1RTll0@L(kXu z4PRHkjd{4Py5vEQzPTSGS7kF5pj*ZNLFu!>-wZi63>i=Bl9p_yMzwv0eucRe+R>*E zZ&v{+@R&>`tnNJsAT9LX<>M+F=?URTDhccM*o=Gpm$aSCsN!zaKAu%=yG(rP~yoE?cNH%2j$O|Gbvie|;|tZVJUO z+!kO>!t9U3E0t-1kKilgCrm1*lcSI|aw-<@Vka6HC3??_YW_BTbALKkj_%zam9$+- zs%0ro3EXuIcdv|@~-E~nG|J@!7_yi=|LKu_pEgV>A*?6pRAa-SxgctP_ zKRrSXGlYKE8(%^Bi(9*1f$Ny4t>Lw^hoQ@KXn3 zS0xyuytL5({oIBrCCB|C|F-FM*r()&T?w_7)3tYJplz5pnOdbOKSzyD`&Y}1BeXLW zF}`)zzF`E}|Ae`o0v~0vcaG^^%GeNE^woCTxYchRyW!@#6dpdZgfa z@*yb2)XTUT679KE)SoF@9T@-CQP9#9u)JUXt_X9=7W*;K_zm${f33i!tqRkuV>h&* z+@<4M&8%r-!3Hpfv4-x3H~9~TR56Wdwjo8>7qK0p)kXQ;v`sdpW0HJAKk&zKoP{Pq z=s>vjhaIv@KY2kT=hZ;U1uda@3h~N2Lp{2k)jh^C_b^JXthxxg^yjOaU&~aEU4!&} zE;a1#o!V!sq9{IpF51u`>dSXAQ4P&K^6c;!UBqt93%f^HVW!tW4}VTNU2SQ}o^7yUmA* zWk-ibm&30;r(ygwx3-&JDW&)pdkwY5 zU&2$IhA1%a^AENC&HA;x6ZUDDOX2%Y2&eB;yqa2yI#|vL(4UonCtdFZ@U zC%Y((RV2*sG7I9?aw0ZGMMS(A5-xF9ckrF*sD;I_)4a5|5jro_{PLF|d(GEcgdw%b z-tG7lUL?WD`QEw69_P@C=2P&MTMsjz{1Q7F$EcZ9x|OEv(d%)gbpe;wHKkH^yN}Ul z#hNU5vw;$y?y4FIP@U;bJhQmU%E}cwMCZGP_8XqmX6Cc};kmUvEwT-Qz`bH4QoFC+=EiIL zN>`ko=9PPRQBGv}4|(6&;>-$u%8SmrYOQ%eMYP^U)8p{%{sS>p-~O7I?z^Je>e$0i zx4q&_P!6k8^z^z%OlDWi9lNS?f3Lw|oYLJJe<#}8=&b=!|IeM9Z{MBGU0jxtMk%lH zkpXXOJ<3fd8VC6cvB#eJMi-7MBtFBK^LF71lSY!nWT`dCh;HYubbw`g@Y_1I;I z+R5eFPm$Xsb(W!2u#*RK8l6_7MTA3-BWBRYJ`avZoEY?8tTciJb#tGEK^1+cd)*Qx z^x8VU5f`3OMz~!#3;^w z)7lj^k+>ZpZe%Db-=r79wkl{b+t86|^{UK{usDURTIq1E(G9*MAdzNT(%*D6^Z5bS zC`%ElJ&Vh;!&cmZPlaKGNjCF({~)8aE2C4_!+LopR_zemTH1bk=~EpdwG3u7j~RQ< zs?boh`tBXd{%;9RES^V0k?ZqSo2p;f&dee?vRP0x)wA37uX9$$xwUhmf-^9C0qRo6 zO+if*!MICJoQyoQi?5T0ereXutDCysK8f1C-}F#ai^k}xYv^`pAJxb~n`$A9$fp{d zMX&<$t!k^s0}HAW`I+)M3BGlfZifm#j1Q(epp*xuc^)t1Mou~k3?($iuqk97kz$ZZ zTZg$kX+pJjMcY;F@T8z`UdwJf_b$m)ziqd-c5Iniwey(ZN0x~yC_oI=oJBKXN?BTS zUe|xS`2bt~1%WT`LGHGUakE9$ggT;I1S|+%)Jr$n7xmJc^>-T&#Hi0pIHLKYtqftk zXu4=5!neEbPrrAVKipWW^eQB-yO@_(n10$nsgv2XYP9^9>UNY-c=A(PC8x61ckof; zp~x=Dj_a$V^utE#LdnK}V|8O8j3B2+f+C*m(Oq>Gr$#!?BI>~gn(pvO#*)=M#!q4G z-)&upIG^8wPAIuGzX`Jp(aqtLgWZOE^U~MM3p{n*wai)7(e7*fR8H3Y_9NTKcBkZ)i5&qYv+|f^?-c$02s@Pi9 z+%+rddab8TmV&;UlNVzjc4X+a^<LU=${Mmx?$5Sq ziK*4D&rhv&v|KV942t_~_;K75zg%BOtzfb&SR<8D&w5)=mnyAWw~LGFL0_+r>un;` z!N}63`mrN{uYxuvl(B<(2E+Ja=31ma6LE0x4W8HMxnA|Q%l74P&u>l(#V1;;ZSf6(X8Ej z?k{Y%(^RjX6^T^r9Ep5@Tt^JK-M`*>RdAy-y4hr`Y1FSEzdk}HzY4u{O_w$Xk9KMI zMFsOBMhMdh;Y&Rw(XF(~d3*8i%hgQ6_E#^t%Qb4AdCY;8!>cE>_vOeGp>k9tJx~5q zYg$~q^?s>C5_(T*dm`MhC;G(RQb^RO%rtZ*|Ed)`P(!w0=YgVX`KpzQ#%U~is23ey z%fYFB>*?Lon|o!6+BR=so!W?L)=$_t5R z%?;MOByYdm*duK$)^UF7?e(h2t(T$ot*jQ@)WUhMPZhK%REN$(Fl;B) z#AhtaYB(fiuTpiUMm80ZkmIGu*qAYZoO5?*|J@7w_bz&{?f)#`tNfm_*SI!?+U|pi zvH^_;P|Ia_gUiD;|be8KmSymczYbTj{7LHlhZcVB7W>E|u|5ShMFD)#c<1dA!=3053Kg4gH zwHJTq6gnq*=#NwQCdLl4F;yHGXk-?u`q?%;OX+gDqvw;k$;cx8AGuXQ23A-9!dlo#xpIE#)oggv*D~jpD7p`x>mkmdEtjF6`m1y(o!{;5 zmY3b+py$SBZG$)07PKQ((>dzmaP-mshTXvQbtfChd8Z5UvSw4q6SL~S44EQU&#uE{ z*Q;l=k?oEiI@Koo8cQ?1S=;r8TYBFTM8jY}Pqh@+j{7+GeKz!{!X9F|}nJUlWJB zZ1$*m9A6c`f0-v~eJe6dcsY``H2ATl2?m)B>6~77^6uhYXEtk8Zr!{%K3uEX!5x>c z+iZ8%S4}+r>|)iq9>ey<3E7;XASc=^;f1}%7JCe3$QqlhKbf;>)-XMF)wXVcU)ed= zKyN3S7@ewq|9}+Z_d{-@!!5{DH+q=PVv5J<=ZwP2&sJH~kX7k$NsfJAwnBaN9YI*L zX>C8MZSCcW%4KwDG+SnKbV#|VDU3h#)p70ZQU%R5mik@)^kzs3xn=XY)c8wp+X;@u zR5OxOg$!%gtGMkuQl0V6r;n8J)+4zJ6LqPs+q*gpsqNsWRpOmUtg91MAtVR#b*Z)} z*0N@ePW(u7OH_af)AWp65z*deLv;AlLR7f&a7D%l8Eq%q!0??Od)?1DKeKgI+}wJw zQ!{I7kOWumyxg8v=^mt_km40jTIO{f3tI`?aCX73NlHwCe9^qBF6lkm5QxPuT20#u4yThLC2>&Xcy-?Yhv$22STkx zK^bNZT|&XjK`<6GOrB9?W(Nr1*-ysLuU0(3bMLcF) zF0)I?xCN=;Ua%po#P@$sDL>yee1bKOj~tojc*|wya=1_1&5hHf#Y=eVkmQ+_T(l+p z4EhLZBEN`lIDxkfu3|40cFla+ltQuznUucX`iiP~fq^PIkSjiy?3G&x%_Ej(G5>7! z*WW$E!Nz}Dz*pye<6cAX(B@Fc{#{09G6%K4$Q9)tw(N~KS^qu7Ll?@+7ro%09YEmy z`1|`WaWhm~T5dzJ@5;?XSTzuysF`w;-**x9&^qv(9Z_d%D@9n3-z86H-yik*(dBx zMc9(@yzxbC7V>PD31z0VImWv4Om4V~A)8Y_-)KYCZ(H7SSc_J((BZpbLY(B!cubQf zA#Q*3mucL&yha`ha?f8<^P{aMP$e0}AiQt3-Fe7Pg!N(>JSeMphj`mH5AJce%c;gL}ssn$HU-R9XPLHiNnK$y!G&4skfoxvpjOzmk%{E4bV z{bh{dUcHjbUYx0q5TD?}JXha73uAONx42368>)W&$Sq)0pB;`<$Zy?s)w$m>z`q|% z>A!{O7PdzjIpPv-Kj?L#+bd=_B&G%a@#;Y8)$iz1S30e*rWb5>i_3SD36uk|e#6`K z&B(q=Omj-)B&wcf(oaI8O_(eMJa^T#2>m%A>+`j1H{&u#CRvLH3XF3-78r&##2Lff zQC(wso2*o1^~;dD8`{5#%G=3xn3vH1I)K`^pt-bV{vpD_)pQD}I-p2q5MSSlK_-;F zp7Nhv8Dy86OO?5DZ1QeQPNxi%(Rbd{wF>bI6wkHg>dARwMXMH>fL8S3*J$^FZb*hr+b>^J*IKGshP_>)0P6o2@ar48N&m6<4~dODt1Wp zv=_V4>iNc$;XuZ{NufsDzaw`yBH-2q>q&1sBu%*6c13 z`bTqZ>S9!5fHO5Pn+qA8o8F#H3z!H(cL(Zd2+e=eIi~yK+h7VXV();4z%{8 zVT$iZZCAGEVO?6Vs0w5Mm@jCd{MB_Ax0_o9?V+UWw6t$*=aR@(q6;Zb>M72<4`y*U zcaL*2y283lDH|UX#S1sMJUP(WKmw*eO|6RM~?&EY`*9+$|%$%^8~%jv>~7E$~-e7@)ZGXHw? z?s~s)NnpHRdrw%rSgx_uBIK_@2gmmpd}EhIm+r~PUS1xmJisx`rNdAAE_|kZI8OOk zN-?aUMLi@iwYu1b)tjd4I$3hHpM<|`dck)0_~lx8m9-Apyq^;7BBmGILL>B>vMZ&g zX?~cT`~dB~bE3!n@<>7>vT;+Tr*@;SonXMJ&m>iu#DR6l_YwSOpf%UD8h1v*v6Z&v z*7tr1uKYL7JICTc!-V>jp-1bYYJQjNL<^V09nHR@3vM{r&7CBlNKV=E3`EAgYr4w7=QbA^{EgBVAGfH-r0Bw=y($p~{kvZ2rB~-~(EGpZ{mj#BWE3qL zD$<H_Bv#YNIb*LU za$DJVr`$pdoA6+`y3IPFrnKgsAnAj2a#zfm4t6J-+(li8kX7>furLzSO>94>o~O|T z_dJ$Y(@z_=$qSrW{A_OZ5 zb!%;?ZFbcD9nm!Va@k2y&F8%_nyB|d+gTu9*}5+JB#_yB(Q|7C$z3G7C%^pup+aPB zCeoB=x*<@v=|XYW@i%pZObyA=0Gj799?YObH9+M>?5zSX%y*-rLS#7T+3lK+lOaFO zTg8+{oE>{~p3rF7VHTz87g9nGOX`oae4w~)aN@KOL(+5W{d(H{-0^QP3E}_q($(yQ}Na%K89CY|&(F z5mtTW&yGUT&tKRQU)b0||Mgmz5Ee-p*@2$k8(A_Q(jOl} z=j>q?bw-vHN9NY$#9XokekEz8m>PxZ4`Ly}7q@8_($thSYO}O-R}(1>W2n1nITT z+5W>q%QPi97MrnZO)Z*=4WaHw?w|nxI0L{X0NMc12!gu+xDA4S0O$yTo*?K7gRuY@ z41v)g7!HGY00@YHh!6;gftVl&ih`&x2#f#w!~vKW023o%W(Z7;fw@62ISOWn!Sp!D z4*&@gAVUPC$oz*iBakBmlB7VE7)X-?d4eEO5@d>kR9TQK43ecmwm3+a2kQmEf(fu< z1T2{WYlgt0DX?k`ESvj(ecfR0XkBAMT}}MT(C(J_=Z4M4@gJsUx~GEjrZZLi)o#?V z*ba1*Yk@*OEl3Mjcr_?r;PmKm_H1-U;ko(r$c%l7r|#l~tXe~8KnsU9 zw#+tWP5ss0%oSqBJ!(4BgPn5Vr-_y7XY#v^OF2$Vt?ic(MaxJu^7j|8f~`OR2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f z00e-*f46|0cb<1}0fluScG#zpa>Cp1(fJc0SwSqa(fonf*H3%GyMRqx z8b(d6#~7h@y(e3nP&>rz>d75+`A{sBrwH2$e0d=DQ*Y~*A9O8>S`6LSSas(>1b>NV`ZOxQcx7=(|aIh zA#jL5ABbsHZ#uiF^P`vX`ww|>iyLlhQrmHhi9&0gTJHm~(l`};+JRW!NX#|0oLy=J zLs%Ww627ap^UeSE$3Z1zxCdf%KWg^b?pW8xxdSmrz46A_vx0;;xkmQ`u?+g6)PdL> zHu=Qrf!GY$wJUiBQt7gBAVw$*9BWP%-iDqWdvhSxIkTB^Ahyx_-y`Kk-sWncs)A+` z-+20V1!eZkMK^n2b~XFqv#FElV|-jiZ7RQf&Zg5WlXOj)E@`fELFEnFpk^ri>t1T(md7xu{0EY zcolo=)K1a5x8ll4Kdt&NpKj(g#En^_1|F?>UEyBOg|~!H;XVk%nc6X5=_se=iQYwa z#4OqLUMOg&B9+aQW2W*zJ$| zBzo^g^JI7vNheZC>SE6FMqsR}taB~Zz+)nhC-)^Z=cG=+?xVp=MWPQ%Yq2ylBTUfz zmUd3{YDkyx5?`xZwk1pog=XFgLtaWD(v59qgh zb77E^s(R>z;idAKr}_SCp6niM`hi%}9rij?v2S9|q4H!@NBHy3GyXx1sWU^Zj^$4~ z&90ACU2kE|)?@LbFKQ54HwIq8S{G6gd&t& zuT3$gX&GGvK_+P$vVo_1`!=NU*=xEH(pF21()`ybEsfG)yh`|tdW^= zif=yiyDqPOvh!DC6;luS7^y{sntMT;t7-qK6#wd*UCH@o9J$ka?;N?3aRZ7i+%19Y z4Evh(376(IEY2d6q$Y_ZqbSlK;m> zoo|CBI*UCOiZX|69;kVxDXXeVc4&U~exwsT`e~h6ZKR%}9n^ zZ@MRL*h!^8?E0SwHI$PZDepakwRL`&Ci=&C#KLWe#A#f+(u8J~QmruonH^@%9rdVX4%S-wJED&y+dWWFfJo*r&nka~JWtRZT@19yM`k74@pDN2j;Rj@ zYZ2n&vg+!37SVEl-fsE+f6Cea-}`rdVHOuPK9-T(Lh&=+gHBz}+!A#tkd*O3%z+s6 zZ{P2)w@kFi>_?&Z?ZdnDR%$H%{oMv`B|`hoo)KNI=b(HKi4RuA2V#*CqFzY-fmqK- zgN)&U*w22bk1Gda`Q@n*8SFzX5zbonPb(tKSZDO|Atybvp|`(K=rpLAxJ->FKku;4 zdHW6?0M(ttu78`-ELUw9D|0fSfwSK-e`Wrte{mS(<+dOrV^E0ArqQQbin~6q2_V@Q z#;iE*ODL16IfK1&ztt%^T9H_Bvs3-%EdA7Ue!oGSTuJHi?DrvIlJ>*(ziC&70kKGub!BY%sv#==__B~4+JLJ*Ctz&G|`)m><9=ITVW z6NMl&xARh5H~YiXO^*4~F}C}MPramZ+l{JeT-8+NG;UH=u1HR5qxoBjVq492u~7AVu30!QWK-0L-xwa=YDQInH?!&36r z=^K%Lg;GlNm>+w&rFp*F1SZ6{`W;b9IO2uD>EdyQdKn*2;N~j4OX~d!)N~Vq0)vFn zoSM&6)z2i=6$@mQxeG1H;>lm}g5jyZa{8Cwy5@b6K)8f4>sI|Nof+{}t_1ag+TUu@k!8E-jB}&`+g9^{6xwb+Y61Yn$5o501Br z0>ycH+w*_fR8}H}4D0o!aB>%~`Ormelsof8GCrD8re__tH*USG;a`m)w0k?j1juk^ zHhQ%jDxW=H^lZ+GJlrcYsDHe9%fDofr@S#ofL9niFSQ6?-B$@G2nd@IF;k5C&)PdK z>tvNQ>*xF!IKtI+we*3e_ms3{)0;e^1220(iS4))zVR>~sm-YvzdR9NZHrke>3hZw zKM><6r%qQ|sS)9pMZ2L-M{V8iMQs=pl9-RW55!`LRRWEh6L(|EmY#R6p6;S=vK1_s zI>=9hiXo>n%M@=o`;1^0?~mki?_%A=*{!li<`VKOfj6cinDu#!1BD>*r< zNoccd@7DalyuH}=Ky*;rI?S$5OLV{QNBD?-r0~H5QKvvNo7X~_%8AY2N^RLhb%yV` zQVe^%&AJCkHB**HN!Yedr6d5il z2Hq_Cv{LhibH`(4b-`lKTWH6$3CfGt17&&ASekC0ESs*1z-V{A~TFhVn zGp{PJ?|%sV=MFuPY5udW*B9BQ=!?NKt@aKBm%F$tA=6hTYNAF;Iz2B0oxiH#@E7$R zgOrEm$KboYNAF==i*j1ax8{m4GrKM6!l$3qjRI~DvV@LQr42-B%?!2NEx|wwDdWO4 z)c@F|)$sVWMh`ow!ptU6a_wRNP@%G{^AA*k_r$X~xns}ZvhFh3!DoE6cb9{tQMV>1 zqu_nTWap{SqglRmxoE5-eA81HM-&hU(SX-kE@X88zBLS)aC z3e-vTPV&Q*U}v3}J@Z~mWm?E6(sdn&$Xh4Zc5mOg8*!%H-wSzBlNt9%>YMito_@q? zheno+nS3nNzsCtMei}R!?qmYKJ~Jr#G~DKgxwg5pPI#r)HV- z*OMAv*p_$}6|C*bpQxs*xNBCWRK?q~J(@?>VhoUpa_PBb$Fj3Ho*r{h)EHt9#N3`C z9fLls8e|{p^qSN~>S_y$#xF4x^gA%P^0_2*@@0?6cGYMs7{G^#V#6;2I z;bH-_Y>V)yrb6oAp)Ya&??7Zi@(d{K$p37fZCCr;`V0E$& z#Q4{&RqPZP6O>W58AAmXW06s6(EJqrBHimEX2|)&9|ryenwI|pfz$Ze!u^q(jeFs3 zs2brdN9%C8t*+R8$H4XNGbhLOh38kthjI?Y1|$4xDvxRY@{f1)m1u|-vVSVbZ8JzT zTC-F4E18FGC8C7+Sixfc3&!~FSG4_;CwCgk(LFJH*`o(yzD|k}4ahWQazR<>J^ zzPU;P{Dl%PjLZc?1bp6Z;_zv?={Z8d2cvdB6R6ITuGbff#A z(=Ly0L{v5OPU1S!1}H4%tM^0PaI#!W}o&d zDm**@;l?xv7edjB>iycC&65amgnQ0V(6cHo5m|LAuSyoHa(5D1UwdaHF2;1(`fXU8 zpYzu++p|&wx(dn`eH!O2wy<{)@Z7gC*70_mBvrjT50jm)G(;MmikCn9?s|&eyXzb8 zuA@gJ@4~z^SFmPm=ttYcyxs@oCU)`o`j*rLE>Ue&sDMb#mr0|<2k4$PZSPCr&spEf zG_a4cs)Sz}^ux!?JI(i-F6#Y|Cy~yma(TM+WEYWvH(hsB-2E~l!@{n1+kf2&Y2e+5 zR@rtnJk!)JxEQE$-*9?Q4Na^w=Vx0#KyOmqpLy{KkxS%_q}B{|KVtGbE9r zf$qx0@w~o0{$%I=mN~4hXiQa$UMzo}V>Xdgwd+c^o2(>IyAcf7{j`i4XCpYi%#O5q z;{!3P-E=0^Y$$S<GeQAyT~|8Fpjss zWCy)Va9u3?KzXG1Repf6BKB2XS;e?PHxI$Ep3$&Q>E4+WH+Mq%XUm#LD@X*#GbR5E zuBHF+hxjiTV!f^x%=iovN1ja8mfa^x=|b<887P?=tYQkPy_)VTtaRxlm`3k<$ldww zK&-K_+?9KW^+0QQW<%)oZ*I{G5uGFZZ5~7-w0RNV+7X)EQ!}xO^h;IaUj5S-DB*pf zhog!s%w_R$;W}UKjqX*FQ%~|!bupi%BOZj+&s_^+y#fBZ?7Ysa$lPYa|dOe+P zICZE~iqO-q(a1)_#2^ZtNmYHO+*o3{<)9>cwz70&&SAr~xqyT|)FUMNu50 z_k4j&J4)V{bFNX z`Dk-x8itlqpHL`VeD#rnQ&pDMc3ZbGulFVQcOHTF7bkU&G3qI}OVx}Q9;jQH)L3UH zxnW^F#WD2BqrkwKnYx_{=^9A>ko8P(Z&!31lL66)c8!y`x7WQnB=;x&V*LpnXLsVNStWM&C?@ z4^a!-S7E+AcVh&h=k)&ny91EzL zB%9miAx>93*Wjwl=01Ij#=&!*we>zOns+74HK&buOhsd(5 z;-{qA?)`I21!fMxqCr7NF_rE?2;N3MNrQ=J)KXeHrqwB-YO5p1&NtW$k*HNvQkflV zsedMArKr#>#PZUb=qBlLxCuEN;$H&`tix5!;!4THmk3{$qG|G-Idyf2xcIp?YPZzN z(xagu3N_e&%}y0&_dukgm2B513dBXWwRKxWwr*iF`2X}t^|c&J_dqN`v)P0Z`Ph5P z1tH#!|Sfi3iD=tY5^Nubp3P zzV`FDMTbli+c|qzn_S~C)G6_drHt4?#Ka!$<~*nwmgeFA@wa^a3yYkJGG*56B@AVf z-tzRC`_qwKDvS;@i2<+tk~ewqhEU9@|BsS4k7qmI`-b~m zbIx=+T}+SCs^Xa{Mr~C)3D@bOwa?HA63Y-mM5J~R%XOw&wPsL3Y)6Y!2_=$PV_GFm z2_+;%Ldf~*voHJd3wJ|5teM4B;J`tGy?tVlu8VtdoxU;x%-XtlZ@6dU zij;b7+p-SY8yzLcnBDcufE7N2oQW6L)wFHl%l-d7qyHBVqF_GLo(>w!c18^)>wO*&d~XbV4Tp)0^C;;v>}RrleXIl8a4 zxusq{_xAtdjsJVd_g>p0Cu>%LUkJ9w*S zy&g6HQBW8jpMf#1k|_DcQNWAy=<_3h_|lUocKJf3{h5Ju3wyWV>%lBzsn3}2q3S1{Shr<)nr55^ps@{ASOicTF$^b~GV6K(uZvjud3X%f2=tiOb z>}P^koL~k`5E-Q$;mpIi!d-53?vK}sdv9K>;nWR$ALAlk?wBQRWNNU>;P1BE>qi@O z&FhPfMi$bp(1m6A5Jl(D4GWYQne9Lw?4~6w#@^Rc-v+!E*)7e*Rq7%ODS3(N3VtCq z-SA#$zt#mXoAhvt5oqXs|AF4*qx3cp3!A#C3YL?nQ(cwQQf_FK(;_z8w+K0527dXscu;!z<Lxc}+V7WcQWv$s!XO9H7}3VAiFRx%$k=%^)_6k~7p^$sKZ{Rq6=~cSPz(!H>EWgS zi4Bhjr#WS=Q%9?j9repdc)dVlVWQo=NO8C;fZ^X2sIZ;@mH7{}Zi(q*!X;_3gZCL3 z^E7C>Mc-?4-zcUGaG#hmkPC1~Q1%JcB|3)R9Xr!Ne`S!|@{H=fYy9=plWIp!Vu?l? zn9W+Omj61QZini!tENu^^#^w~t;f69^RKbA_%ph;+{w*NHl?iT=&d*^b^QOdot4VV zh@iQP#Vw9WEaF}DRB-XbII%m?4oqTIX{2g|;(Z>R2v)ct>TGbG06gOSfzB|y+NUu< zbiGUtbGfezm40x!)b|TbMhm7^?*o+NYPEfF!1jY`_(|Zg?wyk#4@Y>}3pH>_TdIwO{H+$jS^gD@y_rvbi$xFTQ~L`%B) z`H4iC-N_3vaF*&fYoK09a~Uu|1Y?bEFO0vaOE0Gu?(T4*I$uw95}vNyJXkcF5t8Qm z^rNx2#63oTmY+Ou?i$~WS(0n%|NhLrZc>;IBOuVvIL*4W_MWFVll;@1y<_iGXR_Uj zGIYgPe-3f?)iG{e#Das7{cgwrSO}Q|6T!jx|6e3!rUn~s1uA7QXN%_Hpl7C|No`=D%AO14k zxg0%=z<673xl`XR7>B&SGh^^%1eJ6x0HP6n)dwFRbm!pxYMuU(nTyr4@SR+3k+TMz zJ2Dr2tTBYz^8?LjZl6}`V&rcL+0^>8Tne^MM0~01aQ)KyMrt>CXjh?t{2=vX3rsY+ zgqA)r1i=hNpqwv)}JYpSk!Af<|0WNJLS4Uuz>o`>qzSoo4G5mlxHx56jTa^!_~6 z(R2(QT<`4pl{o<8L+ORM@_TMEVEra0j8q33L!H?N#A8ou@eF&|b2Xhvj(aFYGf_#a zTK6nSAK~blB;0+T!=5Z_=L}tCL+RVC<*kX8vlJFMSzfi+`6kKZ${;2s@%s7|KnnDV z;%^u$1?1alT&O11ncTA<%!xdV{|xz#h3wyIbdOuw`8VMvOTz9%Ep&`5gu(kqPP3Fh?)gl=(#;i;9T zD#?T%K+u0ibyk(lc!v(JznwAkR&C8O^wee73OGX$x8M|9t+xoS$_A?1wN*(g5l`Oi z`CGBe%NCP>d&$4$mKg;4|1L*fq9-wYvU&mA7YlEr2}5QPTwQa@>lZ<_*r%kmDGd|9 zQRIxfC+iFmVV(O711zOAtTt_x=Ke~A%pA^S9XQ^qLm?dDuf{Lpfwp%pVjpl?rzD+5 zLSqN$f0cB-_19aqaAC_S70kTBBt?zPZ!fYx@-n!^IyYT8K>Eh~NllS-ZBjeW~ug~btL zb?)}f6?vyb?({ehx*v%#bRsM$-hb z8ozY&cL+b0U`2DjOEdFCQ`dv8eUPkN&@Pw4m)j9_F#bcfK@-zM|786TyKF2p>q<0~ zjxc%}muoO%IVxsfZ$Vyk`MRUuW})Y(X|7bl)39zN+IHT2&+EL-coWag40Ty4r$wpg|3dJXI9SE?xBF)cI`d7G9>rIp zQq&eqo*-56_XO2r4BTXCyIe5%qKOS4DZ{I+aQaGVy+Rv%yfAjh8%0n_JcLW55^+r- z6=?IVf!}dibRm7EcjNN&9&o`!Jo80XYhvuIF$WEj0eK$g{9lQHu)M1&#Z(_3uUx3+ zTgrf-jZ!*fqs@_G*AU#5lRhEqKg#y!F7| z-uBZyo6}MM{Wv~#>H_8yuln_4x(4#7jusL+u!;v=T{gpY9+JEpjZDtlxyCq_1QgD5Y8t~ipJ@EaM)!@K*M%73i7Ls9Rx;zgz5ZS(_komSR^nx%LFS zTD@RWXKlp!B^IrH`7)_LvdlI{VAft%~|%Vk>O&Y3Sv}CC7EwqkkMM+fBrA?hx#)k zb~*3bX1DeeAx%jOCioMSrOVe-@#yifi%sI%2P=aGo41Ev1DCp6KgD9I?&d5?*OJyc ziPn^zdbMW5v}`YCN-V+^q|Jm^*CAoougB$hOVcE%s?O~sVFk)G29}=M%87ULJUoLe zE739n#Lw;p>fKrGRbu#p-PFWmuWqz%Ifln&zIu69ma#&^iJ}bhMp-k4c7B~yH3M{g z7x#K`X%;(d>^8}MwU;i=?_TVz0Q!Fn>zdpECqQ8P13%5Uny*Q|tTv zUxQ*R2<39D`xi|^UMC`@`-sv_Sa=io=#_g!41YTdGCp@I_#Yl+QlU!p6 zJrm^Fq+4~Hai%`Am!)C%aW~A4`o+3S+|3J-iZ?x51u3}wM&}RQw1?vW*pDOes7G7C z%dB!5LAbFfpp@3{?Vwxiv!S&f^>Pza=Lh|8?2~~%*6G8`y&A6~rYMFe^GI;Mompw$ zN9b*hrmSCNL z?%=8Cc5JaJLq$w0MmSb|#zny_Y?Ug|n0raLM{%+j5}7tbVl`v$Z9EDuF(SHN5j}%v z7nv>5eJT3nm#wvEqU{XJzW4*$R`%lv@Xvt6vwF8E|?K zQT^lN`t6djHlO@EoUKFTp5~l7kU7{;`F2(<({uVJbl%8W*|X|a)vesQ zkZb9|*7@bj2O~!wp2%p)+r?@A)XQz8wvmxb^7UY&W(S9-FHySlm54j^)98CmhsZ{jk7gXQ%)ud#{ zzi~)Jd;>h**@5ER=5ZrEQj0CF=`um*M@u^LEqAN2$V{K3qDySOrL3%UJA0AL1d8w6 z>-l=h48l%T?%{z+aztbiD4`C4p$i2smdB|1of+H8aJoOB7GZUOg#Qhi71>PSiLmlGr}9_&yvi9mSUr5w@OV>E^?}k9%ZH+iDcxe)skTv4!s@I6&8mZj%Ul!dUIjV^3Y*Fcxvwx?EBvuc3k{GzK64u^yk1L~8 z^Tt~(tFdm{gFz9tqm9vCj^=u{)!;I=sgzl1b zn+pq}jB$-1>*a>c`Q1_yyY(SY&|HwzYjDw7Sl^1OQ6Y*fOY2gKgr)r7fb4*TteNAD z|MxdjwvE3acvP^Hr^?dT0e5t%@#=6cIuMf=)EduXM7g28wo)wk(mddg#^~=K3Gu#R zxj~u<LIKq6Ht^zU|Fy)GrTAPF;+l#L^3w`9VD&myA(slmd0G0W%J2GqyBn7Id&Q@raSfA?@g+a6A7Jvv&6cToLS00DG1fu~@%WvbRS5vF>Y#%` z(aD0Qq~?E!kjuYrn>lnMO~p&iRgop_1JQzdnkIse@G0BOOJU6`8{%Ta%9ay*7-b** zA<{Hd4!LV`^?_Q$R_N|v&0RIPnqYNha;lZ|Ggr#FNMNxiTF`2G)lDG;XP^BaQx6br zl{C>T*>nb)liKqfYw6E~8gkRD>Bwl1{ZB-Iy;|8;sLU6`ka;y)`IM;+Ef|E)+c8YO8J7J0#Q4NoP9oPFphKIRo-CGz5d|%V`Oqb*Zg9 z5_9%;6G&sT+UC2l1JNYx!tu<7>M3b>ewx%SOLezkbUPp&D_bAwo8E1Vm%fmwcew{j z+}%tb3rGH)x4!}ToKQ&(?T=D>xc;~gml1uicQseu`+L5N4cs$7HkjI3GU4x8MOYFT z@^7ZuKm!kD<3J_Wu^IrYHMnlcqaoRbJ{#FpjczH^CUvGvxGhVg(Uu(y;9qqwB&Ufh z(|J`yF=JkyADG%LI&SVaj(ov1EoYjV59Aw_>mYG@qeY`vL$atvbg;apUdK56-~W42 zz6@v`@=JZkRYetbx;PwP9wReaV_>n>T_kiLgIP8-^;_%P#c%N&*ddQB;{Kv%c zFYn?|XUbn66gfzEmU9g8ZS?IB>A`UEfJaSsNsk!A?sFv7ca0P%n||nk&;r=qnY^&i z)|eORb%$}Kn6;y+>J^Xch+|W0F6D(ul)_Na9%1bolIjLo{dqU7o6TGh8@6U>v+7sf zr{YH+Zq1F)-fcae!|oOnsyRq$ssX|RYivlR<`)U-tFLvOU^h&VU5CY0O0{wmzTA19 z;!BVmHU%=-2nd8({;h42oA@faht=Gwd{H0v#S>#qLsaq-e|$GP5*)|ZTOyVyn(i&f z#tP!I4=y=)c0KsejtZU)bdwLqPX_u2JbkJLm374tF8uNP!k*qglkFOkb&s%i^e?;( zXezD>BPUDQrS%5$;hR}yC!aDf%*4PBe`OxvnuD_xO-YI0@39HfFvt#$ffz54kf?lC z(}00yB>;GJztL*diZ2@mZ7X22e|$Zqt&8o_QbTqF^IL%D>Pd8xpZ6fEeURsg zcc%Edy+7bCWEe24nrgxjf&FK~h|aY*msuIrF6!0d?f5{8{M*qG!va_Hc7$KqPL3N< zc|Kwxt4U<9jPVZqe%Q@PRxc55zp_pNs>ar(m5SRJe||_!`sa%oG|YNgU-57n2`w4b}x{-r}a0+5kmV;#H2Su{2|$J-arL?K*7*{S|J ztHx$Wr6RYBf1m&c@s4<+V&q(o) zh|dTTIdvwv^CM%@mdoMq=ZEHZjB=1pTRW+0O&-|AyX65j8y*JKlY*&@u2-?-t&@Z@ zs$75G)`LZ?2k7}!Yn{PV>2F`yP<|ep;ASZ{YYTU9j6GByrO?0)AWjRj0|tAt7nRIC2r691)6-eBrGbG95EG3cc234V;fJ#=M1 zsOmV7)!F6JK&`Z^;$zlh-GaGrVeJPnj`gM7bF!VDUu280$2IOa{EFnC%Cg}^JwM?_Ne}i>It6X*J{zOTecY2?eqJhQ zwsRK%JhpM{ou1^LSWVY7AFO2wjY4cBSg#Gys@6M|y7JGCC%VVX>}hzz7SA~v*gfqn zI)By`XWwJsNG5&=4}Q&lYFl+Bev@gKp0_4brvU%@VaH0J5zPyjxo~)4e6LO{WK*#B z1}UYJ^9hN)z2mF)!cCr*#c-6>HPCY65+fh}?E0iMAg-+0mJ3kOv**KK+qspEZhyZG zUi1$uw9LP-PS6i+@)h}>C1PS0Kl)59kYu#0uqY|?-C^CbrU1Rv>@pHDQZn$&M3oK}l;Q*Sh(xQL`+x!;as$C) z78N_AGV8({eS9>X8qhRWb*uV?m2;f_ZZ1>}xwZmp0E1a#t$QyP3m>L^{ChB^_xu>f zFggeEVXM711rljHx>QzAaxfhJRExq8c)cfZUR38v@U)R&zJ~{DmFxQzfawhI2YWV& zk4i{>%Cu{`9DOwEZ2syy2BKims05fRzEF@6_93iI&G6TNUZDL=Q?b&6>6Mfj{_KvH zcA)V_rhsU+Ie0FPssN3sQrd`FkN^0>?St8ppJV2VbOpM}C-rcKhZLkpTOiDEVh%mN zf1GI^iOEguIjtIvYs_9cAK~YAEx_wcw=lA`4S7@so>TkYhgVsTFk3}7*SSS%>7+j7&p6)biOiPfym#osI(_%Ztp~6o#W2$3a zq2Jy4p#pQJKaTVBZbFn^gJp;85oLrkaCsYkxlZA)QhiTI4MMx~m+d}| zn#1yJD;j$k$Q#hTA;*#Ym`dWA^v#e$1xB=n>{5Q2P@KKqk$<~DihL`U3*k*C=&*0M zyDEq0LMi^EKgW8(tM8$#R9b{}x9>x@L0a1xlK!sqF{{Nw<&G+3YojANETd5ROax}v zhGKnOVxiGx#Lz^SmKhyzEJJJN^kLUZKsH}cfoayx>kU(gAQW$@*H>1Se&|1%PW0+b zNn7a7Bm5kz(i`Tlmsqu1z14u>;;@C2rSi*5OQAw-Mun_1WM8?`WZlvqUq!{V!PR*< zRiB<_Pn>F9dnYpXH}c@mWO|@K1KW8tNu0F36yaD&4)@OU6&8m78X!-|c`Ayst@Iw> ztxz}d_d~x$*H1Rh1sc1?!plK`u_ZDLWGZLPbtl znS#fs4O~DbSR=SfE&uvhL;$&&Ok6maajIGtiaw<*_g_uo2E&T8%Zlj*DsdGuFZfcZE)&Cpu#@J0|zm4OC{LuZ3Q>H=<~y1LPLfqlThcnMWsPm{bxwacz=l z)?Cob1NGs_43(C}=g;L@Mc>R4;*yz@2E%&Mfay?Bu5|SK^kuu~PEvy!^t<<$t;NFw z15an|-|jF#FQgClwS*i0JkU#ZqIWG=&#==^AeUUzT<$AKmU^AzH4Kr*w*n@ryQh~D z#r8Q-+kBE7u2=;}xTgNU+yBZB0_5=m-o4#Sx0;<^rn*{^AdwT)oRn0YuFN5OkUu5Z zzT*G;sJbIZ9byo6uJZdm&ZVDz$&2_KX!kR|_K&LM@;UqQ&0}rSfC2)71Pj_=xxSB? z^^4sira z=Qg|G(r$72I3fbn8o}(DWYZ9C8>VRwX7@`-QP4$A>!}tpa5S*w-}BXf8+@OEir)GZ zgDc4Rm|W`rOGk|sGq~;773M-As?!r_`=B;RZ7)4jU?W-B;(3@pE6=wxY1tM~Xb^P5 zbc=snY4uqUNz=a6<@jLLIIPajV<`66p=u@yic&{;<63?3a#?vw!nl!YOP)!@{)c^! z!6DQHs&}K5xO}4Y&52`x$$vE|MOJ-394{XnD)6^N>T%Yt`UXak+Mtk`{Q31%!M`*! z1^byB4xE|l!`{9%Q2&z3tjFVuZRSxCQ7Y44gYcD<27cX6;zb4fMN;GGK7kYFWY2a zPrv>7keF!Kd?0>fV}u38_$GGysejjNpujUg+xX(`2ZhCDmAX*6Pq>lS<&@JmgtS<} z1%4c&%5jN_^M`m*X_SGX)N@e~lK`;+##ui+4DtWhIKx)h1qbWn_SMmm>Deaq;*AY}Y3fO30S{_O_ohJfKRn`ZO7ZP=N4hb3* z){?!?G|2~i+`l=oIT6kI8-nYvAH)Dp?1Y@;{00|na$;xR|A2Gmm^bp`GJPiSrnyk# zSdHEle!+@8EXnBEImq(`tMm~r5C&IBg%=eD+&N|vXQ62z?I-MClv&4oiC#dW9YHja zQnhes5UU7e}20&d}{-gz7j8j@2-zg_{YVYx7Tc9nvP_@{N|2ToYH% z@1=V^8NJH7b{{ro%pqPP?n!$z^4_Hiy?jmx)dMAcejm}D zHkw6l0o`VLq9ZN*?P+$G-ES3M#6El4^fu$|p{+5W^G^)s9kOR?pJt}|{ewJdFdeRl zbvbM7L+&HNqNBPSXHVYD4LHjlb_&#NgS*8ueZ`GNaIs@;kylgi_PW+zSt-9Jlj^oc=1^*luKU4A^XIfyzZcuC%rsmv zIbM4F6Mi7Bv>Yp8&E?mLqXJFt#n(Ga633_%ByD-fIbbXwI+}CC(*WWM;ztA+sE*@u znDxQlBaLTk|Lsl6w46}Aul&^9fBA_Fk$01Om{R@AY*f>&4#WC8L|WMC)WUb{8cf+> z$ZC)X!ux_4#}oVBGyr7gON#8T5N*2zWrD58o8+SS!FWqVW?tvEk(rI%neR^EsN%&hcRP13PCJtcIEXFS7Y;JS&23I4h+ zZ0qWQTFHnkde)K=?YV5hLs|yFj5! z7;2JXW*w_j@BY{#Qy$(cCNAS@Ul^k=M|=`QxETgrxg$Q0W6TAcgou?E*)@RHlhg9v zl?$1R(IZC77wKTq=HQ$PQmb&c3G86re;~jp>Cw)k(TO8A;=?j&9JvDwVzK(VqCw?>Mo%htWj(u|koB*<^u=JSp z?9S`8RV9aZ*IbRO#j9Kz?LBUq+R+uGh927|eW50hf&TSK>zEJdo>n*;>B8}C!NbNZ z+FggkKldeS?#2Me1c`nRJRKeO%CSTv8~ux5iD`gB_Yc=pVYoP!DR!m@zQ`vJ)_M!m zFTr}RUw%ruR#(+_EWwLX#%5|8I{c56C z?t0=w*lN@rTDJq<^tXQ1?2$-W7M|tHasF_>rI72&E^hze*50&q8V49Wq%ZM^OD8Vn zma}H+(E;f7_~u(5XSep$)lmSbT4eYH2f>9&Ev0vW0B>1IG3-#c>XzucfRoeh8a<*T zm4PR@GZHfpASMc-wgEpmNDXl_aL`c@tG}xiOlodca#x81(xoMtx)G5`e7v@97vbs9 zn*%LnhVLK4Aj3z=@CzC!-e`;}SwWd1c$clXyxoksQtDEwG%x+~KEDf>46aN*;rIIA zKd`F3?KQc$&@tn+P)Rw1U2`*!ekAdT)<*$tP9muLg4C|8li|?GWPA5(A|AmqM(HLb z24yUPY-omeS>AMtF87~2xBj6U#;hQm(^#AN)|oB%EjK*aVy%MKxE;`38F;=K? zQxTf>z-0&J_V`eJvnOo^F%(4w9r(P2AF*vcssP2MguD$beW(du3xBhUA?)@&?qZcL ziYI!Smoe`nElXeOxwhH$lkI`w>zlS|8<mgufm3Vw@L_qe_RF}_}()yt{ATs=cM zH)5N-W7=N-3XCz#za!*Ew8M57<{?`yTCUgIG>+$!kk}|v*fi2|Dt1u(7j#4R3rZ2{ z3Y(lYo~EVZD)U**uU|SO_!CS%Zpa`WE9(P2WmL5oFQziqNy^{Lg9e^q`LNS0n;!kW z?q8UKZ??RN?%X^?HY@3;&vl+;-vc+R-z)XCflfWQ@4$tdLx#}tA9A6GT9f*bCD~qs z?9%5)q?L4ByC(^gmg`88|8duM+j}lW_i(RW|3Ak0NIhIYddX8WwJ> zKur_U%lkefBZ+-xsj)Yz+Q{Iz+N~r4-Z$vVdry9XM<*|hrGT6g2ho-trZYP0hlArO z?R7AAr9l-e?zw`chNXR1cBcZ>;|-IiJvgmGkJTilca6GQHyqX<&=iWGOLZyi8Bi;+ zUR!Y^Sg>K*1Hg;m$Vc?@KHHeNZywXtBK`i}BQ$qqhZPB)G8S)blJYRafjeHn)U&p4 zd&%8|)jlhPd-}b%Sl=MgN_Fa77xX_?^K0gi$xjeD@l<+S4x7q(NF~-HuDT|P%)V!C zJYdiM@_AOBF7?;%VYKm=76mFB59{hDD%4t*N_$aP(T%yKQUUFK)+4V22os7_^1}?v%4>U4nKie7K9`G z@B?9lOe-^%I`!Mk#_i)L~=uHXyAhU-d5qG{;=qmhQ`7&_Y_nXoiNOx~tR7zQ(D{Vx#L?;Ff^e*iq$Zg;bUq3dpEtF^yf^l zP|o!2s_@e0tDqD;=2ba)Qz|FI$8~*EKOZUiB_cXX1z6rpdWCxg^L#cg94qLhAWIK5BdYx;f_8BLE|Pv@t=V`%L)9*ia@oJ zzY5;(Z$X=e)1MSw0?kd4cDXX|?qmJFigcFW$oX}1j^?tlUxBg+YpF3>)jGe$8k4&G zoCZD?EMt1-hbK>D2rOlhW-|g7cOwUNGYq%nhk(2nsK@FS24}P_0HGt!E*QMkC4I#u z{rw(kg7AIZs*7W#_J&o|UT@#(HJ^^|fFz_)pOI~3%PsO9-xu=B@5eW>S%RhZdty_| zN)1`MgtpN&`(qJ$h^1k3oS*Jh&A95NOU{7~fyMTL0EB9D7g_{wE-roE8fRZQffZ8c z_89MCf7{o4l7N2e_bUCYMiGW<`nJ8JmqiwJ`2{^zecSme{?43L8}mCqcJBDWrz@h6 z!`7#ZBu1#hsZd$%LJ3b4)fPJuC-0m6puP}oz>c3!y!m599 zfT%K)Ms-rl1Znm|i;|lGA#Gib4TT^5CpQmf8pUhppH9vWc>JYpNNm7qG#?Xvceg3^ zhcGLfOw}1YAGrxK$kY@YAug_Db97!_cevr07d1}`;XOWdmDeNjhmoN6(R$cK)9?wp z7>+JRXU-**Au|N_Mx=pIo06yx%!-CThQ^Ne^zN}Ecz!;Jbnzc!>UFRX9X4b#RH$c{doMKi>I!xj1k@rZEp3Eayjhl?KBkCc(w&ff>;32ZsApxU19`BldK9Ia7OSx&A=p%NHsmLsM#mCE*$ivx1ckD0J@I(;WxFF^ zY*+Os&#Uu8qVkBU3Y>YS#~kgIw5vRLQ9(i>?V}I~d^C2($VnIHKv5#aex6n7Ar!@a zh^96jVIpl$;8KJZPFFLH)8#)jwbblS{W;cx;mi4YYB0*k_lQh!BEDK|cTLIZpEM8H zJY-Azh|v&Si)Ctm@EirGkg8VG1?w?@f6%$W52X-IdqOpxHTXU+qWsyvZT#p=T(`?= zmMp%yQ@wiWfZTwH)>8TS7>{aJ%ft^bztml z?s%79n9{8K=3$51#-|wvi!MHFNQIIAf+9dt+Xc;mYof4uXf?6GFT?qWd)zG5GLjF8TRHL%^rnARXTb z2C!%QPI1II6PT#|&;614o!PyjODBbOx`%#awMmDoiF$t>h^pi(Zn}sB|K|7|A?~cOL zl5I~U|W2Zj1smT^#DWlYm^{t4ejsTF1&i# zFtD^Lu{v#)-`P>oJ?tZ8!-927dOTq;l5$-NU*W)UFe?=ED%hG?OQap4OVD!bmVATS zejjOyD_u{%cYk5B5_vJOPFd41IMRP55k&@7QJ|g1isa+?+`TFO{pn3>`Kv3t*ptXV z7fnl7?p!>y_1w8T_HFLkVeJ2M-$ehX`)1>RyKfS8`1Y$Y?A`K_e=faDGsIMsBIM#{ z(X6BD)5T;7qEr3qW>=f!Yno!?Y6LG2yCJmo3M=ebS<=V%{tG0 z`^WYnR6IGt%4UXZJ*4rB1;Z5^);o`n>@8HtUYHQNx4=Vy@Pn?ZvYKY$oE4 zh)A{suxHMQYB^zsEm%|L}LRxRBvC>pi*hmlnCj9wZ`ZdW|{$9j1=#n^CkR&2M|LN7aR z31Iqwp&Kp8H>(Os$oSb+Rd%O~-Qi7gn{^Ko15bHWkH1J{dz^phVt!K(wYg>2Ocq#H zNNx%jND@(wj*(^dD6!hxx2)-d2m+?;h~@?JO(xh_t82m`>d~Mg=3P2>+J-9FhV>_d zDD4oHFx>*k|Fl?v5Vh=dmwviaZd4>tmI9_O1}IEcKgDI%yoA`#?r08nAv@A6^#qkPgPGkH2t@8{@==!AmD23t+r6p@@dsX! z**xa#-r_1!b##Q0hZPbRtpG^*g)j21kpySD(05wxoG9WR{N~>bmXg&vTRp6!6_K=-^EAfjgm}Cwb#1C z(AQJ7AGJO>pigLuOr+WMucv}j9S`~PY<~KeO@~G3zYO~qDbuAt*1n#ijYtwtRywqu zd1%(-(bX9%9kF%Fo~qQ<+$bh#Xh@{bo8~z_yO|g6NxYH#px?ap#7doKJQb&;^7)9M zL*K$gLe}gIOa4<0kiGAUfae8i?_qmqS*w~$n>;lx{15#vhGSVNMOE!>6HeDOPp&SLo1JHBw3!M+IL`cac)#=P@xrzZR7j} z-tsbLfLO()KYbY^hdFeP!>)c@w?wZdw9MRhE^-4pSN1)g*ww2FX9BiI>9&h3HvlUh z53k1qp;r!|Drd!0*}J0_7w0byDKvuY+veL89QiPsCF>dHC%NSgkLC`Ka8yZVTeQAt zKW5JQMuv@ESq%FZ1|%H66j@0z;iQ4pBAJr|G=snoqp@Ea)xo~5dw00}>-b?3})D|Qd+^Mb#u>%{VeHxq}ltha6>XCrN1$-FW@l&Rdvw>+7o=mG^+ zYeQASOzc^&3n%%kEr;3Bu=%eBD2#Xbl2SG$t!f zHtz$wYxtn8Ul+St1>)Xl{MU;PlHu&!&(&7c3_X}>m1HfFaX*fkeLpsdarYi46CC-2T?A8A`W;WY$S?6WT(Py-Nd}$MWw3X&2 zy843JEASf~joQ*rIckmo%S*EktkAl!xl3_2(BG<{4#=`8!q02BZs5W!q(}25%T(JsYt=ktRIK-t()ryz&I7Ny~o2F|kCR56vY?2=2s!V!$I&?-he1eCjz5Po@pYmcs zFruR&dLcqNY;TPLB8$(f`yY1V4+f<6qgO)svVB&}9f{_)pqHR|(beGvE*k*c4ubUF ztTSbLbLz7EP3ffNijAQ>pzXKM<6;=~p!9Vm>)9BnnNOn9^^7sNHwY)o4B)@wmbsFX zVugKZn_uin!Gz+Sm>S9fY|guVF7E!30c4B@deQ zC~XI6=N}|+<2_mJflAm zFv&SeW_M%#tv@*m`V%x`q2^xdf6C%81+3})9>8wCIGQ=Q7n&7OxIMga9c6(%PN98Zv&6oL9&t9D9ID-Vph6NG#QgHZZ@`M+ub;o&v5lB$ z5Z*;yEG%F5`umDiyyg>QcK!3$W%4phCOynCb_$y||8%L#6L!ICkM z`r6X}HUn;L+1p~PDO`v6+=-H(vYj*(ysBAz|A=^!JT=d$qaT-<$GYb++>&IUh)_39 z5q!$cZ?fWGqS^3=*PS}UR$pSQeRWd}^`nHQ6E~|gGfqZ^2XM9deClYLFMaq_*8hKYiqr6ZSPC&Tc?5KgQG`5e(6U&O|znk;mA;G)z=@4iIVnI&7X9$236%_Y8T zIZQ)x$DwMcZv0$r=oz`RbxzE8aopS4saN!Ia=drTw9NDGUA-JqssGo>LF4AmOAN5W zVsa37y2#beXaPvsy2(h(a|zpcH2N_s5rY<>7geVj-7?ep??;ldZX{){g|p^Ixk-S3 z0B_PcR3c0@lBXbT^PqymiI6&MmW-S@=~-6PAmS@~e)i^8BVn?kkkv=hCdjN6ybS>C$jF9>z6AE4G>Cff@0|^l9KjTHNN$|lN+q924r(3AJs*XIs`yRRsd1D%4s(TdddIe-e~$ zO|aoYN@y3X>SX`i_{%pY9QUedM9nv3J*0UYkjV!>?ccaUd-63?yZTIycnG~n}B#yrTU^X+}IbuPPbjC#uOwgO6jP%I*!zKa--y^jae zY)|TnI7^HBmS^J!z9B)bzO}A)apAbH4E$#MevTwMsA>y!w(NzxWBINYad-vsB~o{4 zLxvPbBz`|qHp@<3SE{Ozw&rU^jQR5Kj77uzs_G!j)TivJD6vpfuQW(Va(8j0S}?ji zpC-i))wm`)d1k@2tK1-AczD2%>po$Zx>oAfN-8fFm~SIzJB(DJ4eN{^P#?-$rLr#+ICBnmaPF>jgS+Gj^-ISaZ{8V6O*Gs;ukMo3_)%bU07^kFC#coYpQ^CTw+X0_QJP8+v5EH0QaQJ6#X;Q*MOM0FP(0m zeuT>N@~`_uPbMg-+Vl)>tX^c3LgVzlD7s8h^X;BCHuE-%cXPX{(&r#+US=jK!ko{n zGX%niKWwI2liC^o>7QE>Cs-S=#_LS2LxYs=?H56thRpCzVZ8gl;w1`oQ}qQG$&Fv}@F-AA z#nGEq5+sLe& z=!T(+)vFVMs526GaA!JHlg&qQR~`u(!iR69?%wqnYk&%Gm)GSTTK&=IGc7%w2~uY6 zACQF48DF{T&t#gH>bg3+z8~=*p1?pGIn=nz0O?G2eimrkB0#IYJDX1m}V7i9Vt z!?=oRN<3PMMS(u}|8lw)TT`#DqvqL&@c6nVkhv1jm1}JM9QFtw33pN6%)E4qiKw{p z65zU()PK@={tu$YYI0n>4Rd0y9Ii&DpPD50Emo#lPZtvNJwNP`V`wvNrXRX;g^|V1 zdnJm-H~a5|(i|E4MIod+$qEXq`Ul5I7XR&O`R^Zpn3=C&u^+P>$es+?Qfy$%jcyJMw+4zJ z(j7)cVLP}~^U=-kM=l4&N$&%$LCq(hr11rQw?A|*wpG+J0x}t);<06XGq1_|X%4N4 z1>p@g<1-_EqgZ5Vx*Vf~Z`v|HSGz*s=l$v`|pM)wXqb7KNh1RnD$0yBQ{r9(;_DRYp64O}nYN2omv^ZWKX!ORewJ4v z2Pp0rF5p%~6uY;VB$_g#2i{{4uhvF%L=(XRGvf~L&)pV*g^cJ6rg zDjS$n>@)NL>S5Y;+}ZtLIRJIh`ItHpm6~bW3^3dK2mZEoJNdxX?$iN5jO>r;l#ivR z*{RqJ0a>7{{&F>u<^wwpfCS)OB`QE~I+0qDY5q&IJ zRLnE8L@-@_&TD!sPTAk+h40@lCRtxcCA9@`1Z^J~!Qa-S)?o?BgQ>nrFtC?$CEZ`! zIw_?@Qrmg7Y^wfH+A+UayF5E99xjNt2nz6R6dmvi;gs5vLzEqfmG5igk=%-Y#El#E z9vc6u%02=-pPd^@i0?-p%%rXZxQCGMM?}}ZAK{H2KC(Lvtkjz~~ET zQmyf6Acm~u%Zz>J=FoC;mc3tXH4@;9bJrXMZ5bu@a)$9ZZsvFgs{D7-yi~M7Wq~^+c_G$jA(Xo zO2&VYXg01H%H5vz{Hw-%R$AlME1dY&NenFOz57=5uQ4cs&74dv?#~$|i-ua+ zl9arOX!nT8piZ77`>@~zHE=tIu}xd|v(u^)9}{LW3xNEm5!xyO;PiDieuwv7+AlvW7Xqf?%bN2cW=}O z!iuRQ^_u5;Qjkr=kkc`siiIyFAzn?!nc3#0yP#oGK!#MrmS4!&F*06vcPIw;C>o^A zB-NyeTHTExlluOT8Fi%-esoZ>ABF3QsBC3Ps_nQ^Kd$Gt_Njarlz8zc!|8|zQ`~dQ%d@%ONmn1cm~A%`aNpwj zs_Yt3{K&_qDuyw_{fxy962og{1Cm3gnjC^YoY_o~$()>^z1; zL8bnK0#fq%zovpVM&bTKCUs@+&T7@3BiH}z!_)~w)NUF2kdm_zUvv1&qsdLV=3&#* zR`tA~kK)~}gvjxF&oN{yq-&;OXQ^XmFqfl})(zoy_W4h+^tFr5A@vu))`CmQ8~KCB zdI~TG1WArCa4fPqvbcXoFZ&hFg@R7!)~)yV-wsdU3#wG=S)W(dy_6WJ^zj>hoC>(3 zClUiqIYtf)O}Q8Pn2@}@^Vqb0rcOX#ETZR?^Cq}>6wm>Ma)z=+>*XT)bmPg%b}d zJySaTa_tjmT~5`F6RW-Gxc-zaM#a~b@*}H@YmDawG4Ujq>U1IHv^LiC#q-U4fT1n( z)Y%&gqrfntI73lxU(RavyPEcO=L5p2=RU zU{o+yN45mzkq@pA6j@pQYjd5qzK}lP{Jm^kQV1utj%)8}O*P}Ah`~v%EJhnUQWjJc z#Fs|Hz(cj7EB(oxt|t;6g{~maew1*YcD(k|AM)#w7grdB-@;1SMu<~B9n3GTsa2Ns&_0;2UovgABa3L_xTWj+I+6GYik z?!}2H*^lwQUNpu$UAd`P!zZaH%ut0`QGo-QKhEhrJU@yiDdOvC;Y;GPN@UROp`%aGU~p%5t_% zHgcGQruJl@PO{EPAp=4nD7bm-atV)y|{ zi)(nzus=s=SP$j=JIClI9?vYf8|$vE5@ZUGrL;`f?Z6`5lT zr&)Dxd)g@Yt9v#G729lFcqw|B!i_BhJhE423k^P)E;RB^ccZ;14`QVU#ubi2n$ps$ zdSvbOR>E2OdMX>W!|4jQz{#Qyk)6@0|5#I*@S3v&5G9-yVQPmRc4<$OvgtpFNxi?= z0Z!|2?-5Ci(zaIoBX?7q{0E6&A?6Uf4@J|zP z+DqL96ftfq{|w{oMyixRkw=77(mUluJ0drfSxcy-`&zdmka4S=Qgqr5ajq?B^25a4 zPs#$F2w@%f>z9~c=L8}7%&E=Rgslz9@0)E1A0^D+{H%Utk-hzVSZo!H-1B=#A}4fd1zK7?xRc=iBNt->MPt5`F=y&o_@Tubaf{nXooUaf`(!a_E5-ErO{ zMZ`j(;o}9vNzupN)t095)(mq_(F`+vxaXNE&a}qaglM{~>SjGSrPR24S%8x&N4@^IFSH8iA`}{jtrn)kwCAq^>UCgm2F{J6)<6fSbfQ!L+5Rd8p89f{ z+Cq`kJZa9Fc8w4*J!%{q3-%bQGmm|crXr2l=HNy`A&YL1w_MZtWY3T#xKW2HuTJCK#i`pH!dY7xEP5U>%gV!(}@k|YiiYesJv=MgHwLcH z_amS$-;YcN9I6+kW)j4yGuuXcS?sm6(W7m+ox(qDKck4%j45K%_ai&mUWa>USLa1K zt^PZ%CX* zLWT-oF-#k~!TH{e&SJ%KaM6{h35+mifAs#cg+`-@_K1%%Ki8$QMW+#J#|_SvPb$IY zWTPz5g@Qf^ITWdI6CDZ^dDu~JQI=iEWP&r5e)7Ta!_l4nL#TwI>ghcZcU)?C?Ng~` z7}>9JsBfyuv82I+3?LG7Ayq{`XWbWB2v&?g2TV6l#O9|q_d(t2#Kq7@xLmENLgKM3 zK(Ow62zxEswl$9KUvELAW$^&aRa4X3M&M63UftFDq}3bt>2fHfVqVjV5W!xuRI~kQ zIL`M6=Qn<207((q>(VG4zjgzx0{0iX6LtyI=ld*+TZudeBw7`OOOu(}jtq!#@q{8C zQaA5??7U#zSi!7TFNtJId`2Cz32EE_?8l>=nP-^Ie7fBOY0Jr}1uS6{(d`+kmlq9T z64q9shzqsWz+@Ob+Xp(>-@T}&Fs~@wGFyaY2-@zA={lLGn?X{nM;D;%Gabo_;D1#- z>3Gs%qme$us9IiJG~R39VjEaDZ|#+MZcCc`j1PT;b~!yr>~dS@ABT}Z^)vEU_49n6 z$l_o8e&pH)I=0OfF0wN+@Nb1~pFWeXKet(HJXX8v<(+xpVkXT0-(jG0Vov_~)A;O| z*U-dMJ(lgpGul~JgpMTU+5c6y@%_kuZj71=Sd81FhKq@(AWi2odc=~@hi<$BBQKMJ z&DRB7U6Fr&PwZ|(O9zaDeerRk`1f(fgJ53dI{$oi{;+2P1ayay$L+m0RA{4^?+xsJ zSAX?4`hMibAy!)43^UZ7aY;z8E1K=?nS&dTioD_k*~|^%?TxG*sg~jH-WMszP0P?ZzA_&$dDN=9(ls=lWR9REaJvyK z!Mrwgy!PMxwE~)EO9*T3V}_~G9K+;!R!r25QRYUK_qt?Z?Mb^#Vdec~L#g6P#5>+M zGs93pZAh`lXl%VeFddzAkkw73(@LK))n4}cvja3wMJ|b%(YFv8t$8l`p}D;Fck)IX zN@ujCbBpE4kSsJ61rWej z;bhmx_p}2G0{qX`GCfTeM0KyFXw|s^7hF(Ft{L~YYFCo(r}I%-j%2H(T>HDy1b7>g zFD>rWvE0!wsfCnaB0X7YPBWZd?(>g|i))M_dYXZx)F?fsvWoZj0NRA0SD4Xg2ct$TG(_MqzLcs6Yx7u|wc z+LCWx3>97;mpT7sJ}V&W`3A9acY*nS;AK68^Y$I*O~K*vs-RrF8-rPNoySk`hWW_1 zgAis!FO5nr-vI@20gw>#CZP5#Y&0IEqQA&12%o)LKZRQC-D@C_IKTD&ZsMGBD@zqr z1mL1at&rI4^~QB3r^h_o+eM@9$$84tqUEErXXR6+~n3C+;IfjBC4lT!99U6PfdUP#};grgJG8yNc zm28k6n5@O}cXGaH(68!cv-Yfv>4U*~?s-f^cM|INS(d*{j`@70crta* zD~poyz^ZQj2USbYT${%4{uVo4k8D2P*n3m-e6wZ00kHQsy1)Ug107{h$x#}*tOcQT ztjlrycsAycxiNPNCVapCYrU%j(Vdpj+nB-4yU>?A2ts)&m3!vFTTTY~^P~o- zm8$4`|CvUw{nze&D{!IO>?W1{p~9{`i)sxNIxdt$&l=^W1lDNqY?Ko>F}6ALCrWlF zFa_OKzx|Txcp(u3p*f9Ll)d=0tn9>G$~w~`8J|L;62feb>rM<;xMC9ftT(H>ZCLWu z@rTJ~QE$bkT9yGg6Wx~%$zaz|vMA|mQ1(|`MTF46*t;+Tp#UN5nXb6BFVf%eH;BH- zt+51He-7@a`J+XzN*bn|A<@Fop%~c0&_?530s^d)$up|+@Otp$-{m`VVQfKdg2L-* z;I(5>r9&Q%;L#(pxB|+u<;DIenP*&-;Y@Yx3&F$q*xz!|mlmf^Cb}HM))m67+{dHx zBq=W$?3kT|Vd11L)H$#(yKx9VWNq+FMqzApeyH@_kUx_|jc*QbuzzS0-B_}V?aF5n zl@K$sVA)QY4<<8?v(QVt>+jm2r?CVhBmg~e_~1@jO5JF5n|)tu6K|3iL4%x1`FpAL zPlBS45PL31_ccq%Az-W@j%{XYnS}XGZ0VJ?HoV=kx!pH6qeq_@k|i?o&chXbT68tM zX==`ifN2hx1kZS8OZWQYR{oKom@76^L-quVXz^X=XpxZR+#qeBjza&}AQ;~VQgyS< z&anj(;nS;2S>1Kf7>8;%XbTscI%`4{FbK5vV%i~PbQun8|)a9cuw@Tel z#}{0dJx4$-E)q$7WpwIUsj%)iu zx!qM?p#+{`FkKk^Yv3r!xhL=;G|-fItgvwB0l!(e(a|N=Xqin4%i^ud$0D2Zd$MB! zCSX^%4O8Yt(rO4XJCKUYN!izJnYC1WmYDalVVGplfEiT|hY>=b-FS^j4mnlHem~t% zsOr6I?q!~TPG8q|5`4mKnCyv$fBLxyU3QG6S}|M_e@5$_eBYIev_jU(ZB<<=wK;(4 z+Ht4y@?|7Qfz*A+dH3>#gbGU+hUE}oC2vpnN@y2t?W~-8k^bxYRHf6efuWr9FB*3O zk;V#@4YsfUE)SZ&+Yn%$y!C>ArsMs@?{P~{xtB$GG(Lhfvv*qX8nP@!nd)C9Z`pq0 zoHppOIP{y7BASJ6Vz+bQpRP;7ch3sCf|^C3m{MfEb=3Nhfm)>dxy)z~$sX1ZzCCrD+{pdDdLRDz=r6j6uflXyXO*8Nr!&Qa@}sh%DB)SFmeogg}dWbrs6{ zwHjrAtYq`nFPJuw?RTH(JQ-y8Mh{e9E%^#8-{HNOi`dfrtC>LMxeAwB~Axm7^_ zCT$8b7%aiI;;LdpCLT66+Czh%mox`*%Kcg1B!7*D^TaZkmv^Dez5(Vi29(pzHjEj` zQ0e`qu7*X#5a-!;CDwi#u845cMN`*i(z|(j^Bu_Zv^>aj60b>T-Ltfd_tR)!+o31n z!fzbVd6^37$xtuZA>1wV)jKHfH~jVLgq+Vpk17=67P!-In)GURkMoZoAC?$t4g1i} zD5h7DX3Q-wzoNV~-RSS%KMz2l0dl@}%8#!X&tNjdDT)ACN9f(v18nx4^NH$un*VVp zkq4M+p^Pjt$eSCgQZ@&+ib@@iZQ4lm_uw>--mij|7t~}*jduN81Tdy`NJU&;OIvF` ztg+g!3{P-AX4XI7}*1p=Sfot%cj1W$M-v|RsI+>eNGZX>nMi%*|_Y@B7kg3VImP z69_(V3#wvYwRbk>`@Zq)une$9E{wUHFt)#uwD|RjP8L8G&UJQWVj zJDTN*%autk(Z34SdGHu>vyIn7a-4~8Mn5e&9 zMYFzZE8B=PZL2wBK0+%MU7)~xZe`g}tTKAp?hm-67%#cGhg2GW>Iu#4m1Lq9M1Tjm zmDhiQ&sH=ix$9VQ$8Wk@_&0U|jC{BC3^n z*7?zoH`(NQ4c<0QxgiRXt;1BII7-q^K|{I4Ax$+5MI_Q#wLg(*l}w)Zoe*+LI*Kzs z6qze6u5+tTc~E^!it#KpK=9?WlT43+f7q0U=9dSZOpa^MjT6gv6U(BujpBtb#+DHm zg)ZDZY&p7$Z4oV5-O&YCC>)wOfoC>;@p9XnPWU0UqjS%gHnz6!*D#YY6g$U(452Vk zpra`l``kajfhLR5E_ws8?O2p9GPXgmCchMPm3##SLU)+4kGpj=rEAbiD{s5i{80^$ zHMOOm$m3A1{kVFL0&?&!TyV)gDy($a+8HEeF;Ou54I<-=_M_J`zf{V}E2OVX4Uv z45d*Y+RUhEztWMdYO3hU8(a6Iv2l*2*AiaMmL=HF@!GFcsct2ld+*{}!f|nRM2z~X zeBRK!AM(xeq&?UmaC`j@TqPRjZ!m3IY7Hcoag%}AN}!tx`v(R!x_>uj*Zt^&H3bWC zZfIdNG!T_$Y9bRgGOAnxM`$^771c;B-^+I`=HrhX`9+ORF_EH|+gh-qXU&s7(~*^J z??ju&D_i-d%QaUEv+vqfPtg#qakX_Y`k5~g4`%xvPCUd5y_rUDfnMu1c{w$x)r*v5 zgdFx6@I5du&X`^8$y0~VR>DLtp3~F@I&a18`j5F8Zti{AB%-Vyw~7r*_-p8RSfsZ$ z=dU_3W46bqLD534TvP73$ytzyL^qzN`e;b)=E9EbU81K{UD52aLjlNxi{_17K4yP|b@ooOFigOHV{xdJ(D{*=S2AWc9^+_du^S`uLLB0Q1t>n)VJHIMHUp8>M(+x=R{z@fP6u;OG_`E)hN%@A2f97TB zl$IFgo-3U^kI4PfR}n32ySka=@g5rV&d;~&Y!+ThJqgWoFVh!VR#ce;9Q)+Gv0%1y zv+2EgY!i>4Gm{{MG;;Hbqw|=Gsyu`S1`bF>#FY)IyFPQ$1NFg)uK6Ag$JrVIIyJ3EQ8-7;^A@9Otv(w)8;-r=n@`u@TBPeugaFt2Ud zY){Z@OI3He^t`H8Fngom3*K^k!J{Vj*ie=0lZM^Cc7-B^*KM#N0eft-Nt4iK>jh_U z;vCqK&9Z0PGr8$HFS zX69c1P|%OnKAs&CQ>IB1;qv7=MPra^{T`oISTb`4J;k!}ZKPoE>=@TlILdM8-bnSW zCxv{y;{B)h+$E~<1?^bXCey{c<&E#|6VPSHLox&6TbputYc@uoW2~6J#&6Tmp`j_7 zZ$Rg9*+4!{cd{`^L8L#m%s$^f*D8M|ia%E@jai3bFVl_B*FuGI;ws#cw?+JeTDWl= zLn0ybtm(1XN&9<{t=Dg6Z`z}y+cb@R$GIEZ+MAXJUUzCt@{+87+l0WxT4$Z@uIg)x zRfh~l+wxIm;n)KAf(Kv~cbmm`R_VP zw;--O>}D5>`ivDt**`zsyX*SHhhl;#wxILCymJCshJXN;H6#*mSHjslU{vZboI$?Y zHX&2v?YUFO5-|0To?QBVq*goyzvVM4+}*84PH}{t3M` z;F$O&I@kZc%9JvT8@~DEQdryF@!HoCdLALRkV&tU$w>tp|8-uKy9Iq3L)|>kd`61i>EtPG6H;``K(!hLMy>G zM(K5`GZP_{e5ZlB*->BXps9`@{e7xl&Zxh2(Yz%zcg$tl*xdeYJU%@ay#Hcmbak`^ zK1<}BZ8M>jYKha{EUc+%ifv(t-d(%IiJ%^!Fi!&XFbMW+)5!ETc~l2A$X{L$A@*hG zr5@ns_j2i9mQ*nNbk}Lo)k4-x)VjGmu5z=m+vW*(wbWu z8ul&g)$(Ly60E7iiZ*S*B23D8fs|Ud32By<53a(@6cjtVP}fKO4fHAy3O~P85n723 zDhDd9LI)d{ahlMQ;TrGxxDsu@0kZC!siIORpQo>TPQ04K+h`qQD%+m{Bl~4)`Z@Vw zZ4*;WMUu-6VFP8B{MMJg@_agByXq(4S~s!&7%U&vzUkMXc@9vnUjJ75P4*LquM^4d z)Qcw6kmu^H(Qp#y!|07+qhEeUei$wONexy`i=$2!vxyo8f_mqf@@^sO938CE4mEA(20>nwhIGrp?^`q`ajj0Fa*GF2YeWf>I>{=CEy=S(mGAYXSJJ4!1io z1CphtbDfti#>-G7bWO6NL(x8vZ_;7i09pXN``}D&(8sa?Hl}9SiasSV1aqS|sr#js zjv}9lO}(~iqo_D?(H9|iv7^FjTo-m*E3>_!qbwR8d*Z*ChGhlerC&5#iLp`u0DqSpX4~N|=uEabYCQpPSiivvKzt zaBJmnE>~SG%o0X$shE~)KGO-2=Sz??gc2K{OQ_>-&eFmw>BI4`@?B9mNH#(D-884M z@p;PiL1dG1v4&C?dQ`OQxHgGOOrb63`?8%^)qn%BOKxo$$IdWaN7uV-W<^Uuz`7*} zTt=zt^~s~ISi1U7w(zqzT%$%Uh^HBCl`(j7YRT{_#$HG7>6f_*0>k&SM{9pnA^%w5 zEZd{03azrhTwHz+_F|m%0_u12fgmY0Lkv9f9Lt0qODxR@1`VNGaW|{79lO0w8_cbv zD~rHcZ?(V|^!Q+mVfFkjKj6>J?8%I-PpFvP!oJ5EN&Xtn#Ji^}QAC5}ynLpU#CyG` z{V+UTd{blG?4oU1?L4g`{V?0epZjp!<*{X63+~yZW?C1->+=i+(W@SG!jl%yVVkcx zzH2ieh+h6B%95B1=KFjek&*!67{G;N8vop}Cy?_|E(ou#256DzTv+qx9Jy9&3B&>^4kW(jB@ zsD*={uDEs%{-EY~CEg(<^XgLp57Y3-85wQA7uyHJC`%;Tg`i)xckdP<6#od-GaF_8 zRomR@--UF2-kVK0fj%YciA+qKK8QPT4(V#9-RqendZ}o)wQ^Cj9JVRx4&V2()<+~A zsxFGbB^H6Tmy+K+9|D>4qDG#53al0@lemUlYUOPO&%<{4P$hW@!X$fuue0-j;`$C-&qrTHIMP`(jRpa&tLlMB|ws^IK8JtwJ5;8!N?{9EU2 z5>AP&Bto>;Ub7b#>Ox2&@@8W&6CWB!bau8U9{rT*7kC)#`)P~J>YU5N#krd1oyJuD zZnhN4te=iQ#f@2J3{bbKpu)7?=HNUy#^2Let5Y&KC7(M(2J~5~JIOpT2~k<}X)W%8f%RGNO3P=4BrK$X zMeL*GvlpXbI{B=Mb~?(CfYKM&wu0Xj_;LpLtrMH9Zc_skps#o|NL4D3r% z^L9wtC>wY6I8X3e`G+_9sXe~6=7O4kZ#Cj3*H`2ax_XS4da5b>UgO=_j;h%(bE6g9 zM3xW%R&1Q!!axp`OVF`?b_UD%#-_O*@12W7i~&Wuo>QM;t$CK6&MnB4N%ZJM+Z`yjO%I;Q({C6$Spd| zq7A1Xg5Q`n?KnMMKa~ASmF9)#rS15`K8bxAq5~3A$-!}7Mq?I>+Y6XU`G5eW(oQE1 zoAYs=w6+o9!?Z^fzc)AegySPGQM{AejZyhMq5#D@@4W3v9CDuC50MPqnP6g78 z2Rm^BSa-$a;L~l*tX#@PL)I zg#7cr%u)<=Ki%_j!-sp|gp$EOx0=eEYnv9Aur|y&RvIe*jFV?HI#3oFJ-^;9q&?^6 zphuauPb!3dEwg*kU#$q_DcZKV6`AhrQ8X*tx!e+CZ)DP=O)E7@N<`O?oVUBIR3

*3jY+lx_N?7|?RuMvQ3+AJZqdT>RXQ9j`Bv?g)t&1yWb97RjJHd>DxKxC=1#f?sdZGMaVOpN zg_nWGD?_4r@eVgd7w06NwpnSbsGD%xFSS_S;_8Tp#=_25+A5RRpqCrgoQKvlPlr@! za4|WYHqul_YW^b$CeznySDuK?@M)(wF7A2q>K>Nujs6%HXYcr^cDBlOE~}>_+`-j! zN%{-0MzO5Qved2e*+5LF&^0T`J`5y(g!8fip;6pa5Z zXpsoDT5NQi76}>#&X7=eo_eMBSgiX!x|MUHYf(=P>a3{&46Z8v`_<1@FOU2!|N9XO z`byd7;)65e8t#&9X=i;R^_R^E(m(CszJ?gAiw>!Y(-?iOH-8E7? ze4W29aAUN94=KZ%3w-~b9iF?p(!c6~oL0foKJ&}Qw&LBsUQu>ps-7P{iCpThUd!p* zn5hZMBLna|rXRNAr@3;4}_F8RMr)611Del&^lu$L*eBW(p&8xJAm=-}qL~0h} z-Yqp#Q;-;TYpNxoDuXGpYf6W;r_a=!?W<&h<;_HyvpW?2AP)qXje8hD9A36c= z&q0z zDgIMPE4Svf_66XfDK7~9CS@VY6K}+18u1*CaG`$~VU@G!Yn{3S~>S(ESyJ;l3Cw$R3DJ87K zI3_ETYBp1rNpM6+0YL`qW_{1Ct*r8z^S(fv;oY(k^ZnAM|7_TXVMPPjT}>SpLJ5Y) zV@6rK_-1{1*0@Z8TvimQF=>O5)-V)6MljOvW+znl03Ik$-7) zv5VMsbyO>sq<&3IAKaBm>S0~J4`+Tq(*;(?W-rmag0`8%OSCfE?FZJUrSJux0I1-B z<2^~^DwP#ACrj@CAl#<_ofw z>61z;w)xesM?-})y~m6q&_jokxk++c1B_gHl&c}3z&Sl)tXHP@maOED1#(hB9BCH) zGe_cU1@9O^k4rCS4!=A~aASUBu|}jlYOVooxa4c)1Z8vlr?sp9nsuz@u&eVx{l!9k zS+T7_Q2JzbO^fe{8b0LyLG+E(_kZ9gEDJns9-X{%>6jD@-+6C&;7vj_{@2#5o0cQ2dufrKdAiyW5m=*rT%9;EkAC;U(k{vVt*BD+ z(W_zdA45<+5Ao{+sS{b+My3*n*3EQ6tMJ$7Ra$mVv}+Qj$iHD0J_D60dC zm4U!aMJM&uVwWq7wti>+iU`}3TWs$bJhe3u48y@JJ&Dcw%2&`T<2VO>A&Pn3PmkqY zVEl1`hSgPUuk+7gk+K6Br~*$ZJyTx-EtHjVjzV?REv72{C)320nEz}Ly4z!E^Zm^E zAuseKfDxz7Fp|@!cfEf+O+A~KOWF0q0M~(if#%aZ&H6n1gi=jMmMtG`2qpPg4?jze z8iI0yhrLbWIwFE_;3P6oXQssy;PuqJ28hQd;Q=l8K?@_U%P(&=e>O_t691y7zI#5S z_~J~Peu0s;+i>=7l_73$O@1^1t}l&q=vPfH4mSp0iBs$fLq7$O4=A|P2kuj}rCk3N za?smV6M?^6^xDtm4$A{=8PmqTg*(=8MoKj#Nl@^{n;^!wIQADw1q7%M?TWCXE)}(WUCR9hA;frl;0mkt9UyX z8ckkFhj^^-H23|?g6WH@ZwVXw7d_iKO5%z;ivX!?{x?_EcsHtXHWvoNJvcO$tnwYln=#blXO=L3yAHNv2!QHB=0AxX zM}>;Q&7P@5Q?|?u{xt3xWA1ak!H!;hm?gOsZR}pEn&y8mo$ItZGxmu74MUkUN$v9# z?uos^%}AAHBAHBTg6pN5$wm~hd!MCA_F$`(T5!sbx{{E^xXMPBBP6DG7#*PDY=GE8Mc3rtjFU2Te%U51$b2e`Cbe@&ULAJbvQcIl%Kn5)SDc5# zI!2Ky!MCU85`$-fMBP@ochKO=0E+3gRkv8O#C@EwIhnQ#3fwJnb{;&(P+aE5q+Bk_ ztFiWW0(3<>n` zN?xOL<4bVl&>r0E=Oa;)bh^hwB<6iTW7q~+fV#(x1A({}M!<3hnr|Q4t@OV# zaz^~TM#YCDn9KG#n8`$RGL*~UhP+O+Y&FI+U zU|J(3aNFESu?)|6gj?x%NLZ?KYLiA6;@6~kQvC9)t?0(=y}$p*`J{g(=5f0{H|B4Q zT#qZ56ep@RaDa!VnT@?`=K1nQsOB7uyDI~cHTt!M7oke4OoWBJ*=8oFMG7(XA^Fkkwx#N9?3X7%^WFKY^oQ#73175X^iVPP82BT z>Fhn^8n+}CviD8BsyGqx`^O#nzK9nxp-XHf6Jj(`Vxm>YXfQ8c_*Nd5di#ojmkw*s zbN@xQ;jGcdh})h~83%Ma=q5xsKP*;5s&S3_#QoP|f(pl=B5f^K0Qnt`fO-AVYzJ#> zGT5ru)tyQC7`T>P5_8r9tIqic)&bIDVG#~Y7U0%+X)q)!s}(x}BMcHUGg*mF2Z^+e zZYcHpnV`d{pFpCgsGHLos*EO%H4kjPW{ZCxNO16)9Bh)Z#W&2`X&G$Atel-!99(Bd zlkxY4(wIXb5K#Qulj@;IHWvO);4+eIh3?;Od|OkA>{vto*851BI^5iF)~2_aCsrVy zP|rFqft=F0H(7`xameF=h1guRWuZ+*js?mbgcq)_)T)_P2wbbVcbpAFBd!1ml|66S z3)r_^_jM8jI4;OCBsySwl{ds5jL-gmbEJepVkVAZQ7&oZ#z6o0D$wcXY`han;&Ky{ z$F3M^nm~8-f@q0;w!_F;`-yQS;5|sW0HbRU8y#tZD=76_HE;g;%p_@)OK$yZb8$-| z%S;$6wpDhY$Y`wdSE?a;+&v+Sx{npClvmnas+DT$Ls~QT+>H}E@)|~rgwaeHt$Et` z4jkawO^rPKpM94R+CCJ(TAo4xRw%Xq*v!!Ce{RhF|9!Iuvr%COFM%}vacB3p%BsKf z9Gn!qc-Sh^5ViQlv>xi`3R5qm&J1+kWYXCDyU$I~18<7QkSEO63YXTlwUg#A_o9bV zC#ar(rr_(EHqt}o8Hx44`hJSd%eyFDoV6aLDh3xnItpuj{;wlS90zBH|KcUoc)J-f zMdBbzg6lT6`1K7;bjbv>*wOD-WJ%c@?ogA`LYS#i)Wk?Wz z>`TF~RhW~Y{vT#nB0C*g`k~kB0?ELj1_#nZqpyCm)qeNd(6jko-FVYN?)#C@Zma1O z^y+Cz>*JUoCB_V_ksYg~$A!>hhDwUY%^>upEvs$<&4-wZ`s5Qy#+uIDE-t#&eqq{X zUWqN^P@xZ@+Rq#SV@e0UNL>?2x=Y&snYDu?FAuvvY69s%C zZpMeVRgsHeDfMeX;#~TKk{b$PrMF7gT=A=`_ev&4oPf@b9_Ad6qDWorPGxND_2@W| zrou_5@3o2oSoO^){2P#z58P5(eyGiKV02%tH*QR@Z80gZU}!QHKID|lAfZ1tUIY^; z$v$`7xL)9GFJP=4lH=f1s3+A@2zeV}-lKa%9H$ha(|f74IL;!@n#J!0q+ylQ;@GLm zut?(~_a=DIh3+Q7#4&vUJ*lEfNuZxsIlcmj!VXgYId{6yhj=d}Q*Ft`ioq=LP@#TZ zk`xYp;QP>+u~}uq(O`V%zs>ic z|2$-*361)TmiOuWdH?**W8h(k2=_CZ2f=ZSG&n4?03C3(j4Rt|(YtbF{b|cwS${}) z;Lr~AcKbVM#cDlRI%Q)Sk1(nM!QoET*#nG!y#=~;+&_3!HDUEi=+Ye1dpxFdzc+kv z7(4y`|2`lUis5*CiB3ynQ5j!HbLI=i7GUeD7C5(A#m%QJADpJ2^rvxx=8&n$gGhB# zI(`}F=Q&|{j%8R=>Tba{&3P`!Us_)3DnOB^) z*h>13nTIha#7MXC+zGq{x9HTUBNqak8K zwOsNHz%aJVw0?xLe7@!+3rTTC^Ng`6Rx;H|Wxy*66>hEd@52JOhAfwdNTg<4=C_aY zEmhL^9rSt4GWybBPDJ(rXc@=lg58+<%k>D@gt?ZqWo9%bBX@ru*;}SXir6b`UsfeI zLe=d9CU2WGA0RZHUFx+wk$2o=jeq4#G=Wj|Mbhy>xm&q6SbFi@mPib5D@F8<8~*N3 zwx5o9r=|~-Y3epEKUT=At)1KKvAR*l7VTlf4i*iz0|)InkJyg@X!3+%mCABiP1A=S z1v}f-$%WJ38=WePfxqNr`9-y;vgn?^v-vhX3uvQizgv@|)!jH}*|D1cmM{qaDB?3s zAJ`;ut(K{_g8cGKth3^~%z{%J-NTFVk~M~WhUqr{L);LUkH#`mp=^w`Oo@w< zDl=amPNb`k??gPrKp)ZkF2Dpm++=C_Am!w)?fkX;4*JP|&i%xKkuTSK%c8Iz6JG}PzMskHHyv<5MKEwg=uqdK zrGn=&&(ma7e^NF7(5bUhnn+uzdX68o+lx=;-FUsQoV$fd*LGIgH<*!XFT+hR$<)@D zO>q;7Hw^8w8gotQGG(#Y^u`}KV_MLw;-z6?OX6`#()TkAr(SK;Vy~*3%2&urN>~1g z;~W)^G9tc1NMdJrSvzjsetdN;F?ff<<6%dSL5`@nt>gmfy@(IxaJXlPUszYTRbdn{ z*;}=o zH2(lzL_p-TC}^Y`*C@GJ!hwJx4Zxj`5Y z+5^+LSDeV%pGJzOXFwzdiIy-LPs>y37Z0rcyRKSZqv&bIzV0S^zNX}wInVks_vicy zZtzV&utiVKABHs;8=I6O(0YAa>N=hQ@hBJA3n1@w;)ADc{dn zuIPwBwQA3nhrQe2qpU9!cnATkZZHv3@L&Mg6B2eFKI@L^{txrn=zrj_o8lF$!kQx zr`hpAUf6bLv!?lPKyVisKb;L=X{&WR~l9x`=V8pS-R`MN)M zf^cLD5A+=o(lWU4sO4EVb&Vl)O*D`bG(Gh1J7#rLvE&xH?`Mo=eBF$C+DFmu``DlN zN_%8y8VZ&1Fen|=Y{0syZqG8k*VvECoeLO7QR|BQ;*^h#;;=iz6Gau z3l-I{hnjE0x^-RGh(`sU*n#Jdlo_l&u|y*|uCTYWDK53Jt2Hq(F2YTk-PO~Lw@A#v>}p`7 zF!<126$7S?W%-aE{3rAH&Bd1MPqP>618%B}OG(u|NGepis5={OtUw=gWG!wdv%Kgc zSd9XhX+&&DG7o0rMoCg1yk9R5a#EGy*W;SDmBUGr@+3=3wndxgx@m*G76A&InJCk$ zriaNC`#kyR6R7KN@hHC8rb<2nU8)&auUceZcVBQ9Ql?9GSo0#kxx_3>X`!2KK zQD11uQm%zm#`?1(3i(-=4Mbhs)2pbINu;F6kM&-q=0W|6f^LSPF3-k{X+e1H&t^%c zr=>6iX~oezr4+)@(_66AQ&#BQzzoU8PLdprA?=NY?7dMLFRw9=r)erq+fvwft$80g z&gWknn7R=QVFpAPF6avMYcR<*zx25XPPI{z3}^3Go^o zZ9T8m!1_av=yteQ7>~Y?d%CSbz4H;Byck;W$crc`y%j*-IRiEzpqlke0j8+D05~yM zij!&UCKf##Cfagw3Z6uS!HC^b1F@V49SJFCkur%;KntdB?mtRuxxX=z4u@=Fsat(X z_7R2c7}3?t84^PJK0evs4u@FjqD=*fB3x&unRsp3P(q}ms(MC7tKa?EsjXz_ms09V zE+;ba5cmZ9Z7YncB#Z#=0;&`6>c+a_J5Sx;CMeY53lMZsNA;ZpxW3&Aoy>7uQ<64l z0hTaQmH<&l>f7V_N?EPg!jIS8UxOpUnFCn1&cu?IS7&hwx-e~ty zYPXmpkla0Ua-(50?yYMY%^J8O-;!19V9NYmov#tz{51`;j8u}~V8#JuY&iS~2nH1l z8_n5o=mx%Y3%F_%- zBHRC{F1<^mxqz?!dt+u&ds)KOc*Q}OMHNFa;|h7Kl}mc;g^GHfT7$}BHghOh3iq)8 zT=$$p)|@D@`9$qGx~h7_zj_)ZW$Ce7C}tDzMCW=KdGDzOqI8{PVh`{3@R@mf^yRPkq-g%mh@AEPSnrqL&*agM zXo|oJEW!|T(8m2jMkgC?y8))hmxdE5GFVZ^Nrpy-B;5Wd#i4n+j5w%1(w*+fB8dTQ z_k!?AOeLfjW+? zFVzx`1(&>bvsH1@XJULQLAf`CVe$EdRrA=nEv&C=YBpIs^Y3qr6yj!5d#LprP~Ct) zzol4uvs38alptLvWJ-p#xHMLvO61Hj|Roz<9gh2ZCOx}=x z3N7;V=j9@lyV>X2J??6h-ai)RH##&q58RdbcU&}#tJ}R?l^oR#>U=>VxCd(<6*ZSM zp_BsGJ!Z|SJN)G8B1q)FU?cA9RL`rK%~RPk73|iNQ}XzX((z zmutBX3uiVGe(Ju6F5r^AW*^%f>&q>&DQ_%q38eHl9h;ReWJ$~y$=xmda1)1U!g_3F zu*Yz!5Rm@mcL?;iI3tMfB`LbanVgn4Hk+HBML}mi7LJ`mGi+Xcv*PT5aT&rT<&A z2R+I~c&9H{MLT%6%G|PaP^84DncvY#COa^rQhcNQ#Y5)_ffIKgaBKmAPD9tept1fQ zWwz6@e6hPM2Q@iOijNPOUdbZyVRAj&9%9;d%|p7SrC-J(%>B}+FL?T>EA}qEmtYI9 zu|TE<;Y+-Wfs=nZek-c_eHj$C)a(|2sD}0!(tkL9F2>c7;UuYn=0~o4_#%~Wp)cJ* ztq zFHY7VY9>*pDU?>8O3{#8bt&ECMq%Id=i}u(Pr|NhK?00+ZD>Q zk~Ell-^zMW&VT$3B2xIrYMdq~RU_h3Nm$d$-bITGb9QSgZi$KZK4ia-U}(%ii;m!N zM>7;2^NKct@U0`PH~6kR|7?X<)xFVibgr_74=`dtrd!x%Q zMK5nj@B3?u>AKm{9>*zLUSt1U9W#C**eC_I11p7`1*!vcWh4xx?}8RjwEsra2f_=8 zGUw+2HTcc4#9`sk^))J`cD3r%QDoe{7>C;8eNbxt@y;SAkYdgvb>107dX#VWOE1XO z4Ye6c%{WV%H_A>wC+VGz?-HM{i6pX^(-^E$rV8pXHXl&{?0D3B6Ht7S?bnPQEh*?#KNR+ zyQ4WVY!6`Lzjpu*t0WtO0nh&ie-4+nl%G*y>PcTYuINlm-|sE!w8{8={SfHR%DnEui>;yoKCC-1plx3}jei;92xzFAFkm3hoq;%QSgm(d;{eYYylKHg3? zdrv<5!g2-iA}TSMmJLdbpSW3uarXji)xQb8nM6fEAF&=oyELBc)Hv_zYQA_IXNG71 zj9;XFAF2bZ#gtJbsq9!QI&=f28fj*u-XNDYv&4;Y*cFRd2_bga`F?-o6=jimMiJLA zx4JcFa__p*c*(z*v?rZS-vE=X1{20z`3R=+(Ib zu(M|8O!!`pwNa;5(R9T8RiqJf_)*Sa(zeV57r3jnv^TWjrbVtSAF1vQ;=Z}p9D1#0 zr0YYN+!m0NP%|g94ggbUWz23w0;zJKg_>=Y z8jQj^&ze+`=HuG1EM|d`=~CTHF&{_QmG;EU+yoK<J zXBXRHZe%8naI*EE@Kk;6k3iaa24zg2yI-d~v{txe%-R-3@#(02WTJ0sJFHAZnp!74 z$xSrB+Xl(p%yt2&O_Q1F=MDs`ra$JBKVTgj6wVhcIkb!rdAF8u8z2w>)%9gu&FknX zRs*M%tS#Z&Ozd;~T;ryPJyyV6tczhy|;R zNH2I217-w`Sm1QlX&O@tuJu6{Isj6_J7x`41iCpcbxrrV-a)HO`2-T|Hz{bL+V%(< zt7CFbAF|4}CH_5gkBjQG@f`}V##A?7YJ+k)w}U4pXke71SWocwgQ~q@{!StN>p3Jz z#qdkh3yA!~1WsgmPp|Sz#i90t+P+k66{{$3g)Ct(u>A~3jcYxR23h^hk!L$SUu(UU$m(WO8a24Jmx75_$?Kfx{S=5lyIWmB_8=n1vGMvnED6T#V zydHu=N=0K(zRdy8~R)Hvr z3<4I2I~&;@Yf^x%C}A!Mv|K)JsoSkHw7pgT^8Jbu_b*%55BKuYPniuoMB|ptueSF} zDga3%u*2I)dw+kU;L*LGb87y1R7=R3UFMXkv8K&et&)plf+(aBy|kKJ(_gGw&Z4i zll;a%?vdQ_o$RVTAG-5;G4HOo(+f$&;&wzl%91!-%~}7Fb1KRo&+k|qm%ciTP~Yo$ zD6kGL1mLyyj!#s&lqBXY{Z)*%o(}mI}Oo3v9A4XuUmF8oZ<@cck?x<-&Th z)o<#Uct;J76mC;NquKq>bDATID|aoZ-ro6gJ#I{_8qb~uL%hO5gnYaU_N*)#COQ+dRi%711}$WzaN-Yo`(p&t(n%;cci>qY)oI#OsY(N z@3sw|f$1AmK?Lr$OuuaZzG!3L-Lps&#$HClMs{UQ6ZQAXlHAhl`4RphP|!G$n}GTa zYf2gpMkQsffp{TFyFf{_F9;o0z_~@)y&p(eOa09v3@w?-^GTr)QFXcgYPPSzp1}gS zVROs%fa?2mOtM*z42{qrf@7U8Fb!Mlj^)|9)&H(8v3Uh{k&6_OS@Zi@cMYJtBtgg& z80x;59Az(L1BABaih>7pgp?(Q@g_QbMk9I#8Ru=4zpUu;iF)}k?_{XABQ&neK%{Gk zXc$T-(z&L_B?7OJSF~BM@8b?aSGs9R7Z*p>)SN`uYihEenJN?lo7z9-)8@f<7BMys zCIJSy9sJ;%Gw}xqX=yLE=LDn=@QfM*O{5drqFL=kc^5Vtx7b@9vCwg+#F|gM;R(AZ~w8O@0;~$)x;aDS;;AuUDpWqhB@Cp*% zhL6(xV`?iNjzUD;J?gsC2M;~fgx%8vNZ03E2|gIXWs)Ev<_f4L5y5U5&fnkSmee_F z^aD6T_!xl*-KiZ)z1b}haiv?#pe(EP-X93O-WU>FCUlwZ(5V|T%*P3?j^vk$=M{NF zy0`}k=1=RRR{moil$gn`?+ryi>G9S5&ROgs>DOilE1hgg`@QhkJ#)rzAMGiilfIR*q>zg3NV zHN4d|#wdCJVPXm4Hn!r|%W93hT1O;)T<`dcOrEMlUzRltOdqs|h5ZGd$em0w?6GXo zqxl|nMkJ$WkinE+zt)J7uf3)aCJZ(BE^K{q5kOc!pmcFPt|FY%r1*l!`i zsM+K}?CC}tY245LIGbBRJ2tY3Mc@1(~?rT%|d< zaX@VZit!~3#WbF0e zwTOIOX#?y+e^N=#Ai~Qrc(T9%i0R4;LTavFie>UwW*N7)zn}SKD}4N~O-e&I6&bGx z)sISJ87p{GE~dB$?Gv-h*Rb6G`Z)7Pcad$^u%X@6ptO`}$R5ZF9DDXnS7P14{26t$h#6`__Tw!y8T3f&@a9{(V z-yF&AIG}Cn_3&edaNDer)%|F}T%;Q04=tS0IgZycooorEYsdQZ3Da%Yo7@}i>a{Zc zBc3c_L^oVK>vBn7YE_Hx5$#;)KHX8DIb*%6-rkm142=vA6LZ^?cL8j6G`pXXI!=>r zou~>nCz83Wi>xTTDnswD1?F{L&E-pPj%5(ddg5o z8IxYVr2unNwsqFeYhIH4g?;(f{?bUYap4Zk?*Uv1?g*3S6Leoxqu4eZty!eY9!s<7 zwzp?Ch?L*GAa8Atm=K1~&g=XSU&FM#?}00>6X)O9syF`}t$8nj7;0}((E1m$@MV2j%ROV=EfWp4amJ7c`ROfyu6XoyEF zEoEo5l|F!12py7;(;fheTsT-uI)q-JalnqVCh(E!yfB^g!I@bt=cAShxkuq%zmeu3 ztANvqAGNDK!1dlag4|btt6DNHrcBLNOV5#C@0o?t^owJtT)|EwP+9^AB(MU(gVekt zrnp`77BB^+_i}v`;t*}T{kfDhaB+=MjiM;gtyq7{{c3=vpTmLT!!Zr&1@rp6pAUR~ zK;dIzkO*WJeQP)UJQ6C>l%?x@s6t7bZxP_(^xF;@4~YtA6<)vJMvYaV7iuHrWp#m2dg?QPk1!XqI_ZP_&gWL&g&b&S;QKj+^DRtgM=I z<5S zss85)=_u)lGGx&(Q=B~J#VWzY)A6uOe1PS(it@~YynUguoKa$;P~zTVLAnK&5F71S z#4I8nR&y>hvjTXclycUc*MOF`nV3H5E?M|g8p>;hF&ovl(lMx&>KWX7TkRWBEPY3V zgnP<;BGTMDp`!8Kjc|om*@J8P$8_rXf>Nh}EF|=}q z9|5eP%$~KRn!F+mELM|7KR7txrlpbHj*JN2wpJ~hOc{3YGB+np zNGJ_jU>9s|ED^82a1}5UK*yyPr*V|+*f@iU5skxi~-t~SJA9C!j(-l`$# z<(NQ;a|4;I`0)GAM+!;wi2TjiznE8n|707sle)MGfY2XR6+3?+Yk_6VQt&N^ST`Un zW(bz8@@-c#3Ss9ze0pNe? z5!^2o1y034!#Xc1x(r~u?Vs8d=DhllVR>t;?V6?+V9*$eceq)Ty2_X3o$g|Q@hX>8nxfHlb20du^e+nsWxgwlmHu5 zcc{lo#n7yHTn$xP!_AT!>*|6|QFv`c*Ib-dF|Ebi5s`BF= zPgqd??Nzhtc-jr~w%lIf_D2Lcnf!s!A5wYbIFt}r@KXH%gzf?+GA)lLQWP~7OU{a5 z10o~E>EVx1d@YPRjSxc!0|(H_iQ8PjIgS~-i+vD30B+aYsr51vr>{`C#Qdr6Xa4D# z@?W0~!XFHUb8PHkgBuDzNxOf71`fNwcE3_h!0N^YU7xHnHz#QGEHwYJNn>%ZEvTxf z2B%ZLcDXml&B3m>aA4hY5waXei&;Rum{shPv{R$%HLQ<70@3PixV*sBLllz&46zy! zZJVBP-JsS#0_LEkBoy$?E!L<$WNKUU+l$(=Va^8dt6~(?@#Zi3W6-j@kP?%OoNrqx zjOOqPimUx7M1m-Gp|;T>UEJW`XTRPyjGFpXy51_fEoSyKyOfmPO7Yr$hDKi8!g$!F z2$Rk}ewJ)PA)91aa*#DqUj8(+I(oCAtOr;EwxPrW4g;v3uA#QNe||rcNPR1?e7%~Y zd)7G|kRYD2;h65qa)ftjfuZ1T8%NC$H&gB1ZomqzPE}MN&RKG92;S<6V_-Mt@brt9 z=ZPVQd%yCDrX>R3S%JqKTBPSTq2Ko_tJcOWonq2hhNHf>ty^0x3b9u_8jmy!o9(?i z$Rk2yfDxA3qJ?2Di}o9Pkv$0x(D=Hw@6y{Dccpt~hpkWN`__0Ksur||c`Z3S$UJ0DtE~D&q z-WgkaMd!&wu&I+SshyS8a?jX)uOC(593vc5l+C|J$kR-sjEH}yjSqb#3O$w_WMmbP z=WFjPXANu|z^7rjQyww62%Dh9I*LGNe zcq?=EE})i9ZN47I86!O%0i%wI5vP)cBrCdJ$zufGj=%ULrG8Xmaw&3RTREp#&EQ>8 zo_#rY#PAUVC_Jc2bMdWFhuG#jTRk$&VzMJ5f`_+w8tE?MHB(Bp9~~+LV!*o*rlalv z(bj?EWg%Rku8VA)}9Tt!rI%!~Bn_U}JK%<-4??qTKng|9ozo ztT$U-Qzw*|S^6Qesrp5l7%llE{e=C8E9IVCE4-QCoYjD@T}t?yrtQ9)*g~G^qJH~KvS0KcI|zY zMSY>gbc1BQT<`Gh#Ga)%BW~oiNa)0Yo)3;}_1>|~- z<|6P>P>IIW>Y*thSd*XC78@oj-Z1+ zkBezoR9PPOx#PSt;suONm1DX89Qk5Vv)I}}@QP}0ajd64`haTr{dmgaNvd|d_R}kk z?u)JW@+Re3Yy+6Lm$ysPy+tm?B=mFZJzQI(TVCkX8-}JOe=#w4=-PlLHVtyFzxJ?R zl)qJcosRr}(0Jo|R)3>?(B)6!*9>|dOh9b2w*Kw?qYW&1n)%M}t9aL!jdGreE`=I| zBeqH+QFf;8O7M~vp=y(YL$Vg9^V$BVIK!paR?UD`(O_a&=~cm_oo~;AR=IEI#yIfs zhlTU>U?zAh?7$$;kiatEn=s6SI;!}|8h2IaeG{4*Crm>})YlR#~ka$HZ=DriP|1rBo zT;YHiME6@zJX>C`3dZYInNP5j`>(IrlYF%1E){?yrrXvJ5DlNOJyF%u5&Zt_XVz~b zSwP6%%ew90jTTQ|U*4w6PDXUaH#V+hgP})c3~wf$Z0sM8lW94YoQN_>7A@q%-L-r+ z1>sG#w_d!dSvM1WQw^PRj;U{+PWN`LhsVarc2*U?iZMr2X?dyxcTi%KTa=IQ7a$QL zAKS5Ja?9JjNvX)C)(*x8{Oo$^i>vt$5d%B?qarR?i_}jTfmIx6nm$}62s{cLMh70| zw)>Hf-9*^6e3fjT04{8gyn7SC;YnT7g3m;s@=J1jncuQm!AUnLM;tBlyegL24LBm% zKNaEo>F|>{T?=bJV*i)x=T2f539q^n4if(EY*0LG-Uf`A0Ih49r+bc$gNYXQ65fG8 z0F$zS^lDWApmhCr?9n{H3s$UTKDChp3Yfxs=D0yTfR=Yw)@FJ6W_gW+iB7OZ?=z!b zSjm)1f2Cftb29Q}+ed!tYwx&LdJ!HO6@|zqbOZ6x{Jae>d-+Mt&qYX2LsNbF`J_9J za?uL#n7AiGJb9X-_E8kjj>22SE}nXnXAuUI_QV4-H-nQ5%kyH&qp-6l3gg{B3sDMN zmG0M8a$~5rA4r4z@(R2b+)6kZ1DCgt7hj z{p0UvI>p^iMipx&D~9?2I1zICp0ryC=786(wiH_;)KxrK|4H48VM7nXXT%&Yv9~(# zPD5p=BAPOQqz%ScTHc?ia0Qv)IO#=~>?;abKn+p0obOt@dXWQ@-KN_$Ti z><7a_0hb+@c@+mh6E6xkQl+WKgpiAQeHpW_54A$d9p7Ak;%2@rxtMn_$k;_rqChK^ncgenrKK z_WD6Cd+;f@H9MpC9DDQ7d+|1YXML$J-$fGXDY{XPJ>aOZc~$oj!M3BuNJF*hS_39Y z+e}c2^|r93EpzEwgqEYfEnx-A**0KD{^33gg`~3#qYluMqTz z{xxlKeV@5{-A~T_%&}fM9$3c?Q`9xU;7()S6xW_q$FRm2HEb~ z#V16!gzUdIP;YdT9$`sEc(shIH z-!}HllUjes$faj^V1hZ!A9;Qbj&~qgc`0(`Wnob|8u(=~rGZFtQk$hNLq{9c z_P;56@2E7>ef>LgX3r#(I*zfoofvf-MPqNMXQycFGdi(hnb;ArBPy1?C)GZYh>D6Q zv5gTlL;(xnPAtSA8bv_?F%i@#Hf-4QduE@r-v3|!XD!$FSr6Rz^}Vjo1-a;75Jm%} zf1qY{JS^AHY;-Wk$;^+Rf)w;JP5nP}4i&>ZQi4U2jMm*Oa=V*OlCGk}?DgVGv*^0b zx$3xQi!C>b9yxtqcx)fne&af%7$!{XmGirb z6gx2sHBvqLKa$i|eL(g!OtyUfdjm4bdwCh77AP=N4hpubYX0;Benul+>->Yn_);)&7)b+g7%#%@n4~kJ#7|r+~J$+5}aP-8wADVjdT(#J#_Fx z-dA^LHFiqlO~dQmM~fN_`~g)m+mwF^8am@c4n1^8WE@&^rdznP>s*UtIPl*1zngLZ zZee}#xRbi6+?R7ny{0q+tKQvzjABoEph?-!>i)?kXTU+w(LfsPf;N(4WjNYW=Y`*C zYI^u@f!BBU&J3DhG_EKgXy`@RfG7%r5d%aI3HE!kn1LU8s>ph*`&0U89Yjdn7c@~% ze@9)uIGR$O_LfXvw%pqSUUp~)ynRj(auqm>K=XOG(j}ksB7KN6qs5()9-~V$HlA~X zT&Fj1fNRMN6@O-?l=RO8g_)*VtIvq(t!*#KZ{z%Y%Tp$oj{1K*n03C7H}*@h7KWC8 zcJM0tILDbcUEOYg*#?d&;)PE|npO-&z)RR#d(P}oe>f3*I(08TwAr{s>%!v{2b9pF z0TdUYU!X(PV+KZ&j4f-=LKiEa;D=*nog<%7ejOi;ygH}49_OVMYNnKstKqG^`7U{%L z!3;oYujUy+zd-tVGFl4&8^4O+WM#|Ao5|Vcay8zpj&SR&4vYQJA~R_hIRK_Csl6C5 zy2ywrOkaWoCVT9RUnM%K112}+#ZMk~7VoNQgMkiRu%v7(&#ER=F8l`1WqG31DgfmI z1Dpr;=Bs$nbNkFm-6haZ<_ox(w*leGF}dE!YVmqaGAd?sESP+u6~c=a*YD*7)LhkO z|A#J%{TyP99NB47=wHzXeoogne6JGCOf+A&!*X1Gb$4rT!vZSDuSU{2K9=IsLnFT> zq8zlZw5@c;c@F%G31LCY-bS13X2dzUj^{kZ0k$KxT&KB_O<_9o;_F{aq2cV6Y_(vH zB)qe6Jrb>}!Li{`8XC*-M+j1suHJkeAZj*pv&r<)>;g@Aqbn=HjbrS_$u^1Q>5}vI z!ouz`$#66UclLGvQ0HQ2^kb7QXe)dpIj+k?y9EE*XUfG1^*)Zw>_-D!53Ym6qQpMCuqoh=v5NePBxzWmpz{1`!5xNr;_5tB%+kwAfVGug#tzXs?e;4r#_s zsFFcMtKm^Gzm%7H6vmW@?33ph*-1Q;ejhyyD26Gn!1fOVJV>XPv~^>S{hy0=&@P^| z=R_-af-`zw1~4Z+j$$x{6J$unE7qb$^xq-~jlf}&7^+h7&>geoj zYK=oeFtKwF&|Yq8_W>Iim+Mzf(m5pWPOjN|;M+ZvZ)D2Mm-_H*=9wvntz^3pJ2JI_ zVwpb@XY%N&Lsh8G3!;@SAj z=!= z2?;d+bT;+#hteWD_efP!w=*|1w1My3-2ZwMe{iV>g-26`Nk@Z0yERdqLJD=1VLQx= z{IkblG0iVJzel6QjJ=mO@q_?%=Vy8YTw6Ig6aObCebgoE;!`um#G_h3hA0 zGO(%mG`cZrop2=^Zco}dr_uJc=fd0rV?zl`C*WG=gP(k`*MVljpjy4oWucuyXGrW( z@p-Fp_o$ zQDPgY=kkP7m>HZm(tZ8ZSN`_L`%fjowRc~AK-lMu<}L(rjNJP>3l86Nx;eFgT1zlE zj~nxTZ#pZS0TMY_%e`g!4=wg8;l2&AKd_v+EL!u5aI4dtV$jQiH+hPB(JcSGA&m6k zE@R=qM1cdI1}OsGO@)pDDruGmz)VDTUdwyg#b?*M+Z`MOlpBRX{z=2bzWa?1&sdFm zL&e=5FLa|ON(^~_Y@Q?quSc{s^}Ob%!gGWfB5)_wS@WZT|2W2>!l$$`(_QFl>UIeB zllM4+ncN3rkMrQOwl= z>Ssv-moViON+~n!tq|uT8&z(}W+vv+Z5Di=c3%x2@`1xUj7vyXLn|gEDHpe91HHn8+<#szh17X#=aJ4T>Pw+PEI=3r;eaKq72OBRoxh} zPYaI)l=$N}>sdN=vDM*)eXt*3GG#)!#e>mBvuTw23F*nGHx*+twQ_wT^0}Y3w-D;6 z=d=IbEPI`N=_ZNx^fR5XWZ&k!nIY@4QaO^wrPB0W11mu;CFfHBQlDbp7URKzrWYz( zZ1*qzN%ze5;|uMg<_8|D9 z6LgQ8KQzrrbG*ydm*psh+RDyvR9eDe!RhzTq<%S-B{_ly+RxgBD{PLi!J~}B|MN%O zC#**c)j~(riVB?v)B>SL?Pfyoij*Z(xcU~*IbL%+Y^M=jq!jL z8{6@~FhepGG`Z_E(tr!S;_H?k66gWbA-IT(T+Mt6cc23r?_`-%Nnp#I+`7%hN`82C zrR9DU&I&V^n{pV|3*_U#OpSuZJ3s*;fqfmR^ za(fyOup5CHYH?{d6;OdfQ@;{_pUws=|C{Ru+#87yhsNdO$6vjJ=%k_WQnwMCCsZf2 zqZ1r*3vd<$92Eoz;$O_BmfTFP@fhSP$PP7XHbt#>NJLhPrd&Fq8QR8ZXmR|h%FbcS zbM5OcPf;iLfz2hCPp*Mc$4RgKqnq9=^Ro@>;l%Fv0bHG@Fl*$vYA_uZJl8zrtw1nv zv(RsRaOKRP{EY$GX(CN;jHX3fj@M2Z%5{Mo6i*%PCwU;qL8;Qs-x{b_*(MEj46k?1 z_6;(Or1cZ>bjjy6WON@lUpNvguJ%tE*lwJ)^xquu00`@R^;`SR33XN^ZT%$MVcVuydi5xBca$ZW@#@j(w)xAHk^z%+C(J&niP=V8D#WR5v-+?-R5MW ztz)Z6uHF$>%Iz-xYguyP-X@ei;F4&%_j<~&b|_|m)YRON9fgvJa{a_q5yPLf35^{d$Rfs6-D)u)msqvV zXP|5M3i5Ze?H;U?fHQRf53!oKKWb%j3mZGj+aaK)@T31Ag0NX%=UeO}^ zHx_ruaz4{*mOO9POvl?8#P9Y%#Py-ND)l@f{`QNW%wYzj;YH5fq}4W>abhN;b&p;l z-mSK`RGXPh5>CBZGblAMF*9=^ukGY*Y_oJ7oPS=Y0Jp+Uhv^bV7f4u6NN)CwKoch3= zX!CY4hQ6h4&zH(IeOG6Gg|;5kc@}ve{=qJY|L3PRav_&QaADSm521X?g$R5`BhkOI zeo5YJj!4bT&MZAyKg3BA()f0WZ^63*?y0S=A34a&Z`=aOLs@8rg8fywQZQT79}C0Z z)SRFSP^Ds{Pw6ei8QL0*eVW@-S>eT}* zbTnT0TgnLJT|!0i_1Vp%VA$hcvAbtO&HJSa!A{NmiI)B=QPR$OQfJj+Q1*$@W`jCm z;0$D^DajM6+x#7{4!m=y;rKXTkW%H*Yhz>3A0hCrB)H@YJ6B@}1R!H4XOXv+-Y=1> z8(0PlMrNC2J;gPxYFksgT_8%UKZ!VN0W~Ww&*xz_d1DGSAbHj0QKhpP<0*6i!I9Lu z+1S=sv1T`wcBFec{{3$js}wa%e^`oD2a(jS$nDbD0!2Ex-;$XMCV@t#EB2~Bz<~++ zTp7|@FH2m4H+@B&*$C)5x4B1_(SH&TUf2%8(gRq6*}HgC^y1w!Iw(hCk?AbcA0gcI)Zlh}Ag>Z{ZRemG#~ zo?|<{aB{HRAyfrG-l@@@-JLB~O?{q4XHz`Pb0hxVXq_k)L^Yl_v1Flc!{n9#4gRX5 z;YiW9%yP~1zAQ{wXLCTu@WIuq7L`XIm?1u+=epi4yf*u^T`X7rm3o7Css(i%n%0ai zzqH@|lvsyC-h8UhpXkLf`#^!EzhLf6NX)N2uyv)T+fR3E%VM2GDMLB3Wf9AQ`Ix!L z9t_j_mL8lfXV!{SJu(!`0POB>ZO*s9o=)5v%#>ty(lr?Poe=2e070$IxOS)sI~EKU zngoMY)5dmJoc|8Zd?fp4i(~`R*#0lx#w7J;tVI&)q7m2l9yr{%Za@vvWee;H(3{mc zqC7E0-FMksu-ZPW@a5DX1Nv9k)6K~m=LQ>=qT<8DW9Ur8ea*PE5@l>eeMoy76LJ$A zJeV<*1fmsSp#hqi{kLE7!d+Qmh>ktU z{$B4&1`t@6Qjv)p87i(x}3&EjVOC~!hA)&bGesSW3F@6 z(KKr6ljlFWKUfx9d=zMgv4h7`5K>vDP?l?Ny&4#QDWbM7+vu>Uw4-Cq6rs;D?C7m% z_KY>b)=!AQvuz$}N@SXIKlj;mf(^J6RAq5>41FPYxjj^?ZUW+Uw*Me2ER1){{Z_69 za@}TTEq~cy!|ufHQD0}{Yyz4Y2LTdjT)1?eTwXL{-En(0cFz~w9#B8bii+Clfh;iN z=hD9}*w254`PCSy5i2CWi7eT9JsqAl92q+WZ`Xi&(gJ1XD=Pq1b@KA;4DF5^yKnHN&FP{y1gBjqrkgxB6AJqlH5k*E&9ix-pM z#&yLt*tgh0ee8XO53`JB+j!%|rZzEA`q1XjQSZR^Ukjswoy+S{`{tEgFGR_m@MX_7UA+$08A(dznyT(wTX(Er- zc%$!jap&mb0GmBk0{V> z2tXI;lWHX1owW$z@SvJ$w&=8?mpEy`NaXX#yhpBF zdAwI)!~JQCA%Z9)BmCJz=u1|hd}iepL!Bk_C<)4#7oyf_cR{8z8Zi^j|BdDDPxEN@ zfX`Qnw>+d`?j5rIRdaR#H#po=UZ_RSlEosAqLtXzWE)BkJ|GzYK%0g#?~tGcOy$iv zHYBU0R@W?Z<;7PxtbW=?G>rE#KV|&X-f|}q=CXiN9Uc*!Tq2glT zrVmT^Jzo0b0phNNT zBW?`Ju-Ie|wYr_%WUu$duPbQ`?d5n5LZ>{|Z`0mJ5O)s{k044#L$Lwxl@wnQ)Z7P= zzjZgG@`pvSZb{yO<32k`%;wuWPVye+&cYmy^q9&d3O33G5p%M;G`I~M64(Vbv4y#M zo0CA>;VwX9lh(g%4ym%HXKN#)Pv1;f?^a~cFhObgt4pQN$mdBF_$9Ov#G|FOyudwB z+s&shI4XO#@=|)0S9F%gpK-iz9q%&NA($<oa=x)&A~6)E`zwHW#2iy$sH{z;KQ?a$@+wZMUo^4!2ytdCX1CD z+|M)sCx`TVy6Wt*x*sC1$+t4;7IH5b;EZE$UoEG*u>c--lNSi48hBM#YS#8#9!$*| z*>~&KMD)yQhP+9l|A6svV?`m(5sc+t%_SJ^s$W2<_27di%pf6su5%CJX;zf$JIOw{ zJG{(rWe?4obtFpvO{$k0_fK1t(UuNz4eCzBZg)7@_4fyYE1FGA&_jUSR6%)HXm@U1 zX(F2`IZp#kT3a7Ez-u-?l7*E}Gqgs_LIW)-jtEa;wP^y-DE~?(u15tU;qMryOfX!-?kCsN{Cq;EVt=JuTq&H0#)IH(_h2GrGV3 zeYMRcOcGDzZJ#V8`-P)Nft^ckKs{Q)Eq9}hyOC+~3;&qWOAGG%l+K8l+{@{6?ckC< z+Ed?2G6!d&RqcIYaSiRSiX9|Z=<{(u{@TMctvHZ(BAoqW=Wg`UB_&U^AHvS=!^}71 zDj76f{0%|bYtg`?E+D?(u?~kX zQx?gFHj+~PJNe##`kL&kn-U6W`_Z5GJEY@&Z(9uNkCdz|chh7_NJMiWkN2S^B_$=K z{#gu!4{%XQEu0o`WNFP$=Jkba59PN%FfYQ>YHmt zOBzoO3DXDqLxG$T80Z;0^CYUhbKTCtsf*tZ{HVh-2U{ME6U!-b<9*<-HQQHOz@H*k6W`S5A2+)ahtPun@~ zKa@1B9%|4-k*(7aO{G=v5xd;%;6abv_f>xTa)XypAshFGB&Ly~P4*!l-XeE$yE$PK ztF*bh=KRd=jky;$0Xp{H| z%v^>oZ!ji3D@6HM-0F71=?}EK>Pn}plB&+bmr75_P|Jok%W>>@M_$P_Umhzg2ZM7c zldK>^cP=G&tI~d%K*7oUr0fy*)E&+AM%VC7PI5*9j1`rfu{6KMb9e+~!xf@uLThwI zPlRL*Z8AK?yO`7(v3`BhMmwHF9SvTg`2Ll$dM8mv!H&|bG#+5*s%Ohv5c|CHU$ZR0 zm%$-tJng?*`^1PAUEj=xRe{%2yp0d(`uTq9fmg%2j7?yH2RYCDh7@YTA<&l;q@7Um zRJ2b$GET7MLsoXD;l+HsG!93etSsBtHatT#{mIQOddz&cEL zKEpn8E6&(!9ZtqO?^_aj--jYGKwTAOhWo=R^q1V;_G7Bv4wFPClsW&erQ(JU|1_LEJ~JzDzzVCM54e-FSeXX~?7r zpD$6YsJcy4g(^sAm9PmZLEi|pv^R>&TawbW6&i(MP*MAIoMx^~?T~-e&Wh8(JrsB+ z%?%84)MyL|h$@BHeEM#_5FAqc2c{=-YAtWM6+OLUtX+#LcUZt|c~ctnA>O-;*uC(o z1DHeAfy3XFgb5iTA5-;$*Sj4b@sg%?dw}&Y6H}QSF%(omoF~+|chozTZw_a`Me?GJ zzdt)k)Yu$NIlBo|$JqXiHOukzw3*O`DlYp(!!K?2`aeMiT^0$RSJ$F@ z)|d}IrR-d~6FC|SZ?-XA-5d_d4$ex5Lq5SDpW(0}1C3$2VZ46dXxs>DA|bQsPx7%I z7nM!c7}>fO{-*2ALW4b=s$XJc$2+kBZNoAHwSh_@(Rh>;nk`8QndY~}Wz`OMTi{M# z=~#M(u&rqEz>OaOojHMV3p;q2)gSbZLGddY>7K5mnQv^)Ic)Y%ZvhR%P}}gg5q_$$ zujPOn&ZaiJ=7x7w6QK+f2m}4C`_uUaB61U$buGK~yxV`AMa{M{T zh9VQr4doM6fUZ4rx+@2f|EXS5znA@^bZ?UJT2q>xB*4-8#*fx!3mA+D{=$&un*xjE z3?iEqtb15kHXhC1M(i~zJ{6XjuVz!znD5mYb<-acc596I{)GIFX@YUvD@4=qS~sT) zaZchM?{cgmoK#rS9G>F9UL$U&f zJW(w+_q^pHEEOQAc!sI@^ugkc(a?6u?d>ShpVrm*3%)MY$)lB}i*|lGs#_CXodgS#?f0cF@I_qAL}_H-+Sr)? z{*R;RB>K>xpL(uE+_No+Zabc}RE)lyzn@A7XIXNh#^ma`)RTStZ1lq#x_yb7XXfFs);lleiy`>=S4uV%Jkua{Q+ft8_*$f1U!B z|5A!+d-UeR^IQZ_nin)qFaHWw(2RlxHvX4T4g-A-e*HG#{D;DsUux4);p4%2J)bO( z6xBPSy)%5p;AG*JMZvu%*!_jEfD(IZ>K>`&Z``#lp#ynMk^N`NjzcgVBJGK@xxR1W zr+&LFc$fzgvsqd!zx}MNUs4`Y=MGLIL- zxmR6hrw(M`0wmmNx2$1B+F;>&Hv&_CMWr6A5m}Nnk+ZIGp?`b#%c(Mcw0JRvJiW-g zLk=}oKUFSgEgYAmoHwT`0Rt&;b3E0A*Ojd2qI z;A&)fvfwt{As7~u$M&zi>D)t(k_53WS04?!Dj2^C9LzO~_FQ&ZhIkd9G*Ev*6E2 zi3kzQdE{Db7RfV74|)hYD^o8(COGZZ5dJd{i~nyPMT5&)$ec%W-MQKC;q99#UHrJM z$a;v83ZAcN7ebFIqPh+stT@voQ;~syoS8$RmVxGq78VMbS)!%B>6-B@1=P*u`~r7TbM;qy=;`BnHJC z>|9@QR9KgpM@|`)lLz1(IdFx_s&Ozq_8&w0eX=*X+1_j1nVIE&*0YGmD}`J$5B4s8PzyNagfo=a$pSG&#t}pmcrAOtPTci5A|acq@_HmF zqx0xj?zRCL&vEcbfboyoMk;6OGFb8ZYd1N2hh2r5O%6SzNW)iY)RLBfAeam*bk+%R zb2DJoD)}DB6msulm+MQp1UTr~Zt4OSA4&Kw>&#-?v0#ryk*mUdrdEnFen)5U=Q~2W zfNM`jIQePptk+n9#~fSkuWW7#DQ8#Eraz&U^K~aAn~+w8Cow!YXZcz$X$uBk!EPZt zWSfqD4~cjubH9=Nq{jTWCW-j#hcXb0Q`4D<{Ci698ZC*$|J-?m5F;c(MPQG(hM-22 z!avE+&zHg6_6?hvDVWlX<;;BIgHlF4+PPlC*(r7MfYH2LV^w1Q8-01VB*0>80Fa&+ zvWOPkx9xJOjKYJU$00lMnh%yP$b1+3;DaE{k5m!i1v)z+@K#2nu7N0~vPSO?_iX@c zmb%_kIV#|wZ;o42N{DEum=8yTj%JD_#&2agx>hvrw*<08C!4=2Rmt8sDD(*I6W`DypcKT$=7>sSRRus#+h6zqQZ4>sq0o*yZnHeg)|ITn^~YnQ|WA z-8!W1j#}z7N)oyUGD^lQ<7ikn;zVrHraSWuYI?gz`b0yy4Jt^Vx_|F7* zhIcjb0g(W{r_#7#J(?C@#E&5DgM^2OQ1g8toqIQ5@=0-%1BX7@s4Vc-8_XhpF0QMT z4NC|dTb~D_^qCrJuP1k>YXRO=$X*H~Xa`3#W5pF4CFV=En{j&8xhQ{pjh*DU{Kho= zTC?HSrxbAZV=}|HRPJ!1iO}ZpJCk|s!!`o5EPrz^WOs39mRz|p0`|A^Pj=6#F%!bI zj4Hu9C#=*IwNO;?+Q(6ql+fbQlF$!yzUy#SponIC;&Usz7+FG)l@IvYJ;dn-LsBPS znO@rGNegG<&zg}{;T9!m zHT|g4K35Hg&QeJohx^xnAkHt0UB*F85BfP{082%Q**?P&q1xHh!c)uE3=%M@#{ zFu@P)WgbW#2TyJK4Wdot@qz84fXV{RsNnsSglNbm_1`*2eMCpaW`9@+I5!V&clk$e zQhdAIFS-i(+V}277L5KzxN_Dq!_M{(93GY#J1B>4y3^CjOlxmMJ!}`o@8b`<7kE(( z*&znrL;zz8gLyP(NU=imB6~T}l9N!XAz2<_$6K$qdBM|cpuGbaVS7?g`6hr)Pz3B6 z6{4|Hw7g}l`?1yyoT)?N%!ZIt1c9^N`-YTvj>vY!JJ=4OwdxHfj@IfucfCY9vHYr& zChUnUrbAXKKqQP`*bP_@EK0<84NrD!KC%)l!GfG0_gct!#(o-L`!k>=`qea9eoV`{ zTW$}t#qHM#W`2HN$%I+wk!rZ|aNqh4NyLgiKg6STzE{sPW}>Ki7qjJ8NLPv1M=Z~0 z*3GmvA|YzxrJ(8E>KcGqDDK7gW$YQi!#RGT&RCF1FajIEPYtCT-(Bqjr`w8P9W#lX zj@!VRml(~ExAm9lw8exy`#(^FY}O*`hzr?jANj?Xuq3+orPce>Z$$8da| zC(MAc-oaTuU`jHB2m=Hz-gmYigd2YFCJ4Dn#F>ccc!~MUy&*t@T_P-*L40%kD=IKg zR;^I*6RzT6bf%aW#Rz&v%L<#I-foGheFO@~D|uQ@)v7_J*%&TpsU{FAZ~}l#W!ozj3;j*c4ykN8PGI^T>x|_ z@YLkcFF97zhgjj!870lAjI-%3F=I^@0Z^tz%mh~ct(TuYcxCn6SMwntAJy9Z9zznn_hkDp8pF@oLiyKfA9t@R7c5o0_?vS|lyN+Sk0vSZe&V8G5SX}-2LMva_z7Y~O z)GfHZt~BI=6&G5!#NP5Hmly){9;NZ9j{JT2^*}x#vZyL0cD3{@aXapr>mJXhFaoKV zq{pFRCzPEXkkC1wn-8>xn%Cqa>C=IL%z{*)$j1Jv0pW%3e?RC5bcXuq;mPoalH--t zmiaHIbjK1l%L(&!GovQRTn6=Dl;pF9oCHyhn|k(5h4?p;~~sLCFXzo|+oDZm2T#JM(tOqPB#{{m& za&+o;B7RMqwOU!coa{8(H$#Ql4utpX3jcnJ8cO zw#euc zXEv@$tJJdR2}L$bjpUvn%lE%GMDdWnn;s0YUSWX@=piYqcgO+ogat=q95b_Kgo<|0 zjBLF8$E2M?`zl`|BhD6MXO`De^?q@F*srUd+Wu~#-7@7aBQQ+d?47Ck!apaf8mw6{ z0O{fKb1GNYg3Hpu{HleSgCR1Q+%N}_4WCqC$I;u3yju{~f!Q1dw>BeKK9Q_+X)wH3 z)6!q9wB6!cW1NlLKM05J%OY=>id1$ z$A|iL^d10awIL1YascX*dsfV=PS#7uO1l8#v;_lxb&|^Xyx%B=j`uo;n!5!PWnJ?W z!S3w+HN{z&n#M?=s8#X}yf`UvO98*YfC93=N*7xh?to_jgb`TAx& z<)#|qRg5~kb9E0AH*l_?+9L}vveJj9z2EVtXQqPvUNj5juVoxU}Q&Kgv&Aq)jbDP1{pa8eL zq+0ceJgkQ_j3iOY=e1i@;xk@=0@!0F4nJA1-egsEc_ytHJo5waIE;@SId`pBqp7k)TYjf{wCg56M7KI;%c2<-Hh}B8s;#lE89-m& z$>R_;Eov`hDU}H{k1OX|zgsYJ=l&QT-+pjfWv!=Jk#FKOx2O=R-wK;PPbe}hqczMt zoJ6UXTfTma?~sh+09>6LFrT-twoBy6i``AdpOENG;PfD{ZZoeaxSbpVaB7DGucp?1 z2QY*_mc5e{Cm`9uN=$^}+s;+ml$2jIXiaq=Pk4M`)7Mym1pmJQRd8KOTnl@C-HKWB zsXBZz7q7=h#H+sM$OtcsU zX7^2h#jrZ%@^cHDRzu=si$^xXQ{KgVmrRPp#CRy*1^`0izLK0aUZP@U>-cWfLPsX- zv3f>Z(}3l;e!w0mrp6p{ad~INVJ21c%c+-CVm3!T$^CNe?RIg8&t>;?m_G^Vb`Q%c zBcogNg1ge@S-5-P`Pa-)cnd@?NyN`^d}cX1JRi}|4-vfOJ(w-4^L{XWzG27Tsn}7& zwSi`Q_ePAHh3e%ftlJ_-;~qP^VX4}(i0X8Pt;mNLxb8P<2S{teNceQ&mLh;M0>N&1 z-rGL?--yRK2crnI!)7+}IBhGVDhPK6hzsW5;<8}w9!X*N@u#ltw>TYRaW;-W(uX=Z zWwa7gWOOyRJ*mz!b8Kj>+Kq9!Wlt>4lw|p`i&-;cbv~;Yxz3i)UrwEMj6K~qdm>IT zv&lsLlTii7FU=2h3v!@j{d#vs-=}joyJS8qUrv1k@SJn%W%ly$rhzvU>C(bJ5*5u6CmG>o+=mtPZ;7Vo@XNl1hAEtc73RwLyDk&ki}%Vz3I4YoxZwkM3aWym*?0Xn)K*!@2g@p#jtLa1vz=y8Knm|Lj>0~y!194@v{xwz9r`Hz&fX7{t|p)L zg#MIllTvs&yrUXYeVIF`XBYvL;f9_CWaHv6?K=g5yR~ZW4bER>^hmAjQ@$D7^ntYlJtl8Fy6>$nT(oh+?Q=q=L#YJUGQEu(EfHHD5>{7T#Y5Iv zWh5x7AHvL_jBoA(j)>u`?~G@)GBazV)RPLQHmx(rGomCKZ6GEvuKX3l`<)>C&kqF5 zaOCUn>r%Yg-`p?Vd|=>IW?S}>(^=>0@Aln7i(CF`30!tOxM18dfR^Q$B?R&v;9$0Y z$FT3SR-!y=32ssGB%jA_eG0i_|7mSep65{8q}MZGhl8Y`eBhJY3NIRX?J8%6{ z3xSdrqU7`A7vGb6jFBOHIMK;|5F`{`b1rJb0Wx)o`!B`4?_N+J(`M5s8I6Z7qO{J& zXjgWECD7Yc$;?9AW|@6z8@M>lkFJVNuVNTUYn7u+vhLBCz3ZwY&%GPgnzJ9ihj@=J zfJ{j1tLqljLEE=Nl8k1>_- z`}&so!x0UQS!~r?w_hMCq-pj&vih}J$4P2}$GYWF{AShaf}xqoqrFXE(+~sLKyx`$ z({)&gV3^F~5A01cvgeTrO=-w}_NFGIsO@!h^1ceX-T#E^sWjRS? zQED2{8?h8*NFzSt@$W7X*ao0Ll9;ymKQ6o|bh~nnj zp&gn$F#R)`HfcJQZ%JAf%(xh~kHSL&G7q4vUGT~O$WW_vO)G~(4N8ygZ+%(l*vNu@ z-?A$A;Yh+x(ba6llJ~paZo=LkwY8M!zJ)gf>j~Y0xjqH5ny7;hnk#!kH+&j6iX9VK zuQtirLFZ+tVMuwxaaXd}_0Lo1jmBPoo?3BoEmpHr+fTZ?YD89d0t{M7Mz(Xj&DeA* z;uzBVH&TT3#)C-d&9=MFt1?e1Er6rufSWg+f73n_va`izF60#=NnzkIlWl^3Yquv> z@?uA3_cFsX@3W`#%g$^%2#BCX=67jpx{#n2JI`9(+_?-_Z_ZG?J8Yiq&-I1vUb3NY zw<|O?7x#)lo-U0N(D`p4>#%-GESWY$!)<~~srP^ejI-$j$zT@%jnJ{21$Xen6k)^2sZc4YaCgwoDmbb821F<|rz6qa2p8Z@@A z^A|yV>*h|9U6Fw`gFVO__;JL8_PwSD?WsU@lEyv7!x=6`4R2Ng2O6iDCZA%XNsW3R zH<&6{!$n1oVD$vx<+RL@pi##fJ#YSEZ~hL&XPGDtWO_t}kC_3P7nQti&%z$FHLmyi zr6)_tMqjJ=K}P0YBP>|6KX>+E4jO5%K9DKY2O#6;PMkQ5nocA_2L`DaYfyQvvcxj{ z$-DW?uNOtB7XdY*`betQG6Z}mQ+UcT92eM2aJLo06V(8nqk1scyz z7~9)F2{k&X;x8~=3Ij|ySZ|*5!&gECo4s8oqvJM?6ZoDz6!#6a95bW0mKDj8T1A+6 zD*^xli3DM-I60sYct0{SyCelSD=3MpMhsWYV|t5uX*_-zxC}>#&b@cP!KjxO*F9M- zCYWZpvsQncc-1$KZ7W`A%Ew0)f=vg1c&ogIbd%1g0cA%ua|Fzxy4)j}O%$1WFl@aE z2_Qh_x7%!?{u^xelE3B%qSip5DUcpRSU%r6xFPLI>=QYY49%95stZ{p+Ge0dtL?BP zgTot!s^0Qt)EhYbT=1gOA%c6cToOd$zba-&x0v19NpapZtAdPCc z7*}l{^osHT;I)_!Rgp9>OAeH!^I0Q_a@Mv8nxi$WDDRxUb7$I{mOh#sr}>I#&Jc ziqwl53DJMNdNW=gIz!e-W^Q6C-5XSLm~-Zij^K51S9!vS4>=8=!1g#v@#E0{3$mak zF<(-BOU6rGwJ1+PNTHU5^V=?Z><5EmIx~f{v;? zS1~3{*9L>HS2g*kh7{6Qj=x)8T}Gq07D(nzlXr$*uUvj&~gPKF(; z{DPgAeReeZ+c}V!0~Ur_Zh2XihZ@mUms*&~TGfkbhepgl-o{fAudq?YYUHP^DgYM=H|(hDBhLd};r zxG>|AEcdcH7#8{5xx6Y*T$TGC-3TSz>Z)3E){XxG$oi=))cTc73_=DR&J2}qnZTe+ zSWX#t>>PN#XZY)?9tis|?EPo!V!M&hMaZMdsYU`{xLq9V-qg#C_VDJ^te7Nq$v^=&YtP-dnaBr zjhFJFadKWhnSP-GDpA4&2Qc>J0kpC9VmH+|9k;pT1#Rp1Ykakm;&fu=gO*_<>A1$U zlTf`DRso(2*}bgKDj&=69aZyOfZmhn|AqwRnmB`QR3C$XJ{k-?U5LFd8Nc4J zbolqz4lC3~4~qY~H6dD-%^8H7oM@^)!;UTxHghAr?WLVy)S6(`=Fj|-tykh^)gy;C zdmvD*2bBMrnS8D_9y(8K(>ANwA_f00y1SM@p*`Z^Cz=LRyi_2z1m?$ z-6gMdEf(k{d%z0>zFFfyAaP(r?%QA6M@kl~&%af9ISzGij4#9AgsulNfc3E%w;Y zV>0$K(Zm8OQDQ+vf?ZKLlSwpIMvd6vNo;WxJ77a6u@HkuY^b0Z#S%qOQLvkLKks?p z-yc8z*=w;DYq8hg5XMaA&(tmr=W_I7g2tyMH{b%!52=xo_0OT}k@6 z?^yOJ5F=!Nf8)i?ue*kO)E7agIBhe|KIUuUUCFS;s5cG@uzjB#mvy zgfR`(@JH6q+dt56FmKp~?WGja8Z(UQ+LO=b&8_0g*;91Na-4UohyA!?gt{*an^%}M zzOdyrx}{?hW?uN5ySabZi$PkY$YU9qS_$1Ok|d^Nv3?j3VHYX{5M)`1{Bf(|k?WyJ zkN*^cJB7Mqt-leAC~OnLn(a{(N-Jz|$M?fzBRS%+E&T1wNOZCu=ZC4uFR%9X{Z+2rz@~j=k6JGRp*)iWYRwvziR!AQp*SZ| zUMOn$$ojb4Kr^qHiAQeP5k(9m!WCnCAgo6H5k9EYxg-q=4E!*F*?);t=2~lGZ~IfW zx8TV0JMTJ2`;=*$aZPvFo73CP*o}uN^bN$vIFk&TRK16hh&i<03{mTyskd7$f*~;n zjwr?QRm!!koekc9rT7gxKEdvkFo%AoGYhA#@fC*V_AYHp*8Zn;CPs^N%1mflXk4l@ z%9dDvR~g>%?Tkm8wR(7C4vxU6GeMspFT*^JgQPEXBvVa%9}55=71v^dgc7v+Ta0ce@FC2*Ey^as znRw~v@$+e-C`2J^7xS=?xvY}>T3MRcu7kb(Ch z0h_92LXOd^Las>e#my37T;U?u9>N^kxnt6s zPPy9^GM144Ig?bjclw-xSuew$+WCmXdyj*ak3iqfjHE39ZM>}+>kYw4?Gs%r29O}x zeLGVv$2=xIoy0=`i^UwKVhONGYW?>bWRCzm7u-0&1N1GUdtv{Yg2(LU!C?Q)2hQVF z=Leie`5t+o*a=Fw$#OHANW5qB)Ar-eY$vU9SjCOO#2JlmXMVqMM2+#<-F)!v%>7kz zmrz&zuY-_FVzTUU?(Q~iDCe3wm-!Z2W1i+;$?>AoqP&xzt}RHl4=h*5W3LG7?zI4U ziX7Eb^?yuv&CyrQ&rEbV*2bWXT-yJpDx#(=j;z_$k14;P2xvCl1C0s*QO8SM662b#NS z#Y>*fZVX2NFA9h8WWymCD=_v(8zZ$9d2VV7q&JX)E84Q{On9T-O*u+_G1s<7nC*!j zl-ha*(M4gECmLNXEgtfYtHE(}j!h+1WlXB6xx(LVp}T78;5U>aZ+*^;USp;UN4jaW z&907N4#W*|ZU=EigiM9CuMR0f>iK2Cw=<99q|t6wDe4KWY`*lN9)+}b9s4{GvA)e3 zmFu6*C!Y%)0UPoU;3_jz;lD6XmW zN3d{ZgIID44w&bfrBB2tkfwDBE7Okt)A*GHyc23r5>il3tnM%vng4M(F{#+(2JdzX z5F+Svpnd0(2+zCZ_PVQ|rM2g*W)AHO1L0@7Jo_Ig+}evV#$#u9>IXcX959Qup9t=Ttv9Nv@-?yl@Cq~l)Jw3(}KV0?2+{f zKXc9;oUdK=b;f1Ndl2Q4TJrNGg=mp)qd#10 z`DWceBw$v@K+(i>71=R6b=lEHU_^~PQLgeSP9F=_mR!&>jp|K0GxF zVJsVWqw#7zM9EpEtbn8~1=!dah{}^Ypvm&UVA)#H1iO)>vlo9^^oi=|9wZ4*t;0Av zRGinTk1dbW`vd>7zdXrEW1NU~ZEMO>86#?_rB!?DKoVkabX;afwu}1R>fX!3MPM0z ze9>t?ZK)Xh67Mhc#if{ZcWXDX13Oxl`{L8LNRdy5AX>+$Ya+JwhkCc_n}J+3I>)AA z6u6(29sDbcN-Zw)I{ZL%ivSzGO8&>dtymfU_^GovT)Wvze=G}=tIcrR&OO_?shHYz z8H_8MLWNH^^&jhjSU{-GcC~nlC!+NelEtQe!@_u_%ebPM0~1pL6>MOHNctJre%2sKvr?aZZ*;*j6M$sECo>qDfb_-7w1kdwq2GJa)NPir&CAH zLSMX+)>K3QuLe_IalcRnjsN)Dwv&4@=22CG<08K@fFJhg4RSFLo*shp7B(U&e(%?< zz6&v%O68pHC6Cx|jpds|v^A~gmy1fK7GIH$lRBMcrhC@5PySldsa@7J>NW2;>AS|f z3T#GjD#=8FlJt60|A5G~xuLDPIlSOk|1*o)UEMj0+j9OMam_8$rWb*H9`l?vQm__m z-m}JEXsV698Gt}XAs|6Bn@~_Zdm3yLM&i3HmRuFAvFe;U*LyHn!K(e!r6vRsQ9XVM zmU;P(Gs_UGV>ZlE)8jSdu28!*r2tTyw0yL(W8~Zy;WaB=bT=`sYh#MhF&jh;+<};s zYS;P{iHi}9pK104W!YCWuuE*;fG?!_S+7!98HBc9d-o7mn*JuepKYVh^sl^~H5t)j zdO!y`W|MRx_>6Nd{wwu6v~dHY17TF&x+}!mg#J`qdNSxhs`-L_uIarGKw3zR z@4a8aH(jImq{qsXI5qJW57RQ)fm!i z=uLnu!%Cu1!d{2qLm9FtwvJ+{AR@Ug1g?I_7Vix5Z3lg_vw9&7=IQz^FXL?dg0G}7Q?#k&3O%{ zF$Y!LRr7Z0Lq=pdYDlOb(K?{F*$Sn34~1qxX?YV>a49n{N0!mJ3!?ro81$0ekhhSC zp;%ZeQ`mw<36H!-*URZ#qUXyXaguVQHns#XL|4L;UcCz93^!)S;2V2(m8+!S1azXju4R>P3ShN=s{nwmI6#0Z2G~tT9@n)%I>2?{oWwD()vg?(hzn zi>4@~?Bxz6b+HG1J*m|ImnZ@0=sdhXd;ko=fseGoTJThNh+DW>NLM$WnK^*H+@}@5 zbdIj~B$c(p!gFP^Z{3PK5LDXcu8he!h}Jo}d%C(pxuGS%^SY^6DU>Ty!-q0u!=s56 z@QG);Z*CkW89ti^C)~WU6>yo*?27JcqS4}zfA*!`(wmP-(@mq5Drr#&Of(yGaoXQY z*I-6RK866Xvc&l+i(+RY1#73acTU~zD;(xP760HEC9yn5(8vDD0Uwt2J@v=l_`^9r zrZ}>N!ZDDE!4T5ZLv(Goy~Tj^C1eO{GA z2Mvp-ytkjupYP$Ij=9V~=f;q2?>h(b#IMpz-HSEhp0~zj%Hh&-&i!tEdKV>g7NbXJ zN7m)7uJyG!mrqI{5IQfMC`v-~O&=#ab#X38SRyWDdKI}DjyQ?2w+(9xovd^HY1;uH zn#p)&Z=^*_x>GNW_`j(Sq?O<(g{Ur48}V(3BRkipTxHZi%KFOlT@ij~u7C^FV&#d* zn7o;1++46AR?o?$PEQJ!#VV@j^Yna*us6~l*96V|6-hxIcU5{!i1{UnDc8gPUfxsu zAR%5<@W1Xq7(|R{DKy^koveXqVvH{6RUvKIj;$^zizd9j1F!b>!fZt6mqhcLJ>w<) z{!P&ns$O6NnIrR17w#@w*T@O)IZ5x1FGCRm@bTb8hTbf0>G{djAbJ|AkQUa3lNRIG=!1i z?scq0ZI{=a(0^$5zn}O1`JpSphD2{C(51t#W?MbBI&h5Lp_T2;rbJi}8ldDk5A3~f zXKs?+S*=$C5>h{HJl=_SR#U@=D0)hfhoIVs7L&(3n|ie>cha5T@D7#RPV(pHM;ew7 zJt~?pHo-mf$z5|m;A!PrA~eHaA_9+tomr$E+k7blAl&y(t+4g8?-g(ich%&fU^`-e z#5%|ndf9#lN(L`gX{=VB$d8fA@|Ve^onM0kqhSO~_Svv5W3zC7C`IRL9Zb&SVV-dr zyfzT2UCYo-z1uRhi1IYmJhywK_6Ah;`6PGupH9Z*ANa%^B!s+T`pZy5k9ig){g^~0 zf>Yvg>Buf92k&%6c*MQvRjywyXqM7+hE3D#O z1~FsD;NMX53gv|1dy*6EQqz-H4GM8HfRN)AG0yweEi3z1ql88s9mMES-0Cq+JMz*l z;+Y)nDsu8EslqV#<7(vIRaBdvoJ6U>q3UH)b?_nVm$4Vn^BN!YYTaQP4i+Mg($?;j z>g1fd>vtIqUG+yBQuU|V8q%;Hr=-VKF~$2KqjJOjE(&|G>!;V>B+f@o%u4KOO`L7{ z;&Jbtr`??E`Pc3hV~w4dFQGfb1A)Q!LNrC#TYKrVm$>t7OLr$?8|-KFrY#i75X+F4 zlSa-#jESNXGz7puv)X8jckclyP`E^Kbw0~Yu3+6ZY%-)IqV)N~y%g?ldHhMXzAG&x zb*g(TKdA#DwK9}Ybqj&!28P(Dj~Uj(ytD7&tJkgmCH!^<;-=EuBNu6rx>(fgrRH7z zrhRmp5 zd1)GJAf+;}xD&iE9$;)eeN0@!)}%Vhn)e zH!5ypj}zR?1b+c=y*b=>zIFbUs7}n!d}CHD{+Gd*=EGcQ;P6vj)%->W_}s%rgll}? zfjejD$}|}-07{#P--o*E?HXn`MU0w-v4Sd1JWNPWm9YR{2FC4 z;E?Cqg*tHmdEDrY#S}-I;iR(txPLYY9H(-1jC?QOkC=~hAvf4P`M4O4Y-t+!68X~< zsy)$U%J7a?MHZPL3+n!bZg@Kzo{?`?AG~XGx~=#t9n!G+iq_6>wT6=imTAC7W5?e@ z(%tX;fSoid$IK~s<=q=|xo{ztN*owD-OQK;+I}(k8GSa1w9?+8-ELK(-PHcl>Y9c{BYMw&kCWw-^KjQbOv%Due_T)SP0|+a#j>K`eXe^= z3~F+)A;$O7+zY7pTyE_D182$Z5IVhH0}4;&kHJGFr7jG01@1VE7&#VG?>x-JX*(2Q zAGp-GIbPhOtu?5muluW)@R|bOcg!PNy-f0&y}Q4Vt+fR*uhM%9b#aL5RuD@qx?U|U zw_!3l?~9JtLVka0T%^mbVi)@NJsl!Ojferxw$W^#D%m9mM0!b4z0i> z%%v(=K5kmlkdlqs2qqsSdpf}kL~F@L`)^ggIN?{ialEL{3Tg7V@o;d2`?x(p2rs;> zQ9>I~N@TN>VvF~EI70bI>U_s)ahz6p;?#Atvihc}H`5)d0Q;?DTJ*4$R3lrV{5`dR zP*>q-pLo0Gc1z#rIqi7|)O348A+LQyN@gG}D76=_H|2BOYBtR5GthsNJg^+K}on{Gq9=3X`d~doT4<2VQvxC7`A5*Lf_KN0Be3=1BXon%kWYLYHG? zHC8tf8=;>+EsMrnva=$uA9Q_u)ZS4Grdfgtg0n`kkE7R>-iy;7Ms*y_&6{S#nYMz& zho%@HW`_ZDtJ#IykC8Igq@*sQ$Cbp2fNr#m6Fo0Ke#8!s>r2DIe*!eIG4VS$q+!gRn5d|g?f9e?C@|bd@l0jp2 z@S{D#x{|dCSeRH*wFM4p!P~@{1Hz?)VsUOB39CE$iumn}EoqAwc+2wAmX9wzAq1A7 zWuZR@{;dP&eF)VetvPxAEZ&V-J3r%7s<228_gDk4{>^5_!eSLCXaL( zCoLMQ@+V@+6+qwwG&Ghz3I1a*4#<3J$BgZKJHrf`qSB7Rgmnf*BGQ%qWOtN~vOaBJ z>XqcSY3gEt(C^fvQ#$e#Dz}Jk09*{Nny2G&ryb>Zq@nfZJoDR`!*Kwd7z}csjdeP` zjbn2Pyw_IO_U#=I0LVF7QpMCpOmZ z^k;wqC=S*Y=p(p5cKdrFY)*3*iKv_xsAg^MuxEkiz1&O8@d~l><6h3KYUUhq20!#TrNCj<#W>gD z_@nPW`AuxurnPy0{sd1Lx&MJ?p3#{nqpd$(_Gr?;Yr6E)!xsUbOm$>V$xB$W(w)a@ zY2GpG-PD0)N|N&Z$g=9e9c)5o2u8JH9L)LZISQD4R#t!`;kWm<6?YHaXyaE{>^k(-uLkQfbU z-e~o$Lxw?FD(40->8|_b=(yFy9mmFJ1~OY24giVuqGH97-dg&;`aq85*`eS?GtR4J zV+kqp%aUY@rS5i);Q|$bI)NB^Jp<_lZIy&C5vB?zi0_S#kQ)5`8*4 zixo4=vMGO=kTUeuPA>))HD2?!sx9{<10|%>0%pajJGnzrCY@B=aGIU)rXw?YyphiruWuyylzhb71)tN?ESg{9|Z`qGY&g^>j%KK){5x zCv(0ZOvLH)W$VL@4I{lTQqw{{d6HT`2BEz4A2ri|qw$)(B8QMDRY$2>5GWUC;DNha zL|riJD_Kh^VCOIm&40#`csCQCrEV6g0`2EF$OXN%QWU2nn3iGQLjD zQi4(?dx49H7m%&h6iAtiWyON{OfD{+c>J0cn!#4<r->x|!1wV6No%gb0UwF505o(zhN&V!pGcOGeeaK+zvM5$5UdQwcCF}^|Z^XgqT zNY>S>!N=6xnZ z`v7+C;*x-qCcA^xjErD@0#(Z=^r3QE|0hS?XGZH?kkR3cpi3pc>c0Bxe!uZrC@$4n zxp8*LF?+ZmG+t==^l8>EAd?|(UScUsIX{yJrmY0EsVFKl{{OuQR|i1DEDBccfSAZP zDk|5kbj|<8e9q)wiO71h%>1Rpe0UoAj~vcIR(uPqLoabyGPJwt^nkSkT4?jsmiFEm z9!_}MDtBwf+)Q8>-jZW&$|3ydS@A_2`M3$V2GEelm3lA+_x}S%rWw z?$%pdUh3JC`7oKp?dFHs16LIFTot8uHvSNc?)K zv<6UHs4-(NrD~lx3`HiW_)Z%~R|ThB0q29AlUi@IO^sI$C+Rof54x)njSo;so|-Pt zgb6^zsk)nCzyRV_%Dv2|nXs>{W~-u?#uCk0rgUuc$C*?6r4)7QvR41T+`aNU*Th>B zm6MG+x;G)Z#T9D7?Deu@M+p#X_I0Z2eArlpWkP_7WAlq}NYtSLo}Z(9{Yu{^zv(?c z_<)qjB)-blbPzea;naf1r56ljwzeLPe2i16>RC0w%ixxMp;WVq%iN zCtaJ!^!zZAy}^px^D-_}y1|rHt%YeN#_*@|1(2}BG)h?mVuYVxy_&&z4huIT@|9W{ zJ`MIeASkFG)RP^ot;6rJ6o2LNcZKuV>234!Mia`Mm#V>1nL)L+DnI`!!-#@AWU&)1 zChD1QjFVC&=A3d&ho3vqhnLg8a<4a_rQ!zdy{a&Uo-nxd*9S<8&pL;1{AX5xdH6g&%#V zN}LXXm%D+T3d+#(=MRcOyZ7G`#8+Ytc_&nE`2MLI%2lnq+Btqr38EF)0IPhEtQcKF zqiwZauQ*cWlt}nM?A0^$k7cu4`?{s7&HMz0c_Ld${g2a;)`iN63U2RKC=AYv7URU~4k+sN$kMjF z{~si`%t4TY9Hm&kJED#h969Fg1Ew2+#MB3{hgDkROv4tsVL)Vi#8&JoVV<|RKjMm; zUup9!=+WBmW)aTSgLUqBA`BL!R#+h)ZUy_SGSNMI=<4?FS*C6ux7&YSu_cIVAZT>~ zXi}__KnD5%E@j*{pav9&MXw6OMVp&&I{_uH=|*|)%Y9bPcOhM*sVECl7Hzp|iR#bM zL^-k>+{tj0;^EKjtlCE*Yy=fvMTQ0Oe51!=15!=xtrkgtRpJiRC{yN8*ZvW zBGn!B_|ya8eeSP|h8Fak*vQI}e5rc2dCrHp(wARd|Hav!C0rU@oE9Q|P3ECQUQC8Q zfRRZ8cse@^J1|oXH?OKdgc4HAJ$il)^X%~38F<qXwrwlWnq#EIs{I3ugp(dIY)^*5EhMjaC`R>t|ECgmf(Ll9B^+;9r^ge$kd z)H~2XuZQt%raa6Ez%OWq6JoZ;dM?TUr_yjV}~G zZFGw)({+zKd);J~$g*Fg$kQWCif6`l@d!S>|M@m#4Vm9oj+aYtk!$+uc*%yVidx5gj-P6y}MN9=ue3K=|$7p z_elcfutZ+v;rz+J*0th$W63{Gl6XduAY{G+D^T5s1w^*;c8Qo2^fJeaEU5M`TJvLp zH&;=V5@>l(_~VSgZf79H9n|mH^J;48#T5}lXpq_URCwLsV;Sl7P#`Ijt2-?YyMC|R zQWCLfnuNo6d;~qrE`MoOuv}$CzSRx&s7dvvpR*G@ci*(Ok4lD*87}P0xgW7NQA(Ue4+*U@+S*A|^?CR$9I&q$OiX23Iq*?Excjw5sAmlJ+I%wVpSNhmC)5Vy<6A zKV786AMXpo7;5nP!B+4CkVRmU+ATjB9<}Mr)A5nF-gez!rKT5{J@d*F;BbPX==OGD zj?D=CALn;atnyf^72de+3@25c5GLdDDHBYIc_G75kmB$T?F_Mdg7#RW=HX#{o#}(yvyK#J;)B~aXTNiHYuVmKiG zveH^qbaP;1;`|md$pP=ULkUOZ(=Y?BkGL_xpHSOq)RtSKq|_UG&Y)Cy)+a`dc4$(z zWFU;Sil^kA`dLg)Ic(LtHrLmuxy4TXtJCez(}J}g&5)L*5CxvNsCJo>H!dB<-*#rT z>TUPm2Is_GmY)?+;Uny$mu=)1!5y7nggz7s4&pr82(e*~Rh$nv)~hu%GmFTeqQr&L zd4M9#-wkeXpkig|OYmPDDt*&Yf3KI1?BCRc(9M%_l|OyRp#ZRe<|n$kDq7mwQSo)9 zMU3&ji;34+Vz{kkvJ~#>QdZ!Ei$FI&q*TfJkRI4(w_Gx8Cu&B%WMm?T5hn8K2_${ut+4w2iY0_V?@b8}Ri~j0Fdw)5-WSLlII^9mP zF3BtOZLn!8c*D|XM9FH}Dq2L+m6~4SYl4nChCEFaXztw7QrlJt*Tl!7SFP8kxn{t- zXutXqfBWWi#AV6M?zb~e!vam%E0Qr<%cyt%p)}Gee+_H#YtOy(|F+sc$`=^44_oCI zEhwGuU1<2VFDUY=q$@KS>HPN-vSqB~llSMB{f9VLy`f;e8BLhwW01sf^`%@Zoew?d zbXzrICK~Cto02@jsZDSc`Pw>qq8=>K(YzsP9zeGkt*W!q0}sQcth~2h%WxZb5=y(d zcJ*e(et0+J;Ud$j^Rxz;QT&XZzW{rm7raMY#QRWh1-6D}!oD=?-b@1G?J&{a?M-icn4mc0QbpSU(K)X5MNuJQgS^!Q?B(3hQljCq)lZy@rF9hW+& zW}SYD*;AVf?iqh4@vz*?L&8@wTY;=e9WGPaxug5 zGo)lE`nyeKpYCk{_kml%dc8YPgmV1)EhxjAeSk^q?uS=~r1vc>G*}KF>%Gn0u?T8@63=)H(yUHjcNCLHRYUS*^wB$`+n=Kt^uQnVYU4^QRz}bo1%nZC;ZPmbwQ5o6VBX zZKW5z&gQyyZS>lT(8)~y4ddgQN4Dq0_n?T(sFI@Y9iz6xwXFEM)l!#WRwmfVXz$=J6DN$mqgEz}siyO_1~lecPV~S#RKo^Hj*pIj=N(VEPo}_;@2O z`WeVXKBA^O;%!X2nA5(E-FiE2McDdn1d=fFN!Sby>0Wa#oCX<|jBo-%iwMtQCK-oT zmmURu>d>*Ki~J7?7iV4FzN5+dQOxtk?)r2-f-OHQ88~%Z+`N+3lLxf>G;L(IJs($5 zjwoJ=0j^Tn4!pJOvM)`dt`vDVWmVrpR}YJHT%j6?=2hWR=qV5@x~-qH3t!u{d*jgA z81pyMtT4HIEy?F@v;;BYB-mbhmB|}GyVT_blBv)k>7{I4N#zD@KXAlKQ}ON|7?Gv`%PGH~bIasd_LXpv=GoxRw)XU7@oY6;Zq5MWG(%Mvn& z7Ywd>9w@kiWzlU=?M>8-R?M6kxsYrUyTecgJ-%I1?x2jsctnfzmoz?c>^v}f>qI`STBbvk%y%R|kgAd^Q8 z-X`olbCR6VDzp4etoWm^-bcBtS<}IIbVf@fkoaSj#^y^z`(8p7d`O6h06uJ8s@frpY!}g5i03{zZE3`^Y6qzM7_I zt|3X?A=^TIRL`h5oyLS8Sqk%KG2aR9vBx>H3kPvnp?b+{?)f^OM{E@CK+}|W#qHfk zXx-!+cV%+9!NGZhMelt5!SW^8K6+UTRy) zIMDDeCcU+|TI@BvN9R4Rvog59Q8H4k^kU~>O_Y-H!dw`VZ^2uq7cy;oit0fjPKi)P74Sl4$&AmNJX5TXJ0JJ2@Z;}4P>%K5cu%Lp z4=%9$qJEp&0;>|4!o<$yWvaH5x<8k%nN74kbe#Na2Iw}q0`o3QZwD<6`dssxYx~-r z2(snlA&+FaCb>4v7KkE!^udgEFf(LqyFGm(DM{mY9T z;ZZmfvjxs#br@UYp5S=UDWTDU$YX@Dg2~&ZFgY+X_t%pFf2CEer(rJg=B|$K=O0$E ztS-d)DEgOE=Ny8LZW@8SJMU&;!f&T-{lhv@>roCSlOc7yOis`=5P7LJpQN_|?!izh zy@j2qTll_lCuaH9sIqnwH2rkgvv=D6uZD)-&fL_+Bv1HA-f)C{?cTG1n6JzdZxnO+ zE^YEfff^z7Bj<6}!6)*#4F-&z3|Fm9_8QQFJ*sofK3|~)r(Z2(<5P#G%6&4ibf42# z@2mY7y$3Nxhf>zxw{RTo`hYSzCF`w~cu)OoxY>0S16sl~A{=B_snZzvZ8Lx9LiL^g zCCYm%@9JigRM(@&%x6_f3r5NF9m5jW2gmKQ|UjkZ6T~1eJ+*w+HZeVw&&06+;r=pz;AL zce&Co3j`0{s?$UJeTOYRFMg8y|PY)(>@0SLCdiZJmAW25f`y)T0?CBkk_Ky#%TuI(@ z-0`&M{(vJAD*5N-*!yHfpU>UGo#crdP23;PP-PqZ$j8v?J$OAO zrCuLaa}lVh><1@HOL%v%mr6{GD^)A`PCj@@TfP{oHJ+%J1wHF9uk^>dP8Tm$-XC9W zzRX!2f*)*x9{gG>CFgvY6z~zMtz^9XcUMx34FGaD)Lbi_q0P-juhGmbJ{gLvf|uFUrL^D+lCkriO)`vOw^f5~sKbrbt zwNAQxt8Yt)HYub|7`qTuOY^nsm!G-+MjGPj#gg+M*5+2Yg40)ta0`|5W`o}M$0cu1 z2PIQ~bxLDCMwq23-GR;q41f~!Jr5ZOSb1O%_WXM5y3!&ThgW-uzQTbLpL|2b< zZn!B528N3I`rR675c!`M{C^?~yY`Jx|Czg49E$l9qT89&QjFu%0SWLP$6R-lOQfR?BvjE>T7CTV#+NqdGU)kVkaA) zkdrJO3!2T9HR@rdYNq67pA*ICaoVp^QC`88!;;C2K|#`JzgMTQ zIU&Cyy8?G|(6G^dXG;9E)<4xmC3no&q8=5as{v-NFB3i4iA{M(FQukkkW#78iI>&6J-J>8vY=G8Umws-tTAy$Bn0W`%h+L@v^cLk(!p-?h_4Y zUL_lb*9|WuyLkcO73#P94}wb`47*U(2{ISP!{*3-Hd4n_1t8xNJc-@EON`1H3;XQ_ zCPyFiXzg?fa;0;!?g;3py9sM9voVHX<6chM+-6Stl-;LQg)_^wH||S5NP8AG9yOuyySdh*K&gIiHUzM%U{|8> z%hJkYe)l1%&%#%auFWQG_2ewv8GrM4(gLVH;KHN$Kl0WmvbgC1t}X^9hTA39@6QKi z)I}Er&pjUWv^4mL-~oK-U+313Jj>NT`2&3!h1iu4k*)lCzb^7>*eswp_<{5A1r*eK zce_CDZlNICv8& z%`=#tAUdXjp4AzJB^ zx36EvqK^s(W0@7&z4HQC@9ZYP;nya+So#CeSSI4mf!-40t)%VBgKD_j6_XNuH%}#J6SvlsA0rq4U&~BwXs%5xW z0iqEjpJg0;^<$KU33C4zZj7=Do^!|9T|Z=84a^P<)>NufM4(;stt$*Fokt4Ni-xUC z{%2iDC^p>ayq`9+u!Qs(N&?%H6{#B1-ld$W6{;SqH8fjOuc28A3<^}Qj=~le#w2&b z#0m1b`@)gx+?@87nj!}ONbP!HYrhLR#&&GXcap4m^G9ky`P>}rm($>@Z)`vXs(D61 z_=KCv($#3nXDZ~Q9Wb@iRw!RgdOei0zjF9s_&`l8Vh7#|p*M6sVB!K*KZ^-Z(8Zk7 zJBfdk&jir>0!t3*3v}NC8u6_P%d^!t7YsCp>*Q>EjO<-ygp-XN|?AJm{0`l`iy{ zjD|(JB*vFrzrA*2qa26PXyW|V2$A|@Ue}-_Tw-U6$S0ovI`g;&MSVmtcf9p-S4jo~g7^&RdYo z3U!{(Jv)y50NhCxnNg%Fep0c9PYHB(1iakiW{k^#u#)A6y@sq3+R#j^Pe#E6QsQTv zUe$S1G67<=-nC5#0O&%(K#}F70HSN^CM3-;SH7JYu+&Zd*?WutBv1#X~hmc;yfn<+(9g6c~%(IaZD z)}BF1aAi|gTNOSuhJPd4yP=7X$A9(1Yw!KGG=%*jJl`=v13t`FVbqLbubkT*$sllg zreYvbdtKRBC$H~Y5r8d6UB{j#1?W{f_Oa$PA@7Rw`WDC1+n~vej{H~uIN4ltdZmhU8EA= zAX&-6(I9sCiITB#?{Wa5L%~@UwADM)*uZeWEBedG%Kp4p>&R1U#=I6{-{ox7WJpJy zmE8I&ysP5(_u=|8ObY}ta$1YAOoA{RwC)VDKy6TEFZWQZh@IUK`ANm=-Q1-C$XaqL z_h4)J71qM`m(qEqo?_zKHLTWtLN^(EBW+5!JnIjsK&R2RWtbQV`t_U#g7D)oL+zki zZ;>uD<;d+&E8(j6&{pdA6OEsYq_&><4lhDp-JaK9pEPWEII#_`t^*x1RlUv@;o2k~ z^WH8N5-$TM8`6c`TBMQvAcQ(z@85f#8Kr32ljHQqECkV$;gYmF4$-FS@ub&Ac~Nub z@5OG45i0Lu+bLy1M6jzx?n)&i1T;(=veFa%b#b_&HD@|LzwNT^{5?*p;mLhu|FWUk zy;+G`_HH5Tbqjg~@Dt~~hWoQ>7CM?cYh5E+XhNnkyQ#cbs1A-f`^>luV(?LDqL943 zTI$Y)Xfd8~C#M|y_njY{2Kns06d)rG;cc^p27hlIDb{FY9EDc<#xGLpAu*}AG0X>I zb*sqvFUY6W^!?Rhblo5<=}m1Q#l@4H*}k;?Wanqkl235{MYP6-Fc`=E-?Mh8(B-b3 z8?fB#!Y?02z0r?MQd>Mi97jB3>ADz=jq3p?F6Y>I)UwNT6GI}uoq2nRg{39XFm@rm zb##bP(j*{#Y}@DgoDP#zXo}^rw0?6$>fT_t(L2~ticYq;$J+8$MY5`xs8CQIo_t~! zC6h8BwYCSX&-{@{+9Gn z=5#+!6|Mz@8m?9`w*mTU>U`uCr_20PR_6x#Vc%nBK9(_iXQ;F}05W#IW?~ zM%CD?KK;mm!QJYiUjR3SI2z_~<-zM(x|W&EPq4EN+xzkVt9X>kyiC6Y-GMf=9t6h} z6H&M!#YAZ~J}yISr7>j=nGXFT z79i#S=*`1ALmzu3+{_6RY(PK*y9odTg%7e@6cyiiocGm zuEr&;Xv{7%;8S0NP9xODjj9YOqeK-)mS*JxoB3!O)h@!!t0tCeG`M>zDZSLgZQo7j ztR-ahgZ8!$J^yX2VKb_Of&c9ePKM8CoLM_=SLJS^Tx) z0;|=|G%THUl=E&a{Mt--&7b8X^H;Z-SFzakFxe8xzxUhNta=6V*?TG?*T zHa=_ z;NjFd-R$)<)96P$#m+PY-R$j~*il(~5k0I*8ZhOZ`v6P=py&Dop;-UOj(yk6c}bNt1cD~=?Id}Cr?ZRfbIG84HYBtPbfxEdIp-1wo?TU;q6y=!eLF#~&eLE}H8 z35ab`vQhtr#5YS6uVD%-dRSHSYH>sFRYqX2mA&1($}cvGA0r#>ZIqAx>^& z3ULj+f=U670RrS#!Sc9Iwmu zmwyNg)>_YV-}moU1Z>1pd)rhi6QRoYshLgCihbx}ZI>SUEUnAH1?pxjl_O-@l|LtF zfrl}2yzp>4)BTjzOe5>di@KkB!W;hB{Is&A{Hqz|sB*<$qOqB(Ui4_E(&FaCw5r2y;}-3o7|`)|Q;RqZ6m_cQdt(q%NTn8* z{_Qs@lUtV?KegvuQTx8(2q81^6w#;NkUTMC2Le!TYIIiIE`y^8Lq8n{TQa=O|$Y<$Z?b%%8DWyzZwsTtD$h z34I#=Y~oW7?t_&RQ#{w{dcW(?k`7l_yOt_hz>7pCL*U_Z{8;{QcM4Q{VKs(nr7j)(!K{0<9#4_4X<#Q4&oO`2A?L#N5`IAwNgIxESyWbhx8(b7FPP zBD%6>`pd^$pXh6fk-_bguva4gvxMOH!TK{lJ)vQ*oNL`J-aMTO;aHhlzgUgAf(0@@ zD*=CuDWzv)?kraWqJpDfMKOdR6*nHN;Ii|(REj@ia1y%bw5B600>R|Vb&Q%a^HjGJ zt9iWbaJqR4@I;F26NWd{Zcm_+lDy#C$qP1P#$o7;n{S1v%2QaxHWgDE3-Gk zx_{AcuO2u@S=cHE=CF$Q!tt}HXKojxQkqt7YgEe}_xMkIR%w*(-|XM$eU`9=q}i7g z=UJtRTt=0ID}i!QMRy?8P-IsuZq%_4?opnxE?R4ooA9?E@`d$F`;fa;HYtKxmIPFj z|MH49b;RXmWH<$zOhGT76vwI0Rv6+kZxx>ZXeuH+5chJ76 z-Qn=}9UAB|H@wdyH^CrPq*0>b#@O)3$mjTnP(@F*4*)6c0ASf<+F1Y3`zNFD8cIwr z*DcVH8eQeM%~om0v_3FIA>09h@&=ceAI!7Xya+p>QABh(29@D`Qr>8PHhd$=ZV6H6 z^ln|pTnHGinNjw^A=Dzi{K5XT5Lo(|=^$ zE?dd$I{#0!-;z^|8GFfRleUkH*kX5pGxsRmtRWZbCDPl#??VLh__SiMr_G*$%hEX! zy>xp0cEn1QpWblUJyVPB154Grf!<+ZiZ#;4&nRZKdiEOcvS4FMC6dM`zy6TC0JtwznW6nOId5M%_KVX(V z8?Y5id%L`^6r-0VhPA(i3>BeDsC6PRCtNFqnWtgedZ#Wz#bVg4K_A2khp0epw}|T= zzmrA+wzKAswJv%huEQ(ePDT4>5&kn8y2&q7@9OBx(g57kuFFb?-G=>;+w>EHYw3MM zCvCOK-7VUtv`>Z!Gj^l8lWAhJYM-|DJb zJ|jJl@^l~-kW??W>>PfC1IIP#c#}1`K3iiAMW2ub>yYl&^j zvp)8v{$c!4WmSPrkzNZ^#h8{h$@S0Pv`;*NFlj_F>JQA4IVD>cTR89wJ+qPrlRZ)EBeR*7W(I5JVAE~Fazts`8!?urNkLr!Wv2-&=D!5%= z)$LLBFgnZpxNv!dnt1wWbSx>3ihq89?c{;^9%xQGaGbJB6W zyits97!@r8#DHl&VNZ91Kdcq5`1d_XY*M*U&=|)4?W%w)D_1+UWK1L1+hb9jFx917r1# z4kop-_Ayfjh!DYIeu_<;n0BAHet*pSY`4-9y9};Fr{p(a#E<*!woqiFdzo903fV;c`nb&-1BDKVe9^$Q;5KS zAKvYTz}TE#=oCm-Ec|x27nr~9u;Dcv~0-tOn$N@Z=}E1-XeMZa|acjx^Kw(Zf+mAP3E$8m#@&5k1UGkIt4tTbd)#I z=sXk*vn~ivyXk^*oAC2;M9Al?>PGD`hNLC|Y3N+Rw%nG$81U}jZhGqLJk=Oemy$!^V5uswIUR*O4`a8~%92HAqeaP2*YN=lxIUs%d zSi@Ye?z1axuJi0=lX;8*9MlzjC#4r@laebjRLS8HKTY`gXL7Ar(lN95J6X`>srjk3 z4KNJY=NJt0;EkTU__1-O574-%Y^AU57`MfvQz?T!%0tcz=H2N!2N5{mW)f@BxPYZXq?Bb!#lw8nc4(<4!r zzU^pt2+Nx($4iS~f~svtiTeKG;b7?$oj46xRA8N>xY?Cc^$NN6CC)9&sn`X&lIWJD z8qdWlym(FpW>j$f_B!hN13A&Tcpj+{?Q<8vm@V7{B5MyA6(8H;CmYVES_`P-MW>TT zQVcXgx_+UAiwA;epW0T%gpk9#tkzwre)KVULLqLr9OGg2*H_lQslv>1Wc?^#FBo~Z zDqz$iy1T_Fyt?9tm5);)s#8vv^0C5{s+9mtQ^W!Z^ZgQxyaf)TF zK3_h0Z!#R`NXI}Rj1GYxsGd(h=&S393A zW2iXdIWDW;hILA%lIr@UqZj?!yyFbB^C{kq;CL}BmseSp3l>K6$d==>O%#S<<6*>; z_lJ-635|=%j_K{QaaWW#v*5wRK2}tZjk36{y=>nPfTec63lN)_#UI|_d8yUoo>IEn zU?{7F39;+biS);%c8|vVkB@~JPM6;UiBCY?kiHR+S$S43MNM5ga(O{pp5+9~ZEvz= zwT_v*yPQIV>^PFq(*V;{6`6hmf*QZlcM!`Fu&50@hHw@ zC4LY|QfPMi^F^RB<~<6%7Fd&bsqb0mDrT{0;OE%?&(M`y)>@+6-Grf9d^VFfYj=rvY6z@rI0l7d-+r9kb zLVE2vc%UQ7T5+W**K6HGpz;YJ|2pN&sS%{#J@t!tSx#!UcR=cEWu_ak(dhby$hu$+ z%S68a<7~E7143SS$?{r4%|W3g;BDB}zuquJ)8Y4eE_apm;qDWr_2rQT@}YgWFhl|r z?%r4y(M9cSb}e^klzgX|ug!4T-G7usS`;RZ-SiXICT@doRWM4(JT>;!u|lH0tiIwQ z%)9D&z4M(u&%L&`W0>EKBA+KSmi&b9*sc zq;dl6HS_vU!)3p>fO}4XGaE)NB;juM%)+!%#Y~r>m)tBpbI&*zsN=9%?@)O0qe}A2 zBnlDB-2Y|$$`y75fZ2%yN}zw=O=jl`9bGL^IgR!h1K_+aTS2fdw^2hYzLJG4TkyM+ zKRfHwmsQ4*(7Y7JIb8-|jQ`NsAB1}!e2?RQw!9$Kvnj2PMkoLE)%83IntLU;lc4GY zel+%d#`T-V4%m`NDCuNhj;oycX4$Nlj>~^5IoaP59U=Fo+WDV36p{qxX?g4a8-Fxg z4-@-Lci^9Wq*a7IMZF)5@`R5_nkL!cMOJ`W!sfrX^rTR84ONNb4|GP z=2L6O2Bi&k(cib$WtTl{eTKynz@(KK_ZNy2E03$|3$HG3?9pyc7yd5EuL7M~b??^n zKHm0KZcanwLS>eolY@2q!*7KX&7B8btB2dEu@+{08gU>GIceeOQNS*p1dvd{o@nu4AuqMl}apji)=X7RFD&K-D<=?68d$+lMI|$@7llc!+g6BNfe|opq zUo>w0;DRfO%Pedte;d5sJi`IjcbzTY8*3a-%<(k$^FObdpg7#ggE-Gx`k00({n7Ir zX102RJo+f30=?JBiSPmXL@c%Itj1B+06{_6tE>uO&cpduUzJu-F?*N@{&*D$-g3I2;M>x{ptXmik^J>Q@i1 z-xSOq)Nt$h)0syi4e3;@pgam$wV(8AZ+tN2G*F9i)OYs_pbyhEuQaahl`I&&0)}jF z&yffa9x>BW($U`i&W8zysyn5YOC~m%;QCk9cj`N6eGBGe^>jddUAG|n!z{JR z?8b&qJa2@UkQzX;cNo|<7wW7$V4)Kmqb=`@0fY305V-0Vnn8t6=JIEAgWQfL3TA{u5^L|d7mN42eq@j0klb+~ng!tgGNNRJd)5GA8Y2{d`n0BddbbAI{ z&UVfARkg*PQV_;no2trFn>2r~uXDKT(Geea^D%BZic>Rz@|E;wC>E?p)vodPp5FSm z=iMs?G#}aN9|u-M_2`Y$!p41LGArvA;9CpqYr9A&c*U85P0Yd4&ljYn>+$J8G7c%k zd|F<~I47^1VWKj7X+9yCiISAw01E_N&5F>^N9KcR2Kgt5W!0Hs?mI=@_R=@=cj9`k ziSeI0WWg&{)n4~HSW92x_J5|ffP|jlCv)&PlV2lQMmJ3!?c|XcX(Efvj(MuZh+*IE zN6Mj|e}ZQSm;+N}v}_iH3@PvMY4r(R881J^S>P?5VN~B~1-S8Bw9X>kJp zdG)wDkR8b101KUrZeDL{u`+*Rk&*rR@*k2lSI`ZR6==6|w@WIk(C(R`5paFFZvIID`qlSJ zYDp^|AFNAOtZSw9F0Ny+RIxyu!|a?6t;CDQRh`tO)^d1T2v~v*={K&bs%@2wcCVi8 zCY77`v(E@sBC>Q+hJenevI1kWbcIzC;ydCD%+v&E6I|!=yVm1JVoM4X^$Z&j zvM?1_feO3eSQbM_(gvA>cVmx|2#X41c57P#vJ`x%xD&o>921VNEpB!d)kT%{(3D3Q z{OM7vHuv#Nr8Mm2S_3 zG0?%#+%f>Zi)TD*qCNKw9 zJdjEK{zrak+i^30=2sw89BQ(AwrY0gY;bM}w}uz&QQAj$L8~cB=HKsxkfe>h<4dE^u;EV&L_!^|xFsL$=#^l%x+J$SO9r^ko?y51ruE{J+yqoL%9v_!Me6tbe_u&bUs-9&vDY!C~>V&XEX!d zDu|WpI4;z7g{YL4=ooX1$T)BO!C>UB{{S*=-%O~|;Fht#wwJZ8IPT}lBif-B*Gz08 z^7`JnC?;R+pzK7vDDA)^!GT_`y%TD1Nr;Z=#M5mq8lK(QLmc;qzH^i7k1@!6bf__2 zq+#I>1D}=g!ZnDEDI>^U0n{8KtG}|l9)!vh7HS@$>fipRDI-tNtN7NNsUU@L=qa2E zJUAmCtYyr9RFzXb_`XP!zOe6dp>yQQH~vfO>!xGqR}uIZZT>Tl+w%Ve81cFff`+~* z&?K|(u-)s0zz3bUX>Eu)Hzp&R$;VG{9;;xt?*2KZ4doQma0{4-TfzFd9 zPGSIsoFupXP|{YAMwF|}b9OFYtDkla$(Hn5U8)B;*I6<7K-W1AJU8ZyVEdKj)W2BH zPsYyEoblR2)S@|MeC4qY28q=3Da=wz_4L(sxkA zn}zl#IGj;=81+3kID*=IJ^blLNh8pYTGJTx66hJCrdxfOuGep;mZGwua4+~e9GUAm zz5(?ifvqov43*GoR@m8|2%D@=NXMg53(z{dg!q}J?|w*d%KR;bu|OSItOAO=z<0Nu z=UkO0P-+X>^ya~72tMqMnYBg3Z|@~Xx@}p^pk{w~^^*A#+Td6@m)iXXmr&H%Y}a_l zMOzbV$#LO%56isr&tG+YxnNOF7Ow9fPahbFr(Gna)=s=_1$ZRz_Ey&E$mru!oNfD0 zj^FQ4oi|Ub77V|bN((O@qoitb?VpC6LULw;8V_~Awj2#~^;m@q)G*L?o|WQ)GJ+koPV&G(JREt_c(Ix|tQLx1|E(eLAq z^M>NZO^!oiCibPCtV|>?vECVK?%3bEf=ZrGx6d&ht4J)k@R*wn_A7nxV8kyf9pu~4B~0af~(G$N!54>pkK%Qmuu6DQ44vxzn?U(7vL$KPDiCrfq^OHQy=ZSJ=d5^o>k&-Mrqk z4@)Kz(-V-RzwAQduUi&sm^s$K*c9r2$jzB0-2^)yT*1zV7R3@yb!}*s{2rqb)jZK_ z=d7$nXASR6ERzW(384c{i(5R(R_d$TippFbWyjr!6X73ZjL2(4X^z(pEA#y}k2Abl zLg3zvLeNKqS#y>i)IB`GC2qbA!zU+^0+Ol-Vc%*Y8~5ZZ8oVxHzWh4c)E9SqLhI+! zhjYh=4fi8c)UL-(HhX_SH{RZ1&9!NVgk0`fD-tCpF= zJnm`r*usOZ^ks`Xy#p}JG1ee3B$5NQfEBz9IdSOqI(+QK^tmLj`L0IfR1jCCt*5+@ zd|C*szy_9@ITbq3C)y15E6mrl)O9X=!Rn2Q#6|MUaASOm+sms(&4?Qs>#q<(Of94I%GVVL^f9mp zx^=K2*rS+(wV=Z!{7{+>+`h@zez``HUmtYiZAovlF|;=uVllZp=_8)U5ZJRngi83$ zmg75YqunSw{UT|;&k*OJIlKG#qN&(9arL6{^MjWrNzaSE7;m?A1e$~+Yp4FsF4aws zoFrIimm0idMAW$UH6k9q^(~x2lm3(__NhsxzMO@hWqLsh2Ito@P0|qokRZ#=l4rC# zO&hH9Y@;BKx1Ih|wMRg{6BXzV;=lJ&jknc0fa!H^{_`X8wUiktM&u40i0 zDNQI*3k12?*wGaa^#|Dy)hh+0oL*YYF2VyflktWEsClE-^+Msei~vA!44t(FKvGisse zLKxG@7EGxh$HHWca80*(B%`lq)=4!g!W{zg;{H(QYK)VzK{(sVbEnm;2xO@M_o)_? z^Vuj~xIsX8Qni=L?=@qnxObevJqd%PHKwbkUc7LLr3K?zw~E!CQFyVHikqe5SCs20 zD0OW$)u{k0^VC#kh9oUnD}3<~W$T*i^{wLAfE;OoCf;W21MAVtsMRfDZnWv;Z-KSP zQ+7=PX7fzt?mVODSf)k~Cq4me0&L-xAGao50~gLb#&_9gFuQ%9NwPL*Du+1sOSEnW zXv(q)p%wQVlhZXc8*24L>2C7mT@D7cvD;qJ$n7^c7H!tS#x~@{2d-BVY9LCv3rzF@ z!HD*f2<8;0j)2KLIOuuhcDiz!n!{2$$0Ck%>XcWuTG%iprSgSgjNiU76t_C3EJ4i- z0+}gfjqO%bJUbkM?Io%}0`?w|V)*fhgM4z#Y|5`(o&UTKNieOYDE*Ufd_ut3UqL>& zS=grG^mR}H4O2&+=`BrdUUhNIC`Lmj#ew#cnRN3NIPBf0W8M4y`x}KMR2Ulv|;y zUUvW|rKX2%BHOfuwfdEZp`q)I+m?5o3!3zP83^E$F{4|);KLg+AxdD*kq8n51~MWX z7sYs&D;Kw%jBH}EBxjk_lR{Vf-*!Q@ALpxpiaeq6yrwr#D+;VZY%TQ#D&mrI(&`w} z3TK2<7Vg5tc(wilD&3< zLiB#ANly6A%df_awiJ7)*x9SYme!q03pKc3w?WZYZLE?CsMWyAs>N%?Y2fyjgAw4( z+?_>qw{$9L1GiQGRuvnSN6dw{PJDJs4&G(y(7<`+8l_lPMvNaEv1J$vbq9Csqo{{n z0sn=lI&?n3U0s}Bz)JlRq68C-Aw#*v*T`CihCb9ROk_cjrA%;SyeN)ORDyq>@NILO z4@0efs+0P=@fQ_qFptL#Trvb>0+sTK==m)&4SRkjV4A5}NcdZGk{EGV=Z966o!9n` zFE@(!g*`}6C*q?)fWY|>;!Gmr9_3VVZUK!MTEUBVhy^xhp7b6H>uwK*UZH2^I+ z+hsTS#=Sh@n@>spsl(BQnGx*Z-7hNUVBUmA-$-~HVY8D3KtCnEf`1iEN=HiWr;=~u zw8Q^?g}i&E2o#Mz0I5jtp#lsl<&OXJ`W)E=z%(;jEDIb@em2NTS+hX0;uTC=tue&R zF1E9GGa-ass{XR9l~T>K?H#4O56XbD`+c#-zsjC8x zL*Ls1_|^0u@)}lj>t>Q7+@p_B5PazLQZAcj?P$+oA`kC8BKLs`0|}`uA>+z-`c_+k zVvT`l${ur(cMG0rXBlUxuM%CQ(J9#yC`1tge>Yo4H???eTiD#*+S}K*7X02)Aw)P& zcX;4#TY5O%FHb8!QAY-u^I zs;#?+4MQkDV6D>wu{G9i=Xb`??I4cYxT75=m#PD#1TX($`gK;ycJ}T&k9yTcD7uoB z_dfCTas1(Hy2VVM1=wu^x}3oGl1~8YfLaoP*3RGbyQ#0J{yq~Z`U??Mf-q|uR~5Ni z>T|3e-L(SQE#c-`*kol{PLE2tIM^m>3MO$$d|orlExkQxo334@F{QI5@Xs0T{iej|%ZyPpW;w zn94BUTw&HDASZpji*0)?=k1qffL&J@$x~V~@Z5B{)KHOzEp&ni&16+kC53h6ALA%f zTG0W;$Mxz@forx$kS?snU&KOwpP~5Sg`%O$ZLX7g@&(FC`JO(ns_W7c3y$HnT6*iq z?UJxf#As2fh=RlDT*XxcUNNb082{n;10Y9D#j7GxQZP29qECeQa8^&Fs0X!xt0uj@ zO1I!^i^;I)VgR;E@^W&egR4IU45F&mvd?Aq#F;4j{PorSmC%^>iS4QMY^AneB!R*d zjZVf~(^%Nuuq}?y(K`n#a6BLDnqud$di2f?Xae#7@R|O6np?2Ek3K7|e%M>ah_1*T zd&%ET+TsWP3hd-n^!?>fFOJowbr+?2>>VECvb8)9OlFp9hYW$*Ry^eKPNxP$|bNnq(o0*qd@c9DC7yT5nMrO$GbGEL`hz` zX^Ym9RF+J$fPr=>QjsC|W%|JlS5?DC2&hB6)1`mCS+8X-p}N)F`fjIC>9{t1pKr)knN~}5n4?WkH12q--_cm&Uh_6d zLAx)g``l^y%JU`a4!35Z#dow_Tyze1%|=zB#`cKC$j;{x702DIJ|8!nP3>kMYYi>% zaVaQ4slJW9u4E@6bfZp3p>Gvpp5h!vavpx<*rsQ_ZJ{Jp`&Ifz>04nt`+W^z0p#lZ zZYokqZpIwJxlg#LL4>5catx-$NwqMy|5nrHdSJF_Y(RQwIsYJQZ8-*2#Xohkpfz2T zc?)Y<-P@(4+OEu*F!g~{c5j9$7UHv+<1mx6#t%aUjw>9TE*+a3JM>UnMPN`*&RKlg zom`!(mDO{&@tmA3!FI{+sqw7@&&lkWt|Bzm@|&p14PS%?yvF((8I_7AOM(-Gu3lP& z&0rD!rl*MDWYMK&RGL`r(7>^-)b4ZrLfo9Oc_XI&EYtm#__lCU7XPrhkW8{=JOxt! zHs4q6)@zcM%m>g*pldbJCTSQ6$imqrJZ@nO#YwEw(11qP0R}Ex^72$4>a;Imm(nsY z4a1BsAPOGj#vb}D7C!K11xJ7Okt7R5UFDcUyS;ogRhIKUERv<&!B!a44l%O&A0M@|l-(fP34b+_tXz&!m|*J7X?u@k>jf z>Gb$e!ka~gj9*5J+>%b}P=wP09wKWl!KXa9I|KOtu`{y?@sru2B8&KPNRY~#qStL* zVG_U;*rjN!zH;Kk7NR_7`sTvvMW1P;jFbWI`o-`-WLzj?CgWw^S;Y>0Dbr|?#6Q$f zZpk`n@4+v-TJa9;?cT18bN5)jH6zMpBvL_2I>@ZK#0M z3X??R-mE_Ns~RmvTn}mw&d&R&+rUZ3e!t-JsKtMlC_n{`TyAIVmK^gsp;!Fg>QQ7@D1hI=eI|@Lb{jP;EN1osMx3b8$W=X6K#w2kK94 zLVwKeQ9=2>-0#%ffiMLjXPy^TcQPr@(zhvPxPVR6=TpmCTldUUjM$QKI40FRSB$p9 z2F#d+$XstQ)>46VzvH6y^MkafTvXkt&0KtlLQo9E{7^CE191zp>+cjzj~Nq$qfT(c9mt4i9Dt+1C;+ipJvsLS^-nFv$nvj9w@!@UCZpE|&!WI) zm#;h?Wypcxfq&jtz=yTQ)Jgfvdw#8|O1%92vbj&Yq7JzH4BASK^si78ms?UfF@)~~>NV~|kzy#OFKAU-mxalx_C zJGd-*5s0{9OZ@pA#`kn3E&y92qFVpJ1g{DfpN)E%l?+I$zn%2DUO>bdL#LmO>Uj#b zucvrV`7!}&A(mQQr|8bM+(i3?DENs~d;L3?5eEmO7NuC~RGS#0R82UuKrg>ltLIPA4#C(V7L zubuQFOtCC9pTkyQ>fAX|`LZW0mAESD9Gp2Jk9l|5D}OT!DZZY@x$HZRZuOtAQWH+Z zuw{72n=kgr&VYX}Z$uvkC>1c;r@{K6e-jH4S$g`is4!OPZQrY|rKQSNeh-6Tiig3a zZ=T!9-j{V!aQW`V`F?;H1{@^7?~a|!Z&u+NnhrbU2aC_3hfRB@taN6w6#qHR@HLAn z^*;0GgYrf~4`&hrp52hk!qGx>*E6k%iyI%0im|9FO6jDNXB0Pe?5cWx2m5-sD?DwJ3#>&Z~ zt@ak^K`B^;f83%BzoN{$zpwgQYF10Qk&e|RYk3u1d2+u@&2rmGyFFjm@qxht;h>UJx|%aALA{A zG077YuoND3wqD8vPFoq)h}qN*fGWjv=1@@16@WwD+pG6*_u6dsLQ0IuWiGO$QinF+ zG%UHXK(cjpu8I$0x8LkMz;hjp-ei04 z0MFKUzbPE|D<>V@8n=1RJsxC-t8p9Kck{M>U9Y+6>a%vR?){c+bW?%zKHjxxV9XDq+&kM};(AN!-&Z}Dt=8V*hzUd|WI6R2^ydvDX##)^zQ!_oMoV2$8gn=04v zBTiM)bFs(_Q4)n!`f-_N+S`+#vY)bB?^W>)L9P$ey#m6*Kn%DGpl{59a<~yyeaX|! z0+Sn?^vNM3W5+|QwqzQAs{{aX_YUDH*AA5MWyNG{MA?v=qj>vj5HFH#WN8(|-D`%2 znV5U;WK4oMC()Md*2AL+#+_T9#&0+ub75|%p6O&|#c)@19{ztw)~qzgo&K zla)P~yKV54(dH#JIi%H+lJD&hJg->4LS2pJ3+BpTL%5L51NY*AMvzQT$JwqjU~>_i ztI8CBh9?St0~QJg@YOop5gl}Q-~LP^Nq!f&w4Xw?!e_9VNv>0wUk(RUzleP!R0A{n z{P??+?b8r7zn&1FhproSR1|d9lCy&#6(R@omhI6joBsu1)|DY zvQSa55uXLv^MHj3r+c`Yj-g3(4gWBALQU3^z{f64ruFKXPU`ECO_oXgevN%H)X*HL zn&Hmg(8|Y`YX%Awa~;m@+H$Ky->Jon*TI%nDrFt{CqUH?*_!5DMx& z0-hyy7TT;v;6232L}B9o*9@3h-5N6An_@)MLDs=`PNveGM{Hd>!gf={kI2$RylWi; zwMANYD>CYB+N~B}(E8$f;d)%QD4f^#HZg{0xz*$?~K<4FWayqQny|nb2Un03F@%gr(U5=M7o2d<*Yi(uJ{2j{p zW-xS#_$78}Ap6Fw`n_dFsSebe$6d%NvO%lu#IdC|(?b{>OG5M4qPRNz`9av}TM+e& zA^-6`pV238-mvUTccI$YsAQ^7)b(0=gg(^z@>AjwOLD;pW!5rYiYM-(uPz_-v&OHAh$J+<)`Vd?rHYcn!pcF>HIRlfBz*x z@PBX1RFbV|%3y&ho2%)-EG#bi%&6{W2bU&iL@Ixd-;XpMy+)gNR7@H<`45u*FE#_( zFA8t&FYJQ9dNRx|IzflXt*RL%l+!{(6o1F4sMML;6ChuTVp20ZuODjr|MPgzj?<}u zdA;etzrC1;BooM|=egs!+}Yz{1pKvyNBcb0O5de!oyNj+S!Gx(JkL)WGTu5g2;pSZ zN?N-Q?ixybMJ7N);Q{<(?d)l+_mu%e4Bh&{*->A|lgwe&q`re2Cd8#Pb!-6NOfz^% zMP!O915N33qI-CG&ps04gLPi}h}GYP{$z(mM#G?f{*zSd(^)1uia7kkX}gDY*Bm9? zV)7*WJI3K(U&Ra7V1*b6PvpG=So4WnE0?~PE?d!8F? z=gX1>Rkjl6WFhtFC;LlW0mFRX>fdupDnD=P;!R6ee#2gIH=8^iPJaXpC`f3kyO#M969E6`Y_t+pFIe|7 zJ{BdN(pM)DBComWtP3v09wN1Gbn1(F)+FG}K_$3yM*Vt^l9|=rgF^qA$&#mJXn%oO z%j1$qZeq+MyQ!V^M042|MElT&Wr4vK2+xL?Zq1WcWDOVcKdxM>d|u=1<-^ekH_G|h zy5&nn!jVz|)na1Wr9JjQ>P>fCdRtw-4b}>@dBsKncGaOY?qWf>8XMm~*!vna#W9L` z^k=MYW>%-rv7&SxzuRk~xl;KBiy1?8cveGVOm-P?x^EW7@>VniC1vC5# z!u7>wE61Nz(@{`ne64OkvtY}D%~&(4tq_KjBd&%N0a%S(&tfOfK1ab&?_|!=&-yZ; zuV)&1drg$aK7EF*UtvVsH0mg{ukB6J3<9<7w^Q~(tTZZ1oe&we! z+Ui+!`KiNthuocip^acV%hf;b=5HsioPU^bRMXsvDW2D3ZzIU2C&`3xsBb_L?Iroh zIH&%4Wl=FkS?0sZek}4RaoLqGcW7C;o|0dYpR~oX> z1CLHg80t8LDhi;!p2f)LyfiXNkS>?!TC9(v#E4A_r_7+<3p73b-^tYW_udYaPq4MS z%z|lSZ-0jybXo;*^S)rKe6noP%63;hpGQ^sexgC$LA_d;0Zz=8=kSA8;^p60k!FZ7kISY@I047>t8~}O#+U)Ja$P>BB1OUrgOt09g3D_y7pn}0mus+9C+$$kUZe3W{V+u&vaWdzTse*JuE?)mf6fy+*i z(=)K0@7OX;stsAU*XvyFA&jk4RX~MqAVnaX8Al;WH~;#oIG3*S9Nma|@TG;Sqe{hS z;L7GO#)3V-9HhD`RGA~ej>7xM;agp&fWBJEVjhp#6!!Hr9^|L6wZN=UzjbI#cNB;ok(=(gq>)>Te<(qB*`iy&xQ9B!hK>2}c+zmwWE-?MZv1*`|OU+Hm?cMJO*10Pxl`~7Con@ttk1+^2 zLcHs&oc_akqM>&+M=S6<(pW>FT+057>E(*CbMdqx*I(u@W!9MS6!IU^-G|2>Od>2X zUHRDiP`uoYHMfK=YX2N`g4DB1dL=xPeEzxFHMMLJXLU!cyC;6xL!3DI2J&b8^^{Tc zZbkLT5;Lny#}K_s zvlP)~A)sq0C*au#ob=O-d$VigeTXJH^8UTz_GGv2o*TtI;v>u~-7~2mA?BrVQDG9j zeRGf(9MT^gbTuY@@mTf!FO&iF|4*eoleYI|Gi6g(^f#Qr8k)lz>b6MdCMBir&;)b6 zb)}0sS>uQ@ZeL2jL;Rk1iyy(ME^~YP=eDHVRaz*=#B}(tgh%)BY8>PXjy}mWHiFIY zfH4nsy6ERy1NA<$o4Ny8c>D3HDsI1}^?7%z(d`J*a!0(C&2{}R?Qoq^nEa`^xYdE8 zYEnS2gUW5E-#G#wjA2P__r}&drX%){0BrfEkgB%=y@T?BzrMmUPK3r1+U!Q@E1MPr zU|_1$)2RcH%K-yKmoFiUShXkPpq-Og0ZFoLyzt0UH(e=^a!B)$+MPn>g|BO zKDkO_b+YRDf!o(6rXQ&K{m?19Tq_W4Hol(J}T$V9<~RihISFYz``&mm|(EMoc6 zv@3Z<`plFrUpz(?uYjsKbpKm0L#P{&+zby-*YQ{eN;l75Ex=g2S7bUw@dyH7OW?90 zxx?iEO2#(jfvyPB>o9zxKVt^ym?BUA^*opXd8LUrqt|q?6FZUyBArooUm_ zR}igpBE!kF3jt1*b5G|s(Fqlll=YSpioaT~s&QT@iX*HtnmEy%%ii`k!}Yas*YZ9f zys{}EG0?3C0dJ3bnjHU$N9rk$b%m^O#*M9kcO32pyyNPaWMU6J^zQ|?l(@T!9id-! zwSc!gd$}8cJnne>mlWW1^s860WhRqs%{rEZQkBeWu5?>E1uV&mnr}H7jEXuS( zsf5(eek7a^Y`1}ldoc+^NyvDq0#Z>k)h-P^I9(Y>iQj-A*+H4hc_-g z&n;R`J$k~shH461dv8}fRH!=38i}CkNlVN4V6i^PGmKO~Cd;|d&2PCMb!Z9y^muyd z1LG(!bs7$Nkdwr{5m2O3n>YmGXxMfl<$>1ZrVr^JO0Cb$G$EDP7sEUG^Y1szwniZF zzJw20{~$wBg!|;n5_i*z{VMF-Jcs+v?d)r7Xi}q-r%!m^?LqHYL1#@*8f3~!BkEKP zGK4rArL{a1d3)zR-)EQQR~~)uK3S$djuB>JXDuV3va2&Ttd!hZhdv5OO8D;S5I7LS zH6PtDA!dE<~`;r&f2FWihhfr;(I``b$U|nV3s57-iF~7(^KXri|vNaCLa!8aR)hJQ*iDzXC4ieq7dpPe2B#BL7Frdxk)KwRUG^Q72?!|BHHIs`WNyysolU`dQ;68 zdf-M{xX6Y$WVVwYsL9w(w(+b#x+o}Q`R)wTqvgT`#bX}C^QPaV8tJa9NkNM2uO`2Q zCjt+f#p;_cv^b#1gYHmys(@xyWi#!)t~B0_Bp+Wb5Uq)bIcuLyk19=(_eK|yJ_IUv5!<@lmv3{Xru6am`yu_Tw1I@6 z{zFes5DB6?#&e6{XwTn)yb6FM&+QRtXyG23cP4CfhP&Z=2Vesf2W)uTN#}lg0S$+f zzNTIOlp=BZv1})V?W$|2tnhTGK^J6yVDyYou;uwErv1dIrbB6xn|QKHYF*}}3rYA| z+A1|8+$PYb=h&yEiHYbOQaKNF?}^u*kLtC}S<|O^ffuZb@qod?Pq^i@SaJnO_s{GO zt!?%7xi4)n2*D0(sJc&Rh-0Ah_0vw@AHCmGseyfrZGa?l@d>wU0|n3qtJ%~7!|d2y z2)O1_#>mlH>}xMg8J1$Qq!blek(wH2HA4V;ENfZ)baZbkcM<(y$9fgy~g#P9cLMzy> ze6SIeY0h47%hWIzh8z>{FcV~v;#-l~#>cr`styCyM3;OA_aC%19t28P!VIK$JT$b( z6s?ij*a%1P%98Vlk{B*4p->VKzcuM)0C8!;pVF=kspF$z8rYl z)rG8=2GIX#?+I_@|MM&8OP*_*BsHMmZWq< zxNlh1SQ>MwRl07F{ewZFMsO^{5ZZcgjAG%LYO;lL-7#Icx^-=QxY9leenvOxoPGN& z{587T<_zJ&C3OWu0zk`KW_Epu6vai@{dC0ex!bZ6`frM`@>TQo-M( zR@Pb?(jQPP?xhm9c87;k%J$R=RS$=En|6^vx)FIhx}+ylR$cZK-9S8@F&iHQFh>*5R6+yQ#3(ump?WXPwWR(yBjdcYvSn zYhhniYfrPaHfK|8VI@{wRfFbp%dEcju){dkQU!M}t|~R|ovJ8%qh`Oo%dgr`PRKX) zY95iRky`*QBTN1JSIf$_%E~6VsNNM0EhuQ^et6%l;5Qf6auW~x%F>*1Y0xSCJA-z@ z1P=DuU34?4v!iu1%rO3&)Z(CHq0{Nu7dJcuY6J$@&4JF0XvCpGN*4i82(0hp`ZCgg zL7Esot@&fZR(mbZ3tW4p%Q@EH(0-SyLS-dMdkft*6ZZh#QRl%Z2ZoYOS2B>6-qOk( z?kf%HKUsy7bx<9?LFT5;nU_}=jkilct+Ok&9w78-yPE(Dx+}!6a1VK4A0jc`creNmfKq`FdC3f_<+_4`oBMSHh(l zS|Ps5+D0MyR~Rfw>6=uPW#b@>FAz2IYJ4IO$SJbY&e@3z1HnJ6r8TSzETjV)`w zUFjW%%pl@-Mgej1Hqf$k$!i(j7ZcR6P;5@u1Ygw`<^4W#j~T&4p9#zO?qTf_)hsF8 z*6lL0+;2bFQDzT$B+&Vq>Dqdbwq}uSc8$_kzr_}l30m|*wWH(ql{&W(kULaG!yYYw zFk)KQ^X)MSvSlMZb6!7cRoQODZyQ0p78&AbP}&SJqtiQzpAEw6ruB)i#AmN5EZw-re0xnb#q)BRgyIIIu9a@Ein@ z0`wQVlfV$jPEv4O%)CF26Ro5*1Vk-D{-jf*;7bz|JcEqAh8ly4pbS@4&i3)+;aQE7 zstNcJEgwk;ZlBT9v|S{=r#rmrE+j`j-ktio*~q3@O`b?M!U7z$olesofvVAhi7`a( z$k>)|vkrtrVd?W=5niUYiXL=@`%QJMKw88o^=$}aP`_a9`EIFaBxznUh8j&#qD2S7 zO1})O79E-bJN~onTm{A~NDVYrVQko()D>?}VGus-5T(|DG!IGrO`NH{{kYi)XzW2> zpB3@e5FA#Dh3cv?eyY!DG!Bw{FRPg}t-K14v8+Bc+3kC`a_H%mm{NV7aWbJGJec>qROkG?@&?z1hFYabwX+mfE&(B%J4D8HK@5^{nRy!@ zfg4*b#)_ibfi`O?r#QJ+duItp*-Wn~rYa!|2U6<|4NVR=bKLP)a@s$PhfmDFL-$lV znH^h97K-*(%NrAd3&jJnJ9COcd6qSmi4D}VRg8A+Dw)~SNuBaPmDvB(^n%LMdIdRB zL`8ElXHBnh4a;LQEAq(4k=j1<4kqSY-FBDLz<))BQ1XXs)JrH>JN-7VlO2Gg<;PVV z&N_SPX=s>Kh~G|Cr5P&gMsUqM*Yg|L0+KZ*bcnjy%GPHaya>A%~5`Tz?5NBr=&F>QZ|L|?^K)Z65img5V?*blmHN+qz2{PhIxuWJdTxrp( z+@xr=ohdOm&^A4qKk8tgW5au6ZVR7gF-=BlesnmlNaD4ublVU2RKmzeu-I`TeDa#j zCNz7y9^Xft3u?*C?+m!*l74#P{3vj4BQ&$)^EnC1hHdoyp$n?WtIN?z=Ncn%R_cV- zy!UjkJcSuZWC{Kb^@{IzC?p1L4N2ag)JfDVL|pnEtdaWzGex{#~@h9j)QoYW|VP0>?^9Y_w2O;EpDmj{X-u`0-IVRK#z=#O^yEw+yH1I+5JSe5CKGjOjP zG&J3qnxVl$no`Ud?H1y&F!eJck4``=iE6|jBJ(~B?~&mQgN^+Tqm{lu10g(>w2G(N z1j^UznX3{ov|vJ38LCL={?#L9a2{gG3L};(44j-TNicpEk?LF6;>y7l6h@T9hIjP3 zg~!>qWEX?X9=&5!|5V|y0&wdrzgp)C5K0wY9HT~6GhA62OJlXwNacI_1XFVnpg2=s z^!FOiAAO1sDPjBOuO^4Ui}JgZpgtek|Eri3RyZdI2ag*9d>0#SjSo-t3{#6UMk3l5 ze5bj@-1NJ?O-Y~8g>S&%>iU?>>di?2jZw9yeaj=y?R%lq**}pF29=BdnhzdAWeok1 zCR<4WlD)2`zeS$TIYXK-}Lkt zC?m%6?Iraq%s$RJi9BE~^7jGC*59?9^>0$!nNZ2g&TmqtpEN7nL>JaJCGS7=%r@jU zk^wCt+t2L)c$uko1I_O6V>uwl{~RbXe-h3f);tn!x11;~BRBNpB2PZsE@lWNY?vfH z+eA?NO-i27^ChK4=sxXa4XXRjgp<%4750maDzFb7t4WpIhRq8-H(~1=EXI+hyy|<$NF& zJ5RJHPgp5wDeynH=AK_AmMGKAS7Q-H5XN5n$%#q-_`uChnCrJ{UmW7!4-i zP$1Se5K&T9)oCCwzeZQe^jTRCR*t6)_yyI$r^W^bkJJhAX-583NL%Q$CHyhpIkpsM z_*xIkOLtE>94|C19k}FUhGt+<>F1V;;9P)_(hE%DQQ()O~C;;lYW_6G_;!S*=iGLf@6(ijw2)Xi6^UFv6A_Y zoRhyGw97o0$f#7(G><6z_>nV%=&!DpbWbC&!BHy3h;e|O_DQerkX#Vv1^k|QY=hly z+coW(eAqXs`y9mE6<}5lQ%ZRv*_rP~M5Q{Nq_bwB%o;(0-iZ%zcNoSS#ZO4ob^)+1 zhk62$N&MOdeI_NOdqWB$`jah+rl^zE}1Ax@rf^Xo3#hxx$oze;qsOdDfu5likW(A?ERc9 z>-ZG26l=(t&8Wutg~!#PpXc1%BTU;SYA+Uglz87ugHCgrc*^y2LK3O+abJ<{*tHnv zqK#JSOD%srX&Kp9LYH6@0%3RfpLiYz@|VS_+IVZDKmM2>@L8}y#NswiD0Dg^ z6ra1QwY;z3l@LAT=%8Nc`^srz{4#%h&Q|lE*s+O>RWn;kv|?(EQ`ljkt15FR{WT5W zY^xU*7Vgvhu4^v6cG038OFXfkIC6>vg0_yFjxa45CszwQA4ZM+`by67mgJihmFk(5 z@@bP;(G~gm;#fkIDf(~DN)i(JY-PWqD?>qK!fk=pZwo*#eQk%s3?J6IW5=j)h1Loa zD?|d?wSf2Q5uAOof@g!-&^IgJ+xtKjtajAOE>+xHrTb(t2~11kR~Tr~cQ(-HhR)E8>VHrs7y; zY+ktV&UnJ9nuR#8P6@Zs{5JJkhA5LAHgq`)t124FfUacy*UQ|>!j09O|2t>I3%OhE zwrTcickIs87CQs|y0*t_2r|Rd_Bn5Nr$Hxge~w^dR`U3biDH&so982llkQe-YXxvF zxVfvRl0=Gf`h(B>CRMm(w9MXIzpYBrvhnqzbqx4|ZGXgGu_CjDo*iOmVn z%!I)Or4-ioaVeK&s;{eLoQqruv^O(-3 z!9UZGN4KV3eqU`?5GuZ=E7QQEl%ZMgOME)k5E!y zJz*LMo;nkAJ?nY-cxry2a-&B-ULok8}b_85KGwNAQtDXs?G z)qEry2ISvxjL8uh{}8G}jqX7r&)cgfF8@39A+ke!FjhOwPdK`|)EqR^$&i?9^EZzu7K_;JmA(p~ZMSR* zSB~BG8iAU;!q@t%)2y_3*W3qSia&r2LUPeHl-AyGh%b*B zFB=hpz0nx+XOrFQ3C0UtEs$)}{+^F;OHldyRuqAJfi%)KvoNHXyInF32D*TYQ4Gx+ zv#LyBq%3E|5ejbNtXDQDjNJwnxJMAcg7wTZqFpCok(cLIaP(59t5uRQ)%(ym3m6tE z20~~pzjxFNBfh?SUC=-Nb+)eJIA|jTrjPF5UC!%qyOeP|2|PG>Gq*L@O1Z1=7>pFi zbnMpzM%9+jC&%q|H3Fumia)~Um8vz*@;)e?A5bx8H!_a?d*&WkqFFN{#=FyFd`mAx zUosVRp}$+7QMTpkK==&|+SllZ@f$XbSdH)fo zFZex8(dYLrZPZOgcyO((bBkQ$2X7JvACU%qJTe2@K&J794yV&UI-NFJ>+)XDAzd5L zQt(VDsi8m1aoYzv4e>M1MA~dXHF?b^-{AZ72-b+o^s86FP42)(87*A$=VH%_PFTT? z%3(Un&gmCYYVPK+)A;I=m4uB14?NvFI`kghKW7~TO$mX$9+>y{S&mFYEZ<5n z)+k(>UCP~Ua$!E8oe9yq0CfMY9$qPvRD8xFMdj4U_-031BT)7>;d>7V>YMyGeA*7= zDc8ZQK;Yzxwk-a~%{9)%01Eg3AYY}oB*Ui|AVZWtA@>Rg)W|WgO(wYh{@R*I8=v{^ z_@*9!V|SwcP3lhqb}+-}dUpS^SvTj$!;G^T?#PvBfV7z`XvK`bQgC(3cT9i_&r?< z|K6vT6Mub9Scpo3c}2!i)-)`WI~N`h3p-kanhCEM&}X=Q=YB8-Vf z%^yk!4N}b!l>o=<$$q*EBWa=WCdH+JG7rz*51&C1MPB zd8^l_iQ2Ev(@Oj4rB&+0ph~FibR%#_CX6k9ZS#%k6?zMovzQt)MxTdZrQUl5 ztH;ENmB4fz4jrGGZKX}NZ;<_SLBc(~U)Y0ncz)xfCdbPgcL!X- znib#kqAW2TW5K3rFiTW)$M$_lW18tddi_Mhuj z`D;OmClmT3ml;6QlB>l!dL+=U=KH}SASFNID%Yb6h2UliFXSKx<_C~^BrgDwk~#yo6%aI>2F&Ii%H)IdcqCKa`U zx(C_n1?pRxuEX@V3}9TC6F7lP>d=|5_9}u48JP31ZQOTK^ zBg63vBJJ&&7+Sj*EaN7~$R$`KCOF%DYRCkWrsK8lsTvGb{^i5MDY$j!R+RXU;TX}? zCrLTw>pau=veX|gsQ7VA&nsi~?bXt9oBnJf%z=2FC-u(7d>Y6)B0U*#ZR!TvxZs69 zF|zY+r@z}k=m$pETz7)YSQ2Wva^@yOoQlVGQ{HK6IAk+hZRhMNoclNOkNQ~iWnZcT zf81=2mp8Y;y%k?=*l{g>c?tm_g%pT8zl2UVRsZ z4y9473S=o(Ufr{0d|5nC`9aMMFeLF_BE7yXA3-4vCnfEaxbDIMVxnOFeSanF+Dg7C{2Z$i>?eO6D8=_5;!+hT72unBYg>wXdZHH8*&L zCng;@`iP~aGmsk6xA8|TgcAb~lMIgYO8g~&($E(Wa`H1`?J-Ju6R}*_Uzb`?q!)&u^)95W3U)%i z=o^Lllu=7da-37sTVN=cbX!H9IQDsu_VJ0U`d1V=ANpbZ%>}e?ZA~}Tv&qr1@Dcgb z!LaBF^UK^FaM(*HkWXGl-Gr08osuSMT$xghrubS2Plnd3QFEh`m5Rw6d*qkZInQ!q zaab8J$XrY4G6mMrOTW@R_c9p8)%MUxQC5ur4Q6+ETRPidSrq*d?C?y#R&UOcS3m_I=AZo5_^;fG#(`M%FK=V=3#ZVSe=lsRHfz-Lr zd=uULpLe>&$K(d(DksRh8BFojH!x3u4DC#PiIIbDa`MB>e~Va1UUMyVqT}{gb}9*6 zIGz%UT~bpDn*cBgz!IF;!z+e7oj@jh;ZwarR}Eo?(3b4>Y}5S#BVP2xWoJ-KfR)B9 zJu~+%PAvN?_9Aq(ld+daw$Y)wH_6|vdyn;s8l>L=Hg>aN zpb_BX@$6YZYga;&LJcGgVFL27V|p>`xV>Z+5%HMM2HFU_zAkFt{$l4Ce?kY#58p)Z z-x=;v_vUJkTxu7jyW&0}C1*iAVD|t&SJj>z{(=TRZY84ZcX}^;Ip<2H9EZlY)EYpQJyz7C0O52DhI2 z+Xweeqpw|$UGgoNKNEgTtH>*Mw$r@g2I_1b^L9|@==U~T)YE!0B(Dpny0OO#KDAaU zV;lSEO5WJrQ@}vij?2Am9oX0%I5j%Jhxy1jLF8~C9VpnS9>U#Hvl$RAG<5m*MRf$E zyrOKx2+(Gm^5K_P7;r}QyD6Yk0k`AQWLV?^gVoAlXruc=PC_X<+OO!{NXxp#SPtz` z%Sl+V@?EZrM*urwW#b_hs+blY+ebCZL#f57_fM|--c@s4-7wlkJ0^AZ%F>&<;^xQl z7m0H7f_6b?6u1HQkTg9SF98Hn&q}x8+cE(Ck>i;y(s&$x${Ht(iTAX9WrbNo5*1K@}Gr|$YD0NZc+DrYFg26x!c5A78l4-7Wvjr26d)~$lYn^(=S=yk3Ojcf$ z##7F=q6W@ZYlXN52#ArS{2mI+Om>JJeni%j$sR{|CE@zTd-ZRF#~Z4FOi)7w*y4kK z)+Wp?z6I7j6H|F_Q!Sx{c*4ER-J8m0jmS5UR8=RlnBxtO>qa&*&8;!VS_@{SZa^>E zn^5>)yiQH+hx8@EE~MF=3ph@%OC#{zweVLc5a;H^8pd$u*}{Ap|xR#F*=x;2r2O879Q<7EsbnnMF0o0Ron`Vco}DgLRm?%P01%DMt}?Lh*% z6|nT<%k&6+xD9W*FSIrV-{)LVpA>4v5W$5aGA{gDpl3+4^OSwrAwGAGBA=p zjMV1~x7Lf_&)+lspchg0?!fY+Qz&Q`SI_iL~xnad4{)#CZTBWAsyP*72uQO5))XK_#clri7x(O#0iQ5YMgF zo&+zeqvc1$ow45JdYBC%5p!8AL9{sC zB|R_1ExVIxbEeE=T2%5i&@F(ij9SOkkQiaA)B7kZ*`9-kfo3%h2b-YTbom#jHk&%5 zCIJu}?rZ5!&jZ}D%$?4>_sZydUFtt^b2{%2kFLSF-g+#5wW;WM&`T$@^bORcn`QcI zo`n(f1wM%N!MKTiF_TxF!-;yncS_6k?u(IZYyU7YG&L!BoGV?@=}D+#(^h(N2jW_K z|FE2&zc?*Y%bOKg_-4|maW+a+VYyxoET3d5bb|Q$UUWdsl2nV_tZi}ua7|vAMqJYQ zg*iJR>FZN%nxgFpTz2=DIAl}dhHR4Ri>bO2peH7IvQ}3!*S7eK`itb<-}OZeeQu9? z*CxaZrW>8d70@*|nhkQqR^h2gWA17BhBcvmLrtW3Km9aLB9bvw`F`}?z2gFvpRb7r z06ny-RPr1Ao78cE#XS+A0cDigGJw7v`uzZ4>fMe9jF>K%WNEJ(jp*{Mev`tJ z*S)%cC9%t5gYEc*jSeq^`5ejVt%cGg37PZ|QJE>48bgF9pOXAL7N-mxdA3-W4g(P4 zPYoQA?RFHR$#j7|+)dZ25h(WAo}>-+@V(+Zl_iJ)efwh<;vqr(qbTT`)bD<_2WnXq6HbAb@9wP!n(R$||l_{qfzajz&=N`DVzKJgjH# z(>>gmg}`6&jqauS4s|abZZygFVbm_ZKT>7pt)@T;|lbmKJ zZ2S@`6S>RT9**nEueNGRJwL!t3i)PAZ4J~*Zrce1jsvMP&pk{X7{<(*=z$$jH~>6j zJ^sJqb#CNyk^j3Tcsvf%+Cfez+MYhr{%LC**V@)dl_QkwhUSKCF^EL8Zs8t}@zY7u z8Nr7d{k1EW9ds}uwS0dcM{j^WqZ=9RjE=o)+C*n6b54x@`2PNL?f@AZY%MK)RC&*S zNcuCMa^Ln#N@WiYqp}xJR4#f8L>&)$cCBjGlxj$bqv8<+$X=Wq<+KJ|g8Gyvz#Ve@ z;hWU!?OKk=2e{aC3kOGm{HSY43hN}n1(DMu;n1d1vu(!>ED_H-H}@jKUvA$2Ce^$h z_@&%->@G%R@J%Yl9Ki!Jv1M=fW#Q5PNd3QG|8h)ET9_}&=^;kiAK5Oezy9xCkxE>c zDghvPzx{e5>{;wlI!QvFc*T!cY_&W8@4u3gf{8M1$FInKlL}X`-3yl+wgJ4sM8N-B z2fV+rnNB4@e)=mC@d?qw$8Jj2Ez zG}F6J=u7xHcVf`m;*Mjq+tmi-%;`IZ$TzgO{3VoY!HSuWreg?~Xj((d*x?^R2ozyQ z_eIuaXU_59m@y!(i3hF2$G-q%mu%Hga=aIz|3`(cjUmQJ0&)&Nb>@xLYf?`9;NUYL z`7Zl>Ci@_HXD^dqNY4GVex!CW&zzs3_=LZ3&gsB;dm1WkdC-lx(MqIPVp2GQy&oez zWF9QHP4saG8g%Se@fx<;zgYIWPudoQR_-39tbBa|;4XRP;cbQKHN(|?52l(XOTS5x zOVxA{f<{g9j}NNfao+=xmH^v8Cauu+xEyRo$}rDgh)zmB7h{T?Vnf%yNe%mNv^D?q z|6RrZ|DR|5gt*1^cn$|A324RdmAn2AkOh7!P%o_muO9)z;!RfjWJRF!HX1h*v{ERO zto|~h;6)JgX5OD7@W$2YxF{}qhwXeVV*xbSb2O*GF-DfkwgD4sj!H${(dXFuq^Jex zVXbU%f}g8^0zOEyTZLo;@^6~FCUsmvlDZo)KM;A?0-bAQSLJH=1uUP4?#vl9_10Z? z}hm zniYZddB-!xeuQV^z|4ZD^)BBA$ck0uK9vI-`!oXG^q?tQ&s=AHyRx)_8PfNl*|J~q z8XP0B>sFNaSP9_XVm^GKeb}tcX!1le3=17F@p`j6xthCn-t_a2$=ZzcnJDm{=_>w)Jzb$CL=e9!403P5?U_g)kKe4-dR8oyylIdJ&prCQL%{g*kXjmtPm<)B` z+};K=_a0>-?=kjR6KBq>!O4C9Vk?)|vRNfnoBtDCt#9%rvC}2+yT(Nzb0vPGYqR^Q z7S%Cm2aJ-egOF3|g7JZ|O{|$!Rjpr&OCAmoZS~ec-=x9{3OGlfV`8ZL6R>{w5GG8l z8;47^X}MrfG9kV5v{?^fuBKv-Co zwu_kKs2z?itm>~Q-wiwrCoPe{IH`>gMFn#D%e!l)hq4<_p;Gfk1 zL&`4cY3)^wibT6-j;}1!X43x>oRUq4Kswm`#KV=!xXNk>XdiQLHW-gQJJ_l)+CR#Z zR#rd@){j2ymPU{&{cVT%#4d`5#%Y>KpZqbd9vi^|`j%T5IOc>b#v?1K3GFf9ipJEs z`!tR)ylJ$AQ^ZPYl-SA-p;dG-B76Xd7++(LJOf&eH1woR@Zl~YgT`fL<=Yc2{Djy; zMCY+aK=^Oejy}ayNt3?SxHlQPl5_9mTmS(J)FJ}sW{*e~w`K4?lX741N#eciWZH?>Bn z{z^$lBHZp-KSBs`kPuqV?+CgXSkV)v7%t9h%4lxfNmq!7j%)F_l>G+8if`NQm2o>4 z_ytc(nW=kWTZs*FRB3unxNStDe(W_6jZ|vkk)D9F6XJ z9Rt*&7gfg4()%43zy(@ATZ$n5(13 z`D(IAe4)`?;BuSSBMe6OZ-+12UY(uT8-;gU8o+;jf(~+jocKZHn{(gvpb;`V@dXQ! zF)bIXs)qSEw9Q0`^;VTFL!6#+qHeL2E$kau^?S{^wnwW>ZQ>y(!shdyuE`Kg`CaN`Zzv~sPRKwY;UQ2!tcW-v;l@K&8n|&A- zJ`ND?);C)Mc3ZB@asq!K9yz1t_eV4qE^3ETQ_BsiDJ@?Bf3bq8XND)s0tupr=A506 z6D=ZFQKBhl_{AP{Z;t63Gt4UVrnyp8Fc4B?v1Lxy8`cL$imMYODP-Rcn{@rilSj77 zS2iP5*6)m!(6T!qD(BgHJb$$vFB({^qb)694@8*<>}*T_-X56(S)mt(jDte@ik#d4 zeal0BAtH#ECvVbeBUpA@$J*7m6B)U?L)tk2EWSt{@-f*5=u-fZdA$=SXg@^X*jyrdj3x9x{GzdsS$y-|LWUB?8SoD8H|H(xT( z=^mloh-~$W-+jLy_iS(}IhN;S{ou|smmBJ+Pofw6&4+vXo1ygG{n;bZ!0*%1Tq?J) zbrr=J4|I7O#>(2^8CoQQEvUtUH}gPl!BwYV-Suxy&~%{whS}}tFr0_%@$`C*y5@}& z1rVjVa32-Y;WYy}KYe zV+r+3}t+Ss?Zk{ zo5jFql^MePaKY3nevN{m9jcLSVHP6AFDu~azS4ovaEd&7tRkqX4KCcFczfJDS z;Z*`V)}W$Oo$1g2zv`C%`an2G$M2*d_fBOv*S&6%W~&R{>_%~cd$Lp+`_rl zFO$SZ51+XW_o8uKwrn02lpu4r@63)|0zhni&Asu?l2iQ~`tIH%x{8~@ca*G=-_^z) zvLrF*5i_&FkZt!}u*VHWTTHCC}iuS-@l2~OomD-+69 zTV-E`L3+qQ+V$?HPRFSAiNfpfq3DbO5<79F!uv6G=Lh=kQZM!w+Qp)Y3f7a7pK`5# z%2m5Gqg?8Qx60S|Ao|&GFZU0a-rgFk`Qg2NBhGCEdv#_ZO3~od{8$ROknn1xhqBbk z%3nZ-Mt+^vq{c>BOxgBFy#YOxl3tFf z?&Ag!hkyh1IJTQGjVpkpa&WLuq44TTnn(Fj|H?f3{>aSQp1dC~dG(TckUMDqYD97~ z`j3B>VPEy@c#cAqK$DO-6MQl}PkYx&_67j9I8z&EY5NbX6GrStC=PK6`gcc))YqRe zCM!v>Waju5NGn48HZ^#*|Dey@`tu<=Z$rY{@k3vzC_i|YTzPxPJ+7WBr{KAdIn)dE z<*5?#AQ9^kqy7E3p%r2Mva!vF#E>(uYu#V+_kU~SPdK=H4|(i#2~tAmTj4;E^K@Uc z=94!Q7@M)GM}1w_O7y+Du4Sy9?_X-(lry+w*P(^H&@)_Lp*20GXz<-klwwG=#w~V8 zs!&G3IbB$!zp5JYnL!GcUt&Z)CtVnEe?J{wYyYp5_RmnG;wYF}2+ZkHOfkN;urc6> zIeuJxRX4oa=<)W@#!6-m#v<-nf_f1=2T3ml%UHf!>;@>96KmO{tOty^s#u0`RoeOT z&o?6ztOO&lVV4lVXTA_k!!9EqM;7OdE_m-yi~OOOq+sAOfWr-ERf?=SDqjZ;b=&9W z>PFR`&o}B!g0-1Ge0lZIZ`#LeVdpi>;1}wqd%X$1U)$}p)5aQaG0%vdaEhaya2Yw5 zAUb@w3mtTU*x2OwPO=`$~!vM1LvfFle+Xi!hG1=A7KJ^Cs!rahQ@H~)u$BV)bo6G^SWEn zaZszUdQhIj`lA;N7h^Rz$;KdjY}+TXIZ!qlng9sLT847SdIi@a+Y8}?1f+afj$P4t z@nX`v$T9AsehfO{3bk`K%Icu)-fU3>bG9F(8UlKX0Vlh?Y%=n_*Z*abS{YSZ#7WU7 z%z(rNn{2?r1`QH8=5V5Jr4g^*M^ zrm6{}r~5wE_IuB;*jL3jlRQO+)OmtP=5^1?wf@fiqK^uC5>#C4V~8lk6kn)ZtR!Sra7TO@2dhGrT8CF; zjaY_W1g$|wu8a{du==l=^wyll(vPC+1EP4`x*g^jgtQ(%TF2;BN;Tf>XE5E5 zbv(T#-f=!I@Tn1M{r&m%`fiPJYl?twwV(n`1Tfq;n@oOeRSqIr`hw&J_z6+a=H zItVQ{ws@!Q>-=HCz*2bHG@EZ`xH1>quu+1{o*F15AZdm-7f)6bR-L%YP06q^ykRd!vEOqZ$21a)_9rnRr$^sSaTR$-Zbd#WYib$w{K0C zF~7B&FM;0HgDD1)Q(?p*SVpiWEqh|O#U(hES@f90&Ut=9{rtHN3G|eH_h7Zqh}+~ux&TyedoL=n=iO%5QoHe zHGw-2{Ln}5JwK*aTYJx4!pj* znKuw+S~WNmy`N{ALeVeAQqEAWk%9pcz6f~vZ&C_!XO@91mDkVgeX>(dyv_feG=YxX zpCgpNdqVKfk@a!&m!D0&IbK$OvCFk`**wFr zlDHBjs2RT5)dT(*Te*~)&&po7=A!466r9>#=Q-Y7(SHD`Tem!V7e{sRB_tlgV!GK+ zR`x9`wXWKY2FP<7?tDN=f_?9 z8h@TZENUNJ(u?u+^c+rl-?og=@oH~D1cm%o>)wr9tG*lp*DbP>Rj+mkbxTk#UpdgP zT7Z$D6n{Jsm7UzVjA00!_Sno{x95;IoYMDS@7J5RENyENVbkXEMj;zM`PBPucZNw)WN#X;sk6g>FRoa#R zhpG1rODkX7zO$d1Nha0FIK~*G-qENr_8$A*DH{8XCKj-aJ%~uKBdGVD7`rlR#1?TU z7GeZD*Z?OsVi1WMK}9i&C0J0gBI-PAzh9pBIQYiF7g%fYzpnEQ1_t z@H90fcTjE9I5z*U#sB&>;J+1p;DKkxa+0TGLogfQysV|?J4q^oq7rpb=u}{-So@bO zUJtfC+auYlNJ^M;u|ptSi2m;m)2XCWYez}jAoz6&@$WObGIa@JEsF5kyp5WR6W{ki z_@~8=Ik!pp-nuia+=pk8He*ECR|+^T`Z07}M;|Puyb%7hfTMb$fC1v!Z`3>f=<0y1 zF7v9Fb=%XW_+Mm3npmJw)WMO?#_KHslYvY}{*G%w;N%wA8Cu&6)0Upsf4>sbXe)WU zC-og^$9qL+Rc;=ZCJ z(T!qGHsR%RNhQTs-|d8{M_kP_mA7guZuiFxY|46lbi5DkN{QzrECc?+fa{J%0j#Ks zzJovJ@68F4gE$)rhg8T4qm}C}0Q+kpVQJd@>f;;e$i}n{*{+`7L@A$VZJe_Rw_7t6#O7G<5+yb^pY`yf;%?==blw%{2 z^Zk$Y|C7SjI}bWb@-|p|pCGg~ql6P_kA6RAZJZxV zDZlE1+0CTzl#$;G^m8f#*j~N*&D8q&PV35VS1i((^<5MlFB?1(7=oQcr&>UkP!qx$ z_~D_`QL^!aP5iH0vrlLJz__o5oap{Y?LQEU1duY%x#3dWn66Cw%eC;s{zOYlBY*W! z>)%gsh;%4goi3R(;y;&9uCL(+?i_}9HAqnI3Mno^5n+F4Hpm#vy|De#yoEmCKoA`z zPk0OMAl)ySdn{E30u2*wiw~s3{S3ZlkkF*u7&2(uGH5=-@5+~WI>}Nh@?NBD@$&QE z7x%fBVidQN^dFZbSeIjHa6>SVe7EnTlcC?WUmlM{uY1KP)T zv1VF6c8QxqVI{dVo$4Xe%B)K2w60BAtHJmhLOu^Qd-~dB%$OIM=uomvrx$Q945;jI zABUK>o;v)sEgLLv`Ea3>d&1Bg*YBIQcUYRNRer;{W=wf9smwM?P~!n7W5=Th%O-djZ?Vy6In1<9)#NTd z>M#;j*yf)1fl3JJ`QQ+o9Y|U^zVT>z{}5PJsKuo9nfZ6?%(dy<;UX`z>uonU^wK>T z!Oy?wNyzQR)XB}Bc+a}*fv*wUV$JLv;;Gx(2bWi`LMq2ivmy)bL*C$CpZiyAmZux(iLg1N1TL&x6(&d??yW-{+Sv$I#R!gKqwe~j6$w3vd^-N|2|_GM9x>z8p*%9 zHT>-(j)y>sN4n<^D@dW@Xc0JZ*bXzgM=GCAc5u^%x_-E7xMhS{iLMGJUzyxxvXtO% z3m7FpjNzLZ6)@!@n#xV&b^my|_pFa_%SBGSy?d z#@nrfc>1p!ac|y-`;@=uZ@)6h{^Tj6UqZzA4Sk{Xk1@WqSAkGBV^6TQqSuk3>Gd_B zU*_HWZjV1Hc)mIJFdAU-mPb&oXs~*wBGtyT)RfuuL@{iU9jG=@QY{9ej4|v$WoUdC zD=IPmjX6H0Wfi?Qy?u-Y#MQE+qppxXs52Bfh9*&?`~@RL*$*F{Vw>OO;)ms1X6@wM zH4BBNx$tl9__bTG`cSnQQLL3xT!p1a%>(27vg*;CTVqCV#`gz*N)5V@-?E_|Wh$;Z ztEhx@bP_Z;4Bn+POc+KDl@%zY;$d82HWwV*v3kYeaP5X5-6)K5>Xcv=vYh<*{Uzj# zARc7{JBEDpLfY8mjdd!|9RRVQoi^AO3U^jCHm7OqZ9XKn-??UDvQ^&5!>vAkF#1cS zaP%X8axYDiK9h7wQt?_Gh*pEAZ5#SCmPi|7%{$OJsSMV~{gsg6jUd*Gupu{2$*!kj zM0~Zs$i>yupOJ7V)48NHYjb^n?bC7ki=~P`xW7$^AAoy7(=gdF&r0ds$-Ri&Jv6Mr zk96T_XjAjYsZink#k%=b$OQhjdQJ;VZmC2f`8+e{xh3yR|3_B5{00^^%+JgqH7^n# z)#jT&B6`;(V`>A#oI{Pu#KOjzhO%#d)r$$I_!)Od^I}tARw#|u(5VO70rBQ$9<5=I z{H8tBnt@_2Bbheji#YH*{_;?8cP<~is+X#wO=~PEkNW6pG{fFElvS1t%L3i{F3 z&>icYJXHm#+Ap1^;tD(Ek7;-*DM}5^vMA^2Nkr@8(|*=R>dkbN#C~vN1yT9#9%Ib< zl6O6BuB;>}q^GcNe(WbhmeeEaWWu?uPH6>ODEG2_zUJf-6#VxYGna9h?s@eZcwxQU z|Ouy8_ubhFkAJSo91G zbM-|McZk$}Pc&`FuhsGf(q1ZzaE_|B;ZmEElbhxEGRHon;%<5X+4nz7X4DnA*$ldm z-1D)x&M2WFY};+GJn@sinpVe}bmDZY_mH*!8-3|(ZI2q{HMn*KY0A^kZYn+P?ikip zDP3;nlvUoDLp48PXql?b@t))a?B53=a-Oci*~ubQ`4I&bX{&uIE1#EtQogaK^oi6d zi58}`<15wH(#D;WF@|M3Cs}Zq&BrE}aY_8fi!@U9>>T;h_a(DIC5Rgh;k0lpvt!*u za!p;Ur&EVS!;7)2FT4 z@A)*XNA32r?0!T-;*1dG+lVfMzmc~Km%e&_me?NAzh4t%ug=2^8y z)Y*jixb3ywWmwWQ0u~CM*(zrA>e!vT%7|>XO={pE3V$GtP0&#uF+f#H*04*Vw6th2 zPhz7v2y1as7+E=MIa*61J9q?nv5hlJO4#cDACC?rPR|9A0NK)yxnRhCvc`hC9b7JG z{RA3{b#aId2eS}CAgUa6$fd2&`F7CxH(H-DF8ME3W;RSwTKU`OF61U2MAcB+BFZ#nn;RoI-!Ru7D*~?VH6}<>K6mFF zhgp0K>Kj?$j)1@kPlIEx!yzq0x0_N`0U_)9 z{huU3qm^72=79s!2|UY@E%fJUqPT28%;?Dmp$$&Gx58;FymKwv^x)|YF_WC1HbD$h zA1;<^U-9pXQPSaq6zO~^VmMUPdLcJF|1_Kaw@bIZpmNS|%a+)-#fn$xjz0$ud((GZ6w>Kh z8$@j3T0Z-_Pq5OmH5WolwS|$I>-V%ConNY#H>cimfh?zL0N?wqD}=FCow>bq2hSh6 zUW5PzBLG8-xa|jjHtv-{N4fSXR;Ua#0h~ix8jyq09DALny||$P4i#~<1B=?r8HQ#W zkGDnK(Z;t=smPUlE|EqDE5QaWTT>d`dT?ytydo=)+yQ2Vc{5(}Y3_$;T#d&s?}wzk zRn19)r(3p)8o}j+rc#8Yc@IWLlu0&T#uqv#`R}w|h1u9fJ+d(x_6YK~ZC+@cN)n;s zolnS<`!^e$i=v#9V%#r5y(%oX?U~m^!%25C$EFjZ(qG%1if^wbjOg_&Unt)397P-{ zaBi~-+iMQi!sEJjC6=5ocV?X72de>sqoEKS#0t3Zt|umXu3MS_p*K?(TvmTn{H*O9 z!*E_MOuZg}2ySH`I`z8_y&n^r(JWve{Ob&Y0n>r4Rkbh_FiHZftyZ{#O-C*|MjZ1` zid1=HU}tvX(@n9BP5sk4tybqS96xuTI&hu&qpiWya?oE99?2R(-!N%}vAvTX(%s0D zIZ0)E8|ND1N&+Tbk^enV{LAyd38ZJPPD{q(JQ0t{e(pLKT|Xq%3PY{!_Y$H!CDQt$ z&dTSwh}m*_rkT|FH<8|XPSbJPrXif?lUkvEb6M#y;dCH3Yw6VQTz88N_c$U_*#yRd`n3mmE%X~*AM>q!>Wd^!+j?F)dG1=59| zj5K}NHE_5CF>!Bo{LTHBa%y!TQh4iqhnPC|0%=z(P$Bb2N3C1e2laP#UlKtcaAXF- zw$<=k1|}`p){j3>XyP#62lm(AkjWr8F>BGv$|?ZyvKQ!*iBP8{4;;`$q$^UKbu$JPr5r;7>U`E%62> z<{oZVYua*NWsvVQcx6_g4Mxfm)_hX_H7i+Gaov{!j`3dZ=N1ankMPle z>galO;p9+l$@=rg31AB9SCNfZ^yv17Q2rIoC{6YSVj&hu>E|1rUk1!^H@?+7p*H?Az6Z0$`%m6?uqI|Z;~u<_6;ad%akezd>R&TI zezw_Vy)F?>?&kRsSd95uKD}Jg#?zPDJbc7J#_qU4>FEPY+mD1JsNWdz|Ng`|_D-8Y zOh27XD=wa?9S+eq_0CRwrElhRO$Q|hgXwC$cl2lz4~3d`?SL^F!2CWILGYh)BzD|OCzGoY6~^s6_mD!xPZErGM0A0g zM&UIZb*!$d++NvQV_F%6Ki@PmnULHAJE3lGUR~a|Ope1V%p1gYUdHCO9p=PNm`@SN zku`Jgx;q+;D=sF=p33p99``B&vt;k3-L=U7;JxXa*wDN%=ChI-joN0w z4$tX(d>9jc0PpgfJwIxh;usmtu_DW-08P*6A~Kd#%kw5tnyU}jAmjWP_zrPkZcY7P z`+dMc@D3&A+ZDhWs@e_oFbx4rlFvZ9(eoZLv++b|bL5Kpu@@j71ApDu?*kEWpdZM( z#P(|XTRi~GPN~bpoKM6lmZUUp1#?F#B@2^4T|k#B5PH$==}tK|uUxw{w}WVvojZ4W zcm5O)#JO-Y4Ht*_l7jHc-IYIkmZpl?0n*P!#{mG-MO3uR{FEE&wDOpsk5somq|H& zn>b1?Bm9{p znvniO7j)d$@7YXUts@fVa+FFgm70~mVqHU;eR)D5>1c2lwQqrHE{Ghh0Q2?j&sa!} zz$ie`HE*%Y?p+ju%hE)qJ#Wq$dybYYFybLve^cI-*gS;}gym<21g)T;IQ?&ef z(qWz*RJO6qlDvn6d}~V(Jj)y#=L6q##q-62~ljnhE-mIt-+T!Ap519kg}`cQr`{3%wN2m-a*M_!{WU(3wqSc zjLTRIZ#Eh8$Ed!R*DCMzTnxq?-W67mZMzxLNz*9JwVWWFTg}5JI8xyHB~e zDDG}~SeWIlrtpJ!{c*8M{_aVc11(Fxr$6}KCS)@9$h2Ur-tG0+6MVcjy?&dePOQ@U zoP+);yY(PuA?3MHR)aL>(KBYDUF+kogq@fPq89*H!Y+r=kZQ(t~Piqf~Hn+z#8aLi>@WTUX>>%Gro|Ezh{*?^OeLEB=ZHZtMY)h`wf6d2cE0u% z-sabAu4#fnf#hl)#Cxl@)mPi3jD=Ne0W;&4ZcRn{zQy!Tr`Pj!?IgKG=5EA4rwpY!#%U-3ry22;eqDejYoyAc>GlY_w`Ju zRhx@Na39FS0J&h4%~3F})MAb9xTfdf&dc)B+W}AP72ITGmkqRadIuTLa~#y-l)ETB zEf{amU_2XV{erP61Uhzh?8@y|PwyA>dL4L=DVX=YNcsEBbHFB_h_Ub(iPd2QvW6?Q_& zo2&d<64hR)dlf#}eUCGpU>dSW9AVeoeU4kLttwoCbxU=7+nc&}!fe@4pNeOD=`#Z< zGZ;hCYUWq!!oe{RJZ@Rsf^EAFtU<{GXhU%*dXm5NalO4lM!{W}IUtgRBRh5EO*W%_ zjW}OM4iL@*v6aHWLOEjfAg$I$`PCjZ#iD)P{IsfZ+9$ZR+ay}9@oRHim6C!m%q$6( zL!TZ?4Vr%m?*0V8qHM_e>Hf{Zrsc$Tr8Y*-?6d~CFN;IPf2~o5K`INB)t+qTOu~_Q z4`6-knx;Hq{4WDpmESKi!pE9L&O{&-UK(=>JGM{zntW^hK}M5x14=>q*CmQJ`2CX; zAA{0_lrk{kG%_(sb&E5y5*Z1<`=Hw9b)!7&|)0@}e@_F?& zFo{RJJ9%gmdCa-B0*hSV2j$mG)?}lh0VIAz)AQaLhH+b4b(QTidthQ(z(Me3y_HvWZmLL z6R`H&Er2s1$>}uY!Q^UfDyjuo6{UJ|o2cKDv9t|*YK7IwjK=Kg%$s4n7bb&JnCy#x znrMZVUvdc~59AjA1DfJil!G;6WUp5Yx=lN{?PA*wjB9Z}?Xs>Pc`)9_zb5~EraEC` z(`@CmgwaL^I&^I<5{DYccHA_*2y0u90#z1%6|Nv&OG(XK0p|!x=r_+^UJ|5fAQ_LV zA@e?kQ07~pP9AQ!1^vol14z8%J+94qSOw4vXX+#d+_DQislU&>6P$Km_F4Y>%vT<8 zhY4QyteOO?kf?pWpHT&0len;<@qXxyMxAGJ8|j)J72#i+OVEDI+^&y{nr>t~Xt_q- z0u=oP_sb$KfuV&q7_`p#rt7mU8S$(_`WXh;57Aikm0I(`d=qN(w5C@numT?g=5Ef| zCu@%AIOT^KKk1UCs6ic5_|R7xc%;iMzrd11E*mKV5d4

SOFptN2mw+5Fz_Wlr{r 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


dt0fDLu8ZJ^ey{@*{F7zy$PRKaT_l! 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 SP +SP --> S +S --> I +I --> R +R --> RET +RET --> SP : следующий спринт +R --> M : спрос подтверждён +@enduml diff --git a/pptx/content/assets/title-bg.jpeg b/pptx/content/assets/title-bg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f89fd0dabca45f4a0dd0f2ce89e8a08f1248b0a0 GIT binary patch literal 191589 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 literal 0 HcmV?d00001 diff --git a/pptx/content/slides/00-title.md b/pptx/content/slides/00-title.md new file mode 100644 index 0000000..f7be6c0 --- /dev/null +++ b/pptx/content/slides/00-title.md @@ -0,0 +1,13 @@ +# Современные проектные технологии + +## Метод выведения нового товара на рынок: Agile / Scrum + +Степанов П.А., группа 6403-020302D + +Слушатель программы профессиональной переподготовки «Современные проектные технологии» + +ИОТ-трек «ДОП 11» + +::: notes +Добрый день, уважаемые члены итоговой аттестационной комиссии. Меня зовут Степанов П.А., я слушатель программы профессиональной переподготовки «Современные проектные технологии», ИОТ-трек «ДОП 11», группа 6403-020302D. Разрешите представить решение итогового задания по теме «Современные проектные технологии» — метод выведения нового товара на рынок. +::: diff --git a/pptx/content/slides/01-agenda.md b/pptx/content/slides/01-agenda.md new file mode 100644 index 0000000..a968cd7 --- /dev/null +++ b/pptx/content/slides/01-agenda.md @@ -0,0 +1,12 @@ +# План доклада + +- ==Метод== выведения нового товара: Agile / Scrum +- Почему выбран именно Scrum +- Роли, артефакты и события методологии +- Как спринты проверяют спрос на рынке +- Применение в ==десяти сферах== деятельности +- Выводы и практический результат + +::: notes +Структура доклада. Сначала я обосную выбор метода — Agile и Scrum. Затем покажу, как устроена методология: роли, артефакты и события. Отдельно объясню, как спринты позволяют проверять спрос на рынке. После этого докажу универсальность метода на десяти сферах деятельности: от производства до банковских услуг. В завершение приведу выводы и практический результат. +::: diff --git a/pptx/content/slides/01-task.md b/pptx/content/slides/01-task.md new file mode 100644 index 0000000..f3fd8b6 --- /dev/null +++ b/pptx/content/slides/01-task.md @@ -0,0 +1,19 @@ +# Постановка задачи + +- Выбрать метод выведения нового товара на рынок +- Обосновать его применимость в ==десяти сферах== деятельности +- Показать, как метод работает в каждой сфере + +::: metrics +70% | новых товаров уходят с рынка +10 | сфер применения метода +4 | недели — максимальная длина спринта +::: + +::: callout "Проблема и решение" +Запуск новинки — это **высокий риск**. Нужен управляемый и повторяемый процесс вывода товара — таким процессом является **Agile / Scrum**. +::: + +::: notes +Задача итогового задания — выбрать метод выведения нового товара на рынок и обосновать его в десяти сферах: от производства до банковских услуг. Запуск новинки всегда сопряжён с риском: до семи из десяти новых товаров не выживают на рынке. Поэтому нужен управляемый и повторяемый процесс, и в качестве такого метода я выбрал Agile и его самую популярную методологию — Scrum. +::: diff --git a/pptx/content/slides/02-why-scrum.md b/pptx/content/slides/02-why-scrum.md new file mode 100644 index 0000000..d68e907 --- /dev/null +++ b/pptx/content/slides/02-why-scrum.md @@ -0,0 +1,18 @@ +# Почему выбран Agile / Scrum + +- Agile — гибкий подход к управлению проектами, закреплён в ==манифесте 2001 года== +- Scrum — самая распространённая Agile-методология в мире +- Работа идёт короткими итерациями — *спринтами* от одной до четырёх недель +- Каждый спринт даёт готовый прирост продукта — ==инкремент== +- Обратная связь с рынком собирается на каждом шаге, а не в конце проекта + +::: chart doughnut "Новинки, которые не выживают на рынке" +| Итог | Доля, % | +|---|---| +| Успешные новинки | 30 | +| Уходят с рынка | 70 | +::: + +::: notes +Почему именно Agile и Scrum. Agile — это гибкий подход к управлению проектами, закреплённый в манифесте 2001 года. Scrum — самая распространённая Agile-методология. Работа разбивается на короткие спринты длиной от одной до четырёх недель. Каждый спринт завершается готовым приростом продукта. Благодаря этому обратная связь с рынком собирается постоянно, а не только в конце. Именно поэтому гибкий подход снижает риск: как показывают оценки, до семи из десяти новинок не выживают при традиционном запуске. +::: diff --git a/pptx/content/slides/03-roles.md b/pptx/content/slides/03-roles.md new file mode 100644 index 0000000..cd9ddcc --- /dev/null +++ b/pptx/content/slides/03-roles.md @@ -0,0 +1,21 @@ +# Scrum: роли и артефакты + +- **Product Owner** — отвечает за ценность товара и ведёт Product Backlog +- **Scrum Master** — убирает препятствия и следит за соблюдением процесса +- **Команда разработки** — от пяти до девяти специалистов, создающих продукт + +::: table +| Артефакт Scrum | Назначение | +|---|---| +| Product Backlog | все требования к новому товару | +| Sprint Backlog | план работ текущего спринта | +| Increment | готовый к показу прирост продукта | +::: + +::: callout "Прозрачность" +Все артефакты видны команде и заказчику, а критерии готовности зафиксированы в ==Definition of Done==. +::: + +::: notes +В Scrum три роли. Product Owner отвечает за ценность товара и ведёт Product Backlog — список всех требований. Scrum Master убирает препятствия и следит за соблюдением процесса. Команда разработки из пяти–девяти специалистов создаёт продукт. Три артефакта: Product Backlog со всеми требованиями, Sprint Backlog с планом текущего спринта и Increment — готовый прирост продукта. Единое понимание готовности фиксируется в критериях Definition of Done. +::: diff --git a/pptx/content/slides/04-events.md b/pptx/content/slides/04-events.md new file mode 100644 index 0000000..66d0ee6 --- /dev/null +++ b/pptx/content/slides/04-events.md @@ -0,0 +1,18 @@ +# Scrum: события спринта + +::: flow +Sprint Planning -> Спринт -> Sprint Review -> Ретроспектива +::: + +- **Sprint Planning** — планируем, что войдёт в спринт +- **Daily Scrum** — пятнадцать минут на синхронизацию команды +- **Sprint Review** — показываем прирост заказчику и рынку +- **Sprint Retrospective** — улучшаем процесс работы команды + +::: callout "Результат спринта" +Каждый спринт заканчивается рабочим ==инкрементом== — кандидатом на рынок. +::: + +::: notes +Спринт состоит из четырёх событий. На Sprint Planning команда решает, что войдёт в спринт. Daily Scrum — пятнадцатиминутная синхронизация каждый день. На Sprint Review прирост показывают заказчику и рынку. На Sprint Retrospective команда улучшает свой процесс. Каждый спринт заканчивается рабочим инкрементом, который можно показать рынку. Далее цикл повторяется: планирование, спринт, демонстрация, ретроспектива. +::: diff --git a/pptx/content/slides/05-launch.md b/pptx/content/slides/05-launch.md new file mode 100644 index 0000000..11ee86a --- /dev/null +++ b/pptx/content/slides/05-launch.md @@ -0,0 +1,18 @@ +# Как Scrum выводит товар на рынок + +::: flow +Спринт 0: исследование -> MVP -> Пилот и метрики -> Масштабирование +::: + +- **Спринт 0** — исследование рынка, выбор сегмента, формирование Product Backlog +- **Спринты 1–2** — создание MVP: минимальной версии товара для первых клиентов +- **Спринты 3–4** — пилот на ограниченной аудитории и сбор метрик +- **Спринт 5 и далее** — доработка по обратной связи и масштабирование + +::: callout "Итог" +Рынок проверяется ==дешёвым инкрементом==, а не дорогим запуском «с нуля». +::: + +::: notes +Как Scrum выводит товар на рынок. Спринт ноль — исследование рынка и формирование списка требований. Спринты один и два — создание минимального продукта для первых клиентов. Спринты три и четыре — пилот на ограниченной аудитории и сбор метрик. Дальше — доработка по обратной связи и масштабирование. Демонстрация реальным клиентам позволяет проверить спрос до крупных вложений. Итог: рынок проверяется дешёвым инкрементом, а не дорогим запуском с нуля. +::: diff --git a/pptx/content/slides/06-spheres.md b/pptx/content/slides/06-spheres.md new file mode 100644 index 0000000..e34fee5 --- /dev/null +++ b/pptx/content/slides/06-spheres.md @@ -0,0 +1,7 @@ +# Agile / Scrum в десяти сферах деятельности + +Обоснование универсальности выбранного метода + +::: notes +Теперь покажу, что метод Agile и Scrum применим не только в IT, но и в десяти различных сферах деятельности. +::: diff --git a/pptx/content/slides/07a-spheres-1-2.md b/pptx/content/slides/07a-spheres-1-2.md new file mode 100644 index 0000000..56b58d2 --- /dev/null +++ b/pptx/content/slides/07a-spheres-1-2.md @@ -0,0 +1,21 @@ +# Сферы 1–2: производство и связь + +::: callout "1. Производство — новая линейка упаковки" +- Новый товар: линейка упаковки для розницы. +- Пилотный спринт: пробная партия на ==одной линии==. +- Метрика Sprint Review: себестоимость, доля брака, скорость переналадки. +- Решение: масштабирование на остальные линии по подтверждённому спросу. +- Особенность: переналадка одной линии дешевле полного перезапуска. +::: + +::: callout "2. Связь — тариф «Умный дом»" +- Новый товар: тариф «Умный дом» для абонентов. +- Пилотный спринт: подключение ==100 абонентов==. +- Метрика Sprint Review: число подключений, средний чек, отток. +- Решение: доработка состава услуг и вывод тарифа на массовый рынок. +- Особенность: пилот ограничен абонентской базой и не грозит массовым оттоком. +::: + +::: notes +Первые две сферы. В производстве новая линейка упаковки запускается пробной партией на одной линии: замеряют себестоимость, долю брака и скорость переналадки. По результатам Sprint Review производство масштабируется на остальные линии. В связи тариф «Умный дом» тестируется на ста абонентах: анализируют подключения, средний чек и отток, после чего состав услуг уточняется и тариф выводится на массовый рынок. Общая логика: ограниченный пилот, замер метрики, затем масштабирование. +::: diff --git a/pptx/content/slides/07b-spheres-3-4.md b/pptx/content/slides/07b-spheres-3-4.md new file mode 100644 index 0000000..060080a --- /dev/null +++ b/pptx/content/slides/07b-spheres-3-4.md @@ -0,0 +1,21 @@ +# Сферы 3–4: транспорт и строительство + +::: callout "3. Транспорт — каршеринг мини-фургонов" +- Новый товар: сервис каршеринга мини-фургонов. +- Пилотный спринт: ==пять машин== в одном районе. +- Метрика Sprint Review: загрузка, среднее время аренды, спрос. +- Решение: расширение автопарка и запуск в новых районах. +- Особенность: экономика сервиса проверяется до закупки техники. +::: + +::: callout "4. Строительство — модульные дома" +- Новый товар: модульные дома для застройки. +- Пилотный спринт: возведение ==одного пилотного модуля== и показ заказчикам. +- Метрика Sprint Review: затраты на монтаж, сроки, замечания. +- Решение: серийный модуль с учётом правок и тиражирование. +- Особенность: типовой проект снижает стоимость серии. +::: + +::: notes +Транспорт и строительство. В транспорте сервис каршеринга мини-фургонов стартует с пяти машин в одном районе: оценивают загрузку, среднее время аренды и спрос. Если экономика подтверждается, автопарк расширяется. В строительстве сначала возводится один пилотный модульный дом и показывается заказчикам: фиксируют затраты, сроки и замечания, после чего серийный модуль тиражируется. Итеративная проверка снижает риск ошибок в типовом проекте. +::: diff --git a/pptx/content/slides/07c-spheres-5-6.md b/pptx/content/slides/07c-spheres-5-6.md new file mode 100644 index 0000000..d076692 --- /dev/null +++ b/pptx/content/slides/07c-spheres-5-6.md @@ -0,0 +1,21 @@ +# Сферы 5–6: коммерция и юридические услуги + +::: callout "5. Коммерция — подписка на наборы продуктов" +- Новый товар: подписка на наборы продуктов. +- Пилотный спринт: бокс-пилот на ==50 клиентах==. +- Метрика Sprint Review: конверсия, средний чек, удержание. +- Решение: доработка ассортимента и условий подписки. +- Особенность: состав набора гибко меняется по спросу. +::: + +::: callout "6. Юридические услуги — пакет «юрфирма на аутсорсе»" +- Новый товар: пакет «юрфирма на аутсорсе». +- Пилотный спринт: пробный месяц для ==5 клиентов==. +- Метрика Sprint Review: востребованность, трудозатраты, повторные обращения. +- Решение: тарифы и состав пакета формируются по отзывам. +- Особенность: расширение штата юристов только после подтверждения спроса. +::: + +::: notes +Коммерция и юридические услуги. В коммерции подписка на продуктовые наборы запускается бокс-пилотом на пятидесяти клиентах: измеряют конверсию, средний чек и удержание, после чего уточняют ассортимент и условия. В юридических услугах пакет «юрфирма на аутсорсе» предлагается пяти клиентам на пробный месяц: оценивают востребованность и трудозатраты. Пилот позволяет выстроить услугу под реальные ожидания клиентов, не вкладываясь сразу в расширение штата. +::: diff --git a/pptx/content/slides/07d-spheres-7-8.md b/pptx/content/slides/07d-spheres-7-8.md new file mode 100644 index 0000000..d498e7f --- /dev/null +++ b/pptx/content/slides/07d-spheres-7-8.md @@ -0,0 +1,21 @@ +# Сферы 7–8: организация праздников и бытовые услуги + +::: callout "7. Организация праздников — онлайн-конструктор мероприятий" +- Новый товар: онлайн-конструктор мероприятий. +- Пилотный спринт: ==один сценарий== на пробной группе. +- Метрика Sprint Review: вовлечённость, повторные заказы, средняя стоимость. +- Решение: каталог успешных сценариев и автоматизация заказов. +- Особенность: непопулярные сценарии не масштабируются и не продвигаются. +::: + +::: callout "8. Бытовые услуги — подписка на уборку" +- Новый товар: подписка на уборку. +- Пилотный спринт: ==20 подписчиков== в одном районе. +- Метрика Sprint Review: удержание, число заказов, загрузка исполнителей. +- Решение: стандарты качества и масштабирование на другие районы. +- Особенность: логистика и качество отрабатываются в пилоте. +::: + +::: notes +Организация праздников и бытовые услуги. Онлайн-конструктор мероприятий тестируется на одной пробной группе: смотрят вовлечённость, повторные заказы и среднюю стоимость. Успешный сценарий становится основой каталога. Подписка на уборку стартует с двадцати подписчиков в одном районе: измеряют удержание, число заказов и загрузку исполнителей, после чего налаживают логистику и стандарты качества и выходят на другие районы. +::: diff --git a/pptx/content/slides/07e-spheres-9-10.md b/pptx/content/slides/07e-spheres-9-10.md new file mode 100644 index 0000000..9d9c9c2 --- /dev/null +++ b/pptx/content/slides/07e-spheres-9-10.md @@ -0,0 +1,21 @@ +# Сферы 9–10: IT-услуги и банки + +::: callout "9. IT-услуги — модуль SaaS-платформы" +- Новый товар: новый модуль SaaS-платформы. +- Пилотный спринт: ==бета на 10 клиентов==. +- Метрика Sprint Review: использование, частота ошибок, NPS. +- Решение: состав следующего релиза по обратной связи. +- Особенность: регулярные релизы — естественный режим гибкой разработки. +::: + +::: callout "10. Банковские услуги — вклад «Цель»" +- Новый товар: вклад «Цель» в мобильном приложении. +- Пилотный спринт: тест на ==ограниченной группе пользователей==. +- Метрика Sprint Review: доля открытий, средний срок, удержание. +- Решение: полное внедрение после согласования с подразделениями банка. +- Особенность: пилот проводится в контролируемых регулируемых условиях. +::: + +::: notes +Последние две сферы. В IT новый модуль SaaS-платформы выходит в бету на десять клиентов: измеряют использование, частоту ошибок и NPS, а обратная связь определяет состав следующего релиза — это естественный режим гибкой разработки. В банковских услугах вклад «Цель» тестируется на ограниченной группе пользователей приложения: оценивают долю открытий, срок и удержание. Даже в регулируемой сфере пилот в контролируемых условиях позволяет безопасно проверить спрос до полного внедрения. +::: diff --git a/pptx/content/slides/10-conclusion.md b/pptx/content/slides/10-conclusion.md new file mode 100644 index 0000000..a052590 --- /dev/null +++ b/pptx/content/slides/10-conclusion.md @@ -0,0 +1,17 @@ +# Выводы + +- Agile/Scrum — ==универсальный метод== выведения товара на рынок +- Спринты заменяют один дорогой запуск серией дешёвых проверок +- Роли, артефакты и события делают процесс прозрачным и управляемым +- Метод работает везде, где есть клиент и обратная связь — от производства до банков +- Результат — снижение риска и стоимости ошибки при запуске новинки + +::: metrics +10 | сфер применения +30% | новинок выживают +4 | недели — длина спринта +::: + +::: notes +Таким образом, Agile и Scrum — универсальный метод выведения товара на рынок. Спринты заменяют один дорогой запуск серией дешёвых проверок. Роли, артефакты и события делают процесс прозрачным и управляемым. Метод работает везде, где есть клиент и обратная связь: от производства до банковских услуг. Результат — снижение риска и стоимости ошибки при запуске новинки. +::: diff --git a/pptx/content/slides/11-final.md b/pptx/content/slides/11-final.md new file mode 100644 index 0000000..561018e --- /dev/null +++ b/pptx/content/slides/11-final.md @@ -0,0 +1,9 @@ +# Спасибо за внимание + +Степанов П.А., группа 6403-020302D + +Слушатель программы профессиональной переподготовки «Современные проектные технологии», ИОТ-трек «ДОП 11» + +::: notes +На этом мой доклад закончен, спасибо за внимание. Готов ответить на ваши вопросы. +::: diff --git a/pptx/content/slides/12-scrum-cycle.md b/pptx/content/slides/12-scrum-cycle.md new file mode 100644 index 0000000..394dfd5 --- /dev/null +++ b/pptx/content/slides/12-scrum-cycle.md @@ -0,0 +1,17 @@ +# Жизненный цикл Scrum + +::: image assets/scrum-cycle.puml side=left +Цикл Scrum: от Product Backlog до масштабирования товара +::: + +::: callout "Как замкнут цикл" side=right +- Product Backlog фиксирует требования к товару. +- Спринт длится 1–4 недели и завершается готовым ==инкрементом==. +- Sprint Review показывает инкремент рынку, ретроспектива улучшает процесс. +- Подтверждённый спрос ведёт к масштабированию, иначе цикл повторяется. +- Каждый виток спирали снижает неопределённость и стоимость ошибки. +::: + +::: notes +На этой схеме слева показан цикл Scrum. Из Product Backlog формируется план спринта. Спринт длится от одной до четырёх недель и завершается инкрементом — готовым пробным продуктом. На Sprint Review рынок даёт обратную связь, после чего команда проводит ретроспективу. Если спрос подтверждён, товар масштабируется; если нет — цикл повторяется с уточнёнными требованиями. Каждый виток снижает неопределённость. +::: diff --git a/pptx/package-lock.json b/pptx/package-lock.json new file mode 100644 index 0000000..e101935 --- /dev/null +++ b/pptx/package-lock.json @@ -0,0 +1,203 @@ +{ + "name": "lab-gen-pptx", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "lab-gen-pptx", + "version": "1.0.0", + "dependencies": { + "js-yaml": "^4.1.0", + "pptxgenjs": "^3.12.0" + }, + "bin": { + "lab-gen-pptx": "src/cli.js" + } + }, + "node_modules/@types/node": { + "version": "18.19.130", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz", + "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", + "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==", + "license": "ISC" + }, + "node_modules/image-size": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "license": "MIT", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jszip": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.2.tgz", + "integrity": "sha512-3l+rb15IOWtUhU0H5MFqES/T6Kh7abYwjosBey/vD6hDt8zoEffkSC5Ws5SGtgVw3gBx2NEbhTeSW1+kWkpyTQ==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/pptxgenjs": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/pptxgenjs/-/pptxgenjs-3.12.0.tgz", + "integrity": "sha512-ZozkYKWb1MoPR4ucw3/aFYlHkVIJxo9czikEclcUVnS4Iw/M+r+TEwdlB3fyAWO9JY1USxJDt0Y0/r15IR/RUA==", + "license": "MIT", + "dependencies": { + "@types/node": "^18.7.3", + "https": "^1.0.0", + "image-size": "^1.0.0", + "jszip": "^3.7.1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + } + } +} diff --git a/pptx/package.json b/pptx/package.json new file mode 100644 index 0000000..9e7f179 --- /dev/null +++ b/pptx/package.json @@ -0,0 +1,19 @@ +{ + "name": "lab-gen-pptx", + "version": "1.0.0", + "private": true, + "description": "Генератор презентаций PPTX из Markdown по шаблону Самарского университета", + "bin": { + "lab-gen-pptx": "src/cli.js" + }, + "main": "src/index.js", + "scripts": { + "generate": "node src/cli.js", + "check": "node src/cli.js --check", + "init": "node src/cli.js --init" + }, + "dependencies": { + "js-yaml": "^4.1.0", + "pptxgenjs": "^3.12.0" + } +} diff --git a/pptx/src/build.js b/pptx/src/build.js new file mode 100644 index 0000000..d361ca8 --- /dev/null +++ b/pptx/src/build.js @@ -0,0 +1,105 @@ +"use strict"; + +const fs = require("fs"); +const path = require("path"); +const { loadConfig, validateConfig } = require("./config"); +const { parseSlide } = require("./parse"); +const { renderDeck } = require("./render"); +const { resolveImages, isPlantUmlSource } = require("./plantuml"); + +function resolveSlideFile(slide, config) { + if (path.isAbsolute(slide.file)) return slide.file; + return path.resolve(config.content.dir, slide.file); +} + +function resolveAssetFile(config, file) { + if (path.isAbsolute(file)) return file; + return path.resolve(config.content.dir, file); +} + +function collectIssues(config) { + const issues = [...validateConfig(config)]; + + for (const [name, file] of Object.entries(config.theme.backgrounds)) { + if (file && !fs.existsSync(file)) { + issues.push(`Не найден фон "${name}": ${file}`); + } + } + + (config.slides || []).forEach((slide, i) => { + if (!slide || !slide.file) return; + const file = resolveSlideFile(slide, config); + if (!fs.existsSync(file)) { + issues.push(`Слайд #${i + 1}: не найден файл ${file}`); + } + }); + + return issues; +} + +function checkImages(config, deck) { + const issues = []; + for (const entry of deck) { + for (const block of entry.parsed.blocks) { + if (block.kind !== "image" || !block.file) continue; + const resolved = resolveAssetFile(config, block.file); + if (!fs.existsSync(resolved)) { + const kind = isPlantUmlSource(block.file) ? "исходник PlantUML" : "изображение"; + issues.push(`Слайд #${entry.index}: не найден ${kind}: ${block.file}`); + } + } + } + return issues; +} + +function buildDeck(config) { + return config.slides.map((slide, i) => { + const file = resolveSlideFile(slide, config); + const markdown = fs.readFileSync(file, "utf8"); + return { + index: i + 1, + file, + type: slide.type || "content", + parsed: parseSlide(markdown), + }; + }); +} + +async function build(options = {}) { + const configPath = options.config || "config.yaml"; + const { config, configDir } = loadConfig(configPath); + const issues = collectIssues(config); + + let deck = null; + if (issues.length === 0) { + deck = buildDeck(config); + issues.push(...checkImages(config, deck)); + } + + if (options.check || options.dryRun) { + return { config, configDir, issues, output: null, written: false }; + } + + if (issues.length) { + const error = new Error("Конфигурация содержит ошибки:\n - " + issues.join("\n - ")); + error.issues = issues; + throw error; + } + + const renderIssues = await resolveImages(config, deck); + if (renderIssues.length) { + const error = new Error("Не удалось подготовить изображения:\n - " + renderIssues.join("\n - ")); + error.issues = renderIssues; + throw error; + } + + const pptx = renderDeck(config, deck); + const output = options.output + ? path.resolve(options.output) + : path.resolve(configDir, config.presentation.output); + await pptx.writeFile({ fileName: output }); + + return { config, configDir, issues, deck, output, written: true }; +} + +module.exports = { build, buildDeck, collectIssues, checkImages, resolveSlideFile }; diff --git a/pptx/src/cli.js b/pptx/src/cli.js new file mode 100644 index 0000000..24f968b --- /dev/null +++ b/pptx/src/cli.js @@ -0,0 +1,96 @@ +#!/usr/bin/env node +"use strict"; + +const path = require("path"); +const { build } = require("./build"); + +function parseArgs(argv) { + const options = { config: "config.yaml" }; + for (let i = 0; i < argv.length; i += 1) { + const arg = argv[i]; + switch (arg) { + case "--config": + case "-c": + options.config = argv[++i]; + break; + case "--output": + case "-o": + options.output = argv[++i]; + break; + case "--check": + options.check = true; + break; + case "--verbose": + case "-v": + options.verbose = true; + break; + case "--help": + case "-h": + options.help = true; + break; + case "--version": + options.version = true; + break; + default: + if (!arg.startsWith("-")) { + options.config = arg; + } else { + console.warn(`Неизвестный аргумент: ${arg}`); + } + } + } + return options; +} + +function printHelp() { + console.log(`lab-gen-pptx — генератор презентаций PPTX из Markdown + +Использование: + lab-gen-pptx [config.yaml] [опции] + +Опции: + -c, --config путь к config.yaml (по умолчанию config.yaml) + -o, --output переопределить имя выходного файла + --check только проверить конфигурацию и ссылки + -v, --verbose подробный вывод + -h, --help показать справку + --version показать версию +`); +} + +async function main() { + const options = parseArgs(process.argv.slice(2)); + if (options.help) return printHelp(); + if (options.version) { + const pkg = require("../package.json"); + console.log(pkg.version); + return undefined; + } + + const configPath = path.resolve(options.config); + try { + const result = await build({ config: configPath, check: options.check, output: options.output }); + const { config, issues } = result; + + if (issues.length) { + console.log("Проверка конфигурации:"); + issues.forEach((issue) => console.log(` - ${issue}`)); + } else { + console.log("Проверка конфигурации: ошибок нет."); + } + + if (options.check) { + console.log(`Слайдов в конфигурации: ${(config.slides || []).length}`); + return undefined; + } + + if (issues.length) process.exitCode = 1; + else console.log(`Готово: ${result.output}`); + } catch (error) { + console.error(error.message); + process.exitCode = 1; + } + return undefined; +} + +main(); diff --git a/pptx/src/config.js b/pptx/src/config.js new file mode 100644 index 0000000..448a3d4 --- /dev/null +++ b/pptx/src/config.js @@ -0,0 +1,195 @@ +"use strict"; + +const fs = require("fs"); +const path = require("path"); +const yaml = require("js-yaml"); + +const DEFAULTS = { + presentation: { + output: "presentation.pptx", + author: "Иванов И.И.", + track: "Название ИОТ-трека", + }, + theme: { + width: 13.333, + height: 7.5, + font: "Elektra Text Pro", + colors: { + white: "FFFFFF", + ink: "1F2933", + brand: "1B87C9", + muted: "6B7280", + accent: "0E6BA8", + tint: "EAF4FB", + line: "BFD3DD", + }, + backgrounds: { + title: "content/assets/title-bg.jpeg", + content: "content/assets/content-bg.jpg", + final: "content/assets/final-bg.jpeg", + }, + slideNumber: { + show: true, + x: 12.05, + y: 6.86, + w: 1.15, + h: 0.42, + fontSize: 12, + color: "FFFFFF", + align: "right", + }, + }, + text: { + titleSlide: { + title: { x: 6.7, y: 1.85, w: 5.95, h: 1.9, fontSize: 28, bold: false, align: "center", color: "white" }, + subtitle: { x: 6.7, y: 3.75, w: 5.95, h: 0.7, fontSize: 16, align: "center", color: "white" }, + body: { x: 6.7, y: 4.65, w: 5.95, h: 1.7, fontSize: 14, align: "center", color: "white" }, + }, + section: { + title: { x: 2.0, y: 2.85, w: 9.35, h: 1.8, fontSize: 32, bold: true, align: "center", color: "white" }, + }, + content: { + title: { x: 0.6, y: 0.06, w: 12.15, h: 0.66, fontSize: 20, bold: false, align: "center", color: "white" }, + body: { x: 0.75, y: 1.0, w: 11.85, h: 5.55, fontSize: 18, align: "left", color: "ink", valign: "top" }, + bulletSize: 18, + subBulletSize: 16, + }, + final: { + title: { x: 6.7, y: 2.85, w: 5.95, h: 1.6, fontSize: 28, bold: true, align: "center", color: "white" }, + body: { x: 6.7, y: 4.65, w: 5.95, h: 1.7, fontSize: 14, align: "center", color: "white" }, + }, + }, + table: { + fontSize: 12, + headerFill: "1B87C9", + headerColor: "FFFFFF", + cellColor: "1F2933", + borderColor: "BFD3DD", + }, + callout: { + fill: "EAF4FB", + border: "1B87C9", + titleColor: "0E6BA8", + textColor: "1F2933", + titleFontSize: 18, + fontSize: 15, + lineWidth: 1.25, + }, + metrics: { + fill: "1B87C9", + valueColor: "FFFFFF", + labelColor: "EAF4FB", + valueFontSize: 30, + labelFontSize: 13, + gap: 0.2, + height: 1.25, + }, + flow: { + fill: "EAF4FB", + border: "1B87C9", + textColor: "1F2933", + arrowColor: "1B87C9", + fontSize: 13, + height: 1.0, + gap: 0.4, + }, + chart: { + palette: ["1B87C9", "7FB2D9", "0E6BA8", "BFD3DD"], + fontSize: 12, + legend: true, + height: 3.4, + }, + plantuml: { + enabled: true, + java: "auto", + jar: "tools/plantuml.jar", + format: "png", + charset: "UTF-8", + cache: true, + cacheDir: ".plantuml-cache", + timeoutMs: 30000, + }, + content: { + dir: "content", + }, + slides: [], +}; + +function isPlainObject(value) { + return value !== null && typeof value === "object" && !Array.isArray(value); +} + +function deepMerge(base, override) { + if (!isPlainObject(base)) return override; + const out = Array.isArray(base) ? base.slice() : { ...base }; + if (!isPlainObject(override)) return out; + for (const [key, value] of Object.entries(override)) { + if (isPlainObject(value) && isPlainObject(out[key])) { + out[key] = deepMerge(out[key], value); + } else { + out[key] = value; + } + } + return out; +} + +function resolveColor(value, colors) { + if (typeof value !== "string") return value; + if (colors && Object.prototype.hasOwnProperty.call(colors, value)) return colors[value]; + return value.replace(/^#/, ""); +} + +function resolveConfigPaths(config, configDir) { + const backgrounds = config.theme.backgrounds; + for (const key of Object.keys(backgrounds)) { + const value = backgrounds[key]; + if (typeof value === "string" && value.trim() && !path.isAbsolute(value)) { + backgrounds[key] = path.resolve(configDir, value); + } + } + const plantuml = config.plantuml; + if (plantuml) { + for (const key of ["jar", "cacheDir"]) { + const value = plantuml[key]; + if (typeof value === "string" && value.trim() && !path.isAbsolute(value)) { + plantuml[key] = path.resolve(configDir, value); + } + } + } + return config; +} + +function loadConfig(configPath) { + const abs = path.resolve(configPath); + if (!fs.existsSync(abs)) { + throw new Error(`Не найден файл конфигурации: ${abs}`); + } + const configDir = path.dirname(abs); + const parsed = yaml.load(fs.readFileSync(abs, "utf8")) || {}; + const config = deepMerge(DEFAULTS, parsed); + config.content.dir = path.resolve(configDir, config.content.dir); + resolveConfigPaths(config, configDir); + return { config, configDir }; +} + +function validateConfig(config) { + const errors = []; + if (!Array.isArray(config.slides) || config.slides.length === 0) { + errors.push("Не задан список слайдов (slides) в config.yaml"); + } else { + config.slides.forEach((slide, i) => { + if (!slide || typeof slide !== "object") { + errors.push(`Слайд #${i + 1}: некорректная запись`); + return; + } + if (!slide.file) errors.push(`Слайд #${i + 1}: не указан файл (file)`); + const type = slide.type || "content"; + if (!["title", "section", "content", "final"].includes(type)) { + errors.push(`Слайд #${i + 1}: неизвестный тип "${type}"`); + } + }); + } + return errors; +} + +module.exports = { DEFAULTS, deepMerge, loadConfig, validateConfig, resolveColor }; diff --git a/pptx/src/index.js b/pptx/src/index.js new file mode 100644 index 0000000..f4bfb4a --- /dev/null +++ b/pptx/src/index.js @@ -0,0 +1,6 @@ +"use strict"; + +const { build } = require("./build"); +const { parseSlide } = require("./parse"); + +module.exports = { build, parseSlide }; diff --git a/pptx/src/parse.js b/pptx/src/parse.js new file mode 100644 index 0000000..8fb895f --- /dev/null +++ b/pptx/src/parse.js @@ -0,0 +1,230 @@ +"use strict"; + +function parseTable(lines) { + const rows = lines + .map((line) => line.trim()) + .filter((line) => line.startsWith("|")) + .map((line) => line.replace(/^\|/, "").replace(/\|$/, "").split("|").map((c) => c.trim())) + .filter((cells) => !cells.every((c) => /^:?-{2,}:?$/.test(c))); + return rows; +} + +function unquote(value) { + const trimmed = String(value || "").trim(); + const match = trimmed.match(/^"([\s\S]*)"$/); + return match ? match[1].trim() : trimmed; +} + +function parseMetrics(lines) { + const items = []; + for (const raw of lines) { + const line = raw.trim(); + if (!line) continue; + let value = ""; + let label = line; + if (line.includes("|")) { + const parts = line.split("|"); + value = parts[0]; + label = parts.slice(1).join("|"); + } else { + const match = line.match(/^(.*?)\s+[—–-]\s+(.*)$/); + if (match) { + value = match[1]; + label = match[2]; + } + } + items.push({ value: String(value).trim(), label: String(label).trim() }); + } + return items; +} + +function parseFlow(lines) { + const steps = []; + for (const raw of lines) { + const line = raw.replace(/^\s*(?:[-*]|\d+[.)])\s*/, "").trim(); + if (!line) continue; + for (const part of line.split(/->|→/)) { + const step = part.trim(); + if (step) steps.push(step); + } + } + return steps; +} + +function parseTextBlocks(lines) { + const blocks = []; + let paragraph = []; + let bullets = []; + const flushParagraph = () => { + const text = paragraph.join(" ").trim(); + if (text) blocks.push({ kind: "paragraph", text }); + paragraph = []; + }; + const flushBullets = () => { + if (bullets.length) blocks.push({ kind: "bullets", items: bullets }); + bullets = []; + }; + + for (const raw of lines) { + const line = raw.replace(/\s+$/, ""); + const bullet = line.match(/^(\s*)[-*]\s+(.*)$/); + if (bullet) { + flushParagraph(); + bullets.push({ level: Math.min(3, Math.floor(bullet[1].length / 2)), text: bullet[2].trim() }); + continue; + } + if (line.trim() === "") { + flushParagraph(); + flushBullets(); + continue; + } + flushBullets(); + paragraph.push(line.trim()); + } + + flushParagraph(); + flushBullets(); + return blocks; +} + +const CHART_TYPES = new Set(["bar", "bar3d", "line", "pie", "doughnut", "area", "radar", "scatter", "bubble"]); + +function buildChartBlock(rest, buf) { + const typeMatch = rest.match(/\b(bar3d|bar|line|pie|doughnut|area|radar|scatter|bubble)\b/i); + const titleMatch = rest.match(/"([^"]*)"/); + return { + kind: "chart", + chartType: (typeMatch ? typeMatch[1] : "bar").toLowerCase(), + title: titleMatch ? titleMatch[1] : "", + rows: parseTable(buf), + }; +} + +function parseSlide(markdown) { + const lines = String(markdown).replace(/\r\n?/g, "\n").split("\n"); + const slide = { title: null, subtitle: null, blocks: [], notes: null }; + let paragraph = []; + let bullets = []; + let i = 0; + + const flushParagraph = () => { + const text = paragraph.join(" ").trim(); + if (text) slide.blocks.push({ kind: "paragraph", text }); + paragraph = []; + }; + const flushBullets = () => { + if (bullets.length) slide.blocks.push({ kind: "bullets", items: bullets }); + bullets = []; + }; + const flushAll = () => { + flushParagraph(); + flushBullets(); + }; + + const pushDirective = (name, rest, buf) => { + switch (name) { + case "notes": + slide.notes = buf.join("\n").trim(); + return; + case "table": { + const rows = parseTable(buf); + if (rows.length) slide.blocks.push({ kind: "table", rows }); + return; + } + case "image": { + const rest2 = String(rest || "").trim(); + const fileMatch = rest2.match(/^("[^"]*"|\S+)/); + const heightMatch = rest2.match(/\b(?:h|height)=([0-9.]+)/i); + const sideMatch = rest2.match(/\bside=(left|right)\b/i); + slide.blocks.push({ + kind: "image", + file: fileMatch ? unquote(fileMatch[1]) : rest2, + height: heightMatch ? Number(heightMatch[1]) : null, + side: sideMatch ? sideMatch[1].toLowerCase() : null, + caption: buf.join(" ").trim(), + }); + return; + } + case "callout": { + const sideMatch = rest.match(/\bside=(left|right)\b/i); + const title = unquote(rest.replace(/\bside=(left|right)\b/i, "").trim()); + slide.blocks.push({ + kind: "callout", + title, + side: sideMatch ? sideMatch[1].toLowerCase() : null, + blocks: parseTextBlocks(buf), + }); + return; + } + case "metrics": + slide.blocks.push({ kind: "metrics", items: parseMetrics(buf) }); + return; + case "flow": + slide.blocks.push({ kind: "flow", steps: parseFlow(buf) }); + return; + case "chart": + slide.blocks.push(buildChartBlock(rest, buf)); + return; + default: + for (const block of parseTextBlocks(buf)) slide.blocks.push(block); + } + }; + + while (i < lines.length) { + const raw = lines[i]; + const line = raw.replace(/\s+$/, ""); + + const directive = line.match(/^:::\s*([A-Za-z]+)\b\s*(.*)$/); + if (directive) { + const name = directive[1].toLowerCase(); + const rest = directive[2] || ""; + const buf = []; + i += 1; + while (i < lines.length && !/^:::\s*$/.test(lines[i])) { + buf.push(lines[i]); + i += 1; + } + i += 1; + flushAll(); + pushDirective(name, rest, buf); + continue; + } + + if (/^#\s+/.test(line) && slide.title === null) { + flushAll(); + slide.title = line.replace(/^#\s+/, "").trim(); + i += 1; + continue; + } + + if (/^##\s+/.test(line) && slide.subtitle === null) { + flushAll(); + slide.subtitle = line.replace(/^##\s+/, "").trim(); + i += 1; + continue; + } + + const bullet = line.match(/^(\s*)[-*]\s+(.*)$/); + if (bullet) { + flushParagraph(); + bullets.push({ level: Math.min(3, Math.floor(bullet[1].length / 2)), text: bullet[2].trim() }); + i += 1; + continue; + } + + if (line.trim() === "") { + flushAll(); + i += 1; + continue; + } + + flushBullets(); + paragraph.push(line.trim()); + i += 1; + } + + flushAll(); + return slide; +} + +module.exports = { parseSlide, parseTable, parseTextBlocks, parseMetrics, parseFlow }; diff --git a/pptx/src/plantuml.js b/pptx/src/plantuml.js new file mode 100644 index 0000000..2d79d4b --- /dev/null +++ b/pptx/src/plantuml.js @@ -0,0 +1,174 @@ +"use strict"; + +const fs = require("fs"); +const os = require("os"); +const path = require("path"); +const crypto = require("crypto"); +const { spawn } = require("child_process"); + +const SOURCE_EXTENSIONS = new Set([".puml", ".plantuml", ".pu", ".iuml"]); + +function isPlantUmlSource(filePath) { + if (!filePath) return false; + return SOURCE_EXTENSIONS.has(path.extname(String(filePath)).toLowerCase()); +} + +function resolveJava(javaCfg) { + if (javaCfg && javaCfg !== "auto") return javaCfg; + const home = process.env.JAVA_HOME; + if (home) { + const exe = process.platform === "win32" ? "java.exe" : "java"; + const candidate = path.join(home, "bin", exe); + if (fs.existsSync(candidate)) return candidate; + } + return "java"; +} + +function runProcess(command, args, input, timeoutMs) { + return new Promise((resolve, reject) => { + let child; + try { + child = spawn(command, args, { windowsHide: true }); + } catch (err) { + reject(new Error(`PlantUML: не удалось запустить "${command}": ${err.message}`)); + return; + } + + const stdout = []; + const stderr = []; + let settled = false; + let timer = null; + + const finish = (fn, arg) => { + if (settled) return; + settled = true; + if (timer) clearTimeout(timer); + fn(arg); + }; + + if (timeoutMs > 0) { + timer = setTimeout(() => { + child.kill(); + finish(reject, new Error(`PlantUML: превышено время ожидания (${timeoutMs} мс)`)); + }, timeoutMs); + } + + child.on("error", (err) => { + finish(reject, new Error(`PlantUML: не удалось запустить "${command}": ${err.message}`)); + }); + child.stdout.on("data", (chunk) => stdout.push(chunk)); + child.stderr.on("data", (chunk) => stderr.push(chunk)); + child.on("close", (code) => { + finish(resolve, { + code, + stdout: Buffer.concat(stdout), + stderr: Buffer.concat(stderr).toString("utf8").trim(), + }); + }); + + child.stdin.end(input == null ? "" : input); + }); +} + +async function renderPlantUml(sourceBuffer, cfg) { + if (!cfg.jar) throw new Error("PlantUML: не задан путь к plantuml.jar"); + if (!fs.existsSync(cfg.jar)) { + throw new Error(`PlantUML: plantuml.jar не найден: ${cfg.jar}`); + } + const java = resolveJava(cfg.java); + const args = [ + "-jar", + cfg.jar, + "-pipe", + `-t${cfg.format || "png"}`, + "-charset", + cfg.charset || "UTF-8", + "-failfast2", + "-nometadata", + ]; + const result = await runProcess(java, args, sourceBuffer, cfg.timeoutMs); + if (result.code !== 0 || result.stdout.length === 0) { + const detail = result.stderr || `код выхода ${result.code}`; + throw new Error(`PlantUML: ошибка рендеринга: ${detail}`); + } + return result.stdout; +} + +function jarFingerprint(cfg) { + try { + const st = fs.statSync(cfg.jar); + return `${st.size}:${Math.round(st.mtimeMs)}`; + } catch { + return "nojar"; + } +} + +function cacheFileName(sourceBuffer, cfg) { + const hash = crypto + .createHash("sha1") + .update(sourceBuffer) + .update(`|${cfg.format || "png"}`) + .update(`|${jarFingerprint(cfg)}`) + .digest("hex"); + return `${hash}.png`; +} + +async function renderCached(sourceBuffer, cfg) { + const dir = cfg.cacheDir || path.join(os.tmpdir(), "lab-gen-pptx-plantuml"); + const target = path.join(dir, cacheFileName(sourceBuffer, cfg)); + + if (cfg.cache && fs.existsSync(target)) { + return { buffer: fs.readFileSync(target), cachePath: target }; + } + + const buffer = await renderPlantUml(sourceBuffer, cfg); + fs.mkdirSync(dir, { recursive: true }); + fs.writeFileSync(target, buffer); + return { buffer, cachePath: target }; +} + +/** + * Проставляет каждому блоку ::: image путь к готовому изображению. + * Для исходников PlantUML рендерит PNG; для растровых — проверяет наличие. + * @returns {Promise} список проблем (ошибок/предупреждений) + */ +async function resolveImages(config, deck) { + const issues = []; + const cfg = config.plantuml || {}; + const contentDir = config.content.dir; + + for (const entry of deck) { + for (const block of entry.parsed.blocks) { + if (block.kind !== "image" || !block.file) continue; + const source = path.isAbsolute(block.file) ? block.file : path.resolve(contentDir, block.file); + if (isPlantUmlSource(source)) { + if (cfg.enabled === false) { + issues.push(`PlantUML отключён, а файл требует рендеринга: ${block.file}`); + continue; + } + if (!fs.existsSync(source)) { + issues.push(`Не найден исходник PlantUML: ${block.file}`); + continue; + } + try { + const { cachePath } = await renderCached(fs.readFileSync(source), { + ...cfg, + jar: cfg.jar, + }); + block.renderFile = cachePath; + } catch (err) { + issues.push(`Рисунок "${block.file}": ${err.message}`); + } + } else { + if (!fs.existsSync(source)) { + issues.push(`Не найден файл изображения: ${block.file}`); + continue; + } + block.renderFile = source; + } + } + } + return issues; +} + +module.exports = { isPlantUmlSource, resolveJava, renderPlantUml, renderCached, resolveImages }; diff --git a/pptx/src/render.js b/pptx/src/render.js new file mode 100644 index 0000000..3f804d9 --- /dev/null +++ b/pptx/src/render.js @@ -0,0 +1,778 @@ +"use strict"; + +const fs = require("fs"); +const { resolveColor } = require("./config"); + +const MASTER_BY_TYPE = { + title: "TITLE", + section: "SECTION", + content: "CONTENT", + final: "FINAL", +}; + +const MEDIA_KINDS = new Set(["table", "image", "chart", "flow", "metrics", "callout"]); + +function fontInches(fontSize) { + return (fontSize / 72) * 1.25; +} + +function estimateLines(text, widthIn, fontSize) { + const charWidth = (fontSize / 72) * 0.52; + const perLine = Math.max(8, Math.floor(widthIn / charWidth)); + return Math.max(1, Math.ceil(String(text).length / perLine)); +} + +/** + * Разбирает inline-разметку: **жирный**, *курсив*, ==выделение==, `код`. + * Возвращает массив runs для pptxgenjs. + */ +function inlineRuns(text, base, colors) { + const runs = []; + const pattern = /(\*\*[^*]+\*\*|==[^=]+==|\*[^*]+\*|`[^`]+`)/g; + const src = String(text); + let last = 0; + let match; + while ((match = pattern.exec(src)) !== null) { + if (match.index > last) runs.push({ text: src.slice(last, match.index), options: { ...base } }); + const token = match[0]; + if (token.startsWith("**")) { + runs.push({ text: token.slice(2, -2), options: { ...base, bold: true } }); + } else if (token.startsWith("==")) { + runs.push({ + text: token.slice(2, -2), + options: { ...base, bold: true, color: colors.highlight }, + }); + } else if (token.startsWith("`")) { + runs.push({ + text: token.slice(1, -1), + options: { ...base, fontFace: "Consolas", color: colors.muted }, + }); + } else { + runs.push({ text: token.slice(1, -1), options: { ...base, italic: true } }); + } + last = pattern.lastIndex; + } + if (last < src.length) runs.push({ text: src.slice(last), options: { ...base } }); + if (!runs.length) runs.push({ text: src, options: { ...base } }); + return runs; +} + +function colorScheme(config) { + const c = config.theme.colors; + return { + ink: resolveColor(c.ink, c), + brand: resolveColor(c.brand, c), + highlight: resolveColor(c.accent || c.brand, c), + muted: resolveColor(c.muted, c), + tint: resolveColor(c.tint || c.brand, c), + line: resolveColor(c.line || c.brand, c), + }; +} + +function defineMasters(pptx, config) { + const { theme } = config; + const master = (title, background) => + pptx.defineSlideMaster({ + title, + background: { path: background }, + objects: [], + }); + + master("TITLE", theme.backgrounds.title); + master("SECTION", theme.backgrounds.title); + master("CONTENT", theme.backgrounds.content); + master("FINAL", theme.backgrounds.final); +} + +function addSlideNumber(slide, config, number, type) { + const spec = config.theme.slideNumber; + if (!spec.show) return; + const colorKey = type === "content" ? spec.contentColor || spec.color : spec.color; + slide.addText(String(number), { + x: spec.x, + y: spec.y, + w: spec.w, + h: spec.h, + fontSize: spec.fontSize, + color: resolveColor(colorKey, config.theme.colors), + fontFace: config.theme.font, + bold: !!spec.bold, + align: spec.align, + valign: "middle", + margin: 0, + }); +} + +function style(spec, config, extra = {}) { + return { + x: spec.x, + y: spec.y, + w: spec.w, + h: spec.h, + fontSize: spec.fontSize, + bold: !!spec.bold, + align: spec.align || "left", + valign: spec.valign || "top", + color: resolveColor(spec.color, config.theme.colors), + fontFace: config.theme.font, + ...extra, + }; +} + +// ── титульный, разделительный, финальный слайды ─────────────────── + +function renderTitleSlide(slide, parsed, config) { + const spec = config.text.titleSlide; + if (parsed.title) slide.addText(parsed.title, style(spec.title, config)); + if (parsed.subtitle) slide.addText(parsed.subtitle, style(spec.subtitle, config)); + + const bodyLines = parsed.blocks + .filter((b) => b.kind === "paragraph") + .map((b) => b.text); + if (!bodyLines.length) { + if (config.presentation.author) bodyLines.push(config.presentation.author); + if (config.presentation.track) bodyLines.push(config.presentation.track); + } + if (bodyLines.length) { + slide.addText(bodyLines.join("\n"), style(spec.body, config)); + } +} + +function renderSectionSlide(slide, parsed, config) { + const spec = config.text.section; + const title = parsed.title || ""; + slide.addText(title, style(spec.title, config, { fit: "shrink" })); + if (parsed.subtitle) { + slide.addText( + parsed.subtitle, + style(spec.title, config, { + y: spec.title.y + spec.title.h, + fontSize: spec.title.fontSize * 0.55, + }) + ); + } +} + +function renderFinalSlide(slide, parsed, config) { + const spec = config.text.final; + slide.addText(parsed.title || "Спасибо за внимание", style(spec.title, config)); + const bodyLines = parsed.blocks.filter((b) => b.kind === "paragraph").map((b) => b.text); + if (bodyLines.length) slide.addText(bodyLines.join("\n"), style(spec.body, config)); +} + +// ── текстовые блоки ─────────────────────────────────────────────── +// +// pptxgenjs генерирует свойства абзаца для каждого run, поэтому список с +// inline-форматированием внутри пункта рисуется вручную: маркер отдельным +// run'ом, текст — с отступом и висячим выравниванием. + +function renderParagraph(slide, block, config, spec, colors, cursor) { + const base = { + color: colors.ink, + fontFace: config.theme.font, + fontSize: spec.bulletSize, + }; + const runs = inlineRuns(block.text, base, colors); + const height = estimateLines(block.text, spec.body.w, spec.bulletSize) * fontInches(spec.bulletSize) + 0.06; + slide.addText(runs, { + x: spec.body.x, + y: cursor.y, + w: spec.body.w, + h: height, + align: "left", + valign: "top", + fontFace: config.theme.font, + margin: 0, + }); + cursor.y += height + 0.04; +} + +function bulletGeometry(item, spec) { + const size = item.level === 0 ? spec.bulletSize : spec.subBulletSize; + const indent = 0.3 + item.level * 0.3; + const textWidth = Math.max(1, spec.body.w - indent); + return { size, indent, textWidth }; +} + +function renderBullets(slide, items, config, spec, colors, cursor) { + for (const item of items) { + const { size, indent, textWidth } = bulletGeometry(item, spec); + const glyph = item.level === 0 ? "•" : "–"; + const lines = estimateLines(item.text, textWidth, size); + const height = lines * fontInches(size) + 0.03; + + slide.addText(glyph, { + x: spec.body.x + item.level * 0.3, + y: cursor.y, + w: indent, + h: height, + align: "left", + valign: "top", + color: colors.ink, + fontFace: config.theme.font, + fontSize: size, + margin: 0, + }); + + const base = { + color: colors.ink, + fontFace: config.theme.font, + fontSize: size, + }; + const runs = inlineRuns(item.text, base, colors); + slide.addText(runs, { + x: spec.body.x + indent, + y: cursor.y, + w: textWidth, + h: height, + align: "left", + valign: "top", + fontFace: config.theme.font, + margin: 0, + }); + + cursor.y += height + 0.07; + } + cursor.y += 0.05; +} + +function estimateBlocksHeight(blocks, config, spec) { + let y = 0; + for (const block of blocks) { + if (block.kind === "paragraph") { + y += estimateLines(block.text, spec.body.w, spec.bulletSize) * fontInches(spec.bulletSize) + 0.1; + } else if (block.kind === "bullets") { + for (const item of block.items) { + const { size, textWidth } = bulletGeometry(item, spec); + y += estimateLines(item.text, textWidth, size) * fontInches(size) + 0.1; + } + y += 0.08; + } + } + return y; +} + +function renderTextBlocks(slide, blocks, config, cursor) { + const spec = config.text.content; + const colors = colorScheme(config); + let rendered = false; + + for (const block of blocks) { + if (block.kind === "paragraph") { + renderParagraph(slide, block, config, spec, colors, cursor); + rendered = true; + } else if (block.kind === "bullets") { + renderBullets(slide, block.items, config, spec, colors, cursor); + rendered = true; + } + } + + if (rendered) cursor.y += 0.06; +} + +// ── плашка-вывод ────────────────────────────────────────────────── + +function calloutRuns(block, config, colors) { + const spec = config.callout; + const runs = []; + if (block.title) { + runs.push({ + text: block.title, + options: { + bold: true, + breakLine: true, + paraSpaceBefore: 0, + color: resolveColor(spec.titleColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: spec.titleFontSize, + }, + }); + } + for (const inner of block.blocks) { + if (inner.kind === "paragraph") { + const base = { + color: resolveColor(spec.textColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: spec.fontSize, + }; + const line = inlineRuns(inner.text, base, colors); + line[line.length - 1].options.breakLine = true; + runs.push(...line); + } else if (inner.kind === "bullets") { + for (const item of inner.items) { + const base = { + color: resolveColor(spec.textColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: spec.fontSize, + }; + const prefix = `${" ".repeat(item.level)}• `; + const line = inlineRuns(item.text, base, colors); + line[0].text = prefix + line[0].text; + line[line.length - 1].options.breakLine = true; + runs.push(...line); + } + } + } + return runs; +} + +function calloutHeight(block, config) { + const spec = config.callout; + const area = config.text.content.body; + const textWidth = area.w - 1.0; + const titleLines = block.title ? estimateLines(block.title, textWidth, spec.titleFontSize) : 0; + let contentHeight = 0; + for (const inner of block.blocks) { + if (inner.kind === "paragraph") { + contentHeight += estimateLines(inner.text, textWidth, spec.fontSize) * fontInches(spec.fontSize) + 0.06; + } else if (inner.kind === "bullets") { + for (const item of inner.items) { + contentHeight += estimateLines(item.text, textWidth - 0.4, spec.fontSize) * fontInches(spec.fontSize) + 0.05; + } + } + } + return Math.max(0.9, titleLines * fontInches(spec.titleFontSize) + (titleLines ? 0.1 : 0) + contentHeight + 0.34); +} + +function renderCallout(pptx, slide, block, config, cursor) { + const area = config.text.content.body; + const spec = config.callout; + const colors = colorScheme(config); + const runs = calloutRuns(block, config, colors); + const height = calloutHeight(block, config); + + slide.addText(runs, { + x: area.x, + y: cursor.y, + w: area.w, + h: height, + shape: pptx.ShapeType.roundRect, + fill: { color: resolveColor(spec.fill, config.theme.colors) }, + line: { color: resolveColor(spec.border, config.theme.colors), width: spec.lineWidth }, + align: "left", + valign: "middle", + margin: [10, 14, 10, 14], + }); + cursor.y += height + 0.2; +} + +// ── карточки-метрики ────────────────────────────────────────────── + +function renderMetrics(pptx, slide, block, config, cursor) { + const items = (block.items || []).slice(0, 4); + if (!items.length) return; + const area = config.text.content.body; + const spec = config.metrics; + const n = items.length; + const gap = spec.gap; + const cardW = (area.w - gap * (n - 1)) / n; + + items.forEach((item, i) => { + const x = area.x + i * (cardW + gap); + const runs = [ + { + text: item.value || "—", + options: { + bold: true, + breakLine: true, + align: "center", + color: resolveColor(spec.valueColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: spec.valueFontSize, + }, + }, + { + text: item.label, + options: { + align: "center", + color: resolveColor(spec.labelColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: spec.labelFontSize, + }, + }, + ]; + slide.addText(runs, { + x, + y: cursor.y, + w: cardW, + h: spec.height, + shape: pptx.ShapeType.roundRect, + fill: { color: resolveColor(spec.fill, config.theme.colors) }, + line: { type: "none" }, + align: "center", + valign: "middle", + margin: [6, 8, 6, 8], + }); + }); + + cursor.y += spec.height + 0.2; +} + +// ── нативная схема-цепочка ──────────────────────────────────────── + +function renderFlow(pptx, slide, block, config, cursor) { + const steps = block.steps || []; + if (!steps.length) return; + const area = config.text.content.body; + const spec = config.flow; + const n = steps.length; + const gap = spec.gap; + const boxW = (area.w - gap * (n - 1)) / n; + + if (boxW < 0.9) { + renderFlowVertical(pptx, slide, steps, config, cursor); + return; + } + + const h = spec.height; + const arrowH = 0.24; + steps.forEach((step, i) => { + const x = area.x + i * (boxW + gap); + slide.addText(step, { + x, + y: cursor.y, + w: boxW, + h, + shape: pptx.ShapeType.roundRect, + fill: { color: resolveColor(spec.fill, config.theme.colors) }, + line: { color: resolveColor(spec.border, config.theme.colors), width: 1 }, + align: "center", + valign: "middle", + color: resolveColor(spec.textColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: spec.fontSize, + margin: [3, 6, 3, 6], + }); + if (i < n - 1) { + slide.addShape(pptx.ShapeType.rightArrow, { + x: x + boxW, + y: cursor.y + h / 2 - arrowH / 2, + w: gap, + h: arrowH, + fill: { color: resolveColor(spec.arrowColor, config.theme.colors) }, + line: { type: "none" }, + }); + } + }); + + cursor.y += h + 0.2; +} + +function renderFlowVertical(pptx, slide, steps, config, cursor) { + const area = config.text.content.body; + const spec = config.flow; + const h = 0.55; + const arrowH = 0.22; + for (let i = 0; i < steps.length; i++) { + slide.addText(steps[i], { + x: area.x + area.w * 0.1, + y: cursor.y, + w: area.w * 0.8, + h, + shape: pptx.ShapeType.roundRect, + fill: { color: resolveColor(spec.fill, config.theme.colors) }, + line: { color: resolveColor(spec.border, config.theme.colors), width: 1 }, + align: "center", + valign: "middle", + color: resolveColor(spec.textColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: spec.fontSize, + margin: [3, 6, 3, 6], + }); + if (i < steps.length - 1) { + slide.addShape(pptx.ShapeType.downArrow, { + x: area.x + area.w / 2 - arrowH / 2, + y: cursor.y + h, + w: arrowH, + h: arrowH, + fill: { color: resolveColor(spec.arrowColor, config.theme.colors) }, + line: { type: "none" }, + }); + } + cursor.y += h + arrowH; + } + cursor.y += 0.05; +} + +// ── таблицы ─────────────────────────────────────────────────────── + +function colRatios(cols) { + if (cols === 3) return [0.24, 0.34, 0.42]; + if (cols === 4) return [0.19, 0.28, 0.3, 0.23]; + return new Array(cols).fill(1 / cols); +} + +function renderTable(slide, block, config, cursor) { + const t = config.table; + const colors = colorScheme(config); + const rows = block.rows.map((cells, r) => + cells.map((text) => { + const base = { + color: resolveColor(r === 0 ? t.headerColor : t.cellColor, config.theme.colors), + fontFace: config.theme.font, + fontSize: t.fontSize, + bold: r === 0, + }; + return { + text: inlineRuns(String(text), base, colors), + options: { + fill: r === 0 ? resolveColor(t.headerFill, config.theme.colors) : { color: "FFFFFF" }, + valign: "middle", + }, + }; + }), + ); + const area = config.text.content.body; + const cols = block.rows[0].length; + const rowH = cols >= 4 ? 0.5 : 0.42; + const height = Math.min(area.y + area.h - cursor.y, block.rows.length * rowH); + slide.addTable(rows, { + x: area.x, + y: cursor.y, + w: area.w, + colW: colRatios(cols).map((r) => r * area.w), + rowH, + border: { type: "solid", color: resolveColor(t.borderColor, config.theme.colors), pt: 1 }, + fontFace: config.theme.font, + fontSize: t.fontSize, + autoPage: false, + }); + cursor.y += height + 0.15; +} + +// ── изображения ─────────────────────────────────────────────────── + +function pngDimensions(buffer) { + if (buffer.length > 24 && buffer.toString("ascii", 1, 4) === "PNG") { + return { width: buffer.readUInt32BE(16), height: buffer.readUInt32BE(20) }; + } + return null; +} + +function jpegDimensions(buffer) { + let i = 2; + while (i < buffer.length - 8) { + if (buffer[i] !== 0xff) { + i += 1; + continue; + } + const marker = buffer[i + 1]; + if (marker === 0xc0 || marker === 0xc1 || marker === 0xc2) { + return { width: buffer.readUInt16BE(i + 7), height: buffer.readUInt16BE(i + 5) }; + } + if (marker >= 0xd0 && marker <= 0xd9) { + i += 2; + continue; + } + const len = buffer.readUInt16BE(i + 2); + i += 2 + len; + } + return null; +} + +function imageDimensions(file) { + try { + const buffer = fs.readFileSync(file); + return pngDimensions(buffer) || jpegDimensions(buffer); + } catch { + return null; + } +} + +function renderImage(slide, block, config, cursor) { + const area = config.text.content.body; + const file = block.renderFile || block.file; + const reserve = block.caption ? 0.5 : 0.1; + const maxW = area.w; + let maxH = Math.max(0.8, area.y + area.h - cursor.y - reserve); + if (block.height) maxH = Math.min(maxH, block.height); + const dims = imageDimensions(file); + + let w = maxW; + let h = Math.min(maxH, maxW * 0.6); + if (dims && dims.width && dims.height) { + const scale = Math.min(maxW / dims.width, maxH / dims.height); + w = dims.width * scale; + h = dims.height * scale; + } + const x = area.x + (maxW - w) / 2; + + slide.addImage({ path: file, x, y: cursor.y, w, h }); + cursor.y += h + 0.12; + if (block.caption) { + slide.addText(block.caption, { + x: area.x, + y: cursor.y, + w: area.w, + h: 0.4, + fontSize: config.text.content.subBulletSize, + italic: true, + align: "center", + color: resolveColor(config.theme.colors.muted, config.theme.colors), + fontFace: config.theme.font, + }); + cursor.y += 0.45; + } +} + +// ── графики ─────────────────────────────────────────────────────── + +function renderChart(pptx, slide, block, config, cursor) { + const rows = block.rows || []; + if (rows.length < 2 || rows[0].length < 2) return; + const area = config.text.content.body; + const spec = config.chart; + + const header = rows[0]; + const body = rows.slice(1); + const labels = body.map((r) => r[0]); + const series = []; + for (let j = 1; j < header.length; j++) { + series.push({ + name: header[j], + labels, + values: body.map((r) => { + const value = Number(String(r[j] ?? "").replace(/\s/g, "").replace(",", ".")); + return Number.isFinite(value) ? value : 0; + }), + }); + } + + let titleHeight = 0; + if (block.title) { + slide.addText(block.title, { + x: area.x, + y: cursor.y, + w: area.w, + h: 0.4, + align: "left", + valign: "middle", + color: resolveColor(config.theme.colors.ink, config.theme.colors), + fontFace: config.theme.font, + fontSize: config.text.content.subBulletSize, + bold: true, + }); + titleHeight = 0.45; + } + + const type = pptx.ChartType[block.chartType] || pptx.ChartType.bar; + const isPie = block.chartType === "pie" || block.chartType === "doughnut"; + const height = Math.min(area.y + area.h - cursor.y - titleHeight, spec.height); + + slide.addChart(type, series, { + x: area.x, + y: cursor.y + titleHeight, + w: area.w, + h: height, + showLegend: isPie ? true : series.length > 1 && spec.legend, + legendPos: "b", + legendFontFace: config.theme.font, + legendFontSize: spec.fontSize, + chartColors: spec.palette.map((c) => resolveColor(c, config.theme.colors)), + catAxisLabelFontFace: config.theme.font, + catAxisLabelFontSize: spec.fontSize, + catAxisLabelColor: resolveColor(config.theme.colors.ink, config.theme.colors), + valAxisLabelFontFace: config.theme.font, + valAxisLabelFontSize: spec.fontSize, + valAxisLabelColor: resolveColor(config.theme.colors.muted, config.theme.colors), + dataLabelFontFace: config.theme.font, + showValue: false, + dataLabelColor: resolveColor(config.theme.colors.ink, config.theme.colors), + showTitle: false, + }); + + cursor.y += titleHeight + height + 0.2; +} + +// ── сборка слайда ───────────────────────────────────────────────── + +function renderMediaBlock(pptx, slide, block, config, cursor) { + if (block.kind === "table") renderTable(slide, block, config, cursor); + else if (block.kind === "image") renderImage(slide, block, config, cursor); + else if (block.kind === "chart") renderChart(pptx, slide, block, config, cursor); + else if (block.kind === "flow") renderFlow(pptx, slide, block, config, cursor); + else if (block.kind === "metrics") renderMetrics(pptx, slide, block, config, cursor); + else if (block.kind === "callout") renderCallout(pptx, slide, block, config, cursor); +} + +function renderSideColumns(pptx, slide, blocks, config) { + const area = config.text.content.body; + const gap = 0.5; + const leftW = area.w * 0.5 - gap / 2; + const rightW = area.w - leftW - gap; + const columns = { + left: { x: area.x, y: area.y, w: leftW, h: area.h }, + right: { x: area.x + leftW + gap, y: area.y, w: rightW, h: area.h }, + }; + + for (const name of ["left", "right"]) { + const colBlocks = blocks.filter((b) => b.side === name); + if (!colBlocks.length) continue; + const colConfig = { + ...config, + text: { ...config.text, content: { ...config.text.content, body: columns[name] } }, + }; + const cursor = { y: columns[name].y }; + for (const block of colBlocks) renderMediaBlock(pptx, slide, block, colConfig, cursor); + } +} + +function renderContentSlide(pptx, slide, parsed, config) { + const spec = config.text.content; + if (parsed.title) slide.addText(parsed.title, style(spec.title, config)); + + const cursor = { y: spec.body.y }; + const sideBlocks = parsed.blocks.filter( + (b) => (b.kind === "image" || b.kind === "callout") && b.side + ); + const normalBlocks = parsed.blocks.filter((b) => !sideBlocks.includes(b)); + const mediaBlocks = normalBlocks.filter((b) => MEDIA_KINDS.has(b.kind)); + const textBlocks = normalBlocks.filter((b) => !MEDIA_KINDS.has(b.kind)); + + if (textBlocks.length && mediaBlocks.length) { + const compressed = { ...spec.body, h: spec.body.h * 0.42 }; + const compressedConfig = { + ...config, + text: { ...config.text, content: { ...spec, body: compressed } }, + }; + renderTextBlocks(slide, textBlocks, compressedConfig, cursor); + cursor.y = compressed.y + compressed.h + 0.1; + } else if (textBlocks.length) { + renderTextBlocks(slide, textBlocks, config, cursor); + } + + for (const block of mediaBlocks) renderMediaBlock(pptx, slide, block, config, cursor); + + if (sideBlocks.length) renderSideColumns(pptx, slide, sideBlocks, config); +} + +function renderDeck(config, deck) { + const PptxGenJS = require("pptxgenjs"); + const pptx = new PptxGenJS(); + pptx.defineLayout({ name: "SSAU", width: config.theme.width, height: config.theme.height }); + pptx.layout = "SSAU"; + pptx.author = config.presentation.author || ""; + pptx.title = config.presentation.output; + defineMasters(pptx, config); + + deck.forEach((entry, index) => { + const type = entry.type || "content"; + const slide = pptx.addSlide({ masterName: MASTER_BY_TYPE[type] }); + const parsed = entry.parsed; + + if (type === "title") renderTitleSlide(slide, parsed, config); + else if (type === "section") renderSectionSlide(slide, parsed, config); + else if (type === "final") renderFinalSlide(slide, parsed, config); + else renderContentSlide(pptx, slide, parsed, config); + + if (type === "content" || type === "section") { + addSlideNumber(slide, config, index + 1, type); + } + + if (parsed.notes) slide.addNotes(parsed.notes); + }); + + return pptx; +} + +module.exports = { renderDeck, MASTER_BY_TYPE }; diff --git a/video-script.md b/video-script.md new file mode 100644 index 0000000..e4d9f8f --- /dev/null +++ b/video-script.md @@ -0,0 +1,98 @@ +# Сценарий видеодоклада (≈5 минут) + +Докладчик: **Степанов П.А.**, группа **6403-020302D**, ИОТ-трек **«ДОП 11»**, +программа **«Современные проектные технологии»**. +Слайды — файл `pptx/presentation.pptx` (заметки докладчика дублируют этот текст). + +--- + +## 0:00–0:20. Приветствие (с паспортом) + +> Добрый день, уважаемые члены итоговой аттестационной комиссии. Меня зовут +> Степанов П.А. *(показать в камеру разворот паспорта)*, группа 6403-020302D, я +> являюсь слушателем программы профессиональной переподготовки «Современные +> проектные технологии», ИОТ-трек «ДОП 11». Разрешите представить решение +> итогового задания по теме «Современные проектные технологии». + +*(Слайд 1 — титульный.)* + +## 0:20–0:45. План доклада + +Сначала обосную выбор метода, затем покажу устройство методологии, проверку +спроса через спринты и применение в десяти сферах деятельности. *(Слайд 2.)* + +## 0:45–1:20. Постановка задачи + +Задача итогового задания — выбрать метод выведения нового товара на рынок и +обосновать его применимость в десяти сферах деятельности. Запуск новинки всегда +сопряжён с риском: до семи из десяти новых товаров не выживают на рынке. Поэтому +нужен управляемый и повторяемый процесс. В качестве такого метода я выбрал Agile +и его самую популярную методологию — Scrum. *(Слайд 3.)* + +## 1:20–2:30. Метод: Agile и Scrum + +Agile — это гибкий подход к управлению проектами, закреплённый в манифесте +2001 года. Scrum — самая распространённая Agile-методология. Работа разбивается на +короткие спринты длиной от одной до четырёх недель, каждый из которых завершается +готовым приростом продукта. *(Слайд 4.)* + +В Scrum три роли: Product Owner отвечает за ценность товара, Scrum Master убирает +препятствия, команда разработки создаёт продукт. Три артефакта — Product Backlog, +Sprint Backlog и Increment. Четыре события — планирование, ежедневная встреча, +обзор спринта и ретроспектива. *(Слайды 5–6.)* + +Весь цикл замкнут: из Product Backlog формируется спринт, который завершается +инкрементом; Sprint Review показывает результат рынку, а подтверждённый спрос ведёт +к масштабированию. *(Слайд 7.)* + +Ключевое преимущество: рынок проверяется дешёвым инкрементом — сначала минимальный +продукт, затем развитие по отклику реальных клиентов. *(Слайд 8.)* + +## 2:30–4:10. Применение в десяти сферах + +Покажу, что метод работает не только в IT. *(Слайд 9.)* В каждой сфере — свой +пилотный инкремент и своя метрика спринта. + +- **Производство** — линейка упаковки запускается пробной партией на одной линии; + метрики — себестоимость и доля брака. **Связь** — тариф «Умный дом» тестируется + на ста абонентах; смотрят подключения и отток. *(Слайд 10.)* +- **Транспорт** — каршеринг мини-фургонов стартует с пяти машин в одном районе; + метрики — загрузка и спрос. **Строительство** — сначала возводится один пилотный + модуль; оценивают затраты и сроки монтажа. *(Слайд 11.)* +- **Коммерция** — подписка на продуктовые наборы запускается бокс-пилотом на + пятидесяти клиентах; метрики — конверсия и удержание. **Юридические услуги** — + пакет «юрфирма на аутсорсе» предлагается пяти клиентам на пробный месяц. + *(Слайд 12.)* +- **Организация праздников** — онлайн-конструктор тестируется на одной группе по + вовлечённости и заказам. **Бытовые услуги** — подписка на уборку стартует с + двадцати подписчиков; важны удержание и загрузка. *(Слайд 13.)* +- **IT-услуги** — новый модуль SaaS выходит в бету на десять клиентов; метрики — + использование и NPS. **Банковские услуги** — вклад «Цель» тестируется на + ограниченной группе приложения. *(Слайд 14.)* + +Везде логика одна: ограниченный пробный продукт — замер метрики на Sprint Review — +масштабирование. + +## 4:10–4:45. Выводы + +Agile и Scrum — универсальный метод выведения товара на рынок. Спринты заменяют +один дорогой запуск серией дешёвых проверок. Метод работает везде, где есть клиент +и обратная связь: от производства до банковских услуг. Результат — снижение риска +и стоимости ошибки при запуске новинки. *(Слайд 15.)* + +## 4:45–5:00. Заключение + +> На этом мой доклад закончен, спасибо за внимание. + +*(Слайд 16.)* + +--- + +## Чек-лист записи + +- [ ] В начале доклада — **демонстрация паспорта** в камеру. +- [ ] В кадре одновременно видны **вы и презентация**. +- [ ] Приветствие, основная часть и заключение — по формулировкам выше. +- [ ] Формат файла — **mp4**, имя: `Видео защита Фамилия И.О.mp4`. +- [ ] Загрузить в облако: https://disk.ssau.ru/s/s8dSapsJ7bbn8yb +- [ ] PDF ответа: `Итоговое задание Фамилия И.О.pdf` — в «Материалы итогового задания».