From 90148b2fcde72ae989597c47ae976233687838d0 Mon Sep 17 00:00:00 2001 From: glidea <740696441@qq.com> Date: Tue, 10 Jun 2025 17:03:05 +0800 Subject: [PATCH] update docs --- README-en.md | 298 +++++++++++++++++--------- README.md | 257 ++++++++++++---------- docs/images/daily-brief.png | Bin 583451 -> 533990 bytes docs/images/feed-list-with-web.png | Bin 1109941 -> 1105205 bytes docs/images/migrate-from-follow-2.png | Bin 202175 -> 180768 bytes 5 files changed, 339 insertions(+), 216 deletions(-) diff --git a/README-en.md b/README-en.md index 684790a..fd6ccc6 100644 --- a/README-en.md +++ b/README-en.md @@ -1,172 +1,256 @@ -zenfeed: Empower RSS with AI, automatically filter, summarize, and push important information for you, say goodbye to information overload, and regain control of reading. +[中文](README.md) -## Preface +
+
+
+zenfeed is your AI information hub. It's an intelligent RSS reader, a real-time "news" knowledge base, and a personal secretary that helps you monitor "specific events" and delivers analysis reports. +
-So, is pure RSS subscription the answer? Not necessarily. Information overload and filtering difficulties (information noise) remain pain points for RSS users. ++ Live Demo (RSS Reading Only) + | + Technical Documentation + | + Quick Start +
-Confucius advocated the doctrine of the mean in all things. Can we find a middle ground that combines the sense of control and high-quality sources from active RSS subscription with technological means to overcome its information overload drawbacks? +> [!NOTE] +> The description on DeepWiki is not entirely accurate (and I cannot correct it), but the Q&A quality is decent. -Try zenfeed! **AI + RSS** might be a better way to acquire information in this era. zenfeed aims to leverage AI capabilities to help you automatically filter and summarize the information you care about, allowing you to maintain Zen (calmness) amidst the Feed (information flood). +--- -## Project Introduction +## 💡 Introduction -[](https://app.codacy.com/gh/glidea/zenfeed/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) -[](https://sonarcloud.io/summary/new_code?id=glidea_zenfeed) -[](https://goreportcard.com/report/github.com/glidea/zenfeed) +RSS (Really Simple Syndication) was born in the Web 1.0 era to solve the problem of information fragmentation, allowing users to aggregate and track updates from multiple websites in one place without frequent visits. It pushes website updates to subscribers in summary form for quick information retrieval. -zenfeed is your intelligent information assistant. It automatically collects, filters, and summarizes news or topics you follow, then sends them to you. But we're not just building another "Toutiao"... 🤔 +However, with the rise of Web 2.0, social media, and algorithmic recommendations, RSS never became mainstream. The shutdown of Google Reader in 2013 was a landmark event. As Zhang Yiming (founder of ByteDance) pointed out at the time, RSS demands a lot from its users: strong information filtering skills and self-discipline to manage subscription sources, otherwise it's easy to get drowned in information noise. He believed that for most users, easier "personalized recommendations" were a better solution, which led to the creation of Toutiao and Douyin (TikTok). - +Algorithmic recommendations have indeed lowered the barrier to accessing information, but their tendency to over-cater to human weaknesses often leads to filter bubbles and entertainment addiction. If you want to get truly valuable content from your information stream, you need even greater self-control to resist the algorithm's "feed." -**For [RSS](https://en.wikipedia.org/wiki/RSS) Veterans** 🚗 -* zenfeed can be your AI-powered RSS reader (works with [zenfeed-web](https://github.com/glidea/zenfeed-web)) -* An [MCP](https://mcp.so/) Server for [RSSHub](https://github.com/DIYgod/RSSHub) -* A customizable, trusted RSS data source and an incredibly fast AI search engine -* Similar to [Feedly AI](https://feedly.com/ai) +So, is pure RSS subscription the answer? Not entirely. Information overload and the difficulty of filtering (information noise) are still major pain points for RSS users. + +Confucius spoke of the "Doctrine of the Mean" in all things. Can we find a middle ground that allows us to enjoy the sense of control and high-quality sources from active RSS subscriptions while using technology to overcome the drawback of information overload? + +Give zenfeed a try! **AI + RSS** might be a better way to consume information in this era. zenfeed aims to leverage the power of AI to help you automatically filter and summarize the information you care about, allowing you to maintain your Zen in the torrent of information (Feed). + +> Reference Article: [AI Revives RSS? - sspai.com (Chinese)](https://sspai.com/post/89494) + +--- + +## ✨ Features + + + +**For [RSS](https://en.wikipedia.org/wiki/RSS) Power Users** 🚗 +* Your AI-powered RSS reader (use with [zenfeed-web](https://github.com/glidea/zenfeed-web)) +* Can act as an [MCP](https://mcp.so/) Server for [RSSHub](https://github.com/DIYgod/RSSHub) +* Customize trusted RSS sources to build a lightning-fast personal AI search engine +* Similar in functionality to [Feedly AI](https://feedly.com/ai)
+
-
+
+
+
+
+## 🚀 Installation and Usage
-[More Previews](docs/preview.md)
+### 1. Prerequisites
-## Installation and Usage
+> [!IMPORTANT]
+> zenfeed uses model services from [SiliconFlow](https://cloud.siliconflow.cn/en) by default.
+> * Models: `Qwen/Qwen3-8B` (Free) and `Pro/BAAI/bge-m3`.
+> * If you don't have a SiliconFlow account yet, use this [**invitation link**](https://cloud.siliconflow.cn/i/U2VS0Q5A) to get a **¥14** credit.
+> * If you need to use other providers or models, or for more detailed custom deployments, please refer to the [Configuration Documentation](https://github.com/glidea/zenfeed/blob/main/docs/config.md) to edit `docker-compose.yml`.
-### 1. Installation
+### 2. One-Click Deployment
-By default, uses SiliconFlow's Qwen/Qwen3-8B (free) and Pro/BAAI/bge-m3. If you don't have a SiliconFlow account yet, use this [invitation link](https://cloud.siliconflow.cn/i/U2VS0Q5A) to get a ¥14 credit.
+> Get the service up and running in as little as one minute.
-Support for other vendors or models is available; follow the instructions below.
-
-#### Mac/Linux
+#### Mac / Linux
```bash
+# Download the configuration file
curl -L -O https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml
-# If you need to customize more configuration parameters, directly edit docker-compose.yml#configs.zenfeed_config.content BEFORE running the command below.
-# Configuration Docs: https://github.com/glidea/zenfeed/blob/main/docs/config.md
-API_KEY=your_apikey TZ=your_local_IANA LANGUAGE=English docker-compose -p zenfeed up -d
+# Start the service (replace with your API_KEY)
+API_KEY="sk-..." docker-compose -p zenfeed up -d
```
-#### Windows
-> Use PowerShell to execute
+#### Windows (PowerShell)
+
```powershell
-Invoke-WebRequest -Uri "https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml" -OutFile ([System.IO.Path]::GetFileName("https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml"))
+# Download the configuration file
+Invoke-WebRequest -Uri "https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml" -OutFile "docker-compose.yml"
-# If you need to customize more configuration parameters, directly edit docker-compose.yml#configs.zenfeed_config.content BEFORE running the command below.
-# Configuration Docs: https://github.com/glidea/zenfeed/blob/main/docs/config.md
-$env:API_KEY = "your_apikey"; $env:TZ = "your_local_IANA"; $env:LANGUAGE = "English"; docker-compose -p zenfeed up -d
+# Start the service (replace with your API_KEY)
+$env:API_KEY = "sk-..."; docker-compose -p zenfeed up -d
```
-### 2. Using the Web UI
+🎉 **Deployment Complete!**
+Access it at http://localhost:1400
-Access https://zenfeed-web.pages.dev
-> If deployed in an environment like a VPS, access https://vps_public_ip:1400 (remember to open the security group port). Do not use the public frontend above.
-> ⚠️ zenfeed currently lacks authentication. Exposing it to the public internet might leak your API Key. Please configure your security groups carefully. If you have security concerns, please open an Issue.
+> [!WARNING]
+> * If you deploy zenfeed on a public server like a VPS, access it via `http://
+#### Add RSS Subscription Feeds
-> To migrate from Follow, refer to [migrate-from-follow.md](docs/migrate-from-follow.md)
-> Requires access to the respective source sites; ensure network connectivity.
-> Wait a few minutes after adding, especially if the model has strict rate limits.
+
+
+> * To migrate from Follow, please refer to [migrate-from-follow-en.md](docs/migrate-from-follow-en.md).
+> * After adding a source, zenfeed needs to access the origin site, so ensure your network is connected.
+> * Please wait a few minutes after adding for content to be fetched and processed, especially if the model has strict rate limits.
#### Configure Daily Briefings, Monitoring, etc.
-
+
-### 3. Configure MCP (Optional)
-Using Cherry Studio as an example, configure MCP and connect to Zenfeed, see [Cherry Studio MCP](docs/cherry-studio-mcp.md)
-> Default address http://localhost:1301/sse
+#### Configure MCP (Optional)
+For example, to configure MCP and connect to Zenfeed with Cherry Studio, see [Cherry Studio MCP](docs/cherry-studio-mcp-en.md).
+> Default address `http://localhost:1301/sse`
-## Roadmap
-* P0 (Very Likely)
- * Support generating podcasts, male/female dialogues, similar to NotebookLM
- * More data sources
- * Email
- * Web clipping Chrome extension
-* P1 (Possible)
- * Keyword search
- * Support search engines as data sources
- * App?
- * The following are temporarily not prioritized due to copyright risks:
- * Webhook notifications
- * Web scraping
+#### More...
+The web UI doesn't fully capture zenfeed's powerful flexibility. For more ways to play, please check the [Configuration Documentation](docs/config.md)
-## Notice
-* Compatibility is not guaranteed before version 1.0.
-* The project uses the AGPLv3 license; any forks must also be open source.
-* For commercial use, please contact for registration; reasonable support can be provided. Note: Legal commercial use only, gray area activities are not welcome.
-* Data is not stored permanently; default retention is 8 days.
+---
-## Acknowledgments
-* Thanks to [eryajf](https://github.com/eryajf) for providing the [Compose Inline Config](https://github.com/glidea/zenfeed/issues/1) idea, making deployment easier to understand.
+## 🗺️ Roadmap
-## 👏🏻 Contributions Welcome
-* No formal guidelines yet, just one requirement: "Code Consistency" – it's very important.
+We have some cool features planned. Check out our [Roadmap](/docs/roadmap-en.md) and feel free to share your suggestions!
-## Disclaimer
+---
-**Before using the `zenfeed` software (hereinafter referred to as "the Software"), please read and understand this disclaimer carefully. Your download, installation, or use of the Software or any related services signifies that you have read, understood, and agreed to be bound by all terms of this disclaimer. If you do not agree with any part of this disclaimer, please cease using the Software immediately.**
+## 💬 Community and Support
-1. **Provided "AS IS":** The Software is provided on an "AS IS" and "AS AVAILABLE" basis, without any warranties of any kind, either express or implied. The project authors and contributors make no warranties or representations regarding the Software's merchantability, fitness for a particular purpose, non-infringement, accuracy, completeness, reliability, security, timeliness, or performance.
+> **For usage questions, please prioritize opening an [Issue](https://github.com/glidea/zenfeed/issues).** This helps others with similar problems and allows for better tracking and resolution.
-2. **User Responsibility:** You are solely responsible for all actions taken using the Software. This includes, but is not limited to:
- * **Data Source Selection:** You are responsible for selecting and configuring the data sources (e.g., RSS feeds, potential future Email sources) you connect to the Software. You must ensure you have the right to access and process the content from these sources and comply with their respective terms of service, copyright policies, and applicable laws and regulations.
- * **Content Compliance:** You must not use the Software to process, store, or distribute any content that is unlawful, infringing, defamatory, obscene, or otherwise objectionable.
- * **API Key and Credential Security:** You are responsible for safeguarding the security of any API keys, passwords, or other credentials you configure within the Software. The authors and contributors are not liable for any loss or damage arising from your failure to maintain proper security.
- * **Configuration and Use:** You are responsible for correctly configuring and using the Software's features, including content processing pipelines, filtering rules, notification settings, etc.
+
+
+ + Join WeChat Group + |
+
+
+ + Buy Me a Coffee 🧋 + |
+
+
+
+zenfeed 是你的 AI 信息中枢。它既是智能 RSS 阅读器,也是实时"新闻"知识库,更能成为帮你时刻关注"指定事件",并呈递分析报告的私人秘书。 +
-**2. 实时 “新闻” 知识库** ++ 在线体验 (仅 RSS 阅读) + | + 技术文档 + | + 快速开始 +
-**3. 帮你时刻关注 “指定事件” 的秘书(如 “关税政策变化”,“xx 股票波动”)**,并支持整理研究报告 - -每日研究报告(包含播客)(实验性质) -- 已暂停更新 -* [V2EX](https://v2ex.analysis.zenfeed.xyz/) -* [LinuxDO](https://linuxdo.analysis.zenfeed.xyz/) +> [!NOTE] +> DeepWiki 的描述并不完全准确 --- -[](https://deepwiki.com/glidea/zenfeed) -**!!DeepWiki 的描述并不准确!!!**,但问答质量还行 -技术说明文档见:[HLD](docs/tech/hld-zh.md) - -## 前言 +## 💡 前言 RSS(简易信息聚合)诞生于 Web 1.0 时代,旨在解决信息分散的问题,让用户能在一个地方聚合、追踪多个网站的更新,无需频繁访问。它将网站更新以摘要形式推送给订阅者,便于快速获取信息。 @@ -40,161 +46,192 @@ RSS(简易信息聚合)诞生于 Web 1.0 时代,旨在解决信息分散 > 参考文章:[AI 复兴 RSS ? - 少数派](https://sspai.com/post/89494) -## 项目介绍 +--- -[](https://app.codacy.com/gh/glidea/zenfeed/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) -[](https://sonarcloud.io/summary/new_code?id=glidea_zenfeed) -[](https://goreportcard.com/report/github.com/glidea/zenfeed) +## ✨ 特性 -zenfeed 是你的智能信息助手。它自动收集、筛选并总结关注的新闻或话题,然后发送给你。但我们可不是又造了一个 "今日头条"... 🤔 + - - -**For [RSS](https://zh.wikipedia.org/wiki/RSS) 老司机** 🚗 -* zenfeed 可以是你的 AI 版 RSS 阅读器(配合 [zenfeed-web](https://github.com/glidea/zenfeed-web)) -* [RSSHub](https://github.com/DIYgod/RSSHub) 的 [MCP](https://mcp.so/) Server -* 可自定义可信 RSS 数据源,且速度超快的 AI 搜索引擎 -* 与 [Feedly AI](https://feedly.com/ai) 类似 +**专为 [RSS](https://zh.wikipedia.org/wiki/RSS) 老司机** 🚗 +* 你的 AI 版 RSS 阅读器(配合 [zenfeed-web](https://github.com/glidea/zenfeed-web) 使用) +* 可作为 [RSSHub](https://github.com/DIYgod/RSSHub) 的 [MCP](https://mcp.so/) Server +* 可自定义可信 RSS 数据源,打造速度超快的个人 AI 搜索引擎 +* 功能与 [Feedly AI](https://feedly.com/ai) 类似
+
-
+
+
+
+
+ ➡️ 查看更多效果预览 +
-**For 吃瓜群众** 🍉 +--- -就冲这精美的邮件样式,请立即安装使用! +## 🚀 安装与使用 -
+### 1. 准备工作
-[更多效果预览](docs/preview.md)
+> [!IMPORTANT]
+> zenfeed 默认使用 [硅基流动](https://cloud.siliconflow.cn/) 提供的模型服务。
+> * 模型: `Qwen/Qwen3-8B` (免费) 和 `Pro/BAAI/bge-m3`。
+> * 如果你还没有硅基账号,使用 [**邀请链接**](https://cloud.siliconflow.cn/i/U2VS0Q5A) 可获得 **14 元** 赠送额度。
+> * 如果需要使用其他厂商或模型,或进行更详细的自定义部署,请参考 [配置文档](https://github.com/glidea/zenfeed/blob/main/docs/config-zh.md) 来编辑 `docker-compose.yml`。
-## 安装与使用
+### 2. 一键部署
-### 1. 安装
-> 最快 1min 拉起
+> 最快 1 分钟拉起服务。
-默认使用硅基流动的 Qwen/Qwen3-8B (免费) 和 Pro/BAAI/bge-m3。如果你还没有硅基账号,使用 [邀请链接](https://cloud.siliconflow.cn/i/U2VS0Q5A) 得 14 元额度
-
-如果需要使用其他厂商或模型,或自定义部署:请编辑下方 **docker-compose.yml**#configs.zenfeed_config.content.
-参考 [配置文档](https://github.com/glidea/zenfeed/blob/main/docs/config-zh.md)
-
-#### Mac/Linux
+#### Mac / Linux
```bash
+# 下载配置文件
curl -L -O https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml
-API_KEY=硅基流动apikey docker-compose -p zenfeed up -d
+# 启动服务 (请替换你的 API_KEY)
+API_KEY="sk-..." docker-compose -p zenfeed up -d
```
-#### Windows
-> 使用 PowerShell 执行
+#### Windows (PowerShell)
+
```powershell
-Invoke-WebRequest -Uri "https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml" -OutFile ([System.IO.Path]::GetFileName("https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml"))
+# 下载配置文件
+Invoke-WebRequest -Uri "https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml" -OutFile "docker-compose.yml"
-$env:API_KEY = "硅基流动apikey"; docker-compose -p zenfeed up -d
+# 启动服务 (请替换你的 API_KEY)
+$env:API_KEY = "sk-..."; docker-compose -p zenfeed up -d
```
-安装完成!访问 https://zenfeed-web.pages.dev
+🎉 **部署完成!**
+访问 http://localhost:1400
-### 2. 使用 Web 端
+> [!WARNING]
+> * 如果将 zenfeed 部署在 VPS 等公网环境,请通过 `http://<你的IP>:1400` 访问,并确保防火墙/安全组已放行 `1400` 端口。
+> * **安全提示:** zenfeed 尚无认证机制,将服务暴露到公网可能会泄露您的 `API_KEY`。请务必配置严格的安全组规则,仅对信任的 IP 开放访问。
-> 如果部署在 VPS 等环境请访问 https://vps_public_ip:1400(记得开放安全组端口),不要使用上方的公共前端
-> ⚠️ zenfeed 尚无认证手段,暴露到公网可能会泄露 APIKey,请小心设置安全组。如果你有这方面的安全需求请提 Issue
+### 3. 开始使用
#### 添加 RSS 订阅源
-
+
-> 从 Follow 迁移过来,参考 [migrate-from-follow.md](docs/migrate-from-follow.md)
-> 需要访问对应的源站,请保证网络畅通
-> 添加后稍等几分钟,特别模型有严格速率限制的情况下
+> * 从 Follow 迁移,请参考 [migrate-from-follow.md](docs/migrate-from-follow.md)。
+> * 添加后 zenfeed 需要访问源站,请保证网络畅通。
+> * 添加后请稍等几分钟,等待内容抓取和处理,尤其是在模型有严格速率限制的情况下。
-#### 配置每日简报,监控等
+#### 配置每日简报、监控等
-
+
-### 3. 配置 MCP(可选)
-以 Cherry Studio 为例,配置 MCP 并连接到 Zenfeed,见 [Cherry Studio MCP](docs/cherry-studio-mcp.md)
-> 默认地址 http://localhost:1301/sse
+#### 配置 MCP(可选)
+以 Cherry Studio 为例,配置 MCP 并连接到 Zenfeed,见 [Cherry Studio MCP](docs/cherry-studio-mcp.md)。
+> 默认地址 `http://localhost:1301/sse`
-### 后续
+#### More...
+页面暂时没法表达 zenfeed 强大的灵活性,更多玩法请查阅[配置文档](docs/config-zh.md)
-zenfeed 提供了超多的自定义配置,还有很多玩法等待你挖掘。详细请查阅[文档](/docs/)
+---
-### Roadmap
+## 🗺️ Roadmap
-[Roadmap](/docs/roadmap-zh.md)
+我们规划了一些很 cool 的功能,欢迎查看 [Roadmap](/docs/roadmap-zh.md) 并提出你的建议!
-## 欢迎加群讨论
-> 使用问题请提 Issue,谢绝微信私聊。帮助有类似问题的朋友
+---
-
+## 💬 交流与支持
-都看到这里了,顺手点个 Star ⭐️ 呗,用于防止我太监掉
+> **使用问题请优先提 [Issue](https://github.com/glidea/zenfeed/issues)**,这能帮助到有类似问题的朋友,也能更好地追踪和解决问题。
-有好玩的 AI 工作请联系我!
+
+
+ + 加群讨论 + |
+
+
+ + 请杯咖啡 🧋 + |
+
+有好玩的 AI 工作也请联系我!
-## 生态项目
+---
+
+## 🧩 生态项目
### [入行365日报](https://daily.ruhang365.com)
+入行365创立于2017年,希望以入行资讯交流为起点,与大家一起建立一个分享专业、共同成长的社区。致力于为广大互联网从业人员提供全面的入行咨询、培训、小圈交流、资源协作等相关服务。
-入行365创立于2017年,希望以入行资讯交流为起点,与大家一起建立一个分享专业、共同成长的社区。
+*实验性内容源 (已暂停更新)*
+* [V2EX](https://v2ex.analysis.zenfeed.xyz/)
+* [LinuxDO](https://linuxdo.analysis.zenfeed.xyz/)
-致力于为广大互联网从业人员提供全面的入行咨询、培训、小圈交流、资源协作等相关服务。
+---
-## 注意
-* 1.0 版本之前不保证兼容性
-* 项目采用 AGPL3 协议,任何 Fork 都需要开源
-* 商用请联系报备,可提供合理范围内的支持。注意是合法商用哦,不欢迎搞灰色
-* 数据不会永久保存,默认只存储 8 天
+## 📝 注意事项与免责声明
-## 鸣谢
-* 感谢 [eryajf](https://github.com/eryajf) 提供的 [Compose Inline Config](https://github.com/glidea/zenfeed/issues/1) 让部署更易理解
-* [](https://dartnode.com "Powered by DartNode - Free VPS for Open Source")
+### 注意事项
+* **版本兼容性:** 1.0 版本之前不保证 API 和配置的向后兼容性。
+* **开源协议:** 项目采用 AGPLv3 协议,任何 Fork 和分发都必须保持开源。
+* **商业使用:** 商用请联系作者报备,可在合理范围内提供支持。我们欢迎合法的商业用途,不欢迎利用本项目从事灰色产业。
+* **数据存储:** 数据不会永久保存,默认只存储 8 天。
-## 👏🏻 欢迎贡献
-* 目前还没有规范,只要求一点,“代码一致性”,很重要
+### 鸣谢
+* 感谢 [eryajf](https://github.com/eryajf) 提供的 [Compose Inline Config](https://github.com/glidea/zenfeed/issues/1) 建议,让部署更易理解。
+* [](https://dartnode.com "Powered by DartNode - Free VPS for Open Source")
-## 免责声明 (Disclaimer)
+### 欢迎贡献
+* 目前贡献规范尚在完善,但我们坚守一个核心原则:"代码风格一致性"。
-**在使用 `zenfeed` 软件(以下简称“本软件”)前,请仔细阅读并理解本免责声明。您的下载、安装、使用本软件或任何相关服务的行为,即表示您已阅读、理解并同意接受本声明的所有条款。如果您不同意本声明的任何内容,请立即停止使用本软件。**
+### 免责声明 (Disclaimer)
-1. **“按原样”提供:** 本软件按“现状”和“可用”的基础提供,不附带任何形式的明示或默示担保。项目作者和贡献者不对本软件的适销性、特定用途适用性、非侵权性、准确性、完整性、可靠性、安全性、及时性或性能做出任何保证或陈述。
+*BDiQ5n}8$EkiUEpFxor*8tWm{J@Pp*{$6=4nl@1pc%|YD4(s&N9DU5&e#n}!4`d(Y8!CahftapAIb=o1C=H zgr>j3oCD}#+lZucIsRD(?&;r>-HHgS=dh5D^Mzn>fWaIRzY`hIe-yL@pnA=)CCja* z1Qj88l<}o NG5Z8r*cIZTU!Bf z70v0I( T6?m+0`xs-b3Ov4g#FPf9KZ}iEgJw;I|(!9k pWp3Pgt6Gp_Va?RFdf5$c&e>Ad3K0G?yj_r z=(+i7ZdJFJVL_YL#fIN-#ni2P%@zg0jDaJ()xdb$Dl-TT1(#9a=-V zL> FRk&HbHtMaDn&qy?Lipi|LXVcaYQdX$Lrq@d2 zMrNN~g68992cU2p5;^{?`|8QTNI}xL7eumjZVha~Kabjh*Lhf1;-~t2iOnATf~h z+h|H*X452T=o98yKY-zW%}}F~#y7xW_+vyCfPgq1@_PgfO0h4~`-^l2tCROAxdQTt z%IE~Ow9>QR*^;#{fRydagH<)!m=Af&89d2gqP9mRB tP5VZ}E@jvHlP-j`{hYRj!j@i&3bz z?t&$q`|2wvo>7vvl=-@^$-GN6%C*S%g6kyZUgHY_GIJu1kt@U9mDbF#Uau8HhY~qe z`p}I71JBwj- }C66bM@kd26rJJ;M6ESkG|J>r2?Q)quIQszTkU{@A2*JdAmR30(`8c?5B%H ziRm?nEQ(=rt6mF=HaTJ9zqgtm)N@blEhy#_OGxM_X-?42u3xrd#2+hS+i#5&z` _4-<$V*I&){er0sg2Xst+hk4;-Q&fZ znfbO}TgFbJ8;ACrAUky~hW*34se@q4OkeYm_s@#iz$5M!2_eaLpKNvp;=cac7fz!) z8|U9l=yh 8jOD6GkC@YsGjMr4Vp!^IyriAF0t0w(&+R6V$?hu?aW z L3>Had+ QSl&c(5x)BYhn~9?{x|499>2%djQA|dCQemI z+UVnOa_x%P26VEWgN^-DLH49XMdv0Q;=IXn;LF93nUy jE$ac8vY?_n% zbh%S$4@NEFidp+bD$KxQmMv+k6u;xbdAejGX)Z4BI=-w{RTRoo{+sj1tUhwq4x8M3 zw Hj;x9Vy-UbP)0Q%M}3kzDoo4Xd~;DZf{S>xSNqMK#M5T)^R28JSmh5ouWXh!-n zRo_~|OQUPk$3x=J0bWq=9IRtHZi&BtHY;#U+&$RXiCj>15}Y6y65wQUy9_Uno;aza z`Sg7D_z;{`@=8k@`d4Qkgen-=e?|CO2=x(hEI1cmzhN!eu!UFAVZWbyDDly$=CaLv zdi+s+`;9UbhzUDI`Byl;fHq;4o?)cIxH<6}uG)UJ-%Re*KqD9m?1GkVY0ncj!#dW4 z ZrfL)g}I8IdShwk&)pdq!(PTvw($vyUw?H-Y)iJgE}JXa z `k$jo+w}pU7za!F(KGJe8 z1oCJn?ET2+bPZWwNLp7|E3Tq$L&8}rc$9G=$TaB0GuV1pbZp9zv9)L@f5pQyam4=6 z6E>l5*j yPtNvml4or|vQ6P4yB)%HZO%L-5ym*-4QYloXP5>_Fwt-~<+)bE<9DYeBv Cm(>i_;P0AT}>&DWddOcz=aKtOLmMaRQTY?4Uj1)gZQ zsvZ>DnKUJ=M#pbWzKE3Gxh5Kk@0Fn~^8Zzu;s?crmfp9mi!4=wm=Z{{M^8l+gLQsYQhAQ4lj_iLYjF3I-a4pUv^9CR4KZL( zDzVNYp}_(rmvO (24`a5G)GVvmZq&O)-79YnXuQN+6)PfqNVx5Gm z#P3>{7A-6$=f?c72aUy8$wpTzTMkr5AC!)@!Cz;!74al9bRll`-r|hl`p4lAl?yXS z#|Y5)Ap`}{ax@Ibw~v?i63Hf~Ea{vdg7CoA<)uz{?g2{XXSnvu3G*aIEnk4*e&ldl zPwA}I(k)C$v1Y-ihoh)w^mdiIT~~gn`R(zjq%+iSD09A(LX$pTY^!lopSU h+&k#QU zC53yM#{5O&k?KQ2Ks!-iA3!QB7 _;n;>wI?}d{;CF<%ug|!Z^B3Id>`5R;=`% zGW)1g9V#LPuqexw`s#)U{A4Ob_6gY%EaHkO+p`YO8uwur$v{Kesaq#)>*1xJ>ZHNb zTD@^kXw^=!ilCjvICwtqLM=SrkECh7F>k%z#3Yv`?vwBK )ZR z ZPn|Xdo!hJz)Iz>E$$%fh4ke5qyb3dkVGzRiodJn>|(d>e2Zn* zD*)-SfL9-7P!7-Z2!ESw$=!m@)q7ifhBIMNj;Q{8JmLCwPv~>y|FmcO(IUiogsQ#b zu|hmhH?o4;9K^SObB&0~qB6l$(s$oC0xSHK #ky1$m26eTg 3hDlgeEE|TsL2J=eQ)VlSFab zOOCj0V4PBMRI$wP;Qqe-W8uI07 ^HEyPAycMI4{A&UN9(6bJ_$0UkVdvW3Ojlfc&ywXhp}zw z?1WABrJmHcmKRVAM%)}4ZCH01ygBr2-f!p;aa8(6g@06?>9n_3V`;mqnj-7eq;N3L zwt1%3cD(0pf~Mc8d@wsJT)U7q$^mMdTkR~`t)Cya6e$~$ngH>{i0GA8R5YDl0*Zyb z7%_D#4?5R47WR`0{-XXD(zyZQ5We7ebagSv--nNCm;tb(P0N+|_H9`#h;G=jK|i%l z0UI>?GD6xU@lhsFLIs%#!0%L6q |N;!Ql{f;L!$Mx5I#iI9n)*(2J>En3ure v zL{@TJ6rPV0fhhqR@h+iraXH*AV6On?l_R>gM&z5C)k){NQW5!C*tE})E_&U~?Mk!l z$B4(e 2g;9&0`?y=;|8`Ws0f-vXpjX z%EY2r5~`4K9m739+8I~nj9`FI!LhwX)G|%Vq)B(Zwu_4{$HnZ%zMk#PUbPzFZvoNH zwt9K6`ID%=I-{aAVO3BG5eoDVlQ1~~RS8b!cW_E;ovziHA-_^Sv#X;|*RSw++GF=k zG#PYGE4rF6R(pf~yY=s&`lHUNsNhnvUmOjbHeBOlekHXzE(2@{az-bsRdI?#oO~R| zuEhhQ>_4*x%LEO6D|mK!vgB=;s(bDgAatV~>l3%O!5sR*t(tYq12$gn%`+v3DRp{t zqdasQnNFVjHllps0=@HMhg6E@b&j~mA@=Ln6#KG80r?7wa|;Nf_`m;J0`DtO*hu(- zTe4B{4Y%eRkEg0EW=%?;bGcbIk<&xbnaH_T>kQhJ`~v{(3Lv>Et*cMKcOwu0 km2nY39J$IG#D-SDT-cK{|Lp{D}`Edz4P6?9gGLcqllF+5M>{|ICe-hMUI>^ zl)evHD`%r?Pv!lAGeC7`{^KsOiDwEvcZ?7Zgz`I4(I0wll;hZ&4Au5nN;ksk6!vPT zMmo2((1?_yILqH&x?Yh1@ZGUvc7EKc9tzQtUk|yDhZp{&m<69fnqE(g%M7(@9nA0= zXXa0yIM$D4W~L`*izR}n>2!_DoEP (#r2hqGPd9nS9tf^2}q7j*T_}o zDUJB_r1l{2Aphl&FRvO3DVZ0L3<0jiWEx!qgnr&j7o(Ie!0BKnFpc5`bm c`<5}^;-jGV~lgg<^+*9xV>+vqR<^fLW;<=rOO_ac+-bWhzhD>Z)S_+qfShtl@< z)i>Wwlyw>mo4r|IMXs~oqiJ7KH5Rh5JGOv+;d1O)KU6ekp&~|fK+rG$v^Qa}XLR7% zm6aD&qrtOJ>Fx$6rOxRx;zg^Y{JYkf9!3i0ZJ9F%0dLxmb6`Bv!at|%G#e2Sx{k6| zeZWIH78F6TjR#Z)%2Bkq@{Laf@ZYK4*?cP07voyfBBiwkM6iGs8oUKpg ^lHTxM(2t{Xi7zN($KD9aL^opV`l}|c0h(o#@7^;)s9#$4 z;_0j1aRehHKPbZX2HBf;-Qb{ p53b(D!_!d;)azF%L2< zPij!;!wZIsT)rgDvKKv))<|Vo!0VhWne~x~>|D(1_0|nXZ+?;YV^SXHZ{_hM1of6f zO m102og9vfw9l3Iex0u|GZOi3wOpQzU|MdE}(q92GmK6MGZaV0AZqI z=(wiLG5oyIF*cbosIO%#)}s@8E+uCm$-TT(uCg6`4*Ov{gH4~N34 AcNBXQ9!-AGHfbeD8Dh;&McbT $MODpf9yXV2-h{&T64}d z<{0NV$2qRG>NosjiuzIOHLMtJ#YKjA+b8Y2?d<8*Xh>Hok|q*M>Lfh}Q+ehZwfyIe znrqC53LSr-b3^PtnFpLye9}K|_T)5pp>LQbxc*Up8K$u#OX%{`4g;ebvg~#^$B;Pr zz4*GPc+i|~C;IT4@#>atrE(mxX1}Kqn1)DdT5a3v^|m?4jxK;dxG|9M3naVUKt&o$ zX<1E;O5Eu-NX>#I;CBtHms7?SW?lV$R2mGtCM{EE5$afUs*CH`OmDs51Pu_rO=wur zf1{QoV@8IpvFIlogEDuzLa-~E5}PE*_9!sktR43H&AjzN0Zg#k2rC<+cjmD(tvBai zJ>ztfbOnZ_a1HWaJNFz{BobEFVEDt>41H%!S?m8b+8y%fe2sJJOfIsL2EBeA-KwEn zaG{7qX=t~8gxScYpW6Dv?5j6(_EM;^JpA<59*Jq~L4~p=fn5xBdf@NfT5}wXIct zRchXh7k+x=d5QmW=M|{moL|Rr-D4Obv2r0+N|xgbPIWJ@6;0s9 ZPes$j~nLhhH<_N?;Y5lI;~&WB94C^v0?tzj>a>5{0%lLz2dEZ{k{Trl`M7x<6~y zvAT9_UQT*en@oqtd&+W|C6^87-fSOoee&UPjq;#_oQ|LQG1{%!*&6bcSoQXW4U2w5 z>{VM+Q%CurxUfojM8NKY{jQZ+tD5%(5sFW!j9|_usW t$1RCfkmlIcvI26VkId HOBI$nl5N&h2o~xT(5tQY`1Yv|Od6>g>=G(Hib>CI z@>E3sbz5Z#@i4QAqgTGt*LY(Dg*R8oN2}U74_0=;dD>8uq9w!ixu X9o&A(Sz5sCFh3N*oy}f-a;a1u*prlaMb8>~_S4+?*QUQATTOq(S|Q0`4O@TE zSFW(GDr27sv{> 9JP=OFAXrxZ3aj4c$h2vF zUB4B%fAmXRN*pPs_ qt%)lV+s)}yN !w__0T!wE^g85!i{fbGZb|%(kmN=$is@GBK|3j#UM&jKr-w z7L8hJzDq?93G8z{OO!dotRpk94oPVPCB7S&iwumaj7vQIoWRS-SN3H?*Ss>}E3Fzu z-mI6QGshGX1)9!< #z^LN9v|m_eS01&( zdTwFArkjfnIP>b?2MzeW82+x4$Mj7CjVIS6vg4tVnwv3}f0#NnwMzu2erY9!X0J#A zin6=}QsJ~c&LL_8LmHEU5Anw kJQ eOt&SiH z1kG(WrjoZ|UnV_v&PY@$N|abl6e-!rmxNJi@Q!p+oE>&*O(k2znDxNPceFlMWPz^g zzwhWWBv6>Flvkr_++|U2&Q;z^k>uNa%w5fBGqX4^*K>lyLSH*y4#_x-x;1RoDlQ+y zI!W4Jzo)<35bZqt6HgYolX~g-NAyP@c5ySTs&r2%O<3T&U!0$5$_`v|SD3qL6QXO3 zyV^NoG4z$aZvLJKk_RjU<^;}xHFgEZn`4ECwS}RYE|xF6QqP4ZE(tk=J*w7dcY*qY z$rzyhMWJA@Xw}pG`hfFp+x`33!w~d-%T!1IcWWpIGUCw$>w)f3snuK|0Wyp@g(>CI zBsLWfKG8i`ygD=s#`AMgEK^&eg+P3=-4!qhv;4NHj-h@ILN=&2mcm@({(Hd}+-oZe zvc!xy*o2&IgUI?qeLEHn96nvu;E9pgR9C#w3gQpZavb16rhK=CI?G9*NPW#^&{C2* z?>cv;`q7%tV5PH(? !H$tOW6vF^6f{nS?_ uO!h>_UN6a6!cXbsEDrQ;tA8uR{Rug)L@N1n_QX~z)Ur|XvmsRl#?(6n-Q{>>A zwJMukfH@6cz7t+?16;}T(Vwtjj?fIf>)&nk5fsd0IqXbWYz}A4AK6MqY6PyXEv*)q zkIU1~e2#UZqG@z4u$8NBuUYSTa`8F2ODM-#Xw}(GF) p>$|eO5FscYREx_|=fi-YA5>8 pl=FmP9t|g&7pfKqmyeyyM~9%eby+)Cx+o6JIfjMH zN4NC1U#Ikt-WpU{ |EIwD=EjNUMz{&5DjK4;(@!nU zKuP9Igg}EnLj=Apelod9Sv@;$GCJQvjJ-R=Q?>@7Ggg(;m;w6IIlx|gXux~p!@&DN za$ml2dfetFmf_Xy6NK{5R;||*NS~>3&jA0csKq62g*WDbAD6;=%TXRROj*>TY_W%0 zr8L(C1;qY&CU>D>4lz+$xD@Uizi6xVSutCt61EEgS}>HrT%U2EhS=B_2KhtUEnobP zC(xOPL3nZXv%OCdivL!Gw@GwEgo7^|ZTw|co?Ra>UWQ_#e^hFS_)E7`fE=+XhD&qB z>!2&VTRCfqrq` ByOkr<-c>tZ`5IB`-x|?zBTFo!8*sWA|Z19OI~T zh<#yyx!PWSUY7l)p|A-_BK(O!y4wR)+!D7^i@2Bipt!272M_{8up)+&ssudxNo)=y z*q6~;dAIx%n)tOMH6)Mk<`m(n_}c aqNbpkuftGnkGn>|p_!;C=V!8M!tl$pJMRfTG;7Pm$^5Il^-YB}bMK~S$j96zh zh(b9#01o+EyExtVPTy&F-l@ktnY=uoSF^ !mI;Y%@`R<|mj4nxvaZ7@vnp9!^CKgnh0s0kM^6J^zfIe^JB VNM+jiH@~ypHG`iY4K^^?PWW4^3luHfkv)#g H>gB<_ 2mf6NugT#gtLRQkO zJCSJkfON$EZgxho%J7U#=xA`?Q~I}(qb9CcA>T0kkdod3d$tM6)IUAWafGfH1Th;R zGE#B5y*NC~gIh#Woyu6q&39sXR1dvfW}fzPbiqAm}-G#RN*~obd6le@T5HjJFVQJ zzFZXcnvr?7wfUSP=1si2jns?O;V2y2HY -N%gA2nssyIojLst-Ja6{(r07YK~qUq;e(IS|M`j+%J z(r%f(-c|G0_+6I6clxpaqGv*7o`~eNVQo2~#9-uLso9(!Z#tXiFE!gms=V#y&z4xr zo91DTpsyqq#QURp08Vfhj*r=%q;(KNvYSVJ_a3GC;lAP?vjuc}(7f`}2>VbsV22Lf zl+rNutP;Y@!UC4+WFm&yeKyPFoDe_#?;^OS_CoJ%q!o(?9Fdx#=i4h1BA@Cv9eNcR z@-HSP@NA?y=FlG=o|8W|sl4PR3(dp6+n8Hm3UW@Dl>gov5lPX)WJ53GZhE|3cM0mc z(Nhb}kh_$3TtanU;~JWrCQsbWL`;m=8W$}tr>^y?e(&&L*AuIQ_VoZ)x>k(GTWNUl zuNh6~pmVSVrAc1n3*16q`HE-a^&*io*qlt1Hk_xjqKdQn67gbggLSIX-}MfhlFjp{ zKNjr9ZW7%sodTR*4SgCfN*H~m{0br0VZ!*4*|&kQF1FKHCoB`A!~IOQq`$OyZK0|M zNw`LL2Yk#&ui0|(Kzf^nWdh1ftEfHrm07!U`f&K}f^d zJ9(}M#GZ{{^Ln&u`Y8`$(|$^&vF8?Q_hk7(X1`{|EQIzJdPoGUO7t{{yn~)Qa4bL? zG5!fg!rg!R1i(71u2Y^*bh60=b<_t1Ed)6wXV*Q(&LHBq4<+WV-)AO&{_K{XQ#$bl z`|{W2S_O!J@Uy$`9+EE_hxzuezRNz)7p+|VB|2uXUT{_SguOsqu48^Sd)>zRZ~!0X zd-Cj2-VBFxRH>*U>fO|MgC)a!p1gfG3Q$U!Z|ISUbQL0fXq!gbnj;ewX%i&O{gaQ( z=!!xTo~0)=7N1`M9mn$*5_HesgQ*rEv8EVdS92b}Mvf}l6I`xkIa*Imy3){kSa7!` za)^L2d0K*Q@t5>wp_eNwDKW?CP ?O;v%2@WAxTv(`=8RlzcQQA@5Zp z_2o%0;(WshC%3gylxJg5NuX<{>wwkW) =vQP(*4&>0#B~wX(^7y zUm|WvUarwApg#B&Ir$UE=%+wgl7Pyy(dYp8uV?1>j`2#oeC^@-I2(?W`TTRKDil_L zfs>R4rngs%1?NtjFTxY%G?ns6NOWG%N=!uZ_>bJWP;tH?&q}H%&|%W);1o&B`tpK= zw`>k=)b0%<-aQ!wIFXt#?-m2i7+rk!1VrhGIHx(n!}K;0J)i$>tg!U}J&h%b-X@t# zTvl2K^>10u5|Bq5ZFZ=_gN{!`<-MAexynN}hw}LxB5pt-8=t-io!xviZxwzV&4*ST zR+4^!BQnr?fd!jDc~K;<|86$a5XctrC9LVsO%fGZ2I6wzw4us_XjE@t_(=PX`$id| zUr`1(T8thE1HINgZweU8WG7na;c+(t_(xy}R&>b7_D*B DMHzBASTHU)Q=5%34&viOqV{?E+(`_=0~ zcZmMEFxJ1ErQaT?M;?spFK=-7QvCKe0U}4R0QECAcL>kF4|%r$*x=0UNBdy@uhsa+ z2UeltppLvlcW>k$;|hUsv0p`^{4uxCb)E&2zh>F}7nAJw!T-Ccf35NV&!Q4V>GD+& z1C$DIN@qZAbN#O&UMnEg0#YV(pzuPQhW<@WWlKv-Zm#J0DA3d40~(4z>WWI|Sn3MY zkAUFH;q+Vc$+T4Zm95Lz&h~b$T-ptYw1D0Y1W1w0BS#&AY7}V@kB)V9FShyc+HYqM z7^+PG`6EhaWfsXAKKBc%N@@&GpoI63&~4b=BrB8yhsQ3T1vlvTCH0jQ0PSVaKEaQC z)I+Q)ET&QU=3L|m#3)?%>Wwl#Cs{UZdEG}9e_?UyE$pf7d3_ADIut%^PZZCrCt1y# zCIE@5EVzEMB;jCq6dXGsj#KL*Nzx8T`?jFaFx93D8~v9gYS&;I|E*5w t;qk?y61Nhb0NhlvM(tJ2^wHynaM6l*n!dlG&CQOQ4(uq{AA! zzu1DoWD{7{068fx2C4$%x(70oiB9&bJ&_ug^*Nl6ssAx8UTGjI%?G?{(&10{vX<1z zNrb2oHQx=g_YTH#jerS=OpfZcDb;QUsYG_jkjYpsIjku9padQ*YaW^8x-na@XQ}7q z4^C{x8n^SqgOzS*aX-4^EXbM7v496Oz>ZxfSa4i$*Y6IKDWI**L+6YByZ}@*4U*@+ z_#t^-Y~4<|{wmw)I=sD2BJ(9-jpTmk|41&E<*TGHaZEkS Jz(#OM;Wi{qHv`d?oh9W^P($`zvaIczPq~{eTTGR5`_I zIVe`+yN;*3sr78b@q`AU^J=7I5+qIy9;1oPXk~BV=A<@elqNKiC~0a;S>3j`?<>zv zQBmvSd!!0YMr+5doOl)g!sv2QSo8=lI5Hv_L~((;AN_;8SZ0~L?I#t8yi#yj XCm8atWtoA#~LJVN_~Sx^Q7W`Z{T0| zvMC6A>sr3w)>%)6XeYZ^TszNmw&=rawUD{yI{zyb%Ta6{D>XJ=(^g{0FI7Chu}Kqb zZkwP%DL4MgS(%Jt`0i||U>>M-b6WCyre~;XYCRy;!(H@XhT&fKH}{jNJd4UbT(|U* zyh~kt!QZEWjEM_Yy&WYiso5p$^Aj;VZ>tq?hMm=DIfk5aLnZ#BVWGk0EcTuEPiDaz zk?N=reFCaNo3aIx>p=bSlXvy`F97)^Uc-|6eMPKA1LMm5;5~m&hVl(8)wkZDyxGYg z+t8R}7nIsfs&odoa7}XHW-ET}qD-+Hm4pPu^Zuw(YG-mYO16P#(L-jLGKjY4N*w&x z%>3_y&0)y<@1$mshVXd<6BQovV2$SlfFy^u0&8-f7h@?^X{MhFcn;!svt=MWc9|?B zGf=5Axi4N-Vz29769kc*LQ7b46AV8gW5xqkrRO8(NJf%vZ&CjMDy#E7$`qkqhiPZ@ zZ+WRMrUCd4Jq3|pOX`+C06{AI(&m$8<4iugazN%OlK$}_b^+)|O5DfuW(2x%#`RN% zN%+>EVYt95o~;38^%ttC}W77=fdT@SUjFl)g! eY|M(QRmO>CB4v)BwVsJ+m1V)Os1>xV5k0K{9FH_HRXQtsZHi;KDJEMg zl8*8hO)9M?)ulPer$GI~6V#M$*g?(1`(b9TT!*cc563!v);+ qKY A6lDEq|cpFf)S-5J$4K#_eX zIYBiY!TvNb8Yv>6s=jLSG-JyB=2u#tml|Q)jlVD^ H#gi>?T-)$|lLY0uf%Pa)3o@>UlM-5>NIIRkj`%ifw-~bll)6pjtEa1yDnAeK0 W`jb03Q(8w_)@=`{%kEV* $!fLvqNOo!W<6?*utFNW;%qoYYv zlm;tKe49AosAVhE_wZuNeqa;Ro8e#$r-r>enFJ4l8eD1Yg)UYC|Fn6u$ZEFECf}az z^RFstT0wO9q77REwn4hAf?_})be<~n%E9e2TcfXf@j`AN2pB+ZqXGy^Lxf12B7@kw z+|HH)-l#!hsaDGS4YM>OH!`DI3riYIMf{WW!?^uvn$3sw{@6!k!--xjnr3|SKkQ+B z$=Yc#Dhpy&)Db%=F|j8?k1#UESnwu8Sck+}vkPtCILG%XfE?zG_!oJGpjeDG3&3ln zp-qY{w-a)n1zG^WF~~LcQNTS%D``Ga?|B{Nt?f8xzs3bB`)Hrc_PkeDG355ChREc2 zsi;OS88h{gMH6jA=CH-q(br7AfAOh!@PdZ)@elIwHen1I-*{TFa8ep-or6q^^=;lN zCEmn;KUD5E5fLI)JNY9d3>p|bVzmpP^dd%84$flcT5qw9%wPtWZhXh=;gfLBtNXVy zU*d=fGPFgcUSRirKwE?9wHEhCSw(LKDv`DlC`hY;`Qt0$L2b{{B;DJk24+*8*Rd-a zbCI770=a@Vm&=9 !A*rWHoSrgDlhN7Tl6`qR{(%~ATIr%> z{p{mV Zm_g`m0UHBA%;)fmJW zQ9R~VO7rDW?GUyH!jZvolcJD#7`1jtDFaeZpi_7W@a%x2Ny&oeC-_)AZWM)M(hC{U zfHXzdADd>yZG(5AV7!A|63-(G_--DF;R R^+eZVoWp0sdf7z3>%9WSJ+ _ (Ld7tlKeOc-I&XUEAec*MB#fG)nNCmEo$|8&iz0IcC!mdVXc@#q zOC7@z0&%ZA1didG`By%)jJ%8(OeMd%YGVGJSP3w(QeF=GCa{BcgjjRSD&_^n5G;5- zE`^#o{-sf {Dt*@3v z*EDebvJv}Ue?kn#7`#Q!k_oTT1Hy{%X^YBUu@MQHPV(ml&>i1b7YJF=`Iq NPbg^!PzP8*O( ziQBc@4mxe(JMed#Sz_XUbE3(Jyq8GRkvZMW@tr3T- Oqc^)*zsr#vU7_E=9eI>y~yS4Y<2!C>7$}8 nbB z5X4;F=l+uaO!YaU+&gUOph`RgeJu5Ytoz@AUN7miKB72N-ENX!5M}DeRb&H`o==_Qp^4L8-9stI|}DO99hI*zV&OGc5-Z_-{*~q1ukYu)W5Pa1kPL0 zKM9E4=u1YW-2g9@3>JsvH3O`eh#UIKArM;~yjWs_>2G_eezqkC6tygm=8UsKw@G72 zNGZ&Z;m0Eq-$u)DWLU38icR=6?Y??jNB4bj?{I<&E6_T?w_*4d68llJMO_)Fo#u@d zv+H7WUDe&}Vk=$J{11+gI>s<{H9O(HtT-IdD2vqGBM!hjY$v>7Vx&eBFKHtCYN8nj z)7f&A!|3;QT{i&V|GiQT;SvjK&8l{fMDGAoJ2LAk1PfZOL8m_ww _O>cka8GZPzIL`^Y1i|-U#FtQ4_VB^ z2a6i@x%Zh3P~mn(Jr0s{Bk31XCi*#h|M3g?Fb-H8yfGQpLAK}Usn95G9K!OUV!q-J zi~IHr0lcJy8e#+ru)yuN?OZmg%M+VbGcWI)9*Pp&oURFh2Z264H%4C<& TFpja? ^kZr*7HC7AV~uJogBe^8`W=uq=)d~b%XL3?QawEAtsMXx zfWW37q!Qm@G9$CEQ|oCV;q6&>j^GsVuXP-Do36k~Pw;MldCFsu{rkWn!ZYZTC) jT~`|%#c0J+W}5O{8YZ-;gD$U!Iu{YjB^AVO^jDaP?y4#fD|(DHoXXaT)2%@VkJ zSK#79okvLze`!?SVG(p5l<<+=
bi5;g_;(Xi#CuX!?n@e za57Aw*=11~=aXMb)|VgtbA$iZ8PqI XAd4#tzGaNvuor%k6aYeqE2;CDA5T7cs&Jn_ NJyk-IYWLR#{!)LzuS)7iC^J=AwdjLBCGll^~ zgWdiD#Gn^&r&Y>yg#KjzF`I#i3F*t<$s{5!s0ykD22?j0{f(%QuNR1OnMN+RhN{ z%#w_Dt9F>;|MQ`r7J&dj2p*L9;Cqf&2i@PBiEufF`hb~y?p^dFz;G%@WJzP;Vgg-? zPSA(Z;~= 6D4k!)*!7G8l6Tc_2g_MO z^_4yFIvMh6=>B-Ep7X)(JO4Q546w2jOZ7sK=GeNVNdJavS>XG+{c&WzwXsCL{&QWZ zcSLx-DF*G?f%*_Cs*Naz6 fAy+GXBAriOAFwC#{2JU z_g`!GySe_a!TCQM9E{T+L*M`v{qPy8@N7{t1&wRw&@f2M^w4_{Kqse~ z074i6*@OwTx84tMPK?AnFJ~5@ARe@(27tg`f mm_lPkYUFpcY%AIrr_?7QNn&)f$(w~xYy9UCLrybqcwsA z%k^IKsWyDZz7hZB)M?YkON)o+KxYu&LPgyqrxd{6QjE=Z!3;gtMf5my6+I+_23%}) z%5SvTyLAn)qT}z=Hv#|TnU>uMsP#C4w)= PEj53(PHK!cO8cpVS!H97ZfrC^4J%`Q+AIiYU0Ry^Tn<-Vh#bG7`e zpJSyvd;!2o&Tkp&7T*Jjmpu@zT05VDR%_qQK;{N0>w$E(M&%%fhBIwHcv3uz%`@-E zZubTc-1l8|<}Fya$GQds)H3jCP?is&_YF-lQOU7? zd);S^Lap{&i1s!e#Ha9*11IQbgfMJ%&8PFYp qBq5u~yKy4LKk zq(e>sAef6+V}bqB5)|v2)3;aSli>`201yb-EP*&3H=Z)pNsp6d7W6)80a>RG`CU{l z=-we(tWtd;8d!8*>UnKeRlod!7Oh{s%E}2TXd9Z6&>(JJBlpt)34G9%V;Z0YukvWE z*lAmVc g_)ca3tMe+XLU2be>J)Xrh-8*OeNu^VSG1R5o} z`7X-O)AYZfzXiLn52ybR^kNn~v42w8N;sQ$0D%h?Bv8(68Dk$zX@JQC5RmgYSlgHT zZvo_;0=WW+P5C}{-xO+RyBtP!?W4{E{jxCDKK4dPN*BtnMF3qwRejxW$`fp~(7f5h zmdhY`Xb&X$HIJV@gm(LziL81YP+=fF7c6$XJ|crUJd3kOby;z5sr6|cK`siQ^m^@_ zCNq)DuaWDmfj~hQL79as?*E)>e>?u47ojmcG|w4%uf~K*2kN)Kv*B`*W$t|H% d@i1`kZluDlr!sO!6GWq4Rn4L6`y5Naf+N=hO zA?Su-`OeI+D(VPw2u5pOT5$jf_z| iSaO4RIH-HojG@ZG*>^4 YVkjq_DGj@r_y6LyD zi^&%{{b;#Dp%gH7z9|mVTL5+^^cF#Dv pKFk2rmgJgifkA6@$_692j^#u(+HDdDBeGyZ5NyT%3>37qT^~SWYh#Y zR}?^q;vB|zv022wou8$cHPBb;{=-a-0SSAqw5TY4Wbvm>$#~^740Ea7=^wyC12ORa zQC?o2Jc9X>|D);GP>R?t&QXH`Gn4h@o@1* #K}ST z72E|UV2X84Of|Z~N-@HxYw8io>`CsaNe6^#4_yM=bq&IF?s(AEKuyI#`?)d4qy$9* zoQ6mge70L}B+Q2kRLbjKIS-a}QrZ3v|CQ*4bU);PinwL zhJN~5O$r{Whi!fiAaQH7vT#1+nBNUwoDtFI^ZKNZ1(8j0d$3P|y6Jp932Y%0C4gJ> zrKGLo(|wcp4TU&@1tFI<*Msj&POxw@uf7;lIUsusQ@oTQtOwR(4s@GYbB{8t@ERwg z0ER)hfjTew5F|&x8fKdbaJI>QLhed)3~2PaH7{t19TRz3_(kd{#c@7JW8rF@Gsxl@ zgzn49oZ~`;RNTy`4+D(@Ed9c+1086cxnSqCqw<=A$q161eJz0rj*-Uoj~J3mpodej znRWTu_+lMh|8cSVaiNYM_akb80ubSwH4BD+2kHR&FRt2PWH7!R0?5}mymV?!; CBzF}j01jmt_MqfWHHdvUl4 6hY;!Q!0fJvQibD-!z#mz`5ixhL EZ}1 zpbg`cScTb!Sdty5=uUeI-@G!DdefI2h@b=JV-L!SkfI|DS+xE|c0itM?S!wWZ4fDP zmZbOq{|SnOzku%zquUZv3Rm*F=G@aj)$a|i98S>Ao<&Gpp(M2<@vl=`-A;X&MEaBt zzt#|x9nXO?aUUFJ$f?qt05%hGjgh=Eve`B_WOah7ih#e;!*_2pkrufF5VLExNMvO~ zwz?x0DSYI)cYlcK8|-K*@7P4c1}2;P&dHg~a-HCy6RlBOtgWUk3Rzepe^CoIjpT}^ zK#m7mJf=hgcA8*_`Lo~R>}!Anl<3Gg(CzK~Y=7(th$A%KGYv3;HG_=qTT*ATD)7X_ z_X% w?R^z@kkDa``h-PGLe}CB4;^6*ZctY@|OZBvE7&E!rED*YRh` z`-liHS`PbYp{V0Kv^dG^nx<^89~$dYouO=cU6GjH?jo%6KTRmwUxMaJA>2Tdg0Tvq z)QnBm+_q|>(?UzjLfY?D9|y@OoJNEi`*Ulz3z*C%g8WvW%{C;e){q>6O2zn4ebElu zqI6d|l_<6V9(@AE*cYh@C^qC9jRJq@L1WMB`|sdHN#iZG4PnUlKm)S={tS8|Gt?hm zYsRXMw$^GsWGRq8Q2F5qFWCZ=a#e2cCjvKhAYH-4j5}?=;*%h_U~3RXPgLRC;j{Q2 zExMK}z2XNTg!E_|JXo^@v=WkDLlZr$P;jt*yXaZtYFB6hzDS>LxmCYZNH(-PVn1W+ z3$vE%A6EPzuLVV?dyEoetpS`H`l~|m>{r@tNEXR5jv6)e%zM2T7hiXZPRGbD__}y_ z(fA!$olFlP3tt#=6qnYALxXKTvWQU9z40E2A-`%sssh`fzW){Egh33~&JniVqN0~# zB<0nX*^5o)A5{N@z0z9|jZwZYY|Pv?wpU{W2 ZIdnJ#S~-Vv_}#A}nM zQl7%Kf_r6b++{(}*6WHr?%^yfuECKYGm##JZ{jTvC*_4{DI9_KsjETi+N#FrR?Z!A z)_8`nr^4};8MsPmSen*?G$V`R*J|_7gh+osmHuY8!}hVlFCd|@S`5-Uoc$I^*@+?( z1HSMejSS9F%judok2%Co=M^+@a|5A`(dGgY$(P7O=le30QUOrfIFK)}30f74^1SKG zs)OXk{S$a%%0M%|5Pg|p{@Fgv2DZ)(Rmr&cUL){*N`cX;Ls@382b=P{Nmdh4`G|iH z1kSx3hhh5dPvu7r;sk(>gw8yI%CnhnlADm5(W8u=EN&E=$iNu+fR@x8c#xCUOSm(1 zcp6h4otSU%I4$u;_5#rYnl-eX+w2%-zJlg2YL*%TdmZPTS~{M9Y7+hdSxlH8-6kDg zZ%%X?PBZ-78Xg{p3&_lwb9Ln^nX=_;8kSag(K5IW;MlqtI2$9u5e~qVf|D6JA|Nr@ zw^H!b??Qk0`eWE{Nvw1okS;vl=?#l@M=6AVhK9%yFvJ2*<(ju2rf~RN&a5)+7C%Zz zt=71>+TkS|9f*q@6fEFRBtkV32M29QNZNE40`T!n^;J0N(7x<0`aCu?+vm~I78HKL z){Vd&|AUlIU2_QdJixL3s$qd7o <*-B$YNDQs9nx)JO22!a^Itjw6M<4HhrYXuYhQ;_g;wMRp(RY_MZ?)&hXDCnKBzs z79>x#Spr^n{dw|>egr86g!_&Sh~WZoHbNtt!f$|wmogkK&i!E+iwCK1g!StSAI-oh zzd7ud{74TwGQl!`pu$ ?7(luPyxB$ zLx!QwyfhCNwXvd*FRJyixK>HRnWN>$kboWPhi%IhG4p*w9g++kVj(EpeCF4D=e=^4 zK%n?V+!{jMZzsL@|74Q(XkmTZXx`ye&EX~p>{tNm;a7I4`|4I9nxhitTu~)8?BOK) zg6jhLa>BAf J^R0HvE{;-a=1z%!8MqTRCC!zF(ibmoY7rV_F=$ zgjnMDY$@_X;F2t*Z+}ELmQFuPG@s4P?^G?oz}^F7RZIGI!1*;pspemv(gG=BX5CG* zGfk4-r55#~<=Z8 f`Ic0;>>jGD|K)fdpC7iCdfYYe;7D7v>!Wn( zqcLk4#AAbivWI_Yjy|1}QcB0Ks& {FW4l z1|O6(q)ui^gmM<_Jr7#@%1VX6Fg9#v?kZZ=&^cP7#0x1u@||}DJYHbb$ZtTizoXbj zn;^xYEH?NcRix#snKGGxSo-%<)%Y;a3~l$JlJ$X|s^8p~G181@I^lndw7R&!GBDrV ztGkv(gl6vt4I;6G-i{vU@n2KpGKt5D6?qL|z9XJ30+xfy%tqp<0pz|c0DTS$9h5f} z7Cn6ONI4Ao6EvVgQ|oIy+fW%eDgy+AO`bOfA8|I6_@wB{J5YId1z@LQmLi(LPh|)L z@s*6%dz6f{ejt3{clVZfDai9((x)aKfB;{=R7F&kacyvzrEO!1T0};YsxvhG{32Z1 z2*Uc6ig!xvtKzZ`iCGNT=}-{00%q&M{fM*#K9Bh5(~b8ISt;VECS%nRkPfrLL{ LDeF9o-mI3
c{DO9tlCgnFUxuN_;UAG@s1&nJWD8!8%Yl3WJ`5YC*dbF1{Jfmq3WD z!wd9I)8b}nP&PDF1x)KFmmG6;N;p>+-&=>Q&GQZOOO|dM0iQ0zO6AI-AEuwB#tLeC zFK{xA##!mm&K8kEM6?aMK2z9$sNr$DsIX`SbBvF0{p$}(9&1=};nXv+7K(C3kH6Kd z0}P2_#<~Fc4Q%;u*{gKfx0x=n?C5}H3EYXV;F-dSM9}XY2B0p;GNZMtP`wmLFa}X) z!ShIzh26CtCl}iw`xyZ0C{Bna*kw-YLSCv9BVvnRdie@7yk5;1mBF+`iR~DDY6(2h zp^<4UMgOcdkoaoX5iZ&FYgUdEOaJ^UVnYOW%8*sB?IH8(7e${eW`;~`pK!7~u5WSg z-&Br7d}{%$Qf5XPjjFa}dKuV)UctAqL!BL4{dQO=VqHypK-uc61~e@h*MI+qsDGiG zyFc}oFvHC6xhg&)5dA$2*u>%?{|R#A_%cv%gN(fmq{hHncs7ou-Z$q2N~fB1%=>*F z`BGWSk$tdCKI(u6+S5EdEQVfBA5x6ADDR0DF5csX?klzp0s$>a4&-l44`4#2MofWo z{#C1%KD$J?zsFntktnp?*vu3EGC{+Dx6&M8dNbD6mP>&RfcTSxk2i>*?g%K1@u=AV ziP;7BbL~(1nr4N&Esbq^giT6p9qKPDw1Vb>aX92^ERrs<%yNKpdblfTQB|~0@r>Tk zWi4CvHa7l`qaa;YAa9%p!|WpN9;{|Pr*s@z9$2A@ii%5?uw*he@kSc>4z2PS^M*9N zbW*4&*yT{^J( $Y7iiNP`PJ*(5k1lAYPi?hx-URnU zW1@Y3B+6d2GIk-FSFtky)A+TA@Dw~txh)o+lvF3pA^$9>RuHb}pEMmw)mn)PYF+{f zTBIvcC3(`F2W=~82K~B8u{OqQSQLiXP2o}#@&tJBu?0>Q9C*I0SlZmXz<2iwHk+{4 zUL#sv>(R&
i $2V`vY^1qgP(R zk9f7l=viRC3urI+udq>3{GQ*EVNn?g%6_RZN2^@CQIn9DM@?D-bHUp`_z3%1k(v+F z%9m2WTV(7Q_@u_VUH;J(7{4;|0S-{j!i|XaB^wF1yoeD=oIm@fs8L{9Ghxs$0fN;h z?!9o<#Tm#@3jjrSwuSx^A#ExxGwi1EMYM+!tpeofLtHB%AG-R^;g>6CXiLL5$p+ z!L&&__^Lpir3a+W)zs%ZMWHB*!rT1OrzKI4_iAV`kAVld`Ck7R -TjquraiAYSI`dnKRG<|dklnvW+v}hp&{dBs zniO sZE?Gm=D9DVb0T zF;Rk7T7AhM$H$7;l=Z_6dWGfNX`|t?rplj=Ja+)DJjpL1HHqDNP&7k5^A+?|Rbbfo zfJ4?K&7b&V=fSIK2)T=~0sdg3zaIdsDb4SVV9|C(L0ktGKnv#*5FlVgzeL6*oh9g{ zLTmcT&VZqlp1d6Pp`AiB(pbaT0TU%mm$nxrpBvzOy_o`*V<8M; %bjK45O)|KRkZ@BtaN=SgTZ_c4FAPQxM97b6UegDvj0Jg5I6< Cku!Rm(n!S zo+d=uq0|-H2E%iS8{&==#?;AYZfCRR?=p&=sz_F zY9z!bxp1KM6oGa*IRupAQK3ix)&^v8{iFenM8Y_hSwLh7Y3Q!xS&LDM@_~IbmR$b& zpyKyzKMW%Bd*DVBrBCHJA`)T7nkqmtocx!Sf*@ERVvN9yEE%n9mwM#_?KgMa TF*Ux3hLKk%@>@~ZuS z$2A|8s9Z7=Qmw_q^He>l1~GiO*lJTz_^XMSD3u%;&BN>i;uo5043XonHeU6S#eV?= zB)R*@%aWI3Up~j0_dof0UxxARb}ySPh^c;NGruZmdy@TF >lMg&9iJ$pDPV>gl409lRuEQQ z<2fyQ&*9y_P{*n6 %#VRGg#Jnoo1Ppmfei52~M}6UIhO*DFFUWx3^86g@l~0zS33AUITT9_l zX#c2X*ao(l;5M`crTz^T%Flq#WA>t-acYJM7evV{ab9X^{XL0vAu9e0nqCinLuA~A z1kCDMxFtDROyQU`p>oqqkXNdL)oLzVIROUL`A#Va&N*(Zb uf;7t$oLLY@tIwON8d6DD{dDbokNjrPC5bxsBP^jDp6^a=9}Y<$P@(PD zn2Q zUG>!@VSwF&wM9s(|1sW>bye z_Ch?RXbHeNq))Y82HandhN7K)!72M|plpTIqQtgvxxUF#pP(ep|;ZNl3$=0-=( z`Io?1-@`uXMF7+n+Xzdce*%qOaQ>m-wJgiP$GDG+YblLane-d3|97naTnlh#vicXM zeh(i10$97?pfQ2XfaM>!`5m?9tsOuJLK!@b;{S<{{A+LwU_`q*m>VU2+kbzb#Up@u z!`X0^qV@aD|24QYn!G ad2nVyz&`r#gZ~qg1FQPq75~rM z>Aze3zwh`zEXjY3+yCQM{lfn rLHoe018A)pD0&nw1ytm<_|~g6z+yN9 zJ;z$xZH!Mq9~3C7MoI1^yU-w@E~Gf_R;&RQ$t|b{-3Mud1VGDyQW`*VWN)wN1UU4U zJz{)^pb!9{!@0&>b6-79Dxo!7pdMik$VF2m8h^f}v;#!$QFp+J*8;V*IAQ#oeISRp z@p9i;E?^F@VotzKFe=G%uL1mfK{tLV=^Bt{8bCh)=hYVA`!NC!F~!lm(GSY#1>l9j zXK3B4TL?5Wzz@jV@^gS%!joqCT0M-A{{}c5`r81WT>=2rVnivF0Wt%U@6VlMl~vS0 z@}v>_7F_0bN9UFYWXw3P1VQ+F>2Z`rC }q%fU>LP72TtC$)Abby71 z9LIk%s{Y~NVE$QdZ-6Mi=n1C{hJ_Zu>;Ql0|6}f~!s3duZ5`a*HMqN5aCZ;x?iMV# zySpVgBsc^J5ZomYAh;Fo8r<%#KIe3&kG$U}>Vu+c@3n2MF~|64Wi>K*-!2Aaw<4UY zUx}KwFr8 KqCZBm18N1?ch%fHk0Xh)3f2 z*5e;(_tGNT2C%Q(2T0wM_N&q{f%kY35?x^3jsF*5$-V%LP2N2)cuxyM!rF81M@0as z9B}qfFsLQ(0>^69kOeUKGiypU_u0@DUc)-t2Rv=P1&4q<-U4#K^ jZ9kUE_Nh1$v!?JMo`Flx+n4i5G`|g~YRlHwr#%tCh2qfILp0X~XxyxTw#fuU zd4Yq*>o8T7LVE+8jCszT_emaO5@J>BK*Z|c12E))AS7d(Isd6^o6p169-n{#g?lIK zA+#082~>~;3Vuh3*ns`}z*<#m3`bk1a4cHSO9WWNsX}24rGxZBFKhm3!^YPJW`BJ# z^F7pL!KBn|CrvYEc_AeONatYX60CnoK+&aDEldMn&71P^aVk h?GE8-K`fZK$qSxihKbZZXm=88a(F2z(j0YpzrJBNO@ zIie&8y-1{8)4rUPK^-LZ0*8hXI-n(KE}hf9u~0^-e0Ze^a_lAe672*oEJkY|Aa`I4 zNZi;z-15QM#waE_4fu6@opi&9FL7$Wf$2Se>n|1{p*=_FWT`{C1oWH>9v$_30ir9~ zdZ;HmK-(isD4vfIk#+(+_!3|bPk!PEXJ`tManb%YAQftCC`6(P&M0!aB9%4}qoX7! z ;uzaDxF$ec2_^qI5MJowl=ddHMH8toCdhIau}M-} z2T*!HzJ+iu*k=M@38<`J0bcwKAh31 1K!@>+w{CpUn31#(zqor)YI zRM!b(OpS_~;AmXe 7c0+Q0Rt$UV~R2__o%!? z1_I{?s`WSN2vP2o6y$1j@%pE%5`7z4)FwH+z3I$V`9FWcM#f}6s76CIQdFuO3UdME zmMY%QyNt&7@}&VlnF^_WO#a8;C6@n6`F@6eh @@4 z$_T3;D#5(gy}vQC;z|Q<+t&vKSwGa^#>&vdwnNkOk(Ek~S+(SZH}txnz=_<6H5#S+ z3fVDorz;pt1^~`SZH6n%QY%0e8yjQV{wOHg(7 =)Th8o5qY3`u@2=df;ig{y#ejrAJtBoV2mRwhZWUe zMk}Yq0CX5G$~>b**}FV->AOcDgu@?IsOQlmirn?Sh|!9OCgu`g6NE$OUF#0R`kgg2 zI6|l)^vUI12yIO*HTy@RoU79|n@7gC0D;+N=6V-m107zfYy6IZ%u>*CMF3+>tJ&HE zP;HFHb2NYr fv9!#AT?RaYqq)h6x@5a*x6~z~8|Q6%LtcA*Ho!6^ksUpds8;IMQwFij`k5O9IO< zD2ow7Vd8j)7XHvbzgBZ=2rO2&9e%mSsOV{?`$MnT0-uF5D7cui2dD5hjlO6el8Lb=V13-~0O%+0YAS)`3=tYFH=QeA7)7$niq5?jp?mhA6UqRg zV&0*lNh}l@ ?Q$-XA?nySyfk25Jo9$lqi_RA33u M_7BrNpHJWV7{Kh*#SkyRauRWXh6TrQDE(Cvwy#U)|HXGDLU9CT_w| zkqJ;S2;e*qU3IJZP_M>DCh?5EN@kBI NE_iK5Cojlt;%J+fVU` zqkg&rup#vG-eDajXqqG6KGN`T;!s`o$Hdg!XNgi #ee?p4`e=w?oR5J&05 zF2I11o6)VRxo||_jc&*@R%<%1*G246rPW4w$r%TIqamPeRbWwmN%@5%S2LYetMem; zM>l%a(lFvHa<8SpGLNQm-&u+k)VKQ>O=b@&T+@L;-10G D87+4JTH9u~i8nZy>;6kIFlj}2`V?4%a%+(Qgs~Mxp=ICe)!^0#@ecmv z4%sLA>A%C5rh(NHSZ!8|!K_hc>)j$z+%a0h%u-*yCG}$*Z?TG9`duZmr_(o0f@ L~A)NjIKGc1I08Yfo4Z1Nro*BLH9 a23Urmfh3f6BVz%pwyetQID?uKOWp%m=|cr}>!4pk=|nft;~hwGSAS~60l?}6Fd z*g9fB;IN{)GZr_qldH}Lf&}+UovU<8Yc7F@l!-UB7FOkPt7iB)>G4DvtUyq)$%Toi z1i|qxE>rtQI&JeYPDHk)lJ2ey{Wxjm3h-Q7SOVNaPv0l~YaFn4ypPoajzqSe%8}CZ zlvjnDgcG>`npm#_a?DXgfj{+B3v`rTdU6Ed@XYj%2U~uR&YY_;OwJ <$AyM_B9LLVW--cK!Kp>3wKi- zWr=3fkR5_XneRHN27;1Cd3BGAIFDimbjsj* 0-VtO6CBFOQWNb|VcbiEtu( z@a_{4z%c~n5TbFK;*K!(lF1fThwnysRaUh|^6DpE{~zOf`HX&r;vg!%xA{9?){dkz z11=}dGYmyjC-@>pu&I(r&05{^Xj^EBr%a49odJNDl1IF!bw_c`J%5l~RQ$4Y2d>Y2 zC-K4Ao4JXb^3{W0?mcFQe9GLC`Of@qSd*(Z?Kgg~MKPbbx~T1ddP8AR@Eie$!2k>L zRq6CEG}ZwfO!m5>phkD;)7YHC=h#KHOsJwFC&26_RKKx9Ou$?+2uPm%Om%FDy*+h# zrJ9NiJpOU2UmPrJBP@@Xrkj{k-PFnKU7BUyN=9sXjE;6J7bPKbCv+d+5uDufNI`R@ zmHoWp+_27pWC^CX1`1xI$3mqG@#@igm(oOzn%{FXnJ)#cbD1{8RCK!0DK75gkDI*b zD6=nG*8qoV)LGS+Y9(T)4jsY4I-9EO^KD=fmnffQ@*UT*a~`;s4D|aTomOqTq{&HX zv9~ob$Bb;l_12gfmtUOHigo`obKw&M_v#+k#!Tpk>^Fnh1Stqth->5ZrU;?201S;# zp{QU 1>@+=Q3}HV5@w=*FW3T3x57c><(?b+EzXI)m0#i zU(oe@3ReOR&}0NNR-&T{{8o`Wz$}(rzpT%^Z`1)7CJ# Uh34C>h;TV({L( gp%Cg2dk-d ;OKB|0~jggK?_XWKO? z%R?_ 8y9G`V+NvLvz5Hm4zP(#Ycm@8~wbtKy8f z;{>!lg&aNX1zF!IUzF_QbSt4(NuvG=&gcEE>uTq45V=S-dBRnyKB;y934`!bT!f>W zoex-`5JA-;0sAYTNH0HOt;E#ov#?S?seT=`;4138Fg+1JKynXO*df$!UU$acft+ z@7Yg>L|$Au0x tS5j$=JuUC^gmoSr<+F{IS!wAQ zh-E}1QxKOQ8=ZrB!rl6j @RrpDHt86;447R z5?%AHS_jkjmUfvsr~L_fx7A0eiv@3d)L14ys|OrfoD(x3MNtAlr$8fV2=d~Dw&}7f zh2vUV5cRZOjf(o?|V&kmVle-NTa0Pg%(J?k>UyD7MSudHjVvJg|yzT!5PK8ku` z?6Z@;&plNu%Ktv2o^p%>hSadrRX6oOtdRz(bR#Q$IGO$(rAC>TH4lC- tLkO$IM(mO8lX#m0fObX|lq9h&<%TmjK>65|9KyHDT zBQIYHQbIAv%XtOOU3I+p?lTJp4Lu{=`); `sMn0(e9XAxi#?_3}+XODWrDf z!5-3hJd-MgocPoL(_cYJCmqF}bbZOcFyC_sT&Bcb%MZI$kOILTZr1xk7f{!t!(qfV zL2lf88)1}XuCM)z@zmVy3jS*YNH{QvNHkPL 7Zq|2`Y{wN|yDl_gVb5-tSbW(u{CmGe2!x_aC zLQpb{XS=uQdu)$u5H%}<06o$MZX(@!&yz7+C!WsuMHk7__#o>W7~w3%l z>6D|jeF}bF580iggHQsbhHr)oI=@)^a`)$30a9v_YQG-u*A=Dtx`@U1jjo7q!8omS zeADnA60u@8bw68h!$oY~<4gH+e#r&=a;eSmJR2P(Hkl5(@+cF1H7vD0bV{~gy)roL zkP>4J>^rk0da_X2neOnGe4T=&Hsbv?LalD$_*GiR>8;Ck4aZvals$DyTqG%POulG; zC#o4zlQT2cBpT%^05qzi6h+8ntj6hNg%u&J4FE}z&JW=olhw2)44L}-h<$8SzVoaw z2LPWXN&EGaY=O2zhogjXCZ@K|)0o;zcC1$OpTG-kL(+*;pnGJ@nfPMM<0UXJ%k)8T z<1+XTU_reUwJSji{h_0;c6F>TjF7noRLu_22t@Rf_@Jg4 zOA1XOz7>z?Nt-VE9(puuJw3SfH*i@Z(AA&OeL#o)oE7VJ42G_1?laiicxM}hfeN!7 z* #i-MIQB4)0K`m#N`-`|4WHIM}<#l0slS9Aq6(TUAA&ycQ!T^hk* zuvnVQkq|62-v5Zybw(W1?Nge(0g1$f-ZHfTkZV>Ad|#&RMKRr3J{!>m!X0{5lB*id zZv7^bXQbexsW>iOBmK_5&EPQ^BP3& -$rB_HByTO!(?%IHbeWLfzUN}ix%h;F0f!!r>X>ZJJuOHKkYVyZ zvV@`s$ObeGVJAS+xWQ*4FMHbK2-63m{r=u!7=-d)j0eDy0ShkZqE8)D1gp`YUu+Pv z6b)2IoG_;IA(v(1zUb~4t_f8lTtmBe_(d`;&yIyji|h8;QEp905kWGTMuZw*et|GD z%u02M&0L!$bZe3!^`YY8TRYT9A8x;fbW?nAxNOe*>AINWm(!tV&Kq{H4m>^kj(zO; z5b4D-q %L1sIn5+CFxRpM{0F=`{ftv{^b5 za}zpE%svw_FCt|M9H!3C1bWpp#s^KFF1bmi|_3_<6{gTU?A}a~sHGv!Jm&UE^YZ zVK;-zCii_u5(c6i7Pp2{HJnN7xWun_fS2X%j$hGcLu!{S4*>=;4(nChB{$RCF~#3G z@dO=?O+8IDy%7oC7KK5@^_T7#2mWI?R+5}yFAc(DB`O1(Oq~aS15d`5D9e%V{Jfu< z#suf=x`BY^L$Wmu<4` NTI<`&X^C_WM#ByjlTRuhv);cvwrv)v}}{hG>jp!Nw#IJ8h9D zaZ?hgE`;34-zU~h@6{imWmc}(d5^?8;TM{?rRZrbVrIi8&U$-UhIeF`0|x|u$?Z_S zI=XbkNMMs(8X9-4MIvJB9lzqXe6je`-KIa$?cnjU3lcxfTsR7IdJ!OkHTt!t<2^<+ zY6_JlGaODNk@HbH1ghrS7`I7V#dYAePM?>@t$*S%bF6MTJUS?efTJlOAk1{V{l4u( zLr55dhJm(-x}yv$SxAEeTahd!&t8$%?Uo1ckp*O!KMPz$8_9~3_g%pBU^NmWilGpR z7S#VF85~)}+%@s`z;sXA8Z5%C$NatrSc<<`{MhIR2P?DcPm>9+iH*OUgvA_fC)@v` z>GJ=sG$;f4bIb~6`y-XqA8r?NVqW{f9`eJBO0Er4c&2?1`X+W75x$C#-QNLEBajZ$ z2)Q6H{gpWsbjG*q2J}?Gbl$upEp0WB|IM{wkJ%M@S3YD;z(CZ()-ExF21*=zpw-W4 znf}#Y)%2HR_+Qev3BYKhPOk4}Nc~__qJ5B_xo@xQWc5`X%E(s@T|H%(CA}9Y2pCp^ zFrQ0{der3313Kv0Rr)SrPHMRhC^po>WVcouNM)*og+n*&2(KScT8w{)&7Kd&zQKrj zLx|2JBay-ZEGcZ;XT{$anRhf52bFwK*CQuSAj|s&3j?98v;H}q&7o;L5<;sK1liEw z_bmN7`ruo5z3Tf|)q})09@qdI9-^b?Lja?lFrgV$k_Q=3WgDH^nj%rknt1?|{i9+$ zp|nKnY}p^hD9rRB%y&$JwDT)CKm>pj4Pj|d-l+8*qWSn6@gy+85RXeKz)9d+ZFw_n zavZU9IFbulu3N!a%(ZI42HDTGI{FJpQd-a8XWFR~lhLY0K*_|>en9SRsP~BFP}e+w zBu>BX0_W1cd`)k+g^+)TT9@ALqbp3V3qVh)M$ISRAMY0@mO;pSEsR_ihxwR47m6Ql z%2f!RuygEwmHb?+m=O)c)@UsG?9kt;b!XE(4fPr3KMa5D!y32>O&IaY>q&l{CQJw) z*to!xLKEauJiHs&B8RYgqDADKPBG?0Mi{$EbM=bPd0;*i )=o%i<>mS*#dj zB3;>`nbBJ b=DL2G>1i)Rx=fXe#g zu3Md^&~!=e*XM6>QXk_=&OPIFT`(P(!#6miJVGYm-_AnBsS+LvFYx{V oiepD|gjyeRGxN>M5ZO!s z^HCzu Cb ziJS`&2vbx~poTZ3BGZ^LaYzu{$pm{OMI3-3(HFyG!57fk8a_CB28Cul(2Ef{GovDs zpM0@1K9#|*CNR=45fjUm`NVZmx_fW!(y?_guwj}M%gCtmAucp3S~Yjh567Nw>Aaor zW$bB(9&vz&SXu4rDwFMf__JY&O~v}?zhPD*a)BbP3znxJ0`fbE6t;6nW7lVM!j+!3 zk;$O7G<#-XWD_$mMk#rSC%iAVv>LI+8k})u7c$+*3p8}s>$ i z;+d#PRTM{%G-7UH8;wa!npKS2yYq}enxV);;8J^lu0H~$pzZ5+GdFSbDm`zn2_q6* zHX{XsQ-B^2W7I*!d!(${*{a39*3-@0q^4+Y)}6Fwqu8rEx`AjLH-8sLGUt#1kn8!J z$hWx-6r+OpS~6|~cWmIXD)BR}Lm997&4LK@MJdVd2)9f)af-R!>rik~cyJc$!%f&* zceH%T`7d-Lr2Cjj xZYxUw;in6bkxVUR7E(_!28w XZ0!bDhmOV4MUSTD_q5_@a?r@=dZ z55><#nr GAT6vqtZhem^fV&CBw`(Bmj3yK48~pXyDc%U0+V&}K2wwyppLs$OGtq| zmT)8VrW)g-h!if;*<1ppCeO=a6y8w>2edKbJH6FVZ5J(sF(x6-JReQ1W`G)*7KA?` zfpcR&9zyya4Q}whNC``peSAXJZ^Y|M;UZzSU!Pj0VL65_6RAX(>=sdG_ILadnh!Nx z_;Eb>uLIkhJ0eWz`a((haU+S+gmd9|b~k1g0gQEFQY8}6jQP@CSNUg}O}oe3DKHKU zTOv4jJ|My0E_MOt_pTf0_nYUl=^wXedzT5dVqY=jte5d4y 2s`4!hT8(uUuLVuHsr0?6iqWdM@S#H3UFQR!P{~jMqvMx4VN-{|N%W@lh z3akP@Oip1?u?aw EAqCrx?{;zd*9wt zCrBi6ktybTzN79l!1T4$>2saJF|Prog1jN+NHOh24>lmaK9cVuUNl)EWyxRQU%`mU z*Tfc>%1YrCEVtoiOzS7eLA;Aq(dC?Sdr+IkKxz5d17prxHDX3^J(PIHRF;5WpD|eS zWWhc5!ajB4u_!FDl>D|VTqmN(%5R_!ZJ-~gG?!UMmhWYmtVuI~{Z5O?{HyC}+@j)Y zY&x)p?byM+E1N0!M2Wb75xE`H=S-?0v8CGYrRXbRWX% (VAFTSc~#Vq7yM27@;T3ZFv##vwW1p8f j!}LZE59Av=CsCullI=$*lFqRiGLWh60h zgo_^;k*rC*?@j&cpy=X(S#Cz9u5Cr|_{|})4X~TgUWn&<39_F59ACCYmSW-wD~vP$ zeNTp>FKxl=^bLL`B45v2upxp&N& YmkyqE4fh5CZ*ya@4u zo~V3l4=@xN&uP%CXwg7dh*a2q;0F9L86?Sj)2b|oU>b0PSZQ3C8e-2dv0{u_NC5QS zTtOE*Hmp-cTNVv>nm2_P1hX7wiXCevU(;nYMv}KTB-l2PHkX_v) !&g{!z5#)Bi&k+i*BWG z?EdTS4p9{7M@Sgy#t0>>UWQaYzV%CWKMo_S1+<#C^ta+$hnZ!gBje?QAZrpr)=gyF z#$64-LaOJ-kM;rU*IP&R4*S*8)OMYTjqPyG_YZ^8tPVhMg-pSCz>Uj|V~|>o0pl39 zyk`Jj))^j7jiyP1f9&&^4ppg_V;{aL`z1IpKo>{E%d&p6tQ^B2NjPCMcQZ@Ti4$KR z#(;&?lwax)^d@;yPFEz%((QX$YiPQv