From 281ad6e54573b6068a9e451d4907340234e38d66 Mon Sep 17 00:00:00 2001 From: 1602WinXP Date: Sun, 4 Oct 2026 23:41:17 +0800 Subject: [PATCH 1/9] Add pomodoro-sit-timer: a Pomodoro timer with in-page sit reminders MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Counts a 1-180 minute work segment, then shows an in-page sit reminder with a sound. No timer lock and no enforced rest length; press 继续 to start the next segment when ready. Reminder sound accepts a single file or a folder, in sequence or shuffled, with single-track loop and peak loudness matching. Relative paths resolve against the installed plugin root and are re-resolved at every start, because the client runs from a fresh temporary copy on each launch. No framework, no CDN, no build step, no network access, no subprocesses, no third-party runtime dependencies. npm run check reports OK with no warnings. --- README.md | 1 + README.zh-CN.md | 1 + .../.minimax-plugin/plugin.json | 18 + plugins/1602winxp/pomodoro-sit-timer/LICENSE | 21 + .../1602winxp/pomodoro-sit-timer/README.md | 74 + .../pomodoro-sit-timer/README.zh-CN.md | 74 + plugins/1602winxp/pomodoro-sit-timer/icon.png | Bin 0 -> 1574 bytes .../miniapp/client/index.html | 2402 +++++++++++++++++ .../pomodoro-sit-timer/miniapp/miniapp.json | 20 + .../miniapp/node/miniapp-api.ts | 109 + .../miniapp/node/server.mjs | 981 +++++++ .../1602winxp/pomodoro-sit-timer/package.json | 6 + .../sounds/chime-bright.wav | Bin 0 -> 141164 bytes .../pomodoro-sit-timer/sounds/chime-deep.wav | Bin 0 -> 141164 bytes .../pomodoro-sit-timer/sounds/chime-soft.wav | Bin 0 -> 141164 bytes .../pomodoro-sit-timer/tsconfig.json | 15 + 16 files changed, 3722 insertions(+) create mode 100644 plugins/1602winxp/pomodoro-sit-timer/.minimax-plugin/plugin.json create mode 100644 plugins/1602winxp/pomodoro-sit-timer/LICENSE create mode 100644 plugins/1602winxp/pomodoro-sit-timer/README.md create mode 100644 plugins/1602winxp/pomodoro-sit-timer/README.zh-CN.md create mode 100644 plugins/1602winxp/pomodoro-sit-timer/icon.png create mode 100644 plugins/1602winxp/pomodoro-sit-timer/miniapp/client/index.html create mode 100644 plugins/1602winxp/pomodoro-sit-timer/miniapp/miniapp.json create mode 100644 plugins/1602winxp/pomodoro-sit-timer/miniapp/node/miniapp-api.ts create mode 100644 plugins/1602winxp/pomodoro-sit-timer/miniapp/node/server.mjs create mode 100644 plugins/1602winxp/pomodoro-sit-timer/package.json create mode 100644 plugins/1602winxp/pomodoro-sit-timer/sounds/chime-bright.wav create mode 100644 plugins/1602winxp/pomodoro-sit-timer/sounds/chime-deep.wav create mode 100644 plugins/1602winxp/pomodoro-sit-timer/sounds/chime-soft.wav create mode 100644 plugins/1602winxp/pomodoro-sit-timer/tsconfig.json diff --git a/README.md b/README.md index 20eaf54..2b6ee4d 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ The MiniMax Code Agent communicates through the host MCP client. Business reques | [Model Manager](plugins/ocoomber/openrouter-model-manager/) | Browse, search, and enable/disable models in your `~/.minimax/config.yaml` with instant save, bulk actions, one-click undo, and automatic backups | [ocoomber](https://github.com/ocoomber) | | [Self-drive Route Planner](plugins/hanzijie/self-drive-route-planner/) | **Official plugin** for planning driving routes with place search, route alternatives, demo mode, and Xiaohongshu 3:4 itinerary cards | [HanZijie](https://github.com/HanZijie) | | [Git Commit Tree](plugins/microbiosis/git-tree/) | Inspect a local Git repo's commit history with a swim-lane graph, branches/tags, commit detail, and per-file change stats; persisted filter preferences and optional auto-refresh | [Microbiosis](https://github.com/Microbiosis) | +| [Pomodoro Sit Reminder](plugins/1602winxp/pomodoro-sit-timer/) | A Pomodoro timer that only counts: an in-page sit reminder and sound when a segment ends, with no timer lock and no enforced rest length; reminders from a single file or a folder in sequence or shuffled, with single-track loop and loudness matching | [1602WinXP](https://github.com/1602WinXP) |
Preview: Token Usage Board diff --git a/README.zh-CN.md b/README.zh-CN.md index e18ec61..8e49ad6 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -65,6 +65,7 @@ MiniMax Code Agent 通过宿主 MCP 客户端与 MiniApp 协作。业务请求 | [模型管理器](plugins/ocoomber/openrouter-model-manager/README.zh-CN.md) | 浏览、搜索并启用/停用 `~/.minimax/config.yaml` 中的模型,支持即时保存、批量操作、一键撤销和自动备份 | [ocoomber](https://github.com/ocoomber) | | [自驾规划](plugins/hanzijie/self-drive-route-planner/README.zh-CN.md) | 【官方插件】规划自驾路线、地点搜索、候选算路与小红书 3:4 行程图;支持演示模式 | [HanZijie](https://github.com/HanZijie) | | [Git 提交树](plugins/microbiosis/git-tree/README.zh-CN.md) | 查看本机 Git 仓库的提交历史:泳道提交图、分支/标签、提交详情与文件改动统计,支持筛选偏好持久化与可选自动刷新 | [Microbiosis](https://github.com/Microbiosis) | +| [番茄钟 · 久坐提醒](plugins/1602winxp/pomodoro-sit-timer/README.zh-CN.md) | 只计时的番茄钟:工作段结束在页面内弹出久坐提醒并响铃,不锁状态、不限制休息时长;提醒音支持单文件或文件夹、顺序/随机播放、单曲循环与响度匹配 | [1602WinXP](https://github.com/1602WinXP) |
预览:Token 用量看板 diff --git a/plugins/1602winxp/pomodoro-sit-timer/.minimax-plugin/plugin.json b/plugins/1602winxp/pomodoro-sit-timer/.minimax-plugin/plugin.json new file mode 100644 index 0000000..7f2b349 --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/.minimax-plugin/plugin.json @@ -0,0 +1,18 @@ +{ + "schemaVersion": 1, + "name": "pomodoro-sit-timer", + "displayName": "番茄钟 · 久坐提醒", + "version": "1.0.0", + "description": "只计时的番茄钟:走完一个工作段就在页面内弹出久坐提醒并播放提示音,不锁状态、不限制休息时长,想继续工作时点一下「继续工作」。", + "author": "1602WinXP", + "icon": "icon.png", + "category": "Productivity", + "exampleQueries": [ + "打开我的久坐提醒番茄钟", + "把工作段改成 45 分钟", + "今天我已经完成了几段专注" + ], + "apps": [], + "mcpServers": [], + "skills": [] +} diff --git a/plugins/1602winxp/pomodoro-sit-timer/LICENSE b/plugins/1602winxp/pomodoro-sit-timer/LICENSE new file mode 100644 index 0000000..a58a784 --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 1602WinXP + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugins/1602winxp/pomodoro-sit-timer/README.md b/plugins/1602winxp/pomodoro-sit-timer/README.md new file mode 100644 index 0000000..5c01d9e --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/README.md @@ -0,0 +1,74 @@ +# Pomodoro Sit Reminder + +English | [简体中文](README.zh-CN.md) + +A Pomodoro timer that only counts. When a work segment ends it shows an in-page sit reminder and plays a sound, but it never locks the timer and never enforces a rest length — walk away for as long as you like, then press **继续** to start the next segment. + +Author: [1602WinXP](https://github.com/1602WinXP) · Version: `1.0.0` + +## What it does + +- **Work segment** — 1–180 minutes, with 15 / 25 / 45 / 60 presets. +- **Sit reminder** — fires when the segment elapses, in the page only. No notification permission, no lock screen, no forced break. +- **Continue** — one button starts the next segment whenever you are ready. +- **Stats** — completed segments and total focus time, with a clear button. +- **Reminder sound** — a single audio file or a whole folder, in sequence or shuffled, with single-track loop and loudness matching. See below. +- **界面语言** — 中文 / English / 日本語 / 한국어. +- **配色** — follow system / light / dark. + +## Install and use + +Copy this whole directory, including the hidden `.minimax-plugin` directory, into `.minimax/plugins/` inside your home folder: + +| System | Target path | +| --- | --- | +| Windows | `C:\Users\\.minimax\plugins\pomodoro-sit-timer` | +| macOS | `/Users//.minimax/plugins/pomodoro-sit-timer` | +| Linux | `/home//.minimax/plugins/pomodoro-sit-timer` | + +`.minimax` is hidden: enable "Show hidden items" in File Explorer, or press `Cmd + Shift + .` in Finder. If MiniMax Code has run before, the folder already exists. If you use a custom data directory (`MINIMAX_DATA_DIR`), put the plugin under `plugins/` there instead. + +Restart MiniMax Code, confirm the plugin is enabled, then open "番茄钟 · 久坐提醒" or ask the Agent to open it. + +To update, close the app, exit MiniMax Code, and replace the whole plugin directory. To uninstall, do the same and delete the directory; app data stored outside it may remain. + +## Reminder sound + +The sound path box accepts either a **single file** or a **folder**. A folder is scanned one level deep, keeps `.mp3` / `.wav` / `.ogg` only, and is sorted by name so that `2.mp3` comes before `10.mp3`. + +- **顺序 / 随机** — the icon button next to the path box toggles between the two. Shuffle reorders the whole folder each time you get through it, so a pass never repeats a track and never skips one. +- **单曲循环** — locks playback to one file. The lock lives on the server, so the file plays once per reminder and stays put across restarts. While it is on, the mode button is disabled. +- **音量标准化** — on by default. Every track's peak is matched to one shared reference, measured from the first track you played and clamped to 0.25–0.89, so a quiet folder and a loud folder play at the same level. Gain is capped at 40× and near-silent files are left alone. Turning it on re-measures from whatever plays next. +- **试听** — plays the next file in the running order rather than the one that is armed, so you can walk the whole folder. It does not change what the next real reminder will play. +- **恢复默认音** — clears the path and falls back to the built-in chime. + +A path such as `sounds` is resolved against the installed plugin directory. Because the client runs from a fresh temporary copy on every start, relative paths are re-resolved at launch rather than saved as absolute ones — an absolute path saved earlier would point at a directory that no longer exists. + +Three sample tones ship in `sounds/` (`chime-soft`, `chime-bright`, `chime-deep`). + +## Tested environment + +MiniMax Code desktop **3.1.1** on Windows (10.0.26200, x64). The repository's own docs are written against 3.0.73; this package was built and tested on 3.1.1. + +Verified during development, in the client's own embedded browser at a 463 px viewport: install and open; countdown across 1 / 15 / 25 / 45 / 60 minutes; the reminder firing with sound; 继续 starting the next segment; stats and clearing them; folder playback in both sequence and random order; the single-track lock; a relative sound path still resolving after a client restart; loudness matching; all four interface languages; all three colour modes. + +**Unverified:** macOS and Linux. The audio path handling, the temporary-directory resolution and the layout have not been exercised on either. + +## Data & access + +- **Files read** — the audio file or folder you type into the sound box, read-only. The runtime also reads `sounds/` inside the installed plugin directory for the bundled samples. Nothing else on disk is touched; there is no scanning of your music library. +- **Files written** — one `state.json` in the Host-provided `context.dataDir`, holding the duration, phase, remaining time, completed-segment count, accumulated focus seconds, and your sound settings. It is written atomically (temp file in the same directory, then rename) and the directory layout is treated as opaque. +- **Browser storage** — view preferences only: interface language, colour mode, whether loudness matching is on, and the measured reference level. No timer or session data. +- **Network** — none. The runtime makes no outbound requests and has no telemetry. +- **Subprocesses** — none. +- **Configuration** — no API key, no account, no setup. + +The page shows only your own timer and your own stats. Because the reminder is in-page, a segment that ends while the MiniApp tab is in the background may go unnoticed until you look at it again. + +## Source and verification + +The page is `miniapp/client/index.html` (no framework, no CDN, no build step — it works offline), the Node entry is `miniapp/node/server.mjs`, and the Host API type definitions used for editor type-checking are in `miniapp/node/miniapp-api.ts`. There are no third-party runtime dependencies. + +## License + +[MIT](LICENSE). diff --git a/plugins/1602winxp/pomodoro-sit-timer/README.zh-CN.md b/plugins/1602winxp/pomodoro-sit-timer/README.zh-CN.md new file mode 100644 index 0000000..33db243 --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/README.zh-CN.md @@ -0,0 +1,74 @@ +# 番茄钟 · 久坐提醒 + +[English](README.md) | 简体中文 + +一个只负责计时的番茄钟。工作段走完时在页面内弹出久坐提醒并播放提示音,但**不锁状态、不限制休息时长** —— 你想走多久走多久,回来点一下「继续」就开始下一段。 + +作者:[1602WinXP](https://github.com/1602WinXP) · 版本:`1.0.0` + +## 功能 + +- **工作段** —— 1–180 分钟,另有 15 / 25 / 45 / 60 快捷档。 +- **久坐提醒** —— 工作段结束时在页面内触发。不要通知权限,不锁屏,不强制休息。 +- **继续** —— 你准备好了就按一下,直接开始下一段。 +- **统计** —— 完成段数与累计专注时长,可一键清空。 +- **提醒音** —— 单个音频文件或整个文件夹,可顺序 / 随机播放,支持单曲循环与响度匹配。详见下节。 +- **界面语言** —— 中文 / English / 日本語 / 한국어。 +- **配色** —— 跟随系统 / 白天 / 夜间。 + +## 安装与使用 + +把整个目录(**含隐藏的 `.minimax-plugin` 目录**)复制到用户主目录下的 `.minimax/plugins/`: + +| 系统 | 目标路径 | +| --- | --- | +| Windows | `C:\Users\<用户名>\.minimax\plugins\pomodoro-sit-timer` | +| macOS | `/Users/<用户名>/.minimax/plugins/pomodoro-sit-timer` | +| Linux | `/home/<用户名>/.minimax/plugins/pomodoro-sit-timer` | + +`.minimax` 是隐藏目录:Windows 上需在文件资源管理器开启「显示隐藏的项目」,macOS 上按 `Cmd + Shift + .`。只要用过 MiniMax Code,这个目录通常已经存在。如果配置了自定义数据目录(`MINIMAX_DATA_DIR`),请放到该目录下的 `plugins/` 里。 + +然后重启 MiniMax Code,确认插件已启用,打开「番茄钟 · 久坐提醒」,或直接让 Agent 帮你打开。 + +更新时先关闭应用并退出 MiniMax Code,再整体替换插件目录。卸载同理,删除该目录即可;存放在目录之外的应用数据可能仍会保留。 + +## 提醒音 + +路径框既可以填**单个文件**,也可以填**文件夹**。文件夹只扫描一层,只保留 `.mp3` / `.wav` / `.ogg`,按文件名排序(所以 `2.mp3` 会排在 `10.mp3` 前面)。 + +- **顺序 / 随机** —— 路径框右边的图标按钮在两者之间切换。随机模式每走完一轮就重新洗牌,因此一轮之内既不重复也不遗漏。 +- **单曲循环** —— 把播放锁定在某一个文件。锁定状态存在服务端,所以每次提醒只播一遍,且跨重启保持。锁定期间模式按钮会被禁用。 +- **音量标准化** —— 默认开启。把每首的峰值对齐到同一个参考值(由你播放的第一首测得,钳制在 0.25–0.89),这样安静的文件夹和响的文件夹听起来一样大。放大倍数上限 40×,接近静音的文件保持原样。重新开启时会按下一首重新测量。 +- **试听** —— 播放当前顺序里的下一首,而不是已布防的那一首,方便你把整个文件夹听一遍。它不会改变下一次真实提醒播放的内容。 +- **恢复默认音** —— 清空路径,退回内置提示音。 + +像 `sounds` 这样的相对路径以插件安装目录为基准解析。由于客户端每次启动都运行在全新的临时副本里,相对路径会在启动时重新解析,而不是把绝对路径存下来 —— 之前存下的绝对路径指向的目录届时已经不存在了。 + +`sounds/` 里附带三个示例音(`chime-soft`、`chime-bright`、`chime-deep`)。 + +## 已验证环境 + +MiniMax Code 桌面版 **3.1.1**,Windows(10.0.26200,x64)。本仓库文档以 3.0.73 为基准,本插件在 3.1.1 上开发并测试。 + +开发过程中在客户端自带浏览器、463 px 视口下验证过:安装与打开;1 / 15 / 25 / 45 / 60 分钟的倒计时;提醒触发并响铃;「继续」开启下一段;统计与清空;文件夹的顺序与随机播放;单曲锁定;相对路径在客户端重启后仍能解析;响度匹配;四种界面语言;三种配色。 + +**未验证:** macOS 与 Linux。音频路径处理、临时目录解析与页面布局在这两个系统上都没有实测过。 + +## 数据与访问范围 + +- **读取的文件** —— 你填进声音路径框的音频文件或文件夹,只读。运行时还会读取插件安装目录下的 `sounds/` 以取用内置示例音。除此之外不触碰磁盘任何位置,也不会扫描你的音乐库。 +- **写入的文件** —— Host 提供的 `context.dataDir` 下有一个 `state.json`,记录时长、阶段、剩余时间、完成段数、累计专注秒数以及你的提醒音设置。写入是原子的(先写同目录临时文件再重命名),该目录结构被视为不透明。 +- **浏览器存储** —— 只存界面偏好:语言、配色、响度匹配开关,以及实测得到的参考音量。不存计时或会话数据。 +- **网络** —— 无。运行时没有任何对外请求,也没有遥测。 +- **子进程** —— 无。 +- **配置** —— 不需要 API key、不需要账号、不需要任何设置。 + +页面只显示你自己的计时和统计。由于提醒发生在页面内,工作段结束时若 MiniApp 标签页在后台,可能要等你回来看才会发现。 + +## 源码与验证情况 + +页面是 `miniapp/client/index.html`(无框架、无 CDN、无构建步骤,离线可用),Node 入口是 `miniapp/node/server.mjs`,供编辑器类型检查用的 Host API 类型定义在 `miniapp/node/miniapp-api.ts`。没有任何第三方运行时依赖。 + +## 许可 + +[MIT](LICENSE)。 diff --git a/plugins/1602winxp/pomodoro-sit-timer/icon.png b/plugins/1602winxp/pomodoro-sit-timer/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..299a26cbf5c1427dffa9cd575cf721307d570765 GIT binary patch literal 1574 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV7=|>;uumf=gr;N9Fb5F_7BDH zN*t40jx3m@A#jD`h{82~A;W#9hIKB=6V;QM-fp_!Iw3Du_^7z>7spdwD|5UT=(0U- z4vcs42{>&0A!&-l#UFng7Vv9zUfN`Qd~;|s@7+uz9O)JMQ;7Q z+VlNc*1f)P;(=w;neIK@5%Dq?bm#T^{r{9*@ia!gnj^~T2}4Q1*Th_Vu`>}GpIDCO z#4fN@Vt4rd)BClU(Q~fW#@QT3`o97jTK?xMOo;EM)AkEGZ>^la!>4}Tg|#orV!ID- z4G8cmi29Kul*I@Nov(+hUWIHbj*XAkN|#&6e?ev6^ZSxvcK?~yFA_-*H<;a0#(2g^ zzl72KdH~l2CW&?ibaY*)m{GcGsq4HCVQW8`+3MMAA9>%$$6x1gcEXjIh6=|UTHH*2 zPm^w)+0I})`*&FN5&Nu1Y+r6yc*L8(Sa9m$yrfKZ#~fa1&NHPdC8Y+RdyG?WF};29 zt~O0_E62oyX%mAzpJu)CiI9%EV`HT-k0aLM2a{@p^XrK&uP*%0esO=1w)UU=+zCGMvNmy= z|6P>ouW5@p2v)su`cxCfV?$ymt*7pfdX*%ncOdCuPzej4`!;F|NW(R z>9S1?D}6X`#NYh7GVkf}bgjz@`%TThovQS5e3ma}8>P8_foSNz|MS*u5I(ouy{)ZH zDAVlt_qYF?TCQcTsM{ODK6ko9)iJH7$x{Rh??u)A%=k6?)3WE!yQWM!akgaN_W!DX z-#&jmHN3X`^}*WR`-q(SpO3zY`t01fRdCqjHPcc83_B1GbPU2zNIsfpf)(T$7XRi5-O#h75#2n`^6HJMF!qC&lGw+h(&G*h? zk*k_rMVov+YqaeSTOYYZzjSt0F6+COd#ca&eqZ;_rtH&`lb%gyI!#lfHFBb5N}kls z$lZDCNY^>py$dH>z2A9YX;J*2GNpMejVH=I&vYJ{xB2|{X>r$mYq=dibJoiERAfK) zQ9W)K_T5@<--_8kB%7Wkzk0OuD!*pi4Mquhsb5FS-xaZWR zZ|9tq^y-Rf{wEFBD;u8QSW~|%f9dnxxlsofN1ZNZ>HPit!>su-YkBth3z|N4bh|s- zYxS08(KkMRy%ipDKxc+#k7En7+RrklI~Sdmo1bg6`PiN0n#CTy2vIV@izrM+Ju?Ht m|NpbhtN4MXJsYT)XJ&Z(ZtAoneFio_5e83JKbLh*2~7YK=FPVN literal 0 HcmV?d00001 diff --git a/plugins/1602winxp/pomodoro-sit-timer/miniapp/client/index.html b/plugins/1602winxp/pomodoro-sit-timer/miniapp/client/index.html new file mode 100644 index 0000000..0f44341 --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/miniapp/client/index.html @@ -0,0 +1,2402 @@ + + + + + + 番茄钟 · 久坐提醒 + + + +
+
+

番茄钟 · 久坐提醒

+
+ + + + + + + +
+

+
+ 0 + 已完成段数 +
+
+ + + +
+

当前工作段倒计时

+
25:00
+

准备开始

+
+
+
+
+ + +
+ +
+ +
+
+

工作段时长

+

+
+ + +
+
+ + + + +
+ +
+ +
+

提醒音

+

+
+
+ + + + + +
+
+
+ + + + + + + +
+ +
+ +
+

外观

+

+
+ + + +
+

+
+ +
+

统计

+

+
+
+
0
+
完成段数
+
+
+
0
+
累计专注
+
+
+
+ +
+ +
+
+ +

+ + 已连接 +

+
+ + + + diff --git a/plugins/1602winxp/pomodoro-sit-timer/miniapp/miniapp.json b/plugins/1602winxp/pomodoro-sit-timer/miniapp/miniapp.json new file mode 100644 index 0000000..498d880 --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/miniapp/miniapp.json @@ -0,0 +1,20 @@ +{ + "schemaVersion": 1, + "artifacts": { + "client": [ + "./miniapp/client" + ], + "node": [ + "./miniapp/node" + ] + }, + "runtime": { + "kind": "process", + "entry": "./miniapp/node/server.mjs", + "lifecycle": "on-demand" + }, + "surface": { + "path": "/dashboard" + }, + "mcpEndpoints": [] +} diff --git a/plugins/1602winxp/pomodoro-sit-timer/miniapp/node/miniapp-api.ts b/plugins/1602winxp/pomodoro-sit-timer/miniapp/node/miniapp-api.ts new file mode 100644 index 0000000..7a0e0fd --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/miniapp/node/miniapp-api.ts @@ -0,0 +1,109 @@ +/** + * Agent-facing Mini App runtime authoring declarations. + * + * Copy this file into a generated plugin for type checking. It contains no Host implementation; + * the Host injects runtime values through start(context). + * Keep the .ts filename: Electron packaging excludes .d.ts files from dependency assets. + */ +export type JsonPrimitive = null | boolean | number | string; +export type JsonValue = JsonPrimitive | JsonObject | readonly JsonValue[]; +export type JsonObject = { readonly [key: string]: JsonValue }; + +declare const HOST_CONNECTOR_TOOL_REF: unique symbol; +export type HostConnectorToolRef = string & { + readonly [HOST_CONNECTOR_TOOL_REF]: 'HostConnectorToolRef'; +}; + +export interface HostConnectorTool { + readonly toolRef: HostConnectorToolRef; + readonly provider: string; + readonly name: string; + readonly description?: string; + readonly inputSchema: JsonValue; + readonly outputSchema?: JsonValue; +} + +export interface HostConnectorListResult { + readonly tools: readonly HostConnectorTool[]; + readonly partial: boolean; +} + +export interface HostConnectorCallOptions { + readonly signal?: AbortSignal; +} + +export interface HostConnectorCallResult { + readonly invocationId: string; + /** + * Raw provider result; it is not normalized by the Host and may be an object, array, or primitive. + * A single text-block array is one provider shape, not a global Host transport contract. + * Decode only a probe-observed envelope; preserve every other value, including direct strings. + */ + readonly value: JsonValue; +} + +export interface HostConnectorClient { + /** Candidate-safe inventory only; available before and after activation. */ + list(options?: HostConnectorCallOptions): Promise; + /** Activation-only business dispatch; call from request handling, never start(context). */ + call( + toolRef: HostConnectorToolRef, + arguments_: JsonObject, + options?: HostConnectorCallOptions, + ): Promise; +} + +export type HostConnectorErrorDisposition = + | 'not_dispatched' + | 'provider_reported' + | 'unknown_after_dispatch'; + +export type HostConnectorErrorCode = + | 'TOOL_REF_STALE' + | 'SERVICE_RESTARTED' + | 'REQUEST_CANCELLED' + | 'CONNECTOR_TIMEOUT' + | 'INVALID_ARGUMENTS' + | 'CONNECTOR_PROVIDER_ERROR' + | 'CONNECTOR_UNAVAILABLE' + | 'CONNECTOR_OUTCOME_UNKNOWN'; + +export interface HostConnectorError extends Error { + readonly code: HostConnectorErrorCode; + readonly disposition: HostConnectorErrorDisposition; + readonly retryable: boolean; + readonly invocationId?: string; + readonly diagnostic?: { + readonly issues: readonly { + readonly path: string; + readonly constraint: string; + readonly limit?: number; + }[]; + }; +} + +export interface MiniAppLogger { + debug(message: string, fields?: JsonObject): void; + info(message: string, fields?: JsonObject): void; + warn(message: string, fields?: JsonObject): void; + error(message: string, fields?: JsonObject): void; +} + +export interface MiniAppLifecycle { + dispose(): void | Promise; +} + +export interface MiniAppContext { + readonly pluginId: string; + readonly pluginRoot: string; + readonly dataDir: string; + readonly listen: Readonly<{ readonly host: '127.0.0.1'; readonly port: number }>; + readonly signal: AbortSignal; + readonly logger: MiniAppLogger; + readonly hostConnector?: HostConnectorClient; +} + +export interface MiniAppModule { + /** Resolve only after the listener accepts connections and every route is installed. */ + start(context: MiniAppContext): Promise; +} diff --git a/plugins/1602winxp/pomodoro-sit-timer/miniapp/node/server.mjs b/plugins/1602winxp/pomodoro-sit-timer/miniapp/node/server.mjs new file mode 100644 index 0000000..fdd5e1e --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/miniapp/node/server.mjs @@ -0,0 +1,981 @@ +// @ts-check + +import { createReadStream } from 'node:fs'; +import { mkdir, readdir, readFile, rename, stat, writeFile } from 'node:fs/promises'; +import { createServer } from 'node:http'; +import { basename, extname, isAbsolute, join, relative, resolve } from 'node:path'; +/** @typedef {import('./miniapp-api.js').MiniAppContext} MiniAppContext */ +/** @typedef {import('./miniapp-api.js').MiniAppLifecycle} MiniAppLifecycle */ + +const DEFAULT_DURATION_SEC = 25 * 60; +const MIN_DURATION_SEC = 1 * 60; +const MAX_DURATION_SEC = 3 * 60 * 60; +const RECONCILE_MS = 15_000; +const SSE_KEEPALIVE_MS = 25_000; +const MAX_BODY_BYTES = 4096; + +const POST_ROUTES = new Set([ + '/api/segment/start', + '/api/segment/pause', + '/api/segment/discard', + '/api/settings/duration', + '/api/settings/sound', + '/api/stats/reset', +]); + +/** + * A custom reminder sound is a bounded filesystem read, not a general proxy: + * audio extension only, existing regular file, size capped. + * + * Paths may be absolute (anywhere the user can reach) or relative. A relative + * path resolves against the plugin root so a shipped `sounds/` folder works for + * whoever installs the plugin, and is then pinned to stay inside that root — a + * relative path is a way to name bundled content, never a way to escape upward + * into the rest of the filesystem. + */ +const MAX_SOUND_BYTES = 25 * 1024 * 1024; +const MAX_PATH_CHARS = 1024; +const SOUND_TYPES = new Map([ + ['.mp3', 'audio/mpeg'], + ['.wav', 'audio/wav'], + ['.ogg', 'audio/ogg'], + ['.oga', 'audio/ogg'], + ['.opus', 'audio/ogg'], + ['.m4a', 'audio/mp4'], + ['.aac', 'audio/aac'], + ['.flac', 'audio/flac'], + ['.webm', 'audio/webm'], +]); + +/** Directory mode caps. A reminder picks one track, so a huge folder is only a cost. */ +const MAX_TRACKS = 500; +const MAX_PLAYLIST_BYTES = 200 * 1024 * 1024; + +/** + * @param {MiniAppContext} context + * @returns {Promise} + */ +export async function start(context) { + const dataDir = context.dataDir; + const stateFile = join(dataDir, 'state.json'); + const clientEntry = await readFile(join(context.pluginRoot, 'miniapp/client/index.html')); + // Base for every relative sound path. Pinned once at boot so a later change to + // context cannot redirect what a relative path resolves to mid-run. + const pluginRoot = resolve(context.pluginRoot); + + /** + * @typedef {'single' | 'sequence' | 'shuffle'} SoundMode + */ + + /** + * Node owns the deadline. The Client never keeps its own authoritative clock, so a + * throttled or backgrounded tab cannot drift the count. + * @type {{ durationSec: number, phase: 'idle' | 'running' | 'paused' | 'reminded', + * startedAt: number | null, remainingSec: number, bankedMinutes: number, + * completedSessions: number, focusSec: number, reminderSeq: number, + * soundPath: string | null, soundInput: string | null, + * soundRelative: boolean, soundMode: SoundMode, soundIndex: number, + * soundPinned: string | null, soundVersion: number }} + */ + const state = { + durationSec: DEFAULT_DURATION_SEC, + phase: 'idle', + startedAt: null, + remainingSec: DEFAULT_DURATION_SEC, + bankedMinutes: 0, + completedSessions: 0, + focusSec: 0, + reminderSeq: 0, + soundPath: null, + soundInput: null, + soundRelative: false, + soundMode: 'single', + soundIndex: 0, + // File name of the track 单曲循环 pinned, or null. Pinning is a selection + // decision (stay on this track), NOT repeating the buffer — the Client + // always plays a track exactly once. + soundPinned: null, + soundVersion: 0, + }; + + /** @type {Set} */ + const streams = new Set(); + /** @type {Set} */ + const soundStreams = new Set(); + /** @type {NodeJS.Timeout | null} */ + let deadlineTimer = null; + /** @type {NodeJS.Timeout | null} */ + let reconcileTimer = null; + /** @type {NodeJS.Timeout | null} */ + let keepaliveTimer = null; + let loadPromise = null; + let writeChain = Promise.resolve(); + + // ---------------------------------------------------------------- persistence + + /** @returns {Promise} true when this call performed the first read. */ + function ensureLoaded() { + if (!loadPromise) { + loadPromise = (async () => { + try { + const raw = await readFile(stateFile, 'utf8'); + const saved = JSON.parse(raw); + applySavedState(state, saved); + } catch (error) { + const code = /** @type {NodeJS.ErrnoException} */ (error).code; + if (code !== 'ENOENT') { + context.logger.warn('miniapp.state.load_failed', { reason: code ?? 'parse' }); + } + } + // A segment that was running or paused when the process stopped is + // interrupted, not completed. Do not award credit for time nobody was + // actually counting, and start clean from the configured duration. + // applySavedState never restores `phase`, so this is stated explicitly + // rather than left to a branch that can never be true. + state.phase = 'idle'; + state.startedAt = null; + state.bankedMinutes = 0; + state.remainingSec = state.durationSec; + // A relative sound path was resolved into the PREVIOUS run's temp + // directory, which no longer exists. Re-resolve it against this run's + // plugin root, or drop it — a stale absolute path would otherwise fail + // every load and silently fall back to the built-in chime. + await revalidateSavedSound(); + return true; + })(); + } + return loadPromise.then(() => true); + } + + /** + * Re-point a relative sound path at this run's plugin root. Absolute paths are + * left alone: the user chose a real location on their machine, and silently + * clearing it would be worse than letting the load report it as gone. + */ + async function revalidateSavedSound() { + if (state.soundPath === null) return; + if (state.soundRelative && typeof state.soundInput === 'string') { + const target = resolve(pluginRoot, state.soundInput); + const rel = relative(pluginRoot, target); + if (rel.startsWith('..') || isAbsolute(rel)) { + state.soundPath = null; + state.soundInput = null; + state.soundRelative = false; + state.soundVersion += 1; + return; + } + state.soundPath = target; + } + try { + await stat(state.soundPath); + } catch { + state.soundPath = null; + state.soundInput = null; + state.soundRelative = false; + state.soundVersion += 1; + } + } + + /** @returns {Promise} */ + function persist() { + const run = async () => { + await mkdir(dataDir, { recursive: true }); + const tmp = join(dataDir, 'state.json.tmp'); + const next = join(dataDir, 'state.json'); + await writeFile(tmp, `${JSON.stringify(state, null, 2)}\n`, 'utf8'); + await rename(tmp, next); + }; + // Run even if a previous write rejected, so one failure cannot wedge the chain. + const next = writeChain.then(run, run); + writeChain = next.then( + () => undefined, + () => undefined, + ); + return next; + } + + // ------------------------------------------------------------------- snapshot + + /** + * Async because resolving a directory playlist is. The resolved track is + * included so the Client can show what it is about to play, and it is derived + * from `reminderSeq` exactly as `/api/sound` derives it, so the two always + * agree on the same file for the same reminder. + */ + async function snapshot() { + const running = state.phase === 'running' && state.startedAt !== null; + const elapsedSec = running + ? Math.max(0, Math.floor((Date.now() - /** @type {number} */ (state.startedAt)) / 1000)) + : 0; + // remainingSec is frozen when a segment starts, so pausing and resuming keeps + // the leftover. A reminded segment has nothing left — reporting the full + // duration next to phase:"reminded" would be a self-contradictory snapshot. + const remainingSec = + state.phase === 'reminded' + ? 0 + : running + ? Math.max(0, state.remainingSec - elapsedSec) + : state.remainingSec; + const track = await currentTrack(state.reminderSeq); + return { + durationSec: state.durationSec, + phase: state.phase, + remainingSec, + startedAt: running ? state.startedAt : null, + completedSessions: state.completedSessions, + focusSec: state.focusSec, + liveSec: liveSec(), + reminderSeq: state.reminderSeq, + // Echoed back so the input stays editable. This is the operator's own + // configured value on a loopback, single-user surface, not a Host secret. + soundPath: state.soundPath, + // What the user actually typed. A relative path is shown back verbatim + // rather than as a temp-directory absolute path, which is neither portable + // nor recognisable, and would be wrong again after the next restart. + soundInput: state.soundInput, + soundMode: state.soundMode, + // File name 单曲循环 is pinned to, or null when the playlist rotates. + soundPinned: state.soundPinned, + // Resolved absolute path of the track this reminder will play, or null if + // the folder went empty or unreadable since it was configured. + soundTrack: track, + soundVersion: state.soundVersion, + serverTime: Date.now(), + }; + } + + function currentRemainingSec() { + const running = state.phase === 'running' && state.startedAt !== null; + if (!running) return state.remainingSec; + const elapsedSec = Math.max( + 0, + Math.floor((Date.now() - /** @type {number} */ (state.startedAt)) / 1000), + ); + return Math.max(0, state.remainingSec - elapsedSec); + } + + /** Seconds the current segment has been on the clock, capped at its deadline. */ + function segmentElapsedSec() { + if (state.phase !== 'running' || state.startedAt === null) return 0; + const cap = state.startedAt + state.remainingSec * 1000; + return Math.max(0, Math.floor((Math.min(Date.now(), cap) - state.startedAt) / 1000)); + } + + /** + * Bank whole elapsed minutes into the lifetime focus total. + * + * Idempotent: `bankedMinutes` records how many whole minutes are already in + * `focusSec`, so calling this any number of times, from anywhere, banks each + * minute exactly once. That is what lets the reconcile tick, pause and the + * deadline all call it without coordinating with each other. + * + * Quantised on purpose — a 4-second fragment is worth 0 minutes, not 1. It also + * removes sub-second bookkeeping entirely, and it never looks across a shutdown: + * all crediting happens while the process is demonstrably alive, so an overnight + * close can never bank time nobody spent at the keyboard. A restart costs at + * most the unfinished partial minute. + */ + function bankMinutes() { + if (state.phase !== 'running') return 0; + const whole = Math.floor(segmentElapsedSec() / 60); + if (whole <= state.bankedMinutes) return 0; + const delta = whole - state.bankedMinutes; + state.focusSec += delta * 60; + state.bankedMinutes = whole; + return delta; + } + + /** Banked minutes plus the sub-minute remainder still on the clock, for display. */ + function liveSec() { + if (state.phase !== 'running') return 0; + return Math.max(0, segmentElapsedSec() - state.bankedMinutes * 60); + } + + // Async because snapshot() resolves the playlist. Callers that only need to + // notify (no return value) may ignore the promise; anything that serialises or + // returns it MUST await, or a Promise stringifies to "{}". + function broadcast() { + void snapshot().then((snap) => { + const frame = `event: state\ndata: ${JSON.stringify(snap)}\n\n`; + for (const stream of streams) { + try { + stream.write(frame); + } catch { + streams.delete(stream); + } + } + }); + } + + // ------------------------------------------------------------- domain service + + function deadlineAt() { + // Anchored to the frozen remainingSec, not durationSec, so a segment resumed + // from a pause still lands on its original deadline. + return state.startedAt === null ? null : state.startedAt + state.remainingSec * 1000; + } + + function armDeadline() { + clearDeadline(); + if (state.phase !== 'running') return; + const target = deadlineAt(); + if (target === null) return; + const delay = Math.max(0, target - Date.now()); + deadlineTimer = setTimeout(() => { + void fireReminder(); + }, delay); + } + + function clearDeadline() { + if (deadlineTimer) { + clearTimeout(deadlineTimer); + deadlineTimer = null; + } + } + + /** Commit durably first, then broadcast, so a dropped frame never loses a completed segment. */ + async function fireReminder() { + if (state.phase !== 'running') return; + clearDeadline(); + // segmentElapsedSec is capped at the deadline, so this banks the full segment + // and never a second past it. + bankMinutes(); + state.phase = 'reminded'; + state.completedSessions += 1; + state.startedAt = null; + state.bankedMinutes = 0; + state.remainingSec = 0; + state.reminderSeq += 1; + await persist(); + broadcast(); + context.logger.info('miniapp.reminder.fired', { completedSessions: state.completedSessions }); + } + + /** Idle or reminded → a fresh full segment. Paused → resume the same one. */ + async function startSegment() { + if (state.phase === 'running') return; + if (state.phase !== 'paused') { + state.remainingSec = state.durationSec; + } + state.phase = 'running'; + state.startedAt = Date.now(); + state.bankedMinutes = 0; + armDeadline(); + armReconcile(); + await persist(); + broadcast(); + } + + /** Freeze at the current leftover instead of throwing the segment away. */ + async function pauseSegment() { + if (state.phase !== 'running') return; + clearDeadline(); + bankMinutes(); + state.remainingSec = currentRemainingSec(); + state.phase = 'paused'; + state.startedAt = null; + state.bankedMinutes = 0; + await persist(); + broadcast(); + } + + /** Give up a paused segment and go back to a full idle timer. */ + async function discardSegment() { + if (state.phase !== 'paused') return; + state.phase = 'idle'; + state.startedAt = null; + state.bankedMinutes = 0; + state.remainingSec = state.durationSec; + await persist(); + broadcast(); + } + + async function setDuration(seconds) { + if (!Number.isInteger(seconds) || seconds < MIN_DURATION_SEC || seconds > MAX_DURATION_SEC) { + return false; + } + state.durationSec = seconds; + // A segment's length is frozen when it starts. Changing the setting retimes the + // NEXT segment; it must not re-anchor a running or paused one, or a shorter + // setting would fire an instant reminder on a segment already in progress. + if (state.phase === 'idle') state.remainingSec = seconds; + await persist(); + broadcast(); + return true; + } + + /** + * A custom reminder sound is a bounded filesystem read, not a general proxy: + * audio extension only, existing regular file, size capped. A directory is + * scanned once into an ordered playlist and one track is served per reminder. + * + * @param {unknown} value + * @param {unknown} mode + * @returns {Promise<{ ok: true } | { ok: false, reason: string, detail?: string }>} + */ + async function setSound(value, mode) { + if (value === null || value === '') { + if (state.soundPath === null) return { ok: true }; + state.soundPath = null; + state.soundInput = null; + state.soundRelative = false; + state.soundMode = 'single'; + state.soundIndex = 0; + state.soundVersion += 1; + await persist(); + broadcast(); + return { ok: true }; + } + if (typeof value !== 'string') return { ok: false, reason: 'sound_path_not_a_string' }; + const raw = value.trim(); + if (raw.length === 0) return { ok: false, reason: 'sound_path_empty' }; + if (raw.length > MAX_PATH_CHARS) return { ok: false, reason: 'sound_path_too_long' }; + + // Relative paths name content shipped with the plugin, so they resolve + // against the plugin root and must not climb out of it. + // + // The RAW input is kept alongside the resolved path. A relative path resolves + // into the Host's runtime temp directory, which is a NEW directory on every + // restart — persisting only the resolved absolute path meant the config went + // stale the moment the runtime came back, and every reminder silently fell + // back to the built-in chime. Keeping the raw form lets it be re-resolved. + const isRelative = !isAbsolute(raw); + let target; + if (!isRelative) { + target = resolve(raw); + } else { + target = resolve(pluginRoot, raw); + const rel = relative(pluginRoot, target); + if (rel.startsWith('..') || isAbsolute(rel)) { + return { ok: false, reason: 'sound_path_escapes_plugin' }; + } + } + state.soundInput = raw; + state.soundRelative = isRelative; + + let info; + try { + info = await stat(target); + } catch { + return { ok: false, reason: 'sound_file_not_found' }; + } + + if (info.isDirectory()) { + const wanted = mode === 'shuffle' || mode === 'sequence' ? mode : 'sequence'; + const tracks = await scanDirectory(target); + if (tracks.error) return { ok: false, reason: tracks.error, detail: tracks.detail }; + // Re-point at the resolved directory so later relative re-entry is stable. + if (state.soundPath !== target || state.soundMode !== wanted) { + state.soundPath = target; + state.soundMode = wanted; + // Arm at the current reminder count so the next reminder plays track 0. + state.soundIndex = state.reminderSeq; + state.soundVersion += 1; + await persist(); + broadcast(); + } + return { ok: true }; + } + + // A file can only ever play alone, so any folder mode collapses to 'single'. + if (state.soundPath !== target || state.soundMode !== 'single') { + state.soundPath = target; + state.soundMode = 'single'; + state.soundIndex = state.reminderSeq; + state.soundVersion += 1; + await persist(); + broadcast(); + } + return { ok: true }; + } + + /** + * One level deep, audio extensions only, name-sorted so `sequence` is + * predictable across restarts. Subdirectories are not descended into: a + * reminder needs a flat list, and recursion would make the cost unbounded. + * @param {string} dir + * @returns {Promise<{ error: null, files: string[] } | { error: string, detail?: string }>} + */ + async function scanDirectory(dir) { + let entries; + try { + entries = await readdir(dir, { withFileTypes: true }); + } catch { + return { error: 'sound_dir_unreadable' }; + } + /** @type {string[]} */ + const files = []; + let totalBytes = 0; + for (const entry of entries) { + if (!entry.isFile()) continue; + const ext = extname(entry.name).toLowerCase(); + if (!SOUND_TYPES.has(ext)) continue; + files.push(join(dir, entry.name)); + } + if (files.length === 0) return { error: 'sound_dir_empty' }; + if (files.length > MAX_TRACKS) { + return { error: 'sound_dir_too_many', detail: String(MAX_TRACKS) }; + } + // Skip unreadable/oversized entries rather than failing the whole folder, but + // stop once the playlist is too large to serve cheaply. + const usable = []; + for (const file of files) { + if (totalBytes > MAX_PLAYLIST_BYTES) return { error: 'sound_dir_too_large' }; + try { + const info = await stat(file); + if (!info.isFile() || info.size > MAX_SOUND_BYTES) continue; + totalBytes += info.size; + } catch { + continue; + } + usable.push(file); + } + if (usable.length === 0) return { error: 'sound_dir_empty' }; + // Locale-aware so 2.mp3 sorts before 10.mp3 in a way a human expects. + usable.sort((a, b) => basename(a).localeCompare(basename(b), undefined, { numeric: true })); + return { error: null, files: usable }; + } + + /** + * The file a given reminder should play. + * + * Selection is a pure function of `seq` rather than a mutable cursor, because + * two independent requests ask for it — the snapshot the Client renders and + * the `/api/sound` fetch it plays — and they must land on the same track. A + * cursor advanced in one place would race the other and could hand the Client + * a track name it never plays. + * + * `sequence` walks the name-sorted playlist and wraps. `shuffle` applies a + * multiplicative hash to the step, which spreads short playlists across the + * folder instead of clustering on the first few entries the way a raw + * `step * k` would. The directory is re-read on every call, so a track added, + * removed or replaced outside the app takes effect immediately. + * + * @param {number} seq reminder sequence number + * @returns {Promise} + */ + async function currentTrack(seq) { + if (state.soundPath === null) return null; + if (state.soundMode === 'single') return state.soundPath; + const scanned = await scanDirectory(state.soundPath); + if (scanned.error) return null; + const files = scanned.files; + if (files.length === 1) return files[0]; + // 单曲循环 is the highest priority and outranks EVERYTHING, 试听 included. + // It used to be bypassed during a preview so that auditioning would keep + // moving; that made the lock look like it did nothing, because pressing + // 试听 played a different file. A lock you can walk past is not a lock. + if (state.soundPinned !== null) { + const pinned = files.find((f) => basename(f) === state.soundPinned); + if (pinned) return pinned; + state.soundPinned = null; + } + // `soundIndex` holds the reminder sequence the playlist was armed at, so + // configuring a folder always starts at its first track regardless of how + // many reminders happened earlier in the session. + const step = Math.max(0, seq - state.soundIndex); + if (state.soundMode === 'shuffle') { + // Re-shuffle each time the playlist completes, then walk it to the end. + // A per-cycle permutation guarantees every track plays exactly once before + // any repeats, which a hash-mod does NOT: measured over 12 reminders with + // 5 tracks it reached only 3 of them. + const cycle = Math.floor(step / files.length); + const order = seededOrder(files.length, mix32(cycle + 1)); + return files[order[step % files.length]]; + } + return files[step % files.length]; + } + + /** + * Avalanche a small integer into well-distributed 32 bits. + * + * A bare `Math.imul(n, K) >>> 0` is NOT enough: the low bits it produces stay + * correlated between neighbours, and `% length` reads only those low bits. + * The xor-shift rounds mix every input bit down into the low ones. + * + * @param {number} n + * @returns {number} unsigned 32-bit + */ + function mix32(n) { + let x = n >>> 0; + x = Math.imul(x ^ (x >>> 16), 2246822507); + x = Math.imul(x ^ (x >>> 13), 3266489909); + return (x ^ (x >>> 16)) >>> 0; + } + + /** + * A deterministic Fisher-Yates over `0..n-1`, seeded so the same cycle always + * yields the same order. mulberry32: small, fast, and good enough to shuffle + * a playlist where a full cycle is hours apart. + * + * @param {number} n + * @param {number} seed + * @returns {number[]} + */ + function seededOrder(n, seed) { + const order = Array.from({ length: n }, (_, i) => i); + let state = seed >>> 0; + const next = () => { + state = (state + 0x6d2b79f5) >>> 0; + let t = state; + t = Math.imul(t ^ (t >>> 15), t | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; + }; + for (let i = n - 1; i > 0; i -= 1) { + const j = Math.floor(next() * (i + 1)); + const tmp = order[i]; + order[i] = order[j]; + order[j] = tmp; + } + return order; + } + + async function resetStats() { + state.completedSessions = 0; + state.focusSec = 0; + await persist(); + broadcast(); + } + + // -------------------------------------------------------------------- routing + + const server = createServer((request, response) => { + void handle(request, response).catch(() => { + if (!response.headersSent) { + response.writeHead(500, { 'content-type': 'application/json; charset=utf-8' }); + } + response.end(JSON.stringify({ error: 'internal_error' })); + }); + }); + + /** @param {import('node:http').IncomingMessage} request @param {import('node:http').ServerResponse} response */ + async function handle(request, response) { + const url = new URL(request.url ?? '/', 'http://miniapp.local'); + const { pathname } = url; + const method = request.method ?? 'GET'; + + if (method === 'GET' && (pathname === '/dashboard' || pathname === '/')) { + response.writeHead(200, { + 'content-type': 'text/html; charset=utf-8', + 'cache-control': 'no-store', + }); + response.end(clientEntry); + return; + } + + if (pathname === '/api/events') { + if (method !== 'GET') return sendJson(response, 405, { error: 'method_not_allowed' }); + await ensureLoaded(); + response.writeHead(200, { + 'content-type': 'text/event-stream; charset=utf-8', + 'cache-control': 'no-store', + connection: 'keep-alive', + 'x-accel-buffering': 'no', + }); + response.write(`event: state\ndata: ${JSON.stringify(await snapshot())}\n\n`); + streams.add(response); + request.on('close', () => { + streams.delete(response); + }); + context.signal.addEventListener( + 'abort', + () => { + streams.delete(response); + response.end(); + }, + { once: true }, + ); + return; + } + + if (pathname === '/api/sound') { + if (method !== 'GET') return sendJson(response, 405, { error: 'method_not_allowed' }); + await ensureLoaded(); + if (!state.soundPath) return sendJson(response, 404, { error: 'no_custom_sound' }); + // Serve the track this reminder resolves to, not the configured folder. + // `p` is a preview offset used by 试听 (audition). + // + // Without it, 试听 always returned the armed track, and that only moves + // when a real reminder fires — so pressing 试听 again and again played the + // identical file and shuffle looked broken. The offset is applied to the + // reminder sequence rather than mutating it, so auditioning the folder + // never changes what the next real reminder will play. + // + // A pinned track still wins here: 单曲循环 outranks 试听. + const preview = Number(url.searchParams.get('p')); + const track = await currentTrack( + Number.isInteger(preview) && preview > 0 + ? state.reminderSeq + preview + : state.reminderSeq, + ); + if (!track) return sendJson(response, 410, { error: 'sound_file_gone' }); + const contentType = SOUND_TYPES.get(extname(track).toLowerCase()); + if (!contentType) return sendJson(response, 500, { error: 'sound_type_unsupported' }); + let info; + try { + info = await stat(track); + } catch { + return sendJson(response, 410, { error: 'sound_file_gone' }); + } + if (!info.isFile()) return sendJson(response, 410, { error: 'sound_not_a_file' }); + response.writeHead(200, { + 'content-type': contentType, + 'content-length': String(info.size), + // Tells the Client which file it actually got. 试听 auditions a different + // track than the armed one, so without this the label would keep showing + // the armed track while a different file was playing. + 'x-sound-track': basename(track), + 'cache-control': 'no-store', + }); + const soundStream = createReadStream(track); + soundStreams.add(soundStream); + const dropSound = () => soundStreams.delete(soundStream); + soundStream.on('close', dropSound); + soundStream.on('error', () => { + dropSound(); + response.destroy(); + }); + soundStream.pipe(response); + return; + } + + if (pathname === '/api/state') { + if (method !== 'GET') return sendJson(response, 405, { error: 'method_not_allowed' }); + await ensureLoaded(); + return sendJson(response, 200, await snapshot()); + } + + if (!pathname.startsWith('/api/') || !POST_ROUTES.has(pathname)) { + return sendJson(response, 404, { error: 'not_found' }); + } + if (method !== 'POST') return sendJson(response, 405, { error: 'method_not_allowed' }); + + await ensureLoaded(); + let body; + try { + body = await readJsonBody(request); + } catch { + return sendJson(response, 400, { error: 'invalid_request_body' }); + } + + switch (pathname) { + case '/api/segment/start': + await startSegment(); + return sendJson(response, 200, await snapshot()); + case '/api/segment/pause': + await pauseSegment(); + return sendJson(response, 200, await snapshot()); + case '/api/segment/discard': + await discardSegment(); + return sendJson(response, 200, await snapshot()); + case '/api/settings/duration': { + const ok = await setDuration(Number(body.durationSec)); + if (!ok) { + return sendJson(response, 400, { + error: 'duration_out_of_range', + min: MIN_DURATION_SEC, + max: MAX_DURATION_SEC, + }); + } + return sendJson(response, 200, await snapshot()); + } + case '/api/settings/sound': { + // 单曲循环 pins a track by file name. Handled BEFORE setSound, and only + // when `path` is absent from the body — a pin-only request must not be + // read as "clear the sound", which is what an undefined path means. + if (body.path === undefined && (body.pin === true || body.pin === false)) { + const current = await currentTrack(state.reminderSeq); + state.soundPinned = body.pin === true && current ? basename(current) : null; + state.soundVersion += 1; + await persist(); + broadcast(); + return sendJson(response, 200, await snapshot()); + } + const result = await setSound( + body.path === undefined ? null : body.path, + body.mode, + ); + if (!result.ok) return sendJson(response, 400, result); + return sendJson(response, 200, await snapshot()); + } + case '/api/stats/reset': + await resetStats(); + return sendJson(response, 200, await snapshot()); + default: + return sendJson(response, 404, { error: 'not_found' }); + } + } + + /** + * @param {import('node:http').ServerResponse} response + * @param {number} status + * @param {unknown} payload + */ + function sendJson(response, status, payload) { + response.writeHead(status, { + 'content-type': 'application/json; charset=utf-8', + 'cache-control': 'no-store', + }); + response.end(JSON.stringify(payload)); + } + + // ------------------------------------------------------------------- lifecycle + + await new Promise((resolve, reject) => { + const onError = (error) => reject(error); + server.once('error', onError); + server.listen(context.listen.port, context.listen.host, () => { + server.off('error', onError); + resolve(); + }); + }); + + /** + * (Re)start the reconcile tick so it fires at 15/30/45/60s *from now*. Called on + * every segment start, which keeps the tick phase-aligned with the segment instead + * of drifting against a timer created once at boot. That way a whole minute is + * banked within one tick of being reached, bounding what a crash can cost. + */ + function armReconcile() { + if (reconcileTimer) clearInterval(reconcileTimer); + reconcileTimer = setInterval(() => { + if (state.phase !== 'running') return; + // Idempotent, so banking here and again on pause or completion is safe. + if (bankMinutes() > 0) void persist(); + const target = deadlineAt(); + if (target !== null && Date.now() >= target) void fireReminder(); + }, RECONCILE_MS); + reconcileTimer.unref?.(); + } + + armReconcile(); + + keepaliveTimer = setInterval(() => { + for (const stream of streams) { + try { + stream.write(': keepalive\n\n'); + } catch { + streams.delete(stream); + } + } + }, SSE_KEEPALIVE_MS); + keepaliveTimer.unref?.(); + + context.logger.info('miniapp.runtime.listening'); + + let disposed = false; + const dispose = async () => { + if (disposed) return; + disposed = true; + context.signal.removeEventListener('abort', onAbort); + clearDeadline(); + if (reconcileTimer) clearInterval(reconcileTimer); + if (keepaliveTimer) clearInterval(keepaliveTimer); + for (const stream of streams) { + try { + stream.end(); + } catch { + /* already gone */ + } + } + streams.clear(); + for (const soundStream of soundStreams) { + try { + soundStream.destroy(); + } catch { + /* already gone */ + } + } + soundStreams.clear(); + await new Promise((resolve, reject) => { + server.close((error) => (error ? reject(error) : resolve())); + }); + }; + const onAbort = () => { + void dispose().catch(() => undefined); + }; + context.signal.addEventListener('abort', onAbort, { once: true }); + if (context.signal.aborted) await dispose(); + + return { dispose }; +} + +/** + * @param {Record} target + * @param {unknown} saved + */ +function applySavedState(target, saved) { + if (!saved || typeof saved !== 'object') return; + const value = /** @type {Record} */ (saved); + if (Number.isInteger(value.durationSec)) target.durationSec = value.durationSec; + if (Number.isInteger(value.remainingSec) && value.remainingSec >= 0) { + target.remainingSec = value.remainingSec; + } + if (Number.isInteger(value.bankedMinutes) && value.bankedMinutes >= 0) { + target.bankedMinutes = value.bankedMinutes; + } + if (Number.isInteger(value.completedSessions) && value.completedSessions >= 0) { + target.completedSessions = value.completedSessions; + } + // Older packages stored a completion-gated total under completedFocusSec. Carry it + // over so an upgrade does not silently zero the number he already earned. + const savedFocus = Number.isInteger(value.focusSec) + ? value.focusSec + : Number.isInteger(value.completedFocusSec) + ? value.completedFocusSec + : null; + if (savedFocus !== null && savedFocus >= 0) target.focusSec = savedFocus; + if (Number.isInteger(value.reminderSeq) && value.reminderSeq >= 0) { + target.reminderSeq = value.reminderSeq; + } + // A persisted path can outlive the file or stop being an audio file, and a + // persisted directory can be swapped for a file. Re-check the shape here + // rather than trusting what was written on a previous run: an audio extension + // is only meaningful for the single-file mode. + if (typeof value.soundPath === 'string') { + const mode = + value.soundMode === 'sequence' || value.soundMode === 'shuffle' + ? value.soundMode + : 'single'; + const ext = extname(value.soundPath).toLowerCase(); + if (isAbsolute(value.soundPath) && (mode !== 'single' || SOUND_TYPES.has(ext))) { + target.soundPath = value.soundPath; + target.soundMode = mode; + // The raw form lets a relative path be re-resolved on the next boot. + if (typeof value.soundInput === 'string') target.soundInput = value.soundInput; + target.soundRelative = value.soundRelative === true; + } + } + if (Number.isInteger(value.soundIndex) && value.soundIndex >= 0) { + target.soundIndex = value.soundIndex; + } + if (typeof value.soundPinned === 'string' && value.soundPinned !== '') { + target.soundPinned = value.soundPinned; + } + if (Number.isInteger(value.soundVersion) && value.soundVersion >= 0) { + target.soundVersion = value.soundVersion; + } +} + +/** + * @param {import('node:http').IncomingMessage} request + * @returns {Promise>} + */ +async function readJsonBody(request) { + /** @type {Buffer[]} */ + const chunks = []; + let total = 0; + for await (const chunk of request) { + const buf = /** @type {Buffer} */ (chunk); + total += buf.length; + if (total > MAX_BODY_BYTES) throw new Error('payload_too_large'); + chunks.push(buf); + } + if (chunks.length === 0) return {}; + const parsed = JSON.parse(Buffer.concat(chunks).toString('utf8')); + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + throw new Error('invalid_json_shape'); + } + return /** @type {Record} */ (parsed); +} diff --git a/plugins/1602winxp/pomodoro-sit-timer/package.json b/plugins/1602winxp/pomodoro-sit-timer/package.json new file mode 100644 index 0000000..aab6b8d --- /dev/null +++ b/plugins/1602winxp/pomodoro-sit-timer/package.json @@ -0,0 +1,6 @@ +{ + "mcode": { + "schemaVersion": 2, + "miniApp": "./miniapp/miniapp.json" + } +} diff --git a/plugins/1602winxp/pomodoro-sit-timer/sounds/chime-bright.wav b/plugins/1602winxp/pomodoro-sit-timer/sounds/chime-bright.wav new file mode 100644 index 0000000000000000000000000000000000000000..901d0182769fa8a9ece2a1598d08b7d31ffb71d6 GIT binary patch literal 141164 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 literal 0 HcmV?d00001 diff --git a/plugins/1602winxp/pomodoro-sit-timer/sounds/chime-deep.wav b/plugins/1602winxp/pomodoro-sit-timer/sounds/chime-deep.wav new file mode 100644 index 0000000000000000000000000000000000000000..60a87a5c16ca8d3ca7f7051dfd7441befd035e16 GIT binary patch literal 141164 zcmWJtRZv@t7LDT&2o{LD3r-6yb$54nce{0e_1@c3cX#)e(&8TC9tZ>o5F{=n@64IZ z zezW^+@3*ucso(qTxa`qclQOv(y0oRKg+eDkh}X;h%3Mfqp-dv(!OJij&y!-r7}4O`bJeh_dlhTT z7nU6=tt%N@;wY{ymKBGUY$ySj{w{q{R#YBTxveU!rlR(>=&RTyO;g-c@w761e&fdG z`K|NYH(1W}e6h7VDc(i?+h7eWE_g)P#>g|#H)F3S98a2u#SjWfW2m3#5Eh4%!iyEu z3YVl-r$uCtGQ+Y;v!-Q#%5KZHWEW+x&2Gs`%bJ=wG9x-RFVR73Qr;3qd@3Gm`m7;xc&H@g54>))Wmc~Mnqq_r-5gmL_BQwwd=Vr) z5bA4m{kA{uz0!5L<3U@I$z>eU@JL6|6exGfCrihR*NfiQ;%nYjZK#}9v7-DzSwz|W z(&eSof#`mfW|XPQo|QkWsH{w?zF3n|=MpuFyQDb9I+aqhSPyIb)pWLHlX-dPs_vcE zi;j101%My}Iu5Ze3UuW^Crfj78}q(x9oAg;2pr-YU)t))0oDdV`E59>Ix|!_b2G zA*kWV+z3`^WKbux9Q3g7kY}lLoNZvw0L$q1m91BrwT=A@Z?uEeJ&ND5*OJ0|SKZWF zdG(>H>6KF}_LkR|O)dkKsY(r{v1MD!z~x`dZ&p07G*%6*sjA&0njju7T`0e%>{YMO zISsds^Gzvj2^|q#QN37us%wIGgZ~2f4Xi4tG1L;#jWnW4tD`N9#U{gXicG~rKY1Y$}^^9zR7IJG-dwGT$S0H(LZBJ`l7V7RK0Mqpn&J#gtEPi zO4?pZ4CxfU1CyS#I^lHet>}A^*TPN)Z-!5YWCt)lh`Y;f>}~9_bcC2QT6O>|ldCV) ztW^mVu`;w|Q2p6DaP9T#c~zq-=U3b=4=cZ4wxVnX5Z%wR)N)Dror?U*&sE@>&9z~o zvifI|S2D38LA_IJ*Pm|e*WA}4Hh=4U)BV=^!%^!t0SG2Rg^0l+VulufhPB{K5tUmjs>&yn_mwHi^kvcI8_PZA zuPe?~Ua6|6rq({H8()u>1j`Z?BUP6)0o{=XLX+5ZwQY09tgi9B z;A0>;0iKWK#yD_RcK6WEb>_z{wx$`4_4?)71a*_5US^OW#mhwc+Wj>nsxzx5RbHxq zRopCJQa%NU?n^nlqP*f_<&mm8)lD_y>-3^a;`P#1@*~P$>NwqTL$vXI^Xk^r_6Uo; zyUl8Hw7YEpg5l6O1Ue)xJUFT=x-|A&!jL2*W({6VQ^<8y1gQ-*dQs9RV#W`8QM$w z$i`bu!&(Au6&(+|PWSG&?{e+-?)4u6AA=nWIuN=kVkT0E^2WVSoRMt8&Lw;$xhWVr zfeB^*0RmN={wTBX;agVr2a2ur4TQ8!%OBaW*=vs zqHmz4lMRH8xYp#+=qvFO6et=OnG%*8JP1Ark{1~08{{74m}T7pD1EItu5~@YGD{3l z-7ocJx_gAg2K2r0imM(fz zKVQO^5f!Pb#hTZ;xQ73XER(eLLi>D6b`QaZbOw1KeISq@;)Ztx>%xj6Z$__*r6g3L z7h<%yLBvz!FVs@{C*~10pZk%QAeby%mNF?7mG&YnDSdwW&h!=O?DXQa^t3&xS5nRh zXA405gIpauktJj>X;8{<;u3&k79{;l2m*9|UDTQIdm(QSU!et{qP|Lx+}UP>^|HGb zblh)qn-(`UHtf-JwO&<=qF08Kt`+MMPGy zEw5f)bEZ~PH?h7|{6Kn8zE62gE!Hv&ml~6rKejA36Fa-Q%6nhgue;8AkNE!qZ-y-m zni!fE5rI_2tAY7X=D77OE2y5eQ8PX2LTe zLjn_h3*Fls7p-5rJ3IO92U}a37a6UFo4UoCp{gN@C9(&SAn`d-PF+-ONDZrcTUA@- zvC46k11e`%-mZ+SdR(=tdP>dG+M9J=(LOOn+98uFbSjv3nEq}fVG&@$j#+%7913= zOrfX#Ol765OFNdfEv;XgEOlh+#gzBL7lQqKHt#(rkv*HahyD+BA(=sx0vywdo|Nze z(0O{))bQ;g7ZFdO-$6BfMvu>lu@CLt(e%JJ0 zjsG>1TZ_y)Iz?PFbtEP|PMWYdNr}nEA0)mc|D?XA zA7l#Izd0=42L3t03E`|1Na~?fWoi(Bohdax6`#5<<)g4j@RGlQ7tTG#)-q!l3>u!| zCVs&$z;-6BNUV+{qE;a9L{x`bgJR%Z$nd}--#+&pM}^hjJlP(ZO;o6cnqg&#~06K4s#DtFx*^0=AegP@^JRX8;oc&PmpRTCR zwPt0@?B<@v+lJ-35t`wu#fsZ9pX47gzP`0iT5GPM)|{x0tuCv2SoNYxU6oq>zItvA zr%pU8q##?! zukgK5!We1nssuAo%e=s~5yHqZR4=WVv7TjT&*EO?z2`p`Y!fD@Turg0Bm>xaQ(mTI zrd$+I=h632_mCG5nRpduOOh*LbzEf(7P&a$Mrdu27e+3znxQp6s^?YHsuQbI ztG8D-RBx@}*GAW&MZ@c_h$EyAW%Cs2Dz;{TZjIqxBeMB$OQ`u?$LKD9&oA3?=X4JX zKu`vG3f~!=7Z!+khn$J(irbploHPh~6#s_!oBV-#l0J|rW)0_D;ui3V`1b{Kg&o3a zDVI}TrQAwcmI6!pM_4Ja@tr&g_Y8-`zQi=q6KQM;iR8!s1~?{=cp$zDH9q=wWOEoX zWCr3m^dqRTFWNiQwbx$I8{WOFv)VkORouMI$ZhcJ+B7|?c;#$)fpoZ}tNy3xO;J%awI%6N*BE&HW0rJElVcirV`eXR#QgP!Wl1_JoYJ0 zF;~s2AH=KS>|_U+%NWmSB8rMsM!12Sf$^bF zCxpapkC8-CBi4pK4{Cy;A>#rEeP7&mN0#kqkIpiz<9pkX7Jbu&#yN%ox*W}P)j36r zY@yUE{#JiO^q@{uORc?AGo&V>CICb?r>3Z8T5WipxvoU_wT?D9j9(l6 z)t}H_RhKAZ6#Hf2(jVe;^~Xf_>Y8iE*J^A2tJzYstL9OSw`NCeQk}6*BxsANB z{2pML1f$s?*XcB1^&sV4IZ^gka$LN=ez)jF9klL1Ev2@rrU8g9r}loWu+CIhAo^9` zAf`*t0d;nv@}zp5cAfrs!&f83w4k-tJh9Wz^-nL^E_R;u3BkC?4VxWrF!IjDC?Oyusc+F%@F1@slj-k0k=>C)IU ztk=84EvMTtZNE(0ng%!03>4h}%@$RuqQAUGdPFi;Jga_}sGyEj_oH@e?UdSCwa03e zwNvV>bzemH>feful1$kP`Cz3(Ri^o*D=-)u(akGb%G&yO{IZPiFGx`%sC$$%6?)lm=|oAccwGGcEER#_Xn@rixa6`@>FV_t)NO zc9-*>XCi>$8_0ZkQ1G+Rp%LP!=`j_t+=PATZ^;I%1#cw&An&3k((@S(W*U0}X9PEi zSH_#n|H$v8g$XG=eQIjd7NV5r3aH#;tyiJ%A*A%k? zsfidK_9PgBmgK6iyWHd-6H=UZCakF*I}dYj4`KO27O3>utzm(nUfD;p)H zOX%XU^_N6YQGVUTIze4}-J-hpb!<_Y=zsMa#k(bsq&C?SMUV29dZl)per&^1j& zL3$@6o3)s|iZhNI&U?(m@YnJ$@vriC@cH~g9*?)3dyR9Ay_1#7tf7yhJ)$&|LWnVV zC{~knH*r#YH)?-0C~A9nL&&h8`>;On^uQZmxM!VHY8%n}w`*)?lld&bGD%I~Mvwum z8>hLc3Rhm0kC4SngC!X8wEB0VG?BXQN!@iIy572JBE9HL{Q~hc$vWv18C0=fiB{KX z9_TI_t~P#dYB!~}oo#n@Zt8aQ9<^g!-#l{x1Rp?#!Hq$?LW3htM?quO#umkgp>vaG zVdvvV5tGQZlod2RJ&U=Kb&S1>Gm2~D?%`>9Xug0?{E}FPFUP(IIA(Z)HTGN#26;0A6?P!F1wIP;1Qg_7>8)~QI-XjoJufXoJKEar zwybR)XB^rvO}}4TtY)a5Dn`k}WStVLI9a@+ULjg1Vu*r8k)mwT|3m@N)%uy@ev*OG z<+4}uc;zkC5Di?{pqDq8jG?9>t>?|1fS<4LnPF>o>~_cc-ufqiJD|r9NgkT%un%zhbH&`@yi2@ayh7d`-Yi}xcOLf% zr;aUUeP-@rB++kBL6i}sErg@E{g@?5!o-fa%P2wgkI3Bc4bzPbf>L1F93Yc6et(CNjDdNNR!S!!M`$U_7=t@P* z`Zx7+#7s$&lqXvv{{qz6zttPH{q=+foH4a|Ud#11bNgt^=We0(gFVkx?^y{Tcm=|R z7X*zCtqva+^)@;xc3%9|#KI&ArVjU>u!qE?e5JDK`xtMSg{(L1e>fEGQ*JPCC~r1z z3@?FKz#YuJ!_ly9EHkr!v4tK)+eeX;;)q%J!PxX<6j~GiUu^#vanyo{hS1r;Rq%e$ zhajYXueZ~+#L-|~)#J0=>=r6h+j}t*@ZX6a563z)rj03 zi3mRt0t?y&YX{E_)c6K_zB&8Z|MX7lwsqcXUkI>FTyvC>&@ftmR@W2c+U8#51?-f%e-4ZR}1Ctf2l}go8O}MUB|Dxfp@kMiW3&=dI z*nY|?(hGu$uCH-KZd z#b?B}MxTx%N4yD53w{S@L+^pm{tMm+_c=$R?Rn3rE_=rt^FOU~OcR=BHtsfj)P-vQ zQHQEND~`xF%JxZLNx+irVx+jb{#E^ldTl*hd_ydhv`PL-3uJ0}qH?RsqCTR{&_fzb zjg3uK6S{3;`;|^h*W}*cwhZS7cc$;Be+al7ItEb|JRs~j;OQ5~JdM@IL(tL5Vc1UG zXToxlhrEeeNrN-+%tTf<>mfUf^O)1iNdmCz<9y{z;uNzJ*uz;esr|e7mE~lGpRV8tpjd0(UqFk?hH=&CE@V zNpvLb9VLT&i`b6GI(Zixz!uN+p1z&+R!gCH%ozFwkTO+7e$Hdp>3~(iL$nEH$JUF$tyuFAkV} z+dOdBHG4Lo^p`EOI@so@)*utADZO!n;jd1p{jOfDqASA`NO_uUkJKnxCrOsHi}gTs z0?8Rkg!Hv^vuuWZp5mag7^t%!Xmj=5h98Z0ny#82wU(G29T{DRdo~Phn_1&n7nz?J-{`k!OR3>Nw+TUbvfAZfKv-HmGGp^Ah8w27`X6u1K>$ov7+knB+cLs_e8B zA-ykIA{izbE!iUZDPc>$OV`Q<$c2ib%I&IRb&B?zZmuD*vBM~9mb94KLOXIT`@5@p zsrIAJPWLQdnLi8s7>Yvd3RZ>+Blbr9jP623#}gBANeGMrdjT&bekKtq>!~+sujscJ z>zP>Ab5=Zi0sAO`-6}Sn{g;))`j1)3XrRk!uc#|2F!E8N8J~$;gE^6OA@NxJs@R+u zF!D>pvapblM~GZlJ$PBbd1udKi9ku+7>D0we=3`FOYOqSM4*UR|wC0g<><>xxhE9@$t~xpbwJAq|rvrCHL0(oX4a8AI-rn-n%BLA^>-tDUItFx+We z(=^sJxOKF7X~$W>&j(wl+g~_?J*#~+{uJeMoqMKAt=g z3&CF}B$4)#izybWhi0O`W6Wo^F{iMuv3|4uvL3LOvcRmpOa&u`!J*S>FzR3OGEygD zHvSdXoQzB&B@*HzV%ws>MD3192{QzrK(JsH;1vNx-($~Mm&^VFQ2Nxakj^f%skPe_ z**wU2s==aPtpjU6sE?>NEB7m2$lbE#GQ0Glbcb{e5ZyN^N_JMpmbc1_03WDUp)@PC zO5GAeP~%_Y<>tLDJKK)5-|ejKg7=QHU3QpVL%eqZ1Q$Slz~X{dg?tQiM(~icVz$Qa zkKdU%KZ%EF#h%2+5D$>*$-z_tEs1WYzh;bL{$VDuCIYd|V9{AJ=2E7Jfn|)MPooW` z#!|{i3yE6%AlwQI)F0w5xT^`kf6_V{22P>1FFn^Un?~;OB=}kJ;;;WY2D&*v|zYgKFU1;GLo0 z08fvL&Owcd84{bMfE`><0AkH9E;po`4$=A>y5`M(JLtTm96qO6~wZ8q% z7u8|3KJVGzwV-nXz%q+lPBi~D#x?FYK=ik@vot(4QI(=xtav9U%iqhE$+Bb|*Qf*Ax#mcjuu^8L%Y2*zI#~jKHG0csC$<81%TjG z$YYotF(BkX*q4arC`3#`EIK|U(S&}Lyb$Zb{X=LX3djp7TdAvPd2}cJECbG*!#vM? zz|3c^WTKf*7>SG(^nBVA>UGK{GK*AB7>ECY4aba1+MIYi{(rH1V-^8A4+}2|IT(}< zH$g6ehWLBE58d;C-gZ;(=k80ELmm6fr(0i`8k*R~GYvt8Yr2uz7>!%irz9vBDgMfb z%1yGTvNN)avM;iLY=yi_p08M-9HttjUZZ)ch3K~%ppB1>OPW(#651l#V>?-0<9qg6 zKiQqm0iOT)6n+MHJG2lU96U1g0O0BCkj*h>pq432JfAcQ(}CTNZzT*Q?IvHN+@Kzy z4WqZyH!)<4WM&?K9hKR_IKc=8T<$Yk6}67?nS6*OBo^cIaQ87?Ni_7RgjsR3P@|&R z!1S{^^nCC*1RVAiye>fOlY1_>COeV5J*wBlRlHor0^H0B$G zdXx5}=C1mws!kcF+@gX!YlL+C zXDku3E$Ks|KHeP*MtP8?$dd3Ip{s+12rKj*cte2KXYssu?Q=}Dae7hRK#>Tr%)r)d zrotwY@md4RAkkgb?$T^ipHr16G0KYynnEpqEq?$+XORz4d{K;529$NG0(GUv3e?&E z8bTYd7;~B(rlQt|=F1)VmWSQHdz)=2=ScTq?{5IXfsnnh&xrP5bXac0^r)rLOHfnd zgbDt{Pf0T|P1u?E_XHc@?8y`)RZl%nBhfF>Tj|LR9)rlR(Vx)!)8EkGv>fVm%4Bj1 z$w|0}Ps6>$Ad}~zF9RGSLdl|QqP|3230ohM8x#buf}8_Q_9yss?&r>Z_Sx3Fo|GVGxQwOSq9aG?QdeAG1A6w}(=R?+^e^AF(XJFPK}fv(M-r#_<}3!VWz3;!L|5rPb7 zM`k1Y$M9og;*AM+(PNVJn7O#$_%LD)X%cxfg+^_n9-$%VE9uYZ)$}_02l@^=hJKe8 z1a#7NQI3(flg1JegeN!w_Fi%ydT8R#_-nDxV_qWfN1hH}8#**N4$%O82HqU#*9Z4X zTu&WGZEJexbkDRb0a)f)Ynv&j`GJwr_}#EZpRP;NCTp_PTU6D`p-Q#lf?~O14iMb~ zg%j|AUgdMuF7;B)8toZfrJmGqp)s-PQ}fCeZX3Ma(qXc+cl&x1?K#dB?tE`0fM7ag z73>P)Z?Gv891$HA7afM`jV+5motT@XNS=qSz~KqAiF-%~$SWzS)CTG%S_3VWzKp(; zzLq|aZlnE=2BOWP{!4jFen-kDE+(Mx&#`RGr6hAAJ7IR*4%D&eV}Q;t2^$iE3F?Lw zK+b?>`x!ouTjYFY|JQoBXJ6N`&YSJUZT^-qrWZ|QDN`&g6YOy+3lcpW6+oJz&NN)VsNNO%I?Q0!nrglVI!n$L6DYk)* z#jaDHFTPfPB6uWp8~kQaL5K?Q^xaWy(PGrAxE%>xbZydHOg&bB-$uAgd`o&n-bcx% z%Ba(5A8Ae+8o&-jFQ%=g^-||hA5kRaW|E5dk+2Pq#l65#lTV;!2{G|GvD0G~BNs+a z0s7jwU^l!LdJnucFrp9RwY$WQuYl6u>waSS0kBML+nkn<&D5snjUyZU`WoFA?N5zf zjZ^Pd*_5Z1LzHM`q>`+hu6&|ItDdN)s&N{)Hb_U+&ojJgNHFF%aZU1;OKnTrhjylR z@q03@qwGtZN8Qi8QUF0VWEyM_;(GAM(30@#$TH-|n15pz#bXmo(6f^jn1Q&n_`d`l zQBV3yK1Io({-FwK2WjtV#k8-qv$UZ!HFYZW4aGu^BFB*egj)PD90mI#8Jn~#@ejZ; zcvMDo9-#ArFm#9yp@hAM{13Fq-_IB4aX2;hN^23I6RJ*6JIlPL^|y)9{K(k9vBmIG ze_D4;dqY#B#;Q-MP^urw!^&04b;=7$u`*TlPBlRttkG*kTD>mFFsk8xV{Frn=B$>s z*5~H^9g8hfyC?O|wykj-aXs*q`a1n6a5i)VQtb4>=(i>@(bEQ zW`B;HH(mHKwKqK?3*JxB|5$Fsz;$^K2YnoTW612GT|;LNyD{wJu!qCe4htK0XsBq2 zcW_{kKJWU#^Z_q(5dHJA=VvZRACVd_tl@3uKv)Op-N2URBYZEg0ktLJMXWIz9W^QZ zbVwBf1zQaM;V1bnyAz!+Y?FFJyXBqV+dsCIwpg39nyxgW8lLIr>v&p>hM}IM%2)an zdjaNA%HPT#$v*+L8(nc!(Wf}26skH@-_^G?|7x%5Ug_%%kj8<=qfL@#R?G3$*0!Z7Kd%FzX1ADJoEw=uS{myT$c6XGQ?n~+8`!NAepbT^rEQC}-ra~*AeAq$QZ;h~gtQ&d?nh3oLiG=I~D?urs!+~mljDJes1z)u{#5>G$*j?-jbxm_V zas=#)>@~JwwleEXtE2Zp@1kB_Z$xij52!bxH?MbJZ(VPO^^G;p)?~Y3U*#C>9OxS9 zUgEjnt@9E62LnBzjSwI75rjJoe1=HpRsE>T3~bQ4S$OuN%&BRN?DR}DdjOR(_NE-0cO?7!j*#m__ui{xsy3w z)?sERJ(ISSvX!)gkcaapKR~Adv!sZa`B68*D?{250cbEd*bnhKoGmt4PpRb_Fe!W6 z{I#)4->yNcX2_pNBI-}pVyeq4E|hIA*Ib=Wy39_Z`m6uguh9Q6up5*Iwt=reSkULtB-jqv9~dxqhiAhFz*FJza5L-` zYzZtB_5dn`zJo9zm%uL26wu>p)TnE5GZLcFB}v;cINVSCWTKihgYuV3ps!)vXO^&} z>?+O+?iL<_|BlZP91{EzXn^OZV4nalxWfnW2k{nh7jXu$A*}lh8vPWtp4>+aCxCI9 z>t&5!>QyE2z*cAFINC$&JumPcOAh5SJ(K@qxapy+!;g(xXe;ceifo88#EgL7P z7j38|SNB$E${I_8ipTtYTbT9R`0L%zM?VU`L%y&6=KcEq>!q)^zly&KzJ2_*^n3pw z{eCX|^{RkW`2EkWqS+<$$_`bOR55Fxh=xksvJ&Mp%{~3g#`0!cE2m>a*SFpX$5Qt% z9~!h7T8c;rT@Y~-S&Op8ha`n#`|xtob?OL)f;FD|nBO4urP|Z0GY@5>`tQ#v$!!_X zFz{pEqCuuXLkI63d~)!n!6}2Q2Mr!{G4JQV;sMWc*XKm{|1aB}IXGi|+QF1Pg84i) zrwQ1yBvYT0XoP%hU(&q9&v6l`MaT~kp<#=If5WNJ3!q^CDQ_~+Ph4qZ^m@7)IyLQ< zwuIIhrngO0K>z0$@Or=2qlwWBSLdtXsaJR>7N+>Hncb5n&vd$HFdV+wdI?8fR4>m3%q-N&xc-wZL&SzA#nz~Q#_NrOMR>R zmiWg9SRe=JJ$M1c133!yLzlyTz`*b{_;mOR_)7RpcosYuUIE(+Bg1|`M?otggCTFg z@!+kX$^bU7#{a1=;2YsP=T&&9o~`b37uj{hX>lxaXzk1FZre56NE_T%Z+&IGVZCO3 zX05Vhq>(5nYtD5M#sc#|H>oNJ_GRx`XzDUc=BZfjJTT5GR#e#T~_a0ZipF zd`3!n$0zB?s3>$ebA|z~4 z@C$f5ga{hnx6P9e^p|8k4hy;?uWh~Qq0wYW)16a$6+2}il2@WNwRzS2%Ixxmr4Nfk zi_ZVaECm1V`UU=#{WJeZ@{iK**S=r+{^dL5$F?6)KSe*k{i-Mc70&si{=2_;cqy+u zt8!8GliKk5Qxb|?s=TS$rC-&!x_Ni&mG(l5wTEk8=X&F{`LiIq;2(qA!xE$V#Y~8s zkvJ|n1qUVmA}^+OGUl=0am{>aN?)oh{cI*V`@en-{X=sj2ABuj9hj1LBhQfM&$H*1 zVOZqFLRFc&*>-08khMzy(2X?g(OJg`Pk*mqjWyCk~E8;#!gKxO5_9E z7f$4?$REJ|%>NJ`=tgk2e~&N5^U1l|&a=XLIxXf7pPACOq~&`vyXj-&%!UL*x2{=h z*AO+U05?2N)vCO$+^C!f)T&36Kb29cohp~=j5<@}(3EPQ>Tc+78{RZjH#&^0<`t&r zEsoaV=4~KTHf=2sJ|HKq|qh;D14uz|cUx-_)1ZcgR=g zC3rV`%H34=aaWgfkyGth=;*SavZvbHY_DvGY|Cu3Z1ZeeY}aj48_|Bi-ece92zP#T zZgdTB<2+Gbq>tP;%)dSG2?T@8hZe!o5U+z$LVkvh4{wgxABBnj7Be%}9(OK*ivE~1 z08@a?z~3W)NmIy|D5caEnhls%i-1|@RCX_WJEwso;4bCWw)_V zEF3e8p{AXsQYg1bK0+RTHFkIM7WA|PVw^H&FA^DfF$^BE8c_sAfoJ=#0?sJRG03{T z`&Fme%x>M&V{DyiTe-phOlY_Sq|3`_W?_yT4 z1Kb1wGR2&FKRqY&Z5FIwTK@q#)Lc{Up#iP|qXuppxChA1gn_RIkOpkYy_55ze}2Ek z*^yZ{G9uHLrrr_$<=1kHflc-8^fYQC=`bMycQ=`gz8Q~-JsNF~Tox`585>jz8wn8w zmi9rsFI~$Wd|Pm@t;^bp=-`>xw*D~*nm-w*0o|HLeVtCJ?bGCHuBao`w^d_-I^3r0 zQo>Y1)ee?Z_tpmE!tnYNBWzF`wgEPWkyhQnrUOp`&M7usP?NJ?VSU<&UYJn zxYq5qZ+54H$&WG;Cs|}-G3-B2SfumfX_gf(2r07>>A7l%Y_483;qHA1O6U< z1Nfc?_XC+b3DySP0d+&RK$^i5!0&)tsnvl(f1H11-*;b>Z<+U(2jki2ZgI_Y)j20S zb&hS0L`RwZsC|;1ZI81@*^}()_Qm!)_HO%RM~P#cv)OshHO8Ijad?`&%|2^ibRZYB z1N;kugsq255yOLj0ZRWTd`zS~YI(Fh=5TCO{FMX@`dU&nWrXgFEF$%iqo~QW zSh|~D&N#%RuwJtW?49gSYz14-u3%qfk7nyx(^+qros4is6x~MsMOj1k5w{R(aVTtV z@MwF*WJLJ25OmOKm>oPd@WK~xk8@tNHT4L)4s=M{_$~i7ff{$|1DZ>! z9EDx_SNuqHr}lkyLnX7~Y*|d{hvMx;v;NNibF5JGJMXuo;7q}qf(->%3R(*0{&xKS zRCxW*gTJC8Qpu%KX1TuNW7X4|?{#hUsnW~xXw`kqXyEpxuIWWfzWGe&x$djhr;Y-* z+}9Hbf#MN@kbdDgQK>OF;BulY=?IoXC?Mrh@6jzxJSUyU6$GdJO`V@E&){b*%ihs% zd4EBUJZEO^r(8=eWI%83&)j9XZ8>9dPW6A1)$uDKz0c{$B2J_CL%8 zbOE)8^nfr1XG-3Mh9#Vg4UIVwg@`yBiU>XpPk=rH4fD5qZ@T9?S@vM7quXf->r89k z4EUuK)5oSsMtGyd@I(Jgr`Dph%QW@s*=nEatLmKUfa;{`xvE)}p}wU~*1Xb8)kf-6 zx=;H1hFcAf8-E(LO~Iy|mL08M+Wh8`9hW+d7D4ykp3>e(+eG_m#~)|6D-O`sLB8RA z1O1#pC`b*u37!bCK~6x!VFzGFSO$C-{5iZDZh$w!W$^Ft3-H z?Ok?)V~OLF1LM5tOmcm2EpR7!T0BMGH@+8rU;Ltg3vlXdpdVqOh?POL!8xIC!Wa<` zBFV`6(PY%!SZw^IgkbcxBxQ0s_86`b4<&L*BgvB~qp5rvnEsQ#lwk!XNtMiK)&O7* zF#?z&8JWkKk<8tUa=MomLkp+2lV6c$5S#I{fSoi~5(S-|kR3-w^&yKQcLS58uR+7% zrI3N3SAB`zy)L~y&w95TW?9p&XdP=RH%{Zn1IyKqclUg7M*tA%}qNB;=_LW&$k5hWu^@0SrOepT+No?bg% zv_$-`R3pz-ebfxrH#S^qn%TlM2X%IL8G8ZIbm_fDe=FDwYXh#A#1Y?-S5PbB8E9ql z4jhEIlPss=7-LxrIMaCoL5J{UDk6Px#?8!6Sue5=^b_>|(Vv>LI_GrG$(*G*$vJQO zllyP&_aOU2*2Byl8JzUu)FCO41U)<|cQAVlGmlQ8x=23>+i_$}33^e2BlcJf3VADn z74{`~6ha5x1I7oceaC^R6W#%~S$mva5thu3ZRWDpl$Q6+W175;#SM=Q5A@%3W^J1G ziY7txM!iJMSI4SRYLq>1yDAHH!KEr8%l=Wfy6-$gF8W!K<@)FferquK33mJU%Pjr z_q&JXx$DNeAGy*2F5Tv&IgO52j$@8>j>V3Zj=he14!HyC-0IXgr@3^1YomDdp6A|U zzKwmW{2K#DKo7xUNEmE9{2HPwXiUhf(D?8}5j~NMk&@_Ps1LD(_!9}{#9>KSk{d7t z+!Xvy!g*po=^S}0WjGa1drcccFQhXV+ZityWsFM3d&U7qDx-ovoc@T`PK~3IDe>ek z;!DD0ycRnV^E|055exX&{wPj#c$7N)TIkr|ZutM8Xz*P>(Rafg>-?WB(6ha(yJNlC z+HwHc4gG3ZsiSGEO0m2|S}krD5$e|0$f{;ly2?M6oi9CA@~F6>Xh6}=zYG3S{)Yce z_&faX)xXH1XGJTDN0f{zU0?RTJgM?d)v%i2x>k`1N*-JvQBaq^KgQn z!rauGY1(vOhC5T5bvB#Y?`l7DzeFH2!~53*H@$A)CiG_3ugt=XN9pU+l2V@uiGuyS z5{{DKaI5jQ@nutSa|_V(9@4hQ{H5L9kz+Z~Rn#5aJIZ?8R%o|7NUl-t z6`p^*$9>29_V||s27)5M)!=;)BB1mAV6S1ZKppx9-U5$A&=5QX6A_27!vDgL!w16K zVW$Dt^cI>4{QzM@Zh(Wq8$r@QR^Xc7*EhfKuaE7!>_vF@dOYrZ?lAW~*I<{$`Ovw_ z+0U8iggZgbP$$_r&UwsP=VZG6b49wZy3>FRy$1NUoIZ*l9l(G%;1Q7Z(AzK-92c}I z_!rEbe$#+z8a9=#f!^ zh@dc0@EODaSTp!=AgS-UC(HHMKGrJhUShGfpJ=1DR5tBt%rt;>3U#6KhrCj15i{y{ z)fsD6R3oYiE3THGD|=9?Ea8(gGOu1<*%=JSJji#QKiVupq0q;!*%gb%pGn2||Pz|Aj5 zMMZy#oEr`WcJZgfgP^}ad;PdLZ3=%leK&GqdecOSZ|_^uV~caec#1 z!*#t(#|EZP1nqClPR(ddswQ1CUb9#8SA*A{)1q|Gb<_0G2Cd;M&=0<5yw&uwxzyCw zf@&LL-qrrTqq~#ewW0fUPiHT~w!nVTQQ$PWV4h?z!^i3)`6C0CKq2Tjcp#(|au|w) zodNnyv*1tQt#CA=KVm#$GGZh`fCxh<;n(4l;6B(*SQ_jPbR@JCk_UMYCV|g@9D#X( zzkZhgLZ8>S(x(ELw8}HVqjIlzhq~Xombi#6v$GJ$)O_H1bhjXIv%N?A#%C1c1F zNUMme36t;yoE)<~Ie^}jSREf1Hwv{TdUw>Wh?QZZLa;&2uzQdhAejFdu=CUIIBBEx z7IiJ}3~&G1y3WLIvNe?JUubUwH?3df4N`(+TYW>_@>+OJLDi+o6BSp=OUhz_e+Y;w z{Z(?NWM9dJlH!u&(tk_YWu~&i@*fq7N>uf_nx@)aB9_=8(a6-meI!ApkI|G_|3dqx}threWf!u^;J<6nK{x73C-J0f2HKlwOt`!9H zPjQ{>ajdh9?=%_3KvEORa8EFMlSU?n$CslHMrTB|0dvub!9j>W&_m$S!24?RC|#9~ z3Y((W-c9*GPhTC~M8d^8v6;9_)269A6n9x<@x^6vcNPkZFYfNLz~b(@_~K513U!OS zHfhr6%)9S9@4PdILj(NLLvHT9Kf86!a6GjoT2Gprf^v9JKT9`U`@3d|`kKmLHy$?9 zKWmd~Ej3?i-qaM-G}JV!U0-Xcom6M9+okHPj;eoXZfj5Kj)G=!)A-S3HVdrXY>VyJ z9eQVidu;t-&o?jG*UCSsaZBK0@OkJ<_($Y3?0+YTB}i9NgmjZUkfH&`shZk@c7mp( z#Y1h*Ko`R^1MQC{qYm0F+En23Z&G_wiz#C$mE;lRFQiVSYls9{PuTEL_}gg9=*37} zm3QP#>4g3hi2Ui6x!I>d%Xm7ZE#2tAY z-G%=_j73I}#*k-IHc~Iq3Q#h=BVz^gISb+RsA2D-S2kO3Y5GPFk5vOIe*#my(k@HFaa^uGH13BU7cRFH;7lyiZO_o|$wY@lwJW z<;M6y3Ub_8c}C0$X+Ydlv`TP}_n7m7^^kEETT2^8QIJ&liOA3pHSo|k!z-!(>|AH> zY$Z%z4QF*5Gi#n7OZDe&Av7dw4k>NwEEKeuQsf=IGb(!{DvP zd%kyGeZ2&f-UxG%c%QNySsK;?U33LwRyE? zYmK$t>+aOGRDD$ap-$0QHLtZ7b%*r_49ASuOz+Hk3)|MgKF4v&`P0R$@8((Rz0y$T zBQ>T6dIiUa{s{jW$%{_G`w?kK1M-;k2U$$H4Rii6H67Td3R)~W7+r$yMvtHe&~@k( zv@J@|UeFfOVrfsQL#S%XY>JgUlUzp{MtYC5M$QugVmF9EfvKym3NKp71vGCES{&-DlaDdo)`dx zPfnhj{31D=oSM=$rA3M~MVEXmxlQu3q|Bt%iBA*il=gV7;!WI+*iP~a*<@*nxQ%F& z;1$otp|hn-DV>EjP)bNQh}F?P;9f5BA8r`siFIoow{7b!V@#b5S-NCRrm9Qr)av7v z+VXB?4@x@!tSLHDIJ;ovj|ty5e0!Uplz-}Lhp*l*-@bhKQujsrb-`ET*R}a=zOlX| zKZFH63-=cVi`SOKmz9-YsoY<^zxJZ)n+DSlH{LeK*!DRD?o*x?zHg25Lfq&B;&*b0 zdK_!b{LCJ~D-#S9KbDH*lj2UqzfFLURLbkLgBb&|Y}t#NR5#6PHV%@?Gav!#Z?(TQ zv(1b)XCZO^q|K2w!`gUS{|SlSxK_Pd4r|e?c|0VRH#HIE?9Qss=#joY^;YuN#7bqA zqA>P(%xURL@gSj+Z|6K=ZDtI`l4w410df~V9@!Pz5jg0-+VI^&s_*Uk$3X#i0>^UK zG~3wL5UZEy(zSy%`_v}YC{=CU>bjP7M6Is2uGU#AsT*2%u8yW!qr%h|)Ppr_ZH4x} z?zn!pVW;ts>7x0CrOryR=Q_qace`G?-StV{p$%(%m;GNG%>e?`Pgz77WdSQ%N?b)2 zlCsGaRn@{^l6TpmLgPua~q7TuV=-=ov=&3w3pSFgUPWwO|PqkB)0{gU_ zTu+)!szrt%?}#?UH9P@77L`PgM&ctk!oP&8L+eA$LZ;yL;ELd|VEbS;Jni7CRlx_r zK=8NF?T|8jDx4L053GF>uEXyUyOBktDdcg0+2+yKp(n6sbTxy?YR{gy#T3M2QCziNw)Kr;@%WnUfqzHA(*_ElWyF z`Zuw8;^731Ql@Mh|BIq|96Po+W|J&YdR43xZ4{L7B-}pidCU#;UFZ(#TJl_EFrFKs zhw2(1__lc`)VFr=9d2ud`IGUr{=K$T?X63!omhRVl3%g4Oi=pZ=ltTXMOlTp1%rO< z{I31>`!{R;iTpYFqw=Tb@5wLE@AmD}xB1^&{16w23Y!JtzhR!0pth0l#M8tafl`0ZsXSrhf2=N4DuL7M`ho{ zp2?Z1jgZ71lvR@5t;znTA9CxORW^UzVtGq>tCOve*1aKbzO?nE*4eGgTg_}$(K5H? ztQMQ$rp2P%?oER^$FozjPGm&VeoNh%{3NklX;C<1Eiu*758|uBZTu*hJB!2 zq--NCB&I~ig(n8*H}3G=^IGbgxwko8_PMrz<%D^NDb5(tdvt_0Svy{HTP;-|Q8iIj z)t#(|*uh(C;y9G;TEQGM}_Ow3gTc_5^2t z*K+s8`eG06&F~HKFKpZcbN*rIMfgSJ-{?7fGq9o=BqQlK`4>t#Whzw#X!8UiJ>gJ`&Trev{nrEF=;Z26Gbrg4$D zmx@2*rONBdCJCn!!U??-*Cw7zypwn}aaZE#L|)?EgpLWfluYH2`1Ok8ai?N;$!El5 z$*LsFz>&66pysvZu3cq8ks*5TIR8*C%DQ#E6_~|L~6$%Rb7M%D&|8eMh$M3{94LroRPT!Ay=l-|= z^F6arQj}2K>*v-I4a|5$#jdKpHF0%RHKOI}bBzquxch`k_Zo>wDD6l--7+rw` z$t!3L*gR%6`&Zt1fnU@W{J!TQ#rr||Eb*V@S*h{q&ojDZ-O46%+BF@XJG@!D=F#R? zTC{9=wxzpeQmZztvRjc`y=XbMWmSu=Ew(lPx7nxMH%-qqnVX}?ew^7g<6fFDb#n3< z;D_A`G>$J9$e5C_(9AF7K4c$fuAxsu2TJn3bfH|7CWhFNG+D-v@x}a*pNyRlCr~_642Um`@1?w|3@Y0uOi5Uturgt0!Y>J= zgxkvA%1`mF;+lT=ya?q){~=i9zo;g3FylUp!=22(Dm03vvi9IK92nm@ zL7t>ZKAhS-{b5FO)-p)f6*ehp`XYB{vyRQbH}BcvWQ&Rx{uY52H7zc*7}%nw`Jm>P zn`v`tx!k5iPDS>KtlpWm=~KX^&?0$#;%lWxA&YAv?Y3)<+Hl49!LMrc0iNfCc@aAFE)D*YIDm{MiOKKDvp}EUPNmWo(@JSs=tA@wT8es6 z8pg!Pm9N4Ei@R~5FM=0@>bL15Ac~S!DBod1pBjm(MJO#fU?HVnK zEQ*LDuft2jEyKZ3e&|YQUuYxL=I+qN(C1Jn)IPj9Tm$OCzu>ld86AlS@vFpCP`P}h z@8sK*zp2|{(yzhR(YG=VFi*2?vj5}cb1QiUzC+*<){Cs-8p#LgW!ajTzH)l(^VrF8 zjdAM~e#M0N2l0*ZnNXEOm3@@i%EtJ+@gw4OiV3iR^5X`?E|hPGSu2|@?J6OO?+b?t zRJ@7Y@9bRG2F53hjJBeVC9gyd;1?oyL(c+l{a+diJymX_({Jb4vMobQ>kQ9yh<1ef zaa~sJt?C|Cwu&p|E6b*oPA*yg^K!AXXh_kw!s&%lxDrrMP+AZuXjga;($}Yp1{TYI z5ncj{uk8GeRv-6E5aic zkT#KXD4!_5Q!A;1X^&|_bTWDlEkVPm7)!#EF&Tznb?7~G71|N4r=6ztqUoutsXXc_ zN;>5hxjFehsU_(Fpr%JeN8&9$5U+_Yin61(BBLT`cwjgsObxq$VX}naGa2p> zo)0rV6dnq@^EjU4WFHWIYrg#OFs))~xZyGO;uZQkBLqSq( zj|;_)jy*3gj|s|98A)mpzZ7i{wt_u$CfCd!&w9&HK>p)4)l8O?dJ?muTf^sq&l-z- zW-kJGsl9W&eT(%Go@J^a<64vRpvl6f0&vZcnhkEYvDvX^hnoG_tZg$@?jO18rX8BD1fRm)?5kNj zGe>1`)9Z6^f^`)6WDHT&MP;x1c$eqcrNxzalA-^HT#8|?BFU1-7`Dpj3DRMZ{ zFM@%i^i+67czk$3xOe!s@Wk+{@TG87SP_{Q`4Gv8o{lQ;OL#}3lGuc_gD(1A``+|2Lw9tLRrJ|AIrjn@Sophb7c}!W%0(lU0QC)2J zxP5Wo;sP-F=Q2&4G{7KZ=piN>T{VH)RVtz8KkZ6=A7h$XWaZkW&TMe`y{xM(PGg^FFuHi=)82BbVrWv35-OwYQkrP)JsM3CR@)AVUme(rBjmw)Dt z&us$LxvFWT$+RZ-a!lE@Y<5;OqcZ($+VE6w^2Q`2F;7{bNRFE$za%S%sgfe>#vjf7 z15&*Q=oipO)bC_7LMNIe1H zI_vIgJ8CPSN{4B3HA+pgrh{g>=A6c@8LEA!?WHT%E!U?Tw1ykTb*72tK9&yFR<_pm zPL4j#-(B(RGpBbtbH#s*?TvHndtpuKF$@~h$277k*q=F1xR-c)`AY;Nh0R11 zae?@tz=yL;E{~h-K||*)33T^RkO-&6|>4OmIX_vmzqm9mvkt>;7)-1C%dG3 z$$^qk$=cFbNY|Y$-(ImDvV#TH;@Z4Am1>$Mti7n8WXv|xtPY#jp>w(FDGiDKo`F9? z$0DEbMkIqWinal}#>i(GIYAy-h={$C3fUd`^0=m;s?C6O-Qbjqsk$^)h9Xm()sXc( zdv;DFXK9m?Ci12|n+|K*r)hFiU6Y+nWKDMGn6q=TM`ta_oS!i|JvYsrayGeZQhq`| z{`dSCXcZ?8tJ2iX0{~h?n>{&_pjrhXHc>7}*^e7ikrdL`adwa3D+t zcE1aB(2EgEq(k&bG#s6eTR@*DAt&L};v`)pPo-o~z0?o1ljsU;G`$leiAiU@2EUs?BGe0SivAF%N{S>)r5xD_nLK89j60^ce2@IS+$JZ*qOn1Fwfwq#wp=8? z5z`{(qKqaRF5M@2CN36L2@3^}_`7+-xh&2@)-a})J`+>Z22&rA#iT!o7g6T_-j!N^ zB5?ON>V2*r&Lei0b%^DeDc5*Q-(FV)ieIkESNpBzQT2nW_m!54)QTnL)n#MKT&1T< zr>f$DX~3v zTymYMKj*#ad)ZhP^n?X?OJq2C3H2a)lm3=j#D@3`|A+92_^5PdOeT0}{)%TNY)y0} z{hG2V^=8_ubjZqQ&dE|_Kg@2Mb27)0qiE8mN$V!DO^o35YL)YEc6|1NtZSLyGpf@| z(w?O5Na>sGOFWRERGw6@p+Y~)q|$NXW5NPH!fV1A#ahd_gng$qQc}nxke&F)2s1ni zGHERT@&=b@Nj=?t-8s$?Z+BZuEMLt(O-`f2IMML0K3;!9m!m7x?$D0XwgrUWT-#r} zRQo_n)=kwF>xSyp`Zb0OW1aDwX`#8VCEF^oVRpnpI4CZbTUwv$Y3c0_9;XTZ*^POD z#lb&;x1Sst7;TC32t9EJxX4U$DS0`COFd4Fq3xo1Xamucs0x)}-LQ$+B5WnL6q|(& z!g4SI{etd-8f~OqfLU*bJ}Rf)q;#fyCI3#=k@83pWGA4e+e9xyjjzYk@#5%aKu$>X zYvg2PMPwqlq54GnN5(`JNB)j{fy&xa7PKhs z2YLZpO&`r@!xXc;tYY>Z&Q9)BUOPT2C=whI4i%x|`{EH2yJUqlD4j1Wk>$p$i1{~0 z6BCVL$Z2v{%;%VWF}-3evcF^@>1^qH2~W~ToG02U+%4G1pUvyWWpLiH7BPj4t5{3) z0X3U)fHs?G7&wl|3!nSGKlnOWDP;nzAP4N6MuYcPpk;W>+z*Nj2Qs7Ikw} z57iRwb{)rX!Pw7CSl-$WITpHpukYvW;p^ErAUG;KGrFAENjgcnMSF(5XMART;5_49 z7Hk(ylw`=XG5cb36p!IH*Re!uzQsBP*j<`fq8!q$Z@;ldgi3#u5J)c)jMz3uR5D>%?D#Y(anCCSdJt zjClHBbR+dK*^T59i=zL9xuH3M@BS{nC*E$JGWSYXj?-a(ZM$Io+j7eM(4;mhjd_Nj z`T_bf-BMkK&aVBSy{EmaeWTTD<+{nb$2z6{h(6YE+c3mP7@wNfnTJ4ya%=&c)vk4@ zom!U}So@%d+Q9S0_!B`{$_%CfV=jo`5qejJh**(5#bFu5b8gfg9KrcMSAUM{)` z%}4222W%45=QeC7wh1bAB-R`wVPBz-_Cy}Wv8tqE?L7qUik^UkvN&g_t zkdMR^0wFE}Zi+_#1?1E&N{dzlGP)2s8aWs_9=RU*7_mp=ndzkihPkyq|n>oz$@Ir43Ntlt11cn!z& z{d5>``1e$&>rU0)swu2SAz5~}GOhA1WOnEk<>fERpOqJsN6NcboURa7p04a(6|VXQ z$(?((@9J!-bj?z5^!7LWFith2;PYAT=;4Z~4|p^U#c;>seds;R`Fx}RE?N9U3+Z2& z&)Ju`JK$nYbFoKqMK(xoj9s8G#P?4)nOF^%kK$5e)2Qj?>4!4fWxmgBpLIB^Jd2zy z&gN#jvYuwm&7x#&fkbw%jLqq{(%z=NOSzZ4J84uR4>I+`6{^@t@}IIU(o^CF_&?dp zE9QvULz#Q&Us06S3wZl)gbbe@c^yg$?rg+;YZ~a@Gxfi^1I}lT-S!2xDb^X5Rptw( zT4R=Rhas%rppVsm&~4U@(sk6e)OCX2H|bvMc>4MJ8vPi9-mu1)Vk$EoGLN_9TA4P7 zt-}7*@dnWR3-_z~_nxobqK0x`4KPl1fvR9J_%rWC{*Erg2ZFaqi<}`1BZtYyDNTVD zZ3TNK3sm`kVH3@T`TiHS4?BS!$M!<4js@&Q!al=3`U~m;9lsk*4Y*!Hy#X~^NS;FW zkT#QKq#H;Nq?TAkD2WgFV(6sm==tcpXy>Rj8jKhsRq*H{{)iaH~K4n7DtJt z;AUBfgps|VbA5-7oPY|6GmIwlT4qwP) za6Rnrtbdpj7$W*hbP`Oqtz<4~FTupuM?9ga!Ggxl{_B93cGTmp<-j|wveB)l&0S3v z!x{ZlT`R~wlHtCCu&zz*+?xB~HeUz1owJogD`OzJW2^92$Sa3eUaVwS?W#(u{$9Ng z?sJT+8?DMypU_ljv-G z&r@(`v+pqj^sc}-eW%FC(~-wGH#$H3GuR{W47zB(cZP>u|Hic$KC$iWS+*SOFP3TM z6DFOptMR6xiQ$!g2F!c2?t|_j^v@9SQV_3?1`LsZUuKQ?-#y} zzfaIa_*ytX^j-9;_?}oOnJKv~F-s)U*8eyBC~Yf^ky<6UB$FhF?9Ugl9ZkO13 z!QR1EW?5s-HCYY!_1koFwc|A7)eBVn>)zKgYp2%~RS&PWR2{AwQI%aKtCCl>teRSN zrHWd;teSvq?(kYgUAWGr@~efA&RwrBGPE{bHfLHN+eSE|&in2~o(>HRzq;{7@N{@n zbRIE+)R~e>qhnV3N9HNG^w65`5nK`tlvt$8WBl@&aUT^D<*V8Sh+nv4q>!!qpYdFeH2t14!u_iDqH_WYe-igGn*~?MZb4jV5cM3{j|?I109slfY6vW94EVtJ_I-)6AAv0rlRbFOnOcFzMR^HlHThKauM{xOZiL0Rese*3rx5>;QHJ`xkqJ-NsI08?Xs5>%-_P;741a z8rWJ}(2A)GsVvBbc7ht6Nsf>Xk#a~Mk?DY%t`WltGVussgtx@Q(fsIz=%(l&P?=+* z6QHYZ0xVS!rQ$vCop=r2jyOp$kab8D*+deMFOz#v^psuH_B0FaG&%|s(0|Z(G5P~$ z`oLPx?!a+z&T$9v{Jg*UEd=icgM@{`zM_XBnRtQtsW>3clKdu_Dwzwvev@QKJmTBp zv0}eylZX(`7k(AU1*7@fc{jMPI3L(AS=X7n7?bJQn1yzhI*{Te9YnGLE&UcL4^0l5 z8t3~P8diHT&k=Wq>y=}IonpIZnQhKCH5v-_k960yw=}QRT9rgKw(eeSTuX3p8l5}c z9X$2kd%l&8y@T?w8+iMR$a?ZPYAcjMuZHWC^Epj;8vY((uK2xVpzL!@>(~QvwQ!}f zN5YuI2}uK!GgDk}>9AAUo3!TXJJR#h{pqX>Mut26b^2fF2{7N&({`m+fv4t|YwU==o|Fe zhJ}U?hAiVrqr!B})YEJ+AGeIK%56s5fA-^!HO`r?5$@jgojk3)O&T(MN&eVIVE_vT zgXU0i_;KWDG!O4iu#oTI6>U#ek=IZJkXnkR?WHx+MxobH5851?3R~zE>?!sJdkuAZ z25NLHU?v~>82uB?M9XO#X&JOH)Y()j^)#g&rGPw(OpuO|T9b;9KM^VNl9&e>(NgG= zqw!SGMT?^kqvwEQIutz-y&ioRHAIDYAK;q`@Fds^RKx(}71D|HiqxN6Lta7=!qzb! zT>p>JxtNk(0yWy58DQRGO=j~sFE}%~Ox{&qH+~U+te{#jT=+(qCR!`X7jeWr#Ph^k z#fRY8ES@RuC?-VzipGgN!oP%G!34n*K9%2{w}^X)bA^3}b&Yw9v6?;tOF_->DH~0u zk!}(Lacg8_I3{#6&=t7*84V%N!TMa_ot8OL?UjHKCYf89xWJFPbPZZeo2{9kJ_k<8 ziFFmVGiqtI&uTW-Os*MLGp1%~&E*z(3@ZLAEO3eAYLz;WU`=^x5$T1zZQf6iRNZpy9VtrN&aSH(@F z=VeU!^w`^RW(8lFk&u(90I%%3K4}Jaliw z>uE6i>ij<&KL#EJ&xdw}^CE+y>39HtM{I-H>LZ;YcLNW}bgGFu3D8n=bO&07%7G7E zhn>ToVV|*Y*eC1>b{1Zb!qPAYdK;Y$o|130Wi$ot6?GCdLiwB0lJX7uC<0#mj-+a2 zEs~BD5gUkhga^>jD!f0Qh~rR|KcipaDURx+L^K5-f^Wk=0XwB3y_p>^)_3Z7OOzu1GXr76e$9M5(3Q7eXg@=KM z$`VZ#?G@b?y%Bv9y%Jp$Z59m^@kMWhQ-wak3W1Y9l7EXA;I`&Y<7{D{U|nFIWgMWd zz(%5(G%w{Lc_AqcDZ$r7Qz9QjGlR6i1%D5p*1N@%Q(p@ES4W56_T0MNGTGe2)XbP= zXrb?|o1;CcQL9_2kEwXzm26$7tG!&ix^`CW%-WT;=W1(fbL$S*aaAW(UDaOof12ak zZMyCH6NVQ?x2ct7vsG^!>iFs$?5?X{?v?xA`4ubyn)5RClU4EjcYN zjY$2Tx-~UB^=V4$lz)<4NzIccC9Y1`uG}2IP%$u05nC5?Sk_fqD_$%jfxijmt>ZMX zW-v?W-Lc!WIO+~^7|A2d(OD5&XnBwoxauG5LmK|`Y^fjX?(Ayf%yzW5kFag9zOXQ1 zvXq%dnheHm#*RkZP;7W&xMO%^_-<%0QJDcD3(!R$r z&H0Nf$xW~K)T=#(-Zu>oe3$%xH*O6q2~G<22LBrxRYmXNYl!X$j@&0rB$FurP;#jE z!M$;oh5=f7j1p*PnDfVA#(%+nVkKBUbkoy-o(5wIOoyIF$D@4o6>ScUPkTTeLG@7f zQJR1ge;U;28B#Zr4%q>EsFpZF3?kS>5q=V1039zB`kQ&4agKfzTaQkqb)+&WKS@WBp#&X&7MT;4hTa6`HA?)i8vgJqJO%D;u3k=t zqr`UAy4f<%Ji#>9INh*He@6FHE78u@i()bUYB1dRLut` z#YA<3`jlpjHbY0(hxE8XXliGkXSrp?ZQ~ptoSody>w9}E8xtduo_9=b*( z6<+1H1Xp)k_I+j!;~XYK_fV;nHKZW162~Lk!?B_Jf#HDY?>8*+b^?Qh&t-7x9BwtTTs9TTRKPLgQZJ1Y>7o6L>nqe!9!})hIPBGF6!dn~TkpEkVm^>u)xy z{k?rRctl&exNfKWXZ>@}W$&Se4Zb}8gvS1XHo^E1C9Ds>i5!d0#oH2L;wh3xiYLE? z?0P+A6=Xsd(Q0U2!N;scQvn_A#BM?VEW>KBO6a7I0ogCXdSgPY9R9^1l#Je`jiZri zm*Jj{nX;9VN_k73472_$sG(Nm5Yi3t5Lb!mL>l41pX2-RKk&hLCp;I=hF=}w>-n$) zyv0MHeQpHYmV@j@yvS5i1!)Ai489*5Wi?d@xxPNA5#5Sq(!bLGU~rkYnZE(DU&j`4 zE^wN1?{RZ^7kMK7N`4tXTd)}F)F|KybA+9R-GuFg$wET#L$F`)tH8?N1SozNFT@?s zy~hc%+pwpzwlU8zZqRRGm(atszo@@cnvx^P2Vw`_H%g8C7g`+54AlA$`ua6cyszrl zxqG?zPM!Tf+ZpRl%X;$$(;nkx!#6zwTGJ7&Uo%@{Q?FB}scTeMRGU?cRm)X-RF72+ zs$bPt!H0HD(_8D;KGyBh=NV=g=b1K`uUM+B3i~|ACudXl8Sqb>X=nm@oiV{c=$}Xr z+)5lKb)gukyV2(K0>&Ixl)aP7OFPdCBqGZm}iVW?Nrb(k-XWY33KE878I4WPD@1ZoFu`W&CJ#8q-YkOfO9d<~?S* zWv?a4`U0FI68jJPe#aPRrVDpfxS!OY@T~XFh6^N}{TYq?Kp;>D%F?;;8qnv{@Ou0a zu@v%b)ufG(tb0W1N&QIug?0zDrG@AlU`2ajD`2+2f({C&OtEU{qYtn{*gVigQS8hA zm?sbP+yQX)=@_*mwVJY;5=VIscOarrqrFKkHxep0DG_3VI7>3)Tp>3N{Ot2u2H<3xfPd z{F!_@|0FM!cbd!Q{=s?8#@Ibse=`4O+@-(5-oq@o4}O^SVMU{ z)JxQP>b2@K>YwUZ&0>vOGg0e?8*zR0JcH3tVEkk%FqDf^SjArjuI}sXj;v3Nq4X+r3e7_K6Mp#GE+QU(5E&fy1WyJA zH8T7^8cunad&bufa{uNU?flbm++Jvt*ydQjTe@4`n@5|&raPv^rrxG(Q@knB)Y3HE zw8`|w#5K<{|1fvAytWLms;%p7+4dUy-%z2+u6ox;_YJ?@*y>kj^_r7>L%$F8FQ+lAe&V$Y;q4$|*`R^(M6g z?K7~WPIMC{r{AIf%BWz>Wd@mBSv>Y(=%jl%WNsd}l-r88gIC6j<&S`Fd6oYbP*e&3 zEB_(?5Pt?go3G{V;pOmNaJzG#a?&`P+2t%HYYcNIRA@d{iyFYSRSkE59*~YAe*%V$ zk2)Y}y)`%_5Z7q%-D_Cy9qP%bC%HAw&yI)o8@B7#`|yrvO>9#S;}%01@GBQ}NxD1Q zf!c`XKg}M^LU2#a(`*I@nnTk?dqykL9oMzcSHX>~Nybj5baN7DD?Mzp>?a(R&J_1b zaQJj5X=CFS5(|iI$gFo z=BWHw?5?;4if-{Fd9 zf+vxy$c}>_pefIa;mItLCottZ2<`l1ye`}t_Hq`7d5+!^dq*2i)svTz*vLh^dsG+R z73vUlH{SLy^Yv{=^|Cxscf>_^B{};#R)fYQ1V4$+GR@*KA24?_>!xF-!=|&Q zXC|E~);!64-z>1KvG^=2teEYLt%u!VKL=Aj!DV(mcJHd6=IQE=jB12O(E?8dB@IgoC(@{7xc~FOs`b3Miwg<>0t~PE(@Gfpg-3cVsp2q3^LOs8B1^ zXa)8by9kJBIF^W+z)dDsrL)c%~oj6xH9PS^0odmp5yhFSXJSUIMPvB?p zQ}|+jkXOt*!<)nt@}6-=a&?>;oN9J2_63%o*@d|hrhGBxMyV*DCZh5vRI&%D25-Ts z=!(eDa7HKsR{$>g|MCrMXyRpfZ0=&$OXq#ZE#O-Ivld&tW~F(Q>4ec{=nq_AOZ^Mo zXdOlOQoB<-OFI&tnV?m_)Y5blbf0uR^ac7q3~|Ov<5jp+xYV-9y2^IQ{={L09=f3Z zl_$1gtWErwA!-#1BwbDn})}N{}XwOWd7!18Vhl;^D-ZiRpVp) z?hXuYjP*MkzIh*duGL?2KXiR}dL0>#+4d(knQb%hqq||+7nygOhnsWEA~VCxGpCq) znU|U$m?Fq>$8=|+OXs=)pU>Ys$$;j|8y@-&`~Pel8psVY zL;BFO@Sezc!1Fe6IZZ>Pq&KALWQ1~D5FTLex4~7EwxqvFIB72MPQxhQfT_&~ z|7t1Js0m$!g|RJkF5?IzmU)sH%R0hhu~)Or?17vc&`XDLk8{hpY+ifbSl%MuTHboz zGTszkcbEN2cxWDPdf(`7J{iUtk8n$Fvrkbyq0>)9sw}vi;55QAX z_0M%1bz^lsK>O)xGZX$yxR&rEK@HFMgsTaQ5;79LDJLm4@x$WpD=3Oz@3yvC;;O2}HY#Az}J)w++Ie!88w@~C(cxEUqXls1t zKj2%`Fy1@NGpv51d%5eBv%tXvuK1}f#dgY?YJF~*Vv$;^%(u+@%T8y%t&%9vo2s z`*R(iO(Y{F$a+#5prz3i17$AN2nqUkv{ZC8`W5B z;k|te8dGP~L%T#9K|^TQsl%xuV2XNE9OT2~E@U(52wkX&XWY zRqDbGkfk%@4LC-mfa4^OI166U7-S+;G!6-X$D}y&7IFim0BWJLmr_T9J8&#ohfc%H z*dKH!J&)mJ%wcMnBU$fRx$HyidUjvVF^-0l#2wAu#=Xh?1nQHDTh0B(z0chP_$ZNE z0ri>2dB*O^e#2_bI>`(&eq$Vl9*SYD&{4ES)XkLrQu#1BjPwD_8!Rg4ckX$fo*xfNS{``04@&pTHpEPqw~vj)-isTl zuqghBuZ!=h+@t)WY*2C%#0hlZKmSv%Qf4YY#1DzjSF}|eh^vW}$M%)aj#(|+EL|sA zC>{lSC@LuC9p#STaM-Vz3&B6~8C^t+rM@TUk>bFWxGvf*;tM?qZi2h9&HO?i0rz49 z^|X4WyQgcZ^Ir$z7;ArPYY%f}u(jTD9;&pNg=O)Z-R1yrpe^9_8H?4@-Fnd~wC%F- z?5FIl9VL#{;J?$lPP?bnXL=eu@4QDE=K8w%WsT0p4}p`xg`pl{VWbZH_H*z|LPH#e zyP`(Y7TEl5KyK+S_?ZvW0)S60!S>e_n+Dp_L#z<6k{xq^R$dMq{squMhl3N}3f$-) zaIK^Uxc;tirQ`_p7pe)Er*;$-c{{lkSq-?SJJjf1WIp&x{Ge|h0w%vN(FCfL4t0tE zf)Wv#a9eK{agcZi+(JiWJ@O4vl9qx7+J=0JOsA{>H_23L4fS{Eqr=gk=rHK$gX!Ps zeHgF6`*a!HPpesKRu|Yx4eVUbLe6zgHHX4Y;9ZP|AMyyryKYAH~N-0 zNTrx~Iv;cJ_q7Ue4hGfGK z!yZGmp@Z=X;M)7Zx`fS-EbFYl+dA2sI+{4!x_)!dum2lv8_<0N{l^>afnNc~lA<&4 ze4-WU1Ss^gY2VPM^qmYXvkiL#=OdTGZ!4H0+#ot4J}vo2x=S`crkk7wnV6~2N!Kd8 ziqY{m;vMnv%FfDu%3jK5O1iQjeoK6I{42$;iYIaLaf@T0$-Obkm@cxx(vgxO;_jkM zsL&c<;TCh+uszHhj45;p_KCKFnnkH5?L&GIc=W%>x^SP6G-z-9;=k)V({RlD4@~;E zZj&pDDcVT0>UZCpmzN%xrgIFH7211{e7^~L%f{x^+B0<(i1LX2=(_*`UGG#k3uSx`R_ z(iKu~(3Tcbf|S3g9_m!u7g{EylfS|)+83N7=b$PppgQf)Mb&_u9%6^F1>n)+V5N{; z9*J_%_q64ZTP^|5Q#RaoTmwmwLh>rOlUq*OPU-^L(7VV&U`TQB+MR`oK9=YPRhj@9 zr&uDHXhHNQrV-nS`-F~&L&hMd0WWnV?I+n_8@)%41svnXNOUA1kn&vJ})j&@CPFN5nF|9Ks7Wot&`%|Ia7FMK8v zhz=+2B3!t<_L-UjU9^av#GDWAnR-qZZ!~|c;Dqpo=)U--;#q;HlGQ=i560KPA@R2WYIHd56RiultTVwW zz^8AZ*V893J~DEcyP0O@FHogbEG2s!dq4XHTg%4TLXH9+5r=?R&)D1917HJvz#7GJ zGuJUG%(V;`eH8rxM#n~=e}l&WrM9AsA+LmcsaJ_7_=o6^NNKn#R14QBw2cP8)mPsT z@?zl0YgRwNJ>PZI`O!hxyV-ZyG}dm`8&Avga&RDA=STnY2-W!vMK*tRw{Cz^?E+qP}nww+AuOl&8E=5^oJJG<}w{_nl7 zf3w*n`|VD;>sHk{b?Ou|i%r+$)(y}fH8_n0%?y)XpI#ZAmJhbSbf1;^qV?zFzz+ zbfKSOvhM*Hi$NZQ1p*#jLYgv$MJ*E^B4g%W9i7I%`|j z8_eSeWT#~pac*!rTx(tV+~?e>9@(?Yo9feZceuHHW5FW66?aL)hc6xbPCkaN`V0L1BXCgb zpd4+ajn#g`Mrc1xepLFEY<*T__P~8KL?5EtAt#+cgxRPxaspYFbfX^~O;jfgQ0SdS zwI2^HX$mTS1K^}oApI%8``03w$f7C43gRV^L=GgcU?X(|^^7V{Z=z}JLw{zH*{e{o zZbyea9X&@!T^g|cQoU2($gtJmHvEGMe%Z(w^O~BN2AHOsmYP=LYr3gF@Oz@^mvN7= zlTl;bZ>VK>tZ$`%sH>*ir6siOG`q3gQkdyRFQYDypNK#tHc}#7E7UUBH82p4)6+1ZMi~D(D*Jyq{e(drg)BST-^9Oh)GnTgHpOJO54xSKasT zFw9zxf^#XHF)8B{;`32vhb%s8Gq%a1T|Zsd-TOQnylZ`%xg-1?;g4vQYeHv!Omzp! zhQ^0)L=2c+Y^O7rGMcg4b2>p^!r0xk*nGkQeU>fT?sWW!dK`T?W?F2$xIoQkNuS(xJqEP~l4^tc=fyD;qZ~c6&@(^yes- zgR^^VKdsL!XUwZjLyWZzcKsLaLCq-4*(mxUxrXQwDIKOl?*nJm^>`7JFq{W5A*n0$eK67-G4zp`Wc0_08*=JoMD3}_+XzLJCkBC~$|TB=Q^}`f0ctAsk*Y>-r&(qg^Ny(p|A`#% zn-DbJ!Oxb~t=5UU6#WrBX=n|6|J{(s*ul8Sc-r{d=rNKe173v5ZA>>FMfBD;lE$-! zZicXajXsZlw=Sn{DYP(cG)LF~{HbPR_sWMY>&C>8$dd5E(5>M6fLkTi7|fTd%dMpW z;w)hYf0O&`b09{icrLq1cWc){r@=Wc+nF^iOU+!JStT3Zk*$16HT?O5eJKb~9d&svJUYZw#r((8bRjT?2soMi@gHhp> z$SUF`8BMok*03)$MqOR~7{d_&L#@R57VZQj4T|Nkx)EiD`)w6Z0fqOsJc1ExvgC;STwxb8o#%6nAlK{4#mfb45Om=1iNh2(7cgfiA&RSm1x1Ji@mLL%^d=ZKCtPP8JO zAiPH4 z?^a+&dJhb3JkbPdyvsz8s7EdXH(C~`>nBx*-h~()#JqqqZwGWwBQ$TJAl<2@b-gfc ziqj9)U&i)bGs7aoZG&XUXKZNfZJc17Yg}lYV;pbnVXR|}GyXOlH1sw^8?NX(>D{_X zx}bI(c-@wm-s;&-P&j2!1*xvU2Uo#}nZl()&4Ysj^VMDO@qI6gQj}CdY%fgX4{{%T zR@C~Xp11BI?pdzi&J<+QCfTpEhGbc@u4PWjteY8^se)I^$lxeCs-7S5FL2t@$1_rb?#MV|>M_d#il@`4qrgm(0>_Y5pZHc!fj7xZ&5S`dOaUAvu zHzlr3oSE1)u~=e8!uo_N2@kPZcss6S+``!RF*#$}VxqLian=6B_6iaD$b7}L-?+>$ zT;E(*L`!PkF~{k-n6p(RY!O%JS@29?ySm&zSD7WxmsX1hguA?(%YzBiZm;M`^;~h6 z1Fo;@`s|$Rtm+J8Kgiyjy)=7f_N?p`*@v>9XOqsF&Uw!F&PuMWE{l7C+u&K_DeS%B z?T#FJg6qM@2v39sVnd0Q@51x8so$hNR+j{t1ews4&wXlW}dZ6~Nk3GHL-F}Kx3Yo5bHrzXpx z(zj(;pyR%DEc7Iks8Vnn-$r&K6XE%^hZv4L8U@V!C~`cqF|r^s4c;Y_poCf;*%i4G z`G{V$IMIbz1#O@O-RKrFi>ywqq%x@n^lqAB`XIv>$0Un~PVk~85jgIRwv2AR?t`wV zevJO2-mfoj=xM8k8Ri*U861X(`ic5n`pdc&y7%a%Uuzm6 zLLKZ-%p1&f8!%2U2rW@HG9bJfp6K7*gnq85m$55JLn>5KAp@b2~a z-EG|$!CY^1=5ij&u8ppASyrPgQ`Tp2)ce7+?9IHG`94#ZRX=NK)~~F_*_X1bKsnJF zyJW}RgFWTEwC}6$4tIt>A{-IVz%%=;!ucJ6N^pl+h?(?nB8I9@k7jnTk2JhCUSGwK z3df*v=Bbvc)-kqT_J)o;$fKvC2gSt3o{4Q3_b{$b{K0rSp=HA2go_F95;77pu~&F4 zVO2u=1WUrX_}1~CjV&L$IObh+VsxvhDUNOS^R|1|=av`dN2cq>W6&f{)Aad-cGV1(FI4He?_RUCbrV7#r=mOZS)53A=5%g~(pmY*7 zB@l}Ovme>2cz#4pEA0Vo2n^I#-Ctb^{ZRb@{b#+&P{Gj7 zFw!u`u-vd3U$YED3@r^s42u4Se!9M*{)cX!F0by4wwCrLoKugo@$6*g9ee<$QTIs` znM};bY>C5OKK%#39b3%h|wIrA>K4kUeA2D=o;#B<8!e% zk7jqswr0P`+MYEjt7ldlAcbC8Q?vGFeaOm@JvjSbb{XeBXA#$VS8KQIKIrM^E$NH+ zK5*9&p}WNG(r)>fa^3$*^#shJQmFG2h;8H@%1PUiMcZk|=$7es8%`OoVEgrw<(PGY zZIV63kvr-~)W+xrF~4HQ$A)6Z#eIvbf&JGf@sara$eOhhDktPg2*lrupBrB>{%zcl zI6ii0?8lhu*gg0Zl_RRPV~Ty7?Sl1z<)!(J=_Mu^S21bBR)wZ7+k`1aJ1Cj>61f*X z9oiLK8(69?_Agg9%7>)e;%~t!)a9o`OA_ZB?fu|s?s?>H=Rz={ z=YZtzYSR#*2T|w8YE!huv_bGvtKmeJ2q&`DY%=st=b6DwPUbn>$SR_CZlzKwBXx(I zP1Ykd83AJLqcN}M9HiK65X@-%k) zo8sy5AdhYZ_msjMWejXT_7;3k$HQx?ATsF#ZLF?`Zm;gQE|0#Qe!l*s{kM%Q zn2Z@>46MPaf27~3AFi*U_v-fOTIqO99`a}pX-a7J!-aAl{Qa8JyD_h=M=mCwMXZr# z;W?p8L3bc;AXS~?KdWTON$5rwh-m^PG~kzT?|mh(8S%%{!gJMK$$cI*?u~OSa%p<@ zs_d@W70`ugfEo1JxsY3jWgkQ~X@K~Qb}e;9x%as1crw8UcJk%rc|<|e-eNPvuV;)plg1o2yDhJ+XKah??NIBVMoo%N zz}8EJ*kiFd;wHyE!A4=@_>u98&(C>hBWc3@ju8_=m%e@>;W zoGcB8s`(jj=G$<4eT1){_pPUm=c9YL+k%=h+*JYaQV=cZi6acqc5v(uOA1-bf^BX{U*Z{h_0V5 zL6?S^ZUla*Nt$hJ0t-KCx)+^B<)X%rchD(!jBE{m!Ddy*;A;3xvuX|hIOVvUEfoP` zIwJ6VE#%SPzPi3WzzWknihGiqb#HW4c71iObhdEDIEJ^HYU&T;s} za=2!?c-IKG0uRmN-q%nzHR3G%S0JU0;w)*jJV@#1AE=H9Ob#x>^_JuChWSWxl#a=P z{ny&s=DK$J&W6s$HkhDQu*6$M>wViQ-n!-8E&!9>+RwF=;`U< z+{^H^W+7LObtSt>yK=eWT{&H)TuoggUAtUgfDgyGpSsI-m2gb8Ow!a?wncahtXGsvWS@Hzx0>Tcu{e0$H8Dw zhzA4-&VMSj16ryzxB(|sgI<9<5mn%E{)4Fu6~R~R1{<Nc%Dxa zHj9&_p71ZK0~}ig>a*IRCgC=bp3v`3qn6N{kVTJc&i&_Ub;fYexWP2T4Cha)(e@HC z+6epEE29cUACE2(vo(f_?G(Ew_D5_~T&1{Xaj9`F;;O|Z#kpcn#SV&%i9H?DAm&kY z!|1b7@lm53H|-jGUE4V8PRkucsAANC5lw)jRT5ZxJ8NKQIslEDD}wX1p^Ts_Amdq0 z@Rw6ka$U$FuE{*HRi~Jg)3hoy!lq%u2(OS4N%l-pu$AB()F4zmc zw_QeDz}{f(n$GaPeTPb48LH-qK=s?eJsr^QLJpmy z9Rl5b2`vpB$zIKHO(l&V`*`Eoa;y`0sS{&k?$VQShcN?cl1{iPl1{E7+mcD-FI4bZ zLjymz{fy0^MVx{HX;DY{f$ zK3yih|L(~B=kfpZv9rNItb%LWJX*n?zymO2^U!^ji_FHZY7%DjN8mACMV;zTQ;g_F zw@KMzHF3G{m#@$7<1E}1pU*qQ>-9|bSUrc`t=$Cb+*HJAenhJ1^f(14>&okDf?vDh z(z?64ue(cl_IL_;&v=u4F5gD31#cA6!L^K&Qsv4(33inYgad(KAQTSMgdY32v2;!* zA6rmUNShy%GzajX3qBVo%=0X5pg4RBb#q0>E5|?}`;pPVu%Ep*hKnf=FN@{a(LNV@ zHuga5veuWO zw9PchY%Pr7HsJ>LGxYS$REjam_K#n2bVBarqf3M(K z;wkO<>|XEg3=dVQCffb!X>Zs-5oEFmr*vB`>QLEVB zY+2x-(@>1YW763ZyC6%DJ-2|xUj@g9;mE8Np>+DAxuBT`<|YQc=my+kw6l+x*}zLa zAg^w~^iNUg>q3Elot%MqGn4PYc}~I&oDxuwdLthq_tBA_j-0^PC2&sfBOX-x68QZ| zV5mM2HnJ%>pS%w&*P7Z0?x{5N(htFl^~cT~&9*|v{D&&5SGlx2Q+gwo5*Hzlw&X8y#kd_{@ppl}zUk@ap*<(v z1HfU6u1BuJn4c^Lc3AH^=6c}@yDGaUyC1p>dKP(9&seXD8lN8%m63cQ;iqr_*ZZ2t z1r*kw?SHG@3tSGK20}Ol$L#&&K58GmhuO())~wdf*NxZrHZ(C7Gco43=H0kUkq=tf zsrDR>la6Xpm!e8VuaD-V>&48ExgL`hql-<9%^e#XOT~VRITbTLrgY4w=&8|;=*>}y zQOg{%y`BAtO|e$DPOuy?zc)pUd5l#Jt@OQg!?lw%v)F~qGI}+&p4b-|N?K~#WQ}-tKNMNTr?yBw@?xyZu z?z!%h?!WHBo)Ml~o}Atp-fXzszVWr=K5+whKfhckD&E7DVzYck?xJY?C;Xk^IC~<{ z5gs-BP){<$^CG#4GeiUO1-x(HQ*G%-*k;?qXmD@gJgd<(*DS?+NdbG`5W40G@FQ7{ zdcRmZ0}t7UamLL}5aQ%Z%?M4A8#IC~$VKD>-T8E`DfhtF!uQcT+-vln@O1S=dD4LghPj)$%exDp;uXQC z)ZRS}pOD90*|QiJskQgEx32GjuM?C#>-lV6L+V2h1*4% z!;hsp=FugPMPo7HleIr|5A=r(^Nro0l#$IBEF%%44{ZbOA^QS!q*J5*Mm31u5d9U{ zsWCRQXT&UwnTOcy98)eP9DOxc5Ko zjf5kKL{*|Y_CU`Pzlj90HMtlus-v1x%cxgW5|GVdny0HXbD$x$BX4iO&4^fNRu^cl zK=B->t%-ersX$Qs(Kla&-sB{3-U{#!so)<}bk1}CkMCrY|2+L-;5%82J_5bV4$?u+ zB(k9$IE!16qrq1f#g_61wVb-h|5K?6zD33bzAL~A%Y_I(2Hf>SZfa3 zC0h&oJ9|gRGe^~^O<+m?i5?eyAo^)^Ml^({(XQw>(PyIP0>LxUr=r?o+BwM)vX8a@ zvNf^ov-&L!EDNCg3K)wS+d$d9QFm7RRP&2fa4S2BEAXf*Eff$himjnie72H297N$!p{+vI!YQekV>6^MIJD z!j~)($%wo`t-p?He;N4xA+oA7!a)688ye`Pa3#qka^M!pV)7ozQVq~EJfy628%*rK z(giVVI>z|$G>yc6IRm~FDafVAF?CYWnUq7`Z-WVK4|LI~;BQNy|IEg$Y#ESU9G<2* zaHn|3Ou!AkeQ=$;irZ1wp>;V% zeO?mz=B2M0_ZT=flbB?``d!q9sOC|!W38j8Y^yFA|B-eY(Ny85pBigKGcJHL##2^$chXT>Jc zcWJU5ubflb<2uJiwHjQzr$EbmG1MmP3eS$jVB%96XsI%VJ9Jyf@795vs)$QBciBbYMUCu3W*$=)N|N*R zD7qx@(q15ueAF+f{f2>eqAu-|;*sJN-6rt$)^a6AwW~L>xf_cuE*(UIsxX8M|ls19)#5z1RFYu`< z8b+(fi`Gh-UvN)5jQrUV%2p?PgzXEy{tozC6C$)4_LbUFAIQ$+Th#e9Y_9AIo5N#6 zpWuADFQ5+$RiFDS`Zp=0GDvUr*Y}7o&edm0+xMlD&ScHk+L7~2wA+DC{%OUt^&cJQ7gn%=U z7Tg+|6z&wM2E8mv{i5z6i!NdZXzFQm=)Afc`Xz=Gqr>#bG|gPh^3*cW8nVu}>Fm?( zPJ2to0f&Se6(ggz!8zb{)YqslQ7@t{B5M0bm5lo9SnsIec#Dlgk8OzUo3)wss6}V# zWZq}WHWoGZGOX37>D=0AZ52%ic099&J_&tVCZQn;MCyn8g_Z=*2EMCN&?U~rMOTa5 zRXT-R!()W+e0%;iV$|iE?s{t;=}q){JWoC6QP=l-j(M(m-gyF^BHpgZvfsUB zeDi$2d`-ZH7Us9}IfU(S9yu-6lio-}WLDXs)bM}wPgLUr=iu7y3ogOt=aq2l$PajY zsZiWg`1ECJAnc-j+V<%7+F~MFO$OBXyG zcY?iXpmBh6+66|vF#DI;$Mi-P{YbB)Q)ml5|AkazN>4q;gsCH$pY##8z$gvHB)$j` zlYs8?IVSek5Tn=d<8%C6h?wwuP;+3v`5LfXPSpDO0{t5xeYgX&R{xr2C=yXd#Xb;&7j8;*_*f~)qo8{x80SY zF`2JTzlJjfM@|H5JDCu%h59|5622KK71|VJf7wfUwx~5$v%tkz4wTB0Z@J?Zwg*ryd%6z5xKv;xqZETCw)3@0GH0y zM~$y1JQI40VR5I_Ob*JYl;Qre@KsL>tP1uGRSQR9#`XX=P-kHtU6qLe`*&NjUfW++ zULU~K^GU|C&=xK>m$KZqbhiG2%j#!aGy8G7-qF#q&GFu$M?^M4Rqq(pI;uug?kEWk zEwda|9KY;y?K$9MRmyhInq-{=FRR+nHhnb~F!nKQ182`-qppi)HhX}1M7t>~RhCR8 z#=*n*W+*!t7i=7uqMr5hN@Zmxn9(BAJTV(r+n@5u=*fF=s&9+0kuQiRakjUux2!kT ztMNuW6nNwOsQ-fypReE@+8ytKfg1#MXifekUkp!a2}Ecu>8aF17Ud;C^VfluB=z45 zT=#-KLrQ2V=JO|TRU5wFP!u(#(x^(9gPVZpAE8Gd4b>Y7=eu#ZX!8P-#wc`h)v&MJ z6bk1$!1DPKp&m?k4uY9XMV)s8UrlA}V7ipX%!KkjNMAr4m4({rC^dvCi7lox$0&` z15wTP-9!i4i95~3@-xA+j1pvFwiqX!lG-4L9#MMwlhhCDHh935#l-JEuirV zP%r4c%tW>+I+tJCBiMu~1zqeGV^b4nT4gS7xoT->y$9d5qc(?qnEi%b>!|M-hd90L zcF3vfMJ~H%~P^H|8|?aXssYnoI5O->dlKy7Fd86?=$JgnGgaz9I7H z5YEh<^9}SB^ksW5c~^VKdV6}?qqpe>B)JIn{e#!yYvxC40KDF}S@Z#R15zi#w8YW_o!SJwiyd=;1@tXCh)g;N^RO2T$(F)@e;T_J zjP6I)2b^!y#AALGj~{7`7k`=yz;grG$}EZL!YuG&PI@D9=uc_}6;B<(g~+?$?bD%Q z{r76r?NGJQiC}@?hJX?5J?HP||D>cUPvjyoXyi!6s|one7>Cn-!9LMm*8asd%a+r2%v#BM&Qi*<)y$gv zLOBv;>|r>d&(;;w_0ewDJj3=`X{IY~xSu0`fVr*_85-UmdKokX8wBR4_xv`0SLGyb z3=f8`xi<8(<%J7~(NElDE;IH{Hv56MRj5vwUejBc9Te zn5d27Kk>=JO`)222@#rxsnSQx)`H4%e*yKP+A{DvFezw-(`N;2U$#aD>rMP6`osIS z3zWk(>HWx}gOQcu(5)Rsg(<4(4uo+|^B#HB2$%bU$fZSbIV4ugXx-Q%I*rLve`qmG znh)?J9RlWFVlDuMRAFRP;?eMT@=+(Kk=S99p--Lz1}O>tBv&v69gIr;e=GfMA`0Syc`CH?)3*sT*WF>@1DJ z-pX9?EDMoE=Y%5gllBD$q6_P&ru&oq_mu|99l4SGSZXVM7e|RYahFgRJpO7h`62EK zH;Zcp^h9%+zPG+7zQ;gDKYc-TpN+XG+yx-mru+`DEd7L6LNoD!*i!l^4F{G#sI>5_ z{zGc_Ks+4(*M>TTbHYpD7%?8R6chcL-p2IBr{L5aMy1cCPuI^d6g56J4m3qf%gnKs zbr!RAs`aO}j%}^&n=PNcqkX>pkUhYMg`_F48+d!ijIzpbL}wRNa9Xqjap zEaS|-Ov$DrMy;{4;h>(^RnbkfR~Iw79`sf3nN#xj>Dk@NpCPcMO?{%?$~K}7$BTCg6b{QKdUVxt;C<$MO3mwa>wdKogQ zNEd?sZzissq+@y?$5volu)U!dm;rU*VpRWG>{$Ff8Q1nK>>uVL&|C|6p+3c=stWxF zOjbF}zJ`(vxgK2YX>6&a!FB3Es7dI4up!u%+JP%-Rct?2_Fuql-5bcGucY3XQ!f>Z zh!2F};9j2aa}lL_{tb5spTYnxm21S+|*a^Z(*-ukB7(FW!qF+W!shmLyLJ7j{=elt@f$h)vmitDbex&$XB3k?SCi^xc zfAYR!=s{0#VJ?L~%3A~=EjZ)c7waNI>&f@!R#4ja_ly2HYII-^uEgDjOU^fJgh=6O z;CJQ`ENZ9%zu6B^CmsT#?+d+~5q#q&^mPuz-zaeNmr(1o!R9d7^wB~iDgYxtMTD-! z??PR3%EqtbHM_iR1-dx=n0^{=NlK z3YrZCb^Qfq^_MWMKMe-|GB8v6{}ZD_k#R2(KXDVPCgNy2W(+L#52gXTajVpXIz5`+ zi(Er9WiWM}$?S!m^fwb>V&OYc8Sc>y@u~}l-r{T=5YjhnWv#)ce|hXtU!fSz$wXc_<1uOyh$a14)4`=)-pT3t<Y3%>)pO1;(`@jNd%)Qtp>y2s3XJRuhNypP~=+$uD&|)qz5;~cux^eIhxB!2P zU&aw8$u!2CZSHKjWyx!uV7-f}eM5L!?X=y5uhkFRFWV>EBinJ?B3l<*0r;?Nu-3O` zSY}&dEIZJJZZkPdGmL)?O$>YV0bR0gllCVr5)NUHqWdXI_XS7%iHIlKpeuigTdtjg zyRd&yQ(fiHR+=iuYq&85eTeLN7TE1Lc0(=#JH7ayezYlY{R(9Iub9_YCi{`=@V)xU;#4=} z=G&Bn&AX21NzdXsxsfTyv}Y#5SL!tI-dEfd3xMBcG2;wlqxA>#1i!up`%eupPx?V0 z#9W~W{f%0U>8uNWy%ouqKxZtmF;YBoDcmspBGf7LBRBwhyfFb4S9Z1P3V$NdLV4x3 z++KD|3xR4MiKE3lV!E(MXe^k7H~fBnI^T_Nz?bKX07Vt!D+BKi1pjxL_wuEL(ZY2h zS{xz16l+Q+q$2WuaMc%-CjPJfNopeQ`}7Y+g>Hq$U}yYGWF63w7W~>ox(s|Yx3DcV zVa*|Js!q{u#8&nrLlrLpN^4RLyI@<=>Mu1!DZfguT zmXP(Kb(yt^HDK8TuKu%m7&c)ins{S><7-28VEKS9MYj+8F?BSH;3g9T-?fdn`jS9) zA~r`phx3N}qbCmpn&LU-{Vn{*6?jp|K52mTR~#ZL!V;md@Q@#iKk+Z_05=9*O(D(* zgzv>m_G!7?=m7e2>+swf`Bwa9-o-aSFRsP=@EN_%T}0?rxrTC6Y3P6AZ>N4$2VrAr zdQcDV*(7+?6oSU6D6x;ogU?-0O@NP=aPfc#(`{7g1UYI>3RzLhI3+p2yR27g;q8RpA)3g_#Rn z)r2Vk9RC1Qw9c4%en5maq$F}DW(rRD@f8It+7UbS)5BKyn>!|A65Z;X~@c3 zzr#0ZJ3Lvc!U^!C1-GRvd(G9%4^1hibYrsdhM^?*Pz77CCoqF)ui4A`m}=PIdH}|$ z4Y?5&r6ADKxex_y_wInAwpNeh9hji}#xwd%Y9YM@s^^7eLK)!$YDfcK3;t;jHys>Q zbFL0o17FR75~p!H5uXJA4?l^&#ao5m!c`%MI8)3LJ4lZ(x3~la%{irt|BAm3?rpXV zybW}R3U63Q2u%zJ;VK#gyWs;`dQUcnS~Q-X1YWc>R3I;y1hy-?nSF^leR)kMY=Uk8 zcE17sI~^G58RqsEu=lwf{9_wzEg3c6*)y2ew1yAvZzzsOGnJvhyhhKU>(MNIALynv zdeJZFBuA08NDKK5s({5rU!oq7A6pon|Fk5RkV6kf_F<#xFzWqv@K9gDkD7s~8WR2B zQF@$s166BLC_QGQbN)(NsG8V--hye93taG_`*EU42I@l4{lFA0jmFQ=xzK8?P!{*n0b-;ClsVp!9Yotg4Sf~ zAnSCvtuBZE+9YdlYh7!+^^fH+qBzNN&pgrxW(KWMC?`6cLsH3ApVI=zPvD7cqfz>*NA?xxAX#Yi;HqO z<(N{!f7D-EJ*8F-T){Qid$_;wJd_fCh06yo;Mskf_=h}1##6H~|7-??OagiAVceK2 zj>2aAH`WSGP#0WNUX7SMqq&Ogc^y^%C{%h2u{V;62)1he!dY<{R2jvA=dS^cBm<4S zhF-J_og19aesGy(p=!Q~Ic5j45S&RKLTUHES*I9m1ph?Nyp9Tg5bEZg_&R`Sy@K7Q z&+vCL5Csv*y@|QRA>0L3;OW>L8_#>mbTUGggvxI|R4QNKS5lU44-M3IGO*rdy!zsKyjWeGdWuUqJ>P2%JPCTP#L|{=1(#5cf@PLZfOVjzpT`cEq%B zZ1_m1HZJV;!>6-2kTY;nZJ>VekMtW*>+32%<#}=`;MxUJbx9OYiDMC^Ch?naN!TpR z5=I~@dkTGoVZsbyBeLf=%;Fn}v!Lg3NPVSiQZ9Lp?8T1GN2McjXkXQ*&IX!4iThVB z++r;c^f&|0VmdjQDgZaDF~}BI;bj%lY{ZtLL6hFx%X|h( z{Mwd@h{RVG5g0#*HNQ0vT&zgzZ_5qKDtHCuw7fCTH9r@DG;`8tpdCR@#K5&1zAeX?`z?^gwpUyjk_NeiqkSrb$_0n+Z zgVY!~w6wBc$>-nh&jmD}C$K9}FnAzXEOaDPGJGUl3^^+gv7RuJQ?SFzEBzXZ?SSBf~yL zjqT19WU_#kM#D8Hh>mJ5)eOAoM?}^LV4i=o=vh?Newc91&4-?~J28{ki^%qYA+3iw>PE~%y<`qx`%z#b?qahk8d2973e}D1 zOP|m`aP@>{EQrbkyrOX@B8-ifw}{WJ_%pVq3(^909p6_YipA$KmMlWP0mo2`cpe!I z_nwouZt^!YBNQJx9&8Z&7#J1M1$IC;n(iNpJbGAZuJG~}xv}h*jv|v5Kv#BLoPsJ| z1U!@ri0H9!2d~G%2f-tl#L{9%nHB;JMkU@#VAO7RjmeG<^6bcR}DHFV`Sp(XhW&j%;`SAH4V!^x_+X|d_Isj_*d z`Hq>el(%%V%(QH=9J5@oTtsExX<29)V5w;_V>fA~xsh2iZ8cRly+#+x8O9qV{RsUp zXlSp2Nt}-?Q;*%k2y_#A8#cA;!@n{!QX{e|oPi6jTkxEA3S3hQtE>Htf081}XF z2&n$N*j|hXM^U}=2){8gn#cD<#V^C>=X3FS`Qm(ap#8DvcphOtshThq?}|h0D_#?m zq^Z&`@S#`aQpzqR(ZAYn#bs?{U{SyjTog2f7J+e^k2^L~(d`We4rz(*t`MrR8>)r9 zv`ROFu7)l|c7(g?VVtw6os41B*Ds-g+-Y)l4c|L@G^9iQvL3HZ*b+Gi z^mGTCBd!RGic=k%B2$R%$oN@sb*xJECYQpK>^oGX6@i=Pq1%0ldY?#F1q(HXUP|wQ zKHwfMoPCBy{}s+r!?5Anhxba7O@FBYF}gnK9_Is zo8x5a0bC0;@G8ilM< zTP!0M77K_)#q!9V-GF;{i_b+yswK^o9>7y;2soCa$_gcfsplU==udTEfCECX;c`k< zxCIV_UiJXd2o78Gpgc^Yd%|~P9o#L_G;QHYI7}x1)${tnhA)Pu#*;?7X%L)ObmnC9 zLi07?dz+;s+*4b?AFu`dtV&vJmTdg`Lj1lKZfpJE7IYB%+Aj=U4Bz!V^zX3;dkswY zYFr`gh@G=&W*ByMb5rB7V^)xuf(sg@p>xW_h2f)tC`>S%{_g&_m|(n?yU3Y{vRLVy z*i|%&H-sse2kV7T{8@fIFyjd1&Hnr_ehPZ>7Td{nfJ5@b7fgZ6{S7J?{JoygxzM+r zVno~q8-mMpPjNRS37bi&xVtbOnR7l~vr+elqWU+)cA6EF&xe@KPk>8v64Y(y&;d3< zoqvbkun$yj9_lQ-mg_-{`5K1KK#eUv_l*HJuqoAAVpqq}0>nFpCY9om*LP^GZg`J9iu96+zz6VsH-k-l)` zKM_t1i?~TzA(S2*5wu|X*CddkE>MfAkNqS3asC_15G6@@ih5lO+2n>aUuq*2l0xEp z#OWS!l{g<&eKs=ZCS=!#q6-{T18ItM0h-7L@>+NqGy-35^G^XE+85f$?$~u4j2mfl zLNRb$t%-MI7@;M1K`r{08VL??7dYz2sPryeqaby2b*z4dUe*sVyn^@2MqHb00LPU# zrf73h^F;Fw^L6N*|Cn87Cpy%0^F=rX4mZ~_Ys_~|(@dpJ@8NfmU_1^tmIwM4`X{Un<|DDTTcJKIS9 z0Ol=Px+L}&lf>7;dZC95gBniD)$#kMa3^c z*M(lMH)c;0>1p&#V53R&Nc=nnv!nvF7Hs_uY&{R8s!%lb5c#+{sV8p{6R^Mk5gXGL zz_iSP3;$ExFpCPE4YtEY-3@`NfzRqpwGi^?IDcOMGi5s1r)+s2uzeBPBVCr3g3Yff z<;HdsFa8$402h77XA#C6zM|AgnuqxGN~M9auEWK>pOU5&@GpVxY#>;cj=-=T;ZfK> z#D!*r?dZiT5s!$Tq)aXa4!nSx_JtXSE2s-K4()n4RIk_B_4D+SzK7wCp`dY^@daG0 zdYg8cK9~$}TWbSOX*v+p67xJnY;SWzb6&G(x?!4Ys*C-k{l=E?6j)-&YdC?8uIt#L zxdH@#kzZi4v;9uaErPr|-IclEWJjJZe ziCy7=`yHEyspv*eKrgIfR$m79K3k(F?SWSp#fLZ3)~rw(HN`46JuDU<;H!ENer>EAC(^MQngl<{{@|ZZk#ET$nFm?AFFMQJh`o;# zPwBxYm4wEwA?En45t%LM#)!_+_*E@jPoJSLn2$@PWw5RC5bCS8WDGdbrRa4tGM_CM~y34=7O(-+hq*OiCo zT50Wm=oprO&+dzPTSa;k-j&`^D-@ttr)m@f#(sejm=eI~OEA}bk8a(8j9CTR`exV_X@(#F(G-I+nAH4%1O0w%sddJ5o@L)+ z`aK5RjuCi%8(7g&v_xG)uh^1GfL`=CwmFl@9JtSL8y6bJ5Uns>vSJVP17=Gnku}%A zM|^fCZb;oo``Z@Z)`UZw= z2A`oOT!HQwBZ$&&rrD;Qrt_w|rl+Q7ru(LgrroA_rk=QpLg9ksd}D2+58iBb(S=UZ zTl8CXg>^@uR6huX;s&UEC*#&j8@O5(rj`RObi>V*QjzsxGCU0LLG$2^KxMERrPY(b z^tY503`LEcq)u)^@@JZvOx7bzo_hBOkJu8xDYa=>qbofKAJsn&O%Yh|?{HbhtG1!OYi>JQaKI3S(7X18JMIqXO@ESpXSevzTvOhI&dRU z4m%Kea2quVH>q-?`zj86Pz{Vl^ZzdT{KmC&FEbhrK_fAN?hW6}M!M6wMEz9#2Y3U` zHN1qAdS`g4KQPM1oTeJ4c5ne4X&Q^KzNS>uKc;w-*Lc&o7!}@Vyk!_=NHSd4chgI{ zMNr@Eh9c+?t`F{p+r@G)#v`$*-5f4C1<2*#0{cZ?hUt(-zQ8f3KbX-kOcZ#C;p{rZ=xb=6D5#cm;)yGWuN>%JDClB7K=-yADvj=lW*b=h z3(P_=?)>`DR6rDO&!DBsxD>5Ol==@Aoa;usJX8}(>xrPZi<14^Z*}RM@`>^ z9&{$6b4+9un4fXTXLJ8^(K!y(^cL5ZwV0OH0J5J5)N~QErXY0bwaH#!^7r8L`~^*R zZmKFKt%IqV*u&e4IK58Yr=C(TsOPxId>7gE82*e4fUQ!|z1p$wcLVX=i!246_9`O3 zHdIcR@Lw(#`5Imot`EGlCzOiG%86jNpecAcFbK2yCzym*1g_od@9EEjinmW04rPfE zQF;M5XuRAF8k4HXnZ@N2a(Q5>R&swt?|vwG!g5(<5Kxi}?yhtE@BC%JvAEP!Fx5qa zn}U|mT zgA6APoS_sv)>axXL0uvl^`=-;4pS0l@U+Qgd}cgsoMCKXj5WSBtTZ$<2>Px1+WODf zjMeKlK=XSLi1#q`O*@!4W(gg}9Pk^ox!0gF+Zr)PriHzsKA{i6l;D#PPD`a7AP>qIl*eQ!jyQ6_(+V1RiyFK zC5gtnvQw5Yxj3vC!H}fGk9oIh2}}-T1lr^Fd!^9cP&8B$9{Azijg&^Ds66S8!XfC6qp=foT&_>*qm(@AsbvYWl|?QSK>gls-xo z#fFOiL_RHVMQ=J&o+M9{r-I#ID<728IaLMoDjER!XT-l9VZ46*q_z#h&1Y>xnhRTH^m=>o35ptiLbddphXuMoK_J zx)c#fu?RshKtfPNLBc>mLP}9EQ9)2bl&}Z`R1i=~M5F}?X(VS(&ht5g{@(xlT+el` zfngY!nfu=N-fOMB_WriH()o&gmsjR;G+nxK9oG1|36PQ)=4Tm+ncXu#!{r|fYzx#2 zz7tFcJ&HB93NH(nrio_Ihqpx=tD!k;_WmudzFcx%|C3^yaFaRu9f^hYm!|7&2b{-s zm$~CNxGjH9KEP9Qg`+);JzX+^u@?&cEcxx^XLU-OCKpLQ$7T8!y{f7C!QE7zClZ@s zCp#$X17xi@voN#b2hp7J@XD?f69aWND{+yWa#vQV^E31wN7>@|hzir!-up*ov}f%j zdsDY*wf@sF+n$Q*>UYALCPSnf>D#ICRh&K6S0A{}^(*m6Xr30rjS7*MAqu-KQfmV7xGA0c(%PjRcTz!t)DJ}HSMJ`oNzId1 z<4Q{*(f6^(DLj%Rv;K(=i2miY>%HL~;r*e9LZ^aH*+}v>-DykaU}j;RKjzBREAL(T;>xdAE?+5iwLRYW<<*Nz$)Ro>GKxY$ca$?L$ z+G&@<4Nd_WPQm|#KloQy>6qC3JNYm1xkXoQ5u`dIxrZuWB>A7DjVjWUNw?B}kI*8Y z=W;5l`?*A%+@`m5NGJR`j^=Xlmu0P3|FesDD_~Y=FI99g&HN=h93K~(y|W(hdPt-W zmQ}}z-4AI}zfkxCw&vBun)>Pl&4CsUsP-i|P`gr~UeU!}7r#ILl3ZFcp+-Veae6m3 z>V79ZK0x*AY{t2{_$)zNI7ww&ET=!@-{#~xTZFqcr!8#oJ+yT?#1GNuq7Bu!1(63h z(Kf^IO~MyLAB)j4W|rRy-Wx0t{L>V}5WFe3oU%$T9hTV*)~q2S3ufl_%1=4HUUYWL zd@A!TPM&kNjdX`%|FE%WKyU@;Nbk_Mp;F=J!^iA@TOFwyeLI@VUAamXJs$Uf=j|^3 zgI0;F6YFpo7UO!&Ozz{P-nz~hxR}~8ZEo77w3{&dP3bAlj(R-DJ2}?oIApnEF1lw~ zui`m#af2Sr@m-ELp@D|B{;t82YNsDco03+?87YtRRL)Z6SL(QIq&ID)e*EH^{lJU1 z!d9)1c}V6&OGjtf%JN>gJf}ikC;Z&WsW3WF(mZVM%siRjWen8^J}>sh$fVV;rd>UA zWtTqhx8{z&xw4L@>u=k{%3Zzf>JS+8_p5m_ZqJyW@kd65%qQq>#RE@@&>F#M!Si&D zRiSd>mprZAxxKE3v;xrwu;?lraVKnfn1gNHPFFma(3pz2o)hC1zKbRNY&q0`F1*1n zQ$D{k_p^nsWT#mD*?xuPbp6SCN?rLfizHuEjpk7TI@pPK4icThBUd@`B0fJQp_|Hj z5%PNlTdEtM9KYAr`)it0S?4Yu#o0gC^_-f$54WG_?2&aZzfn)IIuJ5_0Ror<32e}_ zkNHZfn83f^9Nb&FsK3Si;~A^&WT!sj|4lnmH;B@I%ueQqOt0tlZ!9ibaD+BYsO7sT zqK;jlU#z7BjOChY6rWd4|6Ig(a&p;0m8G97`gimrr$3g7?%@dQ7)jyi9TmROR-;9s zzM+btBf$^FSk2&-z*?E~{y<&K>8L9{KXY2<$jkvcPhIq1y7>K(%%^pc7H9sFc_Fi; z`ZyXsxEyFeyV?*e3fq1kDj9w{yw47&1(E!G0cWB;O~Bql`>pPt6w&XCH~n=Yu}9L+ z&hGmtIS*gio|GoG6`fDLHSP7Z!)aA*{#}@U$b9`xa_L0Xdp)zewf7Ryn9O>WL%~FhBe}8I7kFaXWDlYULoVJJP#>eo;qtN*wZu7nF!LDf6 z=&nfj$boR5@R`uaP-^HMoPJZFzn^#+Z6YV{>@!$mT*fa~-^K0kxLW6Gad8^Ha@8w* zCC#7eP~L`IeUq|r6Tx<&PeS>_!^387Ba0$=qfbTm zMQ_q=Op=X$j4NyMal4725g0{&arGX)RMLsalaf|*D(2&0@60*+64%qm^rvsc=64Y2 zGE*Qksi6bytho^my+8q&55eB8JD;KV_-10?#2XXic|~Wb^Yvw}9UN~@=;IX8YyAFS zM{{gv&iU*ejvqmRWALQ@&RFb5GrrqfH}Ch&-rqb0(_YF&y64}XeKWnLp>eO!1vXM7 z;?2c1vMu*fyzgD8^d}kUB;`91M=LCAmd4(TtL`}|eiwM8eo^D!GU?ZYMw{O>$Tu|6 zo^-&=yeng~+GM3?{o-8bcF|PxOJgFddQ8UF~_b?bRk%>tgx!t~R%G;K8d;Uwwyj=7i2~ zdrH$9yYE_imiJ~>(_PyUxIQ?Z^42o+K`1fYmpWWC@@nL2qzAuOIrrj-=XJKLagPca zbv@pv%hb^$Tw%`Q2HTL|;Ill7)z^bZ2buYpt`Gl_I9;5)&;;8XqIS4hpmwl8epP-; z(n6ijZcYHrvMv7uNc3j&$@_7Ykv23GN;o2RUc_yx=r#TdNsbW}jqOhg>MgB<0pG&k zpUN5_D!XLefwOdUHu&A1Ko2h*O+{h3EI|H+KkEv*x{Q+&P~*knSfc5qN|QSeOg#?WYrecA9+_7GnmnG`t{ z=@k9K%+dtv+Wj^PHL>}(D8_dw;UOLAMmi~JcC7uHTnDQ^k#durT8C3>qzz5`Qnjz1 z{($o+zM?^8rsvC1L8LbDs*|I#y{ggl!|MAR=>zOl4cWssDy??f5t~_>r2c7cw=^8u zG5HWrMbvJif>itR3G>yYrRE-2WHrrN%h|m((v7qG@o+RWJye;KqzA6}UZ8d00!_0k zmbfir2EDC%M%L9mI%x0levPE(54<`^R(&3mS}1=WH(}6NH|c%oyokttFY|cjje!>f zzssR71`h-qhu#cbHLtY7KGA1rqBm2V65WX(xSXEl!K@|s>^8YH!ZVvA@s7k-6Sq=E zZ%TRs8vVttk3wqw?IwSo(rJ2G=6u7H?{seGXT!82Z-HqG|~lnP202g=@f;P+S^w0JnzSsaoZ@}i8=!H^aXm`M>-iVTg(x>K7Jck zv|rvlWMlpwQM&<)|5yec8$Xb;Qb&ZIm4|1?Jq6zui~Aei7%hwD$=VrxOMj^>^?q)o zPvpADvG9EU`|H*E&q5>Yb4=B*o~<|3GFUixHn4#PHG$UIIdC&3aUBj-0$M8_$#@O)rSU_BOJI(P>?;QL^l4JVUBzvJ@5nU~v^`MnhpgteA9p(+{XmeY&cG>-KzpS`3EiJua`a^o6ABo1_#N?^;v)=yl z{u&>f;O`owr=)L(47#M{x8Zh_4G7!xu?wes?#>>C&T=HZZ7%sUcxXMX`FGjl2#j?x z`b;!AIvu0`B-|pr!<=CPPJeUosNQYkz)Aj(dozn>?$a}SBIDMK(itII@P?~jUH$m# zJg)^;mzzuaom(VNMqT>{CS`n`anYQ?Anwr1nJofS0(%2BgJV^c8$&OLPKDZ1hf^c{ zxxK3JI316+hPtw{dO%@0;lt0>#JeaoM-!?g4&)d;l30TN{;a&X-L!H+J8*8pi3ZA= z&#CQW%>j?FXZ!&_Ut_aMsnn*QeeO7J{rdV!hY~+e9PdP%$`q&d{2dQNgb4}1nXP-u z6lY00oi>Py|Jc%Hn&)?1fv<{=!C4Q=p&gxa)6$7dH)pjHrFTN54?_TBe8z_q{>|C_ z&;t1Ptq{`)`qN@tbr0%^=GD1xW+%kM?(amWI?j#%H2y0*|9elzkI?68d3*sE-z0zk zpzow69C}{Hnjbfs;#4&*pxgEa{97aIiX9j)ay93+!EvT6QX+CNJePB{x_Qu*p)sKj zp`xKI#fbHwF`w*J1BJ|=x&`t9k})05Kwu)%sT zmh?~R$2JJ%PyNo+ZY~?tJ0|}PMHEU}!2PvRF8PbkClfNy9rvd5+CGgoiEi}sp9nt_ z&L3VBY7K{v3trEY_`GNFxEQ@ZvwY^sjIT0Y(miXQQ8v4CaqQ{=PSE|lb{A-%B{Ldk z+?z3)`nH<`@z%^2GS_4#2HJ7o9a2-qnwq~MG$C{-)HM87_==gj<&fxLGfP!f)k98$ zeHB}3rs^GxuaPhuvq`jx#>p-!eKlT?@fg!@Vl-cJHK#1xL0js_`!v{FKkwfqgVwU) zIG$p^fdg+GmuO>KMUUg4FDE|8W1K*7noH|xiM#yeIT&v$qn~6>7kEP6qo2NH()kezz|9axE}P%B!m|_fxf(bP zYCpX3jHjYd*1_n4=;L~z5$y7%NGEQRJ>l76^oHjd-T zPWxrkF9Qoy!8ZakMdmEI_4B|_KAvHdR+C_FYSnkai~4+hLmyG8YvEu&g^NTUiL8kf zg)6p3Yf^#FW!=RERt)$1E51#_VpA_qaPZbMQ+qzCJwI7yatCh6zwN0Up1LCSvW|W4 zwAWPdBm7V0(;L}D-8H?J%70(_-RZ5;Yo!;~N7~_(zfoze({iV6qgdUBCw;u6`y z1IIGwQQK-}2JHo%O9#GRF0I9{P&gyMR}uZuIy!3)iqE-vYgaR>V34n8?#L_<=;|u{ zO%ELx+~s<_KoPCYC3-B}GV)#|5b0v;ZEmdO`>f(r(Vr-AgXEXk7UZ}2gvxSLz70zz zCpED1W-3qKPLpZ5k}D+F*JxFeKe7|j_KvR;cMTnaxkw4n`51M~piq7ZD5doJ_omDXWxDVIKoJ&h2j z6FL1~_L}Ow7kp$8#M%MgD9_DuRu5qruJj0vpg3ps_k1k9ou(IwZsN1)6|EdSr*l3! za$6*KWETa0K)5bf+RuDX1MDctEvI}Pd?PrF%GuC_Xqq@Zu6pgjQ@8qcuRmQi8D3Fs zd=M*GV&6zk6VD?6oJ1-J!&PpI!? z>x+qZn5s>1|8f~>O5Zy%awDv)-I{P=p>inQO;&Zfoby%$X{nO;1-fZBf9 zw(9TG=7`TuPMA7j!}jBLbR6~X+v&W_wl(N)lQY+uO76ykH9Jgd2E zQ?HFNc8~lcekz&Pewed+sht9;!Br|mwZPxHWl!jZ<~D`!t**tGj6oSa%*VDd#oR9A zu8apDfJyw@KVk8OGh0#L7H1yItQdGWurP2w&;;t)6|53^IteKnni=xEexyFOrPUlUV=;{5GDvkAmiUQj%7VNg1NDl&kVntiHdZCoM9IW-w2EZD$hrGN;*x zYHJS>R+P7BpFJcC#l~}ZQBTkAt+HqA)WsXJYB?FSfq1>uNAH73M_^6w$aLSETRnp{ zm9V$0owMsl;`Z~!{cmbQSiLU?W!?-^-3yrx)WshLVLWAO>M>aOKFaJ(dY&ar&7T&b zpYit%F`Haj_j9N3o2Z`)PK?rU&x|i{n#`f}JQ-6M_qaTRC^Eq1Rp zPC1EF+{Ax3$$70C`Ff)XZ@5oCsB@>>oBVMfW;M#%9DOL75qTw2HS%Nl!El^8r`SfX8)R>HEqV_W#j8hr8GwWqOplf=q zd+}u8i$EZ7b8xb&S1B|+v?)|N{3KLfE;7=@Qq|~~=$>e8CvYCfs>{i-E3UFTxYqpV zolxVhgu?v5lT`YD_?p{cdNal7c6%S9NqLh?>*Ut7Eul8o-F18ixt#cR!W`a8yJ(+> zLz^WP)0_Vpn;(HIm8FTU&vs=t;buN4D~uB}HRBVhqMw-x=?_a*q?RA2iZ17A8mHs= zpnTa{gx)AVug9#f&#GyscO%HOBW~XpYZ|ZD^fBzZ!_LPjhhBC0ue%tV826t4b%W0R zId0PYqVxuRtk&YO3vHH{TS_>ole>@tucwNDGH91%C^E6?|9C8WMcKjAR=* zv$=`$TlAp12Kzw*(}SPD1m}W<@vO%}v+<TxD+sxQKleEvmw;beH?6!otrV)#OyZSp(%%=7SeG(WLs7Y!2j)L@%iNm7m z{bBL=tuFAAj88L`V@I3p!MT``C$kov_*ofuua4(!=4ij?Lu?a#1um~dd;8J(N&~{* zxElQ<-|Ef}jD8<2DqpR2fBVshlOebF%pla%E&NOev<5wM7M&xUSjA?>FvX#^QIX=-Ui6OqsxpH$Gn&cT< z#9uQ5-&FLRh+B(?KSedF#fcX?*=9A3c8VO?7wT*)Yu<>lRLQ!|tCBdqK~8Pql+Z4a z>XW>BGco&EKQy+lB(Ln(jMsU9C*Rq!6wYmNhvP2ACHOjJxB+hT6U^hpN%b|52POx=q;LzZcI)%@u?XOY!S2_LS9G660(?8?Y z_~X>jF5y>s%L`y4??+D9T=b%OkV+Jdty$OUN&FU918zSU-@q=czwI!ZNxg6C1d9Dh z*XyEu%g@uAKDss~;1u@Q`N3Z};X067D6Kk&a)-3e;__aT@ontDxh^ed+F2W`=ZWRp z^gH*!u{|*PEm&`zw_tM>7rMhho54H1R z4NhMq^i%L@==*fwqt4 zZe8}4?pL^i()ra#@+j^#O@9OZez-ikH0h_Ly-BBRqKQ-4(=hl%`SU{35g1?%t?5;t z)g4nRmUM;ZVUg38y7P%9nOXV-6204*g_-(|b7bpw&eyz(p)9}|?-v&(?Hv1)BLA`c zF&f(Jp~|*^L92_+^3DM->(@&DR99xbjh6oqwDtl_5M%bg;ColN49a0T9eDJH>)XH2 zU9!&Riepe|0xv)@h_kAET1TwbweReDnSucGcRHUxKr9SLkE) z^Ni%nI-=4~bcd=&GwlI;)AQZX9@stM#W2%d;VKa6F5B3rQu5o&ECnc~$DB?5qrT=6 zHT|RDd=dLOcC^*pM@BHeNWL@lROmf5Ei+U-{E)2ld$>@fOXM9}VX8%k$s76nbf0CV zz&}gll4Snn_(3mOBQ>#yxt1s|$-6o!bnxwFDgQRg<~gRT=f%kCLS`gG|5%2qhqm~{xb&7 zsR;q@m%Coc-Z@r0MaUV6prP z_j8Qd@6Wp6o|dGMwsvO+i~H9_|0)iE-MZYD;-YbBHboYtbCvOIlop+Zod%I8gPyXN zdIQDn-MDeM((Rnpc}!4kq{KZ-iM>86jxxHCDtJ3>^a55tGtyU#=FkaT&h^nVTrZp( z!(A7e7kZKZse=qzI+R14p3y1U2Vwnz8666q5}j$GQnda%LW3#aUxoe*D$>U+f6Q4N$u!_i7B|#Dko9=jzRrtum2xv`?pZQbZ21Sm0CSDF7;QRKY(lGJkHfW zxs0yoiz4)3;zapmCsn*e!fH=O0QYRb@%5yA|I4CxI>T?K3Ubg-T|0chGucAT_!xev z6#U!d`v@9-vA{V!w1t^dxfC9hG24jCn{lHKH2MJ?QExa&>31&f>vS;2&^*orDhK;; z-yOr{hv>{FiT?LY)HRDtjT~@l-}BM!I!jNe^LgmA3;EfaLgpJ}(GKEiT|z|1t)I;v zKk||k5_jFy`e}OaUnQ-FI`@dvLpt|+<pVw)Qas;;}ugnUSC8L7^9hC~~|pVx`Z;?CPH z?5%iK8JV;uj(>{??g^tj>$7LeIP3L8&zij}LLyLz2g{MPKw}eZFgJ!{2%Zy{yzk4wCT28tv63Sz%vvc0?{lcMgKGrhSE%dm1 zyEwGfCYUne4m8Fk;Ul(WcQe2DyYmKmM(63yH_-3fmQ`BM?3=h;kn<9I0`B0OIG@m* zdjCgadDnS)(pBo{NSx_>auqW=Q|&W2l9Db0+u5Ey%88e6rp|G)&qscJ)1O86|NO|&OXsn(LvGG(R9pXzO$BY zRvCBNE!&%Bcv5$%KTqYpgaV1JITz+ZqnB-$Z7fEgFl#r<&bgH)=QhHno8iwNY?u4g zPS0sJDD|;Vp_YyDmqh4NSF@j)x}xSj*Xzy?;c+UN@Q*&vJD7DF+3YH`xJd4L=>Mpq zpXwYvug-UeIGf6tl|*P!)9m@Z3X0N_&|!7i^=69HePZaE`V@0I?~->S)b2|9mmR5_ zPsF`wTk1T_X{{*TEf!CT(<>r1;C0m#dB*;-J^t=Hkvt2_8UlH>FsYx6Ev{5Z5B^tTLJR|cLW%FpO2b(f!h2ratqJwJLZ&wp(QlknAhtaJ&TI^YOD2`9#ZX#>HHotPq31z zG}k=R`+ogcb>FBDe1#5rW1t(ge=!{{myX;hD#%5r%?}fy(NJr1;CsT?MTX!?Ibo~$ z(M!>mvd|v5d~n(cDP_Mw9IrwW?L8w|(cSv=FGU}q-{*=Rv88Q#WI*I5yB{uK;tRO*9tyV%R|qGE zPl?j6LkmK$>yeC-F9&e!^`;;`B1b%n_s@b^H=06@_u03p@o$CK>!MV}lV6W)i{y&7 z=UCYqEg)~qrc%_wmSX7Zetp`j_KQw6r(BNDe3@=a6aBt#l7cooJ-2cfQbv~gcLPmbmUGt94*robe8o3# zzwLwlUos=q5K}p!&c7#)y15cX{#8X|=hBbDQ#!+&^~GXYIW(V4mTnhqy5IBra~Y9a z*A|BM?qz@MeaCQs1}w z$hWfWd|YvYjPU?vwXXhr1pE2{79C6ZYL-r!-!4$}*s>N>p5hsEe?kwKALBV{Qt zyTYG`U!&x84mS*!3McB^@8(+iidXOb&>M2*%U-Y1_dk$zz71`+b2u6*5pEp5k2iEd zctXA;_zvF7W$$z?UL(bk`!`rQzN<{dTHuJ4j|T z7jiG1&`@AI6@Gl6ua0IN-h|w0elRn`E9|7R0-QCCAkfEn7MJnK#&hyL;9qXyv2RYX zUu{W2EB;HguxzzZccu{!#yWhWz3$7;*keo1<7Fn&3gPsFq0w(_ zKZ?qu^*BK9xBdPZF*%hN|5cNBljYBme#-l3r}gyDl9Eo^J+wrG4)QZ!M+e@WupG91 zkV`X9!ZC9vGjw%Y;VoCx`H#g$A9`l_e^t?Cx}RfAg7i@5n?RlAMMyroS5wWoCA;7` z!P!xqtxM=(Uj;Rp5vMH z(e{zbkwng)?`^;w7w&J@Q9YG-H6#+Hg-?0jge zTlpP4T3!En8rF2w%;OE>Zx9XYZD&rbvaw{7&2T@btg{dH6AIIKf7gj`IW^@^6B1)} zv5T95oC}?mPufq->X3aJdmoPTwK^NcMBd9{jCM7w$;bKrsBUrAzelJ->{{2ZcLC01AY{WJ0T5xh4Y{~zWv@6ze75|T&6{>e-7R&;3e z4qG3R#ppMYw<5z#*4K*U;m+F@{w(|k=F{7qYhWXOLH92+bPnP?5<2X4EOc6zGmg$* zK3w07Z~yRks_KUD*>GXKs>f)p+aih4#`*)FL{CI3`-wh+S*l@6%V6gwcKEC_J#f1T zyPaksy7Axsj@5URC%(b!E7+?snkRCb37vvA9JE*Qhf)}m zcEZlBw>Z<9QVh3qS@v+Y;BFCmJ8f_^EvIb4c3<%ZC~T7Ic0^Tc=A_=Yc=4`sTler2 zuM0ox=e!tNPHS%%irTXH243GZSO6m3Y~uQLSo1O4bh@be9YyOs+%y9N&jel(pFf(D zPYzbsCw?KgG1H|in>VGR4v;q{GDc`QA zhfWcp9qbcLw%y@ty{gBl_T^}z+qpQ#s3LXwHjc|<@55W&<*wo?%E4?^^ffHKKW#o% z=c_ueqo5p`EIvuN(X42^_j6_y5V_a=FGe30)8pj4k7${(?PRC1raW9JwQ!%?;mb$# z2FBRQGZSl{D^5QanV;}PEyShX6T4G%_Ma4?_r$gItQ6(_KS4MDTxK4Hku~)^1kAd9 zX+Gg`oS~{1J&f1C8+jVbX>4*iWR~^^8{A&u1?eM0-b9nRE?k@+D5sp7=JbNR&Veb< zchUm0>L*vc6J8nK9S-41?M3kl9l3T8AdGC~%mbjLGsJiaotMRwQUv#bRaxIo(OSvicgE9IY zkqLO>C63wte!?SqzXNG(;o#3W(_q^I%Q-jg5Vy=yj@W5brKimu4)^O=e|pzP*W2(L zhCy2f`v+fzLeB=v;+3&3aFz&tI=tF7X~8+ZK9WN=cs;t8;?$Q?ehw}lrs7?RyAjj= z#Ef!j8vA&;?-=KOQ|HBucP_(vc{G@q&mP1Zb?n>Qg4k80c7;DX!bJ^}s!{8c@uWS8 zYfaNlfx%4jY$-NDH6J1z%>P%% z6LEn)w=_CU6t#<15u-=xqaV1Iy(6uhYnP7Y{ucf^{Glj)Harl{>|_S7iHcrJT-Ne? zW6IR+KK^L<1^IRjeXB6=?{(hu~s`} zswwof%09JvdXyi_7{$ft7;N>h)6g2I_G5UT){4@Lw!jumxlYxum(mc6sv~Ago7N55 zox70>eNytn$<26v{<7!bSyeHINu^g*%N&X8oh;Zu_iqljd20MBD5+%JW`2oUS%)!~ z+oGY!GN`1S3A;C7??T}}bk!cFrGb-&Re}&das_`S~@AW zvz1QJn!fgoPry6di_rAMzu|@1u5B07LTR*&uX#5I>p)g;n$2#{#cPzFJLJ23_K^JX zuPQo1ck@oFQXQGH80?uMLc=Dk3{{vdkKhyO@M-b?j~Jat&0J>^|G2rd6o|BvYTwc% z(tUK&AyDZUxOA$zK0`*GAzr6Jdt*exU{TzK3Q!+D$S0p4^R#@yrSiP*DjTFTpj`7T|(ixelijUwi=`A9=hVSv}VrH_p=p2c! zzD);R4}*sA)~4q5#z#Jl{1HjgU459|^fT<$h*G`SPf!7Sd)HkluFLU8{O@K!?{Zee z&k4yU7)D|B$N6|WLRyQn&qk?CJsKqXKGJXcRV-dGo0|xArr9ADg#eD5GFxL)%oOg) zc3c&qq-}JH6}Jt1lz%Z@R$WG{kdoQ6G3XBpQk~cMrZdk$#KsW^G)=^Ewn3{mT?W zdvm;tRQfD+r9(&J8s?KqafT*vjU0mGzvOKiOAl=) zLUT~rHqe`%H*;B^YJUo*df(34yLFb*;*a>6@2T@WFq@LRMTdDsuc@K~v7p;HIAV1^ zKPDe9LNoD*E6$9_lu6@#?7tX|;n8b(bgcR~7t8rE`>du*+)o9tuv&VnZDq*&_3np= z#?gM(2_o|)(K=pyKBIyRqRe)YZyRA*Mew%Rj??e)uj%xT9+ZP}?$OccPgwm#le%rA z)tt|8nzp>e9eYZ(zX@;36Um@CZwr4L{*()92E}s>bUIQWf27~XaIn3ukMz0t+!wwW z&TThRTRQm5+;{sUDI)YC%IlBOjA#v>jd$p0xqLrksSv@qhPuVe>;=c5{oM>(M&A;*WYQ+Dgv((A8Sf!Fwq})&UbH_zj`+4i|<1M3MGzf>e z6Q+mmmq!yhNbY8EK@cg-Ob!y%M=h0Siofkz3kc&&ECH^{n@v z@{#`Hx3f5I>in@%+{_s!xwcSfXX8tcsx%Ftib(X&=nt^sc=fnlv^o#|`N$6b(RU)x z)A4VQ)Tcn@u$Sy;cqixQDz$vRNS!5Xz8!wo>1zvhOTP_o4j(Xio8ogD>v#^QHGLg9 z%prOsZZIwSZS-8UyytDQpCA+Z8px-3P;I+MH*O<_&G#f)Iz%MGxBP)Dpj$r6+XOGh5$W$51i4 zz_jspi1a*6nwXUCOxN5dKT=H4T}?a3tmzdl)LNs?y3;#?%`3^o^?QMohxuf+(=wx;6 zINw=2Y;hT+QOfr;S!XsBSC7sz-(4vpg2v;Xv5rc&Z12QzPTuBr*iGT?+0KcdQw49r zVSc|j9WGMGns9o-T-lQ*Bf8qYc|&sHO->Wb6)RP6&l@eSEulT8BQ?M`6gHs}#pzdxM;8~rDscL;g9YtH`@9)R>E2fn1QJojr(Q-ARxGwvD+m2V#lXi2JoYN6y z^Yglzc)`Ea!Nw;KCbBeXXpsbciZB zi*DZ|`%JKF6ZA2!=!+^#Ocia!!BIN9&S$})m&NBfuk)hx3Pc*qqcP4@i89sPXLrN= zhRLI`7+t2*6gz|Yj6IKOHs6%T(;La89o+RE5Z=S$^btAg5x+m|&)r3DTTxsGYb&h# zd07tLO2L|^^Y#?x)=CENCw=X+P@)_KEkQgk_J^al8;uJ zp=KQqAL0+$tF9k_08Xmz(QqzNd;^Bn!)B9LxXm_m^W?Wj;sL#@&!dN;d3d`X_Y>^& zeK+?EEs8r7SCm3G9)`adUzK|Qn(6U?Gp_G*rB|9O%WXoe2la0@jdU+xPY#}t+T7;t z%<6R0f4|qx&5q7ut>>iEyv~+CnDo6~;Ap$HYN>s@xFv__QKvbv?RA?lN+#?#jo2NR z{SA-ofWv<8DQ)CuUuG_(x|6;?b}mINoPISl+L3B;g6caBXKHSLP(XHE%iA?mE*&OL zd-HbpqR;n*K1T&7@iQ$`;g8blD}-*d6KAFzd`2ImLwK|ZJrOQz6ZWgFNouqe|HwD; zQhj~KCAK3~;#GfJ*Chvs?=YIs9v#qz34Ic#aVPC_a$#AW+aB`h6cM;wwcjdA4^cl) zcpaBj_lnP-T(5;{{EL+Su0Fq_pZc`@UZ4739))bH>MI?N|4w&)xVlw~;&h6FJ|7zF zi=|XmUC;f`D>@t+yOSzfOE;zH(wqr)1If zB0c808Z1LM$J=t)7_&>SevUjkkn5*@v}80PdXh7ImC4X)cxYdH$y(XvTv?vX$E_ES zLj}VD%qWZhF;}EWq@w(Ji&!2cgT5PC!8dZnq*4=;AQQ#FzGy1%VIRuGI&7~R=jyBa z3!%8$>drgnSCee%9b|fZdqNy7@P0A+rQDE0jqc?9sF(Gj*Cp+vlO~uGFHKXb0d>~q zJFg;Y^Cu@H|Ko3eRN*I43R}ZyS2@n#r42Tr3~u8$?`10asC?Z|202ELdyu-ZPo3>T z(bz7Fc8caPVfY$^Qi_A-6P)l?tp1o7olbkY%`8(&=rm9Fw|pV*!lf^X)E8|0n_$Dp zn>>kM=_DP}?JN?iZ{FZ({kBci;__6wF__W``U=(` z=!>-M3vpE_a4+*4pL4Q7Ta$3_*d}*`Hd+yf?BO)|i8ix+3c zDt-L-&Cxw$YxiB|2g@a^wzd*%34L_gu`#&N!gxBYwnU?Zdv3`9=sHMN0 zH!eFym-6Coh8#}lhbBOzB~<$xVA7k^`;KyE7d_YRUfsNRmu%5GJ3_08<$Q7RG^fLS zM&IbW#hk1CJui)*;#3p$J2`LWh^NQ&nVLk)>xN$7pj)S-Jj>+Wa8cS73u-13tC>S9 zMKdj`lV4J9tt|I6iL~+e19WI!wPoYS$e*S_O6e)}_CGEW|8Z2dd*R zA!kXpv58`d*^ol2(Fj}9{zyo%IpYD!-g4O@l30$e@*r&ahF<26Nxvr@#hzm4prvw% zq=?O+xc!Sa?K_jXFWX{t51yMl>2J90H5zL@J2rIsOw?%jfo)isLqk4=Fe4Z##oUZcV4Tyf=i7iY^m;`Z! zv+6@<^EfK<&})Y|$781rGc|Q;pQqk$OgP0|Q(265mmkM+8hjucSLhP|K!sZ8*KZTQ z@{td8C&tUP58{UP?V3&GzuTO!RFCQjT1joEOP#g%VsA!J!H4C zJj8!z>pbsedr1CcOJ&7iI>jl|gw;9GdD83D|6(*zhApIDUrp}0=6f2Ta~RwD^ntmb zSd8v5XMYK6%893!$D3}X9ki4&JII@Nip{&|T^+?jE8jyse_xJ&HvTd25U)UBq{`A!&!I|0fQ0*hw0HU`IbV ztM3Cn>!p#PJ|a~+B@=#2z|&#p^Nb=O`F~fg{`M|w51Sl!reMhrng}9 z_rNy$RE$TcY!SWmH|h6HIJ}Oj*R!~0dhm}{;y(=W#vY(T{bCc)dT*P>>_P6?u=uRx zb9$KddP`g%;$N=A?KN2+<7Bub_3p*UO30_OS;p77X;R(Qk)Dy0c06>W5B|WNR!xSR zLM8s22GXJU{ogM17xQ%5#zoI!GM1rT`R6 zj7vQ3=U%E~Hxvf1mr&48|Eni-n(ll%z0c(MqnN-v+52G;Q_ZZ<1*&Llg8r3kw$vH^ zyD^(B<;Lejkm&jB2tA=c7>m&h@@kldpNq0z4rXoeuYYtPPs#Y~7+pqV{YAY#re`0` zO2@}a(+zHL=bMSr)~)eD$Y-QSd912{9kzI}%6VJB_%{hJr`LNFLikzuQZn(@*;CW9_i!1;?hkExzV7jQUQ|Q3U=wByTN+d}3_rJ}kO1S7>P{C{^b( zLrk8LLI2KvU5n8S{m^8(e$lM*>SLpSefWd)EGI$>b0NuVF?v+Qh3WYDRr`uEWgYdt zsfvG#+}X;nH>>fDd=EAJZ3#ZSB%0Gn7~yApX#q|j^R#sL#MJba;wkvQ!SNqKW+T<- zj+jmb2rcN!?uz^*N*BSH({%|)%coD+>-?zKW8NF?BNO4c+1S+@YSrHmR}q!-cCOvY zB6O=dQ4C(`PtjOSw=dv3d{p;qqp93VIx5%B=*w+iYCl)?Ykj}mYJGP(<9!wF0Pb24 zCT+<-(T|gK3~$e?GU}V&UXwdtv7ubr5U64Mw8*`YcN7Y8XyU4pfQ-sz|2-6#1 zp*xnAKNh(&b*U_?A)Qw4!Dijxdv!oh*uL;AEK?+MOfP7%Iim(@{TZ{`i#fW6=@qpV zrB&>;ED*}c%biM%%4-)!dD`hsCP@aElb^*|^G7IP(zBHg$IS3rUWJl60?)xqf4M3h zIGnz6zbimJFGGJpn{WH5D4XE&>ayrdBIyvmR7Y$*Z70b$PE@{P$3SJB&`xU0qo$e0 zipiJxUtgs}O;O*UgH!uq{cU-+E85+Z=`79-n9{5Ip51JtE5RkYPj-ICPP2PyqD6R_ zf9D{1!?O{q^X0JUQ}WhIm34|*-G>$#>n&9j6}jZDAf@S??D;oU=D1&DF?tc-%Tfzs z3Vuu-Z6X8R16@BR3%?|?=84ho#MvJ-&hviCB#5*qL{S;Luge|L#Mf=^)l84Hfw--X z&6kpE(@aqP!_)VhYxB8CpN`Q!f-&6ei75heoPtNcGbi$zjgAA(*fA3~-xWSdE%a)P%>-k&LU=i3UkMuk7*M9cJOIa%o*2ydDyzeSZO=s9};5?vzq zC-^SA#WmaHljWz=dGcR=CVJdGspSss@e9$Q+g`JL|}89W4hbH zHAv1J>h*;8`uIpkUBGHK8$_r8KhXv!$SBPd3*)qFs06*;?<`2{4I2llndMr^`PN!R z`PD|2o>=QiS#$(slkOzt*`B(l(C7jB{e*BYd9&XP$7hwkGGxd|hx8LB2$ zt8(VwD0{XwZ}3RyIV}EDj@jd(6en2SZcc9&J?yqL5~~>$xD!QgUTA^}eo(-!S{tKnATPLMuT6g?&!E+;Nf`u*JV# zVw*&4yHr1(ycY08VKI6duUYFFzG=38Fon5|?s^57G@d8@s9xqTk+rhvQu*{ly60@K z54`uW?6XRJ-;N`lH`!Q7jc*z44lhi{l(u;0@7!JJOIsw}CMIL2N#4Qp)7m_4ZGO9a z;`48M%omiG5vJ1W((8|MuD|R~*VR?p?%qFQ_Ao+6cm?_^V`ltQDoHaad^2=-zwi07 z&GWBB?#KP&&A@)b-`R`*pcr4*KHDc3hGxi;k8^Q%!=Bn<`M3G?4u9(HqtENcFMwP3 zn29OKx7dvuI+uQYiQ3d5GAgn#vfGo})K&dJ9!TTgdEC|51*J8U(`WM~Moq(Zr@$?> zcPxuC+BRVz+_R8=|ECzujiuM6cXm=;dh6OhrcONW*GK%Rhk5&36B|GSh4G|w3Ap+&ROuJ_e5&e4Ggyh7C4LzL}1Wz`bq6* zO`}XWE)$_=qPcit?h+4g)60(YX*HmWy(Ek7k4rVPdf&hIB|f1V_Bqnlhac4XRQ-`Q z(AOA~4AtCJ*G>+b{whllo1VgVRmP6hx z+x=FU3!P!Yew10cN6f+W^)|@a70-kw@^>%5k$$yPEQ#iSvq^<<;YB*e8T?)yMd*B0 zD2bNW&(pujy}iK{>sA3G^#C+F>a&*m@@+Je@WlyF@C?qf`B5G-C3 z52EposMm4PdImcE zzi702He>2U^Y16dU%V!d@Cg z6`I3vk+Om7z8DQ;pq|Iq+!Hz6m#+L1vt@xJ{LK~AuKQHAY5bBa>74s;rz?qB)Y6># z(s{*e8lOm}`N)Iv=hxWP%Rak1)K&r>+lensz`*KKt^c66jIdvzpq|PndO5e)HueYP z^{6WwpS8u-=)Rt-gy^q0{V-^>wDW2=XHUiS=HjZvad<%{-Jssj54}Svog`Ans{9jl zpJv)=@u``EZK0#Q^@Vu9Zs)3*rYF2B95$)cNrZj`p~vB$_rv*XWS|Og+jw2*zwL`} zgXwMDL!k# zpoM9nS6sJkYR5bs{-N0sTG2#yY*Y6VryV@OKT^+Z@KqkC)vDNN{-Ri&&!@H?pp{?S zH#USn@pfwY4R}yt+UNhxqOk})mW@Ww!KVRAV$4qx>x15aU$vHpdO?oEb(vnlj2DWr zwPN%SF?t$Hj$%!@Rr?a+v7#ugDo(5UwX#2zm0t_0^GR~YKXiaSG^_96*$?!q#^Bj8 z9jr-qj3(0X59rRVD>@ieHv6L6+bnazS(y!ZL} zae8E*&bQWGi6)d(z3!A1pQi`Tr~j>&DfjFDozek3@9nhQd4PKT6Q%GY%=TGGt(|<5 zN45Kfe`1WgR9l4Z;lg~*UZGMp2d(0qxLZ{@B|^q}HcQB&U%)kY$^Nk^?bqo}H(^ZY zRp|v(&3-ms)TH7^LnrZ|jdJBOHGf`cj@MifyF_+f2dy5lH#8TYY4dP*y8oM;4Es5l zt48h=p&xpd!?pYz3o?wtsB7 z7(Jjf9G{pE)~u?t(NLVW@M&dMZ=}fsyfShxh(I!2qIp#o~FsszUF3~jp!);um zGvTRwO(vIub^fGreMos5lwIeG(|L}&Gb_ZyR7zNEJ~`%R{{JcW|NmL^*#9bhD7(@Z z#QdvZSIu~yVvOlg|3~ZuocGk}FCpB`|HkNLJ^N%)SU^QDrQTPNJ1corl*h}6+d?pL zs_*5Bcs|6@x6!1@Cwwh0Lk@$*{E>qY>6`Y04?ZwYbHonO8c@U2k$EO#0+C9d_2;9Xnt{zJA3OqOZBYHL^SnGSv;SdZ zM-AWOvvBzar+w$r5o*shIum7GmoG73Ix9k zPg+I?n4qWBEjvQf6V5qH{Y&`a8Iz1R^NA+K|4l#m1R@^_lQ$D7Y4(TzA>YN=(hI6x zPc^S;w$JImEPCmGSTvSJW0gL}>Hn+rMY6Tg*xYgqjrM`EpMfA}(9{--`yVi$YkBlC z^(he|&4(8iSMSS;&Dg7~_e=O#K7W@Wi(U{V`&IgN{`Df+cq#_=X!dv21RgC$gSjG` z|3%^1*-3j{D-II(ZwqElk#HA za1C==>ETf5JjVW~sNC(fk3#>q6OkjPvP-G(w{p=AqlJFrU!LYktgYYntQ@*oSE)P| zZxluEH`Vb5*JBEe=eS)?Epe8&JvrxO(VM6nQ+X42s`P~^?sw`5k9RFT!oFa<`mP4^NNvKmXs1K88hOeChnZoc@}dq@sv! zM8Ug;MxT`TVyE4GfRV0*DYw#b{*oIn@vxV4xD!~@Mt5!z*Vt6g{*!S2eYjH_I#eTyXHDp| zvh$iMbLn3XW7Ri>-`d~b$AvP|{eDNb_};w9c@bJ(1-REwKEpNGq1R9dTe_Fi=zZ1Z zm>rZgsma6aEL?5NbR@ovXTKLb`WCLUE#ZWYeG$2$g`L_D{HqC0mN93D%b6j#Bvn-ANzCglr}yK;=Q$X3mt4ETIdL;|P9Ncv zY9>N+@`&z&^XJ5mvrn{xnXUXP$!P+JqwX; zh3uERd#~$>J|{~1%aC1U(>AhY3;Ic8uO?#iX3^PE*Q6JYGz_YHm9FwRkMur2MVcDW z1hyH1<9!TWoWSa;>U#~+*;wjnzASe%#_6A<+O5^8k2eE$lUhHD;=VMSCtQ(9ORH%u zaD#hc%|Rk^IQ@DgZD}agrEj(-cr%1nCR-EShiiSrBRPPBxl%%W!ah}QTK0aJynNWu4UMoNE0xKJ9n-o*t7)+ftxv;OoU{ zrFrcU%42@32)(C-fPUUD8-?-e813y-ANON*O}Su4pUB4>z82ZTd4TQMB^0|KPpn=pwFNw z(X)1r@A0>5MDlD*{%IYMyTo@z5qgn=^({4Hq8+q%(%gzVf8kHP&jqU35ZhQ{bv|A9 zbFW;tgyJ&6HF*f@xrIttIh)b{*IkOKPBHENKh^147L8MN^QuJUDeLv=PVH%QcRu&FYs^3Vz}r{l77qLY2-ZlNOdsi+L5zj?ld7e3C4hLF+%R-tK^ez7gYd<>QIe z(Lrj@H6B;i*NijI^p`sQlT5nU1oI4;@j3A~DB4FPc7r$X&^zkr)d|n&B7646{)fr8 zQ)SRadi|TZq%TF&MQ9^G@uR-RJZR@2G*U|ctEVdS9@qULe5s_;;^1%g5pA6NPy79I9kWZK8VNdIq^tVKPh1;?28S!7J%@^bI@)g|bX?;?R zzRj7uT9*6`A3ExaoP&Wbcsr}k92TG3V9*t`(6^ncIb5%z6W>?`RsJGp-x`YO2#=1+f zKK;3DEE@TjFO|~Ik8%1~rH^gHACiqmU-KL;q&$5qH~s1?o6!;S^9rmMb_y;RM$`0he{VuoD$ zf-3$5hkAdJ`XC?Z{oZ=hYX)+jjPSRUO(@NidDljNjULgL&*|xENCzH(JHH2&{4R&* z(_6S5{+g=hZgEa@Zq=s~U-LAq`)4!c$*yg4Z1f4b^#`u|FEG|Waz-9!UQ|}g8#*cQ zW*ZQ0@oO`T{|0@RVjSi{is0|29T(9OuXR;Q>HF;wq0{Msw_>uFu!Puo6z$aci=OOv z@WfkW(K9f~n-Fwsv-BC%p-(ZUM|fqfx7q3Ux3UV?15h|r?Z=Cbru3dcdnr;aCMTy~!=UWDA^X`Lr( z{)sD$Z}-vxnj@+Xm<}n-wa^CYc@iFdlhXNxpYCT-y2lkc%*pT<)nlKZc`Ky)wVLyR zPTE-4?S37Q2A-_LH>9uJi-s;%jJh z4#fYZ|9g{;=6+j9&%mSCVl-V{&nGeqX1@w}Kev1y%c7b1(n&hiAJFKJqUIBu&1cB( zu{_#KG{wHRO72^_XXjk>uuQrU?^%xhyszRZLOw%$?&gR73~n2bW88&n z6v_5Zd|@W}F%ysFVa)^5FuiJrDb*x%X6&obWx^Du2A z)j4CYnljiVH_o-aVjMN;G4=cbk=nznCxw21y%x{NpKnsAR+~XQM&>BOuh>Z^b*gCJ zCPIrqMGyH3OZD!uqE$q|C>iS)cdL{03YX^IKEP3lRU-g@1Hb|UTx zS7L?;TwO+EDm zVrL#)pdEZ;|HnjGqO*EdLGHRl6^)%u`+jz}aR64{_TMa8)C6}D?LI@!yynKc=5;zF zVlU~^$FOK@s=g%ECbloHB}UUVyV8%4m8NB*(NFR6@BOqpeU)SX#%LB4o`xOe5t;eL zX?{60x6GR2&V=!$^EmxM8SNMU@+(n3``;LS6nnT!uD;e+$fE*Y7HRuwo9k7m<#Op9 z8utvbI7vjlX#dR^$a9=)KUEET8vy8-W(|oRrW$i;4T~W@! zyY&2~ikFQxPbPV`Z>EPlLl^nNCW6yqw5&RHCq(tEj5tr_UhjS!##yhLh)k9-b7ymf zT%6?zvgbc)-yiPW3jWIJP;76#!;xTIcw9{-ve*TLP7i{C?uolLE6?7AFReP;0P z-t1{S@0psdKHQB3rbUnOy3XaC>nlcUMhZp3CJc6PJ}ot)6`L!30pffL%YRZ2euVu` zU?h3;y#`7 z1-8TeqetI>c0Uqx{DSlAjO$Q_PTXFM4spKg%Mj^&Xmcf0`h&W@-rEn}U+H5Db>v<( zMK|0v>q1Yh?S!~gOlhwvlf|yUC~WaIY%IT%v=3mZ3(ZPB_5TodC-62_Vf*+=DO5@d zX-*`XrBb9x3Q465MTC?okw}V^lB7bDL@6mvnj{)jhC(zb84^izp~1}mdp~P$hu-)7 z|31&hvClsHoV}m5u6144eXo11#ciD}Z@&*r{2-or+icKKqqYka1XESRq6a`1|M?M3mBk1BVsElhU?tDxSKjUX_h_61u6yFs)J;6j zSZu$5&hH^wI!CtS7MYee?L4(wC2tih*G5+4acgTn*EhSUe5j^xt}=&rm)L$B^i9JY zi(v6ri2NH?|Mhh>)c(MoeU3jTdeuYNrZbOFTm5ng`M}R)n;tOl*}#s#Ma?U{ZS{61 zd6omsvCR=F#ty4hvBVPj^!xejIx1WXZTVKjG)kP))=m}2soUO(BVA-~fGMK;G0->^ zChvjOd*q`Yr0!4B_qXi6^0m6q&Gw@{%G!e~Wd(+-zWYK=&A!;VIqi8`+pLncugR+o z!dc(wr;4=p2D=|j7Q-Z0-bRl2$!+HlA4;(=;72%ZnIQA|0oGDlT ztx>jiOHm`M60FyU`Wxl7p5!S$^S(vk;}rg@Gd>$@Jb!DQav8g~Txb^bPEq|N82#0H z(Ea(abD*t*mLE*LpVJ@jn>qOmUoJA&@~wZ1JpRmc?{R6*LUM`}8mNyvNDuv@GUeqA zp$+A=imRN6UEprQ;719D7aN;{^~M=$$<~PNp2c!4WheIEvfg~|+bXyE()#*V!W?An z>sn0uHNAhA;=f?^>r-&~B)pFG-RqwH*iToQk1yuc)kIotREIvMg5fJ`WA>9TZmI@g zw4JklR!>t6%k(v3XB)3&Rim}0xzBUutIT4YV21K~IpXKdwSB9uW=~Q1$+W(iEYeNJ z-(aI~BwZP6JU-{&Gt_?sd=4^?cB33dGcL4-N{9XA+Wz3fKjiO+%a*h?H-Dnt0}2=Z z$!>IS@L2t=Zo62lb{J&*L)~W4(=k}@HW+A;W6{d$7h;WaDE&IR9_#C3^->^ol{{3e zsNacKElG(Ii`FnJb)jghHMZ-SDgDEG{)NnqM#S_Dhxro~|0mkXZZSoYRWgU${5kaK)IG{ z&8Wl)=lhA|SMYN$isie?H6EvO;y1CBD^I2-l-{^?rBWPwh=7IgCr4?|G6;+dg*2`AxRz zLoM)-`0E?e0pW24qVAjJ(lX?)MY#vIqu#hQEI~ zzODEwVRU!nWOrB%7A=w~{olCuMd5oO3pXcVAtogqg`R)S=xVH!=oBKU3+msqo&p-f3bM@J79GF9vx6Z#*w* zc!k2f44dPef-!;%y9+)$(!+W@Yy~?Mu9f?qhKmN{q>FJ=DN({)8H9n>qnwGy*J-Vn z=ujIhT3+tr3l&+hUr;@Byt{AtgM)knMsK&$D;qloVWP_gg(qaU8@ahaQwx!!Z(Gca-#RkI9(;P5jww%+0TXY8?T9* z?}LC&8H=7pwU5G$`{nk_*~oeR1qFX*S6WTKVcY&rW#tybi`EdyG~g3jiM@N!ihDAp zAIH^9&fMsH5z`8pr_~uo3&CSixGWBxaTSBuUBpYF^ndZJEBS)2x#a0NjE?fx?!oij z`G_lxg!6c&6TENY`j}x@L-AM0b}rm9A79Rc$~pecm0y}~--2)P=Wkr~R=Lo9Vf#3< zo)<#s_3{`G@w@5V-NI(N;smKyR@V*HGt*^8*IN-$MONqvb4>Tb=p=FAKbm9Gu z)DFws^`jW0k#SgD9mzDl<#zeAv(4ldwOV;Dj6N=_+1dP19mqQZLl)n>6&C;CIDf#X z%k6vdqdlnqQq5Grnh*Zf98)P6t>zS-hH}Miab~^b>t7#_ zyK~>|w9v&?C!T6owF9{D4bVMbw&?{3?I%ZYseDsKO7gFFnJy>#kQ%3JtOz+Z)A_ZS z?Nb;Ur=RZB|G}ck>m4Cpihc2Rwomeg45MqHbTuTzeh=Y9L+8_eqY=@E7fmeMPQTwQ zvvwb5ekxP?cd=n|qbtQiYvkuQ$&c;~qr2rWTHK?enbL3a(=}Pd^sN}{(;P;hH-?6D z@%^B`gHdpq?7^Ah@z{;OytuA-7T3i**w3)I3?dg}%|*U`%LA>u#CnFo#9tco&M zXUeSvLi_Q#W5slFHqQoG(Msx^8jD&6m{WNZxBW=r%F^PxqRt+AXAB0JV{OD=qNe@C zJtxubi?aUd42!qun>%pFoxb+dM>k=R=%I`B;)ybHa_xVPEQS$gD7p6Lv3W}{Iz$;?kr^Yo|7jqbGNN7>9bti!s?jsRE5AJtOj ze3KtC=ImgZa17`s`gix1XOKVsvy%hSAtFC-C`qhS1GfJRiG_?(db6 z7fmdBnfT+nEMB@>9R9f8&nx}snH!CW=`T#V*<5HIqs8I07>w?cDSf!n)!23g*3Dz| zbv*Z^+~r^%w9p(MY@g&8KrY&?l_NDk;O!TviRLbI}99gWk+JiD2 zVlM3DY_-)@5Zafjjp4;Vk#Sg~R}PeCxd4myq&Cm0LHnA*6*cQ|5{+vu<1!ew-ju^% zY&H4T!X+_jRqA~XF1=iJa`aGVIhd~gMgO$Lo|jR$Ga{wccC-)2!~`wLH)ujJ5?7kZB=DB$2!*0_G0NN zYP!q{*BVfIgq7L*se#(V{Qd6gO!kJ_gEm)`1wCE#-&DT8x2pZ8MO&Y#Q7i)OH6XOR zyvGDuvwBM@t$8U9c-WlDA}n%{dX|>_@o1lJiHe%C>IfRr<^JaBC#ZK?RQOLA-J5nF zEeblveKv;2tDv%-tF1LzE$RCu{LNX~sH$9DDRI(YDsMl-!sBu1?Q+6RWJIf|65WCg z<{7C^id4JX$KX7ARvvGyhJ#P!E~9$5zsR9Y#-gF2vCsX!+Gkh%v>8U%VxhlX|9G?> zAEmuU)6U`*%`R2Xv1oHl+(quUKg>Ub`<}}w{cO3>#Uk~eMNEI&-*HQZ(On@k)IKm8 zO23or{RR=$Dr09yjE=|1k6`9IMfP3!-7B@`1-S4OntdePmBXdGXP-7k)H>rR?Uc6G zcWFHBA^wYXEXVQM=lSh8JL)!$`AMH}8dUs-+4nVaYa78G#gva)0~+U<{)0abv;V+_ zYHvFhm9B2T>@9YY|46JffV!Qhezs_K9>o}=v6Z;+5Lt_5ob?#F-u7m6V<(o) zIPg;|3Z9nRyp`IwR8v>Snx+%^(uz3q5Z9rbE2suNMy<#h@Oil$)r}bR5gI?$3YtGQ z@2Vo~G(NPunuV8*f#0|6j+YwndiP(*xS!Q+0{E6|P`qQ4Hxl7nLIqjIM*t zfBj2)I2KZoUrao|uU(A}p7yuj^bSeszx95}jc$O^onSJL z(O}U~`ob`}9!CGnGEYln@RQcR!7+^S_wM(1`(Wu%`z9FwJf5;TuBn7e%lkC3GyiTr zTM;7*&G{O8OPBC`{*$I^g3Dy=yF%!FW(Hms&wWAJ;xvgvMbznhvwOu$Z|R#A@=km4 zN~b|o8yFpg0bk*yKF0>D3UA>_%Rp%rIIJP#d5*c0^IdiI*I8ytPv%#TfX_WujI8k+ z^YF*>GA${Nt#014kXh-O_5_XkpnTJ{Mp2{XTr>3j@!EUl=+_n62bSsI^D}XKEYE>pc^0H>QMUc#OlB2+-OAgfze{Q zE0595u<|#I{)}@M=P>#%oWBU~BYe(*)cGcA-!@~?IFbBxPWV_{dN}4U2aBa3GM#b~ z=bY^AQYrnBZ zXQI9H@8{>*$k?9*p*yMIosFl4nonsWLWpw&m&mb13UryA!Q`JGMHEbmLjk2D&q8>hA4GOk)4SJxtyvo_e>82#J%p@s*;-{@G+6Y0e{~G@dmRR*d7t?^DE(%- z8c}^HeYygpMU0yrF&ch!1|FU$4>MN#4Tt^yKI;u)`&O{l$e4;#$*cR!ReYAie4+!4 zoU++f4!0hp_2YEN<9X1C=^AC3v9!u+gnNJ6_*rD+Y_)%Q1)2ML99VZ*r;%E0x_SCP zsx8gG0&6z4x7rmVskU;UH$w0|D)^qkpwnpluba1; zQK|y#%|%K>>@7T9)!5c82k7-Coak`*ozFR~l16JiIi~^CTJMi^F?nHc*gt1w%u?`%8Xa%OAgPJb5Cr!3%%Tm zJJS_=-UmX{88-(S=W#Y@4I{oDhj%5dNGv)i%Q`)q#Y^v-DVoRc?Wpt-G3Av$xzU8t zP2#CMk4DTi7e?QgUws89kK*RTS9OKg*36T|i{h^Li_gg>nmUdfet#VOwA5~>X z8}XyvWd?_d>?f%BnT-{e>!p8iNfBt=LvNJIuDv|oO?0qH?Eee@^#w#vRMqpaS*jak zz|S|IazJ*@`RCqcq_yhp#A!#<`M=%qB$4K=M&LOiPVYP#Lz3ZW~x7qxAxq+w5$G^+JE;T2=i-_x3v#Bj) zn}(Q~|47bblW6`VBch8o8L#eVr8(-uL`zp#Au}9{&Qh(gRlIaOOtny#bT=h=k!Sf- z-1v)gsS2yC+XqSyHa08b(<5Q?2(kWw#_e9(VQb;P&3G&}N~g;EKV?>}Zw{d+si4`T z@H)}_r(&h2tp~YTcDRv>#3Si^VcCtvM(kU9{*kP5xT7AAoa5;*R~h&0&yD6WD*QLr zw$k{WU^XFiKYVqVS00z+r;D&!Yh2u&Ura3elsk?&(2vZheIWu)^LF=CipXcD) zM%gFqh%Nf*jmOmWzu~ie!BhODSN4^2I@JhnVRqvV^Gnb3@AI_YzlDnNOGm@#Mfk5P z2DqOi9Z#`7)JqGn!_R!_zvf%EU{vCbIX7dMzcI&3O!Fmmn_`vYXuo%xD7KlZiR1mn zowv=WL}gDS%&|W&zKrIKqZQYyNH|#w7uvd#(oc|g>MLTpSmvpcbuWeF@RvZ{`& zf8}XNX&!txZLv-}d~Y<*!n`lb{13@mp}BEdT_jpk9rH?cUhk;f8OC9C;4jWn6Iq_Z z{-b9iT6!5b4Z$imV5O#b<}A+gSekh-tt>^)i;0?-%aL`O=&mDP`pUhp5C^50z98?EV*39ZqhDj-kNMfRp?$nIeB58Y zSLU@3q;*m4*~*MlV{u+RUgIn{Jsqc?qIXaB^;D>>$tRx+pBKqjw8*i1e_Wi_Qcv~Q zW6$0#R?r_T({UEB-cHtO5N>;ggP$)OvR+hwplIO?S(lc^e;-lPBVvYEII?L_`V}4j zp4FCj6=<(x3#|IG#D+trHFMR-)(5 zHW~(0D*Y7s3k_#;*PC7-s_tk0?AAryg4Z}H13>P5eob=rp`KSQRyy;XMiLE6jiYnBoEy$tEUM(55s9od_|*$X<0t3}u< z@39JsmuQFSVyy9;&S34=k;ZGVMbzfKal?un~@roGce zB4g!;qP9Ki-7ewQYQbEbq8ulH21bjEiXD3|PTtx7yKY11{!n~`SDu*Z`~?`ex%=!$ zgKyo&qR+$CWNuBuX_o7ex1hpT6 z_xtgr-ROP045gQO{|1nF9=<#qD&soKqjTL+{S2SY_4;*2VsH3P>jGXiLg#RzKa0_J zvj(8D+J$=BsI$@h0RDJG-f4k|X`{V!0;9D=Iainw=_#-IASN9Ldz0;@F-xxRD|lQ& z)4y|lOVt)o_c{9I9a*a9^vwMtgl?QdBmG=eo~20PKm6^fxZ?pMqNNC-iuw6}eVX@W z0S6iBjg7BEwf7%l`ggd|A#ioI6$PhRn^nd<(^~n>MPmDDqWjn6lb*$xqv3LtuVZ}o zBL6wXPv_YKHh*0(yb7HYebOft+Y7tG8;qtMvXHvCNCu?mjHq zOh&6w6UdA3UdbFMB>*=FwIMTk_`XT-F9F$JtOQ-3r zIo#Gf*IbW2fzJ2kS6=msQQYg@dZweg^#=Y%WtC@v&~L2Md4b#OBfC@IdzWLUesHG~ zjKMxe`vvs3j97K0ncRsgw+8W#t*v%B9n$vSQbJ_^CnjA$@289JCz*4az;(Xt->Y)_ zljT5X%F{0r|Nn(SOVaq`tn6xR709jTl%9vsZ_LLO*Ne5ZT{qrm947eIcrDG9pRXPI zV9}S2)1}DIh(cI&PM;%d-NAg`N>Zfdc_QA zenp)0kap-LC)_kcXhpkQ6xI%l~as4koUD>r(30)c$6X&k*W88kfGL&Ucbtcn?>^^`6I*JoggbctRd@5JY#g z#`ki+eTpn=>8xkIk+Xlv%xAx>_Uu&J7Hh`8@~OtCNazYRXYgBlQu?K8VP3QTCH4tw zg-2tbpo3s;C#Tx|YQB8|B+i1<4|vn}TvP2DG!t^?^Q$W<{3bg#m9ZkWx|N>ItfcE_ zUVc1;E-)9jn|`jLtvXS@Cn?@nbiTOUMlIf>s|fokm8_rB;*@(ko!4n4;=3J2N6Eg0 zAD@Fs7iUiASE&3Gqy9V z=#iNdJ)NG0&Ns`VrEXAjrxE!O7LAC0B4h=NM%HP$+Nv}M8uRo8ESj%)`Y%RT`IJA% zjV*+v$UaTY9BHWiD1L1yCLKWUduJ%^gu&av=~W!(6|Uyl*A~9N8h$%a&K^Ele;PW} z9S1_+hWgL3#;;htsA%bMOm?QYr4>iiS4{sT^_ePS`cA#%Rv0}%_3T&Zi1Ljz90!pEqI9mVWPSS(d}8TOmGlVWw`83G6IF zs4a%wD_b)@Lw@ZcEZUX=oWyMv71MvijlLv*Kfs!oR{Usfe0bQFebwP_#*n|@(#7JT zFKBw~6Eu(a{0e(6vn$JL=OP#7K@W!Nnp|iLxvM+GUN7*W3seRbm6fYbdD?5o5i*3I z>Y>6$Yc(@G?O^61qi7nQTP?3qp4U0kZuD*3dw&>x!aT$q#^X%7@s&LBQk=QM9Q+UP zx{T{tz=6)FGNIfq@=)U~;8m&7=4c<8K)L*+_$!VQp-k>ye#Gc)s z>GKK3Y^-66y7tyMrvbdx;4iE2nFovN_Y>Fe4VRG(-!sdF$JzAzyR$&((IV&?c(*P+ zZ2}GLvuLRw7I@GdkI5qX?O8PDmsVv}qxt!z(D~iXb*0MDQ2R8`6#3DZ3;h-IE;E|u zi?||cnv$vga~S$@J$XOG-H91{NJ1?KSO^$RDHiZ!{{FR=tvp&GpTh`uCkL1=WSf+ zVC?V+w>cUn$568|DoaP{k%u_8d-O^#S?V^JqdqTtth&pRW<7s{(CKPYpAa*5(=T-> zYgyThSTi1{vEIYKG}9ARvB6feKVPaX91mG{!f4thsG6v$JSN?R-v4c1pr2&rm&q%A z>)&@U`;+JX#-F=*O?j_Pd$C+C8+sS4za*Alpt@#fEOa72bhXhtjOUw9v)0KFA7x!e zbDwNbHp@2GEZcfs=TNz_bE!x>tGW8SyOB9J{vnq$m-qhK{KP`nHy(Y-@dQ5Kf#Mgm z%)_+gHvHSBaAO&b;L!cdD*dHx=ZP6#5G&oqU$s`_RLlCU{o!Dpp7|Oty(N<~LcjHu zD{4;>FOk2gEfzkW%d7yS<+-8Kcyn(t{9eA6@?Du6LMuV&iK6B+#L^ei)X@2Gd$&Tu z5PoVDZ}W4$UdK8gSMl!u6&dNRvYI;-RWkJzsDk5xUq6t_5?^fAD3LIr@BCCADPmDaQXnG4u{K!Fz169 zV-WP-CbGJocfC@SbgtUyDwue8l_S6Mp)=rrv}pb&tX*Hm>0mm)##l^e`lOxyYv_YL zx2{*MHP_mg=jihtwEk-O(K^-~RW;LI#yM2G$dj&v$5m$Ee|PBjPR3~}Yt_q2*pVtwKZ4NTw-gak97i`>8sS4|UaXH(NqoyS4o_?o2%YE9fsd6~d_bK%2)NmY@9x10glurqi-VTMm z;j{;&cK12r>h8Oqp1svi@8Sy{g9tLm9Jxirpz?yC-M zq}lUHurxo1(GupF4ySgfs(!eTvuvraI@7M3Y5whe)?K23yL}y?|8CPGH~Q%{TtQ<| z#u*r>qDa12;SF*GfzUTF)O}fm&`2e9MLHjA#^-QGquoz8BmO+?dw>Y_FK%?U{Qa}m zx!#Ef+o}M$fNq~)uIV6^B_+4p$!g=ay{t;m_x<^Ss_H_|<_=nNp?%a$jkbPf8t?G? zmYwwFG2-LqM)5#6n1ls>;=sz{^g2drcer^{RbqYyqb#R$ntN%+Pxf%fgQ>@p;=u{L z<`mK4hoZ*mu8&kKzenHSfX{K%Rpyp$LHpI$U(m(u!>J&l@l#Y(1dq^a&HYV+1)82z4SjHqdj z2q)BjqQ5+zCwhUC6tZ(=sQRQ)wVxYES9!;NM4!m?m4b@fD1&64w_K=^TO!PlC9*GWkukd0RP@ z>*4e!irzcBdU@R4a~=Gw1zl_a(WlA>9O}1=7G7(;$$|`_WBA=ZVx`8oyDAnhtZL#b ztu@}~yiIRhN}rC><~zwdEfO(Jlz9q__P~bCvwf^i!H*UB%yP2%CDr5?&#n^o0W5`I zV>hd+6u!2K{mbFHo66`1RZYEaRp~+qE$nYs;nFUrHFs#4S2?L=biSnVQd4AoopG9K z6~4%_!v&eQ<}i9=mem-BA)l7-d<7oglEIkbnk-hFDA)E9d_IL~AEYw3X_59ab`4eE zRkM;|Kda`~%GrO#>Ao(r^`Q6aVpKFRTB~F_A7^tc)JIdW(UW*6)~{Vpr<;p<&iARq zjUJt0^bn4{Jd~zc@BKYKNE}tc&#H0*)n&@h@*5Yq&&Z3XtWG{!8q3|hA+z(*HWvMF zM4#4z20~*sXsid_6Ix?R#!qXB;x7>;b?{qvaSCH0 zeI~^J0ipXE0cRKq*BQkRQM?be@T#r5=IUmzlBK*yCF^U((?Xfit!lmwH7{1%JzW8B z5ij1&-#o&3KZ8qOgwqr+z5<=&>HCu$dBlr%(3$JCNK>P=Hm6h}htQumh#9=pSS@`A z=i8dQsI7wJU^v(+&+;8-{(*jeHpil=qCMuk>-gNK(3phLLt!#d8rK0H9V}yd#106p zn>o=dL?<2SQ_}gN8DBkbWWEgzGjp>`Q8BuGRdaqNXdra&?8>iN&aY;QEdF0UZDgOm zr_)916uFpn0s{cr`=l$9%&g z$p3@R7ttpBd3==f{n&Y ztR;I6i}vHAo6x7@wSEb1^hf#oY54CMD7)LPm0dW}rt(j9VDJ=*AA7A;ve#N%vD?}) zo;wAC&!h0oFlbk~(AY2NdHV&;GN%*>Ev*+%m&0kN&mMq-cf9-0>S^}HV^KHT0kaL` z$ET=uS*BKDXSK%_-1k}Txj6@OgL$SqA#kXS{1f={8FBkK*Rvjtf!oL6^FF@kR*c(G zyIkh<#9A}SEDr(xXlWC1S4zpb;peO~7uft!?bdY7L_ zbM)VN*Mixlw0URs4s&_U!jZ7W+;7} zw|L0CJOGhHU^T8G9zV!yKWrR6;Z@_@?`zqp`54w?x2fMUoi8rubO;tbnOkpYeyKel z)=w_^F(drd97dOk8P*mm3~8n1NGnqAlc4lW@o7DMb}^(j)(e;UdI@%IzzLkKhOavB zS`mYm(kmM=@iG~LX?$p&Ia+zY)6Hw`M>YO5W@h+&ql~MbMtmbazY6^-x;5=t`5}ys z71s}fw{Fxvzth^8qM=hL`iXFPg0I!ZQZ@O{^Wn3p3_vFgdWRX$QL01VQNjGJY*Qe# z61BWg1kuyDeu{URtv%MNn>|cB)EC9|z@ky{^`TMqqngp(jLu5#`s@s&?J#36S^T@< zFmf6rX#ObI6aIgU{~YT1yZyYEx`v1tFVP~W%V`{z`JHugtqYC)$^8BZ?{hO>(ae0o zsoJ6(ueU+e64BE8+GDJqjWriHQR%B?Ixd#uO!aNYXBe$WYYv0VL;MSTrs|<%AUF_O z8|Ox>)Ktdl8d;wnykF>iWOh=tG#OWa%!hyN9SiF2V~&0odY<-thP{3 z9iq36;j2!?3}<1>x)}9>?5Yd3XLGAH^yV>MbueAqLwU(sk^E9S?tPdc^dWhz8}aqU zoaixDgcLKI^1VBof<+(FA6?{iFTfN>z)}(G>6cqK7#MvP7Y^nsZ-TrwYDgR7(hIQZ zSv=<%*>$F!?&`{cUV=YcWjn6jy4{XebH!e(L`tPGP1;MKJH;7ETc#T!t3;0bi4$HkxYcuRj6@Q#t)#)YFtQLw*`=Z;eF<8lx{7q4Ti+YI&!U^rMQ*)7kuJ6WV22uUN{@nw!cZjA6avGQMJZJg6D#mLm`OtMn`yx5}cX|C$n4m9b)ru26i`P0F z4t6nKf8va1L(i-F?oo=^U$&-;cHoS{pE3@sf5sT z<$W8$^_7_uy}@7U2k()644r>zTeS2U&ia<~%U3$3%zZJ~h~1s?2#uZc0;g%Gr+m~D z7>$*oe`Jm{a-?5#O`m2=I+cT(66^cDA#D$Q}lf-g&&VWUo&Ff;SoO0 zdE+18KAjd(3XfIf)K7z$i)5|asXpo>uRc_E{W+L=*F5s)5cUH{x>n?{D^FS)ryL?W ztxWTe69t@zQ>*!Ug71#@Yz6&MPLCAFpzCS;3f^muJsMx*Lm&3Hdszb!S(cN%^S)+N zR*ROR#ynUwPNHaqEoy1)1I?Oj<{p=37@a7GKgt~YAoG~LAh3g~kXCTo3{o$5HSy?5 z&$LrtdV_r&Zs$QCGQQMNQTgp#ktKz^Zh8!IPW_bi?6lE!@+P;$0rLG zP1Q8hc=46$ns;_L2OD`O!&?KMrlmNsleyiVxb!wzsQ!@I-~WAOi+kbEF5<@47_@4n+W=t;6p=TrKY(9>NH4HPeo zg3;H+^)qnELQ&JN_;6#PovddFl$O)#heBf|F?(fs!^-}z==($X&oX+ngdW+%AN;~6 zd_^(e<81?>1F>`muD3pKk+Ll7IQ4vudF*S@QD4Maf|cb{id(JxTZYkT_E&k)UOCc4_y#{cc%wu}5}Z}_}N72o6B!K-#^nI$i<(#pe~GlW*hL{0Vi ztr#V(gI&T;?W`q^qPG`Ok{dDoqv~cS%Zx5^2kQ$Jb;pNf7(J5%zeLp3T5R80Go9h{YH?)aEbDd}RjFu9mz34WBlLZ3@w8}u06l4MOk98=s>&ynlz&?z zKK>dDy+iq)p@>6_+M6+cdrIE~D_#J5sY3Wfc#Qhss@b)DmGJ4@K)w$13fOL+Inh4; zQp|!smSsg>;lcCK(lTI^BK` z2LwuA6Ft2|&&NY*y2eB2iy1y&_lha-Jk9USg@vdX_(h+r=ZcFP6$i+R9?Pwt%@JKr zbvn|yzM}f!IgCyb<$NkjvQ*^or^=tr^nN!UvlORUPTL=dU*bB*qw>_fG<`1)pIfl* zpEzhS7M{s_P0%Y3iw|z$zFN@JGra4;#z@SjES9Z!+lY!Yr+Uz|##;C!ioBov{rU`} zpUXW>Haj%d98ub@vM(gw1gBl0GOmI>EBnLe1F-y*8TpCkSCds38t`Ot7YQ@80!8m$*P$#oH^0k zG4cc2coZfJosYStPqvGe3UW>duj7dZ7^HEb;(-cutIMN@o8PNs& zZ7}J_S~pNSh2p;{#(&kgdj%@f^@{Ia^EoDF3_2B}yc%$^>bnTZQg544xwE{WfvO}C+4y&F`M$aJDFf~->*Ne=kG6~RL6@}ON;8) z*>Pp5{c~bZ)z@T?o)S03Zk2c2m8`FMqux~gW?yfy)7|accC8$3-t<+or!)NKQYc@) zWmkv~gr2LXuc3SQaPBV|yPs2)wN9)%K*UnpCkqxGUCOld5hC&d=t79Tjb$PdMo*{b)nW1k*YVlcYQ8^(Ppu_m zUnf)f#`Nf_ELQ4+=S5BSv>779{V?k z+HW5<#hiW2HH9NxnW_CkS<=rj;w*QPN9o(R@=b_*9WLW~-Qzbs_cq0N-)NcP)p>-* zden55NeN>jSo9cPs5Yg)gaWsdv+Tts-K&>IiJ2zI;C(=;KjSFB!-~Jjajq@2Neod$ zgjx(^me2#c`&tZccUH}`$KNISQmV<$H`pqQVdW;%U3jmaREQx(We|N zUVIVv&vMr*Ih;c7FEDx(&waY6=>m~@VBEg)D5^il z2(F1QPln2q;Ix{rfzKLR?F@OT^R`21Th8f*oD&_)+vevPlg`Hs{r`-X@;YBC$Dw8U zZt`EIgj-}BRH zusqxA=ezrqqx~z>`Q13*vht#pWu0mm%k{NaOYW#Ezj%i>d`QgnEdHCwNzS15^D*gi zdjA`S{D(u^BokFA7A<90Vg0blv;X+%uljW<2AxOa-_s}K&3O;c5ZV<_Uq(-BWbSLv z+-%A`arFcd-h<-Tw1d%k+-MaU>AkIa2#m&Fm2*^qOwM*x9Senz%aq2Bs`qEt10D_c z%t$Qztcs>LdC(blxmv`9uCac%1ZP`GPo5)}eYN+vL+_8JF*CKvuXH}YJ|O9G9A_Uf(pD(DY~)+ z%765i=E}Ui$>TrHN%S+X)J_)V0YsuiI{Fs@e~*x4x?jLPQD>(`UsH=2K7PQ9d`;esym=VBk^(R4Xhr}y@WJIEbf z$wdc7&*xTRy;@DEtdU)(;m?|$Im=Jdil9*WmVW0t4BSJj_UCL;z1uV5l-F`PKL?6} zx3-U#Vs0tveE$59KxmwF6KCB7M&mS*$Up5k*Oc=3N$tOfv|!TtncfFVXY!gKWjLMc z?&6y2`p|RJjg;A3!RHXV$nT~6*FWO!)a`x_nVHI^4ndz6D0ZkB$`O zyZ~iyW0V$J<&(glx<<;u$EN1%C&J2sykIsg@*!A}{ zOgUc8b1YOo?Ro}gpBM8_z@Jm(L1Smtg)&WlSn0X5zi|M(2SP6vKg6z9L#XJ>-gO=y zwmMrMb2xW=cD6pI8!!HVQS}lZKGU5nb7$)^jP5HYJOVqOK*ejq;yD;I&0U=D|CqU` z4WB1t+A0|IKpuT}erSW%`9Yfmhfbs@qf{x}$?YD8pzSdVVHM)`HBqYIz(CS_gg`cufI9yQq8UZA^v}jf~S6 z*q@Na^HD?cnP@T1Eo~nyrFcH+e5iaN^Z-{LrGe4XS&lU3LwDV_6GS-DQ2U?YY?*#t z=&yg7L+LC?oZ-%&?@ghsVM>}+1hUyk!h<23RrdMA{=o*rt> zA9a*@N*Eo+HH|UuCurMuapK4H{tH~X2o9G+<4TzPDZ75u3*TeUCEQ!!^Ar6s1^>PX z<0JIR-5El!@%J0bRG%adSl;^=l4V(8tj#d0$8+*SxcaoSK|QU00{0lFwe4c(ht>8| zTT1Qod;Y$i?fLr(&V0%BvS>ec{+$HBAF7U;=aozS#u_ekSB~}|`NPB#_R6dp(@3#pRwr8K5f(~yvn7_HYUHP4S~^^13ti9du2>o4N6aw^{g#d z8rPZTFKU`uE10{8+;A~*(mKB#x#3T>$XmwyXyf%RUaFH==@L%#RPTInrt=&0&2n5a ziy|f#jr|ku#DO=`mTQcz<~fX}^^|8pW$oORUsGAn=)Tyi5{F*vZUdqH_=V&|pOlS^ zxyHQCrwBUcmh$UAQ&u#cZ?hi`E0-ZN5Smb$m^3-k?W3lY$Nwv*_A5of!KB}8htk>D z^kaNFQ-9C!^<&=$K7&E$b7r!+YF}2x-(Lq}C zF+Oq}MtL2RzEAl+(bk_s;Q}~a0;x;k@;hI@<+T<?(StlpOI|ys?-M2^M|E%*R0SYZrWx_D(-u48FfvrlMOn$-MtU?H5t+xiC0Q zEc6a%Itimr^ly^K?|N<;{+wrT|0P)WcPo*%ZYeG=aERRDDKsz;+Sxk{k{x`GYoDq8 zex&n7`KyZB;9QYhzH0VyO8=%tZ_7y zKHn}L?y)UE(#(GnKzK%QvNU7x(&GQ8gTO zc#*e{cs_Lgo6P;i+|oZHl$cxEQRf4pfz1PRS8!>ZZC4OAr7F_cnQS9u{SE7(_CMyB zbdh)XD&x|5?raWLn3cO`d;F>AKJzKQ@~Xu?$@dsIjh4{)-FS)8-tRCv6H0%Ey5AcB9hbvsoY(db z)m|yK|AyYrm5-kZj~_y1TpxHe9dc)ziTa8oSPsu?>~&Ox3oRpib+pJL5ZY3PvA1#X zu%1f$T`Y%-!o2^%+;J^qw7I&Do<8r;tZH_Wdzoh}u7uHbVy0rUzGW!*VQ_eqoM)O{ zJ25x6b`0bOJ`dzU_r|$J3U3rA{lY1Htz9Cs@j@0ihUW=a-V|%sreKxy!k%<~Esb2N zH9pQ*bi6FwBXs31^FlqvJRQV7EwN)@v>_~BkfF4W`>Nv#e5RGZmvXEH2<;|Ea+_8i zl;uRDDsw!Ye=Ez|7wG)1UUE#vq_1h^De(6ZU-}80eu^>YW!GGfXM1jjp9MbO zgy`pK)<9I-jyEbByVHWlvhGbA{Y!?6Y+&jK*nL#q3YA zj@tjiU*>nEo-4+mg*89%b++B9=fUm*{JEUM|A|4j(D-yR`?3B~oQ2sE7xmKT!#T27 zz2{th>32F`!lyY>=B*AEZ7nYr6^W1d^b_3e3}bO|4x@$S)zaMBL6CTai0CM&tm>-b z(UG1x6h6zz7Vqhmg$l3d(tn~bUul~Uc%_tk8zkSG@K)Ya=FGflWTe zqLVTf9m$;+?C)`{=qF+H60MWgq@NF`b)hq@OmFBO8;kp|z_)F<*Us3tR~F4jtQ0xX zG1TJ~8Li0MM?9Z&K3|EqAy-3^;`zvl#+jh$pF`)D89qbf1EDJ*^jEErb~-JRW6}LZ)|E1)KV5rW zAYy7F^HhM*yRBUqM(syq(&uHMUWd}jRD3EdPS<}kvF69V&hXtwo_&`ec$31vfI*-1 zdqeehf6l8b4s8Je=VR*=;o$(|V`sA|zxiZeWbr|q+Bcl5j}s_jhnNd#*r^#t)85(X zRKeJjI#9Y8n|=k8Uu4&p9xvbmmhu8WVcWm$6<0*XX~Ai&=h44FXipK@Q1A4zoX0F< z_a{2P3pF{+xQVp~&3(=uKJooBL*v}-d+zQ_jwX0?tt{Iv*l}<9r~P5^5IC&>mq++| zxW@<6_n2QRiEWD%-fS-J55E`L;aOTHA@pHUXkW7f*HV;5oJCTU{pkEwJ@b>E`hx$6 z6FFjc*|bm6?U=tiytS7v3yfYabCz~asE;}0st>UZJr^3^ROEk^7EB2338AriEn=k+ z?t7g1ir3||rf#S61vMm5i5FSX$lFIepH8hk5HbUw>B=+d_82XwB8@!$+ML=)+!Rc@ zY#T}!!0A^RQUjawJ^mWQE~N3_dQ~2wfB6fWvQM%*l$62Tha1Po;gFhKVm(USbQ?x* z)|z)=!3S~5NUri(djGQc{!Kn}3N!{%r{ahB`kwD6d;SgF^P=7z<2N4G(*tDyd*u+? z*x#>>H^PaQHbx@L@`LdeEc&|Ed)!#R!?@3{%FXX$bfCG*Jvh=hZRjrujGfb$)BM;w zJzcSP`f@%XPQv`ltI}DmWw_AFYJX~CnoIR=2ME1`;*H`e-iCy)w8|QhSIu*X=bJ{E6?O&PS{QU2}&=~W-2W3~x{+8nb_JPk5YMO#U|H|es z7V$ryP?m{C?NeH0u=eO7ns4d7>Wa`pQTF!84CB93ZF^*#-V<5pbw1Y6|2HdIp!4M+ zBoKN??n+#G;C7BQ&4=dKhbBjw)IKrk58I)1q26BL`Z~kr0^bEbm%#Ay976xlBmcsA zoKzNPkeAjvhlmua%FTrvJ(oMW1V*pQc(faA-6lUW2-1dQ#8Ge;D18YEU)OtYLFC(T zIoa1qzIzjTUxCl(XyhobABKVNg7TiU^BNr5*k3=(SU4JImEm^^%d-4p{KWaZlkwUZ z-s@h`XRL&{3Ln&$=Zl@TDyb6brX)VR`V*KrDFoQ}11%Ptsn z`_r*5fY7V_)tmI!{q*j6S(j~TnEN~u21?1VY%*TcX~n^!Y5(I97=Msa)yF6Q@6H~VW+-h0sf|2}9X^6VuP_o@ zi>$88RKBO*jC|AJELIvNA`K@xk%H`~^98FvQ&uz|&!<=^kI+LYZXh-EK0Ikb)UdK%->=4H(%4aL;s49w#tJR=RwQJG*yJ}*r&Ljzm-Sm5PCNb0zTlx7Hhw? zMr$dp9_wK1xc8{*?!`SvUH4e`^fv!82S%5O>tptJT~?zIbHBSov@a!}c||K7+ozkwfTxTC*3PzM7wEkd4HGmX4h?*!E1~p%!)QU&l+-@5q`{=2_X(xnVWe-d=8_DXOFUlc zo|i+x%54bE?<^IcWKVvhoKH|eOnggbqn9s87H^E8Vxv!((G{^=}&*zG;`_b=G%y}aKz zN@lg-+@X$`=yr-1djrPKYqO1wA2OZa10Pi4kb^~=y6>(c?o=~7&d7^euY}PRqVrX< zNE>+4ouF}7m@J-M#msURRiRKAKG);gV9@VHS@ZqoG;?#WYpbWU%6+hZvk}`CTQ}4i zr{adg^+D+TdgFBkc8Qa>5{o{~`3#4zyJYWgmfyUd4#W;gS3zQPjM;=Mz07sFt0{b5 zVO+NoC&ex_d4xtr^j_ZP;Vf24PBb!3)7}5))OHDcQ5&m*30T-TL(x-|2nZRKCChp?Ne{T-NeFkT$4oky4#9j(Qm zhSagJ8rN8l$B2)f@Y6>q{QVh&_Vv5nuu|I`LeKRMCmIh2WAD)UwLX2guh}?lB7gXl zmK;orQ=R!07$Ptl>vF4#><>22z7M^RJqwG#Y3xwEDZ4g{-V1rIsGpS-BbD>o{65;} za%*wEU?4R1SA9g@CHA%Ym|I_->HKb3>`+*#VSHY~BVLF1`(<@BPa1cxLs-ISR4Dvp zrfCfo-+)V_KA{L)?(FMM(7Axorv$E5dQfd}C4VcGb{MMI+?^~vlS?eP==`u^hbUQpKsKemU$ z*3j4jN@EwVxUS6MGZ^$bZMP#rBi|I!d|C&bccM{;m)H6Hj$>(MT|O(CGEU({6G9Ki z_;DTP`~MB2`Rr5dsFVFSbPK`AH$j>vi~3P z%y6;)kPM%9h&X!tz3Xw()i@&%TE|~M$ylgBJ@(FY{vV%f85W(Bxv!V?$p|Cg;XmF~G42Yt7D89^If6zRMRqqA}1HzND* zG3jqmx&~kV3zg~m*LQ0?`YC4rhR#P$G@|)n&p>B|>}wvS5jEv`G++A^ z)%bzYh???hpO`eE^rwtXS7wYFUw@<>KSStmIfVYhA%xDSS*~y#WxU5B;+LcJQMC-C z=VTbYgrC1s9{U3KmV!xQQqtT@}Che^m2pz7c#*56RW=?d4_ur_pyA(ful+hC`db!Wrkpu7N zPKHs6sPsx0O_g4YMd<}KG*Lmb=08<5-D8byxYfzxC5HsEHFczx zOdGp-1wwDnR6Zee6n~Re0w*UL8K>C$c6*(VD7qjk8hQHyCmIN?kh=<)^nYSB)s^g= zt!vt>b=PHTA50p0|68W`KSO08HPD&x`KzA=hpyo_*5-6R&!VM$j!^n=qsQr`8uB0o z7`;Mnq@6bHoH6OmTDUJR9RP)a)4>oKSRLZJ&v*BF_O1+{w^GU;JXc2uZzUUksUE50 zFQ052R5B{}<1u#0+}F=p3_B;Am7XAmeFBPNKBYItNEp3TR{A_q`Dv;>kAuG0&nWic zH~^pSPu1g!-HhUllnNO>kMqjd>7cH>VZkoy38ACRuDs5ReZq-;r^VLll|8Y=5$--% zw2|=?Ro(fD*-?D<%P<<%h@VjI`5BWg!<0XYh<>5^zqx+(=qDcFdrn}n`QR@w=u8?P zbu{@|;QKO!cISIq8U5jU@{wa{Iv>9L594*QDEpHfi;jn?k$6A958^G9ApB^jOzrbK zA;xZqZDpBaFT@U+#&?6zn<-I3=ny>oXco;smu2nqPBdng7Utslyw2yMVq3bG6vVD$8Z_;yt(%Z3V;B+8NrfZ<@0-gP_&#e^xCT!6K zw%gLQX4?>Yig&2Y$CTqRcB2IU`eZ9I7X4U^87KHWlT}U((z`uiyXG|LVbzYNU^BVp%@EHu+)hllD%KsuXzu!m9&VQK8I7PjE)NTCky;HV4 zbUtvg_YU!VIMIaABaG!EGA{jpV>BZBaHOI35jU;zE_sv&o93^;=N}Nd+AAWO4<{Pu zJmzZ!_Q@%I1@XesSyX>o#-nxdUL*b0Of23y$E02LT%hz8C=8tThtxZ>>kf|sowwG@Yo`Dal>iHP2yXwn-aLM=CcnubvtTkRRV$+_-gSpW=MD@LCeeBfP z1zU#RUk90SU6+o}%b{ zR&;xvPY6x;%%k-G!f0A~7a7tbnIjFgUk`bafl4U-Gh@@=Av0Zp&sDJS7li(sInn(2 zWKmhYw|J>6PkgAcQ8|n1tJ9y*`nr5sBd)$FN7^c5(hl@Kp|lsC44mHP>YH7+`L2&= zdu90S>Xp~Qbt|fQIX14p4WU(xzyrMJ9_}FAS3$4D`8|=X9xaBAQz!azQ&HX1Mm!Mf zA?icj+1T+kTzZmxXRLipXZXbW++(@V6U9`4&shJs<1Pnr3PJuXm)NEHBV%HL==t|d z=XW$h&F5D$t3pUN=$hB>sTMf_N7{~45ig)bMn7P%Hu{{^1e zvC`{JF7!D$fycS^!A5d$XeTXsg)w^p-+KyQeuUPD@me_ZV#QiN7>l5vlrKz-xYCtguY;OzM0L=PZyD;m26ROpY|Ke zpY*+bRx~O|QpPDbG-0zMPnekW|Ao=WK1I}&Fq)XO0HuM`bOk=ch2{|&8K-n=Nvux^ z&ykcq+~`r->;!%>FdDh1`Z(oMzNtC24ko=8Gj@T}Zrb`L`J`SLvv=;gIYZ}-eir!b zpqJbDt>$>Rk=QkH=!tM}gnKUIeRuWQ*BU)P?x1a<^l4r?RiMRsh^RnoiV+)P(){^7 zr;3JRUD=7*l~$L1056{vkM>EGM9G;o=}LgWAP)8NnzIh{{?pQU=1i0Kc?BBsFTiQ6!Go|bHA z#E05nnR(KL(#|;M27TBaQhRK>0-ZPbN#L_R58BG_G{wRf`77t*ryBn9(eCeHti5-p z^Ba7sUo&m{!l?c*)3*ExQ-j5#Q6-tqMM;&s1uG(I!{X@>Sp#dH>T9fgti=bM4a2c6 z;$pKc`8^Ketdu*jQ0z_o47VHSVHNCOxlxrT8$aUOKe;Xh|)_)N846KMQcPWDl`j(c+)8nbMXA+DdzvW4q8RBI%i{}-qH zz#peGiqi=kX;1D)efA+#Adk_TdCl1E_=XIpU12pIb@$v&8H3&``o9zF-Yd=um5-c# z+SluKO7$)c`8b>VOc|$?w=dB7f?CmnXeqDrd3?tIJ7P3yNDC^T(u{p%@e44T)c)UX zC=JceUx`5zLf7*Jq4RN`bAFXy#PkP1PDD&qMBE9ZwT$yR^ytD&?Sn~MWO^Sc?Vtxc zxh2>pRF?ny&S$9`WxqBE5NG!!jCK+ew3eH0f*GSq@_h0AIo#%%FnLCH)%G|}nmP}E?znE}dc79= z!Q~N}PPm>a-;(yPT+5Z0;5!b&XThT9aLt$b?4k5MIheadIm0P+)OfwfS-zPuX{tk< ziA`tau1~P%3@+dU^&*qynSw#1mgWiZ)`PNFcVsG`p9jv*VT2PcPsc*%!NHiv!dJUd_riY|CLAo|1p}>KH{dedOdMzXnwl>^8SD4I5Z)2 ztA5!z%YWr(5h6o-2P8H;{NdDHn)kqaE1%LS%cziyPQJxAJ7j`VU_ z(p1YEIE{Mqbk*TgV@(bJjD!+4z} zUP?;8{eIkm(Oaqg%^6C2KxSMw`L37eZt=5za6AA)V|Up+hXz7l^7mqAuMgaRa-u2Y zR1nW6ozK^b7DP+=c>ahCo0Xs>p|pTUqw*;~U!T^729KuM(4DtA(unQXZ->&*{DjWH zX90&sJRj%k1dHZZqJ|qi5WhuKpLjGdT9czcSD)3xq!&}C%jtbW>D7E@J7^4~=CAg? zZ|C{e89tkN^`)>~-|wHTKTgG=$BM@e_dfekwqkgEqh9$vW6=e?dz^|=5XC-Xj;UZ~ zx{HXltqk>*=Atjdr3KZz=^V6J4{;&vUXtN6D$d*bjV`n=_Tae7>`cL)nsL7Mr!qTB zpDsk=<8x6-PEgwa&d{ZhuHlOXXOeEB|9rt5v^dmiV)|*ENRfhR}T;E-pZ51@970w1m&S z1?R7#ZOiG+mu5ioC!j^XI%cL5M)MUu9Wy443ZJMsk2BDsqW7ZgO4X84%^TH{u_7Ys zC}MwuTWDUvE-`TedpbLKKF_yOthSDx#J*PLb1YiR=WPf@q4b^c-Yw8IFvp{#>Grsc zNu#3sEqI(P4>bicr+5_gvJ>&=1PVVsW6&ou7n-WQdS@JZjdp8-rO!9^PcU3ynZ+}dK|*j z{++S=++^%LZJQHK8K+oRx4q66@K(OcDOfb(`Rx(9BSvGse#hFpSkV+bT7c1rnj*H( zGifM(!fE{fFEr#48u5JLj78IK=J|Pqh?pYtlz22@^mNJ>j`aMDNgHK)A1G}Ohb{DD zAT@to<@*-!+e|N9=9L#^8ehln*UWL~QSS3#o_ZgjJ#;>zrQdQa8oQ(?r7y^|1V#tw zjW_}A25Ntu`21=J%-5ks6vs+SFo ze^8us7q`$`WZ4<&ui_yZd55#O-V^E7;ncBort_P9mgLJ5i{{TTdV%kGO5W+w97YEj zad%Ske%j@>45xi^=(fmhTe}NN?O3{4YzF=R` zJSOriS`aPeIdn&@KUDh#Mt58pnoe)XV>Ctfn=>XYKxxA1TKLQ(G-9RD`NX2Z=>=<4 z%6pf?w!`R2wCFSpcxH}C>*JR|X()cv45wE>YW}(cI-7g`@(iDic!PTM>>R&c)87e| zKg!=egm#pMiO~5?M$VrZiw1KhIsoG^aZt|hZ;+XMYl(20gtA-r~GVv z!RqC-=lJ#*ji@QqJ}?@JADW-g8IMEdH)a{90v3&vb<)l~kpqjUK9A93=ukD;r*NdT zwP~HqlQzhq^invy99uTcu-Yv9ze$G9#xUH-tLkIkI)1OV-Z%wga)5=!HQzE&7BRr*}zalXnY>d^94KKT=;qS`!a zeDWt`q@C1%;xg75t-J9Z<>*K3Yjvs-bw2)&HLz`EC(^o@gwdg5^T$;jj>%9Os}5eI z=`Uy3OBp(!$Fa|dkw)>L56d*&$0OWfZljmKlSk+!S-z=e7AsXUV#D<$Uml9`gFI!h z=qzgdUKTICgaMzygpbP|C9O}V!z7djPU8x6-kISu7&J6KPT_bAvY+(Z(mfzm){ z;4_cV(D?!u&F^QP>Z|{Ej3%`|C#Uy;(u-)}C8D9muFG;)W8Yum`HTF#0WGVGkHUqX z2ImQ(72)6j9(-@SRaBN`BW=sG=#D4!y^t|S#0Y`Wf?1V<+3EJ;^|r34phz_oX^uLo z(9#U`ZF+5>-iqA~V#Q86FD0FX^%W$nq^tjEtzGEIzIx&atag&|6zdBwp%GVMy-wRO z8tY;nG>iEdCXJObvF2c$tkUzj>p9=*5K?M)VVx>Un|Ax{3M)heo=h%fb z@n~Q)=9&sHnz%Hunedr7H0gYJ(TJCl(uea1jE3_l;L)SC;)z+*6lxz#dahU^TxoqO z9yo0Tk%84f=Ec4XbYAGEfzQOCHL-B@?GSn()(9uMn@_tL!>=}mSIW($(|A+AylKRT zy5-~8!H{+*P3t2%Pc;;2e!2s1nxCJ(4!d^3u?e5s*Z8D5$^3~vu^J+s8=Us34xKOV z?)S$N!J@IRRqS@rm}hA%U(uOD-;4+U?-d7QAv4w+JPo%`=J5Ft1|5=Vd_VElO|n-V zw;?pudqp+PQJE7h$iGFjlume0EE;DOCZ$j3!i>mx^g$XvIET`^DNO#lTPqF981(-u z?EFIaF3T_uLUdq35RIfZN(&#F&k-efoba%ooFlW_j9pZERb_=>)_)UHqBkwv>(YL1Q*{IO$-E17Q2 zc$LuC%Tc?gw^w@q@6z^Os5}f!7JWzkd%mHEqq#E%@;X|7OCbnH4^(D3QamG*-nU}u zgT+C3`tZcm&lWFPpQ-h5eJ(#wRt7y@|JKoB=z*I5eWJR-n<`h`Fjb=H{C_KQ-l|N- zYbd-S`O2j9&rj88&sy?6-#1Im-1~#2?ERfCMzZ(k{@>~Pgx$X{7mwZjV{e7q5aXLu z=Zm4fkMY;4f!~~T9v9$URTGj$4_3}Uu~Pca*Mx!_2i}VLdS%2jRa-t$ne=<5<4+eG zxo>cGT0gG;{iFKq`}Oy{bMUQ6<2}>;#oFmGhjJqER7JtjirVZ1XZ}XFbY&-tUaXpt zH(#Hr(@sCFcs*NulcP@*M;|YiK2|j+?`*jq-Qg!0lq&QGm3e)OBMjB4`(h!WN1~PJ zsPmo`&8&RW%n5y$q2|%-){oVww?cb5>Z^<+M>~^Jm1g~Cszbxj&Y~zi??U8O|H#qX zs)9UF-y8F%V^x!erPQSlO+1CES+Mh=DSyJxdnb)QQVid}!_eKu(D&7!b^S``dFRwD z>U+_=&Ue0Yhu@18n6LBE$9|(SDKqP@77y8@=A~2i{k~McySwt06+f9=KRRjrcj}ws zz78tS3og8ab*ZYb*D5luR=0-EziXN~=^1pm{;RpAt&>3C+~N-GBb67u6$4A3Dm{O? z)(>m(J2zs!Tl{^p&PF|6Gk`}XjsIFP{B$w&3zN!!uA=xd@a|GN#_YU%0AP_E7Iwj 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 literal 0 HcmV?d00001 diff --git a/plugins/1602winxp/pomodoro-sit-timer/sounds/chime-soft.wav b/plugins/1602winxp/pomodoro-sit-timer/sounds/chime-soft.wav new file mode 100644 index 0000000000000000000000000000000000000000..a66d97270b1b765075db7088420610d9758a40ab GIT binary patch literal 141164 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 - - + + - + -
+
+ 当前曲目 -
-
+
+