From 8a4210f3803eed236a51af9081da330a62eaf2fb Mon Sep 17 00:00:00 2001 From: ylhan Date: Thu, 20 Aug 2026 17:42:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=20note=20=E7=AC=94=E8=AE=B0=E5=BA=93?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=88=B0=20note=5Fsync=EF=BC=8CAI=5Fcompiler?= =?UTF-8?q?=20=E4=BD=9C=E4=B8=BA=20submodule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitmodules | 3 + .obsidian/app.json | 9 + .obsidian/appearance.json | 1 + .obsidian/core-plugins.json | 33 ++ .obsidian/graph.json | 22 ++ .obsidian/workspace.json | 254 +++++++++++++++ AI_compiler | 1 + autoware_w7/w7.md | 233 ++++++++++++++ ros/.obsidian/app.json | 3 + ros/.obsidian/appearance.json | 1 + ros/.obsidian/core-plugins.json | 33 ++ ros/.obsidian/graph.json | 30 ++ ros/.obsidian/workspace.json | 201 ++++++++++++ ros/ros2/nav2/debug.md | 211 ++++++++++++ ros/ros2/nav2/nav2.md | 0 ros/ros2/nav2/nav2_bringup_gps_demo.md | 356 +++++++++++++++++++++ ros/ros2/ros2_control/环境.md | 59 ++++ ros/ros2/安装配置/ros2_structure.md | 128 ++++++++ ros/ros2/安装配置/代码更新_zh.md | 77 +++++ ros/ros2/安装配置/安装.md | 137 ++++++++ ros/ros2/安装配置/安装_zh.md | 161 ++++++++++ ros/ros2/安装配置/环境配置.md | 8 + ros/ros2/概念/基础概念.md | 165 ++++++++++ ros/履带底盘机械臂.md | 1 + 大模型/DeepSeek V4 系列.md | 125 ++++++++ 大模型/FFN 前馈网络详解.md | 410 ++++++++++++++++++++++++ 大模型/MoE 混合专家架构.md | 289 +++++++++++++++++ 大模型/Transformer 架构详解.md | 425 +++++++++++++++++++++++++ 大模型/多模态大模型.md | 140 ++++++++ 大模型/大模型架构基础.md | 248 +++++++++++++++ 工作/Pasted image 20260402112914.png | Bin 0 -> 101046 bytes 工作/Pasted image 20260402112951.png | Bin 0 -> 25894 bytes 工作/VCU控制逻辑_精简版.md | 67 ++++ 工作/VCU控制逻辑(v0.2).md | 234 ++++++++++++++ 工作/nav2 优缺点.md | 6 + 工作/履带车T10遥控器协议与操作说明.md | 75 +++++ 工作/履带车T10遥控器协议与操作说明.pdf | Bin 0 -> 610318 bytes 工作/机械臂分析.md | 0 技术趋势/AI编译器现状与前景.md | 182 +++++++++++ 自建服务/Gitea部署指南.md | 104 ++++++ 自建服务/Silverbullet部署指南.md | 219 +++++++++++++ 自建服务/frp内网穿透部署指南.md | 218 +++++++++++++ 自建服务/sshwifty网页SSH终端.md | 84 +++++ 自建服务/主页与Caddy反向代理.md | 127 ++++++++ 44 files changed, 5080 insertions(+) create mode 100644 .gitmodules create mode 100644 .obsidian/app.json create mode 100644 .obsidian/appearance.json create mode 100644 .obsidian/core-plugins.json create mode 100644 .obsidian/graph.json create mode 100644 .obsidian/workspace.json create mode 160000 AI_compiler create mode 100644 autoware_w7/w7.md create mode 100644 ros/.obsidian/app.json create mode 100644 ros/.obsidian/appearance.json create mode 100644 ros/.obsidian/core-plugins.json create mode 100644 ros/.obsidian/graph.json create mode 100644 ros/.obsidian/workspace.json create mode 100644 ros/ros2/nav2/debug.md create mode 100644 ros/ros2/nav2/nav2.md create mode 100644 ros/ros2/nav2/nav2_bringup_gps_demo.md create mode 100644 ros/ros2/ros2_control/环境.md create mode 100644 ros/ros2/安装配置/ros2_structure.md create mode 100644 ros/ros2/安装配置/代码更新_zh.md create mode 100644 ros/ros2/安装配置/安装.md create mode 100644 ros/ros2/安装配置/安装_zh.md create mode 100644 ros/ros2/安装配置/环境配置.md create mode 100644 ros/ros2/概念/基础概念.md create mode 100644 ros/履带底盘机械臂.md create mode 100644 大模型/DeepSeek V4 系列.md create mode 100644 大模型/FFN 前馈网络详解.md create mode 100644 大模型/MoE 混合专家架构.md create mode 100644 大模型/Transformer 架构详解.md create mode 100644 大模型/多模态大模型.md create mode 100644 大模型/大模型架构基础.md create mode 100644 工作/Pasted image 20260402112914.png create mode 100644 工作/Pasted image 20260402112951.png create mode 100644 工作/VCU控制逻辑_精简版.md create mode 100644 工作/VCU控制逻辑(v0.2).md create mode 100644 工作/nav2 优缺点.md create mode 100644 工作/履带车T10遥控器协议与操作说明.md create mode 100644 工作/履带车T10遥控器协议与操作说明.pdf create mode 100644 工作/机械臂分析.md create mode 100644 技术趋势/AI编译器现状与前景.md create mode 100644 自建服务/Gitea部署指南.md create mode 100644 自建服务/Silverbullet部署指南.md create mode 100644 自建服务/frp内网穿透部署指南.md create mode 100644 自建服务/sshwifty网页SSH终端.md create mode 100644 自建服务/主页与Caddy反向代理.md diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c8ce1f8 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "AI_compiler"] + path = AI_compiler + url = https://git.hyonglin.top/ylhan/note_AI_compiler.git diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..f699f2f --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1,9 @@ +{ + "pdfExportSettings": { + "includeName": true, + "pageSize": "Letter", + "landscape": false, + "margin": "0", + "downscalePercent": 100 + } +} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..639b90d --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,33 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "footnotes": false, + "properties": true, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": true, + "bases": true, + "webviewer": false +} \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json new file mode 100644 index 0000000..cf4b782 --- /dev/null +++ b/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": false, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": false, + "collapse-color-groups": false, + "colorGroups": [], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": true, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 1, + "close": false +} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json new file mode 100644 index 0000000..d71637f --- /dev/null +++ b/.obsidian/workspace.json @@ -0,0 +1,254 @@ +{ + "main": { + "id": "baaef7f0d0c37abd", + "type": "split", + "children": [ + { + "id": "eaf4cbbe01345c1b", + "type": "tabs", + "children": [ + { + "id": "a64a4cd245fb22ec", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "履带车T10遥控器协议与操作说明.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "履带车T10遥控器协议与操作说明" + } + }, + { + "id": "ead3240747740b7d", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "ros/ros2/ros2_control/环境.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "环境" + } + }, + { + "id": "115caef4c284a702", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "自建服务/Silverbullet部署指南.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Silverbullet部署指南" + } + } + ], + "currentTab": 2 + } + ], + "direction": "vertical" + }, + "left": { + "id": "b2e8a489e5c74a84", + "type": "split", + "children": [ + { + "id": "20cece044921a370", + "type": "tabs", + "children": [ + { + "id": "0a844a1838a0afc7", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-folder-closed", + "title": "文件列表" + } + }, + { + "id": "7d36ad1a0e870585", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "搜索" + } + }, + { + "id": "bda7c9d5257639de", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "书签" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "151f2874cea23ad8", + "type": "split", + "children": [ + { + "id": "7c0d580356baa113", + "type": "tabs", + "children": [ + { + "id": "7cc083e6d69c3d69", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "file": "大模型/DeepSeek V4 系列.md", + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "DeepSeek V4 系列 的反向链接列表" + } + }, + { + "id": "adaff8d134c6c028", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "file": "履带车T10遥控器协议与操作说明.md", + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "履带车T10遥控器协议与操作说明 的出链列表" + } + }, + { + "id": "2d6594801d830dfe", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "标签" + } + }, + { + "id": "bb36402a7e978df7", + "type": "leaf", + "state": { + "type": "all-properties", + "state": { + "sortOrder": "frequency", + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-archive", + "title": "添加笔记属性" + } + }, + { + "id": "d3338eaffa18cf65", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "履带车T10遥控器协议与操作说明.md", + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "履带车T10遥控器协议与操作说明 的大纲" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "left-ribbon": { + "hiddenItems": { + "switcher:打开快速切换": false, + "graph:查看关系图谱": false, + "canvas:新建白板": false, + "daily-notes:打开/创建今天的日记": false, + "templates:插入模板": false, + "command-palette:打开命令面板": false, + "bases:新建数据库": false + } + }, + "active": "115caef4c284a702", + "lastOpenFiles": [ + "大模型/FFN 前馈网络详解.md", + "自建服务/Silverbullet部署指南.md", + "自建服务", + "技术趋势/AI编译器现状与前景.md", + "大模型/DeepSeek V4 系列.md", + "技术趋势", + "ros/ros2/ros2_control/环境.md", + "未命名 1.base", + "未命名.base", + "大模型/MoE 混合专家架构.md", + "大模型/Transformer 架构详解.md", + "大模型/MoE 混合专家架构.md.tmp.33168.91e110d04189", + "大模型/MoE 混合专家架构.md.tmp.33168.aec6279f2917", + "大模型/大模型架构基础.md", + "工作/机械臂分析.md", + "工作/履带车T10遥控器协议与操作说明.md", + "工作", + "大模型/多模态大模型.md", + "大模型架构基础.md", + "autoware_w7/w7.md", + "大模型", + "工作/nav2 优缺点.md", + "工作/VCU控制逻辑(v0.2).md", + "工作/VCU控制逻辑_精简版.md", + "ros/ros2/nav2/debug.md", + "VCU控制逻辑(v0.2).md.tmp.17548.1776933572846", + "ros/ros2/nav2/debug", + "工作/Pasted image 20260402112951.png", + "ros/ros2/nav2/nav2_bringup_gps_demo.md", + "工作/Pasted image 20260402112914.png", + "ros/ros2/nav2/nav2.md", + "ros/履带底盘机械臂.md", + "ros/ros2/安装配置/ros2_structure.md", + "ros/ros2/概念/基础概念.md" + ] +} \ No newline at end of file diff --git a/AI_compiler b/AI_compiler new file mode 160000 index 0000000..86ed9b3 --- /dev/null +++ b/AI_compiler @@ -0,0 +1 @@ +Subproject commit 86ed9b3b1a5f80f37261f4138c35fc8bbb94949d diff --git a/autoware_w7/w7.md b/autoware_w7/w7.md new file mode 100644 index 0000000..f8c7cc9 --- /dev/null +++ b/autoware_w7/w7.md @@ -0,0 +1,233 @@ +# Autoware W7 启动概览 + + + +以下内容基于命令: + + + +ros2 launch autoware_launch autoware.launch.xml \ + +  sensor_model:=sample_sensor_kit \ + +  vehicle_model:=sample_vehicle \ + +  vehicle_id:=W7 \ + +  map_path:=/media/nvidia/nvme0n1pnvme0n1p1/autoware_map/test_map_A4_and_PARK/ + + + +## 模块关系(Mermaid) + + + +```mermaid + +graph LR + +  subgraph SENSING["感知层 Sensing"] + +    SENSINGN(Pointcloud / Camera / Radar) + +    PCCTR[pointcloud_container] + +  end + + + +  subgraph MAPGRP["地图 Map"] + +    PC_MAP(Pointcloud Map) + +    LL_MAP(Lanelet2 Map) + +  end + + + +  subgraph LOCAL["定位 Localization"] + +    LOCN(Localization) + +  end + + + +  subgraph PER["感知 Perception"] + +    PERN(Detection / Tracking / TLR) + +  end + + + +  subgraph PLAN["规划 Planning"] + +    PLANN(Mission / Behavior / Motion) + +  end + + + +  subgraph CTRL["控制 Control"] + +    CTRLN(Trajectory Follower) + +  end + + + +  subgraph VEH["车辆 Vehicle"] + +    VIF(Vehicle Interface) + +    RSP(robot_state_publisher) + +  end + + + +  RVIZ[RViz2] + + + +  SENSINGN -->|点云/图像| PERN + +  SENSINGN -->|点云| LOCN + +  PCCTR -->|聚合点云| PERN + +  PCCTR -->|聚合点云| LOCN + +  PC_MAP -->|点云地图| LOCN + +  LL_MAP -->|lanelet2| PLANN + +  LOCN -->|pose/tf| PLANN + +  PERN -->|detected_objects| PLANN + +  PLANN -->|trajectory| CTRLN + +  CTRLN -->|vehicle_cmd| VIF + +  VIF -->|状态| PLANN + +  RSP -->|tf| RVIZ + +``` + + + +## 主要模块与说明 + + + +- Vehicle:车辆描述与接口(`robot_state_publisher`、`vehicle_interface`、`raw_vehicle_cmd_converter`) + +- System:系统监控、诊断(health、diagnostics) + +- Map:点云地图 (`pointcloud_map.pcd`) 与 Lanelet2 (`lanelet2_map.osm`) 加载 + +- Sensing:传感器驱动、预处理、`pointcloud_container` + +- Localization:ND T / yabloc / eagleye / EKF 等定位组件,依赖点云与地图 + +- Perception:地面分割、检测、跟踪、交通灯识别、融合 + +- Planning:mission、behavior、motion(包含 diffusion_planner 可选) + +- Control:轨迹跟踪(MPC/PID 等)并输出 `vehicle_cmd` + +- API/Tools:Autoware API、RViz2 等 + + + +## 收集到的关键节点(从相关 launch 文件) + + + +- `robot_state_publisher` (Vehicle) + +- `raw_vehicle_cmd_converter` (Vehicle Interface) + +- `map_hash_generator` (Map) + +- `trajectory_relay`(topic_tools relay,将 `/planning/trajectory` 转发到 `/planning/scenario_planning/trajectory`) + + + +- Sensing / Sensor kit 示例节点: + +  - `tl_camera_info_relay`(topic_tools relay for camera) + +  - `tl_compressed_image_relay`(topic_tools relay) + +  - `imu_to_autoware_orientation`(GNSS/IMU 预处理) + +  - `imu_data_compat_relay`(topic_tools relay) + +  - `tag_serial_driver`(IMU 驱动) + + + +- Localization / eagleye 相关节点(部分): + +  - `gnss_converter_node`(eagleye_gnss_converter) + +  - `eagleye_output_twist_relay`(topic_tools relay) + +  - `twist_relay`, `tf_converted_imu`, `velocity_scale_factor_node`, `yaw_rate_offset_*`, `heading_*`, `position`, `smoothing`, `height`, `monitor`(eagleye_rt 包内多个辅助节点) + + + +- Perception 相关节点(示例): + +  - `simple_object_merger`(autoware_simple_object_merger) + +  - `empty_objects_publisher`(autoware_dummy_perception_publisher,用于仿真/占位) + + + +- Planning / Diffusion 示例节点: + +  - `velocity_smoother`(demo_nodes_cpp parameter_blackboard 用作示例) + + + +- Control 相关节点: + +  - `controller_node_exe`(autoware_smart_mpc_trajectory_follower 的 Python 接口) + + + +- Simulator / 工具节点(示例): + +  - `elevation_map_loader`, `autoware_vehicle_velocity_converter`, `autoware_scenario_simulator_v2_adapter_node` + + + +> 注:上面列举的是主要/代表性节点,Autoware 启动会包含大量子包内的节点(许多由组件的 `launch.xml` 或 `launch.py` 再次 include)。如需我逐个组件展开完整节点列表,我可以继续递归读取每个组件的 launch 目录并生成更详尽的清单。 + + + +--- + + + +文件已保存到: + +- 工作区(副本,可点击查看): `docs/autoware_w7/Autoware_W7_overview.md` + +- 你的指定路径副本: `/media/nvidia/nvme0n1pnvme0n1p1/ylhan/autoware_w7/Autoware_W7_overview.md` + + + +如果需要,我可以: + +- 生成更详细的每个子包启动节点清单并保存为文本或 CSV; + +- 将 Mermaid 图另存为 SVG; + +- 针对 `vehicle_interface.launch.xml`、`sensing.launch.xml` 等列出完整的 node 列表。 \ No newline at end of file diff --git a/ros/.obsidian/app.json b/ros/.obsidian/app.json new file mode 100644 index 0000000..e609a07 --- /dev/null +++ b/ros/.obsidian/app.json @@ -0,0 +1,3 @@ +{ + "promptDelete": false +} \ No newline at end of file diff --git a/ros/.obsidian/appearance.json b/ros/.obsidian/appearance.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/ros/.obsidian/appearance.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ros/.obsidian/core-plugins.json b/ros/.obsidian/core-plugins.json new file mode 100644 index 0000000..639b90d --- /dev/null +++ b/ros/.obsidian/core-plugins.json @@ -0,0 +1,33 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "footnotes": false, + "properties": true, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": true, + "bases": true, + "webviewer": false +} \ No newline at end of file diff --git a/ros/.obsidian/graph.json b/ros/.obsidian/graph.json new file mode 100644 index 0000000..5185ea5 --- /dev/null +++ b/ros/.obsidian/graph.json @@ -0,0 +1,30 @@ +{ + "collapse-filter": false, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": false, + "colorGroups": [ + { + "query": "tag:", + "color": { + "a": 1, + "rgb": 14048348 + } + } + ], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": true, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 1, + "close": true +} \ No newline at end of file diff --git a/ros/.obsidian/workspace.json b/ros/.obsidian/workspace.json new file mode 100644 index 0000000..3ba29fb --- /dev/null +++ b/ros/.obsidian/workspace.json @@ -0,0 +1,201 @@ +{ + "main": { + "id": "914c9e8d9774b62f", + "type": "split", + "children": [ + { + "id": "22be749e4ad854f0", + "type": "tabs", + "children": [ + { + "id": "0f14a7f3e342ee77", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "ros2/概念/基础概念.md", + "mode": "preview", + "source": false + }, + "icon": "lucide-file", + "title": "基础概念" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "3d550c51e4dc52dd", + "type": "split", + "children": [ + { + "id": "64ee6b66868da0e5", + "type": "tabs", + "children": [ + { + "id": "4a3332297ce1ac65", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false + }, + "icon": "lucide-folder-closed", + "title": "文件列表" + } + }, + { + "id": "94dc470ccbf6e453", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "搜索" + } + }, + { + "id": "a49ddb63b7b71d3d", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "书签" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "94ee3ffae97277f1", + "type": "split", + "children": [ + { + "id": "30c22dd0ea555284", + "type": "tabs", + "children": [ + { + "id": "e08ac0b7a754e82a", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "反向链接" + } + }, + { + "id": "c28b4721bbc7549d", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "出链" + } + }, + { + "id": "951c9abc2fe22169", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "标签" + } + }, + { + "id": "ced613ec67772cc8", + "type": "leaf", + "state": { + "type": "all-properties", + "state": { + "sortOrder": "frequency", + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-archive", + "title": "添加笔记属性" + } + }, + { + "id": "31cad42ee1968b90", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "大纲" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "left-ribbon": { + "hiddenItems": { + "switcher:打开快速切换": false, + "graph:查看关系图谱": false, + "canvas:新建白板": false, + "daily-notes:打开/创建今天的日记": false, + "templates:插入模板": false, + "command-palette:打开命令面板": false, + "bases:新建数据库": false + } + }, + "active": "0f14a7f3e342ee77", + "lastOpenFiles": [ + "ros2/概念/基础概念.md", + "ros2/安装配置/环境配置.md", + "ros2/概念", + "ros2/新建文件夹", + "未命名", + "ros2/安装配置", + "ros2/安装配置/代码更新_zh.md", + "未命名.md", + "ros2/安装配置/ros2_structure.md", + "ros2/安装配置/安装_zh.md", + "ros2/安装配置/安装.md", + "欢迎.md", + "创建链接.md", + "ros2", + "desktop.ini" + ] +} \ No newline at end of file diff --git a/ros/ros2/nav2/debug.md b/ros/ros2/nav2/debug.md new file mode 100644 index 0000000..eefcda3 --- /dev/null +++ b/ros/ros2/nav2/debug.md @@ -0,0 +1,211 @@ +``` bash +root@nvidia:~/ros2_ws# ros2 topic echo /goal_pose +header: + stamp: + sec: 1776912839 + nanosec: 772353086 + frame_id: map +pose: + position: + x: -0.2929971516132355 + y: -28.93631362915039 + z: 0.0 + orientation: + x: 0.0 + y: 0.0 + z: -0.7140266359687852 + w: 0.7001185350546718 +--- +header: + stamp: + sec: 1776912894 + nanosec: 349057427 + frame_id: map +pose: + position: + x: 1.0191293954849243 + y: -23.940237045288086 + z: 0.0 + orientation: + x: 0.0 + y: 0.0 + z: -0.758253550259611 + w: 0.6519597790651626 +--- +header: + stamp: + sec: 1776912930 + nanosec: 59193832 + frame_id: map +pose: + position: + x: -0.25821736454963684 + y: -26.604511260986328 + z: 0.0 + orientation: + x: 0.0 + y: 0.0 + z: -0.7286561115363753 + w: 0.6848797493872113 +--- +header: + stamp: + sec: 1776913007 + nanosec: 811936088 + frame_id: map +pose: + position: + x: -0.5403046607971191 + y: -23.95861053466797 + z: 0.0 + orientation: + x: 0.0 + y: 0.0 + z: -0.7323575592769619 + w: 0.6809202635917743 +--- +header: + stamp: + sec: 1776913105 + nanosec: 601216801 + frame_id: map +pose: + position: + x: -0.13717754185199738 + y: -31.840221405029297 + z: 0.0 + orientation: + x: 0.0 + y: 0.0 + z: -0.6531641242066932 + w: 0.7572163672618966 +--- + +``` + +雷达同步问题 +``` +ros2_ws\src\rslidar_sdk\config\config.yaml +use_lidar_clock: false +``` + + +``` + --- + ⚠️ 警告1:No goal checker was specified in parameter 'current_goal_checker'. Server will use only plugin loaded + general_goal_checker + + 含义 + + 这是配置缺失类警告,不影响功能,只是提示你没有显式指定当前使用的目标检查器,系统自动用了第一个加载的general_goal_check + er。 + 根因 + + ROS2 Humble及以上版本的Nav2新增了current_goal_checker强制配置项,你的配置里只定义了goal_checker插件,但没有指定当前使 + 用哪一个。 + ✅ 解决方案 + + 在controller_server的ros__parameters下添加一行即可: + controller_server: + ros__parameters: + current_goal_checker: "general_goal_checker" # 新增这行 + controller_frequency: 20.0 + # ... 其他原有配置 + + --- + ⚠️ 警告2:Behavior Tree tick rate 100.00 was exceeded! + + 含义 + + 这是性能类警告,行为树默认tick频率是100Hz(每10ms执行一次),现在单次tick执行时间超过了10ms,导致频率不达标。 + 根因 + + 行为树中的计算密集型节点执行太慢,90%的情况是MPPI控制器计算耗时过长,小概率是系统CPU负载过高、规划器卡顿等。 + ✅ 排查&解决方案 + + 1. 先看CPU占用:top 看controller_server进程的CPU占比,如果超过100%就是计算量太大 + 2. 优先优化MPPI参数(你的当前配置计算量过高),后面警告3会详细说 + 3. 实在优化不了可以调大BT的tick间隔,在bt_navigator下加: + bt_navigator: + ros__parameters: + bt_loop_duration: 20 # 从10ms改成20ms,频率降到50Hz,不推荐,优先优化控制器 + + --- + ⚠️ 警告3:Control loop missed its desired rate of 20.0000Hz + + 含义 + + 这是核心性能警告,控制器要求20Hz的控制频率(每50ms输出一次速度指令),现在单次循环执行超过了50ms,频率不达标。 + ⚠️ 这个问题必须优先解决:控制频率低于15Hz会导致MPPI控制不稳定,甚至出现急刹、撞障碍物的情况。 + 根因 + + 你的MPPI配置计算量过大,两个核心参数超标: + FollowPath: + batch_size: 2000 # 单次迭代采样2000条轨迹,计算量极大 + time_steps: 56 # 每条轨迹预测56步(0.05*56=2.8秒预测时长) + - 2000的batch_size在Jetson NX级别的嵌入式平台单次计算就要60-80ms,肯定达不到50ms的要求 + - 额外加重负载的配置:local costmap的obstacle_max_range: 20.0,local + costmap本身只有6m×6m,处理20米内的点云完全是浪费CPU + ✅ 解决方案(按优先级) + + 1. 调小MPPI计算量(优先保证控制频率达标): + FollowPath: + batch_size: 1000 # 降到800-1200,轨迹采样数减半,性能提升一倍,效果下降不明显 + time_steps: 40 # 降到32-40,预测时长2秒足够,履带车速度慢不需要太长预测 + 2. 缩小local costmap障碍物检测范围: + # local_costmap的voxel_layer下的scan配置 + obstacle_max_range: 10.0 # 从20米改成10米,足够覆盖6m的local costmap范围 + 3. 验证效果:改完后用ros2 topic hz /cmd_vel_nav看频率,稳定在18Hz以上就算合格 + + --- + ❌ 错误1:Failed to create a plan from potential when a legal potential was found. This shouldn't happen. + + 含义 + + 这是Navfn规划器内部错误:规划器已经算出了从起点到终点的势场(理论上存在可行路径),但实际提取路径的时候失败了。 + 根因 + + 结合你的配置,最可能的几个原因: + 4. 可行通道太窄:你的膨胀半径是1.8m,车身本身宽1.8m,通道宽度必须大于3.6m才能通过,如果路径上有窄于这个宽度的通道,膨 + 胀后就没有可行空间了 + 5. 起点/终点落在膨胀区内:虽然势场是通的,但膨胀后的代价太高,路径提取的时候找不到合法的起点/终点 + 6. 膨胀半径过大:1.8m的膨胀半径刚好是车身宽度,没有冗余,稍微有点障碍物就会把通道堵死 + 7. 全局costmap噪点过多:点云误检的障碍物挡住了路径 + ✅ 排查&解决方案 + + 8. 排查路径情况:规划失败时,在rviz上看起点到终点的通道宽度,是不是小于3.6m + 9. 优化膨胀半径(如果通道普遍较窄): + # 全局和局部costmap的inflation_radius都可以降到1.5m(只要大于车身最大半长1.2m就满足SMAC优化要求) + inflation_radius: 1.5 + 10. 优化Navfn参数: + GridBased: + tolerance: 1.0 # 从0.5米改成1.0米,允许终点有更大的容忍范围 + 11. 终极方案:换规划器:如果经常走窄通道,把Navfn换成nav2_smac_planner/SmacPlanner,对窄通道的支持好很多 + 12. 检查全局costmap噪点:如果有很多误检的小障碍物,调大mark_threshold过滤噪点 + + --- + ❌ 错误2:Failed to get result for follow_path in node halt! + + 含义 + + 这是次生错误,不影响功能,只是日志提示:行为树在终止(halt)的时候,尝试获取follow_path节点的执行结果,但结果不存在。 + 根因 + + 完全是前面的规划失败导致的连锁反应:规划失败后整个导航任务提前终止,follow_path节点还没来得及产生结果就被强制停止了。 + ✅ 解决方案 + + 解决前面的规划失败问题后,这个错误会自动消失,不需要单独处理。 + + --- + 🎯 解决优先级建议 + + 13. 【最高优先级】先解决控制循环频率不够的问题,直接影响导航安全性 + 14. 【次高优先级】解决规划失败的问题,影响导航可用性 + 15. 【低优先级】解决剩下的配置类警告,不影响功能只是优化日志 + + 额外优化建议 + + 你现在的voxel层mark_threshold: 10有点太高了,需要10个点才能标记障碍物,容易漏检小障碍物,建议调到3-5更合适: + voxel_layer: + mark_threshold: 3 # 从10改成3,平衡噪点过滤和小障碍物检测 +``` \ No newline at end of file diff --git a/ros/ros2/nav2/nav2.md b/ros/ros2/nav2/nav2.md new file mode 100644 index 0000000..e69de29 diff --git a/ros/ros2/nav2/nav2_bringup_gps_demo.md b/ros/ros2/nav2/nav2_bringup_gps_demo.md new file mode 100644 index 0000000..b4fdae2 --- /dev/null +++ b/ros/ros2/nav2/nav2_bringup_gps_demo.md @@ -0,0 +1,356 @@ +# Navigation2 详解:nav2_bringup 与 nav2_gps_waypoint_follower_demo + +## 1. Navigation2 整体介绍 +Navigation2(简称Nav2)是ROS2生态中最成熟的开源导航框架,是ROS1 Navigation Stack的官方继任者,专为移动机器人自主导航设计。 + +### 1.1 核心功能 +- **定位**:支持AMCL、SLAM(Cartographer、SLAM Toolbox等)、GPS/RTK等多源定位 +- **全局路径规划**:支持A*、Dijkstra、NavFn等多种规划算法 +- **局部路径跟踪**:支持DWA、TEB、MPPI、Pure Pursuit等跟踪算法 +- **避障与行为树**:通过行为树实现复杂导航逻辑,支持动态障碍物规避 +- **重规划与恢复行为**:导航失败时自动执行恢复策略(旋转、回退、清图等) +- **多机器人支持**:支持命名空间隔离的多机器人导航 + +### 1.2 整体架构 +Nav2采用模块化插件式设计,核心模块包括: +``` +├── 感知层 +│ ├── 传感器数据处理(LiDAR、Camera、IMU、GPS等) +│ └── 障碍物检测/语义分割 +├── 定位层 +│ ├── AMCL(蒙特卡洛定位) +│ ├── SLAM 建图 +│ └── 多传感器融合定位 +├── 地图层 +│ ├── 代价地图(全局/局部) +│ ├── 图层插件(静态层、障碍层、膨胀层、社会层等) +├── 规划层 +│ ├── 全局路径规划器 +│ └── 平滑器 +├── 控制层 +│ ├── 局部路径规划器 +│ └── 轨迹跟踪控制器 +├── 行为决策层 +│ ├── 行为树执行器 +│ └── 恢复行为管理器 +└── 接口层 + ├── RViz 可视化 + ├── Action/Topic API + └── 配置参数系统 +``` + +--- + +## 2. nav2_bringup 包详解 +nav2_bringup是Nav2的官方启动集成包,提供了开箱即用的启动文件、配置模板和参数集合,是快速部署Nav2系统的入口。 + +### 2.1 代码结构 +``` +nav2_bringup/ +├── bringup/ # 启动相关核心目录 +│ ├── launch/ # 启动文件集合 +│ │ ├── bringup_launch.py # 主启动文件,集成所有导航模块 +│ │ ├── localization_launch.py # 单独启动定位模块(AMCL/SLAM) +│ │ ├── navigation_launch.py # 单独启动导航模块(规划/控制/行为树) +│ │ ├── rviz_launch.py # 启动RViz可视化 +│ │ ├── slam_launch.py # 启动SLAM建图 +│ │ └── urdf_launch.py # 加载机器人URDF模型 +│ ├── params/ # 参数配置文件目录 +│ │ ├── nav2_params.yaml # 导航全模块默认参数 +│ │ ├── nav2_params_no_odom.yaml # 无里程计场景参数 +│ │ ├── nav2_slam_params.yaml # SLAM模式参数 +│ │ └── robot_localization/ # 传感器融合参数模板 +│ └── rviz/ # RViz配置文件 +│ └── nav2_default_view.rviz # Nav2默认RViz配置 +├── docker/ # Docker部署相关文件 +├── scripts/ # 辅助脚本 +├── CMakeLists.txt +├── package.xml +└── README.md +``` + +### 2.2 核心启动文件说明 + +#### 2.2.1 bringup_launch.py +这是最常用的一站式启动文件,集成了完整的导航流程,支持参数配置: +```python +# 关键参数 +'namespace': '', # 多机器人命名空间 +'use_sim_time': False, # 是否使用仿真时间 +'rviz_config_file': '', # RViz配置文件路径 +'params_file': '', # 导航参数文件路径 +'autostart': True, # 启动后自动激活导航栈 +'use_composition': True, # 使用组件化节点(减少进程数,提高性能) +'use_respawn': False, # 节点崩溃时自动重启 +'map': '', # 静态地图文件路径(.yaml/.pgm) +'slam': False, # 是否启用SLAM模式 +'localization_type': 'amcl' # 定位方式:amcl/slam_toolbox等 +``` +启动示例: +```bash +# 仿真环境启动导航 +ros2 launch nav2_bringup bringup_launch.py use_sim_time:=True map:=/path/to/map.yaml + +# 真机环境启用SLAM建图 +ros2 launch nav2_bringup bringup_launch.py slam:=True params_file:=/path/to/my_params.yaml +``` + +#### 2.2.2 localization_launch.py +单独启动定位模块,适合只需要定位不需要完整导航的场景: +```bash +# 仅启动AMCL定位 +ros2 launch nav2_bringup localization_launch.py map:=/path/to/map.yaml use_sim_time:=True +``` + +#### 2.2.3 navigation_launch.py +单独启动导航模块(规划/控制/行为树),适合定位已由其他系统提供的场景: +```bash +# 仅启动导航模块,使用已有的定位信息 +ros2 launch nav2_bringup navigation_launch.py params_file:=/path/to/my_params.yaml +``` + +### 2.3 配置文件详解 +nav2_params.yaml是核心参数配置文件,采用分层结构,每个模块单独配置: +```yaml +amcl: + ros__parameters: + base_frame_id: "base_footprint" # 机器人基坐标系 + global_frame_id: "map" # 全局坐标系 + odom_frame_id: "odom" # 里程计坐标系 + max_particles: 2000 # 最大粒子数 + min_particles: 500 # 最小粒子数 + update_min_a: 0.2 # 角度变化超过0.2rad时更新 + update_min_d: 0.25 # 位移超过0.25m时更新 + +bt_navigator: + ros__parameters: + use_sim_time: False + bt_xml_filename: "navigate_w_replanning_and_recovery.xml" # 行为树文件 + +global_costmap: + global_costmap: + ros__parameters: + update_frequency: 1.0 + publish_frequency: 1.0 + global_frame: map + robot_base_frame: base_footprint + resolution: 0.05 + plugins: + - {name: static_layer, type: "costmap_2d::StaticLayer"} + - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} + - {name: inflation_layer, type: "costmap_2d::InflationLayer"} + +local_costmap: + local_costmap: + ros__parameters: + update_frequency: 5.0 + publish_frequency: 2.0 + global_frame: odom + robot_base_frame: base_footprint + width: 3 + height: 3 + resolution: 0.05 + rolling_window: true # 局部代价地图随机器人移动 + +planner_server: + ros__parameters: + expected_planner_frequency: 1.0 + planner_plugins: ["GridBased"] + GridBased: + plugin: "nav2_navfn_planner/NavfnPlanner" # 默认使用NavFn规划器 + use_astar: true # 启用A*算法 + +controller_server: + ros__parameters: + controller_frequency: 20.0 + min_x_velocity_threshold: 0.001 + min_y_velocity_threshold: 0.5 + controller_plugins: ["FollowPath"] + FollowPath: + plugin: "nav2_regulated_pure_pursuit_controller/RegulatedPurePursuitController" # 默认使用Pure Pursuit控制器 +``` + +### 2.4 最佳实践 +1. **不要直接修改默认参数文件**:将nav2_params.yaml复制到自己的工作空间进行修改,通过`params_file`参数传入 +2. **组件化启动**:默认启用`use_composition:=True`可以显著减少内存占用和通信开销 +3. **分层配置**:将通用参数和机器人特定参数分开存放,便于维护 +4. **仿真与真机分离**:使用`use_sim_time`参数区分仿真和真机环境,分别配置不同的参数值 + +--- + +## 3. nav2_gps_waypoint_follower_demo 详解 +这是Nav2官方提供的室外导航示例,演示了如何结合GPS/RTK定位实现全局航点跟随功能,适用于无人车、巡检机器人等室外场景。 + +### 3.1 代码结构 +该包位于navigation2_tutorials仓库中,结构如下: +``` +nav2_gps_waypoint_follower_demo/ +├── bringup/ +│ ├── launch/ +│ │ ├── gps_waypoint_follower_launch.py # Demo主启动文件 +│ │ ├── rviz.launch.py # RViz启动 +│ │ └── dual_ekf.launch.py # 双EKF传感器融合启动 +│ ├── params/ +│ │ ├── dual_ekf.yaml # 传感器融合参数 +│ │ ├── nav2_params.yaml # 导航参数(适配GPS场景) +│ │ └── waypoint_follower_params.yaml # 航点跟随器参数 +│ ├── rviz/ +│ │ └── gps_waypoint.rviz # GPS导航专用RViz配置 +│ └── worlds/ +│ └── gps_world.world # 仿真世界文件(含GPS插件) +├── config/ +│ └── sample_waypoints.yaml # 示例航点配置文件 +├── src/ +│ └── gps_waypoint_logger.cpp # 航点到达日志节点(可选) +├── CMakeLists.txt +├── package.xml +└── README.md +``` + +### 3.2 核心组件说明 +GPS航点跟随系统主要由三个核心部分组成: +1. **传感器融合模块**(robot_localization):融合GPS、IMU、轮式里程计数据,输出全局定位 +2. **导航栈模块**:基于全局定位进行路径规划和跟踪 +3. **航点跟随器**:按照预设的GPS航点序列依次导航 + +#### 3.2.1 双EKF传感器融合 +demo使用两个扩展卡尔曼滤波器(EKF)实现多传感器融合: +```yaml +# dual_ekf.yaml 核心配置 +ekf_filter_node_odom: + ros__parameters: + frequency: 30.0 + sensor_timeout: 0.1 + two_d_mode: true + publish_tf: true + odom_frame: odom + base_link_frame: base_link + world_frame: odom + # 融合IMU和轮式里程计,输出odom->base_link变换 + imu0: /imu/data + odom0: /wheel/odometry + +ekf_filter_node_map: + ros__parameters: + frequency: 30.0 + sensor_timeout: 0.1 + two_d_mode: true + publish_tf: true + odom_frame: odom + base_link_frame: base_link + world_frame: map + # 融合GPS数据,输出map->odom变换 + odom1: /gps/fix + odom1_differential: false + odom1_relative: false +``` +- 第一个EKF(odom系):融合IMU和轮式里程计,提供短时间内高精度的局部定位,无漂移 +- 第二个EKF(map系):融合GPS数据,提供全局绝对定位,修正长期漂移 + +#### 3.2.2 导航参数适配(nav2_params.yaml) +GPS导航场景需要对默认导航参数进行调整: +```yaml +amcl: + ros__parameters: + # GPS导航场景下禁用AMCL,使用EKF融合提供定位 + use_sim_time: False + # AMCL相关参数全部注释或删除 + +global_costmap: + global_costmap: + ros__parameters: + # GPS模式下不使用静态地图,使用动态生成的代价地图 + plugins: + - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} + - {name: inflation_layer, type: "costmap_2d::InflationLayer"} + # 代价地图大小足够覆盖所有航点范围 + width: 1000 + height: 1000 + resolution: 0.1 + rolling_window: false # 全局代价地图固定,不随机器人移动 + origin_x: -500 + origin_y: -500 + +planner_server: + ros__parameters: + # 使用适合长距离规划的算法 + GridBased: + plugin: "nav2_navfn_planner/NavfnPlanner" + use_astar: true + allow_unknown: true # 允许在未知区域规划路径 + +controller_server: + ros__parameters: + # 使用适合高速行驶的控制器 + FollowPath: + plugin: "nav2_mppi_controller/MPPIController" # 或者TEB控制器 + max_vel_x: 5.0 # 室外场景允许更高速度 +``` + +#### 3.2.3 航点跟随器配置 +```yaml +# waypoint_follower_params.yaml +waypoint_follower: + ros__parameters: + loop: False # 航点是否循环执行 + waypoint_timeout: 300.0 # 单个航点导航超时时间(秒) + stop_on_failure: True # 某个航点导航失败时停止 + action_server_name: "follow_waypoints" + # 航点到达阈值 + goal_tolerance_x: 0.5 + goal_tolerance_y: 0.5 + goal_tolerance_yaw: 0.25 +``` + +### 3.3 航点配置 +sample_waypoints.yaml是预设的GPS航点文件,格式如下: +```yaml +waypoints: + - latitude: 37.7749 + longitude: -122.4194 + yaw: 0.0 # 到达后的朝向(弧度) + frame_id: "wgs84" # GPS坐标系 + - latitude: 37.7750 + longitude: -122.4195 + yaw: 1.57 + frame_id: "wgs84" + - latitude: 37.7751 + longitude: -122.4196 + yaw: 3.14 + frame_id: "wgs84" +``` +航点使用WGS84坐标系(标准GPS坐标),也可以配置为UTM坐标系。 + +### 3.4 运行流程 +1. **启动仿真/真机驱动**:加载机器人模型、传感器驱动、GPS插件 +2. **启动传感器融合**:`ros2 launch nav2_gps_waypoint_follower_demo dual_ekf.launch.py` +3. **启动导航栈**:`ros2 launch nav2_gps_waypoint_follower_demo gps_waypoint_follower_launch.py` +4. **加载航点**:`ros2 run nav2_waypoint_follower waypoint_follower --ros-args -p waypoint_file:=/path/to/sample_waypoints.yaml` +5. **启动航点跟随**:通过RViz发送FollowWaypoints action请求,或者用命令行启动: + ```bash + ros2 action send_goal /follow_waypoints nav2_msgs/action/FollowWaypoints "{waypoints: []}" + ``` + +### 3.5 关键注意事项 +1. **GPS信号质量**:室外场景下需要确保GPS信号良好,RTK定位能达到厘米级精度,普通GPS只有米级精度,可能影响导航效果 +2. **坐标系转换**:需要正确配置WGS84到UTM再到机器人本地坐标系的转换参数 +3. **航点规划**:航点之间需要有可行路径,避免有障碍物阻挡 +4. **动态障碍物**:室外场景需要配置合适的障碍物检测和避障参数 +5. **TF树检查**:确保`map->odom->base_link`的TF变换正确发布,这是GPS导航的基础 + +--- + +## 4. 常用调试技巧 +1. **查看TF树**:`ros2 run tf2_tools view_frames`,检查坐标系变换是否正确 +2. **检查定位质量**:`ros2 topic echo /gps/fix` 查看GPS信号质量,`ros2 topic echo /odometry/filtered` 查看融合后的定位输出 +3. **可视化调试**:在RViz中显示全局/局部代价地图、规划路径、当前目标点等信息 +4. **参数动态调整**:使用`ros2 param`命令动态修改参数,无需重启导航栈 +5. **日志分析**:查看`/tf`, `/cmd_vel`, `/plan`等话题的输出,排查导航失败原因 + +--- + +## 参考资料 +- [Navigation2 官方文档](https://navigation.ros.org/) +- [nav2_bringup 源码](https://github.com/ros-navigation/navigation2/tree/main/nav2_bringup) +- [GPS Waypoint Follower 教程](https://navigation.ros.org/tutorials/docs/gps_waypoint_follower.html) +- [navigation2_tutorials 仓库](https://github.com/ros-navigation/navigation2_tutorials) diff --git a/ros/ros2/ros2_control/环境.md b/ros/ros2/ros2_control/环境.md new file mode 100644 index 0000000..3c18551 --- /dev/null +++ b/ros/ros2/ros2_control/环境.md @@ -0,0 +1,59 @@ +#### 拉取镜像 +```bash +docker pull arm64v8/ros:humble +``` + +#### 启动脚本 +```code +#!/bin/bash + +# 允许 Docker 访问 X 服务器(用于 GUI) +xhost +local:docker + +# 容器名称 +CONTAINER_NAME="ylhan_ros2_humble" + +# 检查容器是否存在 +if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then + # 容器存在 + if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then + # 容器正在运行,直接进入 + echo "容器 ${CONTAINER_NAME} 正在运行,进入容器..." + docker exec -it ${CONTAINER_NAME} bash + else + # 容器已存在但未运行,启动并进入 + echo "容器 ${CONTAINER_NAME} 已存在但未运行,启动容器..." + docker start -i ${CONTAINER_NAME} + fi +else + # 容器不存在,创建并运行新容器 + echo "容器 ${CONTAINER_NAME} 不存在,创建新容器..." + docker run -it --rm \ + --name ${CONTAINER_NAME} \ + --network host \ + --privileged \ + -e DISPLAY=$DISPLAY \ + -v /tmp/.X11-unix:/tmp/.X11-unix:rw \ + -v /home/ylhan/ros2_ws:/root/ros2_ws \ + -v /dev:/dev \ + arm64v8/ros:humble \ + bash +fi + +``` + +#### 环境设置 +宿主机 +```bash +echo $DISPLAY +``` +假设输出为nvidia:13.0,在docker内: +```bash +export DISPLAY=nvidia:13.0 +``` +复制宿主机home目录下.Xauthority文件到docker中home目录下,使用xeyes测试 + +ros2 docker隔离 +```bash +export ROS_DOMAIN_ID=79 #设置独立的DOMAIN_ID +``` \ No newline at end of file diff --git a/ros/ros2/安装配置/ros2_structure.md b/ros/ros2/安装配置/ros2_structure.md new file mode 100644 index 0000000..e7d6912 --- /dev/null +++ b/ros/ros2/安装配置/ros2_structure.md @@ -0,0 +1,128 @@ +# ROS2 代码结构图 + +## ROS2 工作区目录结构 + +```mermaid +flowchart TD + Workspace[ROS2 工作区] --> src[src/ 源代码目录] + Workspace --> build[build/ 构建目录] + Workspace --> install[install/ 安装目录] + Workspace --> log[log/ 日志目录] + + src --> Package1[包1] + src --> Package2[包2] + src --> PackageN[...] + + Package1 --> P1_CMake[CMakeLists.txt] + Package1 --> P1_PackageXML[package.xml] + Package1 --> P1_src[src/ 源代码] + Package1 --> P1_include[include/ 头文件] + Package1 --> P1_msgs[msg/ 消息定义] + Package1 --> P1_srvs[srv/ 服务定义] + Package1 --> P1_actions[action/ 动作定义] +``` + +## ROS2 软件架构 + +```mermaid +flowchart TD + App[应用程序] --> ClientLibs[客户端库] + + subgraph ClientLibs [客户端库] + direction LR + RCLcpp[C++ 客户端库 rclcpp] + RCLpy[Python 客户端库 rclpy] + RCL[C 客户端库 rcl] + end + + ClientLibs --> RCL_Interface[RCL 接口] + RCL_Interface --> RMW[ROS 中间件接口 RMW] + + subgraph DDS_Implementations [DDS 实现] + direction LR + FastDDS[Fast DDS] + CycloneDDS[Cyclone DDS] + RTI_Connext[RTI Connext] + OpenSplice[OpenSplice] + end + + RMW --> DDS_Implementations + DDS_Implementations --> Network[网络通信] +``` + +## ROS2 核心包依赖关系 + +```mermaid +flowchart TD + ROS2_Core[ROS2 核心] --> ament_core[ament_core
构建系统] + ROS2_Core --> rcl[rcl
C语言客户端库] + ROS2_Core --> rclcpp[rclcpp
C++客户端库] + ROS2_Core --> rclpy[rclpy
Python客户端库] + + rcl --> rmw[rmw
中间件接口] + rclcpp --> rcl + rclpy --> rcl + + rmw --> rmw_implementation[rmw_implementation
中间件实现] + rmw_implementation --> DDS[DDS 实现] + + ROS2_Tools[ROS2 工具] --> ros2cli[ros2cli
命令行工具] + ROS2_Tools --> colcon[colcon
构建工具] + ROS2_Tools --> launch_ros[launch_ros
启动系统] +``` + +## ROS2 节点通信模型 + +```mermaid +flowchart LR + NodeA[ROS2 节点 A] -->|发布话题| Topic1[话题 /topic1] + NodeB[ROS2 节点 B] -->|订阅话题| Topic1 + + NodeC[ROS2 节点 C] -->|请求服务| Service1[服务 /service1] + NodeD[ROS2 节点 D] -->|提供服务| Service1 + + NodeE[ROS2 节点 E] -->|发送目标| Action1[动作 /action1] + NodeF[ROS2 节点 F] -->|执行动作| Action1 + NodeF -->|反馈| NodeE + NodeF -->|结果| NodeE +``` + +## 说明 + +### 1. 工作区目录结构 +- **src/**: 包含所有ROS2包的源代码 +- **build/**: 构建过程中生成的中间文件 +- **install/**: 安装目录,包含可执行文件、库和资源 +- **log/**: 构建和运行时的日志文件 + +### 2. ROS2包的基本结构 +每个ROS2包通常包含: +- `CMakeLists.txt`: CMake构建配置文件 +- `package.xml`: 包元数据文件 +- `src/`: C++或Python源代码 +- `include/`: C++头文件 +- `msg/`, `srv/`, `action/`: 消息、服务、动作定义文件 + +### 3. 软件架构层次 +1. **应用程序层**: 用户编写的ROS2节点 +2. **客户端库层**: 语言特定的API(C++、Python、C) +3. **RCL层**: 通用的ROS客户端库 +4. **RMW层**: ROS中间件抽象接口 +5. **DDS层**: 具体的DDS实现 + +### 4. 通信模式 +- **话题(Topics)**: 发布/订阅模式,单向异步通信 +- **服务(Services)**: 请求/响应模式,同步通信 +- **动作(Actions)**: 目标/反馈/结果模式,长时间运行的任务 + +## 使用方法 + +1. 将本文件在支持 Mermaid 图的 Markdown 查看器中打开(如 VS Code with Mermaid 插件、GitHub、GitLab 等) +2. 图表将自动渲染为可视化图形 +3. 如需修改图表,编辑对应的 Mermaid 代码块 + +## 相关资源 + +- [ROS2 官方文档](https://docs.ros.org/) +- [ROS2 架构设计](https://design.ros2.org/) +- [Mermaid 语法指南](https://mermaid.js.org/syntax/flowchart.html) \ No newline at end of file diff --git a/ros/ros2/安装配置/代码更新_zh.md b/ros/ros2/安装配置/代码更新_zh.md new file mode 100644 index 0000000..c1629dd --- /dev/null +++ b/ros/ros2/安装配置/代码更新_zh.md @@ -0,0 +1,77 @@ +# 维护 ROS 2 源代码检出 + +## [概述](https://docs.ros.org/en/humble/Installation/Maintaining-a-Source-Checkout.html) + +本文档介绍如何维护从源代码构建的 ROS 2 安装。如果您已经从源代码安装了 ROS 2,并且想要更新到最新的错误修复和功能,请遵循本指南。 + +## [更新 ROS 2 源代码](https://docs.ros.org/en/humble/Installation/Maintaining-a-Source-Checkout.html#updating-ros-2-source-code) + +### 1. 更新仓库列表文件 + +首先,您需要获取最新的 `ros2.repos` 文件,该文件定义了构建 ROS 2 所需的所有仓库及其分支。 + +```bash +# 对于 Humble Hawksbill 版本 +cd ~/ros2_humble +wget https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos -O ros2.repos +``` + +或者,如果您想使用特定分支(例如主分支)而不是发布分支: + +```bash +# 使用主分支(开发版本) +wget https://raw.githubusercontent.com/ros2/ros2/master/ros2.repos -O ros2.repos +``` + +### 2. 更新本地仓库 + +使用 `vcs` 工具更新您的本地仓库: + +```bash +# 更新所有仓库的远程引用 +vcs custom --args remote update +``` + +### 3. 下载新的源代码 + +现在,使用新的 `ros2.repos` 文件导入并拉取最新的代码: + +```bash +# 导入新仓库定义 +vcs import src < ros2.repos + +# 拉取所有仓库的最新代码 +vcs pull src +``` + +**注意**:`vcs import` 命令将覆盖 `src` 目录中现有的仓库定义。如果您有本地修改或添加了额外的仓库,请确保在运行此命令之前备份您的更改。 + +### 4. 重新构建工作空间 + +更新源代码后,需要重新构建工作空间: + +```bash +# 返回到工作空间根目录 +cd ~/ros2_humble + +# 使用 colcon 重新构建 +colcon build --symlink-install +``` + +构建选项说明: +- `--symlink-install`:使用符号链接而不是复制文件,这可以加快构建速度并减少磁盘空间使用 + +### 5. 检查源代码状态 + +要查看当前工作空间中所有仓库的状态,可以导出当前的仓库配置: + +```bash +# 导出当前仓库状态 +vcs export src > my_ros2.repos +``` + +这将在当前目录下创建一个 `my_ros2.repos` 文件,其中包含所有仓库的当前提交哈希值。您可以将此文件用于: +- 备份当前的源代码状态 +- 在其他机器上复制相同的配置 +- 调试构建问题 + diff --git a/ros/ros2/安装配置/安装.md b/ros/ros2/安装配置/安装.md new file mode 100644 index 0000000..133d0aa --- /dev/null +++ b/ros/ros2/安装配置/安装.md @@ -0,0 +1,137 @@ +## [System requirements](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id1)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#system-requirements "Link to this heading") + +The current Debian-based target platforms for Humble Hawksbill are: + +- Tier 1: Ubuntu Linux - Jammy (22.04) 64-bit + +- Tier 3: Ubuntu Linux - Focal (20.04) 64-bit + +- Tier 3: Debian Linux - Bullseye (11) 64-bit + + +Other Linux platforms with varying support levels include: + +- Arch Linux, see [alternate instructions](https://wiki.archlinux.org/index.php/ROS#ROS_2) + +- Fedora Linux, see [alternate instructions](https://ros2docs.robook.org/humble/Installation/Alternatives/Fedora-Development-Setup.html) + +- OpenEmbedded / webOS OSE, see [alternate instructions](https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions) + + +As defined in [REP 2000](https://www.ros.org/reps/rep-2000.html). + +## [System setup](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id2)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#system-setup "Link to this heading") + +### [Set locale](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id3)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#set-locale "Link to this heading") + +请确保您有一个支持 `UTF-8` 的区域设置。 如果您处于最简环境中(例如 docker 容器),区域设置可能是一些类似 `POSIX` 的选项。 我们使用以下设置通过了测试。但是,如果您使用不同的支持 `UTF-8` 的区域设置,也应该没问题。 + +`locale # check for UTF-8` +`sudo apt update && sudo apt install locales` +`sudo locale-gen en_US en_US.UTF-8` +`sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8` +`export LANG=en_US.UTF-8` +`locale # verify settings` + +### [Add the ROS 2 apt repository](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id4)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#add-the-ros-2-apt-repository "Link to this heading") + +你需要将 ROS 2 apt 仓库添加到你的系统中。 + +首先确保 [Ubuntu Universe 仓库](https://help.ubuntu.com/community/Repositories/Ubuntu) 已启用。 + +`sudo apt install software-properties-common` +`sudo add-apt-repository universe` + +然后使用 apt 添加 ROS 2 GPG 密钥。 + +`sudo apt update && sudo apt install curl -y` +`sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg` + +然后将仓库添加到你的源列表中。 + +`echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null` + +### [Install development tools and ROS tools](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id5)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#install-development-tools-and-ros-tools "Link to this heading") + +Install common packages. + +`sudo apt update && sudo apt install -y \` + `python3-flake8-docstrings \` + `python3-pip \` + `python3-pytest-cov \` + `ros-dev-tools` + +Install packages according to your Ubuntu version. + +Ubuntu 22.04 LTS and laterUbuntu 20.04 LTS + +`sudo apt install -y \` + `python3-flake8-blind-except \` + `python3-flake8-builtins \` + `python3-flake8-class-newline \` + `python3-flake8-comprehensions \` + `python3-flake8-deprecated \` + `python3-flake8-import-order \` + `python3-flake8-quotes \` + `python3-pytest-repeat \` + `python3-pytest-rerunfailures` + +## [Get ROS 2 code](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id6)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#get-ros-2-code "Link to this heading") + +Create a workspace and clone all repos: + +`mkdir -p ~/ros2_humble/src` +`cd ~/ros2_humble` +`vcs import --input https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos src` + +## [Install dependencies using rosdep](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id7)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#install-dependencies-using-rosdep "Link to this heading") + +ROS 2 包是在经常更新的 Ubuntu 系统上构建的。 在安装新包之前,建议您确保系统是最新的。 + +%% `sudo apt upgrade` %% + +`sudo rosdep init` +`rosdep update` +`rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"` + +**Note**: If you’re using a distribution that is based on Ubuntu (like Linux Mint) but does not identify itself as such, you’ll get an error message like `Unsupported OS [mint]`. In this case append `--os=ubuntu:jammy` to the above command. + +## [Install additional DDS implementations (optional)](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id8)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#install-additional-dds-implementations-optional "Link to this heading") + +If you would like to use another DDS or RTPS vendor besides the default, you can find instructions [here](https://ros2docs.robook.org/humble/Installation/DDS-Implementations.html). + +## [Build the code in the workspace](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id9)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#build-the-code-in-the-workspace "Link to this heading") + +If you have already installed ROS 2 another way (either via debs or the binary distribution), make sure that you run the below commands in a fresh environment that does not have those other installations sourced. Also ensure that you do not have `source /opt/ros/${ROS_DISTRO}/setup.bash` in your `.bashrc`. You can make sure that ROS 2 is not sourced with the command `printenv | grep -i ROS`. The output should be empty. + +More info on working with a ROS workspace can be found in [this tutorial](https://ros2docs.robook.org/humble/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html). + +`cd ~/ros2_humble/` +`colcon build --symlink-install` + +Note: if you are having trouble compiling all examples and this is preventing you from completing a successful build, you can use `COLCON_IGNORE` in the same manner as [CATKIN_IGNORE](https://github.com/ros-infrastructure/rep/blob/master/rep-0128.rst) to ignore the subtree or remove the folder from the workspace. Take for instance: you would like to avoid installing the large OpenCV library. Well then simply run `touch COLCON_IGNORE` in the `cam2image` demo directory to leave it out of the build process. + +## [Environment setup](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id10)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#environment-setup "Link to this heading") + +### [Source the setup script](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id11)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#source-the-setup-script "Link to this heading") + +Set up your environment by sourcing the following file. + +# Replace ".bash" with your shell if you're not using bash +# Possible values are: setup.bash, setup.sh, setup.zsh + +`. ~/ros2_humble/install/local_setup.bash` + +## [Try some examples](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id12)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#try-some-examples "Link to this heading") + +In one terminal, source the setup file and then run a C++ `talker`: + +`. ~/ros2_humble/install/local_setup.bash` +`ros2 run demo_nodes_cpp talker` + +In another terminal source the setup file and then run a Python `listener`: + +`. ~/ros2_humble/install/local_setup.bash` +`ros2 run demo_nodes_py listener` + +You should see the `talker` saying that it’s `Publishing` messages and the `listener` saying `I heard` those messages. This verifies both the C++ and Python APIs are working properly. Hooray! \ No newline at end of file diff --git a/ros/ros2/安装配置/安装_zh.md b/ros/ros2/安装配置/安装_zh.md new file mode 100644 index 0000000..1693259 --- /dev/null +++ b/ros/ros2/安装配置/安装_zh.md @@ -0,0 +1,161 @@ +## [系统要求](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id1)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#system-requirements "Link to this heading") + +当前 Humble Hawksbill 基于 Debian 的目标平台包括: + +- 第一级:Ubuntu Linux - Jammy (22.04) 64位 + +- 第三级:Ubuntu Linux - Focal (20.04) 64位 + +- 第三级:Debian Linux - Bullseye (11) 64位 + + +其他支持程度不同的 Linux 平台包括: + +- Arch Linux,请参阅[替代安装说明](https://wiki.archlinux.org/index.php/ROS#ROS_2) + +- Fedora Linux,请参阅[替代安装说明](https://ros2docs.robook.org/humble/Installation/Alternatives/Fedora-Development-Setup.html) + +- OpenEmbedded / webOS OSE,请参阅[替代安装说明](https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions) + + +如 [REP 2000](https://www.ros.org/reps/rep-2000.html) 中所定义。 + +## [系统设置](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id2)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#system-setup "Link to this heading") + +### [设置区域](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id3)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#set-locale "Link to this heading") + +请确保您有一个支持 `UTF-8` 的区域设置。如果您处于最简环境中(例如 docker 容器),区域设置可能是一些类似 `POSIX` 的选项。我们使用以下设置通过了测试。但是,如果您使用不同的支持 `UTF-8` 的区域设置,也应该没问题。 + +```bash +locale # 检查 UTF-8 支持 +sudo apt update && sudo apt install locales +sudo locale-gen en_US en_US.UTF-8 +sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 +export LANG=en_US.UTF-8 +locale # 验证设置 +``` + +### [添加 ROS 2 apt 仓库](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id4)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#add-the-ros-2-apt-repository "Link to this heading") + +你需要将 ROS 2 apt 仓库添加到你的系统中。 + +首先确保 [Ubuntu Universe 仓库](https://help.ubuntu.com/community/Repositories/Ubuntu) 已启用。 + +```bash +sudo apt install software-properties-common +sudo add-apt-repository universe +``` + +然后使用 apt 添加 ROS 2 GPG 密钥。 + +```bash +sudo apt update && sudo apt install curl -y +sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg +``` + +然后将仓库添加到你的源列表中。 + +```bash +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null +``` + +### [安装开发工具和 ROS 工具](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id5)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#install-development-tools-and-ros-tools "Link to this heading") + +安装常用软件包。 + +```bash +sudo apt update && sudo apt install -y \ + python3-flake8-docstrings \ + python3-pip \ + python3-pytest-cov \ + ros-dev-tools +``` + +根据您的 Ubuntu 版本安装软件包。 + +Ubuntu 22.04 LTS 及更高版本 Ubuntu 20.04 LTS + +```bash +sudo apt install -y \ + python3-flake8-blind-except \ + python3-flake8-builtins \ + python3-flake8-class-newline \ + python3-flake8-comprehensions \ + python3-flake8-deprecated \ + python3-flake8-import-order \ + python3-flake8-quotes \ + python3-pytest-repeat \ + python3-pytest-rerunfailures +``` + +## [获取 ROS 2 代码](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id6)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#get-ros-2-code "Link to this heading") + +创建工作区并克隆所有仓库: + +```bash +mkdir -p ~/ros2_humble/src +cd ~/ros2_humble +vcs import --input https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos src +``` + +## [使用 rosdep 安装依赖](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id7)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#install-dependencies-using-rosdep "Link to this heading") + +ROS 2 包是在经常更新的 Ubuntu 系统上构建的。在安装新包之前,建议您确保系统是最新的。 + +%% `sudo apt upgrade` %% + +```bash +sudo rosdep init +rosdep update +rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers" +``` + +**注意**:如果您使用的是基于 Ubuntu 的发行版(如 Linux Mint)但系统未标识为 Ubuntu,您可能会收到类似 `Unsupported OS [mint]` 的错误消息。在这种情况下,请在上述命令后追加 `--os=ubuntu:jammy`。 + +## [安装额外的 DDS 实现(可选)](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id8)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#install-additional-dds-implementations-optional "Link to this heading") + +如果您想使用默认之外的 DDS 或 RTPS 供应商,可以在此处找到说明[这里](https://ros2docs.robook.org/humble/Installation/DDS-Implementations.html)。 + +## [在工作区中构建代码](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id9)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#build-the-code-in-the-workspace "Link to this heading") + +如果您已经通过其他方式(deb 包或二进制发行版)安装了 ROS 2,请确保在未激活其他安装的新环境中运行以下命令。同时确保您的 `.bashrc` 中没有 `source /opt/ros/${ROS_DISTRO}/setup.bash`。您可以使用命令 `printenv | grep -i ROS` 来确保 ROS 2 未被激活。输出应为空。 + +有关使用 ROS 工作区的更多信息,请参阅[本教程](https://ros2docs.robook.org/humble/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html)。 + +```bash +cd ~/ros2_humble/ +colcon build --symlink-install +``` + +**注意**:如果编译所有示例时遇到问题,导致无法成功构建,您可以像使用 [CATKIN_IGNORE](https://github.com/ros-infrastructure/rep/blob/master/rep-0128.rst) 一样使用 `COLCON_IGNORE` 来忽略子树或从工作区中移除文件夹。例如:如果您想避免安装庞大的 OpenCV 库,只需在 `cam2image` 演示目录中运行 `touch COLCON_IGNORE` 即可将其排除在构建过程之外。 + +## [环境设置](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id10)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#environment-setup "Link to this heading") + +### [源化安装脚本](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id11)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#source-the-setup-script "Link to this heading") + +通过源化以下文件来设置您的环境。 + +# 如果不使用 bash,请将 ".bash" 替换为您的 shell +# 可能的取值为:setup.bash, setup.sh, setup.zsh + +```bash +. ~/ros2_humble/install/local_setup.bash +``` + +## [尝试一些示例](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#id12)[](https://ros2docs.robook.org/humble/Installation/Alternatives/Ubuntu-Development-Setup.html#try-some-examples "Link to this heading") + +在一个终端中,源化安装脚本然后运行 C++ `talker`: + +```bash +. ~/ros2_humble/install/local_setup.bash +ros2 run demo_nodes_cpp talker +``` + +在另一个终端中源化安装脚本然后运行 Python `listener`: + +```bash +. ~/ros2_humble/install/local_setup.bash +ros2 run demo_nodes_py listener +``` + +您应该能看到 `talker` 显示它正在 `Publishing` 消息,而 `listener` 显示 `I heard` 这些消息。这表明 C++ 和 Python API 都能正常工作。太好了! \ No newline at end of file diff --git a/ros/ros2/安装配置/环境配置.md b/ros/ros2/安装配置/环境配置.md new file mode 100644 index 0000000..e217f1e --- /dev/null +++ b/ros/ros2/安装配置/环境配置.md @@ -0,0 +1,8 @@ +``` bash +source install/local_setup.bash +# export ROS_DOMAIN_ID= +# echo "export ROS_DOMAIN_ID=" >> ~/.bashrc +# export ROS_LOCALHOST_ONLY=1 +# echo "export ROS_LOCALHOST_ONLY=1" >> ~/.bashrc +``` + diff --git a/ros/ros2/概念/基础概念.md b/ros/ros2/概念/基础概念.md new file mode 100644 index 0000000..f55ba1c --- /dev/null +++ b/ros/ros2/概念/基础概念.md @@ -0,0 +1,165 @@ +# ROS 2 基础概念 + +ROS 2 (Robot Operating System 2) 是一个用于构建机器人应用程序的开源框架。它提供了一套工具、库和约定,帮助开发者创建可维护、可扩展且可重用的机器人软件。 + +## 1. Node (节点) + +**节点** 是 ROS 2 中最小的可执行单元,代表一个单一功能模块。每个节点执行特定任务(如控制传感器、处理图像、规划路径等),并通过标准接口与其他节点通信。 + +- **特点**: + - 轻量级,单一职责 + - 使用命名空间避免命名冲突 + - 支持多种客户端库(C++、Python、Java等) + +- **核心概念**: + - 节点名称:唯一标识符,如 `/camera_driver` + - 命名空间:用于组织节点,如 `/robot1/camera_driver` + +## 2. Discovery (发现机制) + +**发现机制** 是 ROS 2 中节点自动发现其他节点和服务的过程。它允许节点在网络中找到彼此并建立通信,无需硬编码地址。 + +- **工作原理**: + - 使用 DDS (Data Distribution Service) 作为底层通信中间件 + - 通过参与者(Participant)、主题(Topic)和服务(Service)的发现实现 + - 自动管理连接的建立和断开 + +- **关键组件**: + - ROS 2 守护进程 `ros2 daemon`(后台运行,管理发现) + - DDS 域(Domain ID):控制节点可见性(同一域的节点才能通信) + +## 3. Interfaces (接口) + +**接口** 定义了节点之间通信的消息格式。ROS 2 提供了三种主要通信接口类型: + +### 3.1 Topics (话题) - 发布/订阅通信 + +**话题** 是节点之间传递数据的命名通道。一个节点可以**发布**(发送)数据到某个话题,其他节点可以**订阅**(接收)该话题的数据。 + +- **特点**: + - 单向、异步通信 + - 一对多或多对多通信模式 + - 消息类型严格定义(如 `std_msgs/String`、`sensor_msgs/Image`) + +- **使用场景**: + - 持续数据流(如传感器数据、状态信息) + +### 3.2 Services (服务) - 请求/响应通信 + +**服务** 实现节点之间的双向同步通信。一个节点提供**服务**,其他节点发送**请求**并等待**响应**。 + +- **特点**: + - 请求/响应模式 + - 同步通信(客户端等待服务端处理) + - 需要定义请求和响应的消息类型(.srv 文件) + +- **使用场景**: + - 一次性任务(如获取配置、执行动作) + +### 3.3 Actions (动作) - 目标导向通信 + +**动作** 是服务的扩展,支持长时间运行的任务,并提供反馈和取消功能。 + +- **特点**: + - 目标-反馈-结果模式 + - 可取消、可获取进度反馈 + - 异步执行 + - 消息类型定义在 .action 文件中 + +- **使用场景**: + - 长时间运行的任务(如导航、抓取物体) + +## 4. Parameters (参数) + +**参数** 是节点的配置值,可以在运行时动态修改。参数支持多种数据类型(整数、浮点数、字符串、布尔值等)。 + +- **管理方式**: + - 命令行设置 + - 配置文件(YAML) + - 运行时动态修改(通过 `ros2 param` 命令或 API) + +- **常用操作**: + - `ros2 param list`:列出节点参数 + - `ros2 param set`:设置参数值 + - `ros2 param get`:获取参数值 + +## 5. Introspection (内省) + +**内省** 允许开发者在运行时检查和监控 ROS 2 系统的状态。通过内省工具,您可以查看节点、话题、服务和参数的信息。 + +- **常用工具**: + - `ros2 node list`:列出所有节点 + - `ros2 topic list`:列出所有话题 + - `ros2 service list`:列出所有服务 + - `ros2 topic echo`:查看话题消息内容 + - `ros2 node info`:查看节点详细信息 + +## 6. Launch (启动系统) + +**Launch** 允许您同时启动多个节点和配置它们的参数。使用 Python 或 XML 编写的启动文件可以简化系统启动过程。 + +- **特点**: + - 同时启动多个节点 + - 配置节点参数 + - 设置命名空间和重映射 + - 支持条件启动和依赖关系 + +- **常用工具**: + - `ros2 launch`:执行启动文件 + - 启动文件格式:Python(推荐)、XML、YAML + +## 7. Client Libraries (客户端库) + +**客户端库** 是 ROS 2 提供的编程接口,允许开发者使用不同语言编写节点。 + +- **主要客户端库**: + - **rclcpp**:C++ 客户端库(推荐用于高性能应用) + - **rclpy**:Python 客户端库(推荐用于快速原型开发) + - **rcljava**:Java 客户端库 + - **其他**:Swift、Go 等语言的社区支持 + +- **核心特性**: + - 统一的 API 接口 + - 自动内存管理 + - 支持所有 ROS 2 通信模式 + +## 8. 通信中间件 + +ROS 2 使用 **DDS (Data Distribution Service)** 作为默认通信中间件,提供可靠的实时数据交换。DDS 是工业标准的中间件,适用于嵌入式系统和高性能计算。 + +- **DDS 特性**: + - 高可靠性 + - 低延迟 + - 实时支持 + - 可扩展性 + - 服务质量(QoS)配置 + +## 9. 服务质量(QoS) + +**QoS (Quality of Service)** 配置允许您控制通信的可靠性、持久性和其他特性。QoS 设置对于确保系统在不同环境下的性能至关重要。 + +- **主要 QoS 策略**: + - Reliability:可靠传输(保证交付)或最佳 effort(不保证交付) + - Durability:数据是否持久化(对晚加入的节点可见) + - History:保留消息历史的深度 + - Deadline/Lifespan:消息的截止时间和寿命 + +## 10. 系统架构概览 + +ROS 2 系统由以下层次组成: + +1. **应用层**:节点、话题、服务、动作 +2. **中间件层**:DDS 通信系统 +3. **工具层**:命令行工具、可视化工具、调试工具 +4. **硬件抽象层**:传感器、执行器、硬件接口 + +## 11. 与 ROS 1 的主要区别 + +- **通信中间件**:ROS 1 使用 TCPROS/UDPROS,ROS 2 使用 DDS +- **节点发现**:ROS 1 依赖 roscore,ROS 2 去中心化 +- **接口类型**:ROS 2 添加了 Actions +- **参数系统**:ROS 2 支持动态参数配置 +- **编译系统**:ROS 1 使用 catkin,ROS 2 使用 colcon +- **支持的语言**:ROS 2 对 Python 3 的支持更好,添加了更多语言选项 + +这些基础概念是理解和使用 ROS 2 的核心。通过掌握这些概念,您可以开始构建复杂的机器人系统,并利用 ROS 2 的强大功能。 \ No newline at end of file diff --git a/ros/履带底盘机械臂.md b/ros/履带底盘机械臂.md new file mode 100644 index 0000000..5c23b9b --- /dev/null +++ b/ros/履带底盘机械臂.md @@ -0,0 +1 @@ +[差速驱动移动基座和机械臂的规划 — MoveIt documentation documentation](https://www.ncnynl.com/ros2docs/cn/moveit2/doc/examples/mobile_base_arm/mobile_base_arm_tutorial.html) \ No newline at end of file diff --git a/大模型/DeepSeek V4 系列.md b/大模型/DeepSeek V4 系列.md new file mode 100644 index 0000000..67f2082 --- /dev/null +++ b/大模型/DeepSeek V4 系列.md @@ -0,0 +1,125 @@ +# DeepSeek V4 系列 + +> 发布日期:2026年4月24日 | 开源协议:MIT + +## 概述 + +DeepSeek V4 是深度求索(DeepSeek)在 2026 年 4 月发布的新一代大语言模型系列,包含两个版本: + +| | V4 Pro(旗舰版) | V4 Flash(轻量版) | +|---|---|---| +| **总参数量** | 1.6T(1.6万亿) | 284B(2840亿) | +| **激活参数** | ~36B/token | 13B/token | +| **上下文窗口** | 1M tokens | 1M tokens | +| **架构** | MoE(混合专家) | MoE(混合专家) | +| **定位** | 旗舰性能,对标 GPT-5 | 低成本、低延迟,接近 Pro 推理能力 | + +--- + +## 核心技术架构 + +### 1. 混合专家架构(Mixture-of-Experts, MoE) + +- V4 Pro:384 个专家/层,每次推理激活 6 个 +- V4 Flash:精简专家数量,每次推理激活 13B 参数 +- 优势:总参数大但计算量可控,推理效率高 + +### 2. 混合注意力机制(Hybrid Attention) + +- **DSA2 稀疏注意力**:降低长上下文的计算开销 +- **CSA(压缩稀疏注意力)+ HCA(重度压缩注意力)**(Flash): + - KV 缓存内存开销降低高达 90% + - 在 1M 上下文下,单 token 推理 FLOPs 仅为 V3.2 的 27% + - KV 缓存仅为 V3.2 的 10% + +### 3. 其他关键技术 + +- **流形约束超连接(mHC)**:增强残差连接,改善跨层信号传播 +- **Muon 优化器**:加速收敛,提升训练稳定性 +- **多 Token 预测(MTP)**:一次预测多个 token,加速生成 +- **DSpark 推测解码**(Flash):集成草稿模块加速推理 + +--- + +## 三种推理模式 + +| 模式 | 说明 | 适用场景 | +|---|---|---| +| **Non-think(低)** | 快速、直观的响应 | 简单对话、翻译、摘要 | +| **Think High(高)** | 显式思维链推理 | 逻辑推理、规划任务 | +| **Think Max(最大)** | 最大推理深度 | 复杂数学、竞赛编程 | + +--- + +## 关键基准测试 + +### V4 Pro 亮点 + +| 基准测试 | 得分 | 对比 | +|---|---|---| +| Codeforces Rating | 3206 | 超越 Gemini 3.1-Pro | +| LiveCodeBench | 93.5 | 与 GPT-5.4 竞争 | +| MMLU-Pro | — | 接近 GPT-5 水平 | + +### V4 Flash 亮点 + +| 基准测试 | 得分 | +|---|---| +| MMLU-Pro (EM) | 87.5 | +| GPQA Diamond | 90.1 | +| LiveCodeBench | 93.5 | +| SWE Verified (Resolved) | 80.6 | +| Terminal Bench 2.1 | 82.7 | +| BrowseComp | 83.4 | + +--- + +## 定价对比 + +### V4 Pro(通过 DeepInfra) + +| Token 类型 | 每百万 Token 价格 | +|---|---| +| 输入 | $1.74 | +| 输出 | $3.48 | +| 缓存输入 | $0.145 | + +### V4 Flash + +| Token 类型 | 每百万 Token 价格 | +|---|---| +| 输入 | ~$0.14 | +| 输出 | ~$0.28 | + +> V4 Pro 输出成本比 Claude Opus 4.7($25/1M)便宜约 7 倍 + +--- + +## 独立评测(NIST/CAISI,2026年5月) + +- V4 Pro 性能约为 **GPT-5 水平**(2025年8月发布) +- 距美国最前沿模型约 **8 个月**差距 +- CAISI 测试过的**最强中国 AI 模型** +- 在某些非公开基准(ARC-AGI-2、CTF-Archive-Diamond)上明显落后于 GPT-5.5 和 Opus 4.6 + +--- + +## 战略意义 + +1. **芯片自主**:与华为昇腾(Ascend)、寒武纪合作优化,不依赖 NVIDIA/AMD +2. **开源生态**:MIT 协议开源,模型权重在 Hugging Face 上公开 +3. **与 GPT-5.5 同日发布**:中美 AI 竞争白热化的标志性事件 +4. **自我定位坦诚**:官方公开承认距前沿 3-6 个月差距 + +--- + +## 相关链接 + +- [[Transformer 架构详解]] +- [[MoE 混合专家架构]] +- [[多模态大模型]] +- [[大模型架构基础]] + +--- + +*最后更新:2026-08-05* diff --git a/大模型/FFN 前馈网络详解.md b/大模型/FFN 前馈网络详解.md new file mode 100644 index 0000000..e19e4cb --- /dev/null +++ b/大模型/FFN 前馈网络详解.md @@ -0,0 +1,410 @@ +# FFN 前馈网络详解 + +> Feed-Forward Network — Transformer 中参数量最大(~2/3)、负责知识存储和特征变换的核心组件 + +--- + +## 一、FFN 在 Transformer 中的角色 + +``` +Transformer Block: + + 注意力层(信息混合) FFN 层(特征变换) + ┌─────────────────┐ ┌─────────────────────┐ + │ Token 之间交互 │ │ 每个 Token 独立处理 │ + │ "谁跟谁有关?" │ → │ "这个 Token 是什么意思?"│ + │ 参数量 ~1/3 │ │ 参数量 ~2/3 │ + └─────────────────┘ └─────────────────────┘ +``` + +| 组件 | 参数量占比 | 功能 | +|---|---|---| +| **注意力层** | ~1/3 | Token 间的信息路由与混合("连接信息") | +| **FFN 层** | ~2/3 | Token 内部的特征变换与知识存储("存储知识") | + +> **直觉**:注意力层决定"从哪读信息",FFN 层存储"读到的信息怎么理解"。研究表明 FFN 的权重矩阵充当了**联想记忆(Associative Memory)**——W₁ 的每一行是一个"模式检测器",W₂ 的对应列是"该模式的输出"。 + +--- + +## 二、基础公式 + +### 标准 FFN(原始 Transformer) + +``` +FFN(x) = W₂ · ReLU(W₁ · x + b₁) + b₂ +``` + +``` +输入 x(d_model 维度) + │ + ▼ +W₁: d_model → d_ff ← 升维(通常 d_ff = 4 × d_model) + │ + ▼ +激活函数(ReLU/GELU/...) ← 引入非线性 + │ + ▼ +W₂: d_ff → d_model ← 降维回原维度 + │ + ▼ +输出(d_model 维度) +``` + +### 参数量计算 + +``` +标准 FFN(无偏置): + params = d_model × d_ff + d_ff × d_model + = 2 × d_model × d_ff + = 2 × d_model × 4d_model (通常 d_ff = 4d) + = 8 × d_model² +``` + +| d_model | d_ff (4×) | FFN 参数量 | 一层总参数(含注意力) | +|---|---|---|---| +| 512 | 2048 | 2.1M | ~3M | +| 4096 (LLaMA 7B) | 11008 (约2.7×) | ~90M | ~135M | +| 8192 (LLaMA 70B) | 22016 | ~360M | ~540M | + +> 在 LLaMA 等 SwiGLU 模型中,`d_ff` 通常设为约 `8/3 × d_model`(而非 4×),以补偿 GLU 变体引入的额外参数。 + +--- + +## 三、激活函数演进路线 + +``` +2017 ─→ 2019 ────→ 2020 ──────→ 2025 +ReLU GELU SwiGLU PolyGLU / 动态路由 + │ │ │ │ + │ │ │ └─ 每个神经元学自己的激活函数 + │ │ └─ 门控线性单元,当前生产标准 + │ └─ 平滑版 ReLU,不再死神经元 + └─ 简单粗暴,负值直接清零 +``` + +### 3.1 ReLU(原始 Transformer) + +$$\text{ReLU}(x) = \max(0, x)$$ + +``` + │ + 2 ┤ ╱ + 1 ┤ ╱ + 0 ┼════●──────── ← 负半轴完全为零 + │ ╱ + -1 ┤ ╱ + └──────────── +``` + +| 优点 | 缺点 | +|---|---| +| 计算极快,硬件原生支持 | **死神经元**:一旦输出为零,梯度为零,永不恢复 | +| 稀疏激活(约 50%) | 负值信息完全丢失 | + +> **死神经元问题**:如果某个神经元的输出始终 ≤ 0(因为权重初始化或学习偏差),ReLU 的梯度永远为 0,这个神经元就"死了"——再也不会更新。 + +### 3.2 GELU(GPT-2 / BERT 时代) + +$$\text{GELU}(x) = x \cdot \Phi(x) = x \cdot \frac{1}{2}\left[1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right]$$ + +``` + │ + 2 ┤ ╱ + 1 ┤ ╱╱ + 0 ┼────●───────── ← 负半轴有小的非零输出 + -1 ┤╱╱ + └──────────── +``` + +| 优点 | 缺点 | +|---|---| +| 平滑可微,梯度流更好 | 计算比 ReLU 慢(erf 函数) | +| 负值有概率性"门控"而非直接清零 | 所有输入用同一个函数处理 | +| 缓解死神经元问题 | | + +> **GELU 的直觉**:把输入值 `x` 乘以它"来自正半轴的概率"——如果 x 很可能是负的,输出很小但不为零。 + +### 3.3 SiLU / Swish + +$$\text{SiLU}(x) = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}}$$ + +``` + │ + 2 ┤ ╱ + 1 ┤ ╱╱ + 0 ┼─────●───────── ← 负半轴有"负沟"(non-monotonic) + -0.3┤ ╱ ╲ ← 这个沟是 SiLU 的独特特征 + └──────────── +``` + +| 关键特性 | 说明 | +|---|---| +| **自门控** | 每个值决定自己通过多少:`x · σ(x)` | +| **非单调** | 负半轴先下降再回升,能捕获复杂模式 | +| **无界正值** | 正半轴可以无限大(不像 sigmoid 有上限) | +| **平滑** | 处处可微,梯度流极好 | + +> SiLU 和 Swish 是**同一个函数**的两个名字。Google 叫它 Swish,PyTorch 叫它 SiLU。 + +--- + +## 四、GLU 门控线性单元:范式转变 + +### 4.1 从"单路激活"到"双路门控" + +``` +标准 FFN: GLU FFN: + + x x + │ ┌────┴────┐ + W₁ W_gate W_up + │ │ │ + Act σ │ + │ │ │ + W₂ └────┬────┘ + │ ⊗ (逐元素相乘) + 输出 │ + W_down + │ + 输出 +``` + +### 4.2 为什么乘法比加法强? + +> 门控 = 逐元素乘法 = 引入**二阶交互项** + +``` +GLU(x) 包含 xᵢ · xⱼ 项(不同维度之间产生交互) +FFN(x) 只有 σ(Wx) 项(每个维度独立处理) + +类比: + FFN = 每个特征独立打分 + GLU = 特征之间可以"对话"——"我是形容词,如果前面是名词就激活我" +``` + +### 4.3 SwiGLU(2020→至今的生产标准) + +$$\text{SwiGLU}(x) = \text{SiLU}(x W_{\text{gate}}) \otimes (x W_{\text{up}}) \cdot W_{\text{down}}$$ + +```python +# SwiGLU 的实际代码(也是 LLaMA、DeepSeek、Mistral 等主流模型的实现) + +class SwiGLU(nn.Module): + def __init__(self, dim, hidden_dim): + super().__init__() + # 三个权重矩阵(不是标准的两个) + self.gate_proj = nn.Linear(dim, hidden_dim, bias=False) # 门控通路 + self.up_proj = nn.Linear(dim, hidden_dim, bias=False) # 值通路 + self.down_proj = nn.Linear(hidden_dim, dim, bias=False) # 降维 + + def forward(self, x): + # gate: 门控信号(SiLU 激活) + # up: 值信号(无激活,直接通过) + return self.down_proj(F.silu(self.gate_proj(x)) * self.up_proj(x)) +``` + +### 4.4 参数量补偿:为什么 d_ff 变小了 + +| 方案 | 矩阵数 | 参数量 | d_ff(等参) | +|---|---|---|---| +| 标准 FFN | W₁, W₂ (2个) | 2 × d × d_ff | 4d | +| SwiGLU | W_gate, W_up, W_down (3个) | 3 × d × d_ff | **8d/3 ≈ 2.67d** | + +``` +等参数量下: + 标准 FFN:d_ff = 4d → 2 × d × 4d = 8d² + SwiGLU:d_ff = 8d/3 → 3 × d × 8d/3 = 8d² + ↑ + 参数总量相同,但 SwiGLU 表达能力更强 +``` + +> 实际中,即使参数相当,SwiGLU 的困惑度(Perplexity)也比 GELU 低约 **8.3%**(文本任务)——这是"免费的性能提升"。 + +--- + +## 五、GLU 变体对比 + +| 变体 | 门控激活函数 | 公式 | 特点 | +|---|---|---|---| +| **GLU(原始)** | Sigmoid | `σ(xW_g) ⊗ (xW_u)` | 门控有上限(0,1),表达受限 | +| **ReGLU** | ReLU | `ReLU(xW_g) ⊗ (xW_u)` | 最快,但仍可能死神经元 | +| **GeGLU** | GELU | `GELU(xW_g) ⊗ (xW_u)` | 视觉/多模态任务稍好 | +| **SwiGLU** | SiLU/Swish | `SiLU(xW_g) ⊗ (xW_u)` | **文本生成 SOTA,生产标准** | + +### 选择指南 + +| 场景 | 推荐 | 原因 | +|---|---|---| +| LLM 文本生成 | **SwiGLU** | 困惑度最低,LLaMA/DeepSeek/Mistral 全部使用 | +| 视觉编码器 | GeGLU 或 GELU | 分类任务上略优(~2% Top-1 提升) | +| 延迟敏感 | ReGLU | Relu 计算成本最低,硬件原生支持 | +| 混合模态 | 编码器 GELU + 解码器 SwiGLU | 各取所长,推理可提速 ~15% | + +--- + +## 六、FFN = 知识的"键值记忆" + +> 这个视角将 FFN 从"无聊的全连接层"升级为"模型的知识存储系统" + +### 联想记忆假说 + +``` +FFN(x) = W₂ · Act(W₁ · x) + +W₁ 的每一行 = 一个"键"(Key),检测特定模式 +W₂ 的对应列 = 一个"值"(Value),存储该模式对应的输出 + +过程: + 1. W₁·x → 将输入与所有"键"匹配(内积 = 相似度) + 2. Act → 过滤:只保留匹配度高的模式 + 3. W₂· ... → 激活的模式"写出"对应的值 +``` + +### 实验证据 + +| 发现 | 说明 | +|---|---| +| **知识定位** | FFN 的特定神经元可以对应具体的事实(如"埃菲尔铁塔在巴黎") | +| **可编辑性** | 修改 FFN 权重可以精确修改模型存储的事实(模型编辑) | +| **稀疏激活** | 对每个 Token,FFN 中只有少数神经元真正激活(和 MoE 思路一致) | +| **层间分工** | 浅层 FFN → 语法/局部模式、深层 FFN → 语义/全局知识 | + +--- + +## 七、2025 前沿:激活函数本身也"可学习" + +### 7.1 PolyGLU(2025年3月) + +> **不再固定用一种激活函数,而是让每个神经元学习自己最适合的激活函数** + +``` +PolyGLU(x) = [ Σ g_k · σ_k(x·W_gate) ] ⊗ (x·W_up) + +其中 σ_k 从候选池中选择: + { ReLU, Tanh, SiLU, GELU } + +g_k = 路由权重(每个神经元不同),训练中自动收敛 +``` + +**训练后的层间分布(19K步训练)**: + +``` +层 0-2(浅层): GELU 35-40% | Tanh 15-25% | SiLU 15-20% | ReLU ~5% +层 3-14(中层): GELU 为主,逐步过渡 +层 15-27(深层): Tanh 50-65% ← 深层网络偏好对称有界激活! +``` + +> 关键发现:深层网络的神经元**自发偏好 Tanh**(对称、有界),浅层偏好 GELU(概率性门控)。这暗示不同深度的层确实需要不同"类型"的非线性变换。 + +### 7.2 动态激活选择(LLaMA 4) + +LLaMA 4 实验在 SwiGLU 和 GELU 之间做**输入级动态切换**: +- 用轻量门控网络根据输入内容选择激活函数 +- 复杂推理任务 → 倾向于 SwiGLU(更强的特征交互) +- 简单模式匹配 → 倾向于 GELU(更快的计算) + +--- + +## 八、DeepSeek 风格的实际实现 + +### 标准 SwiGLU(如 LLaMA) + +```python +class LlamaMLP(nn.Module): + def __init__(self, config): + super().__init__() + self.gate_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False) + self.up_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False) + self.down_proj = nn.Linear(config.intermediate_size, config.hidden_size, bias=False) + + def forward(self, x): + return self.down_proj(F.silu(self.gate_proj(x)) * self.up_proj(x)) +``` + +### DeepSeek-V3 的 MoE + SwiGLU + +```python +# 每个专家就是一个 SwiGLU FFN +class DeepSeekExpert(nn.Module): + def __init__(self, dim, moe_intermediate_size): + super().__init__() + self.gate_proj = nn.Linear(dim, moe_intermediate_size, bias=False) + self.up_proj = nn.Linear(dim, moe_intermediate_size, bias=False) + self.down_proj = nn.Linear(moe_intermediate_size, dim, bias=False) + + def forward(self, x): + return self.down_proj(F.silu(self.gate_proj(x)) * self.up_proj(x)) + +# MoE 层:N 个专家 + 路由器 +class DeepSeekMoE(nn.Module): + def __init__(self, dim, n_routed_experts=256, n_shared_experts=2, top_k=8): + super().__init__() + self.shared_experts = nn.ModuleList([ + DeepSeekExpert(dim, dim * 2) for _ in range(n_shared_experts) + ]) + self.routed_experts = nn.ModuleList([ + DeepSeekExpert(dim, dim * 2) for _ in range(n_routed_experts) + ]) + self.gate = nn.Linear(dim, n_routed_experts, bias=False) + + def forward(self, x): + # 共享专家(始终激活) + shared_out = sum(e(x) for e in self.shared_experts) + # 路由专家(稀疏激活 Top-K) + router_logits = self.gate(x) + topk_weights, topk_ids = torch.topk(router_logits.softmax(-1), self.top_k) + routed_out = 0 + for i, expert_id in enumerate(topk_ids): + routed_out += topk_weights[i] * self.routed_experts[expert_id](x) + return shared_out + routed_out +``` + +> DeepSeek-V3 有 256 个路由专家 + 2 个共享专家,每个专家内部都是 SwiGLU FFN。详见 [[MoE 混合专家架构]]。 + +--- + +## 九、进化总览 + +``` + 标准 FFN GLU 系列 + ──────── ──────── +非线性来源: 激活函数 门控乘法 +通路数: 单路 双路(值 + 门控) +交互阶数: 一阶 二阶(xᵢ·xⱼ) +参数效率: 基准 显著更优 +参数量: 2 × d × d_ff 3 × d × d_ff +生产标准: 已过时 SwiGLU(2025年) + + 未来方向 + ──────── +激活函数选择: 可学习、每个神经元不同 +实现: PolyGLU、动态路由 +目标: 让模型自主发现最优非线性 +``` + +--- + +## 十、一句话总结 + +``` +FFN 不是"无聊的全连接层"—— +它是 Transformer 中参数最密集、负责存储世界知识的核心组件。 + +ReLU → GELU → SiLU → SwiGLU → PolyGLU 的进化线, +本质上是"从固定非线性到可学习、动态、输入感知的门控机制"的演进。 + +你正在用的 LLaMA、DeepSeek、Mistral、Qwen 的每一层中, +SwiGLU 正在用乘法门控默默地做着模型 2/3 的"思考"。 +``` + +--- + +## 相关链接 + +- [[Transformer 架构详解]] — FFN 在完整架构中的位置 +- [[大模型架构基础]] — 各组件全景概览 +- [[MoE 混合专家架构]] — FFN 的稀疏化扩展:用 N 个 SwiGLU 替代 1 个 + +--- + +*最后更新:2026-08-05* diff --git a/大模型/MoE 混合专家架构.md b/大模型/MoE 混合专家架构.md new file mode 100644 index 0000000..b547edd --- /dev/null +++ b/大模型/MoE 混合专家架构.md @@ -0,0 +1,289 @@ +# MoE 混合专家架构 + +> Mixture of Experts — 用稀疏激活实现"参数量 vs 计算量"的解耦,是 DeepSeek V4、GPT-4、Mixtral 等旗舰模型的核心架构 + +--- + +## 一、为什么要 MoE? + +### 密集模型的困境 + +传统 Transformer 中,每个 Token 流经**所有** FFN [^FFN] 参数: + +``` +Token → FFN(全部参数参与计算)→ 输出 +``` + +参数量越大 → 每次推理计算量越大 → 训练和推理成本线性增长。 + +### MoE 的核心思想 + +> **"参数多,但每次只用一小部分"** + +``` +Token → 路由器 → 选择最相关的几个专家 → 只激活它们 → 输出 + ↑ + 其他专家保持休眠 +``` + +| | 密集模型 | MoE 模型 | +|---|---|---| +| **总参数量** | 100B | 可以到 1.6T(16倍) | +| **每次推理计算量** | 100B | 仅约 36B | +| **训练效率** | 基准 | 更高(同算力下能训练更大模型) | +| **推理延迟** | 基准 | 需要加载更多权重到显存 | + +--- + +## 二、MoE 层的工作原理 + +### 数学公式 + +$$ +\text{MoE}(x) = \sum_{i \in \text{TopK}(G(x), k)} G(x)_i \cdot E_i(x) +$$ + +其中: + +| 符号 | 含义 | +|---|---| +| `G(x)` | 路由器/门控网络,输出每个专家的"置信度分数" | +| `TopK(G, k)` | 选择分数最高的 k 个专家(通常 k=2~8) | +| `E_i(x)` | 第 i 个专家(一个 FFN [^FFN] 子网络) | +| `G(x)_i` | Softmax 归一化后的专家权重 | + +### 一句话总结 + +> 输入 Token → 路由器打分 → 选 Top-K 专家 → 加权合成输出 + +### 结构图解 + +``` +输入 Token x + │ + ▼ +┌───────────┐ +│ 路由器 G │ ← 一个小型线性层,输出 N 个分数 +│ (Gate) │ (N = 专家总数) +└─────┬─────┘ + │ Softmax 归一化 + │ 选出分数最高的 k 个 + ▼ +┌─────────────────────────────────────┐ +│ N 个专家(Expert) │ +│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐│ +│ │ E₁ │ │ E₂ │ │ E₃ │... │ Eɴ ││ +│ │💤 │ │🔥 │ │💤 │ │🔥 ││ +│ └─────┘ └──┬──┘ └─────┘ └──┬──┘│ +│ │ │ │ +│ 只激活 k=2 个专家! │ │ +└─────────────┼─────────────────┼─────┘ + │ │ + └─── 加权求和 ────┘ + │ + ▼ + 输出 MoE(x) +``` + +--- + +## 三、MoE 层 vs 标准 FFN 层 + +``` +标准 Transformer 块: 使用 MoE 的 Transformer 块: + +注意力层 [^Attn] 注意力层 [^Attn] + ↓ ↓ +FFN(全部参数) 路由器 → 选择专家 + ↓ ↓ +注意力层 [^Attn] 被选中的专家(稀疏激活) + ↓ ↓ +FFN(全部参数) 注意力层 [^Attn] + ↓ + 路由器 → 选择专家 + ↓ + 被选中的专家(稀疏激活) +``` + +> **只在 FFN 层引入 MoE**,注意力层保持不变(注意力机制本身就负责 Token 间信息交互,无需稀疏化)。 + +--- + +## 四、关键设计维度 + +### 1. 专家粒度 + +| 类型 | 说明 | 示例 | +|---|---|---| +| **粗粒度** | 少量大专家(如 8 个,每个完整 FFN 大小) | 早期 MoE、Mixtral 8×7B | +| **细粒度** | 大量小专家(如 384 个微专家,每个很小) | DeepSeek-V3/V4(64 个微专家/层,激活 6 个) | + +细粒度的优势: +- 路由组合更灵活:从 N 选 k 变为 mN 选 mk,组合数暴增 +- DeepSeek V4 每层约 **3630 万种**可能的专家组合 +- 同等总参数下,每个专家更小,训练/推理更灵活 + +### 2. 共享专家 vs 路由专家 + +| 类型 | 说明 | +|---|---| +| **共享专家** | 始终激活,捕捉通用模式(语法、基础常识) | +| **路由专家** | 按 Token 动态选择,负责特定领域(数学、代码、翻译...) | + +DeepSeekMoE 采用两层设计: +- 2 个共享专家(always on) +- 62 个路由专家(每个 Token 激活 6 个) + +共享专家提升训练稳定性,但可能降低专家专门化程度。 + +### 3. 路由器设计 + +``` +简单线性路由器(当前主流): + +router_logits = W_g · x ← 一个小矩阵,N × d_model +topk_experts = TopK(softmax(router_logits), k) +``` + +实际推理时的路由模式: +- 每个 Token **独立**路由(不考虑上下文) +- 序列中相邻 Token 可能路由到不同专家 + +--- + +## 五、负载均衡 — MoE 的核心挑战 + +### 问题 + +> 如果路由器"偷懒",总是选固定的几个专家 → 其他专家闲置 → 退化为密集模型 + +### 传统方案:辅助损失(Auxiliary Loss) + +$$ +L_{total} = L_{主任务} + \alpha \cdot L_{负载均衡} +$$ + +强制惩罚专家使用不均匀的情况。**问题**:梯度冲突,可能导致训练不稳定。 + +### 2025 前沿:无梯度负载均衡 + +```python +# 动态偏置调整 — 不干扰主损失梯度 +logits_i(t+1) = W_g · x + b_i(t) - γ · (f_i(t)/f̄(t) - 1) +``` + +其中: +- `f_i(t)`:当前被路由到专家 i 的 Token 比例 +- `f̄(t)`:理想平均比例 = 1/N +- 效果:专家使用率的变异系数 < 0.1,无梯度冲突 + +--- + +## 六、2025 年前沿进展 + +### 1. DAG-MoE [^DAG](ICML 2026) + +> 不是简单加权平均专家输出,而是把选中的专家排列成**有向无环图(DAG, Directed Acyclic Graph)**,实现结构化的专家聚合(DAG 聚合) + +``` +传统 MoE: E₁↘ + E₂ → 加权平均 → 输出 + E₃↗ + +DAG-MoE: E₁ → E₃ ↘ + E₂ → E₄ → E₆ → 输出(信息流经多个专家) +``` + +- 允许**单层内多步推理** +- 模型学习最优的专家聚合结构(每个输入不同) +- 同等 FLOPs 下更强的表达能力 + +### 2. MoLE:查找表专家(ICML 2025 Oral) + +> 将训练好的 FFN 专家**重新参数化**为查找表(LUT),专家计算变为查表操作 + +- 推理速度接近密集模型 +- 大幅降低显存占用 +- 使 MoE 在内存受限设备上部署成为可能 + +### 3. MoE + MLA(Multi-head Latent Attention,多头潜在注意力) [^MLA] + +正交瓶颈联合优化: + +| 瓶颈 | 方案 | +|---|---| +| FFN 计算量大 | MoE 稀疏激活 | +| 注意力 KV 缓存大 | MLA 低秩压缩 | + +- ρ = 1/2 时:KV 缓存减少 **68%**,推理加速 **3.2×** +- 困惑度仅下降 0.8% +- DeepSeek V4 使用此组合 + +### 4. MoE-X:可解释 MoE(ICML 2025) + +- 将 MoE 层理解为等效的大型稀疏 MLP +- 强制专家内部也做稀疏激活 +- 可解释性超越 Sparse Autoencoder(SAE)方法 + +--- + +## 七、主流 MoE 模型对比 + +| 模型 | 总参数 | 激活参数 | 专家数 | 激活数 | 特点 | +|---|---|---|---|---|---| +| **Mixtral 8×7B** | 46.7B | 12.9B | 8 | 2 | 经典粗粒度 MoE | +| **DeepSeek-V3** | 671B | 37B | 256 | 8 | 细粒度 + 共享专家 | +| **DeepSeek-V4 Pro** | 1600B | 36B | 384/层 | 6 | 细粒度 + MLA + DSpark | +| **DeepSeek-V4 Flash** | 284B | 13B | 精简 | 精简 | Pro 的轻量版 | +| **GPT-4**(传闻) | 1.8T | ~280B | 16(推测) | 2 | 早批大规模 MoE | + +> 趋势:专家数量越来越多,每个专家越来越小(细粒度),激活参数占比越来越低。 + +--- + +## 八、MoE 的代价 + +| 代价 | 说明 | +|---|---| +| **显存占用** | 所有专家都在 VRAM 里,即使大部分不激活 → 需要更多 GPU | +| **通信开销** | 多 GPU 部署时,Token 需要跨 GPU 路由到专家 | +| **训练不稳定** | 负载均衡损失与主损失可能冲突 | +| **微调困难** | 稀疏激活 → 梯度更稀疏 → 微调更难收敛 | +| **批次大小** | 每个专家实际收到的 Token 少 → 需要较大 batch size | + +--- + +## 九、总结 + +``` +MoE = 用路由器在大量专家中选择少数激活,实现"参数膨胀但计算可控" + +关键取舍: + 优势:同等算力下更大的模型容量、更好的性能/成本比 + 代价:更高显存、更复杂的工程、训练和微调挑战 + +2025 年趋势: + 细粒度 → DAG 聚合 → 可解释 → 查找表推理 → 与 MLA 协同 +``` + +--- + +## 相关链接 + +- [[Transformer 架构详解]] +- [[大模型架构基础]] +- [[DeepSeek V4 系列]] + +--- + +--- + +## 脚注 + +[^FFN]: **FFN(Feed-Forward Network,前馈神经网络)**:Transformer 中每个位置的独立全连接子网络。结构为两层 MLP:`W₂ · Act(W₁ · x + b₁) + b₂`,参数量约占整个 Transformer 块的 2/3,是模型"知识存储"的主要位置。现代模型多使用 SwiGLU 激活的变体。详见 [[FFN 前馈网络详解]]。 + +[^Attn]: **注意力层(Attention Layer)**:Transformer 的核心机制,负责 Token 之间的信息交互。通过 Q(Query)、K(Key)、V(Value)三个投影矩阵,让每个 Token "看到"并加权所有其他 Token,从而捕获上下文依赖关系。多头注意力(Multi-Head Attention)并行运行多组 Q/K/V,每组关注不同的语义模式。 + +[^MLA]: **MLA(Multi-head Latent Attention,多头潜在注意力)**:DeepSeek 提出的注意力压缩技术。核心思路是将 K 和 V 首先投影到一个低维潜在空间(`d_latent << d_model`),再从中展开供注意力计算使用。这大幅减少了 KV 缓存的显存占用——在 ρ = 1/2 时可缩减 68%,且对模型质量影响极小(困惑度仅降 0.8%)。MLA 与 MoE 是正交优化:MoE 省 FFN 计算,MLA 省注意力显存,两者叠加效果倍增。 + +[^DAG]: **DAG 聚合(DAG Aggregation)**:将选中的专家按有向无环图(DAG)的结构进行串联/并联组合,而非传统的简单加权平均。每个输入路由到一组专家后,模型学习这些专家之间最优的信息流动路径——例如 E₁ 的输出作为 E₃ 的输入,E₂ 的输出则直接进入最后阶段。这允许在单层 MoE 内完成**多步推理**,表达能力强于传统加权求和,同等 FLOPs 下能取得更好性能。DAG-MoE 发表于 ICML 2026。 diff --git a/大模型/Transformer 架构详解.md b/大模型/Transformer 架构详解.md new file mode 100644 index 0000000..92dcaf0 --- /dev/null +++ b/大模型/Transformer 架构详解.md @@ -0,0 +1,425 @@ +# Transformer 架构详解 + +> 2017 年,"Attention Is All You Need" 论文用自注意力取代了 RNN/LSTM,开启了现代大语言模型时代。 + +--- + +## 一、Transformer 之前:RNN 的困境 + +``` +RNN 的处理方式(串行): +Token₁ → Token₂ → Token₃ → ... → Tokenₙ + 5ms 5ms 5ms 5ms = 5×n ms(无法并行) + +Transformer 的处理方式(并行): +Token₁ ↘ +Token₂ → 所有 Token 同时互相"看到" → 并行计算 +Token₃ ↗ ≈ 5ms(与 n 无关) +``` + +| 问题 | RNN/LSTM | Transformer | +|---|---|---| +| **并行性** | 串行,无法并行训练 | 完全并行,GPU 友好 | +| **长距离依赖** | 梯度消失/爆炸,远距离信息丢失 | 每个 Token 直接关注任意位置的 Token | +| **训练速度** | 慢(序列越长越慢) | 快得多 | +| **可解释性** | 难以解释隐藏状态 | 可直接可视化注意力权重 | + +--- + +## 二、整体架构:编码器-解码器 + +原始 Transformer 用于机器翻译,包含编码器和解码器两部分。 + +``` + ┌─────────────────────────────────┐ + │ 编码器(Encoder) │ + │ ┌───────────────────────────┐ │ +"我 爱 北京" → │ │ Encoder Block × 6 │ │ + │ │ Self-Attn + FFN │ │ + │ └───────────────────────────┘ │ + └──────────────┬──────────────────┘ + │ 编码后的表示(K, V) + ▼ + ┌─────────────────────────────────┐ + │ 解码器(Decoder) │ + │ ┌───────────────────────────┐ │ + │ │ Decoder Block × 6 │ │ + │ │ ① Masked Self-Attn │ │ → "I love Beijing" + │ │ ② Cross-Attn (用 K,V) │ │ + │ │ ③ FFN │ │ + │ └───────────────────────────┘ │ + └─────────────────────────────────┘ +``` + +### 一个 Block 内部(原始设计) + +``` +输入 x + │ + ├──→ Multi-Head Self-Attention ──→ ⊕ ──→ LayerNorm ──→ + │ ↑ ↑ + │ 残差连接 x 输出 + │ + └──→ Feed-Forward Network ──→ ⊕ ──→ LayerNorm ──→ 输出 + ↑ ↑ + 残差连接 传给下一层 +``` + +### 两种主流归一化位置 + +| 方式 | 归一化位置 | 代表模型 | 特点 | +|---|---|---|---| +| **Post-LN** | 残差之后 | 原始 Transformer | 训练不稳定,需要 warmup | +| **Pre-LN** | 子层之前 | GPT 系列、LLaMA | 训练更稳定,无需大量 warmup | + +``` +Post-LN:x + Attn(LayerNorm(x)) ← 原始论文 +Pre-LN: x + Attn(LayerNorm(x)) 错 — 实际上是: +Pre-LN:LayerNorm(x + Attn(x)) 错 — Pre-LN 是: + +Pre-LN 实际:x + Attn(LayerNorm(x)) — 等等,让我用图表示清楚: + +Post-LN: x → SubLayer → Norm → + → 输出 +Pre-LN: x → Norm → SubLayer → + → 输出 +``` + +> Pre-LN 先将输入归一化再送入子层,然后做残差。GPT/LLaMA 全系使用 Pre-LN(或 RMSNorm + Pre-LN 变体)。 + +--- + +## 三、自注意力机制:完整推演 + +### 3.1 从"查字典"理解 Q/K/V + +| 投影 | 类比 | 数学 | 含义 | +|---|---|---|---| +| **Q(Query)** | 你的搜索关键词 | `X · W_Q` | "我在找什么信息?" | +| **K(Key)** | 所有条目的索引 | `X · W_K` | "每个词身上有什么标签?" | +| **V(Value)** | 条目的实际内容 | `X · W_V` | "每个词的实际信息是什么?" | + +### 3.2 逐步计算示例 + +假设输入句子 "我 爱 NLP",模型维度 d=4,头维度 d_k=2: + +**Step 1 — 输入嵌入** +``` +我: [0.1, 0.3, 0.5, 0.2] +爱: [0.4, 0.1, 0.3, 0.6] +NLP: [0.2, 0.5, 0.1, 0.3] +``` + +**Step 2 — 计算 K 和 Q(只演示一个头的投影)** +``` +K = X · W_K (3×4)×(4×2) = 3×2 矩阵 +K_我 = [0.8, 0.2] +K_爱 = [0.3, 0.9] +K_NLP = [0.5, 0.4] + +Q_爱 = [0.6, 0.3] ("爱"这个位置的 Query) +``` + +**Step 3 — 计算注意力分数(Q_爱 × K^T)** +``` +Q_爱 · K_我 = 0.6×0.8 + 0.3×0.2 = 0.48 + 0.06 = 0.54 +Q_爱 · K_爱 = 0.6×0.3 + 0.3×0.9 = 0.18 + 0.27 = 0.45 +Q_爱 · K_NLP = 0.6×0.5 + 0.3×0.4 = 0.30 + 0.12 = 0.42 + +scores = [0.54, 0.45, 0.42] +``` + +**Step 4 — 缩放 + Softmax** +``` +scaled = scores / √2 = [0.38, 0.32, 0.30] +weights = softmax(scaled) = [0.35, 0.33, 0.32] +``` + +**Step 5 — 加权求和 V** +``` +V_我 = [0.7, 0.1] +V_爱 = [0.2, 0.8] +V_NLP = [0.4, 0.5] + +output_爱 = 0.35×[0.7,0.1] + 0.33×[0.2,0.8] + 0.32×[0.4,0.5] + = [0.245, 0.035] + [0.066, 0.264] + [0.128, 0.160] + = [0.439, 0.459] +``` + +> 位置"爱"的输出融合了"我"(35%)、"NLP"(32%)和自身(33%)的信息——这正是"理解上下文"的本质。 + +### 3.3 矩阵形式(实际实现) + +$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V$$ + +- **QK^T**:N×N 的注意力矩阵,每对 Token 一个分数 +- **÷ √d_k**:缩放因子。d_k 越大点积值越大 → softmax 趋向 one-hot → 梯度消失。除以 √d_k 保持方差 ≈ 1 +- **Softmax**:沿最后维(Key 维度)归一化,每行和为 1 +- **× V**:用注意力权重对 Value 加权求和 + +--- + +## 四、多头注意力:并行多个"视角" + +### 4.1 为什么需要多头? + +``` +单头可能只学到一种注意力模式: + "我" → 关注了 "爱" + "爱" → 关注了 "北京" + 所有头都只关注相邻词 ← 浪费了注意力的表达能力 + +多头允许并行学习多种模式: + 头 1:语法结构(主语→谓语) + 头 2:长距离共指("它"→ 前文的"北京") + 头 3:语义关联("医生"→ "医院"→ "病人") + 头 4:位置模式(局部上下文窗口) +``` + +### 4.2 数学公式 + +$$\text{head}_i = \text{Attention}(Q W_i^Q, K W_i^K, V W_i^V)$$ + +$$\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h) W^O$$ + +每个头有自己独立的投影矩阵 W_Q、W_K、W_V,维度为 d_model × d_k(其中 d_k = d_model / h)。 + +### 4.3 计算量并不是 h 倍! + +| | 单头 (d_model=512) | 8头 (每头 d_k=64) | +|---|---|---| +| Q投影参数 | 512×512 = 262K | 8×512×64 = 262K | +| K投影参数 | 同上 | 同上 | +| V投影参数 | 同上 | 同上 | +| 总参数 | ≈ 786K | ≈ 786K + W_O(512×512) ≈ 1M | + +> 计算量大致相同,只是**把工作分给多个头并行做**,每个头在更小的空间(d_k)中关注不同的模式。 + +### 4.4 生产实践中的头数配置 + +| 模型 | d_model | 头数 | d_k | +|---|---|---|---| +| 原始 Transformer | 512 | 8 | 64 | +| GPT-3 | 12288 | 96 | 128 | +| LLaMA 70B | 8192 | 64 | 128 | +| DeepSeek-V3 | — | — | 使用 MLA 替代标准多头 | + +--- + +## 五、位置编码:告诉模型"顺序" + +注意力机制本身是**置换不变**的——打乱输入顺序,注意力分数矩阵只是行列交换,输出值不变。所以必须显式注入位置信息。 + +### 方案对比 + +| 方案 | 原理 | 优点 | 缺点 | 代表模型 | +|---|---|---|---|---| +| **Sinusoidal(正弦)** | 不同频率的正弦/余弦波叠加 | 可外推、无参 | 固定模式 | 原始 Transformer | +| **Learned** | 可学习的 pos_embed 表 | 灵活 | 不能超出训练长度 | BERT、ViT | +| **RoPE(旋转位置编码)** | 用旋转矩阵编码相对位置 | 天然编码相对位置、可外推 | 长序列扩展需技巧 | LLaMA、Qwen、DeepSeek | +| **ALiBi** | 给注意力分数加线性偏置 | 简单、外推最强 | 表达能力有限 | BLOOM | + +### RoPE 核心思想 + +> **不是往 embedding 里加位置向量,而是把 Q 和 K "旋转"一个角度,角度大小取决于位置。** + +``` +位置 m 的 Q:旋转 m×θ +位置 n 的 K:旋转 n×θ + +Q·K = (rotated_Q_m)·(rotated_K_n) = 关于 (m-n) 的函数 + ↑ + 只依赖相对位置! +``` + +RoPE 扩展: +- **NTK-aware scaling**:调高基频(如 10000→500000),让旋转更慢,支持更长上下文 +- **YaRN**:NTK + 额外微调,将 Llama 从 4K 扩展到 128K + +--- + +## 六、三种架构变体:选哪种? + +### 6.1 编码器-only(如 BERT) + +``` +输入:"我 [MASK] 北京" → 编码器 → 每个位置的上下文表示 → 预测 [MASK] = "爱" + +特点: + - 双向注意力(能看到整个句子) + - 适合:分类、实体识别、语义搜索 + - 不能做生成(没有解码器) +``` + +### 6.2 解码器-only(如 GPT、LLaMA、DeepSeek V4) + +``` +输入:"今天天气" → 因果注意力(只看左边)→ 预测下一个 Token "真" + "今天天气真" → ... → 预测 "好" + +特点: + - 因果掩码(Causal Mask):每个 Token 只能看自己和左边 + - 适合:对话、代码生成、创意写作 + - 自回归生成,输入=输出(训练时位移一位即可) + - 现代 LLM 几乎全部使用此方案 +``` + +**因果掩码示意**: + +``` +注意力分数矩阵(× = 被 mask 为 -∞): + + 我 爱 北京 天安门 +我 ✓ × × × ← "我"只能看到自己 +爱 ✓ ✓ × × ← "爱"能看到"我"和自己 +北京 ✓ ✓ ✓ × ← ... +天安门✓ ✓ ✓ ✓ +``` + +### 6.3 编码器-解码器(如 T5) + +``` +编码器(双向):处理源语言 → 生成 K、V +解码器(因果 + 交叉注意力):用 K、V 辅助生成目标语言 + +交叉注意力(Cross-Attention): + 解码器的 Q ← 来自解码器自身("这句话接下来该说什么?") + 解码器的 K,V ← 来自编码器("原文说了什么?") +``` + +| 架构 | 自注意力方式 | 能否生成 | 代表 | 适合任务 | +|---|---|---|---|---| +| 编码器-only | 双向 | ❌ | BERT | 理解/分类 | +| 解码器-only | 因果(单向) | ✅ | GPT, LLaMA | 生成/对话 | +| 编码器-解码器 | 双向 + 交叉 | ✅ | T5, BART | 翻译/摘要 | + +--- + +## 七、训练与推理 + +### 7.1 训练:Teacher Forcing + +``` +输入: "今天 天气 真" 目标: "天气 真 好" + ↑ + 模型被训练来预测每个位置的下一个 Token + +实际一次性计算: + 输入 [今天, 天气, 真] + → 因果掩码确保"今天"看不到后面 + → 输出 [P(天气), P(真), P(好)] + → Loss = CrossEntropy(预测, 实际目标) +``` + +> 训练时**一次前向**算出所有位置的预测,因为目标已知、且有因果掩码保护。 + +### 7.2 推理:自回归生成 + +``` +训练时可以并行(目标已知),推理必须串行(目标未知): + +Step 1: "今天" → 预测 "天气" +Step 2: "今天天气" → 预测 "真" +Step 3: "今天天气真" → 预测 "好" +Step 4: "今天天气真好" → 预测 + +每次都要重新计算全序列?→ 不,用 KV Cache! +``` + +### 7.3 KV Cache:推理加速的关键 + +``` +未使用 KV Cache: + Step 1:计算 "今天" 的 Q、K、V ──────────── 1个Token + Step 2:计算 "今天天气" 的 Q、K、V ──────── 2个Token ← 重新算了"今天"! + Step 3:计算 "今天天气真" 的 Q、K、V ────── 3个Token ← 又重算了! + ... + +使用 KV Cache: + Step 1:计算 "今天" → 缓存 K₁、V₁ + Step 2:只算 "天气" 的 Q、K、V + 用缓存的 K₁、V₁ → 缓存 K₁K₂、V₁V₂ + Step 3:只算 "真" 的 Q、K、V + 用缓存的 K₁K₂、V₁V₂ → ... + ... + 每个 Step 只算 1 个新 Token!开销从 O(n²) 降到 O(n)(单步)。 +``` + +> KV Cache 的代价:显存占用随序列长度线性增长。MLA(多头潜在注意力)通过低秩压缩解决此问题——详见 [[MoE 混合专家架构#MLA(Multi-head Latent Attention,多头潜在注意力)|MLA 详解]]。 + +--- + +## 八、高效注意力变体 + +标准自注意力是 **O(n²)** 复杂度(n = 序列长度)。对长序列需优化: + +### 8.1 FlashAttention(事实标准) + +> **IO 感知的精确注意力算法**——数学结果完全等价于标准注意力,但通过算子融合大幅减少显存读写。 + +``` +标准计算: FlashAttention: + QK^T → 写回 HBM 将 Q、K、V 分块(tile) + Softmax → 写回 HBM 每个块在 SRAM 中完成全部计算 + 乘 V → 写回 HBM 只有最终结果写回 HBM + ↑ 3次 HBM 读写 ↑ 约 1/n 的 HBM 读写 +``` + +实测效果:相比朴素实现,吞吐量提升 **~32%**(A100),现为 PyTorch 2.0+ 默认后端。 + +### 8.2 稀疏/线性注意力(长序列场景) + +| 方案 | 策略 | 复杂度 | 代表 | +|---|---|---|---| +| **Longformer** | 局部滑动窗口 + 全局 Token | O(n) | 文档级 NLP | +| **BigBird** | 局部 + 全局 + 随机 | O(n) | — | +| **Performer** | 随机特征近似 softmax | O(n) | — | +| **Mamba/SSM** | 状态空间模型替代注意力 | O(n) | 超长序列 | + +> 经验法则:序列 < 4K Token → 标准注意力 + FlashAttention 即可。长文档/代码库场景才需稀疏注意力或 SSM。 + +--- + +## 九、现代生产优化总览 + +| 优化手段 | 效果 | 代价 | +|---|---|---| +| **混合精度(bf16/fp16)** | 训练/推理速度翻倍 | 质量损失可忽略 | +| **梯度检查点** | 显存降低 50%+ | 训练慢 20% | +| **FlashAttention** | 推理加速 ~30%,显存降低 | 无(数学等价) | +| **算子融合(RMSNorm, xFormers)** | 减少 kernel launch 开销 | 无 | +| **序列分桶** | 减少 padding 浪费 | 实现复杂度增加 | +| **量化(INT8/INT4)** | 显存降低 4-8× | 轻微质量下降 | + +--- + +## 十、总结 + +``` +Transformer 的核心思想就三条: + +1. 自注意力(Self-Attention) + Q·K 算关联 → Softmax 归一化 → ×V 合成上下文 + 每个 Token 直接"看到"所有 Token + +2. 多头(Multi-Head) + 并行跑多个注意力,每个头学不同的关系模式 + 总计算量不变,表达能力翻倍 + +3. 位置编码(Positional Encoding) + 注意力不感知顺序 → 注入位置信息 + RoPE 是当前主流:Q/K 旋转角度 = 位置函数 + +Transformer 不只是一篇论文—— +它是整个现代大语言模型时代的起点。 +``` + +--- + +## 相关链接 + +- [[大模型架构基础]] — 大模型的各组件总览 +- [[FFN 前馈网络详解]] — Transformer 中参数量最大的组件 +- [[MoE 混合专家架构]] — 如何用稀疏专家替代 FFN +- [[多模态大模型]] — Transformer 如何扩展到图像/音频 +- [[DeepSeek V4 系列]] — Transformer + MoE + MLA 的实际应用 + +--- + +*最后更新:2026-08-05* diff --git a/大模型/多模态大模型.md b/大模型/多模态大模型.md new file mode 100644 index 0000000..aefd10c --- /dev/null +++ b/大模型/多模态大模型.md @@ -0,0 +1,140 @@ +# 多模态大模型(Multimodal LLM, MLLM) + +## 什么是多模态? + +**模态(Modality)** = 数据的感知/表达形式。人类通过多种模态理解世界: + +| 模态 | 示例 | +|---|---| +| **文本** | 文章、代码、对话 | +| **图像** | 照片、图表、截图 | +| **音频** | 语音、音乐、环境声 | +| **视频** | 连续图像帧 + 音频 | + +**多模态大模型** = 能同时理解和处理**多种模态数据**的 AI 模型,而非仅限于文本。 + +--- + +## 为什么需要多模态? + +> 纯文本模型只能"读文字",无法"看图片"、"听声音"。 + +现实世界的信息天然是多模态的: +- 医生既要看病历(文本),也要看 CT 片(图像) +- 自动驾驶需要同时处理摄像头(图像)、雷达(点云)、地图(结构化数据) +- 社交媒体帖子包含文字 + 图片 + 视频 + +--- + +## 基本架构(三大组件) + +``` +┌─────────────────────┐ +│ 视觉编码器 │ ← 处理图像/视频输入 +│ Vision Encoder │ (如 ViT、SigLIP) +└────────┬────────────┘ + │ 视觉特征 + ▼ +┌─────────────────────┐ +│ 投影器/连接器 │ ← 将视觉特征映射到语言空间 +│ Projector │ (如 MLP、Q-Former) +└────────┬────────────┘ + │ 对齐后的 token + ▼ +┌─────────────────────┐ +│ 大语言模型 │ ← 核心推理引擎 +│ LLM Backbone │ (如 DeepSeek、LLaMA、Qwen) +└─────────────────────┘ +``` + +### 工作流程 + +1. 图像 → 视觉编码器 → 视觉特征向量 +2. 视觉特征 → 投影器 → 对齐到语言模型的 token 空间 +3. 文本 token + 视觉 token → LLM → 生成回复 + +--- + +## 核心能力 + +| 能力 | 说明 | 示例 | +|---|---|---| +| **视觉问答(VQA)** | 根据图片回答问题 | "这张图里有几只猫?" | +| **图像描述** | 自动生成图片文字描述 | 为盲人描述照片内容 | +| **多模态对话** | 图文混合交互 | "分析这张财报图表" | +| **OCR 理解** | 理解图片中的文字 | 识别截图、海报、PDF | +| **视觉推理** | 多步骤逻辑推理 | "如果把这个方块旋转90°会怎样?" | + +--- + +## 主流多模态模型(2025-2026) + +| 模型 | 开发商 | 特点 | +|---|---|---| +| **GPT-4V / GPT-4o** | OpenAI | 原生多模态,实时语音+视觉 | +| **Gemini 系列** | Google | 原生多模态,Ultra/Pro/Flash/Nano 全系覆盖 | +| **Claude 系列** | Anthropic | 强大的图像理解、图表分析能力 | +| **Qwen-VL 系列** | 阿里通义 | 开源,中英双语 | +| **InternVL 系列** | 上海 AI 实验室 | 开源,CVPR 2025 发表 Mono-InternVL | +| **DeepSeek-VL** | DeepSeek | 注意:V4 系列目前 **仅文本**,视觉版待发布 | +| **LLaVA 系列** | 学术界 | 开源先驱,推动 MLLM 研究方向 | + +--- + +## 2025 年前沿方向 + +### 1. 高效/轻量化 MLLM +- 视觉 Token 压缩(降低 Transformer 二次复杂度) +- MoE 架构(如 MoE-LLaVA) +- 边缘设备部署(MobileVLM、TinyLLaVA、Gemini Nano) + +### 2. 单体式 MLLM(Monolithic MLLM) +- **Mono-InternVL**(CVPR 2025):将视觉编码直接集成到 LLM 内部 +- 减少 67% 首 Token 延迟,解决灾难性遗忘 + +### 3. 长链视觉推理 +- **Insight-V**:多智能体系统(推理 agent + 总结 agent) +- 跨 7 个基准平均提升 7.5% + +### 4. 统一多模态表征 +- **UnifiedMLLM**:单一模型处理多种多模态任务 + +--- + +## 主要挑战 + +1. **长序列效率**:一张图 = 数百到数千个 token,多图/视频成本极高 +2. **幻觉问题**:模型可能"看到"不存在的物体 +3. **计算成本**:训练和推理资源消耗远超纯文本模型 +4. **评估困难**:多模态基准测试尚不成熟 +5. **安全对齐**:视觉输入可能绕过文本安全过滤器 + +--- + +## 与纯文本模型对比 + +| 维度 | 纯文本 LLM | 多模态 MLLM | +|---|---|---| +| 输入 | 仅文本 | 文本 + 图像 + 音频 + 视频 | +| 参数量 | 较小(相对) | 需额外的视觉编码器参数 | +| 推理成本 | 较低 | 较高(视觉 token 开销大) | +| 应用范围 | 对话、写作、编程 | 医疗影像、自动驾驶、设计 | +| 成熟度 | 较高 | 快速发展中 | + +--- + +## 总结 + +多模态是 AI 走向通用人工智能(AGI)的关键一步。当前的 V4 Pro/Flash 等纯文本模型虽强,但"看不到世界"仍是巨大局限。理解多模态架构和原理,是理解下一代 AI 的必要基础。 + +--- + +## 相关链接 + +- [[Transformer 架构详解]] +- [[DeepSeek V4 系列]] +- [[大模型架构基础]] + +--- + +*最后更新:2026-08-05* diff --git a/大模型/大模型架构基础.md b/大模型/大模型架构基础.md new file mode 100644 index 0000000..4611b3d --- /dev/null +++ b/大模型/大模型架构基础.md @@ -0,0 +1,248 @@ +# 大模型架构基础 + +> 理解现代大语言模型的底层架构 — Transformer、注意力机制与关键组件 + +--- + +## 发展脉络 + +``` +2017 Transformer 论文 + │ "Attention Is All You Need" + ▼ +2018 GPT-1 / BERT + │ 解码器-only / 编码器-only + ▼ +2020 GPT-3(175B)— Scaling Law 确立 + ▼ +2022 ChatGPT / GPT-3.5 — RLHF 对齐 + ▼ +2023 GPT-4 / LLaMA / Claude 2 + │ 多模态、MoE 兴起 + ▼ +2024 LLaMA 3 / Qwen 2.5 / DeepSeek-V3 + ▼ +2025 GPT-5 / Claude Opus 5 / DeepSeek-V4 + 大规模 MoE、混合注意力、推理时扩展 +``` + +--- + +## 一、Transformer 架构 + +现代大语言模型的基石,发表于 2017 年。核心思想:用**自注意力机制**取代循环/卷积,实现并行计算。深度讲解见 [[Transformer 架构详解]]。 + +### 架构总览 + +``` + ┌──────────────┐ +输入文本 → │ Embedding │ → Token 向量 + └──────┬───────┘ + ▼ + ┌─────────────────────────────┐ + │ Transformer Block × N │ ← 重复 N 层(数十到数百层) + │ ┌───────────────────────┐ │ + │ │ Multi-Head Attention │ │ ← 核心:自注意力 + │ │ + Layer Norm + 残差 │ │ + │ ├───────────────────────┤ │ + │ │ Feed-Forward (FFN) │ │ ← 逐位置的全连接网络 + │ │ + Layer Norm + 残差 │ │ + │ └───────────────────────┘ │ + └─────────────┬───────────────┘ + ▼ + ┌──────────────┐ + │ 输出头 │ → 预测下一个 Token + └──────────────┘ +``` + +### 三种变体 + +| 类型 | 代表模型 | 特点 | +|---|---|---| +| **编码器-only** | BERT、RoBERTa | 双向注意力,适合理解任务(分类、NER) | +| **解码器-only** | GPT 系列、LLaMA、DeepSeek | 因果注意力(只看左边),适合生成任务 | +| **编码器-解码器** | T5、BART | 融合两者,适合翻译、摘要 | + +> 现代大语言模型**几乎全部使用解码器-only**(自回归生成)。 + +--- + +## 二、自注意力机制(Self-Attention) + +### 直观理解 + +> 让每个词"看到"句子中所有其他词,并决定应该关注哪些。 + +``` +"我 爱 北京 天安门" + │ │ │ │ + └─────┼──────┼───────┘ + │ │ + 每个词都和所有词计算关联度(注意力权重) +``` + +### 数学过程 + +对每个输入的 Token 向量,计算三个投影: + +| | 符号 | 含义 | +|---|---|---| +| **Q(Query)** | 查询 | "我在找什么?" | +| **K(Key)** | 键 | "我有什么?" | +| **V(Value)** | 值 | "我的实际内容" | + +$$ +\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V +$$ + +步骤: +1. **Q × K^T** → 计算每对 token 之间的关联分数(注意力矩阵) +2. **÷ √d_k** → 缩放,防止梯度消失 +3. **Softmax** → 归一化为概率分布 +4. **× V** → 用注意力权重加权求和,得到输出 + +### 多头注意力(Multi-Head Attention) + +> 不是做一次注意力,而是并行做多次(如 8/16/32 个头),每个头关注不同的语义模式。 + +- 头 1 可能关注"语法结构" +- 头 2 可能关注"实体关系" +- 头 3 可能关注"长距离依赖" + +--- + +## 三、关键组件 + +### 1. Token 与 Tokenizer + +| 概念 | 说明 | +|---|---| +| **Token** | 文本被拆分的最小语义单元 | +| **Tokenizer** | 将文本切分为 Token 的工具(BPE、SentencePiece 等) | +| **词表大小** | 通常 32K ~ 256K,DeepSeek V4 使用了更大词表 | + +``` +"Hello, world!" → ["Hello", ",", " world", "!"] +"你好世界" → ["你好", "世界"] +``` + +### 2. 位置编码(Positional Encoding) + +Transformer 本身**不感知顺序**,需要额外注入位置信息: + +| 类型 | 说明 | 代表 | +|---|---|---| +| **绝对位置编码** | 每个位置有唯一的向量 | 原始 Transformer 的正弦编码 | +| **相对位置编码** | 编码 token 之间的相对距离 | T5 的相对偏置 | +| **旋转位置编码(RoPE)** | 对 Q/K 做旋转,编码相对位置 | LLaMA、DeepSeek、Qwen 主流方案 | + +### 3. 前馈网络(Feed-Forward Network, FFN) + +``` +FFN(x) = Act(W₂ · Act(W₁ · x + b₁) + b₂) +``` + +- 两层全连接,中间有激活函数(GELU/SwiGLU) +- 参数量占比最大(约 2/3) +- SwiGLU 是现代模型的首选激活函数 +- 深度讲解见 [[FFN 前馈网络详解]] + +### 4. 残差连接(Residual Connection) + +``` +输出 = LayerNorm(x + SubLayer(x)) +``` + +- 缓解深层网络的梯度消失 +- 让模型可以"跳过"不必要的变化 +- GPT 使用 Pre-LN(层归一化在子层之前) + +### 5. 层归一化(Layer Normalization) + +- 对每个样本的特征维度做归一化 +- 稳定训练、加速收敛 +- 现代主流:**RMSNorm**(去掉均值中心化,更快更简单) + +--- + +## 四、训练范式 + +``` +┌──────────────┐ +│ 1. 预训练 │ 海量互联网文本,无监督学习(预测下一个 Token) +│ Pretraining │ 数十 TB 数据,数万 GPU,数周到数月 +└──────┬───────┘ + ▼ +┌──────────────┐ +│ 2. 监督微调 │ 高质量人工标注的指令-回复对 +│ SFT │ 让模型学会"对话格式"和"遵循指令" +└──────┬───────┘ + ▼ +┌──────────────┐ +│ 3. 对齐训练 │ RLHF / DPO / RLVR +│ Alignment │ 让模型输出更安全、更有用、更符合人类偏好 +└──────────────┘ +``` + +### 关键概念 + +| 概念 | 说明 | +|---|---| +| **Scaling Law** | 模型性能随参数量、数据量、计算量幂律增长 | +| **涌现能力** | 大模型独有的、小模型没有的能力(如思维链推理) | +| **RLHF** | 基于人类反馈的强化学习 — 训练奖励模型指导策略优化 | +| **DPO** | 直接偏好优化 — 更简单地对齐方法,不需要单独的奖励模型 | + +--- + +## 五、推理时技术 + +### 自回归生成(Autoregressive Generation) + +``` +输入:"今天天气" → 预测下一个 Token "真" + "今天天气真" → 预测下一个 Token "好" + "今天天气真好" → 预测下一个 Token ""(停止) +``` + +每次生成一个 Token,直到输出结束符或达到最大长度。 + +### 关键概念 + +| 概念 | 说明 | +|---|---| +| **Temperature** | 控制随机性,越高越随机(创造性高),越低越确定 | +| **Top-p(核采样)** | 只从累积概率 ≥ p 的最少 Token 集合中采样 | +| **Top-k** | 只从概率最高的 k 个 Token 中采样 | +| **KV Cache** | 缓存已生成 Token 的 Key/Value,避免重复计算,加速推理 | +| **上下文窗口** | 模型能同时"看到"的最大 Token 数(现在主流 128K~1M) | + +--- + +## 六、当前主流架构扩展 + +### MoE(混合专家) + +> 详见 [[MoE 混合专家架构]] + +- 不是所有参数都参与每次推理 +- 每个 Token 只路由到少数"专家"子网络 +- 总参数极大但计算量可控 + +### 多模态扩展 + +> 见 [[多模态大模型]] + +- 在 LLM 基础上添加视觉/音频编码器 +- 通过投影器对齐不同模态的 Token + +--- + +## 扩展阅读 + +- 原始论文:[Attention Is All You Need (2017)](https://arxiv.org/abs/1706.03762) +- [The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/) — 图文详解 Transformer + +--- + +*最后更新:2026-08-05* diff --git a/工作/Pasted image 20260402112914.png b/工作/Pasted image 20260402112914.png new file mode 100644 index 0000000000000000000000000000000000000000..de728f4f29f3971a67aacabc9480810488663a26 GIT binary patch literal 101046 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%0An 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
A( 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%0AK#=8wwc(lAMSv#WUQ2!BB6gtI&x2{P^lSv=M@y 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 literal 0 HcmV?d00001 diff --git a/工作/VCU控制逻辑_精简版.md b/工作/VCU控制逻辑_精简版.md new file mode 100644 index 0000000..9168b10 --- /dev/null +++ b/工作/VCU控制逻辑_精简版.md @@ -0,0 +1,67 @@ +# VCU控制逻辑(精简版) + +## 一、核心定位 +VCU是车辆核心控制单元,设计原则:**功能简单、运行稳定**,是整车控制的基石,负责协调各子系统工作。 + +## 二、对接子系统 +VCU通过CAN总线与以下部件通信: +- BMS(电池管理系统)、OBC(车载充电机) +- 电机控制器、灯光控制系统 +- ORIN(上层自动驾驶平台)、遥控器、机械臂控制器 + +--- + +## 三、核心控制逻辑 +### 1. 充电控制 +- 检测到OBC可充电后,优先等待ORIN指令,**5分钟超时自动充电** +- 电量充满后自动发送停止充电指令 +- 长时间停在充电区且无上层控制时,**电量低于25%自动充电**,充满自停 + +### 2. 驾驶模式控制 +| 状态 | 控制逻辑 | +|------|----------| +| 遥控器未开机 | 等待ORIN连接使能,进入自动驾驶模式 | +| 遥控器开机-手动模式 | 完全不响应ORIN指令,所有控制以遥控器为准 | +| 遥控器开机-自动模式 | ORIN可以接管车辆控制 | + +### 3. 机械臂控制 +- 通过遥控器E拨杆切换底盘/机械臂模式,**两种模式互斥** +- 机械臂手动模式:不响应ORIN机械臂指令,完全由遥控器控制 +- 遥控器操作完全兼容《履带车T10遥控器协议》,支持5个关节+滚刷控制 + +### 4. 高优先级刹车(最高优先级) +- 独立刹车摇杆,**全模式生效**,不受手自动模式限制 +- 拉动幅度对应刹车力度,线性控制减速度,最大不超过系统限值,避免急停 +- 刹车期间临时上报ORIN为手动模式,屏蔽上层速度指令,释放后自动恢复原模式 + +### 5. 电机控制 +- 支持单摇杆原地转向 +- 最大加速度/减速度可配置,避免急停 +- 遥控器速度突降时平滑减速,不直接切断动力 + +### 6. 灯光控制 +- 自动驾驶指示灯:自动驾驶模式点亮,手动模式熄灭 +- 转向灯:转向指令触发,回正自动关闭 +- 刹车灯:减速或驻车时点亮 +- 远近光灯:接收上层/遥控器指令控制 + +--- + +## 四、控制优先级(从高到低) +1. **高优先级刹车摇杆** > 2. 遥控器手动模式 > 3. ORIN自动驾驶 + +--- + +## 五、关键配置参数 +| 参数 | 默认值 | 说明 | +|------|--------|------| +| 充电等待超时 | 5分钟 | 检测到可充电后等待上层指令的最长时间 | +| 自动充电SOC阈值 | 25% | 低于该值自动启动充电 | +| 最大加速度 | 1m/s² | 正向加速度上限 | +| 最大减速度 | 1m/s² | 减速上限(刹车力度不超过该值) | +| CAN通信超时 | 500ms | 连续未收到报文判定为通信丢失 | + +--- + +## 六、核心安全机制 +1. 通信丢失保护:对应模式下减速停车,上报故障 diff --git a/工作/VCU控制逻辑(v0.2).md b/工作/VCU控制逻辑(v0.2).md new file mode 100644 index 0000000..80c57cf --- /dev/null +++ b/工作/VCU控制逻辑(v0.2).md @@ -0,0 +1,234 @@ +# VCU(车辆控制单元)控制逻辑文档 + +## 1. 概述 +VCU(Vehicle Control Unit)是车辆的核心控制中心,作为整车控制的基石,设计原则为**功能简单、运行稳定**,负责协调车辆各子系统的工作。 + +### 1.1 系统架构 +VCU通过CAN总线与以下子系统直接通信: +- **BMS(电池管理系统)**:电池状态采集 +- **OBC(车载充电机)**:充电状态监测、充电指令控制 +- **电机控制器**:速度控制、扭矩输出控制 +- **灯光控制系统**:远近光灯、转向灯、刹车灯、自动驾驶指示灯控制 +- **ORIN(上层自动驾驶计算平台)**:接收自动驾驶指令、上报车辆状态 +- **遥控器**:接收手动驾驶指令、手自动模式切换 +- **机械臂控制器**:机械臂关节控制、作业工具控制 + +```mermaid +graph TD + RC --> VCU + ARM --> VCU + BMS--> VCU + VCU[VCU 控制中心] --> BMS[BMS 电池管理系统] + VCU --> OBC[OBC 车载充电机] + OBC --> VCU + ORIN --> VCU + VCU --> MOTOR[电机控制器] + VCU --> LIGHT[灯光控制系统] + VCU --> ORIN[ORIN 自动驾驶平台] + VCU --> RC[遥控器] + VCU --> ARM[机械臂控制器] + +``` + +## 2. 充电控制逻辑 +VCU负责整车充电流程的管理,通过CAN总线与BMS和OBC通信,收集两者状态并上报上层系统。 + +### 2.1 充电状态机 +```mermaid +stateDiagram-v2 + [*] --> OBC: 待充电状态 + OBC --> WAIT_FOR_CHARGE_CMD: 检测到OBC可充电 + ORIN --> CHARGING: 上层发送充电指令 + WAIT_FOR_CHARGE_CMD --> CHARGING: 收到上层充电指令 + WAIT_FOR_CHARGE_CMD --> CHARGING: 5分钟超时自动充电 + + OBC --> AUTO_CHARGE: 电量<25%且长时间停留在充电区域\n无上层控制 + AUTO_CHARGE --> CHARGING: 自动执行充电指令 + CHARGING --> AUTO_STOP_CHARGE: 电量充满 + AUTO_STOP_CHARGE --> OBC: 自动停止充电 +``` + +### 2.2 充电控制规则 +1. **充电触发条件**: + - 当VCU检测到无线OBC处于可充电状态时,进入等待充电指令状态 + - 优先等待上层(ORIN)发送充电开始指令 + - 若等待超时(5分钟),自动进入充电状态 + +2. **充电停止条件**: + - BMS上报电量充满后,VCU自动向OBC发送停止充电指令 + - 收到上层停止充电指令时,立即停止充电 + +3. **自动充电策略**: + - 车辆长时间停留在可充电区域且无上层控制指令时 + - 当电池电量低于25%时,自动执行充电指令 + - 电量充满后自动执行停止充电指令 + +## 3. 驾驶控制逻辑 +VCU支持两种驾驶模式:**自动驾驶模式**(上层ORIN控制)和**手动驾驶模式**(遥控器控制),遥控器控制优先级高于上层控制。 + +### 3.1 模式切换逻辑 +```mermaid +stateDiagram-v2 + [*] --> SBUS_WAIT: 遥控器未开机 + SBUS_WAIT --> AUTO_MODE: 上层ORIN连接并使能\n进入自动驾驶模式 + AUTO_MODE --> SBUS_CONNECTED: 遥控器开机 + SBUS_CONNECTED --> MANUAL_MODE: 遥控器手动模式\n不响应上层任何指令 + SBUS_CONNECTED --> AUTO_MODE: 遥控器自动模式\n上层可接管控制 +``` + +### 3.2 控制优先级规则 +1. **遥控器未开机时**: + - 等待上层ORIN连接并发送使能指令 + - 进入自动驾驶模式,响应ORIN的控制指令 + +2. **遥控器开机后**: + - 优先读取遥控器的手自动模式状态 + - **手动模式**:完全不响应上层ORIN的任何指令,所有控制以遥控器为准 + - **自动模式**:上层ORIN可以接管车辆控制 + +3. **高优先级刹车最高优先级**:遥控器独立刹车摇杆优先级高于所有其他控制指令,无论当前处于自动驾驶模式还是手动模式,只要拉动刹车摇杆,立即响应刹车指令,不受模式限制。 + +### 3.3 指令接收处理 +VCU通过CAN总线接收两类控制指令: + +#### 3.3.1 上层ORIN指令 +- 速度控制指令 +- 使能控制指令 +- 灯光控制指令(远近光灯) +- 驻车控制指令 + +#### 3.3.2 遥控器指令 +- 速度控制指令(单摇杆) +- 方向控制(单摇杆) +- 使能控制指令 +- 灯光控制指令 +- 手自动切换指令 +- 驻车控制指令 +- 模式切换指令 +- 机械臂各关节控制指令 +- 作业工具(滚刷)控制指令 +- 高优先级刹车控制指令 + +## 4. 电机控制逻辑 +### 4.1 遥控器单摇杆控制 +- 支持**原地转向**功能:摇杆左右方向控制转向,前后方向控制速度 +- 左右摇杆量直接对应转向角度,前后摇杆量对应目标速度 + +### 4.2 加减速限制 +为保证行驶平稳性,对电机输出进行如下限制: +1. **最大加速度限制**:加速度不超过预设最大值(可配置,默认0.5g) +2. **最大减速度限制**:减速度不超过预设最大值(可配置,默认0.3g) +3. **避免急停**:当遥控器速度指令突然变为0时,不直接切断动力输出,而是按照最大减速度平滑减速至停止 + +### 4.3 高优先级刹车控制 +遥控器配备独立高优先级刹车摇杆,为最高优先级控制输入,逻辑如下: +1. **全模式生效**:无论车辆当前处于自动驾驶模式还是手动驾驶模式,刹车摇杆指令均生效,不受当前控制模式限制 +2. **力度线性控制**:刹车摇杆拉动幅度对应刹车力度,幅度越大减速度越大,最大减速度不超过系统预设的最大减速度限值,实现缓慢刹车,避免急停 +3. **临时状态上报**:拉动刹车摇杆期间,VCU临时向上层ORIN上报车辆处于**手动模式**,同时屏蔽上层ORIN的速度控制指令,仅响应刹车指令 +4. **释放自动恢复**:刹车摇杆完全释放后,立即恢复原运行模式,向ORIN上报实际模式状态,恢复响应上层速度控制指令 +5. **不干涉其他控制**:刹车控制仅干预速度控制相关指令,不影响灯光、驻车、机械臂等其他控制功能 + +## 5. 灯光控制逻辑 +灯光控制暂时由VCU自主判断处理,无需上层系统干预。 + +### 5.1 控制列表 +| 灯光类型 | 控制逻辑 | +| -------- | -------------------- | +| 自动驾驶指示灯 | 自动驾驶模式开启时点亮,手动模式时熄灭 | +| 转向灯(左/右) | 根据转向指令自动开启,转向回正后自动关闭 | +| 刹车灯 | 车辆处于减速状态或驻车状态时点亮 | +| 远近光灯 | 接收上层或遥控器指令控制,默认不开启 | + +### + +## 6. 通信协议规范 +### 6.1 CAN通信矩阵(摘要) + +待补充 + +## 7. 故障处理与安全机制 +### 7.1 通信故障处理 +- 与BMS通信丢失:立即禁止充电,上报故障 +- 与OBC通信丢失:终止当前充电流程,上报故障 +- 与ORIN通信丢失:自动驾驶模式下减速停车,切换到待机状态 +- 与遥控器通信丢失:手动模式下减速停车,开启危险报警灯;机械臂手动模式下停止机械臂所有运动并锁定 + +### 7.2 安全保护机制 +待补充 +## 8. 配置参数(可调整) +| 参数名称 | 默认值 | 说明 | +| --------- | ----- | ------------------- | +| 充电指令等待超时 | 5分钟 | 检测到可充电后等待上层指令的最长时间 | +| 自动充电SOC阈值 | 25% | 低于该值时自动启动充电 | +| 最大加速度 | 1m/s² | 正向加速度上限 | +| 最大减速度 | 1m/s² | 反向加速度(减速)上限 | +| CAN通信超时阈值 | 500ms | 连续500ms未收到报文判定为通信丢失 | + +## 9. 机械臂控制逻辑 +VCU支持机械臂手动控制功能,通过遥控器切换操作模式,实现底盘控制与机械臂控制的复用,遵循**手动优先**的控制原则。 + +### 9.1 模式切换逻辑 +机械臂控制与底盘控制通过遥控器E拨杆进行切换,完全兼容《履带车T10遥控器协议与操作说明》: + +```mermaid +stateDiagram-v2 + [*] --> CHASSIS_MODE: E拨杆最左侧\n底盘控制模式 + CHASSIS_MODE --> ARM_MODE: E拨杆拨到最右侧\n切换到机械臂控制模式 + ARM_MODE --> CHASSIS_MODE: E拨杆拨到最左侧\n切换到底盘控制模式 + + state CHASSIS_MODE { + [*] --> CHASSIS_MANUAL: 手动模式 + [*] --> CHASSIS_AUTO: 自动模式 + } + + state ARM_MODE { + [*] --> ARM_MANUAL: 手动模式(默认) + ARM_MANUAL --> ARM_AUTO: A按键切换到自动模式\n上层可控制机械臂 + ARM_AUTO --> ARM_MANUAL: A按键切换到手动模式\n不响应上层指令 + } +``` + +### 9.2 控制优先级规则 +1. **手动模式优先**:无论机械臂处于何种状态,只要遥控器切换到机械臂手动控制模式,立即停止响应上层ORIN的机械臂控制指令 +2. **模式互斥**:E拨杆同一时间只能处于一种模式,底盘控制与机械臂控制不可同时操作 +3. **自动模式使能**:机械臂自动模式下,上层ORIN可以发送机械臂控制指令,VCU转发给机械臂控制器 + +### 9.3 遥控器机械臂操作映射(E拨杆最右侧) +完全遵循《履带车T10遥控器协议与操作说明》定义的操作逻辑: + +| 控制部件 | 功能 | 通道映射 | +|---------------|--------------------------|----------| +| 右摇杆X轴(x2) | 控制回转关节(joint1) | CH1 | +| 右摇杆Y轴(y2) | 控制动臂关节(joint4) | CH2 | +| 左摇杆Y轴(y1) | 控制横梁关节(joint3) | CH3 | +| 左摇杆X轴(x1) | 控制力臂关节(joint2) | CH4 | +| A按键 | 切换机械臂自动/手动控制模式 | CH7 | +| F拨杆 | 控制刷头上下移动(joint5) | CH6 | +| D轮盘 | 控制滚刷启停/转速 | CH10 | + +### 9.4 机械臂控制处理流程 +1. VCU实时接收遥控器CAN报文(ID范围:0x187~0x18A) +2. 解析E拨杆(CH5)数值判断当前操作模式 +3. **机械臂模式下**: + - 解析各通道摇杆量,转换为对应关节的目标角度/速度 + - 将控制指令通过CAN总线发送给机械臂控制器 + - 手动模式下直接转发遥控器指令,自动模式下转发上层ORIN指令 +4. **底盘模式下**: + - 忽略机械臂相关通道数据,保持机械臂当前状态 + - 执行底盘控制逻辑 + +### 9.5 安全保护机制 +1. **模式切换保护**:在机械臂运行过程中切换到底盘模式时,立即停止机械臂所有运动,保持当前位置 +2. **通信丢失保护**:遥控器通信丢失时,立即停止机械臂所有运动,进入锁定状态 +3. **急停保护**:收到急停指令时,立即切断机械臂动力输出 + +## 10. 通信协议补充 +### 10.1 遥控器CAN通信扩展 +| CAN ID | 发送方 | 接收方 | 报文内容 | 周期 | +|--------|--------|--------|----------|------| +| 0x187 | 遥控器 | VCU | 通道1-4数据(摇杆) | 10ms | +| 0x188 | 遥控器 | VCU | 通道5-8数据(拨杆、按键) | 10ms | +| 0x189 | 遥控器 | VCU | 通道9-10数据(轮盘) | 10ms | +| 0x18A | 遥控器 | VCU | 保留 | 10ms | +| 0x18B | 遥控器 | VCU | 校验帧 | 10ms | + diff --git a/工作/nav2 优缺点.md b/工作/nav2 优缺点.md new file mode 100644 index 0000000..a01b773 --- /dev/null +++ b/工作/nav2 优缺点.md @@ -0,0 +1,6 @@ +控制相关参数没有按速度区间机制,需要自己实现 +rtk精度行走是够的,但是目前看会有5-8cm的跳变,所以充电还是需要用docking server配合视觉或者雷达精确定位,加上限位和触点开关之类的。 + +体量小,开发快,资料够多。 + +route server支持大地图 \ No newline at end of file diff --git a/工作/履带车T10遥控器协议与操作说明.md b/工作/履带车T10遥控器协议与操作说明.md new file mode 100644 index 0000000..738740e --- /dev/null +++ b/工作/履带车T10遥控器协议与操作说明.md @@ -0,0 +1,75 @@ + +## 1. 硬件概述 +本文档描述云卓T10遥控器通过SBUS转CAN模块输出的CAN通信协议及操作逻辑。遥控器布局参考下图: + +![[Pasted image 20260402112914.png|350]] +![[Pasted image 20260402112951.png|369]] +--- + +## 2. CAN通信协议规范 +### 2.1 基础参数 +- CAN ID范围:`0x187` ~ `0x18A`(共4个ID,每个ID对应4个通道数据) +- 比特率:500K +- 数据长度:每帧8字节,包含4个通道值,每个通道占2字节 +- 字节序:大端模式(第一字节为高位字节) +- 通道值范围: + - 最小值:`0x011A` (十进制 282) + - 中间值:`0x03EA` (十进制 1002) + - 最大值:`0x06BA` (十进制 1722) +- 开关量特性:A/B按键为开关量,开关打开时输出最大值,关闭时输出最小值 + +### 2.2 帧结构 + +| CAN ID | 0-1 | 2-3 | 4-5 | 6-7 | +| ------ | --- | ---- | --- | --- | +| 0x187 | CH1 | CH2 | CH3 | CH4 | +| 0x188 | CH5 | CH6 | CH7 | CH8 | +| 0x189 | CH9 | CH10 | 保留 | 保留 | +| 0x18A | 保留 | 保留 | 保留 | 保留 | +| 0x18B | 校验 | | | | +18B高位为数字通道和状态位,低位为前33位累加和校验。 + +## 3. 遥控器通道映射表 +| 控制部件 | 通道编号 | 说明 | +| --------- | ---- | --------- | +| 右摇杆X轴(x2) | CH1 | 横向数值,左小右大 | +| 右摇杆Y轴(y2) | CH2 | 纵向数值,上小下大 | +| 左摇杆Y轴(y1) | CH3 | 纵向数值,下小上大 | +| 左摇杆X轴(x1) | CH4 | 横向数值,左小右大 | +| E拨杆 | CH5 | 三档,左小右大 | +| F拨杆 | CH6 | 三档,左小右大 | +| A按键 | CH7 | 开关量 | +| B按键 | CH8 | 开关量 | +| C轮盘 | CH9 | 左小右大 | +| D轮盘 | CH10 | 左小右大 | + +--- + +## 4. 操作模式说明 +遥控器由E拨杆位置切换两种工作模式: + +### 4.1 底盘控制模式(E拨杆拨到最左侧,通道5输出最小值) +| 控制部件 | 功能 | +| --------- | ----------- | +| 左摇杆X轴(x1) | 控制底盘左右转向 | +| 左摇杆Y轴(y1) | 控制底盘前后移动 | +| A按键 | 切换自动/手动控制模式 | +| B按键 | 切换驻车状态 | +| F拨杆 | 切换前灯远近光 | + +### 4.2 机械臂控制模式(E拨杆拨到最右侧,通道5输出最大值) +| 控制部件 | 功能 | +| --------- | ---------------- | +| 右摇杆X轴(x2) | 控制回转关节(joint1) | +| 右摇杆Y轴(y2) | 控制动臂关节(joint4) | +| 左摇杆Y轴(y1) | 控制横梁关节(joint3) | +| 左摇杆X轴(x1) | 控制力臂关节(joint2) | +| A按键 | 切换自动/手动控制模式 | +| F拨杆 | 控制刷头上下移动(joint5) | +| D轮盘 | 控制滚刷启停/转速 | + +--- + +## 5. 版本信息 +- 文档版本:V1.0 +- 最后更新:2026-04-02 diff --git a/工作/履带车T10遥控器协议与操作说明.pdf b/工作/履带车T10遥控器协议与操作说明.pdf new file mode 100644 index 0000000000000000000000000000000000000000..be4f4ed9c6371828f991e3537c463f0e1ae03fda GIT binary patch literal 610318 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Μ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®tr~{+5 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�b_XJ=C|_b_(Ta6eC@RQK5S zn)>`b)wfrtRqvmZ@?r9%5e_M0t{%N_p-$RW*O^5;?dL7~_-KUL^6+Or$6%_K5qwR`8 zXEtd|xb(G*Frnv&Ww8(ggn)t3}`XjSpImp7s$r9y@BfxE$*o%wL+>)bAuNDL_?8^LcQ# zcxr^mD3<4VN98AfeNzu9nDT}71`o~f^MsB_hHqth?HivH#M8d#CmrtX^s@YNLi)PK zFCC41i|`Fo5wmxxqbCXR(GE@9`HsAt-WNOEEq8C(?1;*9joJCdxaU6a%tr?~CFPr_ z!_qDgzYU!#9)JFBI6msS!Y`#QG*yFzoGpiwcbz=L(TtSLQNt@}zsY;0>RY9lOr{%x<&8%GJ zi1-=V?-Hwf_H{r`)wRLQurq066$&BVp8YF%B5vy>mzX>lB(76?)W9M zYp0&RGrKaUZrP)4GH5ukB;EN&F8x`Vaz%xOQy)pau-a}Uz@2t-~DhM*1H3|Eq72Kdc{yVcYPRI z)T3I4T{j&R4UfMQ=#ooz_(XD9b@;~ojjejg)YPWTozw0$bItAZ()?y^kJc>_jD0DO zUN2+95Hq6Z3G16_9Qf27Uy(y(foDEdz1RA0a zF~YSac`voDq|de;XAi|r@?Q%6xORT#M;3#QnL&hEXUmhX-Cj4QM!o&L?-1KSrRVvn zDSKKLTBbCy>2jH{@_|)NN{dcGU9F*FbEGsx>_>i3zEMVu+_jF?!iq0a=^_uJv$Hy~ zxL!Fm6p&E4%CZ%|47Yv7s5yB`tC&-7i(tNZj>(n9VT&2|c|U5V`L}ll4~VyBw#|LU zWwG_U|66qpcUdpue0ZlpABoTGXs=WmFzpD~?#_V;(av|4p#na? z>^CjEep|NOoZW!07I%1fS%?S(&dte>1}EhVeH*`V+P=uWK5#??n%v%&L6(k|qwpc%;)vQl?WlW#d+Sm<@e z!ou%Z)IGGnlULHYttM6A7Ege*3%mXn3h|a?Ky^{?M3T?PHH%B}x2(?=+i=9cN%o4T zo7a+Nu6t0FFKN83Igv=Uz`4^h8X>|dLulrf?6>dzTO~Elo@!%ZjeAdeWJJf?D&f%i z=2FwaMhFavf)ypCPsf=*iCo)PKqBs8{cBspT$SE7l%T}^kY6~1vQc)Yr{79X?!FJj z7H3}uBHuI2weg%ND>U87ddpl0Q`Vitw{XW&hvBI{9)8XW2(rgY*Tc6wEmMD_kxq^r zScpq3An7{t?~RRT@=m*}7wLZ8qV6wI!@d^INhl$OJk zThP{fH*Giu32(0)RQ;S*m842bW`F;f@)*vw56wRMnmC{AB{Zh?KW1`Ac>dMp8rd2Z zWIj2*t>R>{h1c)Q{{h$gzoR7o?_flIsl@lfzA@_M@urrKt0&gWW{ zJDRPEH%|OF6gS6YWrV_9zmH|)-g@b_1q;^KO!pZZ5OW4>& zB}8#U8Xd;HM%`X}ukm$DbN}Pb6?IoNcAn)TJ=|UsWHmy4n@p9z;UV+eMMb|-+&O_n zQjhg`&AFBY9Vup|ey4IYr%>XE2z!F~nKNjassdF=w4PyN@NEA!yPQ%~6e>V59p)>q zSgX#xa`+#2ei%qZqP1{kuwbD-GPP_YvUqB;(z~5aTZS&|N1X9oS-+L9SbUSQy9Y=z z?ucBc43di%OLb=J-lXj`>fw91pRg)R=~C?!q%wOtEEnoKzJe-yEK?y}UdLdna%c-I zHOCY!s%KZ++NA`|5VL}_LM(D%dP}jEwCWut@%mc^x4{w1*QV100Xcz^=QRww z=<40{PR25Pqw&>QS!rr5FTU7&dRv@R#w*5`0%wzmRKuZRM5?!MoPSgralV!_H*I*I376c00_l9~nI zuMa{+C0<*!cs--|SLfcO-J1>IB5sur6QUG8+4K8k_xIZtGGnUDV}CyA5cO6XdzEWu zN+r~H*MBqH-fkx0Nuw7Vt}|DpPdpj1d#W;`w$MpKnZ=d;tc|jj?hZP&l3EM1i)n>u zOfq-(hKd_?h5H(D+%)Vuk>VhG(?1@7LTsmx_}rKc2Wb9L##EJcZOO5AVgXXWv3JCi zG0j=~coT|18d~MW7&W>x`~Fs^PmzF(taJ`9cWJ3{Lh zRcP0(#(Ij1{u)Kj@A0HDzVi8tN#eO)SrzH`CS1SN{B`F^$L=lu&a;pa<7*Pw%Y5BB z#NTgtih}O8r-$~vldFj%k4K5dU5SX+d!dl_A8%Xh zcxL@W&E+J8nF|eKzNW>#vsoVHlz9#F2|M}iKCEU1N>avUJ}nZ{i_ew0sJ&Dc*pxMT zjd$_Lj>KdKA|ZdbmV>tNc-7Mr{%s4_2~k>>KNGU6>@2iOt@qzQB+YRjOx2EG#uoCj zbYaTnseB)0j0jQT|X?8 z(!A+T8dHrL*RCx*%fhcDbR6?YE|zBdYIU|~=@d77T;CP6kK+RGhonHY=ILX5BpTkc zar#nv=t`ukSYJ&E9MSK@;_v-;HG4Nb*>+z;j)N++GRT*rJT}YBKy38qt4r01)Vnni za!u0WYqsR)&iZId>vqX0(X&#B);!g`1a@RC>9pE@OQB*FmR1Xfn_KgC4zVx_tFtbN zCv$}QtM4+4rDZTYYrw*Eh{j*?&{MVT^oD&X1JR0`0u?)o-yV#y`Uemp~*@svtQnjMUL=&bK}AB4EcMhKiQ|e%td21+`RJKEkuqasi3rfLaqN6@w0Kp)JZ^S=QcEd3&C62eG3QgN zoEA2ofJsyKw;Hj!e8UyO$;}UlRO)6`ukW&U2gJF~4Lc<1p}gD1?3g~nbatqnh|US0 zE6tjvm+CHmVTv!Y#l(h-d)DtC_dT{NQj0{xcD=SFZfX4>DM+t)P-r-v3Z!7RVVS|5 zwBa@PM}@x+1SbTJ(4LDKZ+x$;@aN4qqwUem2%io5icop+Jz?WFtai7I6qM0TEshI? zf2R22M=W5aKex9!S2B_45FB09hJdCn^$z_h#aHg>=Z*Y@HyKkW3o{>4Z`l~t!xtgp{#)xs}V9xl%!1hNL&>j zv?bm|#B*i8|6}5*6du%{B>w!bQ`{r%^cqpK!P{-sdZH2$M(5nWmMe3J6Kg+D+E#?V zw+O6AH45PMNfD1~%?(!1auIr(=22px!lN8&w)?))IDL|S|D=}mGxZ&Dzv8_Q&ppf7 zI}-l%@7sj6=r;AOu57N2L@EdAm4f3U=l^IXuey4eu0&GaD2p4WIXss|wWXGV>y^qu zmZ`SZ2Tz+htbR!Otr=E?&YAq6ELp4FSaT(oGc9Qym5{n|cX+{>-Yqs~;mjpTv(l?6 zpLqYYf9K!dy!0=@tyudLl>?VAdK^@|3Bzz|Gz^zwZIrb1H-7xUTyrP28-ZOAraH>m+d%~saUVvp>5K(5ZG@x zu!Y=nC-P2J#txr9u!VYak4@lfs5up4rz+p<{^r=!hi833Ibim2P0U6@vV#h90*K|b zN~c}U6P3k9VqZBTY-n;a_9=`_R>nHCsi-s1*S{m}mE7@SKhb5ys%QU9h&L$*xAAJ* z0-gK(Z;lVwhZV^E=;cC>c2CZ_eQ73br4plIft6{sG^4a=Y(GdKs-*lmp;Zj9WXeX; zr8u8)jw9l6)lhcQ-16CrJ-q% z`)<5via&TAGED04l)J&c?zG=r5Gli<lI z%I^+rR90wKF#jLiy>(O_U9c~RySsC6cbDMq?k>S0Sa5dsO>kzO(*ate^{@b#WkI{+a`!5< zwHpBTmS_M%r3+0~tlg|YybUdp z;S7G3a;z`{Ngt%0W|>(kn}ZYwc+|5>s}m>Eie;3Px(I=X2W=&0s(iZ(X)ur^gdWMa zBz&DOf?cnG5VFPOrK2WswjV`?fk*M8=~ki?BY{Gt25%pY8S2ZesRns+dUGvWexM8^ zHIf`U)~86gZSv|a((rGI4EA8Hseq~`BbNY(1~ifmZ)8U(X!>(y*A!=5Uhy*-*wx9n z*7mpI_Idvt&r}zO(GG2xz;B&`@>7e0Dpq7U`5C#5rN*xK8qz=@h^fN3z%);*{A3h6 z&cl&Go0WONJ=HoWlQB&6^wI}}QJIVMoM!t1B!{fvZbN6x3|hlqeTWHdw&$rHn&glRPEfjo zgQGBGB2i zM?(rjD+GkNR>`2P3Esy7TB_$|(38YRA@*eSN^&B5!TqZ<-z)wO3Gsi_VHEq+Pg4^Q zSS)+Bg^851QSkoDaD&phDqi(5C*>`^;aY%T;^oiZP@W5)0yPxx0ltWJ7V#o!YI-v= z^=hhE1GbopkzQJf9>`yl%62G?JQJ0WEPV@q^dE3>X22aZw@WjfbAhG+mGdv@F=Loe z=?B@EA^$e>T0!8Na%Y8YBt0Y;2mkVW8bIt`K@BxLiW@}7`^7>WbSS03XdU3Tv&T`0 zQ=N+b7iOp~)duZ{hkWAy+ki~}y+{84fSKYOz2A6vuuikwWa%@!yz^D&^S$w8ZXyGjBmdvT|m&f_-+1k+!?gqBdbH(##kfcFG zPq*jR>L3q(z>RX)FF;pj$gjuj{Id|bcBu{E{UwYr&DdM+I+bl#!-6hRUB7v`33vfO zI_=}ENQ(3OOooflhL?wnvLxpeG%w=64eG=n;V8T2ZUwrw@RCw2qj2fFTBMbV*6&Y2 z@ivCqGBI9xmRo`|MFqQ%c+Tu`=9-$`6CE|Lo38o+&#cJh51#nS0*{rVqYgb)EJ;mG zcLeydCe*Vx1IDAsnwnu&ui}bbQD~$IKU5&FOBuJ)A}q7V6+hF!@Jgyi`s)BDo2)aa zd?|klQu93I8#$? zvc?-Y;~6nCwJ;{OC@8!3L0QX!Sqc(=F*HFkn!tsd(R!#-5Od zqL9H4Qw*?%vLOyrSn9%%#tE`qXYMUaP$R#gW0#rR)RHAVHR(VimH~Eyz$0X1kCq0R9cG=+*Tc3ve$Y-;11pQYwhyS_a{% zDYTm;Y*w{=$jXl;#}B@+g#9d_r5)7wKim!oyI2(-o{L<}jBhe{ydPQ3_i}QB(>D>s zNP&ULLxXv9oOA{);KvWqqEf=UO86v3)S8&Cu`P$kMTOZWy*-}DJ0ton$#tZ4W@=|V zary_wer{Y~;^+Bqu?C`Q`m9#KXaVJH*hMm&55Vs6MYm!Pu_DR9Z(@vnCmK)9my}xA z?O5|sCqz4Sg>Zut*#C@b^mZ>tBkNTvgGiDnfAb~%JmtnXgz~x8G)0hxk=tVuRiQ70lKvDY&rFzGZt-HFEC!Ks7Me*c)}fCk=>pY z;G$et#lj=Wa(+_I6%44ceW}NSe--!hM20-y*BlT%2tg4`kwhgWz(pv-5a3tKGqM4F zTBWhvzjyqZuqy>AsrK=$58y$J(M|_5xd9=4xlzxt5<9)b+RMROmgB^enVs~B*Yge) zMQiTEqs*)cTNl@jQR=5GW|-yvaHY7m>462UCbmlgT=To+cmp;Nyr;iL8lbRUEjqa( zBt<#^K0jzbsL87jps0O9+ zwG(~x(*Q8R3-N0Y&RX4A1>*K)BI*D&H(bP)L?323Tf3#9-o5lQ)=d3*0T+in0Ak^# zUpV6lu5Wm8ZV!e;Us@hlciKt0O5?pp#~rqJF7c((wawOaF^vJbPKIws;8(_EY)>ym zK2f!rK4Mvr}7XiB~Z>hYa7t4*@EEl!TGL71I!XBjqwpr)IE>egfmi z(YteO>X7H}U$&klc{c2T3jq;AF>iMqA=Ugc7cfXjrPRryy#eX2F3LW4i%?99Mk@5I zNT)sB`ydoeyV<$XedJ?pp#5|o_O44bcV4KS|Y7&RCB zl1!Gyuu1FMUgiSvMcrHKLLQip4OOOFma7Yo3OZst<@s0nrA6%lnCa4`q2OU-5l95$OT#$ zJp7%^To$<4Jg22@5dqL|jv-IU9=d3>L({kAJY%+$tfZAdH5eoA#srq?zZx6x#NqhS z;j?@0jPjzPW9HU?eUlToWAI`vDgyE z8UHtr5RF6)_OAgow?JgNkf)>?84KA_Aot|^jYv)^@Gtfa#qFrcE``q|Cf*wqThNz` zVvo>vD=%@2uj;Ga!-hz9jFXl+s(D`*U#ln~t3$a)9!ygI%jYsBFVwdT` z<`echPME3Pf0q3Ji97fUnjpVAP_LK+5)cZ3E=fQ{RE_@BB4M*0MOct?u+g# zPK*-(d}5aA^`7$YL0*pRJm>w>6#y^uG6rspc=%+k__@NcxJUu zZ`j#sI_l%IM679ZH#haQ=sD+&174f)_l;X^TPlFhktJlIB)A&@q$QKB`4AHV(6-YQ zG*sAN{MM#^_4Z&b)ig^@O(_mv=^BwxI7?mrJ+pNn=;Ipi%=~-vuGiaXzY4SViYM3y z8i6dEtZgqtjFo$nh(KJXHRf+cHzc)Wv1r~pPqEPf>YAFXE%)7k=iNNHh&IPnIRtWl zJ|uMZl-(?Q7dqX8qib#ju^ILH3FBAV6&+``3eMNpW*%?cQ|7rQEv(|dl$rQYQvJ?J4_{N<#9JEXS!Nvel;k1+8FF|qam9Q?UXKVh*u+^gNq-{4T@R`l1mX2c5_Ob zwf{>sOC(tobJ{>2hG_8o>@xXX0~~%-??-9b?Oigl%P$_mlx_PBjB7qRgacHC4yzZP z69B+2xj=$&l(OTwf9*h^i&FcVgKMnnoe-oqRd==)FYHY0?&lT`+6B56vVwMC$ri|Lj3Kln;0N2~CV+S4g60>Q13rN8M1C}= z@|Y#C7fh%yj_q}nY;**?rwF%rucdcGfH9Hsd$>c|?Ag=rqYb z!*NbGW>;YWIq|yYXDfnw0yYfvA1isoW@%X-P_q90{5(g1xMJu+|c_0Kisc_>p% zEAa%)<-{!St`J%%UkIXLW41eJSZ6=y z$sz%MdN9+G7&)z69B+bx0Wg}~eVH=ho7ONIg7qmo4ZM*wVy25t4*&+^r(oTM^E}@* z-&6^O{NyuET%ALtz{B0lkze>gX}6j*RD`SW-PN0lZ=UXSflnw-M42sJL zLX_J_#dEnp9F&xa&u!aP?mulOY0t3%OK>pbkA$V* zc+37x^ct@)Sj`pF2|WUGJu(M(XPj!#m6KMR-O9LTa4ZXGonFm;?iPI1@RTi6P*rQY z*H^C`WaV*eD5t4m3+Qi3-!|5%fZ&Cn&C4f`sSUtQ&p6ZqnFldB)0)34(RB-BDq>U4 z$Nk7MwwgdTyg&h*Z@uwHn=O|2F;3<;7!!~`wFg*5lgvFrrDT`1*lCS=#zwIl8{@hQn)h+PTElawB_pW{HiGE16RhIH z-t~mu0I1;^27@uVnu5;HCr}Tp9e{sc^YEoRx{5hn61`IhDjp1#iaVwzTrzDtvV{{I z--I*7S*WPtI$0EK6Xo%nyP-=8xMi509C1`C9n4Q_=tW6hs-7Qdt)bjU48QjsC8*b3)Q8AWlsJoTv)@8R@S)Ed z-Xh|?da|9VZ4@7?E@BY+{4`a|uADE}-6-~fgh~Ug{BW+XdHxC7SwlgEdg;%s=I>;B zXLM;~AIo;NxzEZ`st1LE@R8ZAkJ_H7jjF=Irg$yXkyJ5b9fwgb_k_?fjW3SXz7IU#>?XO}5rxGf|fPrdlLCLa$|?zK5(&D=Vf4@PI$XwcFY zEJTj-X&f=GsTQRTSSa|rIxm`GTDWe+F!WeMQ+@v2mHk+3`_~YoRjq{Yt)yI5QU+h1 zw=}f^IZ2p5zQ`9W7^>0iTEe@C32_NmTdrARvUAy?Q>t?~Z&q%LPFBKxiB1L;Bt9~; z!|GC?w_B9zTtYVCn6X*URxr@d(g1`C>s=nZft-H-ek}pPxw7FBkE1- z!6WGlN)IxVE85r`Shv5@acN6}hi(MRHU+pV{1)L7K?6KqM)tdN4$cQ*tuPdVeNw7(=V~aZa>_j>B?xefZ|MvVt6rsYHx+q zrcChbbS4ogZ|b#?qD%4$Gfzq0!WURZg1hskKQ=7g{Xd1&{eKG2nYsR&Xas=5r@Wtw=ln)7`Jvep2q*eUp#WV8_rx*wJQ8_x_9jf&NTQLF5ZDZC;lh2F(`pM}(fsA9KtN>KyZe3v>%e&GhtEPh#xqJSUEzW%XX1X23ede*+QpyHI zEG%+e*H%=V`qoqd=6jv^*5r3cBVc&J8+Jyb*r`1I9$;aa zi3$Yqz?FY-XKH2;jS=}BpBNSw3U#2i$YsW^sY!N*ah+&ADRdG7yxd{Q~eQPl?9hOo+7*9f7Jv` z>~d_GG(92SQV5#@z%nLa#n;tT-WbvNC9p}nOD^~3cbPNAqYMU|jjJuak4!K0e*!bH zXImWRIkne^UT8=seCZ?8fG}_2@rD#~AP_p&b@bN6Dyj%(! zgm*Dca01ENO)_;~S;2mnAb=sKzYsJ>_doSpZ2?e@l4N1D4;&M9O%s)*-*EmFP1`#n zIODfo{28ipW!M|LolF(|9Eg7KrsKQ2gW)5)L;ox7Uop93qBXw*d%+`pE~__GYh|7vv%c0P6>0my$Wj?t|rA5Yne+;dYq z%NNK+PIm~7gp;BDkP?y$o>a*e#RJ!+)a4xb_z1)V4AHx5&+v-+;w?5%_S~sTHcMBW z2;&;OS@*n{F_`Q2<9l*}Fv(9ad=bW=%(s=4CaYF9esQ_qI{i9RW~{Ug-tMfQcip+( zljA!^#s6^g;Pg%5@&3;3hN*q#MG(D%sQ;9v78l5T#>3!bzMV7J$>E~^um$w}P7jNkr;<44DnA;YGJ0Eh=-2-k%P=$eXPOrM2 z?rTZ?y`Ls}1Ke-+(l6R`)bF>2{9NK^l!0UNzrM~OXiQ%h&NVW^RlHzQbUkNtH8JoC z6^W7S6EYK-EN}ubI~AdlX@LlwtP{KBm|9C9G>jp|Wel$x?kh>MJ(Z65;YJYe%2`6U z!cYy_H<0J{dJ^Jrsdw;LnC)#?5I5hmbmdT$v-nQ>ZSEk=hN*r_j+eaf!mK+^5KNT^ z4?)wDia#r!K`K-s+KjlS_KF3gip4d}##M0~7rmCjD&D;e`I-1FW;;lQ$!h=TaI?e8 zU@>*T(z%is2G-_NhTMgMzhKqoAXPSjl#cE;ZaR-LQf`Y?O0wL?MY_E-_tf*f-zM<`%_=Rkmb)s9`cEg)s)NJL`}^kJ!8?uXf>MG}6Ds>Sz$!NyvF( zSm(t2d9>K=ePYMJB}W!H1pf}Bv5Fj(C^A$_Oc9%q$wh9td+disor&Y; zoVuoOL}<}fu|jC37zCv`m^^wu25(`>qufOajGRN_-9j>4hLPPWD& zj&_g&Kr{Gj~oQop8Uem$fMjvm`eL{a!Q#)(|#fmTAaz{dp#yD{y6qZL%OEFxs zhEv57>}=SR>}w^nDZ+iGGUsg7$W08cXc*Hp&l$6I4;k~nN-M|Q(pFbJd=ZQ&w?=#M z_WQ`1Ki3A=5%rN6b!1FogAvLX0sI1I;S7c_j)bi~&+uxJJr0wNl!(SR^{w>_0*T@v z@F+>3JR9=U%~Nv`&IN_-lEQ17k*Ztry$y;0Q^lZ?G;VKE$MHm9b8#5VpqIL#t`dwO zGIya$tZj#AZf-Blkf(4_U|f?x#m{I*-(ll{p+!uh)Dv4?m=0djv9y;!X-6-QdjBc1 zXtD^rnjQfgVswm=xin$cpt33S$4O|Rth4Y~vK0dQN-vuQshQ3KlVIo|mKJgcE7A}w z5+7lAC{FwPRsv8{@cVkw7PAi|kdj9@g+tLu!vSLQ&3v|=dXewbTH0YHt(knOz2OR> zZ%#hvx!5cmb{J%RbF`%K($QY+)UoDd^T+Ny)D~;>(`{Q(6>B7}8loD--1%Z$>4ebq zYC9Gc5$;q<-3b?sYT+9}8blEjwiSf7i31B$6|_G48=s^}621aN#Tr`iY%Qr4MN!Rp z>dF;!%+(CX7?Ey^2}@_Im9&NLx1Z%J(>F0F(wd7+d}w`4Sv+@xA^}|vWJMR4X5)(_ z3=AGL5>mm5J)cMhTT_4G#EiA}iEcBwv#{P<@)y!9?SxjI;Ixo7?2Wt8c=f)Qun@gu zt02reXb0-L>CV4TVk{XZPvXyiA$E5c-@o-u}gxln3Uq(ShrW__g5|oFaOmkRSK4(=OQ!EZ;P-gpkyS3=? za_lx}r$Qzwla!fq(cy*B9DPHFuZgYcj4R6=7dh+1^1)a2VCIvjt_! z!;aM}iMrGg((*wOrVtUJq!6VcrD!BG$)KzwB@hV_f%v){L|sBH1GnM6g2}?$L5|@Z z!X!~c5A!Rg^gCLlU<i(Lc^&@i@&tTyCw$i+z(#PBy zTgp#R{X1-!>k50DCsOYT+}&`ay<6ZIE_FWt<3n9b;3o0mu#M8IpM|;0_3N(&pX~1; z$KQX-7+xn)8r41QIR4n)ZR9yiS21n52p*IBQ|K^M&#Ei_XX`st+vRvu+sqNx=4tZ` zJr>}<18MtQtf?*B2}Sy3S@mowTP)g*IbPw(2&-5&@WJ*2wh}l1H3FybhPxKP15JyI zgPH5%*d{Bq+0^lhd!}i)-(HJ`JC9~~AdOtLN4lS7;yg+z|y>IAbjOUfvg zZgPpglr<*7@-qkU!;dzF_4sbCC-Q@ShC#=`E!ZW7y1cSwNlTe|4 zzT}(sQ#br?4BAm@a%Oh2*W>opb@S|&2b|pe zc!*x3qx>R0g9)Q@m8H}ve8iQzqP1ZjZURSoLV+1^AH>b>$Ys~=_}z!#u30Gc?bo#v z1UY^2ON^awiSG?o5(yn)u8SS&$xl~`RIVNB&9YXCW_Md?KR=yF3<-Wyf>R{nF+{)k zip@4-h@OpcqCV#)IXS;0QJh&5X}O9$ax{mn&D}y*bKb`}RJgDoE&eoz{VsC_D?*^@ z39q%mncz8et+y@vGwwifQLO1LSU)QsgJtdwc=}WW0O$tqzN*Z zY}~F-cs&w?kMFCYC~vEozL*!Hfr(Ao>$#h*pk>?2d=ZenJbB$|_~bPC*5}#feswH( zJ>*Ki&Ia~~2QlG#zjb54@#*?%rYzv8?4-7=H-Y+Wp2?H;Tj;?BYNwTqlCkaRSu7UJ*5@hQ!ZsYlh@W?VQdZUj4(HET?p+;x*1A`;G? zx2xy#=PsM4-@RSVF^ZY`*~rIn3soF6rtqsmjs>-=HxqY66O1c=wV4u+He1=EnX8N) zs};nlNt(j$rJOyA4e~CMo&}2C)$XO9y^=6)Hiva0U)7iFMzHwT_Ry3Bdf+klTC;Yk z(5fuA5A&y*7clwX{VyHC5PhN-57zKL&4TF$YuQtxUh1LMNAiM4zax=mI`YGYRuw;+ zpt`7|#L3KC*KRg%U}rz#G_A`00Cpq+EkRRM-Zdre?k(U`v}jgR!tDwCoCz*(L=7bg zy{n^bl|swa0^i(%Dw?MUSvQ~$c3EUmA)?v9B)4BHBfgX&R$QD8597DDb5N9Bk6`FoTkipSqGbIdwv*)3d3!I;1Wl=VVvm zLw=3(fvh!;9H)LCzR@;nuj9@Dpe+yaWgg1Tjdj^gevcFImYmrkOEXDnc#| z8h0QR7Ya9?`5YeXwv_pC2pjkHYY@K!Ola^Ahbgc(0vX2{K2dxdv1IaKK9~?ohPr3F zqJe1FByF{Q;;4dJIjuXscFxl3_j9IVRn#SGp~n|LIvxvky6VB%ez3ukvyKNEAh+qK zImf>DT`!6~aI|1HN8~?!dbQKd_C`2cMZPWb3`dtUyFmVyHB8{sQ#%F@;+h~>b0}`# zQ%9)N#9c)wE_J9oJSnw7XDBWV5mgr}h*_Rjb8%e-erp+{$2jc`$0m2f2L{ueq694} zMw~7$Fg^I0zKh>GcZ6DD{#c;$&3L0vB}n+DmvQs8G=u3{n9l@6oE74&sczp?V4Ap- zjfi%Sb9CQ8g)j6Ap+GP8DN^?1=>qg)_;iH)j{dth?Q51&`pxU>x$Rh_X>XMM?&~S8)$KC1td@OW5F6uPQ~Fu6=}HFZ>_LpIM7NyA)o16uB(7F zOans5)MkegDvfhlzFhHS%pDTQ`F&Nf>1=#|viROm(KETk1-G&@3!^X$QlD1{3AZP| z&Pnj}&UTwSZuG9)UT*3xdEREJ_i=>u<^K7pvvaTaWsy`k;PE2h#n0#Ea`S+0{Z*-P zi?RRm4^mQVQdpKrhxxc5wd&)cj_=v1FA9)`Np23=-3mdvDXR-L4pe8){Thig7a~91 zJ*&oEevC=N2Rg7NLM!Nl!l}=hTo^1GcKvdie|FuOl|^WmfCHr?azcvmNl*9jolI*KPH_pGY<@oHF2MdrZlF<^zgno7{*waNI)Sn>thB&*+HC4-|f;d^qq$jz{+TBhJ`s8Hrgn|Yq&%$)xKk8RvdeNpBUdrd2$YpLnR5f4%h!SH}Q0ZfnMK%Xn} z*5-R;$liL>k`<;kw@URZgdFcMer>Tp8V=zUE_p8{%8iV)J(J~LNlVNVvK zV`a}*4dbn!%WB5RPt8Y1Z3Rq-RUc6uq=n)fu1O2rTsEXLc+~kt)u?+vxJCP~nY-=x z)Vfsw`?-D8;P*1*$9{U3s&qTTLahJI@5G^=BP^N9^h`1=Ien36ofjO>>ppo{oXbV7 z-g_gwB_V}yIv1PCeZJ1vgAjgFqRjn^#@U(-+P2r@78#}z56P-+=D{bzSKoEZUN;pE z4faxURX(G>f9>9{c;&Ve!7&nO=cskI=yZ^t)L8g3w>?N`MmR@`?$z($smUVzNyAF+ zhj8Sb3pinb6>Vlzs}xrg=7LqRo!)o-ui(l89Q;%a=P%F}{jkpuuQ7yWC%5D=guBJQ zYvX>^`cX!AgA03X_pA-+SPAuMD!uQEvW*cxX}Sxd=eNU$pbO`~-tJjX5tI_M#~pQx z5t3)89HYh}&$|SJSE!di;6F;f^4+X&-||)E3vCzd$s%s(+%YIf)ksXX8c9^)`vJSl z`*2%m{Mu`wkr^{i1)0$4tyfmc1hcXO-AI7MUoKZOYEbh7^A5Ewf zsR?ne=zUvYNQFH$Luf$;8dQE8uclYW5t0Npc^4KNpd{V8ZcR}ywXmLOu4-j(ujc7C z(;C;Gu6I(tPP4!_G0LK_I#9ay!zP6hcR9ydjBO{xAiZ)R6P({quy2Ta&$cvJ++BYe zo|v=cn9~?!!99oDX4#FmZ}EfI1{D3U`aduQM! zH)ccMD)~4cMU-`o1cgaN0_%a(R37WYlA_t$_-X1@7OS^MMPk?&dE#&%=0>`tt*Vcv zV!cL)Flhq@y96RtUKu>%T%as3^$)O}Qu9`kFxN-g#OY3QmCTeq+p&AiH-a)_+x1bG zEohJ6*}qmJLhEw$CC*va=^XA;EV1kOez!*IzNqAzo*Sfge|CogcllW>@e#W&8zI9k z$c-w2Y0`1t3k0b-{DDft5k7+g8oF-$%K&HYmnnGuhnQM>ZJJ}vGs`9ojf((dFCyyl ziM{#W+<<|1xwPuTxi+NTqD7sEzWD1RI_Jn9MCZ!sD@vs?bY)nc*0(d zOe+82cnXB$XqYwM;K|G+CchnRI6t_PP>T#c;rk{Fy**=!~XK*TV!9PoPRL?BUg0erFG+N2=xa(neE)DZ)P}ecoynV z37C@#Jy24>Ddo9Mt?0W&W(h{pxXTid8i%U7Mpy_Y-5livvP$S^V(FK}Dfs<(^4AYlI97!o)JJ z;uw@5%oC*BPtK?jZTvlMb1lgp_p_BQR(q|7w6K~wIB0R-Iv){c?)A?+Dh!A6}vM_9RMCo{P8ZZsuom?oz6wAh?ICdIyN!|A<;=Z_k(< zone{2I=i!iM0=Zkn>Rkn5_Hh4Qz{VbQd2Ad^=0nFSDjx`SSV$}qvD3Nm$UIAzU)w0 zWjguUi;Z-`R`y%<7arwr>Ah0}9zS(h7f>Y9Bq@@i#d%~PQ!UBvH|n<<7^&4>V`oB} zCoX4`!!Z`mWKA~A63QQo;lUzG^G|%V09Jqr8L7)?+wZrEp|vVn>=VvxG2+mB>PDmE zidU)e9}}CxY6Hn4gfcQl!__35-Z*0p}C4F&icSlAY{#c#5-Kl4G&`0(Nxl|H^-a-hE3K{VOjggO|<-&VD#GqDnemQ`>f$8?5uO* zYkHR@qGH(+PZdn19S21vD)y`)Ii$>8mjs`zn5bA9m#VU8#Jm{i`j`o`BQdEdS2jjZ z=5VT+q1n^zhEUq~Cq!|k_30C4m^l|&duh4e#zO9b={>6OE=XEqCAex)9)bMqmw`1d zx|!wkMh2g-WpY~Fv-1^6JRPH=Vpdg(sJx|-18&x8JXls%Pe`A`x17};?|eE*!qAF| z;n~ii^Vvm=_2*b;2xJ~27`LanW`uZvKX8H*tuYU#ESp;DHz44w`4$wala0ggZSE1Hp0(f)|3?3vXzAL z&{i-Y^ww>Orf@*$otutZr$&-Z=b$=X2Pbxyp5rb}& zzV;f^$4~G^xhOs!(EN-MR5Np?o{#WuZP(ZNk`WV^+C>AF^@wh_H9sExX^3~Z(IMwe z8I{iu&~Tz6r8mMKY4cxl$uTKTnO=;K%thEOUYmX{!%x;Ip> z-527XTApB`Fxyo%9*bAc-VT|^5X#~n-WEbcpPV}@^Ya~p+q{R;HqEKy8xJoDV~y@p2tEB*WDal2l<-u4|pz_&|hCl+~U+R?^B4 zG(+JDc_fAbWB;q7nJ8C_NTkK(lC)2mG<6!$2%fo<<0`o~-?0qIdd@d%vbxSTYtAXD zow2*!LT?~QQRXu}?o-{{i9QDiiYs;b@NIh&dBWP5p4aY!$&~pdqz{J$QPm!tW$yBb zjc@YqOFd0130G&JcD-|*?LEL%=RP+Qzw--A=P;L@-k+*9*RUGynG=rj5b1Ga4|3j{ ziHG7{+oq0K+xGnW(|^d^BKw&4?56QY5KapV@~b@7TL!%=zcOHj@%0yQ)dSbY|B0=O zgP0ha1{U*C1D@v3jy78%=|lwRqkBa$9^<$^(%zr%6bwe;ALa}D66k$joQXiq zx4wO>h1?7zFbxa>FU(@` z4br8wLqf|B?wBiy+_L@ww>{%7vu0SDHq27-qy`i-s*j(ZMRa-1r?Fcp{YC1A@X23U zLVe<;n6({CoMO4~RU-JpA|pE8gk@8e?efYsCwVn~zVzJ`aDIM!wRkN?F@gMqCu6cas8E5REW`nFwilv=W znRuZ9XSf!^v$)b^wIxO-Vy9nuKO*UW%QmQxf~%Rc>x3;X;}TuuwyRBIsHr)BskyY3%(lpa&moWk%E2% zpY*8y`C$`kgGToAIAp=nU>LKr!&wfmomltuj{EK>$J`0i%_MhbA9{l$g^_ljX((6; z2GcE?k>bhiCwwoblt%joA3A|Jp6ksMuTvb!?6uSf;)!J! zb&;gfc~p0KEbzH=C84j*Lo>bhZ({{@EN8LqXjZnI?O4ukji2wfYCSwie;E6}+{C|l zKHmxVqI#5-&5sG~&yQ?wjcfwBCk=WwKj@I;JwLvo<}}h07f=P;x~j*ZV@^5Y?U6hd-3DJ3dtG!vgUb08k_nCuJPASq5dq6w z>H=)mUCOD#ZvUj)}-)neWQilTqfISz0j=mb3Ti^zUY#+ zvk=zo4*X=3b*8zodF?{nT56G?-1s+nEW`oYk99J90?k50ULT)`#+f}Mh(5xkx}#8O zm-yGd?f-_(oh=(w_E3>YG^Nyh)niN2c~Fm$v%p%TRHY+di#KE)$5EX1eMwh5h3#zx zNGtS4pomDPTYn8dD z{PkrDdu2Of>ha)J82E&Fn_IES`^*7MrJ1WF{~JX6?h~0tV(IDg0^ui-rrYT9l5c#e zRb>?2JL%@KbPkil3JU39=vA(w%;zt)jT6V>p9^x#Loq`A8Yjp}lcI?qUZR$Fqz2_t zeIEuUj(tL;_~zd7^PCVG;dq%zS~%bz89R9%4A@xOo($W4<+5&Lh-Cr)Aar3|tA3!& zBKsix+FSQ}jEJSOwso$0%W3)a`G9JpGe>Mf)SHAQY3|wP`0@~5QO)aMpFOJkODJ`@ zKEC1f&0PL0C2}VXr@4Xp+qG$5YFN*USU8Ow`S$_Vd-0l1H#!n!m^TzgBozyv&Wx1e zQoTN}6fNwE+9B%cx0-h>sM<7(`IN?~5frW=u-=^njUlt%#405(WrHU#2Hw@-X84k^ zs#`muW_Q76cQ4OC@%J4CCf@|j8-gjVp(;V1awzQ^+a;v8_AJQIvkaF8=-b~j+5c!? zkRiA>=a9O-E;#TIX(Xs7xj3uleMGN;ROm&`@C9dm@;A|Y)kEONFv@wmJE}m>;$W4$ zq)*0C?lYw5`>BpJldg#ec8X|=$+{+YZB7}N!-GbE(AD@MF$>ZKrF~DYC~o}KsAaX& zw)com`#v@2&)!{ctFKRAXy8`|?vBH=JE0ZBp9)(GyxwJZKtubt;!bHLkpC$1sTzEV z_Nn?Fyy}BQX?!{GgCo+ny*%Y0x`GqhehKI2E2mUn*ZTN{V7ApEBWBub+4mcFW~XZ> zLv{Y-`m|A9ylii?%LhqV);#I&M#?Zg?W{^TP+O6HHK4Y#%E6yY)fjw0F`m9T@S_{c zJSiQCT+Oc^qn}~W?8U6mB52CPy<9t~AMhHi@l{rcws@r8KW~U)qp=C5DsaJRQgPLu zL_iMQ|3YXA^6{r?LWoi*NAKyWs|ZWPLQAWhaJlDnOpYgsx$sKf*SnMfAnJE`^HLY)1FK3h1>xjb)18INsz2tG%(7M%%?L4tF(~mi zBZx&Ntm})~?S@+UFbRcU893CoyeAd)b3wFvgw_tO5!*|$IKjXHk8WmiF4qgPgoq4d z(nD_ClSZX86e}oXKk1lXZDUJ_1~>VW0yX_)f1lDUE$r1!-7S&M@D=qd{$u>ZD>q=$ z;m9t}K)GAkuy$W(ndLC=z4H;5MSAl)+EK{t{=|N>%GaQ$$@T?UNLK#V(EfXq3gW{z zy7?3~ez6u&Znq!g!pRNaD>f^onhX`up~igC{HXO%sn+RP6fW{s2RZHgGJz%^SPdp^ zCd6Iq7nX}^_j9d7c_(|4*QVoa{-$}EBT08U#(v7m<>of4{fzuGs5ChwaPRYgh!HP7 zrqhz@ERc8B;w>vVe6yZifm4+|xuPYe4MX;AOG6YYpLonTwa|8KwkCJ2`1IuY;E|H) zMF*38VZJU7cdbv@)KNxIUEtTsFzotKSOerU$miC?ANv+)R_b39enrgdbD?5c9 zur{Rv3xsWN!)#mmG9ym{c`dKS=&x@4_HxN|Ba*ZkVKfkg-PBBSOH)(Y@Aa~fWU8Old9DoEhAt8jnxyydBbvQXe z00A2SHjw4)ccQc3m86`2EM!0pDWJkX+oiZbztfcgnaQ|8zY?MW`$+MCehqhjm3TqC ze@c8HzCR^4RuDk{Y-eKw0raQL4r2S&;9vW(aex5&Q|1J*{guYX1p?>~pBu#XS0dm` z{_Rfwy)Q3_?XOfeJ`h0v)MsY}0raQL24ep!mz^C1&>ubri2bizc1{pLfB0M=_P=u3 zxj_K^;q!pl|F)H#7s%@Nm(K@c|0|b+6$H>f^*Pu;0R1VmgE;=mR!{-BW{yioaD+r)}_*`rtfc})(L0o^2$;ANz=ntP0#Pzo=T!5_Bf22lN?8tmg{)4I&0Ern;MpySbZ+smpIJ zD*}s#shKN?MIC|VA0D8UzfTW1=$|Zr+`pRfKV$*?-`7X~m)-Bb(dqu19qPZ-asGFA zmVbAUe|L)iHyz<$%KzV1+W$L6{kL-d&lD2qu-rT#fc_{dFNpiE!gKS10Q!f|!wLfE zPniwG^HHsS8S1u1P2%tZFKA=1N zDf6;|0Q!f|%LW4IPnjLW`&TY62MC})e9r%ay|)0XE9usRad&rjJqL$CaQEQuPJrO< zZb1UU-GX~?ch>}W2^K8D19M1s`s<$WyE8riGk50Re=g6i%{f(P*Iv7-R;_nQ?IPp( zbzdG%GSKmRJ{K9!ulw?FlYx%k^Fb2f*L`_-$w0?%`Mdx!(DD0cAQ|tk`|`4pfsWtv z*~xf+-Itex40QaS&q>Dn>%P2PWT4~sd~Pz{U-#wZAp;%1=YwR?ulqi4GXI=@D**yP z@(7fEeFI4(z^}Ul0U((KO25iLOa%Bv0T2L^OQ7_t3?!KVzo-BLK(YyxewBfw6W|vm zp#3^Q-~OQGSu*}fG(OA5KWG8XS-^jY$7lKY4*>}hkHCM3$Y&Y(4k-*=?rd?Tzl(+bHq-of!~Kr|{)`)+0pA~p4+xT6&*^v810g=(AE*xq z!hFx^R~d+*{y=^}5bk?Uzsf)i^#}R`g0SCn`c(#E?mrM95QP7p)2}iREq|auAP56K zr{Bv!C=mDu5(I*9;B)#__6&aim}o#)5cmfk1cK1ubNcm55G}u9!oSPhzeed_fezc> zVeX&E=bxC{=@~`2fYbtZ1XfuqQztT=pU*+|6BoS#b;i%;(EA5q0{#T3f2l{*$l1u& z-r^Z#S%8$9-!T>ftGbn$o0+4MqnWuG2$21*@BF3+{ZkPFtC*FOgRPN=n7xUrm9woG z83@Xm{cM)sks9zP8vgyp|D%;+paJw}8@yT!5CIa11m)FkENG}H?N;-UjaFIxv<`#6 zOupI`D(GL zzmTscjX}u^*Y=t5#-E`tc5OQXp7i+1;04%+B_Br_a}^pTp8a5WJb(y#GCouA)0v0? zz?t5gRsYjj9XW+}V>c>OkQ-^=84t}$?6GgTpCMrzE5;E;2kvqpI?+K1e7qeyJ4`a2 zDS&@#pkv2>ljdX3k?}=(D!x(E*b4-VpFgwp*&i4^}0QbF@)_|ix?zUt12Y=vgsmAwvceZC&#&ArsQ4+=&?CdXHOM2v~cfj#AF$EnjTV+DtcT|3hUrm4} z50ttL6D9Mo$v7W)26H{oEIfU-Sixx~#6G}Qcp#xCR?%?4LZm}N_H6mLO9`=tHc6vF z?Vx;xGA&-}S31v+$OS`(Ng>nS;AX$|5l zAw;DD2VX3As8RY)@5VGYymr4b-B^`0D2!~tHg?}TV&joRtus1SP(5&z$D`JH+9X$^ zsmqlLf5J)gOi0Qg@AxRMOsJCzZ7mrm1UbrkZRYj1B}35XS{k`N5K;YI>(SA4R2Ck?)&{ zsMp^c>u(31nz0*(7gb7x^^%Vnvf1d*IxpF&&k9tvH;k3N(7Nw6G3+ijFJc-^cAajq zI#=P;8gQ6X;gWupur00{T?~^|MyJO2Z4Cay9B)G4o(%ao_%x3m2OZknEs+P!>olAA z<|vJL%ut(7Mu9gT!z49fp#4QtZ&^k|!dK2_!`ufIQihiw;nyipn5^Ul@!k`JGa-|rd zVRlr*4?6zfYG@wIHX|U3x~cJon%gllm(aAQfl`Auc2AGQi4{JBnOb={Z?R{R)7y=- zMpJ_sWK);C4Ok!m6 zI2xMovb%=Fd?teML^C@oVj)OMv78QnTLOM4JX06&csI;Ntd(bqfFH5N-oXOVqkrl6 zB~pnE$fQb?{BwEnaJaxBEoJ!O^VY!gUcbTZk&$*iu zAy~StV!{nVB_VX8S0m>fo@!nkR_Q<5ar_cpjM&4FVv8M}$W@p*<=UOnBe5O@MhD5~ z*v%`STQ?ov(Ua&$?4NHQmX=Q7mB$-bApBBEF(syFphTwcUx%r?!69|b;2JqCk$#}C`ng;CpaUXNpHJ~lsB#?r=f$} z7yP1|XutD{RA&tX`d^L1XDIPE#vur+0RB7>)ih)iZ0X@L*VU@Q*>_lvKE%cnn4b78 zfk&qPfMJzl4JSd7MA**&fa6AsLm8m}H%Yx6vI;xHzNDPKW*BGtfsI~c7*2?`Xai*L zLA!XrD@c~`zQ<7G#v}YoNCSTgXwz!BFRY8LaTS-D4(52|?F849W)JR38h_2ki3WRjpZMcoXEj+D9Cn?Zg^0>YF$MhZHwJu<0JUX9(^h zTTI!=0MM}^(0(4~3D~960V~G&Hu|>n^X{A>oXsLqvo>uG)0V_&u1pmkwyW&Z{ZwC( znB2j4HW#Z`6vQ2JPC?h(vX2&gldd;xFCu6NzM%L`Vyx}mr=+kfZ;mpBtxJX&(oOQ~ zVTjtCvWc^M@Oq~%Z(eKRaZ?VCm!MEaeD}>GVgT%o9V*YDw=XuVM507QaOB8h+~(>t zX`cvzcOX15h1jvcxqIZB9#~{37~5H=y?%s}@{jkY{xG*)AJ0zbrpRnvIlMJ~tN7*z zhH}QC5=xQ0cMVlqA5Hzpn~h!o1iAp>^a>$9oCTp-SC11EB(=4GJADcD>%q0pG{lcF zL9$E${S(FM*GBqAwMI3uGtd)D;VpqW@Di%~<@eCaM&o+%55r}xzMofI!v=99UWLa& zKa%999@chIF}&&0TvSniLS5E74c54>4bEcrmFb2-qz_@bT#y4pF%NJ@;A=d@c;L@P zkwP=xC!~iWlp26N0M{UfSnjV;fmYCrn0v)f$t;#7ec^!*}Iq zQ@srI70@g09(DDLdNh?IngqAUxGldPNxS73uOgYvb6)SW(3PxH8XY^n(1r8UW~4`Z zjQtQ%9QL%1WLvSa2XDHMV%mN6$d&oRA-(ghspkiTO3zz*Mje`QtRcr6wvVEvPNl0d z@eST3^*eKCDhMmp085AKbRJUZ8H^(GwroLx$am0Hl1j9_hO5hkjk~xk%C(4;PQ|jB zNA5NGmU)E>w`|2Xo0;lF!lsIB77l1=YZFEXV`?u_C3S_RV%O2yqBQ*%a5*pDv_vxO z?Kg^glhlCxf7#7KH4alRUel}OE-p>+&Au#~IO z$^J~uH*eTy?IxU79dS)Ic7MKu>Sm!BZ5@#v%(sUvr}aYM_S( z5-%oYd{!kM$Mq1skS20MWa{O1D#iy|wj3)rWi0C}vfZU0jf}jIscYG9V3!UNW!!HO zYY+vGR)aJy50lAlMCiQ>c*SZe2|_l1ICLmRzpfmrvFsl#iL<4exE8n3rk7S3e$Ob` zl4(ol2|ufzPhK`TQMQ-O4?|j5W#n+R7{O{`VGw?3*iRdo>V1khv&C+WlIkw28%d*i zlkSEH?}9Vq(pv&cytG8y*3T8Tg2Ml{N;tWCvK;06`*2Nch1<*bLltwGF`>Z_pWj7# zBDitAQa8MP;6FigP@YKmasL3@DjL@Jucp*z-SBTrscamaf1XkGlt!)l07z{|jLs_p zObRnJN`TN$vSeW|En7%87G$g~ZMS*C9(*F)7DZ4oq|)#udQIKFX2=h{%=;`rO;o`i zkJBk3&ogC8{0^I-Z1(kt-XsH9;%f7HvY6Ap1ZoCltzz17!d7UQ#WpM-gxA~9JQqw7 zmRdoGqt9r*mNf6H!N{kk;N&_=&x*`NlC6p-;$*pA7e^gGp&96qm0#%UuUgt$!po?r z+EHwXlgE9m0CU`1KiM3?llW0Van^!9WTVB8upv($r}6qbm4D})$NHSscIevt)!S39 z?*x?1?@We2xvG4c7HHn+ome`;^`CY;|5uIotiJxDk%QFlHL!y; zSruoq*Xkgb5=b%D{5>BOnFXrZ*2uz%jN>2L?4Jh0Kb{42y^FE4hXaU!=gjBpKorRv zIXhZ`To5b(0LWzW^Y6JO0A$SneGbSoAz|g{CUuF$Z zE&ph9Q2y^m1q~}xXG@S4|4iaf>i%<_|4nlL&4T}U&-F~|vy0Xa)KgY=7SE2>-^SFh zoM#({`5(3rkS~kX;=j_rPaCiUKsLU=Uo|@bWX${fKmV^@`=7TJJAjAt*=)%AJPSSt zIsA-v01f!x?06stg~iWK`pqu(+t+8S>M!3ms1)Rl0{-US{;M7E*?Rjor1yVRJK(b~ z>2HwF&heM`UCFGyjoKEv0I|rTce}`< z71oS;3q9T*`XXo!cg-Y(vkld>N_C=hgPf7{I_J~~J*OhnYhlJ_9uk2&1==!1A0-jY zV`TRRpX(^-wswr;OR}t5Ly;11zkiE5w;)7PRaIXHQSEiVqERJ-W_twZTcIMoR(@e+ zfkjl0r4riG?tw|EP*V-)`%PT;kJ@OVE=2ELARs*wVXje($YP6d%PA5~`>)<2FFv@B z-epjo-ftyQ(S#Qhu|SOp_}ijoGgprS_a=III|;)}kl_qcQwa+`B?9_f^^nVw<~kcz zO{l1T1=pHC=eaUJi3) zeD3Q?-#tJP&|e7fFhGY)JhVMzf%mG}O`W>AnXIOjLc(m7pU zH=EU{Le6a${0>H!RWl5p#%hV8RhQKd{)zmUC#wUt8#~_>PLAKLhwkuhkbKNva~D6l zbR3?zt}?6E<`TJy-f6)vg|^&@X+RtbxzBM15A}{$thl8YsBAw2pY1<{N8-)FS+~u<>fC3C z?ceBJuD=@g)If&#Z2(-`5w>?1OHI_ZsWk)a{?ljr-~wq!Ym-k!^3~TU#B!Si7-)8A z#E*t`a7`=7FPY~MUqX+=@b8{Mk8Z9;1D$xi)1q*_5lXE*i+gdI!rU$=93o6J;B~{} z-}Ks>D+nH&h!6nc8acl;KENZPG{N+gAv0211kuts4AOl~5ekYT)@Lp_#Vg&BLvxKb zS#)qLzz=w*EATp)ne|#_{KtS5d&^)g{W^lNn*?g4mE^`tfpJ4;Ev|R9yiIR)Hhb`Q zWEhV^lGb5(7Kzcx9e`gaxKpdH?6x4@yNsx9(cNH)jc_9MkU=LB;CWp=rw4T*EfTd7qKHx6RaWmP>lye+5%Z^(> z>C;9JQlhGvy9X|qdQ#1b@RKshFpz1=j2wI~*Ye~W_Se{s%U2~~mqB))(mn{08$9$e z-_Hu*vrZa58XoH@COOb`Km*9Ljsj*>?5()jXK&dYcI6rO9*Yw6W8MstvP1)0O*Sf9 ziE_dFrIyUSRvWzt+-02vW-?5h6HbiwUkqeRJ)Y9}xbd#Tje`r2dQ_NvO)OZseae#e zWboR_l#-|NMo72|=qqcCQmo9cQqDYzn#t>xg_Tlwg6Fv)p~PakSZ-zV88`OxD>vl7 z!a^Yc$2+qwt*H!+?N z+vP`a+kSQDe=*j7Mtl8@u?}*H{zclTsY@qN0TJ2;8E=FNB8b~*2M6wyemouFk*NxV z)xM&m?%Vq6Z^Nu91ZQ8;dj*}oA$U`5=e~&b_%glbyAXp& zOBB~hnR?sk1y6d%u;Tox+)2!8+dc+F99Hkz+$kHDOTH_xWvlc=+Eg31aF@P4I4k{H zKL%IN-FA4uEW76Vvh(b*;nd2&G|A`f74H_*rS*oS@ZzBe0g`|$a;a?1QG&8=F;{k> zNA}`ny2;)B(xH@Y;mbFf$2a_;`D;`Z@B3B<46x#>Xyd zOeuzDFsQ4KUi)PhF>kc(yKD^yF!n}yHS}^Rw9~!TL*{q52r4rv23rpa9yz;)FDEVO znmWLR(+>%94j<`$jka~>C_z|?iOn7?Z&>AUQVi|nUP0oJ(L1g1N~md!#`qf|)Fuq8 zwgCDYR7*mop!T9b){&OhcZTlqxZc_0L0@p+OnT{j--CUVA=lB-#9y`OBDE|_vtWJQ zJhqtJ=e2E3dJJ@UJu|0@?b=gO@%jJK}y@N!q;P_(eoM<}5rjT_J;v`0v+!Inn>Sn7P~_J>8iB^cB!@{6)34PyL#`I`X#KEyXr*s;_9~5YohqQn$x1 z%IW&ylhM9p@Kbr93;T#|%-?G!SbSW~853@$hiHXkr%`$Qpo*bkKKoFB{5~d;)ubhq zkwBBV*ZrHurO*fUuS7NOAwOo+4d(P z7s|fJF)KisO@aB6UbI2Oh6K#w(BejG{5t$TeBMKQq(;~ZW)D0B9T|cZcNJCc?TqEuv znD8llyj1==8?s7oXeX1TXpEGHLMv|WNkO=Z`)$WwUZ*DUQ<#vgYoFGY6>I zju;9`^P6gr#x+dPoptPGFaiZJ3V#`zZypkAE3T`w70$aRKs@-PL3YkE^W+AFgc3AjI$SBb!S7sN}!joQvm7^~A| z^pMh~+fYf~Cd<#`5&L&|G3p>q+2r#pxL#r8_6idw?B>)XEx%LXMUb>yR6SvXCL)~G z>A?g0(Iu?d&06iH-qTYwAM0NdrhR6--PJ zLi44X$j<$Hr3%&W7$fXvdn zG59i469WT(`!{Tmzej+AdKEObfxi~c zJa_W5(ed{f(BJwT_-pwL=&J}Q((|_!G=DKk{#-osH;}@AP?O}(^*(=td=8$!geK~# zNI#pq+U~Kvg;3PNPd~&)@TopM@dd=K%xP(U!i@+VLDn`QhsISDK%|!YleMwTOq6DUBH-B0iypDV$Y0u*8I$8Bc!!0f zp>Y?=;YD7e0eX}o)v5sRZgam9Sl}@@(`a@nC1nBX=#5GiQ!(c^ye-W6ls>hUI}WtK z%w-zQ%)dG^(tm&$lg+iVG29h!Pub4u+OuJrSKEVc=}DP^-R`R}9y>_ao;n&ZyGB4n z(g^)b{YpRlD>_GiQL zO2&BILfp5Q{Ov-B3zqa1f)@>t6t~r0$9_3O`b+WaM%KKMxD5~bs;6vu>^`P94X$P( zli2LO!nvNFL^oX?-t7?OR}aP&S-gl6%V9Sw)~s1z~a6h+ek)1hwCGq!=2~J?OKrva?r(^bNpB!36DjL$k9R&auwOZthb|YnYpNktN_Z zLMSem25EAeGUC6vX6fRC7R*>tEz_Rk&`}1q#k^A#S);LK8P>*Fp&82-PhSpZM1l{^ z9?gGGXDF5RCCJ_Yn=x_-L40vZq0&-T64|ZCO*)hYVj`LQuq9^|wAG~4(Km*uLc6zd z+WpN4ArG1k2K}Z&sQ?I#W+fJ2~$h=RI{c(mr-~YrSi@2Uj2)DhN^~#z+JkT!#Ek)iVfH3>PK{j*W#q# zCpNto@>k&Pd*D;q77c=CI;9Y82lNG5sS&xov}FW}0bbL<`DWDB-N zFn&WpL%b-rt8DWXreOfTBK+$5xjo`?6KVFGT|?9e%U;9v>}>GCz9RzrJZ|GU5}|Cv zLbyMTllct#eb;@0mcX{AvJuOTR$RVuyzu~JFM^y$m%4{RnkOmtq%yRXotWXK5GE5| z3-TByRo6p(1x<=)|DDq!4PVeGd8V>$vL}%vb|yB2jrlIQHK1hnWrIY4sgEy9(k#0# zDrOQvX=%CxOn^JKe7s}65N7cjy@C;N05>E+ zieZwS1Hp@5ZkG(Veq6(U3?Ef-;=O>W=k@VbE&(RV#)l1feU4E(aj4l|oX_l>&Vh{J z?*(vMi+P&Hez3dtE}5203s(1>5kS&~0l&K9sf;Y9?@n3!&OD-CB!0Lv;eF*OAx3O< zA6Qmz@^~(bJ*xNCm+~Fy_q)4x-R7?(U+)gi*V-=zuUXe;rHDf(55e(;D`QIkGb@E++We_JgR{h^80ZsI|pRy}~Lrg1fQsBX`$T0w3K(oX1W#-hrL?WmHE>%h*3l8Le`)^GU3 zC6p|LkiRC(nO%QQBvPPQ%0+G+S}&=LI0 za@OH*=@6l`NmkAZGfaf^(^WK+^BGKT;uWCSBa|w&i5$7|&oCxVz*ua~;FQ{BC(Faw z0ks#`W3PKHU@d$*AHPNKZ>AV(=HBDz4Ko%!dHsM5;4?M)SM%PVl-U2#+5C>p=Y zOmf3tltd^hjBdZ=n#S5Qg?mAe5#|%~Db-t}FkM;F@Kxrr*$4;2I_w5fywA)=Q3lQm z(d#dkh{pn2G83px%_FXe<(VcAx$)iu2*E|G)-u~CA_G~f z@~E}-nG{2-$R(v2U$PA~>NxHgu#2np@(y%8`wkZfUr&soqbPp(jrT!9k1K6N2ySlW zgr68mr^hldZgusQx5|YxiU&U$hch;OVjb{yX#eMC`;(*g|3GvN8yokZHGk03o!_Es zc>fnP|KFo%o?~?We-vHw@24*RpQ-uZ)!y)58vp;hs{MaPrS{*GW-fM+D)^soIB>Cp zq9^}ltkJKxT3GyiGT=`|_c_++`3jIG|1+5KubTXyWR{$norSX{C?<)Q{ijjc%GTM; zk?c8$)Y(kT>^UA26x;dpH=uQrfd6in3vUl^EVWNpPNx-z%&XFFS4pK)1(-AN!Eqr{ zRM-h*Y4A|tau8yeWC$#1QV@{{)A8UzvP9QrR3nIdfv*n8xS~XL2V=mY(RD+40-OAE zAQ%!l3=V0!0e4?JPv4&2d!)VGUvrvl9(7X8ER|7%gy@n6gHPcxbKh&5BE|+ghb&3e z)>Y?Kt2BV2%7)Uto@i-o%;Fbv1N-I*7E_1AS^BVR!2%(24Y8NTcv#iuYEx@NY}knl zh-t2E%q3yb1UKfEXue20s#@@4^29+)hvwniAM3bkxmq5Kg^-g3zx}}L(oi=!_j&~; z&K!)_X>V>ml%)Z~e+&#@I?)jG+3KYSQP&iEXQj>FWNF2n>EREs7?|p_rKO`oW=e{$ zP*VJ0F8U`8F3`+s29V{5hF5pD$T9rbr;t?ZmQ@Ct8k018{D?ahP`bs2&bHto$iYqk zyoKnzQwq}S9w-FbP!k427MILGq@@?g{x;Mtm1MjqOZTnW2PjdJ4i4X|RCbHj%xWg6fbY7f(IMvOmCs2bgN8H zHxLM{oLePcL(#;??*aRY@e%j@cj7-143YJ8JqiBMjg&oq z89`$(4ZDDLbzbFH5C+=#QsMLO7#+Jz>OLn3~Zj5>WP&HApo= zio74e=!u`!NJfwO(oqXPaIPL6k`kq@8{{0_@2wlONGA$il!t;i?cbd8)hF9@{Y-9aQOnu%QhA%6HC_}Sso)-66mEt3iOeqK%7yz&? zN`An|NQ$vRkvT;DsDX}Vl%PlvUCM#1=;kI2r>SrlAtt^mH&Bn~1A6hS)MK+8!UgEO9 ziJ7|k+IMSnd}86dE~5sN!Nf66*0g_mWRj>jQ<@I;NMW8*nRd5RWckYb3fXxNq0<9m zeY&SpL33_Xdko8R5=ZwWUAeP@;Ttjq!(QIw3d>^~N`5r{|y7ZQ>MkL5V5QYo9XYBsbF`b+1f6H&cP6VPt*P;8?sqo{AzK}4;dc&=?eyeg{Wb&ROOfa>)alC<-qHaKH4l#qr;^UAVk zk^m9L(50!nV1Uo)&H`wy#|jsm=Uy7G<~3r7gv-{&^A_HflaAw_GjSlw)(3%njOVom&P>4f?Vt8Psn| zZ-*2WRb*F6JL(oH?uP57lkC(w^B43A4+q7X<=*LtFDf5b%E-wns>~;R;q5O~u%5&4 zS;^yNrsnKFuqqH3Qr}@Itt%|fUByw|VL^~l3?kXBw5L@z38$MXNkCkpXNvt+k0J0$ zPd9I{DJlm43)6=J*GB!9A8HGDSb#MQ0`j!tbt~*HO@oKz`bL2iz-T*$nQ>!0m&zJ~ z@>k2Vd^&d5FMxFeHrXdxdN1-{Sv05(;IUMZ?6Q2yPbP|dY);E63d2#W#9JU3)RxKH zFO_I0Gz%$pQz#``NV7aEE&cMX{u@UoO-z{;ez8r%$G3`#jG1{8C36QCr81dJRWgby zF-dr3hk6E?t$kB-x`l`8*P7QE$z|5oY66YogF8ohQv3T+^yq(kn6{`n_(2W8-1yzP_NKA8?Hki~#cJE|pvqh8f*c}bZZ8%%_ zWaoj+GZnK1$}nYwA<0_#TNuct6bDv?cgNC6)J`ro%JNZ{5Tf=sM~(@z6^$8z3f3!w zu~}6gPG(aQGKvkcVt9CQt@%Ejupa4GWu;jMhc`=c<1^w>9xfhOMLlo~>Yb|o;3yWG zSJwZKxKxT5Dp_1iO+!G~Hd19|?x~%(#{Z%AW2Lcq2I`W7eUgGrbn?Vwa=2_v^4?>z z(^t-~ec$Tkw?Y|2KDtl*Kzt(+nl#odL>vDk?4)P!b%5n|P+*m0EiEfg+E|FaKkvCL znQ3#xcwi)+#1wm#WJ!cs;b}P??KB`!I8!Mr-SW;9Ls&q^B9XxhTa38)h0VbA1%r<9 zR_D<+w+;-??Jaz-Y#=j-dE zoyxYgt+lOxw0RWixU}drPSGADGJmJ${6ToQucOg_ux(d0lga5c1btw2f@QM2YPwtC z8dILZR^b?hsidK zSw|S2jKFJHia;DY39?t1$VBbHzYY6*>z-t+2b!faZs|X>+MNY9S2IPM@7# zm^Q^%;gKkgFv>RpeR1ebco-e9y%NsbFN5sOjt6>Pk z#o7u~2;Pe6#_YPs^;Lg%;QZR#NiK9;pN2jB0!%mhLrPe`W%sOmVsL_^N2hn-de_^o zU_e3mi(*zOF8X{M>KCNFf?dwG-A7as-h71zGl>`9gutKJ{ov8vvlfP2FY+?z*B5=* z{W1g*U-07vAOgWvfS7(=QSOlI8#*n~tiA4X-NtP)7~wMfR3XRtKxcZrkt;(y1m&2r z>EQXP&0cleUc`kk)aj63s*JvP*&#Vc?%U+01KXA;fgY}!c8vJPK&htqU{wxdX0Gkm z$9*gmm`SE_j*i%=iX>!yG&!nBi0ssN^DWTGexE%?o8n~98c8t_mzdMUszhweT4*z45n4&%!9O0 zbhXhyT7M1_ECH7 ztHQ~nBv=41xWH6*b||!(W?<_%URIZcZ4Xyl#K&_tA|YIb1P2UR3~9FW1b(*IcL{74 zUTi^g@j62Y7qk~-9>M&=S=3boHaX^eDV|p3nIbk;#O+CyIc`((&X}t*>pAydd_AMH zjFrd6+iam)Q{+u%7x^3gIcp1#)m^z;(*?#|YXpwr?lXuJnO?o)kg`rlmO_%pp&9%30iFS!u{kB9iytQ-y>PJ!>4`j^ z-#eHU;;l5wfy7n_>2*E=p+npQv_<&XTM7iE_jx!Nc7p^=Ve#KfYfwkS!}`!7bWN5* zzlH)Yj|( z60QO=%n-UkjR;$c;s9L|xO`6cX$$&+m^M6dtjnM#TM0va zW{AmKnu$(~o~3`+vWw4{+K-HwuFn=pgrTDcA45)JTB1O>m$`{FeHt|O&|mh#I{>RV z*wU~PKbYcl44wkhd8AQBq+fJ#Q=(!jjjatBA(1OYQwI%qZbDg4g&0ziDL%eaDuAXr zQ+8(Y3J?pV#Cu&LM8racs1%O&?mAOkx2w098MK$9Etkr1>zSwg>Fb$-6qM6RUu0yQsWGH@%4#R-(xS6-WHJXZ6TQG{ z1N!`p!f}KpyCnq3m2xN`F^mfsamBr8c@)*(yX5B_FN80KRe9&=Lq1Xv?(lZewd_}g=i@epD?aPijB@e2s%=c(8kW_CH!SAsSj z_x8k)xl-j>EKGNX#xhoj-p_95rk?7#X&h}`UqMgQv-sMZdYFoQ>Wgm|`ReVUvT-3a zzIQ*|Z%XW8d-=lvOI?=`4hn+RIt2SOn#`A|5HfcNLy~4pb-DR+jakAk3?n5ww4yIq z-bWl4zZbBt8G&+TY>bytLes9`HI<4ikZGZk1~yjgNY8}o=Uk3P>xl{b3O^1Xns`vM zDP^X7VN0!Z3f+k{&FYE|TThj=93UTF)$R#vJC`&;m4ryp`zi)OKgHt5;^}mp+{9hj zDSjHeMqKye(<>|uEQ5Cd&OP*ljxWW9F6THZ<&jt_cE|1?=vwHC=svMgc}k7NY2qBj z7s)W@lg4;)JWdA}Z)Yo12UB#X=Fmh-X})u?5wYp%fRYWYVU6EJ*Mgt3LX~z9f#x(8 zhYZSga}Aa-?^Yx|&FLfAqE+GiXiREX>}qm)eAHul^f)BNh7MIDGvvE(Ou$~^2dNlI zJT}SdL?SBu(XBf-@WIahd!V<5CCQtZZ|bgP= zP(?9LGM1FCn(B5~3x8@#;UU14h-Qyu$lQ<|C!9^QvMVoAm>uQyVAy5;? zQPt4E)G$`Cv{SHCa7`W*STI!>!DnM*XQNm#<&vhUGZjofwtaD@aSH9CmgK|~FliFL z+W;x3tIEaZaF-`V0qfiHUQ^JP_2x(6`*}SV(T9C|-`nHz*whf(QGo%Lq;tww87mRF zJUM2S;qH`yYiOMeS(PS!@!3f0V~r!}y@KJ7JOdc`3SYz9C?jc>h~lJFHBIxj9F|`D zvWe9xI-`xhc^||_L^Y#Wf|D1FjGAu*(`IzEWeRG;Y$usgF>1(+v8f>@E4^CLk8VpJ zR!I(4I^~*WwJK~?UFm9P%+>_oz~N&Y#jKDvq#R4i9X1CYn67U+*WRTt+Pk}~hvJQu zu<%GA0WR;zIF*Rwjk>}PtEt}D!haiUj^8&V5|uP3@RMVcl#mGS6>yirf5V5PaQ9;? zB+*GGDde-7KL2B6j*#0*1FJ#jQ4!-clMmV1Vyhow2KgxF{#a|nV<{meN?mhjXMv-u z{L;nztbM!rZWQvH<@cR4e`=GijeFj**SJ#U|`IUwj5j`o|s)_UcEhG^9*Vv zm|qjqFy_KPAi&>rMaRvRZOzW(CRuIcb)cw@r^+_Bnb5!T*#ILJQ-BT>0%VfL*Y3JV zktw_`q1J5J4^0l%C%TN=uGxSU5rk_DZRrug)cZQMo6APERlRr;tMqP%U);H$_t=+D-ifYplgpYNV!DxK1+F9KY>0`IpHdgmV$-)) zAJMHDYu|yE_$!lxf-_sO(ILkG0wO$ovPg#B-jCM&a2)YG<0L~t={XVNsNt(sG6HoI zN<3qjlSL7hL)kc6er5!T7UxLYO@6%-0o<~AMBVl&nDrg+kc=n|^s;?uYe&sI z#_0@pHca%*fo9_&XN=bds_M-D${A8P4!ljU*Janb<;H2!bphia*n2jmjw6&r23Y1osfBf5;=Mn;BYf3g-v zK!Tw-_5K27G{dk&eN>F+EO$n^Y)fe-=mN_ja#d(JeJ8l2EZ~ORP^pJ zh(^9_1!4g5Wt8di2qfUL?u17A0eX3;uib+m7*Aa*mVh^q(nfjqdGG7^XITCGd};l| z^s4w;p|G~^wuox2tK>3p6%haIhu%v=+HAt)?sL*#9vXRPHdaVnNwmnCcPW2Jt zJ!XWps_DC9AY0j}l~|3c(7T#|Oi4&mX!QhYswkeUv`qXPfa^&fr+xcc;}N ztt|5TQvsRgSkWtq!DTeDKw~w@P*Ep9n5kOC8+f73;xfKt%A#)uLwLCP^TlPCqY8W3 z$L(aC9a~5g6MJl@->7$neb26Lz{WXM(I0 z#tdqjEUKYOrK|}qm5q8djb7*rM`h5LQk3QJA}4@*`>ol;;UP4l;`MyreC8X7AyG^H zwMZk0@~Wl}r-ne3D3)=8j0`j7pv3<2?2ml4Olds9NZt~rSny?g)rclx zW?DskD5D8lRHLQ@i32se$?CG{{T94^a#huO$*4?nX1&Z>w)JLtyNb3Ag)y(|zu1OR zmvD2&j7{V%NyVqNa15S}F_jXG5oNu;x`gGh*{WvJj^`=oj*lTMFrSVTwoVR78=rnB zo;qt;>%l>6l_kV^iNrT=i(LF>k4@XyccE?V0Y^Ycuvl_Ta3;qz&A6k_JJX}k1Clcy z^mMqM_wX<>#xW%%2QpMF+m-#_$&{_A;St-`S6S=@(kHGm@CO^SnYoO)k>eV}y<3%> zP(PYW;X5`rtS#BTZb*|CE0V^@H`gpzR<4<0Gf|XoF=tOzO9(KN=t=;s@d+HY5_nxy zp_&Iw{)*gwug>?OHq$!4^ulX$nYQdw_AnAPBJ*g1+c;5`kk*8fYq(n|)mhRo@Y@Wk z-~)$5TU}SUFdJwCmO#r}OC?(0YKQH4XcB$r8LiKMoSeOHv>n!xOk&$%7YCx8b8e!p7cuZxH!| z*LFPf6A8W4*18EDKj@nwZh`MNDIPg#HjF{1EsRIb5#^E20jhTw`6+G6?z2h~zQr}>m|LGHELt?X^>x${XN zs>a!5%ysMy`nDd8FBBr+J!!XyZoi-?WaVCVF8b%Q$tkKE3f)n`UgNRtus6hqw??{e zp&tOraK4Z@7rjmB$PZ|CB9wx`g@LTS6p!?2H7S0P>2HXius&{hKGHvu-Bf7y2=+U! zbUj4~ZqYm{mUqcNV3zm2dW5&@WqX9zo*EPEW>^88P6F2h1kV&5Xzh0Onh-}laJA1R z*FsvMpD@+Wf|_6%Z-rN)aD36Ob3>jWuT8L@U`e`89>_@gh(V{GOwbAE0loer$Q{e= zGU$f=u}^ToB(Q2g;K8JRQ~wc2GWg@cgg*fGMzC7q%&#}-!KA!j6m;tC1!YHs-AcM6 zyuCm@$9+ik3obs#dxATvN%IRv)*Kh?W4GKU-O}Qp5bTpE-y{_o>^w)EW@$pTxrP1G z#rFu#wJGfjHVNN>@3#qi#-FtZyD{kL3#L;YK-#5lyK!HGJbCtGA=cv7w+$?_^KBvgx=R+TsFV=S>Zt7~rJX}?|D(DfE^Ti^ADUfbBUA*%l7sWGem?&+35 z_w^>{Bg@+0`c3P?Tke}y9)IrJ)*CSU3%4`!wXM?)%C_`k9< zZr=V+k0-aNP`3)+!AQ3X_`RXtRMG2XZD{(N#%*Z*XGm>mR1UExJ)B$vt9|u*8}^&L z-d(F*(%wU>T{NAFo5*kARyUd7zzMFgeZ%zaLHR~Gw)XlPrEeG3qkKkh@}s=-Cfzqm zu-ou<(CGZfs8y%?%ALyu(hu3_+)rCfPWNu4AKu(VWPB?h*k29*?c;66wgX=Nt_aV(%-#Q6jOK>+qz_o zn`#zQI6>up${E;)dNaKL9GKDe^t_(Yc2S@4?G49=Y)tN_+JXHKz*90f-CM>@DL%iO zdTt-y&;Isq3b=p!_N53f?VQA>XiXeQF#m9tumJkCTqupOC8Ki{!rTA=TTsLVFX!5O zaSoE%!bUW7KCbv~J|ud=fy5_nWrU$6!S+;_S$S{jWYlJ5Y-ZCbax2rO^+Z{;wM~?6 z4BcsKPmkL>C{{q$zJ{Amg(lMUkR_uWN?c0cl2kjUdCs%U?C@h?c__?SRs~Y^)tU`I zwpTd+I^G8h-?|xd92{lrv6%oNW9yF* z$UzKkXuW1)Juxz4K&Bn2YlC1iVs2fPRt{=z-BFds?;rIQM(G;DYiU`uru!1Ym(7aF1gcc5u77q1JP4madWrQJKtzsshAit{G zZp@5*dgp32rFmNR8a4hYd*f0eF3SWdKrOPL-BT*4#m=4FKOL>y_kNwwlI?L0BP8(1;Et>atjIQZ!gPvyX4l z%;ekFRvgp3X^K;W0qQ+@!P3yLiQ!;tm}{6+Ue>e7`?Xhhf^ez0e9|h0`qy>Lo*kZBC;g z27|@xhlIH!_rl-IsS{YtogMU}5II^K5~GLwQR>0oA_n-m4=KXxoe)vN-) zvapVm6efZsD-0(4dy16$X9?#)uIqf1_Lm@ z5~*H?T{@47qK?vr{6UDei<6w$Q;p zEKP9AYDguEvX5l6Jg>h2-qF5`pFtro=bC;fyB@*PR6Usi9%gAX2uGiVfZ9P`CENxr z&ZIg=j4}WV?UQf}5X$q~^XhZOvp(E@y^9=@$2EocWD%C(OOG zGoMevcS8>L(RQ}(XaR{U25N4Vv}25s}?c# zCBD|#mS9+FNNQZOf0~>_cT{b*I9S1x%B1Xlsn8y66Ktc>zU@Fxy>NbgZqmw5g40!( z-2$|+F8XLKifx{%DBepZnVcwxENgxenHSF7l#|>1jter$c}a|-bhZ+7tvIN!_EBpm z@g`*K#pqh4EpR`}q)*6T1?FZkiu3D+crHYGuD?`F&dFNw^YkP;2$pQcZiTt($`4@_ zN6-zyU5Lb8e<_-r6SCrm>q%x66w0!SyAT9ir;wbN!6?dYE75pL{Xteq!Cr{F6=l0C zKLe1L0m#*Hw{WImZ-U3Q4WZ;?Z-T&W1;uSeNjshJbeOb2V_%OGP9_ax6os^v2ss_d zk&P9$7lLd>!RaCk1ds*-NJQO>oM}{>;Aw3`X!%r|AZS}bXJK|nd7!XPFQAY9xsE# zum0sVP<0CHi}T>x=14Y~{8cWns|qN3@_XoQo=7&oElsBrUItUYEy1BH;OW4Hk#E7% z!1~a?yd0_yu>N@lTw5E-#+JY86HE*Mr9s{Tjqv#?=h5CCp*2;&=kSmFO56~*>U=U#xu856TN2!J>iH%aC@ABUdorkYQ#lFxqF8hOkL$ z2{js`mFRj^OIR?!#;%P=ADlv!rjgE>=9aP@wZq7Uz#`9H4zOiEVjjek*QG4M?0XqH zkU!5~e8pxDHiwvjFg z{nfs>7;375I3tCURH4~Tk!h!x02b(>JIT?-J>I6-#^uyU_(xk7ZYi(Rl_6mB_n4KQlDY*@sP5#PKrV=L?pA(x~fEt>EZMx1;;6`4rh*N$$XpkLmuBjbsW5dTnqARBu zLP~z9R7cZaA1f1PAw0ygO}Jg;By}fqrm~@eSmYaao2V<@7vT*s^}0760u(BpVJyIV zQCplOG?8Sh%up=9=c^7@jV~A-5*=dR9&>IF=KHXe3$JE}CVHEwttzNn8B8-O6Ed0N zD`ly~_!5XDBjXaEU2#LhmUz_1{!*NF|9(`)W72l0H$0pCE-@nh(I|W~@eo5^TK#7V$#rzrdlQ;sX zUQ3v|IR-#PuTixWrjlOME@U7Zq(1-tSj?(SH_|eff$-ooJikD*euce^$FBefWb$9h#GQlE6^u zRFZE%xQyU>h?PginM%8Bz_weDEhq`g@JUgLi1Sunz+S)vOGS%gZ+n;3eZ!4;IH9K8 z#0gWTaT3s{$Hr!;h3l`7O2_ z(YG3DQ=xy%@gn!cqc2*6knpQ;-gXIW%U8R+FF~8#ifqP(|e_u zqhT}Y<|S4SlkeMzbUm%i#?p)j7I<0*bv4SET(C-y$n?G??IcI-pd4?ww&*Cooc~s> zuJIKwH;USE7E{9oeMn7-F^IK@mKa>xh;QsgKtPDvSe%>Snm|Qpmx%(R#mdVgKw6&zKngt%5|#PQCu@gX zYZ}F7t-?!{N{|j`Sty;4)UCs^-Dc1=JY;t;6C{ke^0z2f@^F&U5GYeD(~C#tqO^ni zqUVA}?wBTeH6^g{ZXBII+BY=#ypQ08q{6vjiX!N)@iLVuiEW$fk=wi~Sek<%N$@P( zkpa3ZZRD-w?MH28tz_+oIqp1mcU(Tgqz>_Hsvh9AMdyBAoInx-zFKVW4bB}r0 zK_1AQdIarP|v`$`g)9~5(cDLnjJEy>?%G=8i6_zg8y9E_}-Z0zhnR8Amv?e|rzEG&%NKzKsHUjbw} z0gNo1EL@x%KLO0La4>SQ0s$lc4utk^$gT_kR!&B4R&F347y}#dEbIVwAk7x*cT83w z&lCqE006uS5N6=}5x{aH)9+QqKPr;{hD^)ygGlf1zVUCz{Ox-K5Bv)^m5AYM)9>da zX8ObL|8J1CK#bY%yM6COAUy7WfH(_Wt>W<-h@vZPXJ-E$$yC|Y-14=v6A;l?*u>t* z6bR+3=wxE*^d0Av`maE>z?CX44h}Y^w%>ab2u2Ufq(Q6=WW)K+w8Y8C1+29OHh|QM zKvqExVApc6e&#+7b`AKMS zjLQP5Ez{nU7HzkGqbLq}>3zkhu#1rxX<7!` zJp3JY<=y)m!`o_)-2>=dP;+-m*^r`c_L+Ep&Y0)Vu-k$fp3?O}2Iumc~?* zP37JNomDv^=a209f{iRv=uK)WZqS0PVULNs;QB?dS)c9K-d64a{Yl6WUVFGWpAimy z*b^%A>&iWW?3C>e)DSjXS!u*>m|>M*GXR~;MytTc8CUP7rRIPv3FSMe;q3`B`vT3w zW7jgSZGpp9#-`{2*y8u_H^Hxlz`3RP_ej{AGG)fKLbS?_o{Tl3E<}JYzi%Vh8 z`je6|dxnXAoU1Zyq%?vAm^9{6%{u8+oe8s?F}O^YkDLMa?#HAgSyFdFY~2z916^UJ z_ZBO983qSLNFKP9Yl^63#^U(*r9HC#nf_NfLoF;uOA{S> zY&kvJs%{nJ#YnL$uz4Itpz(CAR~l&}lTMC@H9H?%qxx3!Q!ZR=^4)TED=jXRs9ae{ z4Q5HS^pW>jCAZMYHVVr=%Xq1Ms0xWb~fy-|g^Q4ing{C{s*6 zKZ!;Ii>AH~Gn!w~;IibO-)+6`80xPN=5W_biDivoyPPQ7uOVunCzL#R>ZASMf}FJ} z-iQJOax}rUEnnC@CTRy%&7XN#cNUy9opXEh5_;@f1>H+fgaP_%^&RoSZk-bhweSm5 znpy?kr&so?%J&LQcG3;fC6V)GRH!d+4&!TzBDu5Pv8lSGJ8-kICmIPlEj7grd01@u zu!oJWY$D$#8FM3iSkV#Xi94ZkC0jo@awn3%n3Rv1@3}9em>h(9E8M7t>jdX4f4|gV zF3llbrlDQftQU~$o5jW+gCDe(NxrIzSaQ*{rx{aPLsk;Phl|4iIyV4w>q%Rk7@(%e z|K+HT|1MHCbf4E7&PvFG!&>FxI=35{Zfx*41CcW{Y2rES88qyKiuLcMJAl6izYGuNscqk3bOWI4RkLr`?ZdvTJu$zLH9h~P*`B>B2_FL2xf-~|3|5GU9J-FY~rLO96Z~qo;we`3azOK z_CXTvXi%=9-ypLMY)-Nem>`l>7^z=mrGZ&E&r5|Rw&ZbG;>Tc&3RSr#vJ*b3>nWO1 z#iX$EJn366^itfOQ(sjXF~}Ip%&?Tx@Ia-HHEUI?0cP$3j3rd)U$_%X!X_A z*Kn8Wv)s*tUzm1m$xGvwK|days(+LjQr8`&wY=5Y@QRQ+^)29epn$}T96lgp$Y1^7 z(2O*E-ndf#mPBLv>*PzJc-I0LaMQXyh%f|{f-kjVD>O)AJh4NA%nn9WNf0QAWQD>m zW(GmR)C7kefpu$)@6CDN;xy}ZKV_Wwe-O6o52H&`2qaZ}e%+`NC^95%ew=`u;l{JD zk|DT1V5OQ`G1S8!4h`wK8G}R(#bZb5P#Eaq3{kJyHNM%Yf3Sw-S;(>-l!C- z8P@8^?FtO6S!u7DHn=`zZ-!LVjlh^>aXkN1lXpjFaB&B9!55|ETfID$&jxhfVY2Ht zD72H)fN6%d`Rt6(Na8XM6*>j8I!urrG{VJ-Yt=9b8vOa9C2(c zSW|8-Q{=f1Lb>zc_hNgQ`)sun>pJ!EEo!D+>OA#WYrDN%acoi^Ryf2SBxT?8t76!gUxr1v7k zq3+G1!7m2|=n#}Q7#SDDi+Ddzq}^V6w1o?&5vbM(;dbVLz4R5biXGw&@k=~_!ZGsJ1P?r2Nbu zA06s*BOg|Nia3KtLB-oVSGAl0Av@7?|KO2$ueEeNTFMW@W>G5}oe6vCTs2lc02&Dk zS6^I3Vl8yctgdo6m{vS%syIXZB9h;OUZ~}rhJQ~^rMrz!VaD#zpv!1PD-xt)2S3#| zp3gA@GrW=p_NOk;U_UGRxW`K%bsb~_oQ3Y*)R12r#MvyX>3VCyCNRB;* z_AN_w1vq{C;7`g=DeQt*CCkUU*G|sDm`Bi7VobxrfdDp;7v41RWIpQx%%$L?JkK6- z9#77`Kus*gW-2IG#vqb8@r7^JJ+CTV!w@~5_gVGJ&(;a&%1Y(r4xvh)@;T*Z%H^?> z`s*599{Jj1YOsWYC8#^0;oSv0?}tXvv9r8eUYKp`ylpZi8dHmrZM-;DxpK%0e9Nn+ zpAfx=n-qveDofB>bs6HwMWH$Jpi*=;1k=p{NSpV7cjNx((-)5#BIzomWBa!8oSb__ z0@?qkzT@if1>g=q7)TBRZB*S(>+y_*gVLytSz$J8xsfS})Qyds=9; zL^&W^vLsLdVI`)B{-G(~mBOfWi)V}LEZFpuL=B%3IM-6ms6$1So^AANcWWR(C0Yo1 z*D7YdvQUD3m~ll*TOq5*n=)%3lkKk4o3#K;>rN$8Q`wg^bD*G^Gc+eAj-CFWEGoSE zEO*5HFH|MAuwJA=y@=<}K^vCScGJ8pi&J@EJ&abGj+g2f5A0-SFM+-MG=yl;BI040 z3l?7aX;%gjMst>1JJ~oj46~y)fzE-0qtOv{e<8X!@}$JeIwnfw{t`>j9Cr`D z>ehXd9G<19F_3(iKum<9#}m?GviO_a*WyJ<&Nr@obF<<~<`K8*n7yt#J|i^D5WMS& zL;ADB%muFG5ujWo@@Yr|B-S@o4vI%#B&2#pS(kMJbwq`{L{x68wlPc68ykI(T-_Qb zHLWM3h&qPR^0lS6|a0eP)`xIW3d{kT~T2m{pnOq&t(K_60Z49h= zmN7Zq$d-B9&bC#dL`&a@TSrCl?iHLXp@`24od{zs(Qub>>|}Dhcne+wqK1XNizDuw zlX2yDG!0>KhhL}efpU-INSSjH%M-a00+MHC#1S*$)fMLdzD#aoQy7G7k(bfgPG|b7 z%W90li=JNkuchpKLdt$CwvsIoU%kB!u1J($bQEdyoU$dUk2n;QE|8tmdKsQwg-s7M|JlJ8)yYDYS?9t%#kee(hSfQR!QdjFAB_+AtKD=H5w;3w?= z?}*vpf8lAxHwwME>=FCU(@G^2;ib?=8#KoX3gp`J2a}KzdL=^o7>GpI$(()aA%+cP zR=pv!Vlp!eG9>vf1wOj>3b3!_^#Fwdnm5fOU;Jg)3}Hy4_@K9`84vuZ#Y>?N9TOc* z?BF5cGu^LS&6uYh1V{F7n1O%SnQg2DhreAVkJZ@BzT4-kQ)m$!KgrL)FzDF**mP)d z>MQ3?ha|h0S8UTC+IWmLLhG!Xn?6f)ew6(}FZsRw=e&S1Pu+auj8orQ#V6`w$wE~& zAqL)NF_&)F5(L#<4m(iJXxMNVLkFlNR9SDPIM(%6^lxv!zqVzthhVd*Xva`jWzlJp z)NjcczstC9IU2aU=$A6aVbnUH@4AQ_X&wa#LAz5QdTGty$+$16E*4wQ0kcgg{4Vfe zT_ma|(a1ksU0&NPO+W8bDVF#e-+Fkft9S-)xqC?^bQIs4L2@MvsV^w!K{r?}megwB ztu4cRX1?=4B?xJDMtr=?!OJwz)T>6_9OBhPs>E-g zCvR|0;93=s(}DUxU~BCxhTHfJ-D)NLuaU_j4j!= ztma5;JACk6e`A&GVfq&uW38~MNmnwql7t`B9v&zP9(i>H{yF-wDfLc+ZWe@ z68^YTg`p4jJrzx0sWYao(8_4IZ(33W3#@OtX(M&9W}5>h_K_@gmxXfJnrq!f1V<|E zec}|g=qIf3&)bU4f#-Mz3w$GADhlhY*^^(k>ObUbdXzvmvKqw7UrrBs*CD4;?GD!Y zylhjf_Lpw<{!p1E@K&dWwDT*w96RWIINJ;fB$! zQ@!bF5SMK50|-4ds5?vrEV>%d$wxCh2i(gP>hYQTj}a)#mD(d*z4(rY;q-8${rw(n zPI=5ZjbHD~Lc6gATe-fF37>i-T7Rlqh^UoFjSnp7jC~L9NUKy%SSoJ?tu_n?xS*@T zDjDVUu{k#pgkwG=7|-AZTYI%+{aSDHl5scyiZ=3vB+qnr&636W9+$Y{O%*}DD4+kV zYh}$-=EZ3Q=HtY%dIi)QPK?$t%=zi*dp_l1mMg0%QVCnnQJyzFg|TSQRM(yhb#0UP zj}O2fsE;q)yZ%UW{whWm$ImE|KvunOX5^L=jjt@+5c3{!0muyiNTT~3I{~40GtoKk zg6N4JZ+c~ZV)irUoa6+0B!R9ek*)D&;P4YY1ng7te`u`^#9WeOu-PigX9Uagu{{t|KljGL`vjG2UfLZ@V zP*VRzr~Sw9TEBSFKLM`(bBIO&HZh5R5l|#xSdsf*p^H z`yWF`{fI05h7|=If0iF{njg*Yef*ne^tUGPURVI%eF?ucfuK?>fWHTp0{jkG3K;VJ z2S`#s#U<6ESYW|f;32$PjRXxerQJS0W+PWrJ+DIIERrmDL`%q^2E|jOh>_(=w5U0+ z$JV%7KBssInk7pfqcf_&!yqJ{S_awjb=58_@tsRA1#w)$6iRHQPK`=zAIu~;*&hn) zuCx)MnO}JJBJMLi4@kB-0a$SV=;i*q$lpJ_eOAt&SjbH^q$}v8p_gW98iZaA!tXkk zUSay)tkw}jJy+_bmJETuh3??m4T2$O7C~i&P+lkUK0tu$JTX3JWqTda$+HL$+QMRE zdjSvdq{&gl{`yVXT~MqJ3vuiom^mLj0)iPtLVoJ2X^q0;O_+746x504Pp%)I3K}S) z-@vHgK?7g?H6pf#C`tb_FWCb$0K4aGXoU$Zu!vyM&?hTfk`lfKrd^SV>7qvN3+v&- z?5pfIgj<@8_dZhfcUoqZwh;~o!(xwj>-qO2{fz&$~M<%GV70FW#hBcaEd6x8t4J)dIi;6lXXB)F~OEa3J+{ zgDQ){Q{#~_=p}+rSPY4IxEwzS7-AEur@!lh#5784&{FhZeb3%`NiG&de5kbUms2C< zp8CS&f(nlIh3)~yj<>}%&h|=#-l@@7BI9~czx|S*Qfe5Iixjqg0?;*i}BZbnUCRWp-HbbA1!J!dq<& zCs%u*11yS!Ml--GzXFmzG+$gt*Dh__Uwz*xg>i-J4qY(nMFT^n8sk>bE^=lj;laC( z(1Mq97N*}e)QJ}^m76+GHdQG#mfc$1d9r+s4U_#<0HSi~(mb-(60S>e9$aOHp?;57 zaXu)q$tk4jnz95GGUwgG8SYkirCqVq!qQoK#q}~Z^hYr8uh)77E7953kE6&?+(W6} zY`?2!6xGe7dd!H~3dP#;nEpujNf^yNc6&nKOpwvraLP=n@A9yA@OU|xW;MzG5kcDG5OzW>sCVp<5wE2G3@YaGZJc?ss`4Ix}v;&@1!Zia2w?Hc4w z8*k5ZD<*e@RJ^@Z3g$hEaO;}XCB0=@E))66wBy7|wb>McFYt0!UiWwkFubiR<|rXl zsfC(n6PZ?JRaGCh8!XwA7c=y_B36x|_rlzpB;Z9%RgH1?x6%W^vzgYmax;}cD zl~{={q+{I)#+s4~whzI0N)*jw2!D%133MY-rO17r13}Rr89`^(+QS&3_fuD|(}O(` zu8lr7iNQ+40dEutwM4*4L3y9k=~Yz`-n_<3T_Z{?C&L%pQ_0WWO3p^Wj6q4`rit#! zO7>12Mry?jEMX#sO**Bv$cexHDSCV@NUQz{XQXM}P4rX99iHu(c}^KEN!K_r|7mmX zqmVLjM)8e2?J|9PXr(sB@+UK}*T^r2AsrRxjJooYtG zJ;?xfB%L+_86x67dp2_J<5&$c6U(P#v343#ZLb!r=xFt?aK{}G^3ijfO}&+Oxo#m%EI!9z2bR2@gZBe!CvbTN=5AYSJ+}f!{_P5JQYIG$7 zf)kpwCB1@5y#B7&aCYX|xi3>gyT=`L@O<&!1;($Op!kGfVhQtKXL(V1hbGB5xTt}W zpQ<^MmV{R2sHq$=mg%pv8R;=>sIud-$_=|VY(&?Q`7?O?Hon)aDPwoteUZt}!vE@E z_94>6SRl2%-#q1YROZZRp@BNd@-2_@I5_`T9+mu>La;-PqD`nnV+pS*lAs-7mDza) zs>KeY~(JvmH5|e21gaR;xh5WlKH2Nmy4{KDQ- z!w~%F?mCrT_%*IvoR~krX#VTdDC@b{$HWhmp)~#<-m4iL!N`2w1+~Ay`81?kSyzOg zQ4V^*kzi+@2`%^8Wm08mXz|!yKAGN9?W{yvhcoZCg}9GcRryT0AZswaIVaP+7+q1^ zMBE;((rWnC&AFPq0w2;)3u+*&&X=xb_^;_k@d>nx7dbGi6Z|2hnvl{+OrCJ`1>=Sj zG*uSzm$d5Svr|rrH#GOQZx5ysh)Bbep8JU|cl{{;Xlnf;ohK{XPg6_xFK&lJy6Y7D z0DP!;!XRR5j@t<+mkZG9T33iGnSt}pH~IxZ=$>?nedl0Hel0huK4Y6p5J2T=c52L zzS!cNyhHYN5Rp-0q3PV{Xz-j`*HwgW8E`EZmtib#EdYi_MyKI_Kv#6Ly#8oR?swYu#I5iIP1vf$@+6Scg>PrCulhCzVh!@9Uddf$C< z|p7hKKtki9Dg=}09L=4B1z5Hfj1qstxO0&Ht{}BdDUo3J_E@VV)p&C z8s@gq5w0j$OlL_kXm(7f4+FR;ddcZFaKT-Bp7~m?q6#ph22x9~QHgfJvm5~@og>gu zDX^>%k|>buB6NEckrKLVF2OPB=E!}uctPSXA=vTtTtg;|MC;)bq`-!t5@1yVV|^8; zmCVgWNm6ohO*DkP=ctJ%#;6dXIGYcHX7gta4`^#83(LNO5Ix9wgu_)9+4u&RUzyKs zKru+xk=c?cxQeDe){+UXE}`-moWwST?+`CbG*QbaelhcjQPB(V!AmAyG->Rirl5lR z1tHAC3jS*vf0ZI@OGx&HL@i~?bBei;{K_vmSFPG9Z zvUX0ts>O7qj1W^+1VPaui=g)qDz4k+n|dDDTGE zDElDG_0!0Xpnaoc>@H^hnlQXB95X32&hpk9^^`beXMogL9Ctkh4sZlc`DAjkW)8$kmFKe0%_$oQPPN0EERn{ulmAqi-A(^+431%EARqQ%}ncHpH` zPa6Rqu)b<&_eMPCxva1uAS{83%Gt&_JtbR=CSqQzW(d#c4eW^9(t~8y8HYeWQwoM7 z;~(|wFQ&z@0)7&E;>yy|K&qqW2aHEQ@FVq=1S96qvFA!~8in)(qXcyE)G%m>*CX%& z2ViLHz4=4M(zlBg+bCDU6fC`$N@^U`Xp|q;ah+f(BbJ2%#R!)&8XMMekw?2_bD$F? zXIR9tz4ZKVrK(=?HidBWoe|RE(ZHZEZyWArr_Tz@fZX z%B>{9PubX3=wVJWR`h;0YuuY0nXsUmr>Twi+OPGUIFk5?5abmzMC7(RZ)*+Fuk$`L z$q1<^>D7?>K7u3W%AVegm#Qk8+e)~7+UxC1DnUo4D5qy#DHDNOSf**t+?)NMq9@O69hKkC$9%qn8#{JF?OS=gzE7{2)e)(51o8X@JTU~1p+ z;n})B)+9|<%tp2vS{wolQCv-9j?}`R36pX4wBF>CqIY=sr%yAm4WHs-L~Yp#r_-}b zt}O@_cq;Np7)BzCXzjZ1L7rr(*B^BvQA)m5P_vZr?PvPflAhpl8 z#Iqlo=oGy~1aaS2d8{(Ko685!2b`FlEz0%OxJh_U63^oGJ)!AtfACHg%t3J7{iELf z<;;VhUUfecb$7X@v%>|cqKO-QCi*f8${eX%fQ#G*x7x<)s!|LmfjfGW!WjeW5jRGe zbMpBR63uxg^=*E3o`l86`shRq?9!>3?Gh*qXpHm85#ui5rZKcWkUgktS2@R!<(e~w zV;G+Z$b1+6uXcI!XbW;A-kW}m!oplofdsi5;=vjm#1r(qQh|)~>_m2XcVq&)eoEVI zI?ERJ4)8L@suhx5;Q`>ydfdY1-$qN+KD*w_ig!f^fb(W4m@8;LC8`AvG(}OrxjQ<% z_XjT}(l~F4JG9ZNgK%mWQDn)J<^J^5`^<)5B@jV?zGV9egxcFD{ttTbck0f6gHwQo z>o186e@Q+7Rz?Er0J*t1f88knOjP*ibPD{RTeJWE$bUKa!jBvNx4Zt+IREFjJUQ9K zx&Cw*nEzK9$eiqK-?K+J*@1=4e|s2!O}0NaQ-4^U-!ln*j0>>*{4ZwekMsPd^#0iT z{d_E(e@#31em-FH@6!%A|FzQ&IDawifSdKFtb_0MXV%=%OYOiK4Q^nK#@S!$&xE9$ zJbI^Mg=mvl$G8o_s3Ip|a1g^zk+N}F&~JS-%eoaqc^bPO@vbh%18op4A7YI{voR#P z%;i@N6ua^E^+4Nn^kg0cv((J*j^so@H+W5$ z!zFa^>BUOS{h-kW@4R6EaS@EcjLcOxOQ1{_F&M-CIT)(|#OrKkG>bVi0|$*U2*8cu zak%lDW#6rxT#cFW4(IaXD?0GN`7hA2CkV_Z`86TYUQOEBN&H_s;IerblFu;@eHSJ` zvUUAC9JpWHJ7YJ-pvXFjMcJ)Ur#Jb3A_9jTJ{>7J=cl;!U%uI48fDC~w5 zddv}cOt9mU8?g3tibarL*wwMo{LQ}+1Egile4^(Ib;7kdpu3}?u|kd^2PCUj{pE0o zQ`RO`mKQ>A3&nYHNJhAmPI>{pvA(u}PV5&36>H^#$(l=da_=ylYJQ2e>IYxntPUIB zH`!w4XL&r*(GFrJbhKJ^j`Z5r$133tm08MnwApBrMd7?U1&Y{Pw&wev`2qPj-aW!> zGkEOGGOj2tLI>LiS+ii9x2CtncF2VMK^RS%NA(notU}>1pS@M#T5OzBx#(>5+fdgA zd`^XZtAyDC4YgwhH0sDVVI)z)f8A$m1-1qHQE1yDrmS`G!1na0(!7SIW8K}w?XQjbTOK1Xu=%Vx`%I%O8c4U9hRljrR{dcJ6 z0IuK1?AZQFru)C6p8s&E{ykvH|Mi&NzgM#V=e7UTyZ@$Y{a)?*^Z$R{egV41SpEZ* z`LB_k@4EoC;2)8lpF=snOL+K4=~w@x7%@Pu+Fy%AG5@Rvf3Ha-2i7F^)7^p?0&5bt z<}`^)p5G9NYR^m;CdPyGJ1R|JgF{Mzy@yrhnJ~BwCA@-&M818n*g1TH+5_mJ#DU~{ z4lct@kn7_abESN-_M<(+^(HL!R1t$#>d^=1%*=v~b;+cGpd;>O4U0$YfRySsgU}ej zw>3vB`c$B+Da`+)N%D=hC#T^ zCXy$D6?uWqVW*N09Ze?|Ll?3YulV^3L0CQnhlGtXD4WkMDDaqIQj~1?RGLH=J?E*9 zoJ}BG;c!}G?|T-UmFz;iQ>7_#Y_lOyugi)2H9Q?Shg! z$1isGpRuJ+Z)mbcm>>DXHz)S>7L8|8XjO%VLAi(DzFNSY@_Jw1g|hp>Aw%F?ou_*6 zpa2Gk#wwzFQwlU}k9xGYFiL_>usl=s7!Dq{rSsJ&dW3NNZq6;AlUHTE@mJ(V%njnP z4D<>Oe?v~LZUy&6J%Z^x5uow^dCiA{tHjabCYUw9_mhfTUq?nwtvGd}Q(TLh6#ON4}~61WQ+jMx$~4SVw3wBniHY4Q^*rDhr*Nu7fP`k7*quP9Rzsgojy#@3t4nN#yBD8Y!~(%M*)Pl z8wZj7v;8>senz1llPtV*i(|K{82Kc9G*pw=Lhp1pGdS(rmhQiOa(@1_afjePw)+sQ zYtL1u+5L@qdefr5B-)xp7Pn?i|7c=1d;@S>;XXcoT^_N@W9foXZ;!w9aI&F<)ACYFX87nK)hj%+w9QDlm)zbS_CZR%W`7sI9w!8l zk2v?V^`CoMv<>&Ia!bgGRTALO)~9t#$5fNPt};$eeET{|pCNHGYyT`4+vsJ|Jtzi( zo$4QG+P@1d{x@jatQ*~LM+Ae>N-GBEpz#$>b{2$m{e@VzT|Go<`%MS}h`6ru;>vylwe?^$>KdVdf zs?tsjz{tZPx{eSNF!E4LM4&f!v+7EmTdg5Z5<)HwGyAGa2-S>PG|!Lfv0J##Ae{Fx zvV&{qhGibUO|gUM0>T?X4}OYC%KMu6=Bx5-DQhQKH0xe{2?R}?fqL< zT;B%Sns!U;52oC+0+qEQGQ5^3a>r;v15-_XlT#DKM%~@y?h?1WAm^4+poaE(r_yN9 zz5MFxxVwaP2Loe9{>00*(8MBZU{3BKRGhf`Qs8b!6;|feAhUVH7Dy)y+UK*c4o}|ii&eMxpR8RF>K2w zl^`&o2CTxvCA2Y(VfDr$ej2$v1C@};M?;|=rCBdd%zt_b_3x537(NOu!s;| zC4~^I?DMQulMZR4)Mf7}JZ76Vdvi6lykfq~8yW*EbTT z@toRZ*K>vZfyKlc4=7lHlPxx-2&7U_M|*aH38dXZDhZ+SsRHQE)8!zz5b&MP-cLie zin7*k=ORcSGt)HSLZS6P7~A_%8}b~#oLkY(xv?bXK2bVL_tLOBJ>J66-)uh<M+N`akES~g|v`?Adod8u8_tp z4A*gi>jv{j2Cor+iMi#(c{aOuiEWM|v=hL3m`z|k%*XvN3eYWshzn#%N;BQ^se*mG zX~+r)L~oWG_8b*v4C{dPFuGL2I+gJxcW;{IKO-Fvn^6*GlfMm>b+cTueWk`RzZ|XY zBtgsITcZ>M)%6gnET^V+2nES*NB#$W^}9*_-=ONVF#iO&0mQccq3W~zZxq7(7~KCi zRsBDe*Z+A65G$}Y?2i?UAL_&ROo#8g02PcMnGQcI7{8eH_s{Co{l&}-ASnLt{V}#` zvWR4K@Jlx|-k_w9{kwyEG!a|h7O55|2Bi|jRS|-1A8CGo>l)B!A`>D*zd0Sk*m;pX ze2Q|%hD{IWa4&kEZcw!jJ~{$oD}WB!EQp?kMS^A7xwh7CWCp?NrTH;*Z7J5W3;ES) zOA0t7TIWMv3Q~n=;0GJp!7?dK_*Z%lVA#-s-dz_W(nYoVpLa71kcr0A^u=&C+SVRC zbz2Nl^c77dF?7*eRtjxBl;LS{+H?Ba|qxuwSlgw&XZzbl2&Y%{p?!AC`{Og6z^B zs21oGXNe6PEi@@+O zbhq}Hg8xauIn)Tf(2_parsVoAN_X@&Qt;Sy#XGsTjfHZ4UNamMYrFc|0DLM>B93>Q z$RNC4q@)LsU#ZW^+Dx_kES9TPb-T}{hc;*EML~^*ikF7U!AplZu;D(SD3A%ghcV*urB8Sa5|3C^2HX0dDiRCvVPnEXn+g*ZmblEMZU=s_@9v{G!m$=-Hr8Uf>( zxKm|)Jajrz@JJ$FK?F9iqXq|uxgEzE=!bFYH=#TCmQh=Ae+Cngzd-N#GvnPH4g48c zt7Jzj#WkzeE&aU2{6gs?21t3lfUT+uCkF1+L1L6j5_eP=zfmn#x?135U~^9;kT!IZ z6M03-e9!3CM6Gm?&f376&$uZGk~_?xgQgWVlp5}eGPBZN)|<*4l!~E&TE;FKh?3Jg zOM^i?7L){MlOZi;QdDKk4IRmUf1+=FcLMQd@-%tXe;}3=NLJ{ zr4G%a7`qLF8D{JQgghzqDO!BTjylpum{wy;B@fPNcQlV04(PHQELLyYg(iTakLmmP zh@36JOO{3SV}3*uhy9wE%5HMSt}%gd<+qPLh4?PiN;spKAJ~Nx$C~0`=9xtmqkJ(W zoj=WEID6zW5y%QPY2hqL8EE%9(6v7D;c66y^7vV`Z`*J$T^k?V4!No^gmTjzuisS^ z61@IwhLk)w*ptv{cvl9>W43K)p;4W~jRaHwx{B5t%siwU3?GhrbE69rCb+gYrpQl1 zHy1n%IuR!o5%0ZmPW)|DrB%kdB47oy*4-*R#@7`;bM50R`Ye@zqc^yomYt$30mIw* zSc?Lx$S~OEZ{xH^Uy@)9%8Za|L6!Jzt8G<6CuJg3HFnqfOO}O9jTT0Ex)X6OT$c29 zM@v&`=H0k=UjvVYL(NSZ3rTDOw(H9jHIIy)6jwj$$FLg^F7Lso@uIQLfP)!>HDtVa z!D^7SFOTd<^hD7hv8e4KxYTXFgVsg*)`c3V)H#UPI$XCc*rSUP6*Z8 zTB8+Q`vLIwD*G=Ofot=oZgE4Vr#J(=G^}PeQz--!QWQD>YUg4z*DGV0`9aqp2ASrh z+cLGa7cZ5>W@V{e;F7I4H8@n%SR|Z{+xAeUn&_Js$Z4aH-W)iZDw2~qSeix&K=0SE z+^uM-jKr>CjBXQ89&lJX36i!ct0Dk%jymU1W*}l9+D6wD*^$+yu(w%r=Y`8*Chi28 z+QXW>noLr3ewS0QW>3>I5Y_x(3KUL!E8<(Mh~^it#?fdrQE0yKQMjW5L*{E#g$|x% zh(;Z>X2@KJpXK4`IpU!Z6yFF1Ce|Hl1j~F`L;Uh1S46X|(ozWAq}8ib)la3;`00*5 z63feA{YRXr>Mu@Q6+ZUvpMsqiy6+vEFsHwG3(F0-E|JBJZgL~r+^lfoxbSnW&k z1aVg_{Q6w|YPt6UsjV;LV%Xd65T`;V2hgg^(?D!Ef5ZsX-Kqcs-K^JU*EO_Yfc?{AyYGUD?`y z@tlbHE?Wye^@b%_6tzQbJu!gqRwoIuHdH6-s7)NM8R)Y^bi31Ua;yme7rYhxB%|eI zCCLc#_UQ+)}` zeU}AtL(VH{r>!h-@{WY$Dcw)piJEwG4#??LAjpv zgMF5)+&gjm$7A#ow|a|M2{R3R!;WVep%sfEf2 zD>DXFaWTrFj=^C`;a_ASx7J|k3PFk{Gp}3Y>v{>dlak`QzDh#lL8zUAMHkOUtY{;^ zEcYF!2p@Y3s(1{DL1XI(dtno+VdQViO9pyebN<&3L@W?JrT z*5~NY3Q>TEiIw#7+j^m^7uR=^z&0X4#qyTh)WtVtrqw%W08=9R!c0rO&~& zzyJQ!XN(xpE{03rl@uShFg~dQ4yEj^W5?xg5S1Qndf-vnZHp zu|fI^0LcBDVk&m#pPNJ|OT}#gpx+*1cnTrb!meyah4M5%_+&nlI!V>Utu^ttivR(8 zozsThLw@ELQO?+BL9@Vzr4cht_fv5~Xtom>H4-CosHkfo@}=uA-Mf?*&L`P;D@ifg zHQ`ch6J#oQ@J2gY>iH=BCenU;e|(GGCT32}u8Y9b4GI(zVq9_C>x~bqeMRJ#JbgHJ zkQnf;4R05VV>cGIZ4A@Ly$Zezc7;ymQ%-StYV2_+86_Xta-KOZs%wNAY7R~qOwm7)W8xoCy;-w#i`XA4s2?aPW-G+=hyt;t-sRL0c2 zlSGVr<$&5%?@m*>RRLAWztP(6^p#~wb6?Im#l+T~S80Zp&bK+qM?-#CCv&?e7}CsQ z_np{#R4!H}m9w#lP-Pw)sWoOd>I~fA+6~XdwTQt`m7m*VT28(${wzxtwIk z4G84T@>Aefvc_UQwHM|ZHzJruz%8FbNUSo&@Etr^vXRMaama@nMVY6PbC$B}ULL&m z`_i$JpKG=p*cN_t)p5%nNR&26Q6U7)#s(T+P5ZVqH3nlomvt*nZgHLTPOxtl6FS}h zupI9gfkD_jY)B6LZ5jA^BZkoE{UWckv^sE&4)se{zE@)v{l2kQSH5lj4BtIqrB5px zwx^_`yr#zDgI+;`nGKovFdX3*A;WZv?meg><9p6RS#B{94r+h1(G*dX@#c}pv|P(EGSPMk1sGvA;~btYXoQ}lM?13s4?W7r~ti1mqRKUP#|Ku(%rKN)Wz$a!Ap3MLYA!J>K$<~#_eTL+c}=vYM#?aTwEp+j7Pk<%@t z?lcJ#XyR?CV`X=m-jBm=uHl4*H$EA*@ioQ{cf}pD$NStiYQczDiwWYhayFh5SW!EC zceHryI~w11p;8f{RV}@mctbEY>sf{qe!R^qUE9N*4BV6iQiz;U`FB~4csT{!QEvt& zkEF5`^TO_4a}&E8y#LgzPA<0E2Es)J&m(|B9z7?6vUrbtU?q0+y5EjApm@W4o9^9> z{k&;7wHm(ghS}Mb$dN+TK#d z_lgbH>&19KH_WU6GeYC}1Vp4XCrKK6aNq zF)Z?4`ZR9nI+uF_`eJ2YdiaaNnq|=r&8uCqHXq^gcQu;DV=$-vyQ7$cwfkmRAnI0` zjY&30nM_f33pk>PotyeG_@6+5!y4QxGbrV`^7GG%B$1)H6&_jkBTw z)>qzpx*Mw3ZshP1kY~HKZarg$^|d(YQvJTd_&IcVopl=wokAE2njJI4LIOklhH&OGhQ#rLugND zqxV`3r%N4f8I#hiw0vPs?nncHDB;W^8t$})TdD2SYNn5CF$#KV&kc-Y%b zrrKhMdxz96x34y3(w5)W8iDFg9GUo~=)702_!?F2lrfTY8#mK+pk3gRxpUe!dT)s2aWJqn{bictA)7B#Tm*MUd9NLD{9ppS7^A)W(8l44Dwg(!8wp%v*Rm;tAA4wT+fRgs5=_VRc~AFV>BLH>^X zP&J~;JpK^-#1r}fmu$m_Chh&k`=vsSBsBqP53vDjmk%AJBb!w$7k4brL62Cn?q(~{ zOUiF{Z?0~TY6nY!zrgt1e*pP^YvEvF`7b)gpS%HR4585Gv_J(Me|Q5J1xx(!2JrZU zHvr=|Z-Ce*Zvg$XE!0tcDa_pd2{hiUCvN~w<+e=OCvSjoo!yA|Jd$tT08~-lqvk=& z;c)yXI6f~B#^A?Csa( z=NRCMf&$0F@D38-`?_sDgV;di2FCSbN{5$KknaDC2;_LD#cV$mZ@6=z%SmR zzxCzY$mV;&lgW5~^8Pp`?ua8CoD78xx~r3$O135tg_R_Tn815INEW~c;mw$r6hl?!*?NQwqD%Pg;>$PdN>v|3{XBGsZg#V>>2_D=9g~=wKcwe309UZ*~Lsp(swHOIh%ODomEL>C6{eXiSc{cjgirTE{5-M&}f|dP@HzgH@#BBw( zps8zDIhQWl5JmIyG6k_1E-5&_X$kVjkD{6&qStYxYjK*o zks#4L}6bsHm z`gx+qXRAQoRsyigGi;;zUPf&Z^MJ&_5MYHe?r<9w;CSh@_A5t6m%TN6p8%xS01xRQ3FJd1UbxfZG4Lx9H?1j%zz%{!mL5gP{ zr*=06U@;`^_+Aj5gj~(;8XU82!@!0!L7!*YF{E+&jnXGjAw={O=4}eR0I|fVTNS{j zHk~Ro&n2;27*NL6w-6c%5vSXfCq~`YFjhZ^4k@zarOi}gF-FqZKh~L?Ad+pD?#?cG z`Pu7@!@HfiG9FCQl|awU^SfI(AP#Nnuh!q+6gjXn|0GaVNqFM8iQ&bsGDNUC{7m-w z)F)!$X1_KOh&0kUTv@h5wm)om zTEo#!onVo}%Q-Lah>As&pGoRi-K-iYP~<+lyW4F*SSB%1yCdbD0e?x5lFejC%t*sa z?3546`@%xY&%ARfZ+wyWoHyt!2=EbcaF`9*B_(zdSG+AhW{3wPAQYEZ7U7KnbN(BB zK&S^RXj%(rjEe1I>(I$y;4zN?P(R-4j?h^rhrvCn*Mm!vAfG3`%EzJoUgE6A!}>ac zZ{W*Pip$3u567tn1kC5MDG^rUM~C(NA6U-nP$w(2qO4d8a22v!(7_t1uv|=GHY6MK z)kSqEdMk9KI$==l;J^=B8O!PJa67LulsoyWtnb$9C44VdViR|h#uR%O-9T79mpVPV z`Wglkon)-ZKB)Bg?(3iNzO4Ub*&}Y-xCUlUkr9CYew@#`6Uw>nN(eTkwIpmU$dt^K zUqJKBkHIzCeX^CiLbCkAs>j{v)s0`<-1|>N1w=P`znVEWlA9>w52*eQ*7F`&P0=AKq4#i?y|XGRkyzu98C0s|neK*@Z%tZ=D_9s$ts|P)psc805yBWL zQYXme`_4Tqs28ADiFeDDLl)vp<%(uzVMX z{e~>zpA+k{0Dd!5&Ib6YE4WI$6yj5+{0T*D=ysq$My&IhH@u2n@>%S%E1YgK-5JbG z?Tm@S2Mm-)+Q1W?Z?5=4!SRs6BQp=NXT)ipmMy| zDd}<*YOqy#cL~C@Fx`v629v&8A zrzW$D+lI~er*y~*rsGz1LaaQ}j`oWm5^1O|xlnyePRLpX5yNY?dK(3Stf3o7=Gyvz4aO6XUSc+(rJ3WtJR{wXJb9(9C72tc>1RV zJjfz={KQKn&<|@AdrqIdf*1~g?D1sGRQc1;8=;MLY;9! zzM9|Z2X0sa2=%=V>ov>ra)}iii0qgKGcqrnG}SlkE5SQ!{7?%qQ}cOa*`s>$Z4jn_ zOvqGuHu*b5+}f%SsilLJ9jc{mUP$0%8gl{Aw->Ms8xrz@+fsM(ytYjO7ou@98+(Heckd>^Q!7rOR zw|p?)e2dtS)twM_R$DDrhuY`|nF;jL)hWierr{&n-D#?B>$Gi`%d=CnlZYo#%0`z{ zGN+a$_(a%!i;*SYYJBNLgJd@8!59)aj5x;L{OG@b_O_i$q1QPFo_mE!He~m5L`dJ? zq@tz20Lv3LZVNBv$5XUynPQ0&eUhj!)J?v5UoxzVg)1B%Ly%+}#M}-1g0*g$CgLMZ zXs4z7Qq4FFafE`C)lFn*x&SN<2UJS&c$`go6+{eFZg(@ks!-5u;|+Dc;urua_G*2} zE7GZBSL6hUmgaw=d4=N9$)=<}HmZc?z`QsaP!Jf!aqC?g=}Mnlnp7bj-T*mZd<;4G zzQpSoz==Bfc{t3C5%gR+qmsPkq|CNK12oBC@?FX?8=3R%v0;^J(Z^GF%8^^02kM(c zwrX@PWzV=|?~>xt^y)x|*rFR>(Vf*pqT^yalV5#delrvH7fKH~i*IJ9hiZFsgke*F zM#6|(2ekoxBKkulTT2R7`Z~J|(TA_EHF@TQMUdW6Wo31G|Q)L{3jakHetL4{hwc#bOyU=)I$_dRUjI z!bqyh8oWW?QP}4F<)A%jE&en8_K!fpTtBxee6kb#PHq0a?I{c3d!_2X&6u8^+yCVM zH!=3#bBTZB@_#K{{=4}7pYeTcqHHYxVj34VQ4aB6D#Cw+BHx0Q@1N=iwEwZmAx``Q z5B{Y6U;+HDc;cV3g&qswH#3k=q1R8r%TxP-D7p`@nY*-eLNA4p4oi!xaj#E&ZXqU& zA|nQK1lhQD17T7CB2)!rVqHGhHF)qBFppWv+FLHMufSI?*N|EW?*%N;Ae(Y9veQ?| zQ$HTMpM`8Ol!yQl>cCU6ZnVi~!yg`$4lhnOO96ZzbhtX9C9VZf9`sElu>J0tSq%rI zLiTBh24(%kLe@u#g0iV_t`^s&iGmW;0+X`>69U)w&MpFPVE8S)>r@co7GH@lO%+?I zbQ;IiZH1n=@HZOv8S_}5_uX9F3v7#H9j$IMW8HWyeH}`*HuOos{2ba#Pm(?@?17Ib z8Y(a+;A-ZU4=LJ%#9Di>Ekpl;FQC|_mpM9A*dTMmx8p_;JB4o0ul5ol;TF|Mk{Zpw zQb)5`@`!IcaNHsmoad7Ka>xcX{1I|^VUiMAF-AQ~a!(G}s1N)4H5yaio79b+K)+y! zNNyxH1=RDrSH#IH1%ZA>aFV3`K(Wed++^l=cb03G@0Zm%XU%PQzUOXS8K7O&0rNu~3;J$`bdcZD8M+N0#%KtN@+ zb(0B|2}aH+^f$})CM>>DZPMlS8{?CmcAGq|-@s!l|B~eC7|*bauriAK)}tW>T$Cq$ zr|GnJmvY3o*t`Ug0tAC!4AVWOr*mtWVq1c-&Q_Tkq=(o#JB?j>dbsrN&xgPVg8}

D4P7Vb?v8;A33>)pn6pdJyX6&HYLwmvF!$32ft5vVUhH)KBiL01S4@ML00!t zJ1=t+m&)gH$lVqApjnR@EPrsE03gq61fIe!6N(nR-RyFP6@e`eB75ZHKtmtHo{T_X$^}YA`dX)COES3+%7>RiJXtV- zPgClR@S(L&&8|L#E~-p*I{8t05X!b3E02uY;n9p%HJe*Cn_{#o4R3_sGb%yg9s87C z-dqV^)~60^SQe4ye{u3^?|Hbs%eiDwEYEJ%LZ%_nAhEx5>}+K@1@!DlqmH9v`&-C= zOq(}2GR4zhGd@S@wvQoAN@4760D)!HCMbaj3TbP~c&3EJ<*1d%dyL)yZ~cNQvlTvL ziC7A>nw=0rkPjI*cDHbOUch$JFS7D$3z#zZy&qq+@h7lZzdX}X>Emhy@gfW4Oc&qN z&)C>AA;czQzE@!DeuWzdp^>OnhDAGd?2pvc`A_HC?RZCG_yVr> z*L30CpaQjS-(DYV*nA4G%Wv1u+0Ma-MlIn$4{CItCup?;M~y5voy`VnmZN_ zSrHQIjwkO4K>9MD$IDSCYxkYG@^OA^xx$F8N!3il)h&39%@e_o<4u^XveP!qjNbV&nsZ8$5 z;rGxx##acamTcMu+f*+-;eKi%uf=3{g}^}oY3)Yi$sgS2BHW$qAG-oldO8ld2?Hi& z5DzbnuO6hoCZ^E10vRe~-oNn~`m48<-1vU=$S^3Fw*3g`r}H#QPyV{EL2h-zlUV}` zyUhWX@0XUbmP)*gk1+b|qmfUvciLoChkOr-fJXg+gFeITg;e((7lx~28sLVN5Q1YI zG#6g7bn#Oy*u>nUHu+qvH1L{9Ar5mKo5KT|6Z5ZwxkIHZA<)3v}JG+zQ{tVo~@ zqcQ;g%Y0j|X&Qyzbm=my3t9NPnLf{yuY-lz5f1C(2$;S4{KR!Grw$!YU(-l=XN9p1 zm}dv6t%bSy;iGe9dt82Hev0&KeIfD+sL0^GF!)(z5PJofIDT?`>v)ZV16y2(N_q32 z!EM$~E>c~%;ae9OGW@a#Kyp0!9qUN%%auyr+`7)p6SRKXa!{Ws zW;V&2O*_u9;xkzfYYje_pf3h?AKj_rN{Pc=L%?=<60uHDP45}*^I5F}z`XXK3j1%V zr$aw?N?l}ngQ^fA&!MVFa)0GSJX%w{0j_}@-alS~A9&bD9A;CUs)u`5>)h^|UsXiD z?{D(Vs!H|kL2F(Q>YMNynFyIa@1Ia*a^p8nx@{m)*W> zNPM0R1yjvSi$KsrYuR`d3dRh(cns;aI_a?K!7}>l)5`?*E(m6|_f+9LPTIS&lPz{C z9ehz-84{?Bc1?`E-OtwEgmG+?Y*%|>5@&~LUt|$?zin1pu5L&^$}A5!hP5ddnwN@F z+|*2}Q5j44;LSXA8F%xx08%qz;|R*C`b$O)b!qedfb-oOXJCsRnI%K8<=Np(Y{lKA zJ5&@p)3T7NkwYi}`zkoA;~Y}@7MnTCjrU7*aBspQi0*prG6>Z=$su{C*aM@Lu!E{+ zWs?O`^~l%(^DA~(&px8wG$URMjm?AYxYrhTdQwmL`0KZ=g}VD+^NHxKl`5je*qW&U zF%UNr8Nr3EjdSZKhO*ql_|?t|xALCrT%2fenShKgtZU>fbQyi@m-FlOsPXN=9~kWj zR;}HuVEzm&vJG6p>_QHobFbNB{-|FQgwDJ=yQEx{T6h;?iBQ3Vu4zWI>0VAC*v4;C z(^&BK#M5&swS7d;;*%12`f?{Zmi*G*(CwdoR{1H`GG)9%%%gt5>sG+J+k6W#FhS)XAzGw zrk5O!^Lxr^qKwFmau~RrQv2=DsV6yN?3R1S1qCi4Pu2HqAd+in`i0 zf4yhJus!>7zDs~Kr0SNVwLk(BZ$w$3N$T)mts*@zcftOZzG`J-MCT%gQ&kerly!5{ zQfEZ`%Z~*&Uz?xHkT`rLZ{sa-BZoxmx6!Vv3zP*P+2QgDb~011()3x@!7SEu4Pq!VOqXMiy1W(R4qm#EE-xJw3~RdX;vxJ*6@%j_qwiBCTw6;u(>zGCDGET(Y9K{Me{!>b`h;T+3$4@aEgnE4m zpIV=}IS1ece!`(&>Ef^75K+k5;Zn%6DpVFgtQG#8nW^FkWL-Lyv%)Y418?%5p5;c1 zZRt|LH?@-f(mrSS>O6ysS1`cc^tmY{#YO2yh>u7zM&Rc&8cw52Ba7uCR+&?FD&CwY z9nOx^0q*3(cN%i?@>#VQb&WC5$oSsx+~DsO(0!GbzLXv^L-LrD-%)4e7GL1RV2Zjy z2zpm?Jx>(x7cT=3w?~>D6a#!pyaWAEEkXlU(Jy6!Y>q5wqe*K zNDY_W>kPd+j{+l{T)}Pcu z+6sT94dd}8p!#Yk(e3A;KHP$7X%51NTjKA=_y`^)Av(v5i=KuSQ!TU~&QqWhO{Dvw zMnzc_^j1$G>zLcaI|a<7I!YF%t3x4Mts*SOnVq{0t5?SXtcq2$Q7 zelm&Zf!vMTg*4IwL#F`C5J|kCMzHc(mOAWcTytY<(z*FfH_@gAT%cU%*i(-eK|9hX^V+yW*C>uj#d$! zcmB1ZdjW>$K$+J2ssme>zZ^5>Kd24<0jwbl^G||E=Kl~xGXHk&oCWZ`occFe!~cie z*x$pa{ri|-jlkc_GO~(_vi*xOM*ob&+rRJW|KB7ps~9)?Utux7>xsW9Fur}$evo|M z6&O!PJZ*lrx%gRu@rNAL-&%nGSrr(6SPcKx?X$D}gdbFtrBFAy;M?vnu6?yObCSU{9(9&>GDTC=acs z>wn`w3U9u<7J76RhT+cDcSfK_XIs^wGZt1ET=6EbvzCvbj}8LzD!v@D~o49v5D_TLWJu9SIH> zty(&Vqpd5nZ)l28p}I2!bMVrLZutuu(1^5_;Sif`dDHB~%T8Q{)DtT~=T+n+<|8 z)5E=KpnD@PpDPmN)7 zJ3e_y*4K(7Qr*nMja)AQjzh&O1g&fofUcN~1?A=}3S89J=dzhDme9g;=oQ>cW8SW? z!=`B~Ut@dKk>Y*Fc|P)BJIhJ?CoM)2Cjq~T5HOSxet9KCRPs2w-^QOVlL~yd?Ixjm zad&!4G%yJEi;A5m81(04?cbVd9LztlN8fbqTU^jjiV!U!#7`I*yH2vxU0zRSo5U?T z9*Ie);Hl5Q5$1Jz*N)I=XD~izq;}YSus(QYFnqI04^WirH}=_wQ-U(9LJnT@x+#IX zA4Y_(|RPG@88z~q?i(#E}WS^PYMk` zgX36t$Tbxhx(IA|vU{bkYbL+Iu>DD-@QtyofhC; z*)Sz?4{r|-$1FgvvVypjpc_)gDWqDy3Ir2e)U=TEe5eCp>kfPpmgIuDz`@gQBNU-{bEe~RlMY=PVY(uFQ`{$W{SnRPSiS-; zwuMy<)`_={T@SR7AvVss3W9n>JD^WdF4h`Cs@`#k(eK!dq1G5m!)0ri*iWc55;oxE zsf3`pZr9Q2&_qw=emvF5<1K?hP;9pWEe?QI3?WIpGUbFM{xvdo;BkVl1458STA*p| z+tN}Gt1`N`deF&+%g;Jv)Tp=kSG64KLQp^W=T>ssA>I1xPY3J^O;`>#?YjM6wD_nt^HmG|bZ?73Hp9bLyMhKZ zxPz7hmY~pXRm5*RAEA#|6f~j13Ir&FD5G^6@77(cryaB8-MMnFbz=>`{>E1UR{+6$ z+auvlcX~1V@cp4r4kKIBU&aY6%)hHndv4P(*%D&KYJ`m>IHIO_D(%n2g|KjCfU0{e{pHQ*r9x_*3`Z85 z#a`)=17KZK5q52}4#>l{^^Tuf9vjarfz)kw4>)Ea%i1d+n6I`g&L<~OI}w?!is3=G zucN9oL$#u#49?7RW09kEa+S&5K4^@?h#0l36-v|?GbE^abg?9ExKlw?zqE!dG%u9S z$I_h#U~QUob(;=%-}DtMd}rC~S2N@{Rc>rQ+jPqTrQ-0Je>nYM zRDixS#g7tDetbN5#<0m#2#cx&Ln;Oio;5CtvZL_yi&j#K>geKclfD7hjz`+nhV~GU zcxE03sm&e7<=E*WTpK%|`pr)%n}f}wyt|3}gTIY%_L=InKfyhl;a&igXL=peHKSS4 znd&`O=RwRmoHIZQe3_JB-EZ9LWf8Ujnc!aE?d#XbHNzsH+5tqF z4m<#)J=zQA>!)dC#?o&nG)2cWiRV>ffPP(|-Xoqz;%3xORfbgh5ovvdVpM}a90TNC z6xj{RxKwkXUB>_!&;1*GgxG*>qNx53WF8t71mh>`TkPkFb(6#cqL4`t%h-aSt!U$Tfr2xhdPQ5Z<$4+%_PzMs2f=9KOj_ z(}a-l-mzbtUW@udwX1cs;EA}3cFc2PYkDN0ZIx*ElI(!CRK@iO#K{;`u^l{th2>R6 zZlQwKi`EFX=ahv0d$AQI;&J?#VKRBgT-5!`vm6c3)K>Zn#9c z;kOvD6KTXBPz=?!fkL$O%@=_*!HMH|$v zM%grw=VD0m_G#jPlpGcOYU2E^+KZj}k9K0(F=O9aTlby1fAALSx*4Bh$yCXXGB0Ucmj61xmS=opCI=cSEh5M;bfLuc z)Lzx$)Nk<1q?JrTOG7@`cVi!uQ2p-ZdS|d>zjsh_opUfQYV*f_PUTmEZ1IsVeUVGd z!6|h;9%se^=?z0v<0C1pL&}dHINCX0yxe(kb;!>s>b(jRv7rLhK?il4f+jA194W(N zjyPyT>L`yF(wUW`@Xbb5$qpBJCis4FCX&fK$$Kan=_`c}roOrpZy{^-7)gyGvs z7=WS-%4X))uuM{p`j+N~!q%pi#>7vDi0a!u|8a&V901D%bTqb7C1wV2!!o`6(|&fg zZ>1EL`lb%VPpiha&-G2d{iGxNhbr0Fp6=++Z3S8W)N6!;`}a91=3gt>SiU>CK1EDw z=0=WY4#b-ORCLr|y_vuI!mr4i|IWU@^Tgi{(}radw>GpfGPgD*=Hp}fF~|R74=j_I zxrvFfy|J~S@zW^(o6z_*p}{Hw5dLrQWvn91|64^K|A;5TD#G@UxXia}u!^t?{}smM zdsWIe#^l>rvjF~7=k>JtG?qW2zV8Iew|o5osef#;KfRgxyYbmie9F^7|M^S!x5C7K zQa*+GH$@Vh+&{$(Dk@UebiCghw;X`7^avNYX7PEtPP9LM2}qchuY(>^vQw}#J9w8b zif{EwGQ|+}VIq-gl1d=?LPji*Dop{M5_zBQJbFTGi+#2ffeq&~?sbbRaB_4*+{8o= zkBM&D=r&j+s%ZI>0}ND}S-;n(f{-D2Oa`LFS=f>s^J>372j%B+>R73C>8B~oSx{$t z+f&T&k-aQi-uqtfnAq9kJsWE1U75J(^;di*TD^7I3=o}SxD=B$powJ z0U!1s3Np9$``8HLx=7nMv()jfn_8D|7jy9F$%0>3qe~N?+w9t+L(TZP$3skEw7;`@ z?^@XS{i6d!HvAC^z@4(zM>fC&F}^n22=Zz(OjRV$R$|7vua@r!b z;dWuXcH#lw-!Z}Ac4vFQAE2s!z$mY{GOH))VC;#>X1A0a{T={wmE7hYFwO^>Z875p zege^d^bz$l6l2$&(uo;QJwI%i`Yqu-)By|M5?g{jHCXnC=a_G?(50nOygS8Rbs1mu z_|pwnDBgBq?5r2%x(T9?QQ2|RH+P}0WAUMgbMHz`*^c{P`EMoMP^@EV1zs61Cv}e* zpXjbOgq*Z`ceH!z8bac_ydcXoW1C7nb{k5${k-s61I2M+0zluNGh$iO>BPI`m^-SD zXIx=zRN_9bCivrWk)cJ(lc{~))v-e zaBj|5z_4t3lP&GY*MjL4v2a=~%G2-euysC|L1plBDuv%1Vd}GSD(6ROMNX8*qL5O- zotSoSxs;37S$eU7Ta{A!W9Ne_jSCz^U=yepD9BYd)zp@w>haJ98y#q^%-7NK5x1pd zcfNU7PHZL;&s}`NCx+w@<=q}{_;Cd+z6``Pag}OT9FZ&g%h|-(y6f#g3wZhsc=%=$ z3jg8kmt>Bl15LH5>80d(MpgM~pV`Nlod|C!)eRx4o?VYOW522*v0z;nKwse3P!iaEn8a%aa$p)lgdlMNMBSI+r8_Vn#v4)N(S0JlPMOWpR_oyT19`&ccgl#y6czReonhJOG}2Ygoe%}CmOGd zin9H>{cK6rJPH$@^GHhibm@vY%!1=P%$t6M5YREpkpa(T8NjZW~ zut)b;{S4&kRc9;GlR?-HA`--B^^hT-M^UN4gjYwzc7MzQ;N++iBCq&$-4fVuMmr=jP+{ZW;ULn%oWiX{ zAA0xucb1nL)!K|zgz|mbveuz+4r`9f%_M^!YP)^SzrZ*?nmxAb<)Yn{&=uX+EdXY5rqMbZ@JoH`Gf zF(@J+WEyVwQKI;&ldwYA(CIJ_^Be~x)+Y?7NA(;BC$V{FLfE~G25ZTk&2uJ()8o36 zfH^#G^&1z8M>Yzj8dkM(BlwAxGNrK*t5d4{Bp*gR7ERpY`Q}&GNefqobH=t@jbx3N z@u#b3)v^mg8EVGUv(mTX9lPo~k@HvlGFyA5p>y7DNl~3aAMQRC0-(2r)=2>|7k;XF zD2nH!E|^-ypHTUw1%2KD7! z%c2WnJhv(R7=B?Cj-8#AJQX;B;cu5c=!0;~@#-%5cSjhhj-^`p!!6<(j6Tl3QPc(?t_zY;^d1Bb5bmg%OHM)o(n zakL=sPIIp!a^>D`+p1bRo}1)W_yQE~!2Cj=i2z@ur8mMLBeA?2d4$-MXmgCW;SPLR z-lIa9L0uR@YNBDrZag2V-@tOsfZ|Gr73;zvp=tWOL9#YXn1T>Ytt{8kp^Fi)F`Yjh zXf3n#!tbUiZ=}M#1rJ8)i2J-9O$JGi3|q1$H3v6ivieF?(d*Kh+}s8B1Fwmg)5Hz} zqcm!!b^kMQyxX|w&3g!H7)Ba{-8RuZ-BkivRb2>-Ol8)ax}-Vl!FC8V?Y8->&xNd- zRDE0rSE7i-&s|*8$IO~q#%&HbMGuGvqrpgy8L9*Z6Bi#yNrr8d zTgrvFvBQFt5AuR`LZT^DG7ejZn`9RORbRZRf-aK2(k#BzL~(%~2d(nNFM%p_3MZC$ zGrhqFKx+Luhp4{&5V_(L`Xaq-pEhelZydj5{w!a-1jfy4ZvEz(u5v+-%c!-2)omNo z@VH{R@b!aO{9Si&2?CO}ILOA3W%W^6yFhxUWligxPxtyrZ6|h9Q~^=!ycFt<)Y7C- zv7l5%Gv4VCQktUYWc3b90r6+ubl)se;`;V%#3-19$E-)NoGh@OU#%CvnV@6;*-u9t zC=*4`486FE-u|rc3~6_NVv4@?^t~6U%Km(847MTI7&mh+h(=P$^Q|tVXmqF`dC$Hy z(6Ch3=m?lPjN~#}GE-kim@dlaLua^Ika0LQ_Q-U)GAbi_K;gmUP4)zw9#1>5KxU(b zV79$h16>1ipj#xni!`QEj2)tWG8xVZ9`pTueKWpJTLmoJT}iU&jJNqs0>tb#VC6Nf zUJIE8H)?g~31|5UHB!5)Pkw^7Fy=IF%Jtf5SkH$O9$VFz<}5>==a;#aFf5~yy{{9A zcRSP`X0Hk2(9lt@;WOd3NYf)k-VxFb7-_4hz@UMZS}`6b)eE7*M{nYPDjT6f$&zd5 z$bRFQLvz5^>}kE1)EWK2PkZbFAt-n-pms8b(ZB4NQ$gHlkzkeEo7)tOOTEm*zYyJ@ zH97yV)FXW~F>rAgdbocw_SHc0m5WkH;K-)!G~d_L(h|_^rE7urk@a8Rq%46pxGdpK zCKuE*#PS5kR=FEt{eSGe1ymhNzC9e=EqDk7cR3t9xNC5CcXto&?oO~ku;A|Q65JtZ z@ZdqeliZp2?wyr+D|gn+d~eqOg%ws;cXgklyH0i0{_VYgQ|XWc`>^Ek9xiDUbG_F$ z_^Wm}JbBB@*F$Z==W{b-jb~ZoiyjsAzQD6%;Bm%P zk^2yCl%bb^j@HMt3MJ<+GS zKH)uqsg|uA{HzE4VvH2{H(F-dVGvk{+VU3@ZtFD70K$R4m~hwCI79v3guAPPsrwMH zF#A)iu1dg4u_do%X4ylxs;t>6l)2v7v4ey7E`N}g(Xyf0lx>1w-eUqIBGc9-afLv& z-u+3CX(0p();CQ=_pJ8X=0R$p>TtrmYO?3ZHgN^Su{sY>>f5G^v`@oYqk(VDgmsmJ z-FidfQ~K!Q(L@y_=XDL{`i(dyJE{t+!$>|eYdr9ob~e;mF^BTP=9skgmrYTr+8{pG z9d-K}j3HHb=G{!0V&?YnZU=;)-Ms%^&iyw^2SUc2^c~%7LD1UwoqsVGd86lOZ{|v< zK@R|Y$3MRR`@R?iImi9&9uPDlVrK8)C}^r@{~dOd()-Ickdfv0z!nq8A?$}l^ViL| zfj{VBpe5?x7?u39fvtZK82U5V)Bg)~|MYGAPeRuIFB8!JO8@JB7v}cA>2rSM_4zr* z`p;-469>oNk(K_y1Aicf-_v3Nf8c9Bir*6r0YPlqzvdm{0I5uW7y|rJW%~Qb%6}l9 z2>eA30?4834`>HSWol0g5?$?rL|4Eb#NDsa$P7c*YtBB<&C2}6s6lBRa3&e>HkEf!Cyq>&6h=NlayOp7U>6bjw?kyuDPJGD4H@T@~ zh;T5yo|r))-E$-xHl^)DHEc{%{EBtV^B<(-d{Db|H{=EA7 zC7j;XkbQbJ0sL2QWR*t0&&%N#50(M4&5qO?Ib{jc64suciV<{8Bk6>lN5`W^WXc7v z=r4-32CByB)cG@sSv95h<0a?xyZBse&+>vXKKj9Q!s=As56TN;f9WTgwr;1kH9uC+ zG%^$r+s0=R=^ueyNX<{A#d=-!=qfR7 zxd~1J2)CNY4)r1c$uxS)L>g^tegu zGkDM=E(vGc{N#+>8j{@7BW13il|5dMOf66Zf$OFM;cwjLokFw8ij(Gj+CDWsdIK8u zvro@sCZF@txwB|$>FDWr^Qu-_s8X>odeES~>XUyRA=I4L_|4sgYxFij$x*5$BE9h- zy6r`Q7#~Vv9;RYNB8FZJ6X5}vUhR~%nWh1l!zHpb4=RDFYYb+cX0^cVz5;v^a8uJZ zz&8YDwyrz;^=Mx4!ph?5BEHIwveOJ-5=GTM9z3zvyKoUVEsbrz?Q35ojuWtOYZhW_ zf23vfoTg2J=VgijS4Wysk!|$(cLQ3_GQzpi)NB@F_NOXoUqN41MULCJoR(1j6kTaafp!aE%qt7h;# z5>(GiN+Nc+o?@6+J*G6`wX5h8hhB>G-;P0R)*^ddI@T*8+;|z*Nf>V~kR_UZ&#q{@saqw>(&!=z}VGCONLji+%enV8qnX~Jj9w!Zs&uni-yBW{Y*(+Is%);X4i*(iQTz^+t3{H9rTdgp#5XvGbNvdq}| zlPNzao#rovaM;+Geot;tQj&}_;DB8|_`&oGKA-Lhz%IYD;pF?|P|qe!!WTmdEU(oC z!ySo%5{J(^eT8h7A_Cp+?_hPaAgi=7wX0JTy#^8QlDo!Fj_3Wty{j<#l`ZlbM7OTF zE)-+8Vo8nAZPjguqC8;@_Hp)ePifOZNxd+_dqgRBCi({xUT@z27EXN{(l89NwLMtcaXcpJJO@+S7%vN{NNlrOsIaWq3I(VNy-r>^n zWrM28E_bS`hBW+3I|PGRh{lA`Lofg2Dv1+X*!br%IiCG+@pGA2=$PC1p~*Lc`t{o* z6axeXiXY_ow~{NVWaNSF5nFufe8p&=??3hNwFr;0uLBMfpX^Iza_n_=JgTY<8kR~ql-fGea$7m|F0_kBL>3(v^oe?M zy`_HHfnKSotM7%Pg?*%=Kzh=hFMQI$CMkuJ7`ig&zI(x$t;RtQnckc_#Uy3(g+l94 z6Q7@R8$Pv`KvI~ano@irQ(5qMfb>_1OZ25!i%9ewWw-r>7RWN7;*hX=rv}sW@wnpU z&ajiYM`gL{+59ltE~L%Z@GDlVjfZg8sz@0KT%=gmQzed2XS z@D$Cqck+m9$^V_2HWPvvg?6KHjqi`A-50{uxWK|GUO-%UdQvrvD@k(7*DrF$uE$+^81# zV^#fQ8UFol0e`Gge=D+qR^>k?fPb?L{~cTNKXDoUi>xFTz#mrO!U}K3XnqSK@ri7( zZE!tYO!rR5RCsNNqS$5ay_^w07l$M3DH<}N=BSZ zn4O#x4y_%TT24m%B|xJRpX(tkge#WTS4^D|_9HnpSzxo>gu-fIX$@Ry-s|_GmGpFI z>NI#~xx=UCq}p^2md>q+G<9+B?ZDpD8GczPEgiY0K*%OHbM9&uPs<$NFK_wgJ|W$X z*O+nL)3w`ZYb|v9&MIwJ&2X9+d}p}B67@q)Y8Gw|2ji5hcbX-%zka7EeFK5;%~c?_ zX;hVCr;4v`3>tYNNkVkI2+yoRZ^C`cVm`VZw>iPWHAfj9sks2?P$XresBy%B|1HVB%Gmuv`NQ40X0kSXQ%KW9BDa^_4Q zXi&s%rNcE5HqaG#b}Ex`A2$UZ%!Uok1$@kUNiKu_@>u>A?wmygFFT2msp_0>cdVTo z%U5G#NNppE?U<_Zr7!fCpy*LJ>~7dnFdp7Z`bkx(AacW8v)8CzYmB7VHuW??liuk) zLQ5`$+B#eQ%`)M|q#lcv77}8OeIK!g>|}24Wf3cjBp$%w$*h0oX7IbY?!RH;#>Dvh zSP}3qiCbCzM63w-Ll62dj}-wx6!QNpJ}?uT@ZWoL{FlHMR0Z^^_&%`y&8y;9310s@ zeE~uJ=$FtB4)#CT0xBs>RvFU3W@Lj>Legw89DInv<}PY}`hp-^x|Am$4NEF6|6S*J z2*BbDfGg^L<;kVnfN;;H`YLwg{N4WWh!j##a4RSooa<{EE zUj#$oMne?Y;1ERk!0`LpuSIh>19``Ah)kZsLa?$@IOIvtTL8=Fo&>LDfQa2t%q|(< zGLdYdA`ovM-c7acK^Ij)G&EKmqjEFk%>+FNVR&pLz%6oE=C6*g1xM(HP~9JrNlVSo z-kJ>NoVqzaY8OoIT09N*i|M}8<>_10+XV~l>=074;D^$o7e^>0B)k?uv1_$W1})-J zE81UWO$UZws*gw^;9y5=KOj0JvE&$NcxfORs-Fb#Q>XSw`7P0r6af&`-=SUJc}Fze zG_pm8mA18E(1sCVU}mGMD8l;hN)j>h)mXYEpL-Ix^f;qBBZ|6LRy`9%Ls>R ziLRjrGYI)cIbAj#XQmv;IAMz#be&h)7$YnjgTSD>h%u5R&91tA3XO(CqLyA7#h_&^ zE{~Ijz1lVy2O&5tA)TW@JrpMI)uzvElPr5>zd*P;4(s}Y*y%G6PUS3;OR zD$yb|HH%L!3!ww&eh83rxrFtDLFy17{q!92K->FDUZulC=caZU`;kZ5K_)J{zx(Q} zIvK|?*_d0Ds|X?D^ELBVL3%XXC)Vdqj4S!+FJhb0=u@XIK1DScqjwh8r8f}k(gXAb zje>g-Ng6h42Cq+F%U!m_xA1IMcxq;Sa4ta-YA=+pHngZ6vINi5q)f1hD6&K1z+5u< z7Jo1EG;2R5PCd7pK^Bn^V>RprM?By+q=`QgwLeOu*PhpUxYpi4TKfP`8TZW zFrRc6Jz@@`VlYtqSt;u}T$s*fRBNJHNE`D!1i#zml^M-im@Rp)E$1&^+47!qHAg7< z@VOH2&|3&LRI0mApky*@cEht0Bw;HPE$V=R_iHh!Pq~nnuZ}pq6-lpv zI{Ww0p+%P#5f&Zb&wB%aL7ehAp%7EQuPGW{pTd4bzw4SKL0Fo*&MT(#R>#m#G4v7^ zVlO&F7^T%6$bXKj__+Wue^_wpt$0zJf~yA@r=$Lump_4BAE*2xZj`yZ_5q35P3_TF zT7pR(0H_#4GL%cp5$Q$G^8&=Q#8YVG@ox1nAe2Sg+|Al0M>V!*gR)YnAA*{xBXxI)LWVNCJO%ZHc|1SUGd z+83x@;66wLmCV(Wg-Y06c+bGHyg6lJ+)zpwD@&4(anT2+^R^ZUutFda<3w2ZuIl@< z;1nsF)vUswMOx-{-Z7dFGLKp7y*HWU@c8EVxtcF!)Unos^L3EVM{P>lc;Q;Fgfwjp zCe^S+zYfCIAz?rf1k|HuNW7;lop_V}Yj)BnM0z}ndk2>}Zsm_T5~Am#R7#3t7N*$q zx{HRe9JG@jBOfGaSz(E)IQ;IPy%OMLJ*i7TCcS0|abfK8qC~BZ8x4%h(~u@yh^SqP zAoRA^7Q-{A+GNP_0gp&AOZt+*Q#+MDmpf^9w}C5zuIZ_ts<`$uJ>C^-K%c1 zrH!MW(}UNy!WW(iM=hl=Q$2HLS=kf>*y~s(5>AgKM{{3J&QYvjdT@R+y=VH4KmAe; zmOnZhfRaF$gOWi1c;k!ipd1V;93a_W^IGZQ?bc1>a$JE4%3<_@Qud(+pm7mJcHlg& zcQfmyP~LM5HYR7cDq`OpqIlC?!@PYZ8n8ihdfvbh(Gf7d$v~X`33u zbt`CBjzMe}Z0ogQtje5n!E}$#?jjP+u4+~yl|5G3FwHp(+J0t5Xg6jb2Y%93-D#rH zO;K)v>I1aD(xY{O60)_CrW*FS-i*~5pZ?M~eZ;1LghQ{Hji9t;XPMFVg}qbw^x@u% z*(`Zym$AC_{;+_<^Xi*RZS)h5;wv%0{h`q`cFLIt*}$nA>0@=6y4Hcc5oTQ?1?fi# zVUC#M*j*YXg=di}n5JIMvLsN5+67zS$vgD^m_m_oXlaGLMfRsA8*D+#Q1Zc2nb4{BhGhNl*mcL4YGK6KtT%y; zNV^V&xg#(%iXsWUK_0|EQff0t?n0Rpc=V21%JBN^UAmS0lr3QO4GE4WTY+}fgl`Jr zOw!cz)M;UbWiqMEgM8#387PztXsTQJjxe$U1EN-ID3q#^_A5U4D^lpr)u@q8%_2Rd zk2v|SdCOfIS0T(U{d^QJX1w96pvLEt6nEKKXGoW({rG8Mr=ny{42*hU_%hR7p;;*? zyY42@fsd~f8Y=I?imtGLRZ1E=AIvu1bvW;XJL2|j$v(Pif9=+Hu8}~sT1AafVSye# zdt=UxW{3ibPMCwK*&%xfP;sH6;}7wW;yb^Ju+*{i;n1r%V!c{&GJGRFJujiCnIjER zAW;`l^qItb!0z?HwgG8r)<^Mh7Swtyj*Ksm|J<%6NutJZSwNvK#NYRVT@_E%v9X~%Xi z*$;?1k4PjsjgDmn%PY>l>Y}ccWNL}mS-aD^t&DSqxgnmJI?uK&NbHeS2ikWMl&s|v zB->5U42<7J64kvtOr0cQb{%dmGr?cPf8mniWj^v}mBs&O!_==cN&W~!fS4qLASTHZNH^06 zVv>lfs9=pf)N8%#6#qDq4Awbi&;c5x)&tO{i0C>g?)_0dbfPNUsOht}yh8j&X9wT% zYGX}4wS{-~WcQ9SaAW`UoX~xRX&8(X5d}=~EfkYNhix@>ni{x!+mIA!{&6|c^VqG+ zu696zswauqU1%ftoK_G)C&(FT^d6_FeMnk2Wef|Ak^*s)RX;FiG8DDla!Cdv!gn@iK30`-E1qGj!6fuB-q?=ps55>|61FY5z8for z6LpC?MB%%kP@k$^kaQ6@f>ELN;hR8DL*=_^udpT&|3-qfmJw1nMkQ zZ6bhA*H%{VUeVhoYD>}U<1&106~Z>#8F*z!<;e?#3lhV7{e9PQ(h_`oPeBC|)e%lo z15)V6E1OEpwpS$*bJkyX8hWmuw-($!k$kbf2+{32ccR{fJZb#}exVO#yeA+n;C;N?`D^hXvdr;9tar#L5=Lu8jdx!`V)FzT>b z@+)hv-i!X&w|;iu3_^6d`i1v3`d|#U8K}z+1v-b@GZX%Mu6Db0tW^ZztzUDX(UdTS zNA<79cxS<=Tv&RtsY$}$pVJG39j9bJ-(JYWbdNIQ?=q%v)K;zXwVX$SrdvZMcA9xH z6zAGUImQx-t7shvV>-Jt5!nhggCmel9BpEv-y_nIGSP%v5f{_$QBXQ~NC#xU`tQlFJs1PfbWiSEapkmAfNK%!9h&Zk0pawb?)nnp%1X4y%V{m`fxy0ighFama9y5 z+dz-N;b3f9vx#=mj%uqe+=AC>hE}_Le|Hb#JS$TAvw`au=_HJdY=0QIl)evKqCW;M zUu71i4ABn>*k=#*RD1kUY+au3a9^!wpp(aR!(xbuhQK|o3yJ_7iSOw@p@GzM_mXhf zR9};+6USBV&hNS8B+5_k2$$S<&)>l#jz4n@+F%5$hD|^9h7C`E>$zke{XTw~rKX)1 zkQst?>$mx(qEYVkj?e-|8pI)~)5+yNKN#7&iQW&5(0WM`W@vcgEV0h5rl|7Ei)E45B*vIO;5*XZ@uO_hQSm~Ww0 zWV7H@hkr3)RTxnvg0&L4=n9?L0U2wBZpGQag`#=kAY{ZTC8VkQL(3~8dI3*1kJcbb zepTIQOi^nOdxRc)*O7iO5im?ub!#-c4CT$?$qFG=L zV!&$qN$`8tz)(qypm{lg6RgcdF6K5=zIryfHYOXNBf)6YT!JT6cvxpobJWP@li-)n zdB*E~3|xHS@>ynF{rgd|gaWi(+e z=F7YF{Kl;Z9a@G;g~p6leLSR7cW0&0eEG7Vi{OYKmrKRnN|_AC$ct&@(c~k9zdC*| zK)q`*XwQ)~1;64|PaT5(HoDwKMXVBpN=y)T+}9|vR_}{lUuC+AkF#F9=5`4oUjy>a zyBg>9fL1b+R^1dTwBCJ;9ycm?8+uvyO5J;)L4rXfa_Rb<5bpMwc)Me~3 zT^`dH4ws%ii)3xkLWb8Z=lUb+2y|gypx1U24Gy#0D;J2#+X`8n1#HnRGi?ggI=sAR z*hvG2hf0QSr*Zh>sd?C7jUVZjYq=Z%e(kmy*8#cB&H=Z%?z|Z-2b{LA!Z8SmO(bmB zC|d{b$UhWPr#QSh#Pb7ZzUN#?WT#=y^#Uv&%W9+3cyZs1I9SJKE1%m(Grs<+gvD}N ziaQ#hWJ9IfQ1J2V9mvBuYeSOuX9L{t!XE!qY?OoT54jS*BgTJm#_PZY|H?gnkg_K{ z^H7gY1vht)SV`**2e-orjU=DLsq{f}ApY@`CG|^G>_wx5LHG$>(~H*YK%LKRr`J`A zP28zG$^Gw^1iyGSMkhDl1xOQ2TD8;^zau>Fy|bMi-m42so*dtfJ7Bpa&)K2di zPBSH!GZ_|hT%k490BhPAOq~*vssS{ZaIJ5L@5{PPCsRDk3w^6qal2}6(O_0Jb*sEq zWI1%fl2O#AUAz4JyxTg<>Gv^<`RTrCNiOJhY7`22&B|^i1I4I>4cysZ`~10zLkB5h z-^H-7yG}0TxefMT=D*aT^FWSF#v&ftH}e?Y3z67&#H-p9bS!?iJKW@Ntw*iV?TaS9 z5GIP9VT9ulBkAFMtYOYTvhXh1`B^;n49y1u@-cH%$<*l_!g%Ie_7c1|lK@;P^I6Aa|>{*`0G`x=A1R~RjTMTS!GkN zSdK=p((!YOV{RpMl|L=|oJ*NdEF3WH79Wz)t^TYPUg_4(`2H z>5^b3;%UYzW&E2ks9z?;JE;6@cJVYn6{)Vn# zYl}jKDXLM&q4d{5_5*FVG{(qm&Dp!xa=io58|OIEIMV2=(XqxMjclE+nSkKNZ2T#> z?u7MS#%>;KLy8ef37s_jW)9&rtmK`b94xcN>1tlbOSzQ;G7nKL%SCbFWD{$t)MEEU zjpj#ldlI#Io&A?2dLqG{b?fJrmB6+B5tDL=w1$-*2s=+nv6ke7#z<^qvA>ky`zb; z&*Z=~^TCVB;6S)RL0279qbhStdor_mZ8O;~!miif#q)Gisbm&Is;c+%cI5m>jEcO~ z@kuE1n;Dx>Hhdk{?n~`XyG*Th26(GA@Q;mn?n-TeXt^F(?6%m^sygf@7L~#`;6$?g z5&%OO!Kn*E`rAhf@i_VIR~EreHZYf5`7t1`31bLVe#nF{vWA^xX46FJ^5U1)>s5Y& ztmif3%XoAmdg{6l3d?{eWiD=W2dF?xC%!E zr7oQ>Ez4IO?9UaBiQSr=k?Qn=XR@5puJI6t6PT#0K_*<`Zgi!gGx4KC!@xGI)1|?` z!n1ChlEbZqegV0n5!fETF6k@hp+;!}1RTSl%*X>mUBr!;&0a-m z(Up7%LbB}jvB%gSh`S8L$sdD)L1IH|JHrIPs8Q^~5=BDAea>izA}Zx9bEW88l=tH4 zg_c4G==M8w6=jkulg3aXR(%fgM0*t`qZ!twfBy`=Gj1TVVw$M`d50I7m~npu zjg#-JoG)j2uG6$DCF&ar^9U+4)gqBxEZ#cL1S=nt3{nq{#3tj&E^yyCNK*4i%IJugiR1i%o&=-cdb{E+TLqcfHhY=u7V05pAxW^F zQ!6$vA4R$(l{I5p6m`JY*pYA( zZ?-+{g8_Z?2adMOT654`Ywi4PNpcd*&xX}sq;diOs7}y|dGlS(9eC{!rbZr4$Z7Tx zJD{V|;53(adJycT*&)2S_`pzCJ%h3Uyq1`!|IX+hw=%1efg|75moiH#-H(xH%nRws z0V*$Qd>z9jhEIz=)Af&m(WDn=7V;SwxFckcR584`z_^bn5m=xp^YwBS)=mdgNv_g@ zu&^0>m=Gh^1s8aiOQ8B~w(;7U)KIR@3?ubjcS~c!kxsvxbHI{n;q{tWiK%@i=~}9< z4@D@*Y7u;(=&em~^XJ9klQ9Sx1YfR?!~W0OxP{B3z;A}>?K5H5)yQJn$<2s-b_)lZ z3knB_Ph7xn7^5?eHpluejPBwlrjlCRWXOAP@)COkSTCd&)#{6q&Jobzy(rSR1i$BDJ|01RLpWre7iK@SGfj|xaXaD@EHvGL0{|7Gei>G|A z_P^B;k(Eh+^-s7A{t9K6l}Yf=7#IG^CBN5UWfBtkC%5!hKl;zsV`TxrQUk+fofGZIBoH{isvb{eWZ*OzJueI9t3f<(~ zy%+fl!_$Chn>{Pzi=VvMn0`k{lrpk5aWo}l|DAI2F9R4eGa(%_=uUC4f(%QTm^lay z8R3~(e%ogS|6}j>!enT(l9TC`ziWNwBT(zV38& zZ?GZxDbK1soH`F0il_IrRSUMrXYDKBkKgEDV<`C>i($;%!haLOQdM_wkx?A=xrU2v z2=lNZCXOf`JFRh;UPYXQDRwpsDhZe>MpGoqw6@=*8?Z$jGcNiJp@IvNno=`%g+x&k zmuNHE6S!$52px$u4Ab5q?>$;R|1uuK<32Tl7!b`8=4$iaF~}(`{i{rjX3^<9(J-bx zcklDYi4EFu1hKILR#+tt<(}zrgb+7V zAS1ZVD5b?njopxXzZJ8i5ruKxsVLm42z#o;Z<}b*{h{o|AD}1CpXM;!M=cplM zzVz`9M7L9F7O2sxcdh1JbR(5s_I(^^-eQgUT8GB_G>sltz1n(W?!B?>bN^r-xYviFPr1^xGYp@5cG$@sa;syoZHPBP z|211e?-*8V&fjnMrXPP|v!nL(u0poEEgcrjNaOAKu=LbpHevJG7%!YX65SE45UutY z#l=Aw%f&<^uDN}V_jG)-<0oHckd^Q+y-=9`CiS|)aOE-pvAG1El`xv}R3m!L@T%g= zQyLoGw{7StXe`JEuD*Btvin3*X5v{F-EV@q^V;9wPy54orFYRk)7__U%-L!I_mQpN z@{=Mym*0nOPdEgysQF}p%f8WqNwl;cdVSrG062}8I2Ycch@fs z%0al*WglPSv`vBCL?RMGs;E|K!ny8F;S+vseB&71ukmSVY=!5I%1Z)er3Y_B9vX*? zoTI~dY6W!qw__&p<*7?~OP;~brk$!r+%xYO`8SXlh{Qhwq#D5MCGb zhYH<0Co)M>w;Pe~P72&ie!kpOhVH-BtP97Xcq+bXB$(S5@eKUZ+*!LdAI$gO zn^m5%DwgKG8jNFxqhJisM&bc2t2lpXqN!eCy51{|)`q%CU6AWkVMDOe_52? zWbxC}=gZ{W1G$Svj3aNk?15Yw2^=80;Lcf!eR~BCa6eBYKV*!o#(``j(c<=wd(I@8 z2JdbD+o+myecKw}$Jh5aw{Q6Ox#R}N>EvNEtORP0A%_NVMFHxR@FYXJm1m*La&Ytr zLNWn1*-$6}USA>xqII_{fz*f0Smh`Du?{UH#Eo!>-W*2$syr`I=}@l2-6bGn=W zFN_fUa-Z6=))7u8(j`N5u9xzMP^odWtoM$_DSN2Y(nw$_5Y=rxSRkDHLSg%5-8knr zH|qmKA}YGDasJqsc8A6f~JX zKR5W$5;_UN`2|Nj-p8q4m5Z$bC!y9i5LSmNZgx{?1i4FM&JRyQ0!jvzYWeHs#PU); zjEuOW#fH={M*mse{@UcA1v*$YbiY z)Phrm!;nZHj+9;UH`iHOHa70TR$L8f(HW@LXNC;ojOJ|sQu3fJvIJ&MCFC)SVB-wT zviPW3z*i=j*H*Q>DhwtoPRGQui)8e-q*#-FocF_xPE9Q7UBH{#zD83U^ID~HajKZ4d7YV~mzn7z!+eg{ zb#M$r-mVI>va!ApfJgL6YsB-;$k7=p6KXy=xZe-k?<2v$aWW*xUr3w!HQZXX@aju4 zhV(h>1O=&+J%Y4Ai8+n{dK;~CWb!#KD@PrammXQ8-+20v9?M4$+JOEGGCPweoa5?t zX`Vzk-Wh8%;=-9DTD(%NBrR*ESX!O5N0-e6HQtbWMZ2RDmUP&u{bF0nM4s27lX%L9 z#9#I2eIC#6Vf1brGk^AF{>6wa>mMiE-*c6{Btl$rfYzJ+Ae_S1GCD$7YE^1?Qn5vW{3@wx7=jf7R5|eq@h%RHFfxmjf$>>3%rZ<}XGJ@1 z6B1`Twe>iXth5uMuofdGxl>X_Won94g>Wg_(wW;6T`GktcV_vJN}ew=AIxGN;sJXJ zhwINm{lGtp0O?uzTEe8&`R_z=5kYzRGF-#-d!xo$%-BQfusZkLuO z&T22V2H#3H@DkzKGtax9+|}O&68;T@O|2SAjWIE0gwgIEa}`_+Y8LMkTF1U*c20#2^a>Z0w5P z0+{{uuULv}Ceed%y2dvf1kw^ZlSe9;lcP(KW}SU$7(M{dT8Uu=<2YlB6AeB6 zUw6uWT178hDN}ql%RXy1Sp2EDpV8T_7$w!JW%SnV zkxTL0P3f3$VqVW0-3x?!o*w7k&AYpMH?GacJ^Qy@`Uuln>cvK-?zO}vsmm6zPb%NG z_r1Fh&kb?EF;BTE88l|6AtD`|2YnMj+Yi+b>>+B>!&J6N)01(s1Edqb;TKP_NZ0@u(n7zJx=g!O=6#Sz-*UV zRZWL3dHp?lD}+htUAT{B+9c%idt60U{dG@8_?F}CHQT}w92!+mX=|H54^r?Skpo@# z#XF3(k7>IGoQfkDBz0%Ez6P|TD0xWSujsGGS}HK3$4u$D!V&5~ZNFv>T!x00RX;y? zmzj(UzsOp*}CCi1~mi$}}(+W7X9W4W4+x5R4I zKK2-7({bpL0$DfSu&R!?F++PBWPSFgr_s*CgWLVEu+iI53QY1vn)j_Oer<)zMY=&T zEE?gf_kLBoG+2So<9IOS=|wDT{lY7p>F=os1(0PnTb428aP7c=XX(^ThAIX3W*;l~ zpP#rZYB#=uRfMkTru$F=SZZQ;%D)8QhBze_F4_Ttml=FMrHpMCV0*iamqM|{ zC2I1)!FQmEiM)t!Ib0K+i`-JWO+`V?stu#lIcJLfO_9gf5_T)>coj>*C+ZiKT8cWn z)Z=~fRMqq)+oS}Mq;GBn8ZoY%8#@>drnAZlE>cys;ZAD^6jpjHSW2B*FC`;;(std@ zB}ZA!mZAvxRPk301<}V3^DbmyQ$F=@1dJ<~RZ1v&FtlSVpl%T1rO&kqeRhwb4^CE% zo?H_R-_gmPcXACiiGQ2@^bETbU-l=93+CSi9sj2#8~Y!_eIxwHJ^)zA4$hDBC@Fjh zs*eT{Ft<-7o#riXbX@{dI|1FS?u4a!0AwNu%l#;ECy$hHZXEHMJraq>Rt9++3)8qS z!=wtG+Oo-Mi8!`_OH$FK- z&d*GRV;P-$aRH87_59gOW01Z;`ktcjIO#8~pXe=+JVq61>aV=bZ+vu{xMIKc2yyFK z!{Xkk|ERN}`N(w$J6sdNrQfrLHq+Xb)b-ROcjMO55}^lJIahhfe=qq_Ob32V)OYt~ zyI<-smBL$US`rJEdjY1+*OWGQApNl}?ml+CQVp5>2ZfC80*|+94}@YG5~@{Y;Lp4D zhr|P%Q)9Y_%a*~9`Z@;c9AOPrDOI64kGDGQy<7TCSTHGUGR-bO`ge4%_ZHcjzvMsQDPIGI=;GA}YhF-85bx z89$O~#h=(&12WH6j*+~0Y?n&CJY9ZDwX{v)yK9X1mPnGMvA^+1;Con7Es}h`rrEE}}wuN|mHcsos03 zkFqii^gcr%@bz)&IO)J;gN7ggm;OEPp|TESS}S$NJ=!w|SUWD|?Oggh?Z-tw$)R3S zfGDHfdcHGAOqG3$K_OdiM!zt^v2+A}?|-|Lsng05cnwWR!>h5!mT_|DBc0H_$T`}A zF{~Se_#jXYAP;S}3a*7+{k0LiC%10&0Ez?7Nw+1cG^N<)YK0A!e2-C*|U$zj<%daOk8zEaq-7F(~5sIEcf$6nO+)7>376y2lM`sH{;N!LTBq zRTchtZh-U;0GQO@9vAEll|7WeR*|I!lG>WmZu(+HxTsDJ*qrv-R!c(+q#RNn_1I1` z3V4!jb=l3h@ND0wiX7&1^{fSVzAM_4epBtKMH583*aKAX@ z*k|4XYF*{|Ki78>b@*7-9W)G$bS=F}K`x_J<(N*XQPCaKp=nzNFH^_buyC&)^-Az$ z)@QOmn>@vdvK0AEjt!}D2d?uVbgsS|R&e~-f}d1FH3<9E8rxn)-SKgp^Le7a(miio zpguj^VgJo!&?Bv6vt#yVz5{dBa9lKybO<R+k~QPL|0|d!l=kt+9;R=3B32D?b`5Ks zQ!z)8?IDs*+zS~Y~>&K}D0jUoHKN=_?S=sKhbEm-NFmyB$clxpWA zzQ47(4Lh(?_5O5I**V3;B`U|+{?cbmCS>pc zAlu|WM^dtVrM3;s2az zo^BtAjiT5t{}au~^jA%1Z%pkFDn|KKtyS_on^!rN6fep(9qMS71c>&#y@nq4dw!28 zh+Yr$!Jz;x#PzWZ5o6{Xk-w&5`R7d4bGk!2=AXE*V8TWhpquG?1CL``Edz0U%vcSX z2f8)gCjP@zZ56vOs1L)h|Lh(3?{xnE5AZ)`uKyM$Nkqi{D@f9p@#_EM&_?Y4ZCCa` z$>8;WHJ0_?$Nygl!u{V2{XeSz$Hjl=`TxxSsrvsBx&Iuy_}>lF`TCCl=f4BI{&!>V ze+EA+Ur`(WUy97a$;JHdntm18{$26E!Ym6XH`9NPUHuC``WOE6&yukG3y=A?;upIt z|JqFbTk(s9FB8fC4oCgN0?U^H=6^${zPcx3`PZBOKcZ7#K0*J7GVpH}pkKXkaxr~{ zp8LPrn=!MqbNmOm=b{V7T}^yV@U@cX_YFHE|%vz2@Q_~wz!V}LUTo@ zC|35>{?@U;)2H{-3r%+GmghOYx@*N&^%))xxW5btb~;O8naSyh9}Yr1mj7^vW71ja zR{OJc{)zA(56!zF`SH`*q96XAAUfOLr!=vgbF>aWDGK2 zch1Fe{A9l|7vf+V+G^V+a4~ zNu3S|ba!M4rLyoH2_eVz$b5g1Kq(s#`#VV#&}d^%%EBK*Pl~>N#WYl<#qEJcO&7UO zLcnP5*vMLWy`(bt=OEA^kB{96z|mD6U%OCV`MP0MJG08Y1@l(*y#&GeXf9Ji;;t~8QF6DyAJmrI; z4?*~phWIS8f(@}EaOD1&EbQX&h0AxLTVREYL<^;qWh7J?5@z2lPh?J~Cw*8B#(h-x z@!kj;5rrHWz51&W*Q$S5aM^I#%*iclM}EFfcg#L^y-y{RQ*RG_;$E4Mbfl zLfoQXMNWkNY$h<_L7FBCiA9>+W0fX@+?}QYlA61jz;>+&3>`>#RWZc0{Fd5U*qLD3I=IUE z?>MPO*cjoIb2HJVTCuc)C;L8@K8i}wDi+WWDSwrShWqlIxG_WqJS_Uj3u4UZq_1=1 zOtq-YfP7WMe9Xo-$9vB8QheicpIo^wMgnZnLnISJD#9_fe@~~e?9H|Jq}gZ3t*XQt z-M0>CbSaiXRW^|k+?>flO;UNCy>2O*c0sB0SquIj$UGfZAXq-x0oLDe(Op#0MQ0ME{$7h-dfMQ zYJUygBJF2NX(*17IUBtRa6Y^O5K;}=yx~0=2)566K_n2~cfzk1=^K(?rr?(vr%9y06-y9Vp zW{||a6sBx3qBVLZ-J;+)ga*R%2Fjrsd|S$gt&Pu7xf*NkPT8R94-%#t0jC?tyXMm) z7rr&`kgKOAml11Eyb#9;HKJe`yqXD#8|A#m@r2hU<)@4@H%C4NKc?azzI zaSxaHG1hEC_~NfI&wZbEpYM|Pmj2dJ53||^jk&ME7hoSA6-_ojsyHg*gsv@lN%R!I zd7$o;t}*+gBiNUiK3PM`FL~sz@gcTTrFV`~p;P0ogT2pH&DOGKuOT@=LT*4^D~k8p zc_WU&W`Lk8q_vI^Dng`+ETjl227FZRR`piZ3BEmrPmX{*E`i~e#v=ufEH9pMZ25o- z0)kzM5q?G|Q#QzjygPbJ{HoCFgy5CtJ=&MDy;z5u4nB>hsH{ou2XS>0hZJrR{T$FK zwM)`WCPJmaMvXv;Ks{F}S2-5TX4qPusoQ&RnG!0`yB4$i+>7(k?a{6NDIr$Qgc#RX z%>XBJCU~d~5BCN-cMx|_f{!c;j>32p!UQKn6e9`!z{!ceJ$FNv0NMBxY*oQ6iE|7S zZ9$=NC_QXu*M%-eq;w|A0#;X;bB5Ovb5pW6Ejm%%N$PaY;8dqv*eXFoT2l&_T-Q_E zQ6l4WFbQ{WhZ?onO_2hMtN5n-&}x~ z0gHwIl85$%y4-%#C2O5mn}eVc95%*Elq4gEUrvHN)f>RPr>`0&SPgtC+8$p&C3uCh zO!OAZP{7zT(uu*X53C+Sm+5}v(FTcFAl4V~?{r8}BY|?jTrwaxD}?^JE6izBmPlbp z&Ud~4ts#A4kiQM{Y0u6@WcW}km`x{K_WFAVTr*oJgv@u#z7hX7l`EGCquwEY8&C$r zUj^|OLp*NiM(${Ydv1I(b|>%DsRLoH*97fC*ose7``W~|rS`MfF8inFu<_n|eWlN6 zejrQ|9yk}bS?K{XZm>YyIcB8xHYn#WmutI5-m!>|xlO3W-AR^ExQz58=zo3XjC+lJ zjrv4d&{XU2a!m4@Kc&Fbs;&K6@fkp zz(fXU^F>KtH#ZUIc5nyb25q|2e>KWDeK4Z{UVo4Li8MuF3b({YL|v$(8E@3s?(ww> z)V%A*`;w-Cvy@cY|8(js#gsln!%(0TkLTuvp}3<-^70L48h<^6&tIye@&* z2N8yW?q4OdRTBn{UkFlTxGk@!_-EDT{6T}D5Tzc8r#>MMVER{!HqH_ggO9!=9}=;% z=TTnMCVYpDih@m|(W9dZ0^hZn^N%2vq+rtwr-C{?4f;oh@*UsBG6d!SN&lg5U3aD+24k30BhY0l2>rYa=@Z}^0>F&KZe8TgKGgucR_n=L71=%AP5IV%jEC?ArJha%F_WB<@$E2<;nbD#MG`unZR zz)t86=+w}yok8$R!t+PPcsY*>fTMEAh6M*ry8s-5z3(O_lfY`>Q0cns?z;!~O3~@> z65n76UF*5~o6@_JAB6_<3dhlGmalJq`_Y5kq(0eVi!@5gTKS9M>^@Iz`52^)C5uq( z?@Nw-WhGD0-id!Wp*I8=u;9VJ!?INmH#%gOBuP|D5c-|=KV}X)hCmbzSd}Aav}%2a zoiVJ}fU2wxftcCsJH#L44}}iyu$FLDN(Y2MuzPAa=)~k=%f7J7-`$tbpIHxk zfCX3>1}Icy1v$HdkDSHU83;F@NN}p1OU%Z!gbTvkE%AJJYuQFoWo~7*$->NDX6w{T z%PiH6OB(X3bAJ=`d@KlJ$Mn)$KQ^!m{ZicqMmXej(O z#N7yIOWZQ4d~3F*7L#KrN2gvXr`WlxlW0?&(7s}S9?ge0eIJg3rB2o9(ay?F|Km`M zd}i)qjqxjbz*JS$D2E$}Hv11RTOX!;P0yg&63111ON%_;p`(fLR1Z&iL*cNqXhj>z zNYa26z?Eh{vOZEf7Uz6)h&^ zJkIJKvjn>uI~z?&N1k4N&D+KNr4M$OIV`{nz(qzi&}dY%7gDl4`#vI5Av3X!0O33c z${Cqi;~eq>+*r)R-LS8i83&F*vl;7fKCJwK$1*aO<`xYD{F`@xeXKZBYaLO3t9)f# z8vDe98;J^9>{(O7GC*#rX!?NNb}X}J9XBYTKak;Om`Im1}=Pg)KjSwvSd2v%ENbx5s1!13qc!l#R@$ry1R&g+@0-Dtd ze597ua4?V+euoY0D(UvogDQGk^W@*VAo@mK*~49-2qPKvy5YctRAnE5f#DJzNUyZ6 zrK>d~%-ljMwWN3+9{<24C=b)NAk24svsfukr$do}^12!D| zan#nP#pZ{1S1BwChGWdobK54LJvd#28<}yb+G73YVfzJXr99LwzCU>iwXk}~GnTGO z%T22f0Ydp;$7Yi2>&20LQF|Cz_N#u!CLyN7t`VO9shWd_ty*RGieo`B9Cr(mj zHbVM<#WaZlA3FKBjCFQ)u1MNvD#yF_H>-t|H|K|zBZ{1(^Uyb#NnzbFL4AAcrL*H< z^LXAfHv(>UPIQcLZH4_vZa->Qy4*N`<0)|u))`n!3=JgoJo8V0gJo}OnC z)0sM~32R6PA#>ehV`T885E$55I|wLhO03{E>~{c{Fte;DB}*$$qK=l)C*$9*nd%n{+m zLk7qM@eFW(*v^4ampV5Iq9g@o>7J6uR)|Q02`Bhx78zy~?Mh1zAV>#Ab0;E#R~!uB zjD>NGg;A0dx=9Ii(Y!oUCmx_SXC4f&jDY{2t&w|3`&MZ2<(??F2&z7aAXp4>F6iFpRbXib%zNq-RBaB-eJ9Kt zir=6A9;7E9${-)=1hgaXvh-^9X(#`xAiO6^=9S@S=GV<1#Ak$8hMxSZeyQ!^E0N;Q z9pPMmyxO8qkmAq$Pk)(h(BD@xzjpHNgJxP!*KH_$3LC4sOtOUf#bE~X@`N_F!1w-A zMa(Yq_TnCFQ-l=RFeod^wqpgUP`9%Bl?hUK@X%ts7~cm?{#f}mP-otR&AB{0zI9<# z>%hd>j4F3w#5vWYEA=uIBHau-bRk?j5wOVzUK4FXZJ+l5y=a~_3g;|P(NUtKNkByd5;>^&-V*J^nE4q zshK~POi2-dnmPVGcbq?WtSt8VE#$+)Id^=zBHIND`ppF@@&rL`4nJMwmjS|N!1^fy z*2&j>!##af(J)tfQvh>4ui#B`yS-AeE%Sv_!$;>w+Nbj>Aw;i=p9d zmYnt{G6Zsu?Fe+R84-H{U+I=+%pG}sFo36x@ycR(;-o$pUMG$5JNeTEw_zRJ z_u7D>>AfhzXKWt~NI+>jQJbz1)TB7_q&WHH5ME{!I~%6{j1JbILr*@a5}hpEjWjcp zz)8X2pVAo+lUF()jV@D!86h&sNsWQCFSnGdgS(`v-V>7Jdtnv~rDNEnkJZ~Nz3;;a z&M6sN686U>S$0wft-pNJ_Tv&dc|{e0m2+c^J4rBaMR>%Ch=SM=8p;H*HmK8K#90EM zg4CxIHFqQ7g{*2jR}|E5HPs(i4Tvv-W3kE&i+)@{%g?MIauhiqy{024s6XGm8trd; zmC#rd6h0r7qT?0(S}C+zP2=wEJ(cTf;D<)Lb3UxyTNeFXAKO33R|^Wr^&FM03a;)ug71To}tlDxENquBlWiTa8SiDHP z`Yt4sL_J|_qj-P6X;O!=eH@aJQ$*hVE|oz&9mF;s6Z0`=rI=d0H)aiFHp<|T)eJO_ zxXcWXXf}RG*o|N&&8kTYp*$Nd7c9RbI%p{qV5ypaU=Cb+#WKux2}&cZw*e!b!nJ$2 z_1=MRl_v#UGT78#C$NGd78}-gN+%Z5S_r&2Nm;HX|}-;?2b{rZFVcX z?>!^e!?oS**yDXmemuUf-Q=6K8tvVeX3qgDkm1l1yVRBGi0|PMI8yyv{ko~6`Gb$~ zXgT_PbQ+Tn+tywAx+{Hl*yEl#kes*EOec)-XI(s<32drOBDvO?LOmL}mfe|gyYxL- zf-2vtBLOggEbjeJn+2P9OS!2HmmEi2EXVZGh*nHrX6mqke4+1MF)TkH$udu7VZ>dv z(*DL#2%o*xY++xjqo=b&_7bz_W1QOb(PClHJ`Yo8NlTBhTal^G@yX~(ronvM$&qs@ z0xfTKZPx264#$HePS#&s++iS3D?qYh-2I`wtCnR;6Z`6XW3;`15n4I#$F^brip2xK zy(i-bea+dcggp@thp4WA#OU>j|1pkzE8Hzr)oz&`Z0zDiUwuJET}54_<`|MX^;;E- z@?pD~%b#_50(rIazWNSUE{t9E%AcA8s*M&pZ~E5O*5?(A)s-4|FmVG8=YBG~4s8-~ zY%$il5ONDp)9GcJ3R&vghHOhG2@)StuVrMDR@D*pIgWer*r*T6*;LX#(b*b(mS)a@ zHxm!~Iir>B7)`UKoJrwvRU+1Eb3Uln<(HXSSzKsm!(jcIO%lj@i!%L1?5h$+E4xg4 zrq|{QdX*ZKb%Q!pG6y%j1JJD$rA3T4W8a@9S7>Id(x`2d zAu7l+J83dS1>v*@X%-pVHZ*rX>G$6x2Dtnh7A>&$$h*YcRmdWgM0S(~8ZQT1DIihh zsxZycSEaQKkhe#*SEW}Bj42Jna&p8X{Sk`ll9YB0D0hQ{a{OTx+`g4N)T2s?((nej z6gBLR3gPe~aL%ndy2nrTNK$M7xEkWedcrWZ0bVAs>0pdN0s)i8s~t=wQ3N0Y==18Y z(U9RDQ6wB7h6i+=eL|ehBfZF|>9zq#AOIImi~tB3gk-dBQ0H$5XE37V9{|Am4uKcg z2f&I%G8<8f7IA|URUYm6Itr<)RgNTiWDotFjz8o8DrrE)8_AN~P>2;_2%t@d<@!Fb zs)wxfgMH4G10YIx(knIxzEm6;?95M@#jTVOhqAZpfeD-r?4}65+L>qqg zyQ?*ja$zF7fgk^l#P0)-HkEYf@kdpjjNSPbZ7j(Iv%iX&PPc=WJ>K(2EqkQr51X7p zo^gjitAhX#uQ`3xlL<9R3-JuR3n@t(@r*gdCzPtBVVVh6RU6Sa&=SBpF%0*JjiWR! zFd+VIs!#4wk*y&19aX+9{vFlXkr;?J8Q!4CjM%tRYSE{-QkovO3P7bpav;W8q0|bF zS}~-PAO(WUg6l+5Ji>fJrr;lKuQm+4$^LZ18fT94iAJ|DBs3<+sEeDW*`c8`Av9#i zsE>1?#%PRlz{Y4qbmUI0Lv(~-FeBWP(difX3cS+weS9UX4QG5ctPPTOg}4g24!#8#aaK}hIs+te?#GHd~zVPGrZc>{I(UhzT)K$(%SfRO~g_6bdAJO_v?n~ z(%@=uxh<(XYJ0~VpvxE7xgvP|^DVnOXxos~3o3386M)Z0v9sTn)g46XfanF)JHoii zyF#`@=s@TNrMRaFz&~lr>kdNLnBJ10BrvcyW+gDOFN8&GY^{UnHS-(M0L|;SU)e?; zAO&2lgl;$V7XJKGdP4=|ZP{mjr1%IQStVh5LGSR>FwcBEtJ~L_HfCNo-#S+Gy29yg81?!!S}+;+sar5Rk&V4>zPHqO zuaNFko_u`=r=_vm9pBHyeh2<7p*yzw8PyBlZvf$u=h2YT3*P?w^Dn*uy@8+ZsokNi z^-+Qzf5@ar2+YYxkdMrJw&s+~;_&{S>S_eG^5edh7j)&17VQNgf6_jMYt< z_+4Cptj{PJ5!oaY?k_QoZKkCMl4D< zDq`DX6Nq<0CR3jylYZ^K(`>!I#8DtPSB`tgZzyOmvS7BnwhJAQ+9|K1BfudiKEu=C zD5zR6V8enxr6C6Tef%xbUSHN@-pMvd5B4gxrQA+Tp57Mlcw4jp4wrteoL?;}5Y84G ziM0f{ zmAWaNN#5>6DLe|(H;>Ndnixwch1|vCAYvn8%V!(NNvN4ivX`iZNj3J0{e`N`=grNob^kPFJ4a^Dq$s+p6CQ}lm`$R%raXMrtwFF z_Q(KxX-9e#F>put<#*>$68n9AgSkchFV@{W0S_8+ui^pO`OaTgTl8CAb#a#Mw~%BL z`_;BVgInivw580CdSbG)pCMvp_x|@qV#Tt;b08uwwHjJQ1NmXn(R?is@tpdnFqPhF50k(oPif($vIpwkOroY63t3cr@14kp|UO7dx$w4h(GadAOyk^-5C$^n z@h_aX;JS+AIsk3~-UMS!Kj6EhQ&jWUZ19|Z=qHt~Ma!kapPzW1dyc?TN3L2t%w#UW z&P`8OJua0@DdgpFZ*~s04X$N(u=z-v6+V6U%-B^qPlY< z{8E94H&78^n+!vQP*sI-H1dT@7d=g^eA0x+)f$ZfQk08Tey@E$&E9sTbparF0FXh< z6O#j}kIBf^fn1EF$d1&t3nvXZnll|5+H18?+5w#j_2uxn#ArCp4jK5q4bb0e?1fDx z!K&~O&M~1GvRm%gb5rWZn7ubMTeO!ek1Oh${EsW_nmOA-+e9qf$4|~2PYtbJUS4^d zE>Efln%%w6d(hfa7=Aq`5=a236Gu}@Iw6OHhgL`-@kH+t_Jp=WazW;dY~;=z?t{Nv9gf`Tw!fV5&;A#6EfqJJ5lv7SU zEEdp7?!}x&g@ZQXRFN4g6W%qnx`*Q0ojEnPd%tIeW-OVo!s4)$HDuy`sdp;_qk_aM z5AtH$|9*x!>t}=Yf93_*sJZn^LP2jvTPLrUukn|chi16dC@GW*3B;wVFEY(v%Bp(n zC~s!>9q%{y0MNcD=KG2#QM09_99E8B9NMeB~bvmk?K2CPUZA*N^e?t%ZDc6Ll}ngEI<`Te zH9ccU9fdUP1oe_b|_naL6h5ZtrZf$Is<8&8uv`ZO{d2~MHMj9 zpwc?Mb^pdY{9Qa_*mFriq*o}j83d>|F5)eg;(QFo{uxF1^Oa7-5|!7I7FrO&(-tZ- z>i_6mwrEn-m!rA(A!BRl_Pg5>=E60VSN3bphC~ZrP6L!y!;wu%CEy4#z8~R4gGo3P zD=4yJMMDNDbL3JLUcTvX1BVKq-tO0cqb&>e`d<4h9=%>iyQ@9&Srs&yzw{c<2VP`- z-SoZAa$5y9)jppex2x=Nz6bI=CS?Bxh^6D5ACp&QR^mjy5KYWLp3Sc|X!~|a@&TpkVOqRa_}KP0$}?9r z&pD;Cv!DEJ?^d~Lg%!a5h0KtY_&ttm5jp))l?@NIPfO)LOcE;4^4fzXqUg zNC3a!=!XdK>v&_^6`V7m9O$%Zaao<0_Y0EiU@}s8GNo;>kKc67)MIN;iq5uq2?Qny z5($*8TNpV7x~=w^g9&1yvC6EfEYvD1e=fjG29-2}Ve&W@~Wd-c|D-vXyRoG)?rfcv(*UcDdTpHMe+LK-P{ zAFym}S+ZMhD=SYomRA*xxF`r>(w-=yD9leUsbmFYK2gLG>A)^|6y{8ni4rm+IZyMX z@;J)fOgU*WX_8PfBLxx|K@93j=f!o5waaFHGq1i99U@(WUfEQg;7kKnDTyJYl<2xu zz#}F(w|t_>7=l&fxWuXDE1O*YL0@>tr=Uv~JmZf8tenr}0xc5m55v@=tj0lOngDNx zKw8=8WO2Z-l$}F*Jw4M#Tc2=y?2ik}0U`AY<%rv?7k;*31lz->8G34FrzoWEX?H+h z_lEK%D$PQi+U~(ZA^HeS_My(!-|=O5m~qX@PCSH>86y(Cne|n#oEj&u=!+OF+416y zekbXvv2vu^R@@mS{!W2JvnZ``TU*s}+XSU{dd|)b3~IW#UJy#b+jpq`t!j={n|J^l zMGD`LDCWvR5iNXLYU-d*IV)3kGLP(hkiwYs$#By0y#70&{kX$3EQvc#>ZfA%r_`0G zT8W@wJ2+a>%7{}(11dL`oWQC1^c%t+rE|Dg7nlz+Z~gi_TAt?EL-8uTK%jR@ryw$D zr9kUn(eJHwW_HM+ov6EKm))Ie%5_(R8!hb z1!L1%ot&~7t+)LI;N(Lz3vHyv;8FJ=?qblNZHj~&)gz*{OxQh@97g`(n7mXECcb-Y zA1-i^-rz(rw(t)(g_p2v)Y+hhblz1PZ-XGUEQQM!=IL2gWipi3U7TodvH}LyB&BtG zz5~0%d|l^v<*#z-vYgfrQhGg}OEm=;rlquX_{!ZUjz2Bz0PjZ+kGa;PVovBDfay2^ z=e^C)k-~c5mG7-I5*w&f=q>MxW8(^I37`RWRl&q6aWe61r$$>M#<32lP854-kVCEy z6>G#R(YO<24w)c!E>n{}iZ?ZZPmnf~=@*yNh~ua#OLu89Z}5zkEbvAgHI8>O_u$(h zqQ&XbHOmr1N|NDCL&=zywKO%-xAr$-f|P92F_oW7{psmN5$j-+RP%mD@dA`@ed}6Y z^x}J*qPV5@_z;jv?-NL6P04W}4L5q-pzc0x=sU;lkBQ=CPnp7F8AQLvP7V-A+Z>s! zTj3$tq;ZQigc2m&so0kajle@rL5NG{oFVku!5KqcfzmnD>=+v=MMKd)#)@qRcTi? z8aZTqSKE>zPOdPdsoZEf((CA>biEM+h33AMQ%cw0rv8q(mNnmEpjlJW&jVa}>+0oo zyQb|k-_;kLigCz1D2`hD(I8Q&-Z4J;TA%m(wX}uvYS*46d^4jOr&$Q-r+tKfK8@dY zH6+Dg5oq0zxYVFr2S@RB$#aX&yb>#}r0wMSt2@MsuypIV8OM^-O#aH+x!(PlPr{|5 z=TB6a=Y;bSz@Bsn!Nl+%x9v4DqQD(gbK0JphC65g%US)Q5siPc&_t4pZuRxlpJA3l z)ezQ#oU3z!&=4!!nym8(gKpe;z|jE<(RNsc2Q|cid!G>TXy-zQg(pmfPDlcU3q{0D z$XuGnx#xs8xw$PSyjXcTO^jOJT=N1{w|d5HGCvKI!`io5egr-gQrM)|KhDZ8*SzE$ z;JZBSL2Yk+?!4*4(X2H4@`4fb+JCZ^>$<Nt~wtb9<6@QR~| zSV$#HR22&%#|D~^ah|n+8_9Xal@y-|!F5 z2+%WWniP=hr06v;(=jq}7a!&zA0Q672NWK{t=OrRRU}I*V5>V`Q!Z$Mn$%{i6zhj* zV^++x4K|IX>2MN-lU1V>L6cJcSU`?Fq%e@o*;F&OwK6itA3UYfnKrUXrdg|{R1|r_ zEQ2Sv;n)=Gl*lqv7Ze&uMlo$RI6tE2?#pipJbLMD<0J4$$&7NW)-5;elQ>qwW75>a z9ODvdm|L*RZ_HzT>^+13m=oA)IeuyOrIHt8f7QG^zxJl1XXSiqzaQ1g_}_LIyqi0$ zH<98-LkPIW$Ct}H-HHKg%?c66qETaFn>@w^msuRNHKdJaohD%>EN+dYAV7{9L|RR@ zH_h!uPhPpubT&4lpH?gZqZH{j!TqY*KeVY^j=wZ3VHKG`6(JdTso$WGg<`V$g%4K( zj<;!u-Qpjv)6W|Km0}?9#>DH2izmuv!)>*iQ*^I4hSsmZWq`V%@@cO$lZ6)tdvN;R z#KXJpD+bbvRnL}cDPX{*<8>dA8hU;niTv?%B!$xKAR}_vxy_M zH2dov;h^}O{lef^9|20aT$+@J$IbIo^9Mcvmd&1?Y!0PKog=4lczqnn%f>X8&PLw# zHt;tqJcWQt5E8#A4yLTA?T6(>E`cify88L8Xp7BO&1C=2Mn}Vzn-&{w2yOvS2|iQl zP+0+aJZ;N}y9(p}2N*I(jR&8!_%$x0@H{>3!3cFx_j?<~ZA&%LA!&jtMT|q~8+>EF z9G>hlF6~_!#tJ1xjcZXXU$-3^N~1d}g_^D$v*n$1wGPwrad9L;2mgqJ!9u9DY46)Y z8}t0_EyfT?>3lNZN2KqN*#U_S%xtmtMZYEWt#W#ILf08>fOquWf~3b)_#PjFH_Kbw zK!o<^0;Pv4W;e&ge^Fv= zsvIL&QW!N1MLqH)#iOZ~)OxgppY`uT*83+d8p9`fq6jyr(y4N7{8989Fl?B^t-sd4 zb1SQme;h7KtSN3-O~px);YnL7dj8S=H%bOI%YBbyv~Pot$2*<2wn@wlS9GIr_MQ#% z$=+$1_4r-@XsCFV)$5(8CU}Ra!sID=$|~pu2wKJTbJ?#&RN=Xg+V`VK>-r$hSasYf z?uWYaZhMO2&Aogt^5NYs-$tZrOt#~S7u~b3(aFqH%i3EzRr5he-zc@5Jw3jVroX+5 zU`Flb(qe&4Vfr};go?|DE=D0B8P6-EC{=GJ668o%r zby97Y@e_PEe$iX3WayII>(Ja-mZ!c($GkH``g*7N@|C9-p*77an~}vNW$*h*R-eGf z<*A|2Q7^c)c$`+POVA!`Mzn+!i#|)#s(HxRs41VkD?ICx%&|4bqyoLR+o~MU+xwQT zcsf1f(;kbp@kLOJef=bltcj=|JSj1>+Hh`G)Le^&;DnaKuo*4nPjsCM2JGr38ZQ!) z*BZrwgu%|UGNUNi(xMfBPu0l&H%2Yg=OrEy!-BVmfun@u@MWYd*|4Fz{yldA2PHnl zqmes2eZD7?A^o3lEtLaora`wwB+@vbb|XPE#F)f^cGu1%h9$2?F_TOY;$>*_ z`ez$AaB+A-&$ZFCzQwp^GDCc_xhDBmGQ%J_t_+p#tx1^z69@IC;qtq?HQ-KcC@wrB zQ*5i?MTte&@|F^X5jf;yCaKiyxbh8Z#gWvp>-gn)n+b{c^sb3!OjKjkN=AV3=M5@` zk2jfUAJnlu=X^E`jRNh`AGp=y)wUW#R%f+fFx4~R?)avP@`R7uCnAG1C7KFtHLUUp zrY^nMh@8Rg%oR$w8f3AD3d6^p1r7Z}oC=4B=Lf{Qu9{boS6(l`12Dza>;bvVNp85e z&-CCh4CevWFR91Tu=N>+R;H@=$K?|exqhhFO-!O)<+Yln;yTOjQI$gO+ZR{&IT_3R zXlEu*NsF_Sr{^p=7@W=iBJoJ}UPv)2!ljcb-aNk$4B|46fg7>)k$_NK@zdFQ24yWOb99>u0kfBphq--6#Ej`8OUx4!kv0)Rf%#q@!8(%g zMus9o0@l_Od%Pm#MHP1>4R$NZ6$&wOxQsSAcNWNcm-Yj5J*{X$(fUTmuzSw8c;Cv^ zRnPh(My2zC!mD#%;~})`{PwEJ-o-}liCm8Z15$*+o@yKqM@-~TK3$p)3tKRT(h6+t z_0~c0)*GDHZ+jtuF-?|af#a&@?~?-hp=1TAb@S?5J1!}d4UjiA1!a^U$1!L}$Hgnv zGDN&1$L!ef4Px+Qf{dI)cI;FF_J$h4)}t5NWR;X)AtXmAH03BUa^x{4+^a%xWD@t` z)ib5VC9yeUyc*AAxq)nK&8QfYiY3UcGL>4YsOz+@&s$ z?QEcRPuKbK_GXz2F9&~#pqfBpm-@EbVa$l%gZGu@Q#|LQtX;Q*&3RiUgzzubHo!9d z_y?c;?6|e6U61XBVo7o;12&iEcyZ-ZQ_X8IaLq{Q@~D(>klx#$_|zyydNBUJdH8c_ z87Hx4>3REkO-d$5#HT@w*cW6Pudq6+`PuA)I!M9-S@4*|1XkKx-hs;qU1KAeX;+`3 zFg-~6r!R?Rr`M1+q<#Olm1P+SGZ5r0nMfqY2m(pR0!UKQ}-!EQg$CYIVro(3X?~Z zWtVr)smh3b$^b$k{KA<20`7!msrbI-I~oZ+c8q(sn{CcQ%#SbR|jFT#+VWOnC*iOX2!bg3AUwT%7J+gwsJ}Zl=(QE#EH6O1xqTF(J5k`u?(Dl%D9WnUkC?mpNAo zW%g*9x6Dd@Q^O;hx%p8l)=5YnLB?1wTOd7{m=fK}^>gnn{(#(ggD=Y#w^qK3(3u*X z;<8yDgUT#Pq)g@h((Yk%b81dy@SRKWVTx8|)BrB|mR`KY=x5;t#k~9xd`nIXDMzJQ zmQ^83bEd_f!Iqqj1~Q(8M&v$&J=wGohcyNHq=|}9xI_w@3_9!Yzm%B}6wXl*O-f17 zx=^W#>WI)wWO%w4Cp*pJXv7#(P4ciq@CLg;HWXsnfGbChIeO+iP62T+IcMbd1>m zLs~2wsg!9tH5n6hQ{cbxDh_n7^kdy5e5b{na#YVGUM*_5*)njReZwj^HU;__z2eds z@HsZmA(AL{ARyFR$L=AHnYpVtMO3IfMcdA9Jazz1z488hz4FEU_M`{3h#~!F-pxC2 zutDA|ia#P2`H3_8-{>%ej2sN?&1@ZQ?0<{aCZlI%L`W~h|NS2|zrC5BrL-a_#Zu42 zfe;kXjo-n*$l8&R9l%Tn@~vkAz4>0i_g6p$20C^ICIAZ@y@I2Wl`A&4S)E5gIvPDH`_+v91aKy zbo9GJ_`fyww{QNf$)FGa78^-G&%x+>dH>jS1t)z+H(OAj2#O1R&+)x9AgD>=LW(w` z;zH7TwuJQJhM*oWb9DRhTEWc$)P8YmV;e#)E_!(*6Eg=#dpAM~eo)PfDBQvCfh&`Sj;TU$#btM45NVt9t5R{;@-5Nd#Y`RUjgfdED=LIwsx1{Oj_Mn*aS zsAE76pm=(0ARqU?Wguh#(KfPz{9jn;7?{6@cmi=ng8b}RSXk)T*@2)$5IZD@5t0=M zq+?)VWoIP>@j+_*Tk3D@7QdIKMF?`a*Z4iN79prRf6C3m0031BG`2sL_j_4dgrL$j znAsTVehj`AXrP2t2w9oGH|zJ&`HN(dK=xnA)3iQFTY$nz1fD!%a?}Uulka_mBdW|p z+^$59zl6@MkH*FN*mz9zUCKZbCc|3D}1scAQIkmvDy1)Q#(L zAQbIe#jzG_&0VWKP|d?MO}Z)DVvXU3M95p!kbpy`%9U~!CQ0dg#UOERFRV+Bs2}zxbA+-3xortb zB|dE>B_$Zg&!6s-m3BdhLZ9jyaQi%YrIFZpp#yHYc)-h$dZ`xT+qD-g-d>UC^s)I1 zly6^KWd}#Ughqa`;t&P77|*Htv{&fZ9d5}U0GV<)2R5I|%TB+=!~Yf$Oe;5ha^|y} zTF`ag-Q;-j?KkiTo;cw@So}Yc)&0C2exKamUxF6lf4mHYtqp7pzt7s=Cp)d!-xt53 z9%vzgmWBgp#{O7%@}NOiv{AA)1ASuzT4djc`9iPE8@40i;^W8&taU#`?qydpN@LPq&j`&sx{M_v*iWGpJd@L`DOc9d-`^o{ zWYEA{tHHNpAMEF>?`DTJ3mZp%c_FlCf);Z?1?PVf;QKNhZ^dwGl90r^`Vq!D`itGW zIcy7^Mu+>RM@^>&yUvq7X04tKZp9M4hsTJkac{cX=L;voabk$xS13&)sk?LNb>t}b zqV5q8!FxHKbEc!MH%QCx06h2xbtcxhI4Wb5x=rJ>+c`DHwqP?56@nkG!I@8=3E}c_ z85@{Bd~NeJ=?B+mUboETAa02CT`$OVz&jtj9_aiQvV*dVS@?C)HeU)1+ZR0B&)Hv7 z=e+QsA|SdA|59Awnbj@|9BX=BXjW2Zpb?vydZ?9Nz$a>w>r)eCw;DD0N4#T5?{ZyF z)}>$>A?y5JsrX|Y~^BfZ_Wl^n3+;qp$w2_ed-#+uC zcY@#&g8m}U_7TY6hY9gXG6EXa^GOU$AZTavGYUP4E~dY3I-&$2MT$riBTN)#*(jMN zR$5eKQPR8VaabXAWO6WftBKn)W!Vurc$VRrgTrNuyt6>4x2pAGjgywaSAp48w%6xe zf~DbN43sgSjl&B`gXmMtmDIBj%ZQNGFmxNWRPy@Hbaj^|QQdc~7bkPIKWa z+r6ES`m&gy?Pt3+5gBLQ-XIp?HGLO9=z!sna6V1rT-sP$~)3u+IMT{+w zB2jUx^?f~v?9xsc(#6Vb8I`E?h1xQx2S=g6ACWHZlUD87`g7DWKsgC7I2oJ== zD(x}PRwW|mk-Pe$j7t{zi>fiXR*IapNne&lSR3jdhz}k(G~R1_)2Re4kCvokg;f>v zLM;aO2of3kySGsKTN#KOy$TV`LKi4^B?Y9CGbbx4c9%#?>YOXT=1lV^GJF~EDKG!6 z#d^7f1$^i9eo%FJ28+sC)me=s7wNU3N|8O=iiDy~$b{%~COO-$J;G`-5HCu|{qNMT zj0K(2DqVSt6-6%(%Yxk_J?X8{*Y=<9+|M;%GF>Kb-;J!D!Z99Hy14D5Z?P!QMyeDZ z6iJ1QlkkM(#i4K%t{@XsG)%>^sc~4QNTH&XzOh)Hbf@hi+;#}8=#pq`d zC2V}A^C3;K78tYto^zMGbU>a zsl^lr{4#DUor_efR^bMz4%Ct8l6dH6Tic?KPiF!qk#T#JvzKA=kMpuE29lT+j3EBh zIro!Vasw5DMP&FLFYq=eX}4L0ZSj4fgr|t(r+Hp19Phe6IE&TzWyxz0FCc`E zTPg2RwPb?M;CjZOdIk{Xeb%cz0SH`Pvz;cLonhdLl?QyyV3@XBNIpeXEl!@iI+2+@ zgsGozOS8Y)aWsanO35Eg^I z0M&N zK<$hve5+NR?1+@C5A6yZwMqrBwG9a@RXlK&roOCD^^iBh;b0Y=p))!-?N@vd9Zy9% zV|o!-_NakkE}=)Yn204Ac7GGq+8m(yvQoo1t8WoE{)xEB6HiHbI6jdcsA6u%F#RQz zF+#nxp681Q7ObSB4UsvN?P<0sBJ!k_SA7vqOUEP7ia}BF5r}D#OJmY8a&&l5lq9VE zT;k0IGy+^eD=jC*PH*JpB5t<0#g=Yt4DIN0kdzh~non2isTYM8MV2%y*~3Q2vjmQ6 z`i*PgE?!i_0n|=wPe^m*;8}mBMv_XRyhkZ{K#y1fIEOW??gWjJ85bNrWzmNJNst9p z!tG+dx{vlf@7&s>d*y4SBIDPCpo;AcFLa}mx^fqZ(aEPI8T0uP&Sqe?To!I~OYXr` z`VgVOsn(&7#$$G%zcj#pW6nV^D4HX$%zHDUea%UF2C)mlV9_ZWl5H{$oiSgXev&L% zE~#l%BD*rEomZKT$p^vQD7m)@cQe_gzu3CcqqQob@>Nk)quh=+w?oqs`&3Qknu-S$^g; zRZ^C;w_t}!`=nF}*3?T-_OYTFXnVzb1P)7j1_R#(IR@tceRF^!_SaqX<+}-blYXjs z`q0>^tNE@`8_qB3S(-%byKBK*dNm731QxLKOMPPzoEI=7X6;z51o5?5kQqVoE0P0z z-Soo*2l@J{c=>B9`G!Z%Af z+P;}5F^z{y-Dae**C-#ccr}DL2aCwXRz~(`nvTO@BSYA!-#BF6p}5KqAAt2mtVkQX zDoOTkbEo!dAMPyBL+WC`P#zbk9xqXwT$|^>MIz>Pr`$)HMi9kdRVgn2DCLPRsLNK4 z9!s+X>1}evX^IS%H#!JOEW7S|=GFdcd<0+KvRB{uc2<5yAX_F+o-km;AzjtCd8wz> z0+o?6D!(1hY>|y{~v|q@_4f3oMjRZGlIx;}H8a89B(er<(f4QN_*s&vh8a_|nyyY;U}> z-3hrqNPj3jO}`UW9D?6G6J5a`TBNt*ymue5U^aAA%bgx$n%B!SaJgT=AMMj6yoXw| zA+pV9`7DurO@U~KQ~l9%W?j8S7-7!nZcjZ$vjwxpcNoubX++mI&yj7^s@pw*b^ZM}s_N_-~OdFWq) zrL_rPASxmb%vgMCA~LLHG?PAFEPY6}VEiP?NwxtMzlrkfCQ*o|=biZnvH6pr_pM%Q z8VRqu7mb^8x1&u`XA=)R*YpWT*XEiFh^b84X54f22KaT-=qoA><`1!>x%He@$K^(3 zyzIFdPT;DFyL2gE9Wi{I6KrVgy*^U)4loC>4oBNRaX&pzt-yErgUtsN8v1v&(Vt0n zEG)kWrdo>P(GaXKt@G43@2Gm|))| z=6&~b!~QaW;`;99x-@GoOd`qxCo~w6*sDm#orO1z;EWkPmf&Dy&kr1N=4Dh>j5;C0 zYA(QcGnIj_S9@Zq|V|Fy1wT?eq;n@ZC*V*T>!X2xdmN&b~bP5m3 z6&**{Dj~9VO8G?_PfZ6f;jpW;YttyfEZMFb(^{@bJO1w4sI5IVZ!4Xh&^)AoW0YO- zt3QW_+0b$;mdI5%f;JpYBKVg2JGe1JicMnL+6SnRRWwxi{wjFg8K|A12Th6^Br;Bt zLRQ)q>Jp$P;RmBjIv2Uwwr?uMZmH5$#VwiY-L>8yj_Nbro{UdIU3&_Ml!+|wXSD*L zQHIO?DSelrbbzpai<~cqGGV!Xna9C4I%Ep;vp%FvFwA1GLAH$n!s% z6|UTJJGE`H-r5JlyrOk(8b~WZsdeM7}ZWO(y(tzCsW~5J`8!KCUaF zN%)K#xiK;-bgol2%t8ml7j@~5;3v#Tggk(zZ*V0dBvi>-*9gq^9n1rpK{|j9(u)qu zw=4Iwog#r-S#vqc@D)*jO#u$99}Oo>HE+^~%`uwYv`Zx=nj>HSA%vRlWAjh*2WWwM z`ln5a23^;_`*A91-jf_&TBg+$-!yyi+p&c#deitj%a_oD&*I}JTQP$Vm32KAG)x4X z0%wfDn^pC|lhK)qw_yN0S_0$%&Yf&DRTg@PhBwJL4G2n&h8D#m;t3d|U(T zTV{1eP~;_2=AnT#MeonX2ybU>VSW}K`3ZHI!I5!t>GR&s0opd+$-8mPrVS7Nb9u7> z9b3v)y5rmA)24l2Om|kalgVs)Rg;R)Q9U-}q(Yh-ZP~idOumnP`77u}PyBK6rY0Th z_E*iN)1$>7@8FE`G*B#B4{pHjPo2yl!U*Yz!v!N2Uq>F4R!~qTnvC1-WN_n}>#Ei8 ztd#WeRC$wJm0cwrk?XPDqU!Ihmu8{+>rJ|ytHJdY_{e>$*G%aG=r*3?E$l`5R7~nm zc=|J#^%V4H=u?J@mHD=1Tb#f)x-D6JP#3iz0}HT}$JZJXB;(@8zyO^rzaLZEXqi$wyQUw=%Zy(H&7Lk*EPGcexnegiblPlsP zWO(r;>_k$JPP3fT#|xNe3qVn@aRJQZWK zK5ko`5#&IJI#2>)uf4Q!ZlrG3_G&=7d8CNiUA!cDMT+CZ`qE!uS{A=JUpGmKgt$+#}dB-^=~A9Ib~?ZRdC4?6NEeZhaIz5W~dy0o67 zy%~sp9b_i?PSpMV-*@dZfROgzzxi%KGP8GZ6g1Vd|89Vi()-)*AadfL%~3%1zY)2E z%3x#rPW}BK*nWP}c!MHt{a`Hqt`+~;+{Ey=0FNqWhK{Bnb@`vrjQ?hm`LF)@U-Ae4 zOA7g~ZrOiU-k((ZPm=z#QvcV}zyDFtT>9Ov0^VkO0g*qZ z&}aT`HT_PK|6{3uE)Bmwf~G9+hf@8wR8ZG~qQm^23hFlC55e}gQ~?pt z`3WBKXP1?K(EyJuKLI}etokghzk~z&9ua;80JCzBp~`0Gp}3>Kpoy&4qm=*Lt4l!+Hc%E*Y7nvmzSJv{w;8EE6N*PdaFgP>2LQ50Nj1&n7>5(9$1nQ4^aHIXs7out78f~$_% z_|sqtuT{IgQa2ZEfwM+p%@m1t;}qb_OmqwX%DlmVIZBzu*(%|ZW#Q}wH-_RduD`(C zj4T!HH&}qB7+BX0#xR+~X)>pDdDmboy-0mZRak;y{>(_>$$)M$_hx27_dPI~+bg#{ z%O{Xk!Au-t#{KPNmPcKKTJU*d-a0T;(nE>>Fwr=Q)uA_Xl!I>>eID@YoTZ0@ej(MU z0N=9T`q*bwjfu5!Fko0)>ePYqH9}wESdU)tPI`5r^&leA3O;siJg}ACc{#|B(pf(1 zRhgw#3_ZJK-UJ$lbimSAz6_5yd2cXEQFqmD`0M~$!iFKjUA7@bH#6y~)C!b5&~zyp zL&FOH%zBD38Ye=;L>u6JfnjS8&B~qc|{_$Nn z&!LtT+A!moCkD7{i8#iwCXRc!pc=2Q%XgtdiSC-*)+8=!qO)AJUu7&Ik|LzF;@g*3 zA%z^~uby&2ZZ>nD5Cusex^fu5m2jRa)tI^8ef=@ew*Z>FSv+a!15$h$6sisj6DNI` zD&hp&Nwyc1_ow>u$Ll+2k##kPKe!BoV)p(e9Tkub__I_YEiWF?ONam>hxLADxb?to z7XEqS;^_cJkmIc%9Ok^ffDm7$;+HI_B53Y2$4_7$K~V+? zs2DUR*F;b>;_m<$4Q!=Bq(@@LaIPed8B7@ESQy0c$H%VP{^y8Lv!_KUPD*|yv}N4+ z-7TbhK?LqlA|uEY7cg*2U*hXO%CzVt>L=;L%n)bdZ)UmaFUC-0x0ILUVh(oFDho9t zQ`eUqZS_VQ*s@J;LtXKbkCN^rNhD(y!+64ybo&I0xpNKZb7N7ii|d&)n;8L1rd&ME zXNdXNVZG)J(_3)Ic661nv~@hYRmw;t?9?;JmL&Ns&KN!s5F`v4w82v(SWiF6i|w^MkztzQd)8pc z+OE9|e=w}8|9WH9A4y5D_15!w>5RqsANA>9#LWCV$c(VOq%|ZF!mmhCsKXbTa|T!NMB|QxfI(LAOXIC2y`-j% z7X#5Vid^_sg~a4TXAVAx4HgpPk8A6cFXkKW<^a{%tU-fZR#qow+gQ9wGRCPE7AfHF z9S|4AN=YS_iO@4%q%%&Y5NwEC4bv*TPsl^ueW}+d*92}uZ*J+lCpm5YNHS*mNi_bm zV-JMO`gt?ZijubOAw&tdPSuYeeBJGw!UXTHh%T%@NiaJK1_;y2#Y5?b|I`k2Rw#lO z!5h6!WQ~M#`!Gh9c`|tbg$@GJ1?OaBiQJ z`vQICEM*tCT60Ew4Er_|D#wZY&^mh&eMySQbL$-)KR+9^-^;8`;Q$q8!U-BqF+aLR zCIaj1TVkHwcd|R}nyaQZwg?giisho+?|q-QXtVR1JdPGCO*-F63U^2NKIcrAF_BSy zh*b(0Xbz|FzCAj)^LbuEpmN^&;lNU@9>Tsu;0;5zBzxVV=b7cpH9tfin&O>@XB3`q zqyJ!X{$z6eZ_qFN`#^CZSSt_!LQMky3H`#~0wn#*=@7z-<^K_({NGpNpLzaK z;oochKjQuWd0GBH6aQElh1vdpAW{Bj-SEFFot24E1k}B(OdzcJzfA_vBjX>-w?8D% z?=tF-aRL62=zctYF9-PJ+WXrhs5~Ic--Y4t<$)f52*bY$v_I|Ye|9wfiwd-?-}j#H zz6>D6;Gb3>!1xPF&PrJ_Lhx@WInmFNoCe!+o;f1%ZGtgyQ|Y39&vc-=aS3IU!FoSZwU% zE5P1GM!5|zHqHxId5={1D35~!rGqT(3CXw{-nSf)dx96n^=Swb07LG{O`|O#)z>sM ztZh-Y0|@rS582j{d6SKsXONG6(Hgnm8I1Ya*Jlcq6AV^4u~r*S2iYBZ2!K*21jjcb zN}jMQoC#$h?!FvF!sP=jwSx+8Qt4h6x7M)X?NA+}$HZ!R@ z8qurNP{Z|Z4X~t6A=v2-PZW6!t*!E)aqt}umo{$2@CDKl(IH!`HTqw;_JxC(VS}gj zf_E>1Rfl@T^^d4t*W(f)q_r#X+v5y{KdaUjR9YR(6f;5@oQZ0#dZwg@6VEFtcgAMF zNb&-!Jv4%7(A$bP#UG|8d>WB*!g2yaWTao}UB1)sTW*ZSx4DbhSb!B&vD?$WN$1vH z;kS%bCPIx4FIifA5t!cKBPcBoy_YkY$CTzFEPg=7@^u8}=YDWVu1iF;6(+fh8lR)Y z5vdw)l^`QHPfB&!9qPDX%SfF8Q8YlRnHAKZVz<3z^}s+9zh(;7`TDu;sM(_S8*J*U zySwQ(q_jn06w~p^c4wl7gFXRNDl26Lb9gI8U!KnOtUe~nU}r>Bz~K8uOwv(K+j!23R*AWZ<3QVSmkuPn@lwz-{5#Qbc+C6zWOG^SQz!d z@J71lwE@ky@$2X++k&Vxc|*IZu^s9#SzH$Y`Y$6IkG|9!5?iwqBt~>1thtrrGk;6-9sE}5f zm@Wlhg|wXb!$%lql7xqaO0~MD<2z$pq>Z9~9!UGNGF6+mB=bJQIoI!6my4R;<^Xw) z8;QEy#RU#iPpr6JZN>PV zi#!kE)n+5qys>>hTht8tcC>Mm%tzF5@+{e7%{iu-SNLavb&-flHyl@0A z@el5}tbf_+|0}FcNizD70s*8TYkr3GRXDXkM`|Yf?r}LpXubG~D%{^Im*lujf&5@* zievOkY}(_Qk>3(Z)~8`rxOVtJm(H_riEqulVacLXCwZlipWq`huhDpQ;dQW69T4u? z0%fw+ktT=`_#xiFs~!Poz7P3f_HTp`c0uQ=?gIJ0(KCi8+Z6sHv>WMYSCgM zh5C3TMaeUXk*id9Ou1+rn{BGb!0wihlk*{lTyM#Hpc-gh=caE|JG3DcH-pK02jIGb z<>rZ=v&xSTN7`;Kj@vk^*`kdXdfhdVkkw&8@4c1BPg#@D$0S(_`shsZ9tmESzmcsw zxIV^_r{nn2Him6d^kIVLRdUj*>R3DT0zl>S4mrztMh-l?J4nQ9Tu35iU8O{ z)e4s)EB4^%&qMF;uG)2XV{V(%dx%UGuCF`pGp4t{{&tG)qg?j{1;+#I*ZLfI0*OA2 zu?cOtabRy^-jn17KesKN?oEiXMzG4PG5L0pACQk5%hDE;}Zb)};Q_cMLK)+NU2&Fh`}T(-$ylyjCUz@nFVgFj3GChg}l zViQn-ZGIba8$lWtqqqJwrxcbLvE7;rGldx8bF;{>b6+ltp&r1S#i-s0Y+7BIz?_ZjR8)2OUot=lKn45_)N8(Co!l2FG=zC$? z+nva*Zc)N`EPRAX=Tz|O+Ezz-J+TED^f9+Qr=e9R9Emt`p<~8c2uD4r+(jO;u8GWk za531P3CZx3Bp8Y}C|F2^szO>tUoDn~3n#Tc3h_}-SZ1Bm7gmd7++PLW+a;bZ=HAZr z;er@o2K$8RPWI{D>FkxHhC?7~Ws=6ObiM&BgV&bzHKhuMx>n2t4qFXADJx{ZKM)Xd zxA!Q7VxzvEJ02}qUyuPaqS20v@8_W^Qp?N3a^^M^hVhKoPw73Tr4Nl6ixgk`tT!9j zS@fZT_i~D&X)6hn$>sSJZ1L4`ONPB|-}>y=&BKS&vtut-v_> zQE`@UmIEdC56JbM*OFAQ`pR)SWrgb|J!YbJKC6)ud%k7o55QQ9;<$K9m(B|(zi=>5?z(Fh>TgysbfUv1{dq||sWh$)bD@uY56_lL1_gO(bLASFn%9O2GmZ>ds z*x^kP&FD@Ix`=MX;TUej`j+-)O|N5@}E2>3rl5!5T2$ zc8v#eX>dGtFHGm{k>q_Dg!jS0QDt5sq>8pOcb(ljy0O+u)1hye z#>oKNBg?FP0c)E==)g?CoXJMi_zGN4Q^{^1-JJZy?aP*0=xBN(?81jAY?v|52EyK} zH?!RF=TYRA$F%Gi`y{2-@5v!Q(Nk;BNFMGg*%YHL)TI}g2Hu;gGaKmJoQuaXC|g`K zt{9DUKeERIYyA|4fFEqLht>9@zZOwry%#5yoWvGoHMrf|i;~xf}Bg)ePj zxa5-i%=vlh0js00J`Y#VE)yBAAl1dl#dKyDn_ro}Zf;iZtx16)fjJa6nA8Ncz(%+?vhpiatZaj@bI1QbCgO;nPg!5W^iy@Hd7Xd{}cG$cJ zfYN$EeUn{})*13rV&J^XTPN2a!+pUha23}$q2zewgJdUf zHY+z7&dbH%P@Nop99#R|ePUIUsqi>!m7-elLPCFJ$r(CGLPbADF%|Qtv=XUNxhzTh_S3R->@Jt^2o1)2zrkw(p_3|RE zj%TFV9L@)MH_4EALH6$ZU0-CixC88rLI;6=>^R1sB)k6xbt4eS`ZJsfBs~A7Ze;rF z>PAqA_J2({(?6r1`+qy{?~2F&ie~<;u>a9v{+rtBXBF1}{Qf`v^7lEw!U#gz{OffG z3nQ!W->SvJ2m-Bs=M?!4bd|NYF>v_KOJed}hx&Jn(2qs{e`p-PYgm7L3^K(2w&{Z& z*+7|pNHic4ho5LXSpOpC=3iCA`WJx|?0{e3*-A>1)je##L5Aqg62>m_^Q*;Sa5X|tm{=2_E>3g}f2CIG=p7q=B8m+;OfFYUq(b0B)@a=u4L=xQ_&z(N#F ze)7{heO%&+pqhy|o1W7tbo=;`<)sPN;mbU0x*Iw%YF)fhiv&s@uu0fV=E_t^qW+;{_R@FK^)Y*2m zka4Cy`BYivv^C@=r~N=tH{W5rm>!|(4ql=&xH4S-gBHy}tD`5#eR7n>79T)8fTUor z3*Aqp@Qw=%9)KnrSd-?31P{^1xf$2P&$RzyTkc?K6}jrYVP<3V%lZQ<@FD#Exz?=x z<3K_^C>Yj?KsbaMjy%Zb?ArsjW3e!D)7nP#59+LiyARkspVHS(o4#pa0{y6WYR_dL z+OZMBUr06%XD*Jad4Pzcq(8!RAifdGmT1>4Ne`UZm$O-H0M}@Q$?$?xvGg5HH^7=u zYYS$CQ!j13B*Zkw@DTbB$Z}KQF`~T!l}4m6<0I5C#lmuD;HXC|4l)@ z3(6Kwn88v;dHhW$0G4zeq_5ad_q_<+zdR6_SAG>O`T^X%)T-61Glv7`9^d1#DVV07 z`fFt6wM!um%9y3eh{I48`!P-zO6a*=nI|7_ngH)gKv%g5AI?|9@-!jJ{6ffv(=eP{ zwSImHQ2+oV3^4b+!0{f6&c80%=DCx=V~n9_2H(IqT8dX2JDn~A8l`gKTP-G->;-d% ziSz{hBJK1c-w^B!B|VEJq?L)O9o%FG)CgdRq$H5oJ2^ zVxD`CxT2vK9ib`r`x~ji?pW}w{;m8<)_^Q7u#`){%#clwVEBT2^fn_|(_GWMtTEx` z9CcqjT{TIN%t*>aw?hz7$$T6Ow$I%=h3X(N_JC}%0uBlXmXzybV@W4dNXRCp*fPkl z$auqsIYxrej~GS>5u~4RZ{^xnXLgGUjQpy2@R2Yyb*~)CT*btR=E)b6A4r462e$#U zIVJ#qBxoOq3_-K1Jo(2c7W2BW`pfGm0FSRj{cTuTU*Z&Fj_RRz#nZDvh@p&syjcTT z|0;3^_{);klI;SCBnWNy)Q*e>m3|O! z+>zVJ*GfuWXZUm!=rSAQa5wo&s>TT8*q-+;A*D9BiPkMI3iW$9%`QjVDKkNlK|Fiv z9HeKrvTbYxtbaK3uutTYwsrk_H_)hU@U0)0Qm`i%B8YhFp(Mn{SY%zvSssb=-`CE6jL~aU5j|&_T!OrA7F_-Ced||B={oFg4!hmOG*5y z)?hw1%066&Hg+rh^fn7eUoP$r>~YW<{vW%F@h5fge}fRhzyP8O`;J!ljpBD;$`c(+m1E>m2_A+0@dBaW06(K4r}ma0*K$#cv^}2)(FVJy?&( zUR;bp7DJbak`ACO5gr2!LUv=274e%sSBuyj7STo99U6e`stYBK7hH}ZN^JJh=ZcRt zycWX<;?F$Z4>>HB>5`no^9n5B8WeK@B6}Jo7>P=kU!uKl6Hv>mW9&Qmk~UuK%v0i- zdOJjpq)8M_tGLy%N@@0^dNf$%*=exlrfMQf+1l zdY#F%Z@En8Xa>jg6N9$5mBQLKuON^;E*#rlUFt-5B9k>fnY2DOmx8xeCM^1%x6?G! zV@wHFwBExwCVqSIFwI8&NehBIA)%*XJ{fBc>!@pwQld#a;^a$%L6-vtrcgJ#{L4Al z0;myH8<@+0g(#a>pO_Z0GWfY)PC2A47Jh6-y|&SZ?t-LKrhbg@23{PN|Km{yWc`as z5O#)NOrO#qTa1PH556HEd4OP=C@)8A)JezDJG|{U%C9(#VCb*G1*pOjkz&BnHVC*y zFYaT@`^Ia$AGwOYVT#yx?-E^fY(CyTuF`qE(hurF_sWp6*qe^7CB0Ws?RelqyVQye z(eFfIx#6NZw|BwD5vUP{cDkdwjeDJ)8KVocKfL~cvn46yKh)MyI4X6a!~l$VU5bfn zwLS3g)ieQO%(+eVc)eWx4b5{j942b-6nEafm2Aj5!6BqV-Qu!!O*Q$i3f0fyOvloe zbhWf0W{ka!z)nO#oTgAMX$%r!BQ3lYN$9JX zDgw6$ho5sG?Wbvx6clvk%QwQx~B)jGJ-l?(JGEu4TN%Y)BNeXIv&m;Hh6N zDBUF&8qyE6R`$OPU9Qk`)rXmVKf}V2$s}-L?ZfwA?em&{#tAcrdW?6%-pT_=XX;T} z`9eagh(j7}lqcEVdL-FqsE)s`VLp@VK%M;6roxw|*cX6-w`sH;lEIdbQoX z6q>}K{E8N)F$tj`Pu*53A2%8a(7VK%_*ZqMmggP230FR9 zZFrbK9l>j=_rI@?_g_JMLDGPx$JN8PUl6^#yR`V7u><4Hknta^ZIEi>FBw`{7=8gj zgZzFXh&d6K=P6ymuuD6f(qC~IepvCoCmfF3Q*-n)k^~CNWwDc!^)g_QPhn$iA!~8q z_V}GP%_Sp#LKHUXN_yhUfaE;FUNNhX^kpDH%b>Pm@g!iwUL#+}UID8ZPS6Wx;8Bt4 z5Eg>*TSeu_cr)Zik1E#-hoIkq$UBeLw7Lq}bDQt`KF;36mwRoVGFfl1;Bd|pSx$ucd?mx4EyAHG$?wjhpOdIJu4RBmQCG7D`rs(BY)nT>q; z3doiW=`j}P&h0OFRrb8urpn*TXsV*$Xoa?IfL)MH!lpvM8)iGbdt3 zYd?ADQAQ83v)xkOQ;E}d7LV97T6a3%F)GGb0-0hZJ4^NER*eFi1j9E6+toUZLE`X@ zgWoib>un(XA{BQ^U0;mj7HGhiU0NksJPw*Lc^uwpl|O1OUbt$WHit3L48PD{I(WYCb$0ZA1Ng7PZmi%3qWd#*e9MZ1H-d+qF1_JWz(oNuGr?y{a2ySSta z1P#dVYesa7yVN}*N~g^`z5p1ZM?JkbprpM8itp4fPbUk%-ksbLBsmlM{n2dwN$UDD zP#=)#m)ZJvli7*NAp<+aqM4?Se<$1DOlI{UlUW^!;q7_{eY7AP_aSh2454Ot|7r>E zWz<_&YEC#d^BgW(=gVl@OmX~y@xoe!Yf2~fYb4cG?G`IorUv8MPWIRLx#IL)Hm-%S zFTcPXu2P>bNx3%8uA-_oa9j&ACcVRj@p&(zdueg9c9#@Ix>%%S=!>+xr|jY#Rxyg2 zKAn1EmaA0Ts2zPWD%4pcMQDQuW;oNaI$e$OnaNt3$?R^YO|Um z=40B+)y=-hMElEhDKQ)INqq{dFK6r~T8e#lknims5dN|6KqBMs3;n-CU}gP`L({5-Q_OSFKMH{DEtWZbNslOo>eaY-*=x|Erqv}Yi?bzel_UGsz{+Nr3 zIdcaw3)mg?;q4wapZ9~6g6g`5Ks;oZE35{#1h<{0kpsx^b}A00Mxk2fTHej3D`H+5 zZ_bf_JPLsz=KbH#!ap4t0N@u7RV`)l2vSa%m0b`4dBzCBZc#;rw&JSyGB~o@ei}M@ zBGC((@9yq!I1H%rWUk%bH!#vTmTT1F3?B9 z0Gj7LZ8SOY{Obor$V`lZ8!reBjO;yujMOaC%w!1U785OzHVZl;i^pusS}tK(XMs5m zm5oeOM3hv_Nc1>^;^{ylv$Yfbz2ND$E|wL1T@_v6 zTV^>z=2j=_xuDx{3v^r-7j@ zMRG}naaOyUf)jV;xo?-OL;HrB)-O`+FMvjs$?<#Q{3^U~ndlHF2{^K(h60u7#!v>F z56k)Dx?ClLFR#PAdIS8OWMB>SMln34^X={08E5_M@*GAs`SX3Tt6DU79p3wX!kQ$}c&(XG? zZ*n2ViWBVJf7;gHC|{BILXlhev}TwM5pLe1Vp-?GGL`*?f}(+`F{A5?C7ivMY}L|A zf(E+3G9zNI&!|L9$E$kS_)e3XOuND^-<`WlK!$lkcha-zst;QDuO|*OHHEZ{A(GPa zHSN%>A3{mrObxL_VdbUqv3x*;N?zTZ&_lrz!Uoe|bSXhpR5@!bPkm?J@$9gM6Neg> z{g{qCP{=6rxG!!|yl5Bmq7;DVx}qc8czEmn$fc?X2+DvCwHOfQ`-+#uj9ql@a$?ka zn<2kl?>0e}#)qDmtEeV(o$}H`Vs%LAh)^o3J-AHcg=-2<_3FW6Sqt+-{3~{_ylaTu z+E9dR%$JRkSi0<~xZeJ6Y^3~`j7E}=<0*oEnyuivmE65MSUTWY6F6%)Sr%wm! z&~j)!H1vdOo998!s~qRBfuB@WM`#K7wfg5r?Oh)}JSJckXqgHN#0HSG-(spEJ5rlY znJ*yuslMEKzJiOiJ#S!85+&@WL zhTphP?CR-!e(Bei_QpL)&cOP3kCVG2R(Oy&_R^r%O zA5KU;1Tnc(zh~f}qDt1-SL>A6(?=fy)0H{Q_;Fn-LI11d86`0Zw)-R%W0=dH9!}}) zeQeju{OJ$dvWH%ACYJyN`L9(HQ+pBY7Obnoou-I&CQ>$q76ogZfyU;mwE10bxYd~r zM`_%j2fyi+PSJJ4o%nK4M)jx}HL4o#+G)McDl6t_5F3sSy~?ge<3C9sq;7JN^V1?d1f*p%XE1c+%L#>(M zWA+XnX9*`j**g36@y$y)MWg--)fmVVNMT0y2YU5m zn=H>z8cU=|I#-(kcJAISA980>V6g%jkknEwY8SW8$5VWYkvQKLtlEv=Qaj=e(b?Vv z2DN@9^qIb;`Yiuw%_>O}9s%%x)Bl5y=M;C2$ESJrvjvCSc1fkYv;=D6lJ_HLyfz9- zxVyA3PU4%>t!G>BPM#?_`E^Kcago&-TJU=Pf9!o_SX|qdZE$yYcQ4%C9fCuU-~ocW zySuwPB)EHU4Nj2Y5L|)<02ugKax|fgpn(L#?l3XJgvDjFajxeK;=Uj*3nZR##w8jA{#*_ z)qv(%N3ONdR^x-Gi04}P2In3pF=LZIm|%*gjdZ1^pJvDh{!7+S>`2x~C@YcBQv*}K zn1r4Ln;fVM4ToBBWE>isU6Wh_LYGw~Ecl%P)q?y`WJ38-b<&}bRBsv+8 z{%I0y;Z*U)YiI`+T-UJu#S@u13UlS16cD#T*DBf{*aN8FI_?(0flHPa#R-kLk&z8IW!cM-+J09jkUHbo)#P z2CmLAL0w<;YIJZ{h!8V4ySsIvbKRBZC+uOZvSJP!1S6Q{om>~3lV=J}oV5abJQGt^(FAP3R*@^2 z2M1cXYY(~tOU?x?S=W)5;l@rSJ~6F1hfa5kljnQk*|C&sDW{`J<-JXUHm{g31WIjc zojfn&_r^fXGsg4M@M~>`$E+uHR$HhOGdP z*t6nXV_r^?&O5YmTuLbszj26>^0ww@y{M<~5YsyL?yO6?zf+)2Kh8gUy2u0j9orq@-R5Mh5es zqaXl`!IfAVIZ(f~9Zwtiu^Rhj{*6f34M4!)!;2J{be&bDFrakn1GcN;Jru*`VQr6j z0KSg~M9vw1UeYTmPa%gS*zzw3tKs%%P*(8^Md*qOOF5Z{y1*L%YzL@ffV#_s`$$5% z2YH`@cayQA*BEt_%%rhtABmcGvwRp3Twp;orBr{xfF<#gb$>`Y*F2G~QY54x?f{n8 z6%|JNOXM-^RWmy)R651%A&Gq9%5e>R>HDn95c6OZzjA-G^nBhvF!T|~q_kk>M47lG zan97Nv-tKm+GEc?#iE?KXEgUhic;&ozMyFPOjb8avb)b~xR=Bnz<|Y~!)KHe zxTJuNW3aW{O#$|*GFR&Dh$E4?{c{5x3OhIVkCjo__>wgeUM$dsmk(K5m%a5xXo6Rx zMPeeeBSo1}NG{n!Ml}uh#pjmKUZC*h1UeSw#^y~L5}Fv3<9e)y4boqvl1=Ea2^Lk9 zEn`RtB66FOBktSi3KxvCE7JAs*I^8V^&gcCdl1q_1KaYwGvBP|2}PIhpD>Rrz_~Bm z$6uZ6LC^6Lws@uXRqv=}{oY70YbrQ1r7p)<`xu5%dfYQPHM-5+SAH)PT>F!{hI+y* z{FR$)BnAhStDglczgX)1qkZb%^aa0xrNcH^O30uuU!LV5 z9qfV`TO7k$YJJxiRDRbNB(J6s1glxE^5DgJ1!}pV+r6Ct*WP6}@6DDtBp!XQNpPxq z;I2ZbIXA!BD3-3xIYtZ)1WVsDvRJuNkFU(2EP61bSK^)9R<)A7wYho>p|nTgmI@1o zG?=Tncx_2)9Oi6^&|<#j+^W9%v43F~=90~flhd7}-nEE^niCazf+D;)PH5s`8G}p*?k^+Se{4bh+2sXri2Xa1x$h|VcO3lN5(a!n zjei>gm*;O#>u*EgbOX4)6Y9Q!=HI3V@I5*G?Oib--R^sk{s#>G7r96Oq8K{&w>$7qL*j{QHaDBHt%LK_aFqbiW>N$ zK4?wmLx?i0-x$UN`&Wg5=5#!Lg!P{kE&rIzcy#=_4)iNun*E@D{#Rak!`p2epVP1) z*nmA5DYT}$B}!!y=@2Fd-Uq%R)=|-0FK8@yNyW%lJ#VK{%4tEy@3bv?nRhhAz``GY@i5{xFEOh(O6#Gvf-mN+Zb)>6x+JT4Ws1KCqnq5&TV^&0QEcSnM4LYV6C zy$Mr1m>V1(^&RjqL$d1RVh1y!#$V79NnEScmO5k5GeU!Y4a6I9o}@zDwKv1|w{vmU z2ZKbro-C3^k-lcfbS67vQz0oP`sg?FDuGh25SD^dyJ z3jMM8IRVFIX0Z3e6YJzqXfq1Y>#1Hli%SbUo}rF5aNMmJOl0U|_-r#7jRTH# zzK9YyaxQl*j8`=3kWNbxXnOsKr#!r^M!v=f;qq9o1CY_%AY~@6P^q;JYr**Q*vsuK zHKvBeXYQ2`9-|wQM8M1Yw=n&1&Cv(5+129>k1aF7%mNTV(EJVi#c@n4itN6mcpfv3 zZ+2&D<4TezvMFMZw#vZ;`IYf0t_L=S90sRoo>jdDvM6S(z!jI%pqWvb?l~Pe=)c*#27d%V%;`9uLwuB#{xV$a`PuNuP5MD*DP(kDH3%mhG+3 z#BrUr3oF8bod$N;k@qW?Y)Vy~%5%luEo52-X0W@cI94wB1t$a!A;O}}cY?g!-L*pR zA}v@?llMHT@Ax(&B~+$y?wpSo7>EKM^4b!(4;-|<&e63CSE$*FNs2$*$1&YDYKL%S z*ui#15_QJ6cTEaDm+4af`{*CQ{i~c4z>l>eU>fy~8NMB;iCE#Mp9r45HUN$2^GEVh za``5Tn4S7f6k)_^l?MeQkuJ=-sd5$W3Hg}qKbLCwc^j3{P#)8;dl-$kX}x`%w|sSi z62PeTrio&!(i~n6`q`sjg1-HSbz3{bZn7<)_WgpbXM^%8&aPwNHi}gxIM|7R3m+$i ziLx^t$4_HPn!E7m(z#Xo>)`DQsff<`-9i)sVv0FEr6?NUJsUyjVZ%$QlaDqU@C9E1 zVPT!eLVWxJg3nI`7|P?1YzC`oNOo|$w5bRAH@=FpyvwJ(0t2nE!TS4a1*A;>@2A~A zBU57eAyWeG9^W}8z=jjQ%rW^sxxfwRe^jRQk7oh@Q;zs6oB8jH`2H*!{Oi5HuJa$) z0Gluu*Uv>YT>qw%{`L`K!1tK=$0(os|8J%Y_wNwGKjV|Ias0rP0Tvff$ylJz@-`l(@WVw2Mcm>K^Fsh%>s9VZ-R|rZYUqR z%Te3b%g7q-Z_6rGhQ;9hD(jE1ho9!Ul(P9x=yy!;OTc=1fru5#V zsq0amj}A^jBNc~-k&Aj2)%@T!3MwwSS`h)>k%qW?pHMwaXGkqKo14n2cfpNv`>L$r z_#>`#tyfvEyZjdT(H3OU{5+5)g$0;l(Jw(5%J$A(9>6j(S6=^pKm_3aT}1R}D}()y z)mLfMt-r~wute@X0PINtz-9x9;9O}5%cVM~49^C!nSCi8_drMx1=f)`(m_^-HfD^z z00{$@&^M$H-QuoIpI`~Noi>9`MB>Nb1q}MvqC7>gMpde7*7caTFh9P=f^Wtfy$!+{ z$KPv1YsWLwmx~Wm#%#wTr*lH}UMDS_%A3qZpVmBEi^W`i3K3rvNz}ry?(yh(EBcs^ z;mtYRQS_8koc#8SQh}^mQtmyM(i|fxX`l@UV>C46TpU=e?E2jE-MA&}6yI8W>2hT? zutfWKNs%on$Eh9hd1*ysIcV{l^=0NO|_H*k=}EpNNY00zVpuGp~+z z(Q{0PmT5+fP-{@yJ<2?{A~*ivm5<^WT}VRaxI2T27&7rvT?cYtN;<(zGcuDG$6p&G zCavp*1%{)kxII$|>|k0`$@be+`{ju@9xb z!p8ReQ0WqKsXgiLvdHn7&u7?ENcuwktM$_}c;z#TpDmwX-x_7&^=wcb&_{|l$i00mxiZ~@i2AVq^p44HZl0k9{DI7U#?Zef zE{f}(0ymIQQnIqLn|*1YxUJoZ|09Y0J}fgiR@38o{83B9`FMk^X_36LG6n}`H zf05+%uZoiYA~}bJndJxH5qWjlcnBKk6%SZOgP?~EzSl-Zn5#D*6@0bdc+6OaQA$$^ z=)UR!Wl0r=n?~r}Ai^gFpBZ0w35Ai{dM52LH3nadDgf-DJaSGgC+veRAo?;3DIsps zdFu;TSRod^rxWtQ0r5>`nNEm`kR~5S8neaKP+^Z@w^<<*@rO|miw9~Yk#c_6qXy9f zA!R8;rC?*IzAxR-$+5=k*S24A$Wg%i%)rg6;`~XQ@6yEjjO5Qun1k@@!`Q%s)7<@D zO_Qb3B^7n^A*)}7xCBT#yXs4}YGLbUXd$f-d@x8un#7zPs^y!Ja3yzw@f+}Va)gz=`U9+=|G6c!Y$ zV?aT01|0|zuYJaYiJT05`c7Pb3S}gj9&-nlT%kM&o;mtty+cvTs@2u_It<+`6cC7{yJRADXS`9r~-xr-wE z(IQM#qTjSqhC000f!s0zZ=zyXw`E>KWt8@jc2^2G+L#cQ-fXH{UC z^`jA!z!_M?LG$WClC%Y64c|6&7udKVWbz7&0wx6`Z$nSy4361VFN2WCl3v_8D{Tmu zA*qnjDUCdxR+!82(a_Z~mKIO$S$rv&3C>Wnq7`RybXaHEIcRT`MB_qZs)cn##%GLF zCc=nAclu6Gy{`ofsnK|7GVI9LZAqK37Ok}H#_SFoxhm~$?9=|CT3MXyX14UH`ycw~ z=EBsir>`q|n+O~l&y^d`xvMe)Qj%+x%l#^?@3i~(4N;}86yAZp8@KKhDY~v5QKK=r zL0g+W#Zv^~^HUgfPK~KbBzTc zR~?=`dIi8|&}%QOH0QL+b&nB3BI`e2d<{@FTM*=&Z?Z?+%n-P*i1!(M%H};~`}>Fw z!2PRSC%_LGxSmp*4bZq~y`i`C^*eoZOK_m{`1L#4>CA8pS2SLQm%2ak8R>)ACYFW_rCq zYEpP&>718xEx)}z9DtN`U`vkQh!f(FkGOER_FMeAY#r|X)+He~R!M+AN1xUuYg3a^4zfwRU=06ppXJ`L?Y|QpI87R<;=+|T8|A}O#KZdA( zjsNRc;IAUQbTz%?cV3cEV?55pO!5`h>8j5wVMLSB40ZKrWDt-j zV1JEn7&0-EaboDlUP*q#X0iu?0Yoy}-pQA{M65u8Ygo>h9LVScumvvBZEhMa7aBa) z6SXH1XUkxy;QI{zD>AR1Gj0+o0ocBk_4`13A8O&|KIV~5Vv^cjvw2EWY)eo<#oTNt zHgGS8#P7`<*&ddeVR!8U zL~cDDdf%glg-NGEm1G&~n1#>e2CXHd$n(7*ugLZgASuB%+yuD=VU0iooX%-K;kEXt zSID@ZA_U1w*;!VOrhgm+j3Av9HouqO2AayMnA; z)T2o)1D#4fe^^WisUV%GlDixk$mM8z-nUhbqX4=mo4K?Z)!mMb*B;+jtY4(bf#zQeR-Hkc z#^%>CETYs_Y3#rCRU}yaJ>QZ_sKO&Xj};o4?-)=XMZIN$DrM4sML+ej`U?PUJF0&tkJ+FKw#iM|*(jQJz zT|!`WC|996S~5!V3YlPke4%2xtaH+QS$ridikDv9lX0vlnc`ZbNFHYJMtC}bF5n^& zHGR>kCQuiVST-wUEZO`d6+NP3#O||C=@6qA)|NUW1$OH}xNO$yT7aUba<$y$BS9@( zP8ZJL3pMWI?9CAs9ns1}=j-dxHf=RYl22J@s=>8kb>SWLbd!ZHdiv5yE4Iecc6r*T zh3i$2*0v`{430F7N4w!T9|m?T1xkx!8~4cv*v|%p^PMXbC3#VK0Em`7uWLRe+cpsF z7}Mk*9;#)BA4`>NZRjP!k9h?(95WWw2u|Rvkun`+*hG~}uTty1sBr5(5M+xm{>%lF z=k^ZgYvI7#VVBz0!g;UHTf@ve*9GEDMr~jfVbMripimmCZ}C>uCY=4Si*HP-IC&l3 z&!4UAD(5&0IH)5v7uHmtk?987N5%9(tGR18lAigwX;MC?Kc>IX5*AwX=Bj$TyTrY{ zio(1q^63E2wtBvgKP8c<@ntq&l7(c|<~8ZGhp`jp-1A9u!x@h*A_Is$8s~{dumEe9 ztk%kRT!5x8%Jz?(AD;J*m8$t5$V#5Z4q>{0iZur#Fr3`M1YY)rV;wHBkmxx-41lkt z4mmAJ2t9kL$Ca^RV;^kV8!Z)tm;Ujo-{OvJ!E%&wOx&w-L!Rvt&Hs@@#(8I$j!y1I zFuMKDEdPdR@V?3S^rOG-d%fY=qEH3frOc+q8ACm{#u7b?ej6qeS5j@~88f(=RiQVe zhO8WK+}~t366EH3*p8&lCV4vy6P{a-zqpi1#$49{vG|a#X{bWI#K%wRl zN!&;9=~-(?qt8!LG3H-nmT|HDz$_C7wiKhMgU;HcUG&Ad2)UY#!s6dwd-@C!t{z2= z5p+pnHvxmDY3Pbw2;bHo$+a)eRgKhft91uhDu%76>Pzi3AnGq@|e)2ie89#*$HMC z2|di?4KFRQbiStH5pVV@95@QeCQitzeA3#tW&;+Xr%#J_yZfvcwYNU#5emtx6)#g3^;k zcVhj>&E`T4bFDcw!A6;(%h-2rP5RJv?O)m7@ie00K!%7AH_`=D6LqE-G*b@FDZmUX zb&7=36~gwzcoU7|t<@z-nV>ew7{?Jjo=j0Il-fZ;k18)I)l`QU$)q*QZDm_t(clogEJ(5rL%IX2feHtaXKL!%6K+a=$gR*h zBBvtu7keA8#buryhpsU$vkptzZ?4;qyGYn;A;fP5>X^i*QKoWWv6d!`?B43(#Vr$E zQ}RLu#lbPA{WQvcGjmUvO?z#&6*mEknl||T2 z2fPZIH$;W!8xFlIcbY9J2bwar%e!z(>4Z;_5^pRT&2lCW5j8+%JAKaO2im-(D)*afgkiZ98NEaYGhBZGTo%xXSv$D3Bb(0az=2o*m@gxf`wItPsU$1f`oAb0Qt+CnO}twyB+)D#+Rz0#J^$H9T^% zAs$Nh!hG!e&*^+_VI=iUU{}DbU6#o~>L>2u16G+OAS@q`2^!MTJwY2N7jTnoJ5;EN zq@uAf>kyl~Va8SpaQpbVuEIs@sBvjRKk!zL79c0%EPg3%LK!q0(<^b8=hdQ@8O5o9 zo_L&v*}nOLZHi2A*>T%;4GCjfC2kF3b8E5Rz+AJBC3j(Of2)t(z>%~IK{Y(->U57t z`thtTZ<{G`e*!+#9bHRD6NI!JOx@yBT@-~PS7UGCMIh6s0JZp+&VbntdP`qnhMc~4 zK~)y0x$M$q7?L%ZZqdebb_#ftd@-DnuKrRYVPto%!zQ0*}1@nma1U9dALHe`B^o!ge zPQVW({BPW#t?$BPPa#H<>+js4?WYAAA@u<&`ZDF2sa|d>IpUy=F=Si=5T7#JWk=p4e4QSUv$3hQw%bNG5rDo z7J$n5;A0Lm#74C!y_S-f$)ldhgKhYha*ectY=YS@5>D>OnN$RO+ZzshI4dy8#&5wy zinE-yhj_#*%FRKH8D69{EEM}WgYYQ9ixj{@OtsD>n4YF`x8^nkN$imR7;hl-z$U$J zVJwJ|I+SXmrrW7p*!%FL>WQq%X6G~{`8nMwQei>_TkjELIp6WVFpFb=ws3U0j(5~< zyH4hYM-4K(UKz=9I~gf_Fe#V^U#4Sqmab`cY^v7IMM=KCUGJAEtnq zLZu-PhUGkk01|VUc={RjgW=1bx|sm|vZ?hfi3Afy@}-4-iksMmYrDpH6-#DKOTNGk zN0ajB`KccJTFVaO%EwL}Ov7PgAP*e;s!%m@fFs-I@3e)!M8&mQY0a52?5|XD(0|az ze~}_xq^jFChpDH&{=)WTy3%a9;}yyh%vLG4cdz(i=5*lnjFFZiwvic11EoJn?Z7;1 zsv;bfNbG_&x2rJn^TfpjC3^YdJA=14V)qi$4Y+L@e)HbmdNxiC}HTg*)Oi{X@1(pN8A?0G54Evbx;>&q&{f$n3n2Q59zaHAP4`?#OxtkAA? zZ=@)}!+=q~cjqBZXqU;|@94;Bx1LIou!k|6=B6ltCH)>Pf0+9w?88?Jy3wEp$#lH8 zu|z`Jc}b$5u=2N?2A97+E_|MCOGh&8GXHW2A72^8{R9se0!N!e1|AUmLzi8Y{&27%1nlomCus?05uO zj5GR~kv{V;QlvOIeysheNh1QubM4>Aa}0Gju8I-``0-ErlIs)+stqZi<=s6jknp)M zt2iW(0o)Hg#RpR;V4dS;^tW0{@B*)%LgugAXviGV0$$5j`{(#?yX71~ePIhy%n*GH z$t1R5TqHl0Fq)F5^29@9yrnT8PFu!08h4oi(Gy=^Cg1hXf#^rweMG7{hVP$h7%6Gx zU=GvE9eroEi)20^p$AO_p%OeHKp3P!mW{+}1~L}cW*+kfBD|Cz1l|LkXB^~BuqhIw zNPbO=@>N)qVJwn2^vmp%6xh_ zwl%-9>WpF0qUJ_!9lrjQwdB4hMp2JeIx&+AbM!1}jTcFAA0=Z^Ymar1h6m?{X2ON_ zCdg`JZC0WpS!%Tm4!G>eos<}~?FWNO46ghnabTsQ-uw>3O3St-UeEyN{^wpi%|j;MJ~+PU3LNNowEJ+NmKliW$DtDLA&m*#+{ zLGzr^oE_Z8J$p}XFV*b*g4EtQSD0gVdmUyWZ4s_*3<~r(eNfAQ)BsJ;`HOoe`2NOc z#=ElXD!pN=djUtx#v0lEZiJzhV$-;t^oRxS@d;M@Hs*QyLOgnmWUpa0?4DS13aq@D zS_na?c0RkkK>f;ZM@3NF91)(>{Oo19WwSdeBLh_S9bXKxBMwyjP8Ym-frO@~2AtrD|0bWPdT~?ht{}45Zki2D(xcl2NE9uNr)neZ!Qc!6U>z zW2frOs3C#g+*jd?+Ge0peduh4qFGL{Smu?{H?$_JbVzdQd+vl}S4pp+*74)KRLlmk zO;_;8r=~E!EAbC)9TKiEHTm71MEP4nfwrZ=+6EVDcbs!*wPMR^!MgQ!Ypcdzo6gxi zdP(Q*$|aD3CEl<>?C^kQn}FV3(fVfIaW21!ES~#F`)pDl{Nif@J@^@^{<-oqA4V)) zQ!J2&*e@n_sNGEBy-;a3AK%dHV^R@bT%m)uq#nt{W7W*R?^71M4QhDDWGm^?_mj=^ zcRYcA0q}Uf|8EkzenQCl$xHwB!peW<8~#ft@?SdmKXbPK zH;(!CC;kVtB0cx6m)wA`#QjhrKu|To(U$gLkX5o*Q=btqO zaES>2T-Wlw2=two_wAPYt*G+1AvbXNH~VU{@5_gk`5UP4{oQZV%F6sLE&OdLA`BdU z3xa>(^szGkj;ZlyLBqc$r;nBScYF1poj&IutP+9BcM2NltTtEv=;EGZW7x%F&gQwPip;FN=tXT(k3hDc-=xw!lnYLqz{)VKWB#y}qG@q}OmE>B ztxAVW97*YhJe7(PYig=ySf>qXc|hxm82M=|!YlzLWBEfbTE%*$jQ0GFCGn>yF$2<5 z730`#fBzT#5O{bSg{tPnJx$SplgFFm&%{%>JK?8VP3D=3e23Fx{7d_`BPA=u7<*Kk zqvJ(WyAuPH*XKU5dIx)a8UgPjs~777LO*U{m7K?{0bliu{c;0`QOUEXEmM2O*i7|g`S)Mq7OT5Pim!R^~vmRTe@lk?%i_6>$f-FBS*{u<$3b9 zP4_OT)gG!=Vuc1@u8T?t-d&xWY_>4t25r_bdtAJs%b0i3J`Ci4BrLu0gfiodvG zUvFKsv z>??A|!~F9sH~ASF+19#ou4uzjUKeeAZ}AtZb}$ON8mdSE8r>>rFMFQ9$$_?b^1|*6 z7&$0*6k&?c*u`^{PW#$*E_gGbocNOnmiZTnYAh@O!0-JS^?+1YIvV&D2UxvlP+w&C z&LhHJECQ*nQbJc5=i$AeUjeG?z&iuE2Od$%0oqTHYpA{vzB6FS0Fu@dvY@@vn^~_T z1s?s*s@jPY!7v@V9g3x+*_)ZYJq5b{tp=#7)-whJnMCf3>pVzRP2$U>E3(uFSAgGe z_!*)4{Xy=zN~#s7(9Yv^tID-c&tS_L+$gnyy^8*6_X~+y?6rV%3=2Dq22W0kh_%`wQI5OInx zIV6c|oH3dCo#9~=x7N1I9JS`qIs>>2(iv~zH!Ih+wcNW)7;?mk?jmzYwv$xzh%s(1 z>Qe9_LOE_iP%~=PmET?vE)D@rR%*6p9YdYhkCF^*EzHDNup3@^l5m9L;&E(td>hxIyl5hvVI?YmUY*Yu3I{`Xc!`rfOyEw#xH!9Wg;;9oGx{!4JeI z#Jm?_m?77lHIdD$ZdV_97(#BK*W~!;A@iE>(V8SfY^&b@Vm|tCx~CE=)SyuA>{u3R z@SG90*r1tNiNX$HxYUvI;wDI8xU;jJm!X#n4u&E^Q)LTzxRg*QDc2q&wTmQAbCVMF z(iT>CsM;rdxD}Tfa+aJ|;fo7L($YS7xSeJ|g}Iah5hScPjPF9NIe!k2fwxDdjSbCp zaxwP*)WOqhBe_r|)$EI9B+3I$``j6d3F}R&yE?pH*p2NQ@Hf$zeG4t_wR%nros*`= z9$a5$G}o9l!1UYfX{g9XlM!pHiZG-2cAYGZ9+jl#2_Q{ZQNlp$mRiYG+63gU+&N8L zn^nb(w$j5t_TW<7=k#dJ`c6(!H+ZU(Hg)5kKT#^bRzGT1quZ27ZwrLPb?X(H(v9VR zv5lzK>btOGR+|}S2)e1}wv-aFiGv+~90VG8Ar+tP2k8%raIGIy4|U*K>~!_C+h5Z? z3UZ&s8?z_Gg5lHEYV}l=yWs$!DFiU!BO}>tMRiCOhLvtsSYE z$V~}!R(71PZ5Vk{KFrd1jL?(<<-?gwvj36Gv%T@1`iA%zgts;o&hOO5tY0@d%MTs| z++%#`!Yw2e=LJ5v-9vL{+d1Mw;?buR0lLnUHxX3LTFnNQFJd+4!Fuv2KfRN;0f!oN z&(VeFRnwLq@}BYvUb6P(o3^11k=oW6rDY7NavIRUq5SYt=tikw`1)1f7wejN_L$oU z8?^H@ctw_Sz*D3T2vZ0J#?KyAzsPaRzThUZ?|sO@lRg1z z#9p$H#E6ct_|ifcEK6@Z|XyRT`-q{pSt?~LR9)0yqZYl~oTy;(r)OJFPC zY{XO22mgq-U}5ZFPJJ%IY}`lswkQJfdU+Y(o*6WZx0s*7?>u|FAJ~fU(mpcw<5WrC(G7SGvFlbu+f)^n zQ#Ixe3!Vd{RiU4@+9P2QgmE9|jr z6QYO~xph5ssT&QCTFwLW6~5QGZ2={OFcsGL#{aT#CKo~c7Ix6tu{M36*myCr&vsy| zKa^kM=5X%nqQnbVUa#%Jx)RaLh!OrWuAyy$H?Octw%}QM1E2ap{3ZeIz zC~HuZGDs?61bz?7f>QPSkk4Fux=6<+v z34zF-W6d@xe3r-L<7GkLo-P-n>I`UWlnZ!e@+F*bYVI;6!Tz!PbJBCv>0p5khFu7Z zc%sMG_fSMF7nMI*J}lpo>R+%v0HV#-p;P7FBlUz?WE z^=PFU@YP{HJTPHZ=P7`nIlYJgzqVzY}Kr=mdHrsu`e%Rjc> zSFU}C1w-k9_mhkFyC~tG0Ccf%vHk#b{abh0U$>lO{XW~keCA(T!T5gz=J|jBo!`;2 z{{S-kR|TW~SxNj~zw`edNcr!c0{|<~O%UiL$O?23{LlS6pltr<3e4ZYm+$b*w;%Zp z%=p`o133JfBn9}}K!XQX=I{O{zvlt7VSVfjS{4BL-=;MG)x?cXs&x9tII zvN&+e9H&bPB`J?jA3%`NgKC8JK1v_zT+yd3Xc&)nJeBY6u4laif?GgJ{IiQLj^LRFwY?G(V&x0V7^;Jn4 zP1xGQlhH<;<1v5u$c(VKZ1(S@+Gpyg8)O0QvfnG#9PHI)}GL%XTw%Vsyf>9<8mY z(zB$RkK|dr4cIctSVf`5ygW_QZr-T+m}ohHNhJs;zm1e2Tu8$;I?g0!Z&6_XhLhok z>awx3!IT@PQbN}=nL@+UM+u?f@%_{mE4qhT28xpH9W^5d4DN&ij>wrXh3eE z6bxzH0{Z#~L1H4iOk%jFz(YJ@l*%AKREP|_eO!zk|J1aM(YN1eWqNU!FC+l-p8Z6isyzM3 zaIlJ-ED5tqt8@@-V@s5#xV-!d?5ng5#7{2O@A9I5MsNlI{608i`&)1Zr11Z$gpT$5 z-2N4u{d=L>U%}CTZu|W2-q8OQzmJWR2=U@e_9zb?=joF=+mWIQ}(q7!kT;>(!|w>RS_X z_5@ZQZaX5BDQ#2PRyXKC%H%0fC`Q-brLxEmbjB}6Mzd-&Uj z4wi9Nma)V`#ze_~MjlCsZW`E@io@CKD^jp4?_ImCASH@E@0_QOR{jt}-R@o@f&(&0 zOUbu4^kFNG4PKJ|)F-2GLg5ol8u+U5Nd~l`9qNAh9{-Y=G`=owU1gw1j=2sfp&FSH zucRuVd&jr!{W{O)3PNgQ$)}(yV!N8>N`l&sq-7}ZChW!Og2%`4HK)v< znhO&&t?iNZlAkwcM6!oZ*MYVhD}^XD9uZ%q2&*GrZ^cgZJ%jmJN3Js)7ny>=;;G*$ z>lU1PWA?ru-rg|Bm_}iUCd;%tP|~32((7%a??IwsuH=9XUsJ%+&P`rh&br%Go7abr z*GSuXH^x6(MZZ|I(2F5tD zo{2`;+=G!BYl#f*W2?!fTaD%|F%p~;j0v8DcV~z zyV~2%h*F_nsj0y@w#=}OZW~r5gKo>^7IhQ*wii^8%)U=iv~ZL5;0WtEt&!TfVCeHf z^;)LI;kAHRZ5Y9TXlemCiKwO(q{WGwQXw6cjdkGvYAqF=e=@k)zmBpR4Y`u0EFJ75 z9_K<J%Zv(;9zazXtjcS;SWAUn zZLB3jhm$sDhKiHfSsh;pE)-}w^>dE|se$(b@>8h6Qmca#<*j4)BH&*}wXVTodTfbTt5wI4&j&Qf-e$gL+YkcDK!7p5kKrdmFl-QOl^&6TWIVFl- zObXuTvq%lv8r)ZMSI^KHBL#c<@=R72QZUL@$c*E*K2_55bsYXo`V(eTkD@Bcek7Q{ z_*B#FT0RlTRm}q$xaf-u@Zth+JVeqnOO62`f}h(8&M|eiWdLf4=Gk3QMta+r_l&~B z=+2D~u$KuAI95Kpqi#=669w;D2A5|kp=Hhzlz=b-A?3NTaWs>EOLs-NS)6nG* zWR!~m#UpqnV&K%>wY7-?Z#*=j`OL!1lsFNG>^PDlIa?K_0*iR}>A>HId))2ISyVY! z_84!1R&Qo*7>o&?MVZ^63ZvET#EkG#&x{f*4);7P+^uTt=3}IZEIWiCgVkCM?3d^y z5i{uo8Vg@;+5~JK2$3;_g+K+BDA)+eyqQq7S3_J4&W^N>$_nWO5O88KFa+<{=Q33i z$9kL!dZylku3ULfh;c%SQ1LXysTlyqX5=y`iHu#+>g6gn=|5(5I=(Z~i6mc>qYdJ5 zRFgih&&i{UAsaYr)s*ZxC7j~Cc(aSTL#chs`$f%uyfjDzOAc5O=)I_%jvP>P$EODjgFS=%~)h%C{eVm*oi?RdkZM|-X ztmo_ZZ2cx@vMZ2+2o{NC3XES-#RoBvs8DP-P2G)<#kUt%DS|cn&Qx`%CRw#TXminG zoHl*4zkYH{R@*W~%`T^T#vV@3f4#{9l6bUwzA=u;zKETwD3qwOOGbVN+3^8?ol_T@ zOP_QXo>Bqi`qh1a`>{I3l(sK%Ht(D;;wb4y-r=P5Lr8ieytQMJGnmyIZ1VTWE;_T% z27RM>G;TydB(E*E#mH2uu|G=smh$T2j-9T3p0jyzJfLOA+oqd9;HBa}SS0@zZGHjk z1|QT}w?0r2t=`z)1~hKev8L1-FG(D0hqbV!6RXOpBaoXp&(+eE;Pd zH^=9rrhVnf+{iY9Aer_o&xRbzI~4LW3)*%c?2e4`Vs+u;YtD&*wA{Gn+Yej`2cR0& zNnCGRH+2<~50@7_^5v$it?elSP6}dmh`GmGsd+!O>VIk{Jqd94A^eQ(bXr9Lci;6D z#I*6#!p|NLze{NU?D4?K^+W6=uO=N&&JEo@NO$Yo`wsDRxUq)E`00rUQoH;-Wzycp+_IACadLS}aD=g$+&Gf{_A`zX_8TpV*V`()c9C-G&8w=F>&X)w5@(AK3njj|rv&KJ|%V)@uv&$0-LQYiQvh!?=UT`xdnY7F5e7sX<|+W94QQhhb18L6;*6V^*{bs4@LY!QeXFaDT}<=qm282@Nm22L?Z7T14Qug`)4pEGeN=~( zJEsw3tyVjOy~gKF!*-bf&ALR^HxbzP&z4`J(+Nv)0@p@Due%BM8$jI+rz+~XIGW{ek6Cm~-s2J%x!=)7!) z8Z0odMk`kJ!ISkh)s-ZH zkAr|GhL6cb+}NOIuVIj^U;@r`HajU5`NIijeHMOut_3$W?s_g4>BYP@lNChDQBi&c zoPGr9t24|CSwJed()iqVD$I>N6JZJ=Hcwo#%{=iLEpCNH2F0*eG84z4g!KD`7tg_1 zm+)Q^pXx%&YL8B0DWoq@wWhE(uc*j@+jK%IiSyZ$;pd}mele#e{K7Qe0cCoXb(K@` z;e8XC>FxC(UghiW8bTOwFWR5nQ-EKresZz=&~H)=NPk=TEs_*sJP)~)qh*h9yZKlw z6u)P(AVCbWYVfVWxHC2htOYpB2GR>LSkbwSy%8P;psYn@qYmG@XXmUl6b&-1cM?Mi z&YL4sckTELuCecalNp;5R1nzm;Z`e_Y{TL1-P5|g?ZOkWD)(oTu627?{p`=ioL`5d zO?#-#O_D|!xn2XU8vMc#5R5Ju(rB2K+M_JjahrOD#9Z~Fb%_``Sy>@cl|=(dJO?=@ zV25-zoIZ7i34ck2Ah*hpvVkB0eKAql`Fe&YFO!#@m6+7lZ$UiO#njaIlXQSmle|d~ zG_nG6x$p3OY%N&ovzaD@mk`(nsOy!_^swNLM)9#bX0Wg;oJ|cTPa^vcQG4+2lZD*? zv5{0mtqm5rG8iUn7|Zq1FR@WZgSr!moNb$Mduj<2!tEPpoE%sA?RAn8Pmo=lWYM*~ zJU+hSl#&)`X(6Ye6N+ z6FgAS)C{2?_gjV0tmpC{frrBq&I4ai)IFq)(_DVN@dX#nRu4q-x+5=RFqVo*uvIc8 z=luF38`%iKomYh~blXM}Mvl*WI^UvI$QSH(b^&4sI)x3w2Z*Xvgxep=lnjzpE*bM5 z!(^@>z{M>*%>Z86jMFPTx(m1ljJCE~?!m}x^i5DxI+YG0ih|?R!apqv3w%Q66 zV@YLBm@i0Oqvgp{GDX5(cNe{h4Mj!gP{U277kDQP?A!~UR(0O*;h-u-Fu{R;o&EUr z#`{l&-RJyXkm{>JPwh*Krt%`i95bMGk$H`rkg2;prTO9p&Q|?#8e-ce;kPy-d==l9 z*p}c;@Zy%dd4bKW4kC8mZ1`S_U5vYurUpB!GbllR557^cK4A!%2mQ^%j_mf`V$?%5 zc?Dh>TImVvQ~OtgRaAvoV86zm2j2 z#0&~FQyCtgC^X-q^nNknAmtzlB>y~h+H$RR^B{>j3jaqh-A}SEj4b!uH((4q1Xu;G zX@}au0;$vVJ(DK=ix{Z23M7_UBryw8^J%s&Tf~d6q*hyP_>V=zNWx#NJ3hnx6zy3j z&azfHCBmLk&?(*)0cp8}o%8-ZZ&B3xw3?2qCezNYX^Av1$VSj^EF`yk?aE$Je#F_k zg>>SAL7ztTgi44#ge-BjS=C}v&T`&@edfcwf8-Y9hxt#@D3iM^{i5rfghYajw&#WgI<~;U1CFf z7s|NQ&mvC-@-_|pfC}N<4bd4Nw>C7DdRTdF{r6zKwJP7=F#SVf^_>H{-9O>%W`~;lJVM|50fAm;L{vFW(>fe{rb$ z1OIEb?){v58~^xvZcqCwCg%LB!ruT!V3yjS&j0`z85#ctfA;rg8NdiEQ2FQ2#P40w ze~$ffKLCvUKgz)ZFbe#4$!tG6g8)WBz(1gR?vitWRL|X;0$}(xrxUmde1ZXY%)>1a zbocZC7;Zzzzia}p7{KtGROIeT0l;$Jza13>5CX@$-Mpt90S@_7vdOvd2Sw}?~>7h*)2E-*}w=d zh+#o`VCQ*wVuN7MwhxyU5Y|CrK2|F(I*)UJ1Goy6tw+>5S@Vl-28W-`+v+B!1j=d?6!HmQ?r)6jaN+RVOGiK zmdweLmye=zVAWx7f+d#=o@e@ATguyoX3{beY=sFv&fm3qtYjK{{N9rhOT=PCWh-Cb zimYOp6Fyo?@W_f`f89Bt&G}Wx$nz{V0odhfFx;FB25Y1u&S)E)Qy10^R~2lBbdIm= z$I^DTY}8VTt(wF|ksyPd@Mqw}VEg%Oqlcn3vFPV@WR0>Y{z!u1uL!KrhBOog_uPDP zx%ZO~9u*>BIzSSHAz$}Ne7&}jzIMho3Uu_GS{4bCu7s%VPY<&WS#HQSN9bbj)B`W) zOT-mMFYY9Hb#AGof zY^3rOKXUYTlG&(cCFg27BPx{%{{V)T`BAW(YS0z6`b4l+OVWIHRwENGp+2E*j|TnY z$>5O{{n#l8idx?hAC21%QwUsThrUx~$>`PWH3)&BnfUi`8@Pb{+`G@rb}u(bSOJ(b zM-81eMP&!3)I%_3&!Kg)baq`p$H!eOf_Wq!Ba~vVCxA^dQ`r_BzhbP5L(ImFrGj+lj3 zj>W#Deu_iOu9PI&;Gr-$o7h->Gi2CPIzTO>RO=~w5HqE7rUtACur=|85MIW-1mtkO zz(2Ni0!P$ug=HX1WmfbZLo0$15;Bh$WR?f3ewA&UG|YR74y5N%2-z+J4PURO*uTEL zj9-}uKS-6X_f;56-HMmB6}vFkjZW>AL6@;96r|N^XS+y8q+UJPkWFmwBV@-IQPcf| z+$?wTwSx&BuI(*3F}($;S4P@`ZHTUj@d+g@Xqk_AV2(qVZ0Uuukvs|Z(YhlFYY8J& z=1WoyyaQs73_}e(1+|3Y&~;n$(f0|Lgw!YXeO(F^04shwffp4P?dWqxg2XD@BH5Tn)SR1Ve;k1su4>=;yY?c8R-c#*nE4Y4TF8AYsecI?9*Tr$gL(D#|mI~O>hrs~tLXZa&;SG`v?gBZ+~H4CDB zxW41yB-5u^8#5NAa1wQxFS^%)XlB}Q_U8DrVx?t}l6I#5-b2e#mut`%ukAvD_!z8M z4H%s};i=WH&)2&fYqoVME;QgZQwbqTn;C+2x1GhDGnnUY zGHyWRhEYj>^fdmY0)U16-qQ%A)MIW7vrGZQ!c-~{Zjt0lO=g;1si= z`^N`F^yUyXjIbjQ)Hu5-)dEErHk7tGhuUGsf$SL1c zJzJ&)%+LXq<_x`a?Q0?vkF zJq!;~2Z5`=2d_goE)k-q{Pk(%i(uv{h#U3Yt+p9*9XyfvI^6YN3a{csqc7o&P^@2f zlUxkY_P?N`K{S5)e3%dO1HXTPGra+}R25qAX;O5lG_qn)UL*8#euG*fVw{dX;r6P~ znTILkVbcuk^$(j7mJx+pY&djNTtOH(gH+13ll-l~PW5$!Ws{NLSB)D4;=B?+9^Zub zeUIdyn@Juxe`@|_?nu7$k$-^|%g89&z{@jadg)es>4G& zMp&|XDcaaOmhZsUGH)OGy&_VyOcSP@4X!6%)Y~axlui@RH0*dkY@#0OX6gx)-Fpg=D3FndyKdQY=@J?qOux;#0H z*FyWX z0I;&l9V-9JMUDP(5aa%lpNxF`_N6~~`fp$RWB>n8nB|`vNdOj@5cnqrD}dE0{vr{(7|WC^Y`yN=|8Cx`>Q(X zKdA>|W%@fOT|9z>{|?#lsr4f6ADWCqeZDCt>FFE`#1yYY3%KR`4cefSqtce(y$@^! zumcd^Mi$T=9%FES!Wftn`S6q$W%+6xY%olBght+T#`S&ZPI(+Xee+;myb7#^JlNBg zz6xa^O-Mcw+fP{$4+>^`A@9SfWWe0x5VeF7pfU?`Op!c6>Wj36in-!AwD7* zXTxJ2cnO(q$ZG48BD1p#X~Vw1Np5hA&WOO#krq;!l_cb&&>4xSPhjSsb3SU0m)m)~ zR5n?&Y!-*3pjWI!Vgzdj@?nPgQehT@(O;8onvwy;6^i%s}?N z<)FECN)*NAV;gp>!|59Rsa24-PlKKuR(G=K22T9Eo2({L~gJ*1kH+0$3zM@Zey@AGNEG%>w4YPHVat7dc^XVqNYt^@l!zwAU$VP;L zT(a|S^Q zACR)VE7Aw}14a7o?k#Y=|33@=ehke11Hk^d0PK%I7G@^;e*{H-;|p$20fLP?zTh6% z0Nmc*pD3j87X=$YMD_sydWteK-Az8;dd32=J<<}`l;*LRh6kz0S%Wj^DQNo|=a`Fe=Ci|S-se2guYu{W6tdleDa6xznlfot%W5(aS!9*hp*lpB&ul)Mpw zh;Y5oJrGAkKHHe6pnH4Ij712uA}EouwLn8XtxU*#uqj9QeNK=-?1b2vuwMp*vbRC@ z!RaRUUZ*pKcZX}z1 zzwQD6-z>bpr{iQ~yr((Sl)dW~-u(4W{vz(o?7Jd+p!+Fl3hB1o1`V*>hTyf=G#oHw z(HgrTxF0MzL4AaCE()up|6(*&vMzvGH2{SCX$iOgG0T3T6K85qokH_MLRfV+13l4$ zb8;E4UQ=KK=W}2J=VEO8nyFvA;5NysTlgWaaV|W<4u=gJQq=d3K*opT!%{ zaXLxEP)?ms2(a(LXcL4GVJf~NKsd4D{(hR6zG0~T1oOnm!0@f81-K~xVxay={^s3{ z{r59aKQ>$cKkWUFY5wb&=09S_|8wrY$9-dEWfuH#WatiT-Nt@yPay={ftULN4Zt_{ z@bawm&W!+){3YEH-jY?I!A zqMM>V8m^K52=Isp?*cph2uEA61Ot3gkX@IU#N$O#n~+C^Quo-X6d17aR;&ATLz)aT zy&7vsSHj5*$m{PQ6I1%`InZieeKs*YZW{0+Z--L~0F3$#3B%coch*_bzX}gL7Ul zaZJPYBv;))9Ql=wu!WGkIBXd!Q3*sLq%YRhQowW{((87wO~po0f$7q{51<}M$`Hmj z&C)xVZz1X&#wJPAt!GUFm25taoq-lWHV}7~BOh9nd;mCMjtfEV^Ypt#s_abrIxx>_ zyOIn!O+z4Mw?=9WS=3f{W7p>Tt%vOC41r6N_3D~?v(O>+3)d^=ltC`GuO?+$5*v%t zc&BnMnTsL0lW(g5e`BlwzWjbw;z{G#R#X?EYHi521TnspLHkR{l?xY?a*AAn$cNUh znCIxOA79+)2Ot};>%fG8@#C8w&Mbkp?722cv|%(@ExVvnz*#LK$)d_)W?>G3FpsGr zL0&w=+-v}o!6S1wjw)@(>c?QF+%JVY;Szof(xIt=1n)70O)o+2(!Ufnv`cTun^U6t z`UFJgofdIsea2VO@;tSH(*qZ8Xx@=bW^=`x0sNkj_tRdO5Sb9t4r&kh8!V$gfYfyg zRK}i%teaor-8>K#NtyT_g8~3Q$*nUn-|JT{9V=b6O9=gZqs$K>3H3tzsa10yVe`!v z^@xMpSuhmW%N1-eNU0Zlj6~=}(AO2wXb!r5Pwi`;e-`-Y;|}9x15@_qWd%8dE&2N; z(W_9>x`+0(jMi?Wnvd(#Q?*sxl}R3NKHOpm$6A0RW!foNf=XO6%SH6Ga|>g@TzLM( zh84~$D`$Xfs*A3{So##pDY_U2!lBzCFU-8mS$^3+hypACm-*P^Jgey8OP;J$K$^5* zR%!?4hmq1Pk($w{EL@R3Q9kAVJ%@n}LIfI0-wsxjb6^sOU6>8avzb0Cv!^jl;?{Wu zjn$f#F?`NS=S(a0E6zFWk{Wo}11g%iGYp93A!B3?hCJXyEXkR`e2xml6bfOS$2`Qu z*dtrWo4d&`{1j=m;bI@?t&L$fCcrtwz!)DJYTJEHG)XCD zy%W+97*e&ytd8fCknVt+BDhdJOq~FOmNQh{G`9ibwGW`f>dXq|@c1B=tk$xh++4WT z^+op8r9j>q@A=d<*c96z}8FOV0vd;DvyO~e4Dg|UcWp12$DbTR(; zPwK>m+3DTbOeToiuf+Rf?MAU!QF8DTPUaKvT`V_0I#{;R)xl)4V96(fq#I`y%hGGE zd%QdIOc9c+h5up&16X=P!4~q+^uY%k8S0vA-_!@oxkD{fE51`N;^i;AN1VJ<@;8)(AsYU7u{Xy2W7@76c+d+oh?w z=i-&-%{_~W&3MvM8L{G`0~A*Ts6}2Vpc_5b-@qLAT<tPb&HmIROJtVlC%6QlmUY$~h(2RE&uSy@FFJ3Pw37B27wUSmPQq6dsVx zHmGk1$?rhk>J{i7eo9*jX^cJO{^aW^1k@{_I2+G=@^zGi=4FbORPjMJF?m3?sNkZE zM$}&=Xx>AbI@zx3Qf~U1l?f`3l8P1eARDvsA9caG_;>w5R_0RX>cE!^FpUl8ZrQQ!c;lkX%?_j!h& zR0aH19owH|XxW+W%T<9zPW0J-acmKR8P_g)*_dTttvUJL+t(^{5w#=}t^ys~s5W@j zs3ByKn`PPOrltp+;PycIyBURt+D&}T7vqXH^w=uBxfSEk5;&gH8wvF*0KGxr4PIPj z=P+jcLCDIHo{`8)rX+!*sxKgH)nc@yT0!AL(JfHdrOXqcQua zXv3lHj~ph<>A=TkBxD28Z)(A!7y_H0 z`f*d><`j1YC@T~EzV7(LB2Y_hMlp|0c87XmVrLv|y3!LB?Ygm469>cbiQpG)x$6Z_ zO`v06e`?ZEcW?{dt5v2Mtwg5Bl#-e8^|PuKR_bPWw}c0o-*HAd;$x0=siQ6QvM?%5 zIG~PlFhqQdKDmfqOBK63qF3P}e~R7Sn3SFpTV>k@^TU4Y3-V0yS}Pqo?*6MV8ZCpY zinZs#w^h7u@i+5&l8RDBY)z!d61D642Weh~yOrq~Nji4>S53l5W)o3tw zk<+Ijq?;b@zN9vL)R!FcNwIjCH*jGwUe(#WdI&ia(v6mz6QGIEYSv=gY*(Y5wwFq? zcT6+A4$WUW1a~rg?tKaJIC9YBd*}xEHbwdOqH*8pGVXC+jqQ+RvKp{F4!Fl(Kq5*F zUI?>9*!L_Vxo7#~J$8BTzR7L->Pd(P9 z*5vtG`>+fwCJ(>bfu(( zSbbMHW}ofT^K)7F%0h{&2OzRm=-Lq;p8<2(zeTw~5#60GgB9@eDEIE(0!`LW zqul=v_x(>%-H+_?AKAw&B*6R+Z1)}Q547F4rvR<-?>%`u866zo>QoRuuHR zmru`fPe7%pBpqW>3Y(UxSOG%4rmXVR`!E}7;%jEhgU%xLSOFpFSa75vc3nRT_$io5 z^tokT4+A3jc%Qf3y|ot$`4w&MP#(#gOP?8@`vMY66O)r4!iQjOJbe(Yg@RH>AEyON z0j=LDxxB$2s$ovoiwp`M=v%_<1kpD(TH+^ek8J)Fw0^?Y^`UDrXc(x!McZ&Yk9}$T zSKa2U9$XxDdNlYB*X}VLwvXcV3by4agzJgMvKbEPueD$kM$xoY8mmuep3KxjwllUp zAdT71B%`Ts=aMgIU-S>vEu?ed#h!L?q$SK9B!g!zO@6TQSfM^hl~v=+5!po8HzAjs zF0fp~Cpak>X(cNbZV_~-NlX?=Q8#Gn`UyQ7?666kkU8Bl_<}fEqrF&0 zt4i8;Vvqf&BeAd&1?3A>FqnJl>X%d}iLqbvz`G_G7dS>!#0ZjyNdJ< zJ6QNxQ>7M|ksL4(3{!{@M_wh`4&wU0hi6gp=HT1MW7F?GUf;M{e5fTj-Q#XG`CJmR zT9+zQajcgX-AO+520)88nWk+E_o<6Ef1m9_q>_olOn2kS)%AX1j)xkYHW?d6@r2+o zU}=e~I&Tkky_j;M)E$%;c2J|lXoC5ezDa4z5QE$iR@0i9u=ENQwQhZyA~8LX(fknl z83Grqs-DpD^+V_qCBLRr`-28@xuFhMsN+=7VW^-9tf6;qpWCuw7y~P2M2{_q1*+uS zy$LNedR3?SSvPV3wwik$({9j@H0y_pxOLd|I^lDU{&J= z)ZSvdx#e-Q^y!zFULQJps7oG^X}Cm{ul;kQ7zc)DZ8zLEP!>USG~XLMz_(J5-&=IP z0|)(P?exgNdN8*&&C_z9;|IL_UlVNxJorttIm~lbXM9QPKHw`dJs&p%uu6z)u@#^i zVW4dNNzo>nCON-GdCWJWO?-mKK?U~CR&$nWip(?f5$bj#RJ2~zvXM}2UjyZ&6cu-% zzOq{0d_PxA-*``d0ytn}`W74j!&bk51Li*f4sL1K|4nf4-+_mJ{_%e`JozI~=HK;P zW)=~lA49Y|0CpQdxjlsta0h7aD+8E*l3M?(LbRXcB$-+7Av9@u$+BGz=rnf>i+9l= z$LdeDxecSLZ?@37WSm7v74-KGkNVmu;BDkEBj=&tEo-;9OgFKJG3?1T=e^MrdULpkA<`8PIp4II4%yi9X zcVv*79;Dl+3_LTzoLPgpxAm01Vb%BJi2w2!6Jq&l64Xv1OEqbnxrh*QPmgMp!zq&} zu&|&}Be;w5u$=tUSC@gZauOcRwut4{T$`3i=^&KSc)g;p7LLe*uty^GxoO7?>9c74 z5yloMXFtn4gN4p@YSPa>b~*cE>I`^j+?$ZWcsN9_Nh05&m3om-+{`v)DC0y?*C2Rs z;ki}`F>gU2@C3SBSI1(C@MBfxd%f6WlW40vJl)lB$xdM+2aQTeX-!2qR2^eJ_%Fg>>RfU+-KUW+QCw`T$9lSYd3NqmCggn}v^f z6IRA(IEh7LvoW?xOps*Y4{kbo>DVo8>Kf>mq7Of>(YvNB*~EV7sngQG?82cGZ2y4y zC?c$18EtVO>|OD0?jyM~SI+s|Ykdz(lx4ZYi+fU5+MpI|oS3h-y+};<$rujD-w-4r?LUxfad&I~ubb`v80tTV?_m^VWcUZh_;2I}@D!jizT-Xb$4kB;b$<{0|5c6g zH^I8!y?g)@`#nZqS+eReEA-qHWgVYm5O3NB`=jcl`kP4*RI^#mHxdF-k72^iX;t{( zt+Dyt_)ssON1CV7U0Bd+}mk>Kci-=+BS?4|I`MoZ8ik>Z^WB-sb5auR~U%TXptH4cgxFTF0^71CRqF<)Jo z`N0k2iPD-o$*A|(ZZLP-&&BaLQsH^w=Qz%}rgy=Fv+=)u0*h6jxiKYAK|yzZoZF>! zy&y^CyLffg_#xAqyAPhO0R4O&LGsgVk!H&D>$a73f?g>o!{>=H5BYlo66bhf^=6;? zCQ1#-6(Ul%54SJly=s;8Gw%J;+~MB)PDSL^ET#gyV7>}zASEa2_F7!}PRh$uW=iz^{IZsOM`;1Ff?a(T zl)&6aE*edyuLjhfMS?C5uQnT$Jo3~m$kW+9&_gyMZkk?ynGMt`h}9g6Rn4O!k1n(- zF6WL%jCMqI_~=4Xc=aVRVW&kOqj2Zjf{I#lhM z_ghq#Xdz0BD_0YU^Fe}-HA64eImRBSAJv8A9?VUSg3uy9gp;KvO^2?bYxIfEC*JJP zc{e&D5nnT{R2-me*(6)#+v(cK|5EoLAA^P*p%dZc!b)3Mcm@L(mK7l$?JQu5ZFxAS z7#&@*y2HwP1cQ)m;s*93rBs>UQvP+>RWxij7&M;eGBFB>Ui7pCl??`qRTKk^I|Dp1 z)!^v7F|oJlx)Yuhc~v6xaDL4PjG<1-6gJ<;?0AR?!R75FMXB{RamD&H80_g4V%rsx zEkwD>TBouyNL$X)N(DcMheHrmie1IDG(|E|JTZ@3-UaVJ%_z|5KML{cS*?1`J*3ai zmZp;)f;dQ<)9EAjR-n-;{6Kk150AUVbUAO&!IWVkN(NHiTK_Q)R8=-D@n`0}1V&5N zEfy~Ujsx;i%vg?VJUn_-yU}S;q@a^5;mtg}7X*U7gPEG`pnIqCF8UL5M>wK1pR!*= zA_Bf#hQ1Q9wdH7g_cB@8At<6+jhKcuk2Q1RVk4m9Fich2lomNi0gy*`>4VzTV7cyPF1hUT1@-;hO2DWNTeHLmxi zJcE3jlY#FyW%RVW(J`lgO>Upw!^G{FyX5ME;CXYl{QM|}pc&zjO1KK0ZQq2Q?>>|n z>KkpHhTl!$0m&4eHdv$+KKQ=x*nqH$DeDH#;U%d$ELG@^y9Y=H zuiWYJQ1Xp<_u??GhepAV8lW|8Xo|soQ}jMgPJIeZfH_%yG~U`N1Rt! zoNd^Lb@ANiubu2(1lMQSj0Xe@D6>;Mz-lX*GS5B3CZk80f(e@Lt9sv1g%2886fkh` zux4k9R2H4dDXLZI&1wvlc_lej#2Cu@6ZIpPx*KAtz$qK6STrd;$Xt#L-cryHe!Z`| zX&tt@P=XAt4;vYGK82>Xfjz_AcTnuvYX#w3eG* z^QP{bLon%*#NqEjFyLDh{Cl^D5%BkQpTCLoSrl-i2M|(Vdu;kQ+)K`m5dOI3yH0-jMzx;!_!dDm&0yf(M4 zby@GqN3?4(r*qT9uU-07wCgK#06|(bs)Ce61sh|TmZQrU0FK^me*j%ynb`PvUjHGT)HBFM($`zd4oCMomJ@Eh*;m;SY|GwUBvyxra6 zf0o~Hi|2uU)IamzU)5z`WEJ_pUh0LB?H_sxzse+y?|voVjsU-n;N5-$=rnv!vVQwo z{N6(H7j+t#e=-4>fu8wZau2Z4QyEYLmA(ihSw%nU^X!NhpF)?FIaX-%AlltLd>w@eWQ7q;XlxRs}2L&avqH6)w@A%wWA&@0Kv38kSz z6s99di8gRd|13L&wh87BLvke_)%Gc&zwZnl+v|5r)2oF;ffSpwGMVG$gaKcmXRfJqukPp%Gc&^wy#CYPJ2(j!u6##dk zZ17QpNVVGId`{FaG{QQQmJ>$iPxzi3)LdB^E({OHHW>_2kt&?^5bFk$Q?GrLM-8`B zB7v7JHfqYAUHecP(7G}q3rmn2YsZfkHOr%R2 z;h~^ZE-ivuxWa?bQWo6QE>j|Q%OncT8X6v9xgfynwy(XD^c+d}`3Pi->S=z4hcqYn zy6x@(@{d1LZ@+3PRz49cw8wha7?nKx_0W-mB?w-_4gxRjs7{x$o7W-7HA!!QW-y(6 z-)*{R*n#odE@f6+FhU+b@I?;0nF-mdgJITTN~qR}kTN^2C#H<*6Sv@S0ZKe{{^~XZ zaT$!AGbXZ$I!^Ol+VP!$eBx9Sz}~{FMr%*Rpc3@e`s+QnuPI*Jxs}7=sv!MwgIklm zA8E^`o=lp9VoryIpu8tAmO-cP*@D&*`GT_)qhD!CVkN4bT}C3FwoJxuF+C)eDE2x% zQ)o0h*10Em{F0z)mc#A;=#aAys zI{e36U@RR^bvkgV2oS(3=O#O|K}Kn|k{wi#{pe+)1dUG`!;GO1TV`RnVwPk4CqMaU zXDTRXEO=>Cuss=h96Nk2r=FH`nrCkzFVAj#RZX$;HPj__$eN_tro~}ml5r?_Oz~2! zOK>jIYTck1Z0Vera0d{?!!eICY1IGO3YEMq#4C|v?M=&bg=))PCd z?Oa#eN4}P{@Xr*TiOgB%_<}my0N>KFdcJ>5&^L-_`#o*|0K2*TE#UZjE98GDRoHJ= z<39mo-KSKUS$@qb_ycXC@9ypQ7>n_)lPz%ncUcAhOu+QNGxlE=#P)?uEHesWSg0rOJLUt;sNg0r4F@G?=qiD-YHBgq9U-X8#R=K5h?5$ zV^wsW3X=_D=~h2^91ob&_H^fkgRuNme5`0Dw;uPj;Fd~45|rrKV2UyX@qHnbQg5?G zOiFd=4eKut2)Lgp{b*JEN$Ql5?cQ}N%8AE-6G1n9h2?n(QnlrtmXst3Y@oL+7w1`o zJ^(>e6y(Ea5G4-oTLGgGKp^pgZIoQ`bK8K_u~=^2=Y@HqDYwE1Xc9||Z7yr&=ZT5p zbx+mI=?!bA#F{7dj3%u=N9piBCwY5t;$e!h-0^73nslfLP+i2cQ2lZo&XR=riKSz% z{Ii}09uje;s`MRrV$Vpp838%;Oj+ec(l6?-Sb7#Vg}AK{IKy&vqi|=lG?P>JS~0PE z*Ba5Xv1TiIxA8j!D`{7t znyqSAnb`z?ri>?RwP^{qR!oueW?YCw+>;*QRXOR}|K$9kRRoOCNb(ofE3jJaq@W+o z@=wx&41d>C4fr$wi}HdwHwzF@@byYOx+$RG$i2}9ldxTqdHfPh+@3FMGK&r_@F9?! zo;5hu%z8WCkp5o%($&niz~edPW#Q}S?rCL7+7ORgu?#ms)wf?Ps*(`=d$FO^-?I)N z*eko%>U6XpeeM94T(7?_&SA3OY5zhM2{g~4GoBZ2M+jLczBsaHCF^E z(+Voev(3k7!4Gf*HUb)-VLRl5WOk7gIdrjEw4g?;s%xanEm^HF68KUBD99b`AOy9S ztYqq5MozRB+RR@Fpm9{U&!d*UAAdBhJONH=7tZiP0IR0Ea0H{$PwQ>UBi_!uS+*nk zJf%vqP7HHdO!CLFGPV(~v#9x<$?8&t_vjj_txS4G=8@xA>QWy+IXBfq3@}#+MoA zNyUWDY4$;6a2-qbnuqRLy|o5-FAf%tjVgozyyST`#O)hDE=kh9(hvyZirZQpNWUsE zTZ*d`eh!~E<7U8fJ>$AkZ6ly0mPX-1wRsv%D5S=qv@WEZ+MKUdL>vDU_R(;h3Yn2V zMyF9c0~*a#Nypq&0$|?D+${SgzsUZHU=7syQ(^rISiC{ zPJ)Xz)f-qvM=dDQo8x>`N-B_f+eFdgFZyLtnqbKNlOVQR1Vb=mhJc($QEMV}Z3;z} z=m0+K9;e6CquML;8<18VSl=H#ct6P^G2IW0Nykb?tP{cuZGN=NH7z&JJW1+lHG=;LaqU zsf7$6;J^->s(3`OR{9fX`|_6Sa0{{31Q0$5o)K&`Cb>R61+SXR(Qj(+%LpLCCGEx*lOmT;^XZp;` zN2GN;Z4*cI?wFTaDHoof5;AfH#7PvcSgoMVzbES3?5ccjrdXFdU7b^<1lZ+Ml5MP_|V9rC;K(IIJ^)_Gnr?z*KckJ!rngk(XIbR z(D!>lo&6qtXc^9r=tB<;zTc$Bs{{JF^Mtp{<>k%WhiauME_%H~J`@0K;t=5~5h|Q8 zX^H}jFcHQ63HH-7tpRujs7(i1UU|h)kvN4MF|)--LA)ml!e~!FZ{!^0UK$3x9fP3_ zBvbprm9pGIy`QLW$IN!G8ZEHt`fsf=-#s}@96FYJMe}jqI~5eBcNHT+c+3GeO3fcK z2$D5~>D?qmVJksX$(tZAI+ReK-i)CEP*yXMaTu}9XLXIdu)J7i-XjA{2M!8hg~LIC zOJwS&F0XrnWM^I2vKAjq9*k1y7^!Bd5Y7!9Y8vQq&RK!Ba`&pI0a?6^@cd@_0 zSThZ(Ozx9@V)u&gf*dh%=)(_1kgDq<%cKyodxE~|YLa>=XOQvSOG;S{Y=>{$iyCmS z^%-?sDqoknIq5!BqIlns47EJ7qJjlr^S4imo*tPonw_>}uP_+*MqjCh@3-L|BWL7Rbi-(Vh}- zk^3CZ&IW(k>(;vQt)_51p1$(5QL?SwdLOnMT{#sM_I#6d=>$OuVQr77X=SZvNYBL_ z5xNzEm;xp&+qh7U^Y*%Qp@t=`8G^T5&I#co3Y>kX@GV|d?7LE+kQ4fR-#Vz3J zTDrq5C-Fs|ZU_~t;U7Fqn5HN*x9ZstFvw6h9IzE9F@O7#?9`4-yYh67Vl0-8J6VjI z4~wa4bMCpZ$}_b{Ll@|e9GOF6+v|Rkovx@kR@yWEU*Pc6#|+(3-jTTz$wWx6$qpwf ztHTk#nQu0ZmMdU8covlvl;5YFa9*{xe@gIzQNr*?kK{Mu@!xxS7@6-GY|W@)vkpS! zu6>@)N6tv0R+w(6y5=f9S>A>7Q1l$)&qX?u1Q%LN-qW7Eq+i`ny|^sg{V>!Bf5Hus zL*KsCB+V8`iW7h@y3tz?vLm%n?3OAnDquKOUZjvnP zUOhXnfOgFyk}R{^w4xInY!px$#DG35Jnho}zT(|+)sva^Q-{RuNMKr#fc(z!$1d42lNVXk zS4|VGY-UvCTs=BzD6@u{8_eEfJL3~iqr4hKGc**`~3cra({+IVFWN5E%XKLeM zZTE|iNJQ7t)WVgJLQvOUU)R7?mr&Z;%9`?*WAYAmh7S5Bgmg02c9yypzwA^tG&MGH zAY`Ja|7BZ7*V2%XPMH7pKkDB`xgA8#+EUkwR@lYCPFL#oE3kCp4!Rbm`utYL7KVht zZwu<$i2X7c0}~@~Ti(IYQi+g(8CXtM<+lU$EVqBgLf6=y5LkEP_E+AnQ{Tow{_Cd! zM{v}0aJ2zm&h5@$84qb)2Rl<2LiHy=ih+rZjggJvuADf~EC2gFz?Os}rgruYw|Tv{ z*C(a>>t{xW+l#Qaau5)(29CtQz(@$}8^*u@^o?j4n3!&R848LEDOih&3rXwR5YmYo z7+N`)I=I5pDOf97nd(~`7!m?lZlCDyeR}|~!1>+&zxnoz|8y$kf5)@`|7#SW&hD;m z?J@mX?2xDD6ifj{ofY_nmtdK_*~%3l_oOdZe-lvVK$Uf<=)3?&xhR z4i>?GP*m_Pigg?3x*ZF^{A-bxyDc8`m=%6Er9tCcKP?UpZ~!|_wOwOzwnQ9 z8t%;ZElL2M0krRT84mYS8d!dk|M*wi_n%}t*zbuk6@i6*eSj>@O>!HYg2emW5l`fm z=)D`^XK+D@PmgA@2XvBhf+z($@WKRp7@?AR6-SH+=okuT2fFZt$DP1k6B8X>B^$+x za}><6(VAOCJ-?%Hr-bEdSH`E|-qe9>6aLeQ|Zr0wI z!ooDhMwgoq@qA`tASR3=k&+W3M1=^@X6lf*+}+O=I)_*GUWh}K zXI~1d86I;MmmUm@X9Zu+cFkA}p=#W`X-O3FYc%D4PAEKdFSYy_S4B1&;1wO(Nml!lgCIf|~>v?(eRJ9R>+zK*KcPd@$xq+i#rqSDwRhy(WZ{k<)e2(y$&ffuH1I7A zXBZ)Q8xt4$oaP6YL_Z#N#?w{z?yEJz=~yK73tjvN82^vGw~nhTO|wRWOK^90cXxMp zx8M*UxVr@>I0Oq$kl^kR2<`-z;Bp8aAl#Ew_uQhZdM-V8rl#xrD)}RDetUCH_Pg2d zdY-kOwTz8Z0fFiv0oJxTfM7*y)*>^HapjZDDQ4sX1XKOWhhCE^%psFQHRm_TfaH52 z%XC8TV|e*@t)zjgd!VOkjHJJFdvgBRhM&+BXJLKRzyD$A*~{6Vph8uw-drDMc;1QLt3QIPL{Z+y@5+#7XMjPvg-O({bD~b7A9=$zvd$B~{$omP? z!&zm)b=_1KVF z{920i9dQpEq;t#)l%;R-F!#ty12Ezw(fcs1Nxn7dzI6 z#5tqU@nXO!|F@UzXKD4Xk3;@fJ9BI-zi!O^96|%O<$xvzKRSv}YRmmx=BKvh{-g2p zuS2x|^wj?<0{f$d!^~p8D!iWxD_Dg8$!`1ix*Mnj=Jaa5UWI1jtAp%4h2^D?>GOGU z*m4;Ff6C9%{5VjjA|z$=t=E1 z(uT^~G90*k)~B|mZX>|}#hoQ0^TeeyP~TQ!xjhm0?EdEiAi&o`Hvm zeU%|cVyp~MGj(qVUT#q+)1a6^0LNKIj0x+zXOzuF zJp>SLVaIn=t@KzH_@NA&%Hi+MqIgKpGWCdB>D4cFy_~+IscggpgCaZ}d_kzMsgOo6 z2ES4P-1C&6$simAV5PxPXrbVz58#kXI~^R-uJN3OSwP$t@{uYHKx4EwM_J6h$7$aO zKU)l9IzLyH*0<@#k!JSEvRJX*}*e#Jz-i_=#q z(S%yGDM5bvOjNLtMZcT^Yfg7;Mq&eLOO%s_mFGHB(bC}izCEsCOwbsq>ouqztVU#sCG7Ic3Z!J z2MnZ#v-WcV?ikvv(`V9SNGF1@2FK@Pt9{pojR=>EWO3ibbG^&6tsy?Vzr4xawU0XLzWlPBuCGEe3Y;FZVBJVN zw)zET)l@nBj;`ou&-!17SwFJf>l4m6tw zr-okMp>Fg?|2lAX-YdpfdeV^vG_zgEg#kr$Cj)xff-+(eL&{?I2Kxbs^_iwA@AwI7 z`>v2Fdv2+`BMJbwMqF^c{v8(awx@04;_fFWgjRmveZn!|cGS(A`>rrXR9n#6d*1_Y z8&#li%|2(4Btn|yd|#F=cDBY~Y;Re@5P z_R`|aN&5N@1BeCK=10|b8>;(bnqhgNxxEbxye#`X@%UwS+F6o2}`dvyJS+S8qXBa z$S4xoOe?c2Wtv^H#wiW!5|upEoC>ekV#{AFrNbz`JlFq>DbL#*9H1?(!WVBMre98n zS7Ace{z?}0%AcIUo3V^mEI}0dhKz^o@Y1x_robiq7-Nr;cDr$|Z?z}QCa&|=xVgC5 ztE7d^lh5u~Tr-;&dbpvd|2>(`MZ9BdHEE`8f(d@i~E#AOco&oa}J zlKOgM1N&esrBfWjUkyoDY3$;$eBIrEgW*?ND0ok7(;z%4wD2B3?`z$Z2P~XZk=-t~ zNm*Z6#@J3YbIMRC;?CUrn=V8f^wCT*wT?D37La^hx6~`7$#M=yn%=Z#+B+5IJ@Z## z$Y=F3Dcm-rv=;KO-aprbsU<=ahkwCh`CF_Rwl_jpThgbAC z9U~gw_}FJXU8v~+Jn-f@k$eVb59qX$Q`5671k%C7d+0G)`4y8q=SZ2)^N}YDnBQU9 z2VZ-7UmSjTXFrTQl${n}!{|`=97@6`x-6#tTXd3S-RF!ZEc5Rb@> z&Hl)DX8n7%n&HR+NuiIpQ4)81L)N zGTEa8U_d$r9ly#d;NltRVF5l~({szcrQljp_cLoXG`;Kk;fnVTJdAX6f27xql@vh3 zYZdm!XGOtn=7G7rK73q#NnmMy%^{-SgoTY5Ri5;xnQfC_3((^NSfx-jYXow2ltQ^> zW2j4C)|$?}iF1lJq<^#d7I2e`Wulz)4FX!i{&#$Te~M`SxblSck+}uXx*gb0CE^CE zb)H_G{H_1^4_bu(nd;=v3Z7Xd#Q%vI9OvJp92P$g0m6-+o!v*wDbQ);N$s$ISGe(1 z;)<31QHSD%rYtaJ9(Jii)d563yn`#2lA@Jr)o&3*il(InBgPx$n{a{=(ANQ+1xpsI z8!fr}0U*3ADu{^OrDX>2h2Ht}6{=?r6wc4_yHVpPX1ew>hQM_x#*j*=5o_UNbB4;k zVQ8w;gm5j`9DUGN|nYXJc&AcAt#yu(z6^ z>e?~9`DN}&ZrTdm`3oVFgqau%Ljf06v!tm`L`El;P1)IB_7wCzNYSxEYZWgVHJSS~ z#e$zH1RBS?b@^B+B1S%g^=S{fJmzFG9J>l?HR7Vb_DC&QZ^^alV3rCwQYj3JUay`tA3>N<+U^eW6p)ln z$6M#5NEdTj)|Y@Ty6run4`#SN*k0RHy4pkbszS|wf1vrBcJ$ls;uZnnm}QH$Z)In zk;~JO`*VR$3vOD7Dut~twy3mUH;-3iO|R||JhrpiFo(a;n+#j~ILAXw$rI_X8;#Yd%C&5Zpn|Y~Cnyx%N=0f8LH;itaMGhG`q5m&zwP7$O2ZO1Z9lhj1Qp zHMY6iXhu(}X1#@2{8%5d!wA<~FmvFR-<+QrJrmUomq4h7}Ft{zy9fz9- zgwroW;8E8nU`h&3h11*FUT`hsw?r{ZEn6!w>*~cojMd53m(w14htvmcYg81V)}AQo7#UqE8t3I=Y-TEA$aq+5tQhH@ph+9-d(r}vjxm^>(VrZ9BWR0|Dqy`Q~ z)eHT+q0c4RvkDvz*+s5BA|c+VdEZJaf{kE0E*o`X-A5QJCsN_S185&uE>g98OM13L zn>1pRqQ&O9Srm3fT*9)q*OjO=0^T2`qhY6^&Lge(1b?=O>YTg}$XvUp>xJ}19FZgq zARl@og*gc>tfaV#gb$;xfEY`n*c%3JVQ^Th(^F9;8)kcCwvK9FTc_%Oj}o7%LljWM zY`QgCRVXW~SkDkj%})&uvkD(leQtgqLaXjHXt+BS)Adp-!$%PBPC3J6rjSUT^9{RQ zkE!nSn(dF}44vmn+5j{}g;nU46dMkRS}$_>)vrqdJ9O9G?e|Fqe&JH=>P>@IasJ#2 z=Hc5GZ?(94NUmU$`|fvF;%v3v_bO_z*EEn5qQJFY2aD|#y&Td=k+IABygfBK#OK7J zcB+J$pZ?;dIBNU*9C?8aiYqNsZXJ~fzF~_J_^kInD;3_S_a~y;+Q|Wc_Z;dxr3^Wm zpY+H{Sb7IZzXYF+t5=hC)$fu@Ip-6$Flmh(*jr+W0lsn z))F!=LLC@^KZ<+l8vODTF`XNdVFsmmx@vNQc7Y|~di*DZO)MzH%u{@C}^f6rq zuNv%|hcm>ixH_@l0b^W0`cO~c=Q)`ksa)jMWD}N|pqFmZd_bCd39~FzO0tZti8?Zr_Uqr+?n1#(rV-w;_jP&;+a=nX8xNrrlu{Yd2Dkqt+ zoX!8hAZ)6G5yU=WW>|1AWzPQs9ZN8_$}inArvW~*4t+eVkpBF80+=* zd@q0h`@0w}_*0R6>=!R}S(LBm z3qClOUrVt(f`EMiaxD3RZx%Tu+&-Jm^P0VwUP(eQ?@LL$Xd-!If?Ub`EUt`jY54aD zt&xcR&J$L(l$#nkm@Fe7or9|@Q)^3^kXnzo0)0HTQQEyin_UjnqP*<{vA9xc(DkTN zx+Cg(vnR*bo+=dLdTewRLGh%qs<(>=gWQ|Zv;zR13Jasqy}@cOjIQxsv6oawo=*3w zaLh`05r_n9rDjz^=O68qL~iIJgkke(G-L6&km4m(W7bTHtdtLrC8e7%;d`hJ@J*+k z4+!7`#HBkXunH)shj16M=?f+gPrJbwbqJ6}J zGj#%G?wK2m&a~3cqHapQTr8gzOAjv0`@>7tXyx1UAnX-Fp&n$sWZQfdr1QSafUb0q ze;VKOwT%R)o>$h}btkBa>tLFLV9xQwm^c+5nz2c1fI@GU>~httzAHusoG2?}vii+z zg4^pa24@gG)IO}+D&#toGeI|_Yqq!_wmr<&1!5uS@A4M)6=oZ-CCU2UZG6x@ySuu9 znqbfh{=Hv>C(_~nC{&626bT&47r*)jOTQ@Yn9jn;6iRGG{Mv&l&DY=wC)u;>! zhVntR1*zYBsTMFh-qzwQ*Ida@}C8QSAJe;R?h#J3Im=&#QGDLKIU4u zo~ZcxH*J1!JyFWU&izQrq^>57K+60>u;%TbyfEU$g7ank=D{U6MS%jU=<^!rkkNjd zD3oGnE(kR~$vPrC1_&GJb!`s(351JtV@eOA9>R%++9a>HPQ1K3<43-=x0j4M+it3i zhM3oEiFyEoICs*0Ba@UCFHk5fN~!KL>@%RU+vtAi8#k54<#PX_Z>G zlKPGFur<#&S6cq%q5K^5C~&r~f#&|{wM{{>---!%#m6Rb)gcT<_zTTvPMp6wS0`3) z1*~8z*<&jXG)V-7g+dAy$2U-z@@SIe8QpjJ&0Y`jdbc^&2_iKQn@YT!!rbp>o>ax3oRKF zdkT1&Mz%HZ=nm)UY>7I|{WzEz`9bS0gxla)-&%zY;6I%OegN~-c!s~D!TeFkbR2_L(Gbfc2Jmq=-YVA? z3e{2{R-pDN!LzwnTPO;~3K+RPU8swMogNvQYAyKkW_qQs4GN?3^8}cPpIt*C_zqbG zj0}b#G(>ffhYe0W%Ltp+?Z3d=v6^!5Ym`~!OXb1P-Io~V=o`WgIs=1M&g zC`1Q3&|PJUVEPML3MgtgZ*_Y-*g>h7XdV&l`oU}Ub5qJ81swAcYjxrIR;AJJ9>QjC z}RN?o#Q6`ZMB{(!eg8CDH^b23CMn znvbU8<{rqHQl<6^sl)H0sEc(a!v`>^ONfT1C>~0wos*&R4>}*S)$>n%2q=A@s0e9j zl~4b+Mas4**c?->##c9`Qxy!8FuPGia%j}yEsc~nfkL*0a2{RjOYwtDi8CIfwv^C& zZrn-IdUQV)?6DSl6Q=q=&6*u$SHW-cg$Hu6?}}tqmp4hj6jghSjk)8(p9pJZFVP%F?)b;FcRZ%3edn)*6q;JWf2N_?-{{kK~+E7yOA z$e=`#Kebbe>blC6?f{AlD22vYpaM#v1vf$vT;tZHPjauwaHnu!vA3Wk=Zr&%<18{a zyAg5+nB%x;0bO74la47ef^Fp%-@ob~97hV7efAY~fXTvO9k6X0D@lBE7!MZh;Lf(J z{Lx-|50~;CTvD+OfD3w|bi3Gc(cUW3mKV zbE)mopYJ>IHrqoNQ)xpO!DE20s3L7rd~#j`pp2qMK0P@;pcrQ z5H@?1-(IO-yVm_79lS>-P{1LxpP&X9r}t!)!Ox`yK5PCEmBIfOeE7fTeg6VVe|})_ z7r6U#t|2=I=RdJ};`+N5>Bk{JK=)fM64$S&pZ{zC^WU`{_e3ocJJTb#R&iDCgf%X> zPZzM>LJX%EtDEoN!!$o+D=3Fi=F3GqgHG+o!cr2>PLRq7k9a8N&d-4H)!nD|b1hlF z*1q?fv45~CjIbZRw!=7YYH!%sp2PIzu-G%(^`cHtiuA$smvVQr0xi+ptc_-4-E6kIbC`miioP3(0}( zU@}2z5e!QjRRb+Sz@^pxMhrnR%132u?eqR(;dJRqu!Et6?J4z<87i5Lw7kI zfj*k_zQIEoV}aTv)xXY{-KjNN>e5o8h&NM+I3;^R9`+1YBH8rt<{o~76OW~RYwC?^ zB*Hn0$_GW92@e7`seSk`DWQ_Q!~z5EV;6PZ*KO289>dD?G5w2(o3{ZfbxAJ{o#=6*D2_qTj!pbg!VLFUi3{R?FN7KZ)> z*Z!Pa{r?n1V-aKfC(aZ<0m9Fo5bzKng!oDDJ(4qXKT&h@Zweu}pGZh@vpiBWt7}Nx z+i=4H)yx1;mfkcTMFAWGuB%lJ8Px>3jSszP;zLVbMGEHAGOt4^lg0&o*@Du)zCLlkx1o+??hM73wf!3(0A7mc;H8yU7|n+eLK`Hq6*KfA_klp$`)`|fKJ z1tIv{^J0(fp_3foTTaQI6tmP!f32;ww0AZiwceeE{f1$l=AyO-{A z(QsSe#yQf&^+*@S`Z6{ka#;u=q7o)?!qNT0+i!OHIq(rmOdV zN05U>%bsEO5n+D76~piY;V-;zNp;Paq4~J+)}|4C%@GggFlvf|rvs6PgVX6mRPB0G85;bOW{w zVa;^;oFU+fRlafjDnIGDFUC1&?>(Z<+zFJ;3oakQq%e=@TbgR9>X>ZPOLh#ANnZ9@ z^_LOt&u8cHHc4OmOGM`r`iRH6C+k5~@Pum4D4ym)LA)2=|`)7W@nVF89b5< zg1+&V^0-i>YZ`o#cc2MQNumqIRFoghEAoBu0$`cPHM?KcXvr;w8|ygw1;t1_tJpY6 z6)D%8_sB@%*|UcXHM)?Ed?MHASs6y;y_M&^Au<%jJx0h-CKgRemaUjk$U&HSVb#M% z9u#WWEiq#h8wQ{Ftx@lr%(JkMa#(3p&yALl&eMY>u|b?IDNo;Q zxOb>BI}H?>w|pGgh!aEKBum7qdF#?gj!7Pzo-KasU(W@dXd ztz-v`qO{?L&dmN1MG1Mv42+_5foi(Vu7~ye`gR)I@vch=O}z0+A#1uso?Qk$UG4$U zlQvz;dM^-PKRm{vx_1Ux>yWFF&bIh=_X&^G;o0bSrj(lOFh?_flFf=wfVs}t&*3jv zqVX7m;l3(;D)$qcOE3I=ajaN7Le^1FG8Y7)O8$v>vVpM>edV+&kS1fSBn<+3(f z3@?@95pTkW=J%wVI@ovI!eGl>iCrwH_Tkh-lIDw?PTPV^K`$@M)~Q*VzEkVSy?Yi#a?z;4k3GsT5EeV7S+iN4Ty{fwfLW|uG-4$J#f1=taVnXWa?KH} zqr@8WOgkb~#NSBc%;*-!>uhHN1aag1){=*P&!u;hXkbM;Y)KIrXK}5FyU~DC79<5**!(dno(MH)1z)ay-hPy^YQr`1R?~RV;rj0!4f!Prw5kQkGWl;` z(uL?8suc_KB?Z`g#mLZ&SCJepW(v=|(Au_0duu@Y@jJ_0K=wfQnD}s4o541ZKGb)n zF>zz<&9kfc2%hKL*<9Hol3d26S&AjfGwbvi1l~#z6A*CY!Xr*dVC-k5te$gAyKpFd z7WUYK)&j4WF&f^Ekhq2g)1RV99j{x+AHuYq#ZY=Q$YsIvo2W~fn|tySp59Net@L^Mi>bq_yN91QqZA!xf+>yP?B9CO2J@x(%WQyzTAZ{ z(e^bu;L}oy9g(!85yf17AIvb;K+mN-*hG2rFb@q&tflonaoLxq_fuuiFf{wybk?4d z?|h3g-P($21eC$)-cG0f?s*hd@{gs#-Q0nfvb+qodW#X zL+`{0bww4o_UdNx>6Ilj503FG&E@1%dzf`7%6H)Ci70dkQDqqjFFi%p#OrP7Rh+Dr zm({NZu64jf^a0=3``ur^8i&j;L{2NFfyuKX6aDbudLcT2_#;&uK@(=fy_q8+Vv~Dp zM+bd5F`jXY(QtMcg;a$`8I5-#oYcDj-TPyyUdIr%!{BeP+0QhIKd@e9c{F;-#`d?- z%YQ-E4D^ityhXU~MEqCj`t;J3ODwV8EaGae#WrWCpajEfQ`3;IGf4sl!vv*+ z2dMz8S}s|4Mw9Wl+Gf;p-8E>bbYOhdY|kAurE1AY^aAwG(9j`4tT<9wP;stRgnGQ5 zI|{vNy&UVrPa=n^33GV$lGx}rmx)Uo`L=qmsMEu^<@_>ePbH3ytG?B42|~_+02j6R zna6t*TF-|PyXj}s`U`i$T}1?0#@{Md6K9P{JY8nMdJRO8DM|(5rEUvxYsOs};S+<8 z3AS9co!$q3F=p-3tI1R2@SXOC3DhvXK~Qw@Tagk-?KnlWF^Y5h?MB4P{X`uD2iN2I zJat(o8(!#48+2PBO%Zl+Jxhz2d9P>~@GdcG5?Sip3Ma~jUMmNdb)IO182bAP*ZBiq9-nJ5+F~U@$#b^N$r-{< zpR@4oaGL3mN~(aHl3V8$fo&EAFr+fk&&d)iHTO<3tYa&}lr}!R z*XFiw<$muYe9rh1f|6IQ(5pLt$;(>;#%2h>s^Z;q5{mP@9sfa`_YS+s2sY(%sCL~= zbha33*08oGTi9Sg8o0{NJtqO=gE0?z2!5dyatS7>OxU-oEYJGBvCbI5w!c$=w@iXo zEh!*MqD?xLH-0B6xEuz4Nbf1Oin{U=S5D9U6UBl}@kXBnkT2NE_~j z7&Z{))=Cz)R2Z%nkJ>f<)Qj8}Mr@_>vjmWMFb!g70XZr{ekn$B?FKU@%QkN|TkfOb z$uTBw0I%FzY{zw7<-6)anp6(;iw`kY1{Ej><{qjLm|D}`a>+FIgPe6Z2V-ywItvBw z_)D3T^YQ8Cx*7>?hPE~FZF(UI_+wjdF+TY*+P{AfW$PC!R2-<5*M|)g0H6?7Cjibu zt8q(@sc7lG2;?FthHV@~6=4XDFa{84PlXV~QR*QZ#Dcd~t%_xK*7c^?ex~viALIhA@Fq6%giDU+VS!_G<%&YXOpPgi-A<9X{E24Mew))k zY5l(6reCPCZ0Yaa^iQM~Sy&%QU}id?LKC#pRGS66g@3h%GtBFadN3fq_cr>!}mjvGdJo0}?Ap@@@wWpggw9sMh&7-+^-XQFd_}k0%>$sdhK*7WPXaoJgR{lTn>|dDk>6r7s3*@n~{{I@?VrBiO81V0+h@bDk`V%7kz<@u_0Aj$O z?l+GKjwgx?{yhl}U^wN|2yQmke-OROqHGeu0fPqe7>zJR9?s0HX`b(VU!)FjWLW{k zHTOw|dYy4)k#`_Ih?DOp(q21>%6p|c`2U%#U^v8X~V78{qj7Ibxm*OB0wn$s!hpFl}fp1n7ugZ95 z6~2{s3y)<@m3+fWOi@!fn-%$4`iue*F;HsQ4mxJn>1vI8q^wOh>jta*LZO+y)xNw= z^LuV_x#JzmP2%@1^h%lv&}@9tBm=4lxhc!0ZdbR36PBf$L#1ib}<4S%}jTs(=8RC|#+FAe4z40ym`cr`Lib0HEDPO-$ajA-1>EzbT zo<2_pQ=y3ZykTb3_E^qah^UfC?zY#L>}G0xbKZrCVO>@HRP$Cwgf`(Ol`|I$MipkH zcq+IFrb~5iuFToy@UYd?ahW+wt%FuVJOl(?R&UC`MnRrT&QqvoW%kun_JM>mQ}W62 z*-~mwy|sjtuF)*Awm)Yesn0Fv2IO znO6yeV$D+xyQyyNdaZU@UBx=FuZGf!rXy@nT3m>tIsGG_r}ri|eDWt2O*{7ynT<~* z?FiDs)xc1eLmF%Yc@H4lmTxwTx3_H!cutS9pLW_5GNEat=JA<kwQEL)&XeJL3@ga_3Xjz* zFvEg@85kudITg{FQZikydL*CXrY&wAxXBlR5tNXmPO@<-kL@ zPgX!BwGi}Yn`jEdcbS-SiH%>3^>uL&3_Y8(lC;j#b{#3K$0A-)(;xS)Z6+K>TkrCH z2O9}tTm~?eGN%~4iO~t%M_M3<4G#4MFf@I&gsb(^+ue%SIT?4y5A{s-b=GV zn8c<9+}{oV!?RsvF7;mKPWyq=#zl6$r8Os){!$L34Bp;#4J=6ky60l!b0o)>Jr)XI z!Ya4jbUuysyiPNKzQw}EFXJ-^=o{gvNr-F~x-4?j{-$?DIF$X}8ST{2Md`?jaVa5% zwK~kh?Gr#pcFtos0hFTJ5F?&82T16{gHBdud-k_O= zIs|=3YyHM@S23t6#}L|83}QGL6U0My$F(U=xyy6c=hAjW-Ll*N-yh7N}?k{m86 zl=H8>hgQE3u6?8A`R#tq#`IJo>>o#+f61cy1=x%hh8W1@aOneb5%-UO3_n1;Kf9JdaT#fFZgciZHJuu{`&5q zA2Ljq4I?oZCe1P(q4&!qGuhS42HMbx6*-eUpF<(OwsXW^1e-03zY=V^Km1Lw3BhUq zJ0`6^lZ5^_0*niOCS8Qgrw?=6s&5fScSWPOmqg)G7;$$Q{Ht62RLAJ-*HScxrdTIK+&$> zYzb`62%gq4=P);D7)v1^&&>R~ z6x`txNnVK0(5-bxE$)L2ctEj|>QT9}va0&)F2Q0dgk~d~ai(i8r0P>3QM;KJc8a%X zB0hA(2$Dv-VreRFJ4juprCS5l7nb)WS#HZDA+x~RrNj-WS zu8qY_DNirFS#aX%p?qDhq+OxX{)J z>j2hiq&vGZ8oPno=8|DuVFzX9Ncoh=jJ%V=`Om|`MWWH#?6a0KX-7tZGyBp9%phgB z>oq${Iu4_(pcXWUcQx+lvHM5b&*hxudif+L44{Jv;NR2ptLk8;udx`M2zjY?T!c&Z zU%aH!(?BrMY9o0~?C6SA@rB_F2BhZ4y-sU~7u9IfqO=#qNGGOkb@q_WwWI7&E-$JX zDi=#qd{l*)7I}$`%5uT);NG?l1cH)PbC9m!D*9{VDmI(tD7}Yt&G)xGHo(7H1|vtJ zgFn*19;llk(PETKQvql*eOiF+=t5|RWVp<{Fq%`Rx@OZ;oQU*O3Nze1xrXvIWtIHB z4eg2K5E~ckuZNPwRb^4W5J4|_!7>;{b~wG2lW*(ux>{8Lp-7b1nSgALM?yx@GPZ{g z??Zz2v()NzX1$J9vbwgjBmum?_M2WGGvY{%g6pWpV87#7f?kbzki`EEhkkO`Vax#E z0YN%uehoo+jZFeM6|u&t249F?$)f+3P_D-(Cs+?s72SqZ2=A3>au0v7CVe;qGBPMa zYccoywa{!<5!F{WM2QYpf-vb)2=#zgZZ%^G3quewxGCggVN3KK_*cYYuePjFZO6cg z9b&&^sT-s0qu($$szW&2Bd5+nx=HKEC%B$&6R8ZUuuT?Q4}Y@x0C5Fyf1TT=cqVqf zl`-7Xi1yK`sTD=JKe)vPbbBVNFy~-lxLTBX7!hia6J9<*EzI9HqgmV+f-g_}h3nA0xb zLUWc4<4<8MRs}`t^jbrnhdc1bscPI`%)p8H`B6NA?k$-jFv0isd{OpHwT;rUWe)9Y zRup89V7(4%nhu+4=K}ZA-MIF@sg41&)`Y*sEDs5fRD8G%`D!^_sJ$BmB_8%rHZW;6M4}!(CJ<2Hy{|ly6`(ZA{)~aDHUcWuE)JR4e10hZs^uI+G~G2 zldvmylRU&@V3L~9YcFr+Vj&qN&>xSx92in(5eXr(yP#O>ZUEV}&yr6>HhDUwcXAh@ zBlaC1iX)!gkoHSux(capKu)nrnrZ%3Svp9NNB8Xn8W!5wiwiJ#uiP|pxQ(004^S>1 z)NoNZlTOV0h|pjj^-Va%yV~&HFYck=H1aJB*_kZjtbsd%_J#I&Qux&lH#s_~XM zs)XI+M~>h`+j3_-#F!>=(++!hRef2=O9$Y6gb|TcvBYRe9Gi-?1CqJ8vH0-GG<3*6 zag`^DS?WM%f6^;;F+ntr>C3b7;YfR{aVI@PriB24j3(ieSkF%An$ghkY-R!BJ zH$u`WO^IE3mPTB=8;&G#|KQubb+~Y_GVy8B+qKnhr}fLVfs%~}oyfQABis?jNf-Oc zu0-#-v;H`Ekt4r=7bObxowphnUh! zazy=ZGe%~$_igeI$Aoub>L0KYgqh6Hg^w{hnToB6`0ZPvwdFrBaN!3q&`(i(B-e}d zuS3R76;(-!ockW3lUJT^e(!~TWDZK|E&@KYy0PFkG?&KtS>ox;d8MQ5?pLANzEjY>iQRpyH%b= zXCRBz#)k+UIIXI0H5AIevgBlhZb={Q6IYi%z)^%4cLQ#r2T%lM)!vft8(R5%_h9mf z?q3bFpgWy1ncgiM)0`*tBY+FbH3!@(u_K`ekBQ=%&@VNUw1Y&vH5OLm#+ejz7YuHe z>|Se!X+A5J_#z9EPX{Gl52kZ`!zDFZSX{8dml#7^mhmFIK4%7J02|BWz;Z20l|cNY znB|h!zTcj}+Q>U~9DR=0nAs$!oc9f{Ak?vO5oGNN<1E_=|2O@>g+w;kI|-QP?j-gt zv(r~`s+=E=Th4|#Gd+=+rv@eLM(RND?h4iCzOAjUOG z_P@*W13#o7;uwr5U%E^KeFR}nl%u`+c~u?~CVKE(kjUX=h<8TKd)EV|{fn;X;5G`) zQQr{2&8ROWAc}Y34ac1?F;nHUkc&}zo?2vXcu&Ae?pyez;f1l3U4}|^GGBR^tKC4E z8-#>wJxaGCoOdh48x6hq*X=EkN7WRaT05pQTz-Z;!%#}--P%itU;&@)s^+jSoVjxg zj``xg7EU1@%H}>RH7DXfIKEepcmS#pMN4Vme{ZjPA{D~^SWhCaDjV|!Xf(Worq>yN z)8k=abB?ih`%)5%cVC}eNeK;WCzA;TRbn^TIZ*1lOIFRuo$1bidIex*DX_j5ELerw zo|4mpq%Bqi1Wpu{hcee-yz5@rtZ;KA%{o06T~h8E*ATqdZDPjr))Z(!1U5u}#Q0$u z)^zOF>-0_NSYVlGh+$QbxCxduWC!Lhr4;C=JuJ*ayNNP6HDHZqgi?}a)K|eJwyj=FCqxFdfCrMmy=fYH)y~GI13K+*GC1TPz%|(w-dm>yGq8yKa9T3BB)W|1)&i6cBFi7BK8q9c0{}F|I|ZZ36>G`5l~n(Joq}E(w4FgVFhn!)uoby&#cZT<8ZtJGe|h)3QYGse&Z!; zM}WSwHSGdSD0o5Kh#KrIdh&hkmPxHI9crjT$z}q@@}}`lqmDK4l<|D#qS@C?jZNp! z@H(BIrC4K$J*=WM5(2x=4!rwAd7H7RixL62gV{S{`Ke-ZHB6vQ46r$FR8OyS34Aoc6Y_k_!Bo<7;6*`znYg=6Dyzrzv z$G_955vLa&kR$>)yN1vXiw4zue-!SsNa9eq6_!1)gRW&1a5C8bS&di)Q*|#fX2*JJ z0W?xm$V@i_y9&ZU6RYpk%4-e|4h+&X5<0t6r4}g_{~k*FiwuLrwA!c8PXx77BXF$& z$|`Fx2p{<9E(sv#MCpR+>oeOK&>TpXZ&zNxoq@tyXILoWKiTo z2XMk?VL&#p(Ul2;Z*^cCbcZ)fKJclPFHH)7}RBCflmUKeCmR#w(~ z-C3Dg{)lynz_)`-?CB+U3}t6G2mA1^3Zl&H7BG6pKfds*+-1_KD`81(X7fzso@)Il zem=TaL-F2PR9w=FqNuQb$0j#mqP)>EEncp>O7U=|Mz8T-I7++KF#c?QcU_2yMYzwh zv&c7yJ;O0-j=X{AJ0bL8^|?vHjx1SsS9ZIJS&r9h^@jqUm`45=UxJnXle+U5&B-Ps zulLmGiuUBi9))U-%w?rjBQxLB^GuTyujEQIb3BLy!zd0VO(I73=W2aT7-gFh4fwC- zvYmQyJW-w5jRzaN%9*L03!l51@wKX*BQ_cxHWBbUEPB2rZD`Hh*}s*8)u#> z@t#^XR0W9M1f?JBH{4KShB2Jdm)=4Eczruab&+mS%+i`uCR3Wwr!d8g+sDeS= zK7~I4kL{#7FRyaUn>b^#DkxhO<;q%mQLOU7qs4pJG5QD<$XOea;oI50He$-(G+}M2 zDpTQlN&NP!h@Q&-_`%xg-G?=O>m6Cn|LC$kqH(vq?V^xd-Fh{WJiKaj)g3u+5mEdq zO>1b_kRmleI`)T`h*7yEsUG7yB>yq)*A8OFb;n`X*}~Swm>=Uup}uiJYIO;9N|}-v z6oz3s;UgxK!AAp2?|A0M4e0YQAK+4ars77sW7?;hy}IqF*{pnwlxi%bY&`6 z+K6{BrH%>v9bddyc~oa9JUV%VIz4%`O`c(n4sV%zlbqhkzeh=E&WDeefcoR#Mhd~Mm5MA4jL=>9J^}U7WTqc_VudOP~;)$(Xw>?NgCrj@Y_;2x9cR-JMaxW3ty1*fA-k< z&+d(L{tvzsQ?|pbs67|jKLNauyh^z+u%fmYe^kiFAM9<;;caCnt_Oj}rD2%9>lUB3 zvWOzmJv0f3k^;OL2;kT4N(2-=?^7B|L}?PqvTq1NaObdv|E2_O7 z%mL-^VO}`kF9wu7!mzt5%zH~hHo_YF8JQzXeYw3f7-|NSt{l}!f*2mFl3F#!_GMlj z|DKP3olXB=r(R|Q0RBn8{NMM^K@Q6QY5g+b&&2=N>X-lg!udb({-d}4e**D;(C>dx z^?!!cf5!T!`~UwO-v3%dJ$5kw=l_QsOxVRZ{&&q2L7|(q;|5N*zzxSK|>`473I)Crq{GA0&4F~IA)|Y?Pg4q4HzVq)|5Gy%Y|HZcE4|-CL zzy3Y`vuzFFA8czBEF7)etpTI}UM>y}(38W)-rd5Llts$k#N9%|!pzCs0-ojXHl!fG zZ{B};)SvtN_+x6W-n(7Y{-D~*bGI^v)l^JXlA)n==ORzmkO{GdhD8T}m%yPyNy1X1 zNrrc@$~Z@t9CXA>;0=JMDZw=A67KUk!p0zUpka+bL1MW`EI!C@aezzj__Xglj6b{{ zV+PFDy3KV?xy=b`u6%}u49WvTXLWJ?MLKn$4;o=aV4P`Dz@X3sWdnn;m0_KSokF#-y3cpGK{fRZ$s$@Dd~xS z*U;)_z_8$R+#F7-_j+bx2Mq|!Lzp=&ohO;3kfgbRr7W{-cyfqP^hn5hhh(jhLMuPJY`#MN^7tetKMJtLoI}Yi-3l~r-mJ^SjmcMX4 z7w9s*%N`isPCBe>tM{10@W2vXC%$yrv>ZmKhC!T~okYQD(z6WNz8q$whQYil{GNV) z*pD*d`*hLqp#6%qf4_6tX`D!?u%ene4Mr5_CvFkK+7kYyg{9aDIUP@`gi+%YYWz0kCniy&j&$S57|!-8&uK`IGa;kF#6pw`fXVf zXS)#LF9f*-F3CyakC|~&;?gCetz7cVWW0BM20thmFhxUa`%7^!{8k zApeaRyQU-ylTHwxX^JjgIjV^pnW5B(FcRO6^%Tm1U%b#i!Y%~OLZ+fs zV3aJ_a=m{Y$1QFSQ1~E3t*?{G`g={t@0O899ah)%-l>BN#uJa)_WwKb7f z;sYOodvj9Jib*qEGrRetazOFWF!0jp21lJI5E%H5R7|j;NnNm_30R#~Crc?QgpL z=)G`@*94YKhCe?_#_TvivznE3X?z`>h!9T@C6C7;gZLd$H#ig2O-fQ4$8Ks`UDeP} z#PAO;AOI?}%Uu<}f!#gkj6QQKRmddVV(>hO3bz62yRNO`Q}#nJ=s&~^%@>JOUKKqJ zM?{y;sZg@=NPOtREG>^111rr>O$J||yN`xg26YfYCTN&3#M--jhGl6*i!B2hEHlQ& zM$vuH&zNM2;LPR#^q^Z%yX&NadU=yfVV_&;fXUfn(Sb`)A-rnoj^sT7wxOC4GG+dG z2^cSkKrFLqTtoO_06PP{#FEtnTpZ#;P#xjHSoj!N+|rnVMj2M3P`mXqZ#V_QwX0hX zMN@Nxm8JJ$WLa64dPG+QkEVt5bz$j9*ki|f=1HYYq#*e>%hs?gMX69mfLxO5FMR!q z=WiZDljr!{%<95kE7d|?uevdO1$y<*V{eON6{~RUcNw4bdVh4k6fm|1$~z3Ctgnz` zT3A*dF|V{YPnSVYEX%GiuXsskRZHCwp&eZne`EgA#-<&=l$BLfb#&GIMT6wC`c!~f zeb$PWk@lx7Q9dSTPGlXJ979S)-C;MADbvj*eyG2FP5>^$kWpS-Hsu# zp!P?FgTs`D@k8m4X1hGT`p?mG(-YH|3u%oW4rT#*ujdDB?DW*tAWSEV*|sFQdZ}4O zKiC(nR)qVZwL9xRcdOlH8JZb1f32&j)((hv5Hj%2TPnz`bl4M=VbtENsxnkEc1fu& z@3U92;`qwkQ^z2xju8kN$bya6?T1Y~Vl;Xk2P+(W=pPcYnP+7&2rx-h&rt^7f4A@z z@QL5;4cTTSmd7pY4$HL6;AR~ze~vJ>)OfU1s$woUXU|w|-I!ar>*`llYV2NaBiW_! zsH2Dke*TPNgGhHzQiyZMg9pn=@>$sM-bbMC)?H8{u1qLYD0E?8fQ9`a8*Ijl^Xm%O z42yO^WzBu^bGBR4K0AA^Qb4daB!|M>wDYqbjpjo^b!Pry(Y+LoVwQz>oihtl( zz1~s4{1Bru*0AA}FD^n?G%a4m(e<4SY7A6!xRa$5q8lX*@hwkOtoo&m>QOUi#9ddg z7RHz>xpvznAg6^h{WV*8JQcTrn2M3e>N`fo*5W&!^vhyelEdD`LNs5J|_4~8z zI*r3Zkd`U~TsThw8YwE@k`2*d9N78V#&3St*aQxhX;_(8&aXChaO@D}frfVd9(ogB z!|=enjheC2z>1p+ZcA15Gy^<&q6D>4;U@F}GXATkNr$T}^e+Ra%FbNEg=?oNflx_@ zZ^}_G>p>4P_^Jz%O617zq;TetvyovWgAHiCj}*nK;lE`lBgnCF_Wa3{A@>K*56J?N z-qFABqj<*&D>@#Zp~iM!qQ3=;KI)Lu4nP`&#m)z@Y=|yj!k7%P>9E4%r06Uk81^8% z{?77qW_gox+d0zUq-*Aw1ddQI00F98a}*gXp9BMVH5sjFX>LPlTaUU)}#ZP2CKQmriN z{jDw(UsT^HYn;s>XGb9w2Hn4fSY5&Qje5Dm8Hc!J#)W$)Q(~ld$m08CP|uIL12#kV zXhoUo#1OQGV1(OD3GxTKAHf89WQt|cJA)KxyizYJ(`QS&*TwBI{Pf8ejnNQr)RGb` zYsM^l67tq1&5Kj))nw}^Zzc*R3S?347KU%7Cn>kcUm5Sd{Q9VTX(bf=9^_5A@1+w) z)j?1_AFk;A;bNEHKM`X@Nh(G6P<5X|@Q{^riOikcq4Z&4MOpPJb64!I@{6U!leJqI z>Si*=f*GqsHWGw}t)Fg_%$;R>i?BAu9Gd%0+V@|+Po^G?AKhKMT?53EP0EWFF2k=Z z4{FQT{FeNLk;!=&P7pk=JXnjMW1YE)2hG-_6xSoPulTkHgl>0vqN$@tWYwZ0F;f~# zL*i&~QsrenbY?M907)NGBPYxbWv`2cU~EgpD02|uEYH@N+aiffjTs(f%4x<~Ge&o*ZK#r9lylrOKX>Nv_Tv|fwGcMlqtA^$d}a!$k=na+M4irM22ZZncH=7 z@q`;AL$tXphD^_l$?8Cxa^`-xihN>v;S)lsN5i6#h31vzyF`ZQfRyycV>w{{Nx?85 ze)D!G@J<0gE5Y4IenlDXos~$GT%Wvo zEQKdU)N+@>R1A*Z8I4&SV-=OXGu*uhk{y71`iM^>%Y!GIlMIf;eIR5n#cebm`A9fE zFxtU3L8~TJo`m;^hGRzEnCh>Qq7>vLMMhm1*P9TEEB6yuJR+%o7x%|}s551W%3GX@ zIV8V=A_cd|AP0D{j-9157BI8J8+L2kwU!o!AgYD7>LKwItF(^Q6!;2O7uB z=)@6(R{JYn(luDgC} zj%15lvajIK^~clH_(i2)A3e*P?5P{sHjp*_XL3ku^D!>6J_@VwZ@>94H6<)3OeDDS z5GiuRGg80}ia$SGsy~v^8T|SsE;cHtH`;2_9$rgz7I!vnH(bEgZ_lOZvOKa%sia!x zJROsl?j3GQUm70a@78zj@7q`OO<=Wc^#wm*^fKfLYE$Src+cTxlPgltD8Awfe7m+x zV(fUV927-dELy+t>+2q3AuYyvG>BjPy6?f*EUkVz44=x zl7+qNuaVq9GOwL}I&a+u$D4pd|E36mrl&p@`Kmf(=+Hr{)|4vVF!X18I9TEjnfkvX z@YFeOG;e*oLfGh`CK~Fd%*kO+%9L}a*@9Q%97^#q!&Ys%@KVS>rzoeChBefhGo1!y z$~Y`|2WYAqXc)Nn+{^4m*)Q|uA%_B3fYzeOZZIf={sk3*&k%I zIteCAb-I6kew>NcPcce=Bkt!9^cwmlp>CsgTDW*f2ZtgHj5DUG#WQE4tde2Jq)bSa zJCMha!%!4Ih@?hTG;egYiE-C|8J0ys@#XQ^D)g8vm!aHDT{%RXT%+8{{+9pZ*hHsm zoUwkA`OVz6U5fH-Q0&foVE}b^%P_gI6Lwy@o3>F3asqRvOsBbKxvD;yMKi?+| z18;JdRMZ8hFki@nGmXAJB;JgDhg8nRkw4s>dqBT|$s5HncDET$UqgA`U#ZW}UEu6J z^e)pkF1vb3N~82L!@alJwgA+R%%8#3;!3PF^nbA{;cl+IK0bLk5SC*dl}hC|y@)EA zWhJ0Q$H6+&u=ljn2|`?{!Elgh-m)m+B8Wypt&*fw)m7z?i{!RdOi_R^|Dx_Gn_gKO zdJrEslfGK|)qmBIp;gc9+%JRHi;f{Z{tL3CmT#ON4KkHDhG3)L0d`8Sj10-T!npY6 zsrNaWw2793wWxb}!K|>DJ1c^C(vQl7iPb%E2aT9@eF#A_(Vt*(B{m7#@2-=$1OymJ zYe_{1(OYdF7e^6r3^I+27(3dYUtBWuLwaSkg@Idj1oi99kII8{JI{WXl)681IUiQX z7@VSbCoGNqMenA&;>s8*w)nocS>>d(u>^2=|0JdT7NkM#72Dtca}B<>s&?L9vB9?{ zwN_hKxD`KPJxVktU9FU3lV_7-Q*U#rEyLbYOtAsqUW#|xlzqsybpzs1mMK|wAx<_< zkBXpKl@3vAX4PTS!K}@JQt@4#WupZzr4)!kOuCYD*gYhZ*@v3!c_4RyOu*T1s{TTOW$_QuwekG+s?-VA-BF;gC95x&4Gh&sF~aW-fb zoiL+W(p=JNjZH*))@mIo-e|R9^Qm`TXkqqe*Jr~E26}RGgP4W~+=pKY6nccw@)|=Q zMm|e^#ZEcz7UifJk$Mf`@SekVHKJAgG3fI#w{FeGL1QY#!goSVo}JesFGh&Dodj|qmw6%7zsi5{&XD- z_5BAaYQ)!yv%{-5O23|aiSw6vEOiu_uzOb~+vuOz`rN|f1axhTgr0}qX0o?nj?i@E z-i$R>EyupUe?|rf!@M`19qd+6zUH)&+zNGhFNW#HYo_9tO@>y}^ZPo%5(9sy?gG@r zKc)IjOgmKc8N7{4GW^o(f|PiVZO3G(4~FXBfrx&vrXVNmH2EYk#k)As;Bt*Q#W%IX z$j|hf(L@QMk(B~d{!_T6ZVVF!({%CNdXr{<5g9>#d76w=>Ix?5ilMHQDdIdIQ?8PE z7}Zx;^cphEm|KRK$Ai}1eKtE`aXor`t|c8S%n(Jm(-|ruOf@A)1RL1*qH8Zgdv*#;xl69&Fz!QqD57RJF|lkm=fEf) z!bQSGvXoV`5N}~5P%zOmy*^=WTtH8C8&;z=gPtTL-E4IZP5zQ1@v&)al!{#Bj5Ahj zB-D?=gi<8Z)^b##X{OfFc3Un|toSZlH$6J{W2d{+`#t_nj&rf++tt^nt6q#R1Yd-t zT~w2MD?6-T(4@^xv{dWI)k~dfEV%m`?7e%KoVVYeh?C$9KaU0|KM<eG2{JL3Uta$cB_N3;6f__!UwfAs*v@m6+y&pKdGvn0U&Lqt07Q;J} zZApMF$k-<72zWQ*!Yhe$aZz<~8Mfw=PmZ^_{%~C|UEhGi^EP+%9<@L-H-(IzH{ExmfS^<)K+nP(BTtA>9#oAgM{kBn z76p7Jl0rAph})2|M4aF3PQg|to-oAt*-B$8zIoYE;rRxh$b2VO8#pd~tBDKM$yIa{;7_nXTMUpB}2dd49$ zTlzE=(7@-j)6Wq7e)xREK#xbE*Zfx_k-CibA!I1|mRt^Ark_0>(4PnCE5@Ds8)Di!lJ=PjQ`X%u~J zK3^s-WawH(OI6;PzsHVmUz-))Lwoox*(*7^PY2a{BkPd1M1Vs;@VUb9)tNV%VqBj! z`}nA9>$BrpFUQkqR}O?n7F0%Jzs0k$??X~cq9ZM?m#*qU?qo?pN;|TvFpj|On0mYW zbft`T>35~0aA_qUm#wau4C#n7fGfWU*QEX+s}q9x_SVtNO#0nmw_4b8Ov!;OnVoCd zH~NQ(Ci1n(_-lZ!ZTeleA2f!=Z`fUN6rFZrg6G;_j<+I11~wyK=3SX#1%t3~PEXC= zAQHz@51jcNX>6`nQ_Vzg9~{jydax|7Bd{GUq17Q`*=3Wdzvu*&Ff6J~->NEB&#aVv z66&PS@QE+CE?F2+NW;(4Enc?g0LbQO>* zbSSE#+7x4=cB@ov?oiDa;9dJk^$gi{=jYK?%wR7uHGu9T@JzlkYwS$!PJLYReMC$G z8=IM+?qbe@JA$jDFWryB&D*w47D*YaB=D>K6sL{p=9$+nMU#BE=9#5@{^ykx8fs6+ z{Y!(T!;!sCwpa_Ja)1q^zO5~{N9IfUhv`d*O$*5wJsykb38?x<+rOX5@ zT*eTyZ3!ja;xH;Ld%~0e*(Ek9E&@#4Le>UO{_(#`jOWG23M#46%kfxPjqG}6I)d?U zISqGt6)Vq;O_h;s-3XQT=L=eh9x&3iQY&};dh@PV)wAs9CL8U4e{OnXQO3nxkhP3c z5kqAmX>&gyp|0yE9}0bzClQEZ4Z9*`Y`8SiF*)jO7##CMWA=s|dZJrL8&n=7^QI(x z!7N6dR3^h$eX$yWC62{?W8X)e0)qB+9%U&>^9v-3cV%UEg-uY=pOj^!(BI)g0a5Re zP?Ik-mAKQu5DfTtIPt=3-~d$mdsGqb5Ksc%;6=IvkoF#>F}Rd81RP=QcuJI!rWXcB zS$ss9Ko!6^eStxYjC>DbG`}QCidT61AO-tN5?eTd(ER3LViY!z&ht248!GTdBvljyj3kdc+}Sh0yuM(?4}a0eJRp2y;=sIeQVnr?0>lkk z2O^e*WE5qRi1Ts;BATfVCGH6fju)koj6TsG?Ce6M-8iWPH@*cnW}_ z(H%j+P&tiDCssJD7gpwxi$^qtG4DV~&CG$sUGl+-!W5Fh(ae#=LVTR-;mSetKwNdG zf(ZIR+>DR#@A$19nZS5?sD8wi7rW)62w=Fc!jZ8FU-?x%tN3MB<&kj_c*b?TGcWUj z@jm>ZRZ#-4sQ-Mde;_?`uzx@^bFzPaC-lI0*Oudwg%u~`hUNC5>yhl$5D*A^0|1=_ z4Ph`TER9jOUr>VQ_W0cz?FHXpMtEFo`Uu8_3I9pdAoA&j6dNv35c@K;16=V1%u#|} zIA}D4WsviQy~UL59g%xa?+wp!%;Saq8~J0c&WP}^n!%j#=!FZ#JLZ%##XDrX3E&-a zsxb^0!qsxE+yKFSrR?0j>$Qvh2KQ^Ewg<+`gziF=KXA^^xqTNnz}83du*(HXisLWF zNfyS0#{zT)g~tk<`F9e3yTI%u!Z_1_5-1?-xxX;+*p|QWTb%G^;$_q>gA2+#EKx@W zFihHoF`g9NQoHy&)Qu zG)DKw;xuG|k}D1%4hz}9&gc#l5KsS+-y2H*iQgM*6Z8#f?y~)=YnT6u`;BXR0Qrr} zvnZ!Oe#`q)e?0dU;ZA7#rNB<8pm%V8c>5JO5a9y$joE15X;1JauRpxkJG?(Uz&pJ^ z{Naioh(WT;`9>`?a`vL=AC~9OErjha?CJ9Qr7P!RjK(|lVywbD_F~8?gk*rY4*}+i zYbSi}ig_noJOmj0@JR58?)OCS2><(0$v^(#Nr`X_#-Ao(SG*5nXP2T6L;4D^6K%FW z=e4i@^LzaP|Lx`4m7vgG{T`3dLH!=gpz>J(rAo-7QIPA3>Tct7eT|km&hQ~wP9*(L|UKV zIuYJACn&rR;9G}gwYC?}SU6sRuou@hZ%KO7N%TUvuq1f-eh3?I+`GMcZZF6zj(lNx z_KI`*E$yg_n+=zzoBWHzL{+Y1#~p&BDbguV|P;T*O=U0<_1C-Hl;eNME{j z!-d_#f*Oh$7{A%EG&WM|-!msU;L-?U}u=wk8dV9{c7;XpD#t*smMZ|pOJn~|^4b{c-J-JO!iN;{ zr0LqoE55mBevo02`^Jd0!H9%OuODLHCIJ~h(4*FZYTp1x zorQEiPTPkbj)Wat6Ev@V>PSS{71>w9(*9;ykyIakIGf~OVtnn`)eTgiZ+G8NXNw|+ z9JIKls40aJJ>_~9Xeye2un{4F+LCTB#D(9I|Bwk6?pOqVC{m>VI-8LWhUCs`yvltn z9;jaDd!fC(v(TBpvjvxz zcZ0{EER6u)^T)H3(ApA|Hsrm91sHv45_=*LKG;NLv<{{dRO0v7!WSnNq~2(a99Yb+ zauINykdfgAalK;OQA%V^1Ndb1<1=E+V!=rWd)Q4-RY@}{3M2KH5@{og0t%%*9dXAd z#52Qk*)XrvHZU`xs%f5gE59myb~%&@$R%-U@U`)|@x5@5;>U<7;#n0qYB=mUezHyw zAPGWOeWFy&nJDoI`255?m~q=0kam2Elic?yR`PS^u_^fsRGAM);_;%vjEjU|wvuOA zD$%LA8DA$uURvgAu^8u*P*-M=%~eS7*c^UJ?%Ag|tg>q)Mh-&oe=J44KT83VXlEfO4O=a!(JEC^Tb zuZ5T@FYs5Ip(yvv7N%vXRrg-&(6_O0VNON3B!{~kuMTnO(w|ZdDN`%#(Sc67^zxZM9i5;PHm0;&EBw%$ z)^rx7s8D@b&=-p z^wJiq%o%2~VA80MAj*t7RX!`i&EEwcp<8qdDJ&=1b_F)8Wi=V_8p9=F_PZL%i6FYv zxaJkpeU>ZgG91UD_`S(A@vV*m%n5jbCs&t}k3MhqQXB&2VtqPhHs*Q2ae#Y3TQbEn z!n2-fAIBw`{j=N|q_whS%R;1{lu%@qJOf(apEzMi5R3rFO_SW2qnq-6n#qLM`$5x}SNCD08iJ#9*;FZe#*_6;z-ws4U&Y^QK*qg@83$JkS=Hof zZOKmLarPw>lk_r)sAv+A8fY^qE&}1d$~N34lroW0nw%1Gaz-Wgmh<%SxVDry+iy5E zbfG@v7Ckn{PWJt#r`Gw2&C-_mr~L9*}%rHi_QMQq(%`>+pn@F zA8*0QiPiUE2$3F%g=I5D!*E%{2@oG#l_Sa-zc2$qS++B)Na4<3!E9UA9=5TI?fHu} zry(`UajjFEiRDZ~(Mxso?$hh*`F_BF~?J3v=a+eOu5lI2-XXkOc6!HGkwlv}IzLDS%xV1>%p zqj6h1`max;7UMI0LG5^eg+~RPnXMelX@=o4I<~H!Va8z%9)_J0VJ*zjiiTv`3egChEFySTYM{Lo-+cJ~r^ zWftdC+HQc?52LR@yYsG(e{nW*2czWQ8%^% zuJW=>x$g2vIa_bbhU3%kmaZmzjmLmm*R`lfdecJu>eMmxD!gKM63sM#_(LXN+QCAxidnPd_dviq%P_?~@l^ZF@-dfbn%)-%~l$Vv0nT?zM zj|KK0EPskXjy%k~0Fdc7Jd3)!g@YC;Hy1O28^FU2ib*YQ;w)ofV`c45$_?OT=3!%H z2RZ%7x|`VBn29=C*;|nQ)4}shTx{ITyllK&yrfL*AS@hQ96TJPY=2y10IZyx%v@Zc zUO+w}f1*->?7uBQ0U7_Y5C<8J{~7xq-z5&fKg1LJw-Nsh^Kat@0sa*`37$pF#LeOl zzWiUvAT~NhzYWe zmQJJs0xW74RyJ<#u0Eu+q9F1t=-^qDUCk|AZ5*vgY5xTbRH*LZ>}+r0@Q0hAKp&vM zSfu*wr21^!+{`@eAf6eL0=PgW?Ci{}tlT^RP?ndJjf<3%6U1mvHg*nDb}mq)V^VH5 zHf8`9Hz?#W=&+i9gy!HS)&JK@Ll6Tcv`M)+|Mc{)T>DR+ivc3(pB%T7K~dO9F(V#? zMs;Typ*geKFvUK~;7=6eWY2z}^i4s-$1=nA`CVMDej;`>eDnTYs=Cdw^;$$Y7mdgl zH~kYbPBULH>uxE>9-a)yjdAJ0Jn|aSUuKhM1ys{dc-3Yx zdPf+$jqlF_St4ls0;84lo6HmGrqr7zykaTgIU_f=VaT<I2slad+~4~`Q)qq3WDtXL(cn+(Azz|dh-jM)QS&s(}PUI}QqAZGorYwUFt zH&67z?!a^!cNaZ=d=iYj07C?b^qDXG7-f(a$|3^)_5n=Z-bH-L_K*}7m7&_=Duw|& zz>>%xbDkLD%Z^@?^U+br_bLLgZurbNd3*xw{QEZpa2fU>H2F^)Tpeb9MF|{;dK_S5zYYV9WCOT3iWlp0hVW>&Wv< z)!Ll3OE7yzK^hG&D|Q6h!mFMy>ZI>X1A2%M;8K};VWnrzL3fHoTM_U-L%}iOIldvv zINAXyRbY2BwhOLa@?*gw09)#;N`t3XO2(g^73%Gn$8l?ZBM{Hk<$teyY+tZD#7hLu z15vwyJe%#ix9owY zf1X!~V<=tgu1HlI#$7BAKIuY^GO^)4!!rjjticA$Lgk56h^mCz4S@j1Jjx70KpkbP z8R9b-{8ECe*#Xw76C>Y%oN?CmCVDZ)E11+F^#W5MKWPctk%(fEF~%JlBO!RV?i+Ef zd>H52?%OV+pa!t;af^#?Sw?9H{kD9~U$HK%U-EZU`6sn6+4#*rXRpS6( zP9#WS4aUo$F@fj*L}dbgfTlELih>VEyq?;C$R9*sGpfe%5sKOj+jc&x)p|&+W{65f zHDVAqWG{2NpmW)b6CY3|&5Ol8A2q6zh-E#XSBV=msS^XG6RT-GM9(bU#iZ+D#*Nddd6d?Qd4j(6VAHbTIJ=k z@|};caz*61f%M{JPB4B`D>@KZIECOD&cp}}0V`iwAxc9^Hu`W!WWI5iq%FaZN=tkqv z-yjLDRl{v`!Z#-+pM9rCO|EEYhb228t7V&ws&|TZYK4Po8r2`0x1kVR8^I77jNdD6 zKfQTjnlJ}Oz&K}qbNC94gj0gYA8!1Si5T;TL@~>%GH@+~lzBKXDl_i2G*rrY!Rz@3 zaFtXY?y{)=%yO66hXdhXIgBn4WoXXBTL4|w`D`8_+@u;dwGan0A922(z!RA06{X2n zBwSP=f(#EpTPq?0k`ak{t=(;P#b1WbkF`{bWSbL#i}CK9rE-jC1Dj0(X&Wpr%lsg3p&!SB!#SXCgrsVM>c_ zO6NHE>WvmD6J}qb!z^abNP!HueEXO2ZoBRW&;Hfdbfe;(xYG{&wFBlCM3fRDeityO0|&w}RdO_h zMht#c*`#S|?d0l-)hnX*YkFQeAu{6>V5$=xZKXmlhs=$Q5Yj^HEt@Y& zKooHy%t`ev`*Zv*_H}p^t3f4d@esX9e1qsZr9FBZ+(m5XKDcUzTq*jg(J7iu^DV(C z?`fDl=eLhxSLy8iKk=76Dhaj-x-ZTh&m7lwq_JI-5J(^@2i!Rd!Ka*ge~qSkL)T+4 zTqPN>Ma7ZfB%hiS>q@OAO-&*lN?nusq_n?!9qKj}^vDWT6mtDIa3EHQTxxWu&yxcx z5S-$7MQ?w#iGQL#FEInm1UHnSTy&j_30)|8RJUfj^UQ$l@t6x^uli=K*m37B$_iL z@Vvdwk`6lyw>2U7Raj<<{EG035W|Xs5I)(0UYIi}<%?uf@me}{wBXK>6@p=!xh-y7 zm^iQQ-ol!tK+fJ6hpgzF%06lgzBMr^bdMI0nI&ggC^JQv zAw4hLU$RFQc}5fcG7?{^#LViz&DdqJ&ahhG!It-2j7kK*I{Jl|S@I5#auVwj9mpMX8@gU-9M8jbApR|S z=CJ%%bpw82PrUdcxebIMsp5RBH9|nnZ0W;2v2hS4DvHo(#UoJ=V9~K9%E^?P{%-TO zpA6wcQX&j13C=#Q)_%bwDh@0W?RmbK{vF(qtpOR)nENZ8pvbgNas7aXKr9UsIzA$r zdko-O+kRZrx|IFaL(J?!?OP~6Afw)5^#J=Dc^w*%JTP?A8RysN+!by9Nc|P!T7YL` zt5NT$wSW~f&BQ4~GyoqFS~sEyrKreB_sc4Fw3--1Q?|nQYwpr|4vN%CYY}5L@f~<5 zvUrOm%0Wx6f?;EU$o^=N|tC^4s(g9Y(F{(YQXv#@izn*SB)wmprab-j}lXOrSC3cPEhbQW#?QtHIkRP}6mL z&+eHRP}92ruVfd_8#T4!az;ts$bNf8V>&6%$YDqEo$}lzuIQ`wOEuSG>clAzWMC*$ z02Kgv^i+e;`JT-E)*)x4he1{rGY#7_D&Oz6_-d_UObqgB zBA<&)tBv>FmnK$b!z z^hO3o3WIp@`h0h>!xHrt06XX7RhQ(`gQ*^3z#@f(oj+`>x}=T1)c;;6`YMjQ9NAEK z(e3sIq7KgAD2{=SHxei%3ZgzHCIXQTKZ+~>mO?UMC%2VPHRf|Z{zz#u#oS&2CoQN8 zDk=)8G{mtep)m2tdr_V&5YGT)=h{J8W@EX-JAyo*CKeW0SQcfKC*nL!PT|a}KP2d= zOGBT{96j!MU)doVu zymE^ya7Y5q0Bi zf}DvRd4lF>Wbwe>0ulA92L{}lA*s&qgqaS<2`MKp*W$rNi$+A)c*_<{bYc~&Y)l+e zDr#YAe2wkNt-~ltN^bY18gPYGrM0{%_;~t+X^T1_|*hi?q+0Pks zxGf|cf*~_2Y29v>Sk5JfDNlAQw>`hoQk`U0>nL^s&tEV$H656`N`vKRkf9JZgj$RD>sU- z6;;$TX;XVB)aElqxW_q^mE!r~tX1EDOiIRS%J>np0r3o$1mP)= zEy@}L9q$>(XhO^nj8**6RCL~>amtWge3$U&;|4|`$GUrksHiQKBjZCb2qMLd0-;z@ zS)(FH&k%>Mj&{U@Q->^R8ow*=CAkm-7l))of2!4$l(OKMfO}i(_P-VM8B}_B+U{x( zdfVeS?n-e;oN6mb(otIj#w`^NiXxXo1H^;R`8{(n*+b?(2xMF(?h}+*6F~YVTvRvI zlL+z|-%2#9?8+1$&Wp4=bI_j2=RKrpQdp}suI4DjI>Dx++lD6P(Hla)Tgx$og+sDo zp9DJwI(piIi7vph7QY9G;c-F-ei-Jr`UWKLwloYTOh!dV-1!o1p0;V;Rx_KNWOIxfaTN zF_xarrWj`(j|{)0#mZ!Ff~ScOQ)rXBqB$Ckx7ydHv59z(^csEkSPpxBQ%8m@lX+vj;!&8#iim5Vfg5+ zhYUZw-LtYzj{@jTg~hz>gZrI4ZH|?6N2wE?mU6-EnGK z9JY~aZ>~^jszTK3^-ocAse|0s(UC(K9*NZ&`?x-Ai4mev?#5BjSYvB3RiMFv8@kaN z9CZx}VC`TYz4;QJpEWJR;e6@5K@nVef6j881Ms6d-PYpHpL_-akR< zVc~|=^}Q=>_BP@i2~?H_mm39i`O0#=lGlAl4fZ~AblieVzw<~X;EkMm2O#s))Eo>e zJ^a7(3C;#iD7Vz6&j*AQh-{6IW*DW4dDbD6v9eVFa0(&MT#P2?7hX!g>(>m8+^reR zR16gzHwn8ai^{=svUIRAUVocET&Qocvq;y*kMc*%$4P``dqOAV6ha!Tdo?4 z4tluq;|PvfZ7MbUp+h$bwwy^eHKtsprtw=Hmc89+P@<9mks=B|F#FcbghsIC0ZFkNq~B!pm0EdiGCJnn)2>SNf9z_@VHD6x;uzX z#S?|qGmfw=A3A>~Q0Z7$t`J&T5!r}S00#H|4zUtwpO@a{FMo%~FS9Ka)zw>c#us%% zC{g^HH>a8Bo5~*4^)0}rzZbn z;e7aS3sv)Ei<1RyO2?P07+(;$scI^E)0i-GKZ++VhbJy@cAR8xd@I;|$B{juTDm(Cf4PbJr{;O+O6Cq{-+2%Kr$xnB zeTeQqf96e#{tEmSJ9c?%I6;X1n20dx0$t-{De#9Wy`l;hhwk1lwEB4I|wYg*I;upI?r$EQ)X?u!!B zaQDb@%b!Exwy&DaHQn{SYNiElGkodCz|4e4zV)tA_<>Q7?arouIfE1N8=3I0Byu@8 z6cX~;f!xr3bCXBItJ!T5A(=IAPJeF4#$b5xjH-@WlW`)s*9>?vAo=huU z3S0l~=iNK5b#Q2(7Kk5oG5FFte^wo`;+lJyk`piPq7iIXhox(fherc#{jFDRz5d{B zKl>ki%b86Zd2&?MrN|&>A?K%d@V`vyao>LXwS>WyaPBX&9Se>LTfS2{@z8^^eIZ2g z73pRX0_w%RnAA^~;@p3y!8~B;p(cNcWs#*%$%uvn0`aS8POtR{M|)JntX(7C zq(q@IAVR__h?TvXc$Vz!uRd^MnsAIvRvd{wshGo&Ee?%*FgVN1ky78wi|A zM$M4IB*I|0$4gck2A-@@wR9SXwT+F5iONRabXc-D)gZ#WuiCoI2;uC?h*Xqa6#7JY zGJ32MdgxGg*3pM})Od_!spb`}@F^|C0v z$+q7Qbo#q)Rtq-NMZn(Xr^;Cg14culx3q#@|y~5cMKTpn>Xt9x{*;z@CBn!8m+$X0hDK3GdPhUc*Db3K|>W)g-5=M54tG=yc}Ja&K2g1 z%~PMm_Lk@+3C&QvA<32;L0c{Dnsz(sWlo#5N0!W?G(=;UZ2bp;Ra1snZw*b{ii)U3 zmoC?DHSoF%C7;fjSpmFucDr54-zTaao9?#^e%dtGdm^On%nDC8ZRwGXm}!yCrg3rr z%;2LBw8hoM)fr?Vrt2HDOxebr&;RDRVXtOQsE8OFPt9nFEmhfnM^?O_yAJo0|NNXT zaaHL|^YX__WcdD#5F=Y;tupkU=QU8VnVFET8#{Kk(m@P4Nz<7AK?|S@ZqO><^OOYR zaX&0tp$WkV;vnr;XUQ5(qTqLXTc*C;OT*%r-_!{|q&}U&z%+W7Zm^i(wA5guX@rk; z(4WN+H_<~6j{{=FnlzB3Qsne*@!adRe1oNYHPXAup}`d{qFtmsj&#wW*fc)n*4fIA zZ);L_H4N%OB7qJf6=97)L5T=5N+Kaif*H)9CqS{#?lED2*P7S^hw|_y8RW$KDo9I$ z;wl{=L_>Ndm8;Er)ubGXD$$8gm3GIJW_W16!r+NrS$m>a+Y5B-ol=E9^TfvBzGLFv znVIf^Eb)cHbvQPU3r7GU)W_xfMcSC0Z1+VofOOpBigP89HeOmr#AAH%e(ax=?Ce<* z{eH20+L`Yb{#8PEb7zktCiDUItaNXW5>W0J?F)0FU-;$uWf_KC{{s$$I@jIz}+%V#%&I$XTu*^5rNkCj3Q^HL!%;G5=k0qK~2zy@6HxQVda%c?hEu zy(z8SFN6kooNI^#JkEYX1)k;_GMSy^<|8%SOVk7Sr z>%J(1R2c>cK&l+Ok}oA%L2WP8S`+h>rSpQlDsNhXF{Y)xI>5F75!uTDsBTvdH@h)8D zg5W@MtJnvM=JlOb<(%LEr&g6;n01|mV92TaS`-xsr+Szdgk#s^nVmh^uJ-YT>*kJ1 z7f3uf*{UlTf!Hb{7!lp7A{e3Lko^AbyF=6aH@iX37v+r*>$^uszUsy8VZv4gKVr9C zPmqsI-~9{fMlk*zc`Lr)Z0w(sR%O8`FZUPrjUwWq&XqjkA)l2};$F~a^vRwR7mR|Q zEgSsFK z>#loG^C|tEDW|XVrDG-P_0H{@L(wn#_1^6opFgiVa(nmaGrwti>|25pnY|^fg=aDfBg*>tE+ z!LaV#$Cp!g!tUjdh`^`7cg;7%&!gN${Q0+LM?R-3_~>r=3Xrp`-_N&F(H-LE@#6L- z?T2`|0}0|J=!<-*;GUQ#cb69Y^;oAU_^Z%eTksdMyC*`;U+62+hg0Y))b|47o?&N2TppzgNL+iIn`Jy7`|(Tuv>Z!%t=tuE0ErI(APeNo_xI0Sn9tl+dBGdO8DKZ)BVJzcsT%UM>s|~B}REin-_!X<_j)@q8N|*tU9YWk2Y&t1z0ks9_CnjM0G^IXuwon1Ib?m zv@q^MI6`v{*liI^K6eV;kF*ro8quD<75VtJY?M1u+w=pDYT~(tiJMmlkzmOna|k+J zxCB^~F<<5$1_EdSh28yQ+h48sGKyklN(!!Y*`<}Gl`ABOF$;QyXN0^#3*uy3RV;Nq zDy9c<`LhfvG9&Yu?bgmk(+cJRM$PYaf0KCgNMe6BU^UJS^k(UH)0n>40$OORiS6CE z|Jp!V@Br|$ZJqkYSVo$^AKPf*A`Qk%nfN(U)DtIXCufU>y6YS`^JLq&ahnVs7rJIf zgMTbIF<_--6m27D?DOy$@d=q%DHD5l^A~ZkP4&{)r}*fN?UpvO zaJLRZ4pJa->FZOD7QAZmQb$w2SO2t$yX4xa_`UBD+C|!J=&>B1X{VB0kZY2YVNvR@ z^O5j;LGi|UyD2uG#d$%Mh=qWNZ$!pIOJ!Bgc1k@TLp+v$b}KpOOj+bg|}6 zJA+ecfpTHxWdh1q*rqNL3}P=UHYzXPgkGMRKe#n778Co63WE7!q(>2qDzLii*rq$? zxB3K6QXLKj?>1u=Kq#6Pv9Xz0aELla(=d)sxth|dAssv-o71coQ<7)Na3|TvnKS!= zW@XoxqV*nLjG=27jYo zpr9H-!<0j-Q>mYx@LHZ2f(;_f3Okit!wjC1(EU(zc5=LTbZl~Vj6S7qB%q3-4d0tf zwNB>9G)^0EU&Un(FHN9QrX8-2REx{}6E3G5vsfh^1=D@9B!-5kf6PQZ(R^^@dMjsHVkt>ksA2=9_Mf?%D2(X%*nz ze16;fD6WTk98!c=^Y6M`=y;}1bO1$(5dQTcjIrbW9zo8;f{_N>ce&ANjKxWqH{X=g z$5l*^=Iybq8RC)-PI}IcO)DWsm2#-8>YLrbO5wp*Co%e{@Spym^AZLB6Y9wvy5M& zgTQ^}gmgyC?)Onz)q-jBtzg(`4fl79%=R9!8<2Gml9Odh=8ox@FT904dey7XqLXTw z6Jtpe7}qsyJ65SQ_?TUPoM4)n)F`ExGEMxj?;yK1(~&)7+@iKMi(E9rMx-!lK%;^= zV>z|!d#~J*2x-x&(k?K^_5tJh8E!Uq^GY!*ICFSHiCsAa0rL>#u5KxoBQYCTmz_*+|XIA~;773@#7b*aWI}e-KPi7-_|%VGR7> zx&}8vm%ouN%~qXJ9^>%dwW(wHjbk_+Et9E;Isq*sty>CqD%+(}%H;2_sdS>+cyh2f zi7eojnKZ$Z|&wp-N3s7xzu7>-`o1)7Sm>ELD1&GYYOvs_kQ5Tp8cCLwcs^> zEvak&Vyx*mIp%J&UPP{~Qadk4$MrrBWWg=qOiS$7Nt6@gghz(T zmt(P(mgSZGBJg;X95IEjz(#xNuPS3LBeXq94*=R8135H&)nB9s+0jEB@^hTHs=t!J z_Av}(zDf%MlNVd9s$?sXzvni0nItozG1YI9!!e0O*Nz1Uv*|#9S88P1=8~Af1<Ucbd^rBwlnb!30;P3`rG3sRcmQJeMMV>-)%38L?>8mk?d3a!Y_ctK9 z>>VyyrE5&8*xBZ2*e&)QEP3mI7@_5c?QA)fc!|vIx)SkvbYQ!bHhfKo&pq>vinue^8y9}6=^a9sXjY9F-PYRGf}B;?Od@)G|cyVZ%SXv%Nz z)BjSvY%zAV0(}67d&r@Y;OYVCuis zT$##QQSs$5`8V=O*1@2QOo@|CpreCWyToc_4pPG=hZvsG>SvSMbB@hI09(+l(Bb1KfX#N~={@b%w=CEj*BL?PuzTj-oV= zTFuJFgM&kYhfJ%3Pk8q{x8;X2ee7|N&G-=M@cZ9k(MhI}>PE9tg@to^GdL$DY@6kn zJ+ddo_a=;ic+zQ?ea!(sZd7MPec?Pu6onJ}4kSsHFoNkEK?6vDBMks%#-7Q(hM&yw z8!h`8*P2ZS53wNavQ6@Z$A$XE=|+K$G+HYrJy*p8o*TgUV9Lzab=b1ID*kScc8A_; zOvk*>(J540cR3xaI@<|!vp}q9rTwavFb~+d5vUTooguW3>qhU8S;ww% z%cf%!6mc7jkc#PxT>0bUk0f*=QTD2A4M^Z_EqCtpobw$hKxI_!G&>k}mlyMoPzx4M z6$%UqL3Bjn#(;Ji7}Yzc%t<=&QYpWbh7{(PXZ441YW1>L3{=am-h1P~?NxwUU9u z-SU5A_PWdNk7a7NH`v*Vo<1Qd+M5zg(3Z7(8~qK5Z^vJ#xW#d=Imz|r$)0fi4XEvl zP~bc@gyE_MMic;6LS3D^Yc!h0{|HZnMT6V3Kex9ZaJ+wwRx+%OQ-^THclPyFt;3+j z+z5}<8`VNJ>&B)Ji1%!BJ?ZIXUsN5Wvw^m?GZ+t}N*4TF^Z1?=!+vKmuzH*T2%ApL z(#7`6TiSBDFDq{~7hiiWbYdP`5)mBh;%=1Eitl7|bNoBDVg1%}uyx|c@_M{s?kqU@ zE+tTGmX!)}cu27^T<8gABm9$Vl{{!Ihc!{>V+eshBrxH`yd#5XVW4Epma!9WE` z7MVBFmrmaNSlIltduo0;x&#zCv~Drf5tf06Q~9nGHy02hDHgF8aham9Ab@us0x(iq@3DP+v7S?P$ z(NN^mX?|kDZwSSdt4!3f3?Z=Cmkdmg6)h(En=H2(mgFO0oAfQYq#@WBXTMLzn2A2l z`R)#=m-V(D?iQE%CCunFe>ly$*jF`sTBV@x>4b*g7(7C6>bv@Fbl$sp1sMu%cRl8> z=XgNnd18}@7wfU~DCnelYaaOj)qjL}$&&5|61kT_GXVb(jSFeZ)j(G*2~tF6DIgem zMJqRJy~i}_`VI*XUj~y=1vGHNv$T6}olnqv{W__;%en}KqjKUa->p3eWbq(#q zcF=F8_OEH%QaPL|*g$uzA-itW!YyF9c$AkzOH{uq? ztV%Di;C!YW{hJEOqo8R`g;SMlk)+ffsU;L9?yRlOffs~3KLEaKsJudf#;OozmTq>= zLeLDCSvfG4gBiN>%m0VD1wg4^kRV^P!!s*2O~& zIL_u2zq~BNdUdBTa`-;oG~*q#vZyswv)~Dfkwq0lD2>3t z?Y!3u=M~q?u08tB-`@^zQR(xukZxoW3gGx}`xxt6oT7q(=3gKUn;-0U6YD|H z#oI87Yp!tT&DgdzyINb_H(9QlIqaW|Bno5)q?^bvKoWZih%pUsFgN9fQlLT$TWP&;vbEB@R^Qc<3@q8KKlB;Y%g zKy7B@{d9AhndH2vwW5%)-ksGj-cK-^xMofp*JO;BA|&pi9V=@e%^nrcOGH+sP#J!h zB}1)Wsz_gDp5wz9r1RVpk$#1nHJJ>9r?jQ76fvsQWiX0^2}NsR2)TKk-Rai_$;gVe zkWT30O^*F!Eum@_bo=pmOYG{}{d{Xa(t7l+04I4#>vK_}=*QxAAj$P{LsKj&`0)_C zpU~|qW!6IE(e`(?gZT3Ot$K4aw~>GR&;l8Jj=&O|V1!)tiEirCa{#xo2w!%@_SeFW zRIK~0HaSb>UoKJM5bj}H1L}PyhkR{BF*`DY0%CR~iqb9>MhZi1NdrNm4a+nibt*o| zD&;k*G6x?-#WLTP?&pf~MThkAqfvfC71|_46(}b;^S2Sv=}c%eOfrmUucoi!t_GZ8 zZV2zzcLWX?-$6<@ui}aYowwBG7PaRrccj$E0l@F8MC$R_Aeg8K9S z^zUbGPqYErt1ZWp-OjtqI+ByN@Aqd;Mjxxv>Wg17Ej2Z^#BV#0&wR=|UXMc(7|BC4 z{B9~@yYTkSJDy^}$zCx{;CY|jO-B>9KZk`#!fZw+sJbB~z!R_K2015KWLuRuD*#qg zP2p4-57%X-KiAUIKVQzIkKTc6O!B@+N;66!_3kGbR%CkLtnj2nO%73#w|xKP{mHl# zyT>fb{502KdG^sgb2~I7bvm@~i=L}y+)VC1Z?-k`X~0FXPjKxGTK3r9zwK(97n<7y zFWezbF2|B_X8f3ZpJ50`hn2ov^ii-+lbiy z2Lpf@o;uOWoH!;}+ea~gYQHk=)`o*R;dJq<`qqBRjh!XV^|0vgDuh>BQ+w2C-r|Wh zXlv*X#}vu7GZG#mLTaCvDtXpRtKevI--ZqjY@TL_mDS1|%jd+(+ zGGv>UP25$a=CzCd?1(oCa~figlCEO$&Tz6AQ_!MI;7MjktVyhfc8sx2R3j{65*!+Z z3se)Yp1>hBP+kJ}H%CHTg6X;COw_<+naESMEwl(Ma13xwkUJ#83Zn`cqV^z%w2iVI zt4(8kQmk1mF;a0;byC*w^-c%rqcydv8}$y`8TQQT24{@k({Z>i96Cw5OuSXS$Df)( zh|9yfj(d);lGP&V#A&s>$2OFi#aQIB(z+j>^xz4hC=41VrgTINs%8Ohx()17@xrz& z8MFt+<5ZjRFu7h{O}y!#I3~mHZ`4{Cl>LS+t6>EzS=CVp@c!Xz3;~?|Hl+0;>~e=u z2$(>*9tx#Q`6jq@jS2%mI)wimLgu7Za2e4DiK-|pxd8{hF`stiFR;sfHVx%p`vWKv3@%=*Xi{r@vKioMdg1? z$k@eaHj8YTlI4_;t7`Y?KCWkTv&T3swIPO;eV2lN+j#(N-I_f#Ubi6p-lLh5|2zgc zscF|>-a*f%yLxdO1+;MsCNb-nZm3N(3e-EG*jBfzJA|AjAA#4|$C{9k@eu)4PYUW~JVE&i5ovXSg%aygQ%=#wXzO>lliNlY}(2o>J3cX0L zcFwa4-8?>_0lC7YL47r0{K$SD6|LwG(Wz;LO%qUBvBZ{U>Hozf$&t9oA*P2L(!HqIPUfHDJCcA4#%ZD%w-OC~15pRC$7P-7md^?B!3o~pH@wZx{) zSC%R%Xk39aGc{8au>L4KOMY6*{PZ0fp;LFc$wzyb^VtzQty=m1sEM7S(%i8fAR7)woBZ8plrKP$a*1|JxZ9v| zT2$Ea<2?$ZL_HS7dQEt~CaejU*g>u9<1$ZmGm&1UCun+m6@B($li*tCoVPGhoCqx7 z5`p8!pJvrzQ0I|G<(U^1o9a_R){^Tz=UhlgGA4!m94R!Y`#vw%;VI>+8QY`&Z(o_+ zva|*Ae=8(evl002snPHsfBUW-Z3(fCoo=;e;<b@yI3X^;cD`%b0Nk6}lh9Waxp8#|${wTf+yIA*;aN@y^VIrmDNy(y^JmeUwKqt&J zB6O0o)6ZW-&)nfK@S6@(!kvgPxC4e3iCtLLpq&_3IA(*An)&9=Z0&B8>np z1YLSks#NHbRev210F6Fnn0IiGm0NNQj%z@+r)KZFlF$GK*LH@Kez;5DC|t3fe37OE z+l5B{mAa^DNn#rw6ZvZWya^x!(M(vQPhs_f5~*Qawzaa>y$A2J8F%MQoXoPNswZjN z?Tc&1Oz_WjmYp)sD%O5O$>if3$8|#5tIJ|I3K?GR*8EuE7~J?~@eC=i7{2qGQ}#ok zZ9k)$%JY_zzT(2S_*7ddYB@F%G{{;@8v0l6N3;1gdH^m%)DV}~>RoHRFb{vfDa(=8 zbSg8;(une&kw@7qw;b*PUb4W3YL%Rm{8;tFMDk&V8I4PI`x$Od@|?`Ph-tC4>4V6$ zDaAO2Y%?)zLy`6&v9=~mv`V2z@Z#A+I8@2B(P*WLXPA~*EMm#TokXQd;_CD`xyTPD zyO6tU3-DMt+$4$zh}f@Azna$K)@l#G;A;|1*FMtY00x8%ln}~=Sc*GQ71@*D-0yI_Tadposk#0mh;2;#B7Xk0RAZp^ zCHaiP=cMv!HSi$o@&ONFl29Y%oAkD7LK0_uyJ~!U`_@e|uWmOG$@+=F1jsSZp`T%o zCas47>ul_JbIu$o{*yXp2H%q)pIMdwZ+BS0)9x(BZ#PA-Q?|b5Ww}8*fBd>jV^9z;lv0{(g}OrP^?9BvW8$l!e~He4^yZQWih(CzUbWutL4434_BP zgB$B*{_mux{?sBjlzI;q&DvUHTFMMdNY-^5g^pDW?1(juG*e%x;-VsMo*+oOW>H+C z3j{=Fmz3++ z9+J?L2!d#S{D6o0`f4&HeEs`Q)!s#H7Ip5)%KUA9+ zgCr2ecHV4SezJ{HB%awN$h+WoYz8x)_boBaitLqJoaZOY7$QfyE6bb;4~UGbV4et{ z4`vE@&8k*_9P5mP>D*^4NYqd;D{6C2@{=Y{hVLuUWw{{3sai9p zzkh!6O>8@v_BpI;{|FaNNKyH1=*Me^HE^V>rZsh~o#D6&336Se0{lF!f1TCyqi8ao zHW15Et7FpAk+H-dczh^2H$vkO-Vs-h%<}7P1FGTRDUMg7M>f0ch>r&>&Q{MQA z98>4*MV%YhHt}_rqvg^%Pcq}atALi*cn+;6rIEAkmiD`3X&`Hx=G{j4&+XtQ1Is7~ z5e^h3DGdE5>5KKRz?1-GRuqH1=b?hmOEsCPvR*aBhLDeR7y20#=BpHc2Q8QiCJETy zVA$>7(HBu|mM8XdqEv)+_jJ)kgQ;QXwbYZP98Gt}6qA<3B*wOZ91LXudNB+RI<{rDN> zRID>BP%vbWRFHYFU`nhZN-&AAII_*HcGjD_m2k`50czMC--G#%;6N*b8y>%7cytZn zE5e%66CH&@N~bm;Ci+N6ko$QlyWnIu!^APG{djU{^cUEHq{~tk8w-{ux~VOK_(f)A zRwqu$GEoXx6FrzTV)iFjR9aq@I^fh&67J zYHwrI%IvGe2nJ)gyPnP2CX!VQK0az?Vi9xVIt}`SV7`>g?;^K#`f!N5PVu*`WXWuZ zOx6|sI*9Yp<6B#G;|2cYfZaMs&BT2*IGnHNa;y~4Av(Wi5=fXozjj=}lUY8j*t$j)fzNuv5ZEuYo%pCBm`P972f%Rg;|3qZofMZ)%f zFjU;EB;0KOv{P=bf0pUrIaHi1|Aj;KPpqW>4MfDo^RFB#yM7WB@kj4LhD>n?swvre zh9(6@kJ-?ZLvR9|4k=EFG={fFOt}mhy)W$!(-SQH6^9F2=)byOrJHc_xHP=7N-8vA zunD3}(;;ltTFV+M>YSrAC(HB>e;FIUhGRm0`RM7L=w-gTDlLJp#__ww>#PIk&#G`8 zboX+(z?W?N3PCSBv%>zP^XEkqKB{})QnUoVoYvA&Imp?Y2}zhLTba{pj=Mu4|MKit zC5lKGT10#GX+r+u#}=h>>JJ~6Z|w)Fu)!$L`B7FKidMPQ4~J_YwnvO~x#mil&`NZA zXBA1fwBm8Z;O#hPS#2kkXIjDz^5Urxk$ku5pVCh$zd$=0SeR&j*d-43+3lXOfFk8$ z*Fg!~$VbceQE|Fz;+@ST+5didbFuu-3jcr9_rI~J{#DWcud!7BxU~KiOZ9IK!2bzL z#r99){BNh9m6hk8F=Xn|tZ?A02oPSKMuG-f(r$HcxhU1OAKOs4>!h1KF%mLpK?yXd zV&wS}ztw;4#5K5Dex!K`nx#r!U@)m7z#=AHSq9ni_cd-R@!v>q1aaQM7EA1=&reDm zoGc|e*`EsQZFLc&o8Nj4A{{e-j7WAl0a)?=du4L4vHoXm{%_&~xH$fc_-eBCrnE3w z9dLj@u+ROTKg5UeH#$Bnq1_uR%*(*2;(l2(Y6&5*uaJV1V!id|UcA z=K6O1@p&WsjX-r8a4D6HD2T5@;@#YKjp7c19lmwh zakTJ?-DtpGo;k$Cl6STq}HG*NIHE%2mJ37Zynm2`q6_-p6Zs{j6wG1!n-!IzjZ_SYB;B@(p= zHcLuGf8|_D<-5G8W>4HdXe|hhpOcFUHNoJ0Lk1_q;sER{(W;Otwm1f7EFMksmTE5Y z6}*`Dd~zD;T9*4&it1BX7W)DP0AXl#db|}*l>(jb?Vz~Y>QYU>xfvK)*SxKyb~gX_ z*V->SebR&ewEl>`5}1)UNy(O9)xSu5U5FW=&ojF2)3gweR(Wj!4wes4GrkAa*|+~Fg0?w=0XRWa6u^6Ry|;%mofQt1jT zCb3FSve82?4P^B7P<7-QEoY~ellPdyR(#I(Ad)q7Kxt?6_;z7+jlcp zAx^JSwakc8ZC>)ovzwr)d&xo0nD$~tglWH|Ud#v;wG=k`Af2}uXoRZsd*hgA{Z!~g z(w)c^w_AXI)WFu~KIoF9On$W@L(HuZaJTkq>LJ{b^yMA*1MHUr58VHx>1_XZn$F4c zUvP2iYSL(XBnZE6;e5Vei@bWVaV7`eew-#jaHl7(m+GJ~ei_DL`9<~f=qoAGw?D{$ zjIWy`JM%^_0gnMzFpp$!J>u>y$8dx^F1x`OA_)@+-wXz~qP<11$5pE9{^+snVQt%E zBedd=KLz7X5*&4)|He1hmrDp&#`=v-LGOa*`-iM(CVx5)V@~U8D-LV@BUF4vBuN|7 zw%4n-R`k69)0b z`m3Hmx?EWuJjp3RQe;o+=gfillC&fh5TB0jCu)Eu`e+zZYi5`*wmC|1b~k-B08DHT z?eACyU1D~3#o!cOOy)Ww>;PhW9i_lwgC4Qwf-9v0-zIAA;Q0e#|38N*$_kX8SfS~GwpzhpiO z3Y*$+3ZuEl!SP{LetbbtzOwwE)aReDr2p%UlAZNm zZj=dU+%Oxj7`j48*Vsp8*yv3T+kSjsr4~Pjnf5WZA+ntNAgFL;F+@=L{}BI>gX?$c zn@&#sbTiV7kVEC&OZA&M1~QO>m?;x6H{@^p8O6V4v4-Y%{VB;0>T&k?OPm&Tl=^yY zA$Kr~{|&L&273n{u;XJ1gCOFcJI;Xj4bcOJ@DQ<^N&tE5Pd5vaEx< zd+-EzxEFVKcYic=cmSM95wAoZ;5P<8oT8P66&0MC){iiL~vl2%~j)GVQ8gC^)I~eC+YOo zP($d?VS@-lB5)dccB*avX~BHuU4IsxB#FW?bfvWQ0e9#=0}8{|CgDI!`_?!>cP8)W6b-PjA@Y3wTChCC!K9AZ5mEz#&~cXuwf0p{(CE z&~B=QIiEh>pR1W@Yi(Q3a9;WR7V~2LxbY)S{%#Lvp0=a`#rvjb4U|?yVDxR|Pgru2 zA7|}cGXrm+w_KDU+Xi87*h5?Ob;Je!4x)8sEIn2*3TBck*}Kzv8$CLYV<0=diK zds6S_)jkNUj8{GCw0A0S+H~))xf5_m*B_oUvkDxe#{F<=6xq_6ltB_O**jR_y}W^@}XvyM<06OZpE zpkK@+OT=d8QtUmiLcV|jsugk%>O|5!ij|#aP|kT{-vTp&HcyG?b9MI zJl+V#u0C($Q|k!J4~&u4@J4-J1Vh0{(_9=KWinsEydER_{($BKfA1_hEDGMCt$7VQ z5GtRVh8^`N2ep4!>k;Rvt@=kyoys;Y(UnC*I*Cmu2LYa_Z# zGoi%H=LAn1;+A7_%d^XJ`?h>hN-fIuBCQ>j6OH_#Zd~3Kqk57rluwiCN@SUpkZPnVKn={@Wt}g_4ohArT!}p zCkv1r_)on3EI>|x4hUH@ew`5&9BhpozuJ+59(>?8j18K$%)UJ!zhKs1HbEy0WceD{ z|FX#m0BwGAN#_H7e4WX^8LYGXpjG(4Dn|d#`TEb+Ze|u{5HUppGH*9Au!et`rlTeq zL%J#BPRW%$Peb>ulWdiiJKK>>w^t$ zwMVLlUZfPPc_yD2ElzqgR}QqvL_(}?;(i#oWbNn;CmOM~K5ZEewkNs=v>?N;)DM%t zWuZE4kqv9FUF{k|BD7EUw(K)nAdOJ8T*fJlNR8?nB{w!{o$R*5d*3$~x|~?;D5nCQO;q5buCnP<|Z$Oi`7Z!muO9N@Vtk1gc?E zS)LzKYFq_`{&8L`icy*6QHkV?pd1%QwK7I1iX+w9E(<^1aD05w(AwBc2_l&RU)d+J zEI(chrvvg+ltZF0V{Uf7t$I%LHRV3~sylSZjftmwP>t|H+vMB(ccR(Mq^$-U5S6e~>u!L;O*04i{CW&qR z8RhKEOqtDyQt@l;!p9Y!CyBp>o@XW5u6KUTM}h^C1+_yfkpqRTs;K>|$xO5e=2hUb z*>;`@X-Ai27+_-{1@1X}YM0MhN+>D(y#wTgFRx)M9*mGk_ zOCmRV36Sm1w0c(9GwkkOw*rfdxcWx(LkB(dc4#X-{re?RI|D2_Noe)Q8kvG!rS@a! z9e6?%*e#ExWE?o0%_vZ?iWhueR`n=6rG6KMzT0Gc-W#&`4n>V>AOx1~ib{OQG$pLIS%n`Aj$8wO_ur#ewtEsB+P?%y+A=HE=!y2NthXG8; zpY0(a->|v|K1t1*xp~qjr`O;o-f?%mS7?od+>oG}-Zd$oLqn`!r35RU(rk;eyJ0l_ z)S7ly7TIOTk9YmG@Jn2XO1uY{Uh$X3`KbmOb>j9AGTUdSD4S8~AF-`GB*^g>z?UmX z>ghDa37%44ocoDjq)fSKo$KSZ8=hg5XR#TokR102MU+Tol2GrN6Kw}U(ukI}qjzv&6>)w?~09sybp0*RpVO;rWy?ikSlu=74QG7B)?4us)dnFoO~tv(ds@cZ;iDb(Zgf?c47JQqavg4W6H?K1tB8 zOeT)j;htd+W^N|&u<8)A*amPqI~q@S$;8(tVg$5k8SnF~F^+)0Ig|{`PsHJkoo1Yb z5vs3p6Skk!zO1!bWO5xttR$VjFTXoPSbCML{pu1}{y_AZJkpe~g)GrpZ!ke#htQ25 zSM8ObA);xYeWZ%X9Kj2W@)BkB64Hl|nf5(B7LB;y9l_tAay zJ?RgIu;jw`x(|=mRRZLHAAti|zDw!+*%Zja!tt9K@K^Y9^9y{*#)rV5Vt^u^iEzDp z)TgG@^#s33j zDT0E9VOo<>xmQtB1_T6&H> zyu?Ea-Ql42QmaA&r3=^jrTlv%4|=p!h2#6#a3tiy=X4ap5G>~l;?C^CL5IXoZfBro>_%4I~XKTy9DmwVV{4+E2Z<%RX zHAx3LPS~X_>UwXMZp5wQNMy#r%VigD=q9y16_S8Hh_B3a29prt1S0qaZMB&L*P~T*xDFVJox8|WCX947rtDIzVL^zlp53GQouGy!n zwqH z0p9Z;sXn!UDHQYH&is`8jrXoow%gf$mds~XZDbKS5V znerQpCp*5jrX3_(Ttzal94DENAQzk$%vV9K)|1+S@7OA4e< z-r)ObG4$-t%3q<$iDossJZ?(L#=}D;jJ|Owm84_;VAzCQEuWa-tVE~(?FhY=VEPj_ zZJC`|=~=^0ffsfsxq+CKzAzoIdT(wAltgj1`<_nOw9(jE94Kp>7z;^k5VDH(4MEN) z=foGrDP!v%0ep<-6Z{YG$Uhg8`7u~xM&ar=*+Zg3H8VYa0#mQpu_tbae+Frb0_}*; znh7J6aYxL`l#`03%Y+0Ker@AHwKafP>?g;YiS_m+HrLzxmr_$!Yv50rLapa;f<1|p zIU{?@#TsgxXxMnkG;k3k;U_7H$m^bRu^{3=GFI5{NR?tP8Ss+TrSV~eos&$v`YM{Z z)+e~8hRa_*D!;!Rnw+N$0M}1ufxmK{a}LfVFG-m5Zk=en_hM==%se`c8b{}+cVpGo z(KFEV;@5a%sX@)k>`seD+^fVDCeoDK@Wt%~&+v7es*_A}SZc#AsCXw|LI5Q`7fYoo z9@8KSK(Y&FP&;X3u5AS7c#bT`hf4JPWfays?P{T!9cB0;mNjiVf1eO9-<-MI8Y;yeTkwPAf?8ulqb-w zpr=R9Afaq)UPy0u;vT=@Hlj@o3QA#HN*_kdbzX_h1pjDgq?*xVUsx+QA>oPRr z#sQTHzkOA&B=m=Hzl|ugCLMCFvXLGs(T4Mo4w6_4p$zfNTMixbKF_2;CtP;~4cx7P zK&1B@CO$5__WP9YAxbzqm}zOfmSbFFiyQEbV2>pW_NL8iNsqz$GMy$Wx87bdf#tl# z=;5mK>VelKuGPHb8Nd5jDmnxJ!+#Z8-~3Kc#%n7rHk+bDz$zq7bXGf*@W`4sS@Xlj ztn%*srutn=H$cT!eP+gV3jf)GbbM}mhZ*OYnDpZ+nEuDsdyu?Q7Q5VV0lq?vx`u8A zV5=rz`@ED#M_~qKY_qKMGZBJLOj|O2@N4GPsU17v4;c?&D2vP;zYkG?fUl9zuL`X{ zn{wHI+qz3tRXWCq6LxX;TQV*1bgJ7Qr{czzTVTSmj$Q7lKol8EMXf#<-cS^jBz(pZ zF|vJ<7<8MTqxIFig6itzmR?QdGDPf)oMk}@e6PoDorRIacF4;RUHTUKP|RH_r8Oeg zZ?D@`lt^lD4l>a_m8-$SDBFeZyIhw45sgpvU(V@)XhtH6Pou2~~uG2jFo{$`_ z%P|FSh-G(mhY?n*nH72mzk?7Z!KGkXdaj&Q5AGE}DkJjB#1mHK#Y9MfhootM@5^Z) zAy23+o7eg|JJPG``y|!wp5aI>;OlA9@!Nq!;hu#ZWHCl(7V02zK*h6(yd&wk1)1Uw z<4()`TJtimsQl8>drn*3MM7ANEHPod4eQ~mibrR2d+jQUFE{T2AN|VmMCpAqI0qY2 zwecm%vn|7@NP+5>I@v+{Gk6xQ>I`qq?erI%71fd!qvbUt19t>t9nY-@>NU)^c#}1r z$-xuYBN#dHN;3l{%z@jYXHw_UMC)olVEaz}g@TPP`g0tlJo(>?bl(DOMC* zPkciyuf*aOwl1J0P=fa9cA{6HS#+3{oqrg0dbB8;|Fk%qRVb+gxvfiy?bZt9o6x0a z$K5PGb$4)HHl++`(Tft{GfI_v;oETZnEn)q7R^-djP;Q~1v}PRyQ@Bsf(dE+acxhj zVh+m1ZuWH^`SzQ{=*#L@R1I4+Z1oB#%@x36YX!{~^b7Z}40;~uL#@O*E5q_#gEH}# zK4&VH4&f?7sR=he@CmzXWR%Vl7;4-*Zuuv6&vv`X4Q90{$Eljmlv@TH1$r8V7$2f7!!feeTzBT1Ap;0WajRO`O zek+a12TIJYoy8~Vh~Hz%APV7@PueMU*+?$%FymEu%Kd4TEN(0IEuYQX;X~%+Rd?)L zlNn$B$aNS?8uZ*$x6 zYeipXp>MA+oFU%8?FvDMuif+M9T;0ZQBZ`_A~FQQp0-F0cyw;t@wRI=-vJ-O6bha z?B`!@^aEJxUDGt1vGlvKqt=&1aP1-ei&*UlHpv(WUVK=`Fq3NYoTk{4la53t?2)y) ze56GiJ`u^&uef>>wWA~A(N5MO#H4hy?JcP??%1)vb#^`F54V?&*&5{zB=B=QkZg@DdQi|XDVbmqhimFxM|i{W9`Ca_{1^*sJ)g@=^`dm@uw(=>9V4Wt%|3n7a#2j9V%EG zNH<>%1ui8`aPj5cTAnT^EGDs>cPShC-zf5(VoSQXVLyq6elK4a+w`KRvO^oA>2s?g z5Od2lG?v|5wG5{EW~^59<9vzJS+uRD1)ctvCP(wSqp=xXA~LPsIwEGoCxX_*G#aA2MG(3gS7x_-jkT zcO2lKEeR~Z-)P-*6l5*GsXf#`&k=>JK{gVF8AwyDSD_@F|EJpH!K<5^aE~OLavP-f z*m-B3F5AzSGfPNLPzH!LZ4;55n|w}qgdRS<9pNw&3*Wx;ZhMAve5$d-4>f2nR*bu_ z{?qFGRYpYn$K34aOF@CpmI!^Er9okp*GE0z_sA3QrJ(y(wJM)1LQ%8G_zY$zRxf2 zUz>&BTok<1xveTr#2v`LO|Y^Cm=N;v;dsnxJi7&d$>uQo`&-BUoy_YWz@D-&f$9VP zlRX8o6W`cVHntyUPXWKCKYy~PAWZSUmS+5YDBAz!Y5Zhn|8Fw00AavS{mU;y4-f{G z<@|G=0)Q|l>mP8*-wHxNT=KVp0%7x`k$nf0c;TqTKV))Z}n^+$qMX0Rd|sdFb>g22A3` zqmJ@}j3dPTQ#co-0aGmymFG&h{g8Snj9yTHr-*tcqF@BNPdZmrk!8G%It4t;wZ05I zvR-~_N3(sN4Q^OW+n8PqR()XCYmM8U#|U+L5tjbO$H=^()HTO-Rv#P_EaPAx(!I{T z*gj2z(*VNI-JH)1Q)u4&YJk{owKRV}x|$0H=gMtt57U$#2FMwhA`crwFM2-F??9QQ z6wZuUg+ByNh0LKmYaR*zA{@H@EUosHDG9KBFm2ySHxi8cKCS#33=drGmDQ3W*cV1i zD-H!zk{8bo7T=_1M&s;PKUap)LY~LWfcJYL0wv}vcxv2(%k&tGjER7e<+Cx+j;;AI z9+QH4uD~W3$*^iMY*oKz5W#hXlC&CvrNb1dUAYXH#vVy!uxho#ym#Ul&0cO)tXDcjdQSpapBt6^x?ZGf< z?o7%1DOng|Lo^MgLm~7h3M)4T1=#%bTxRko_u@Odmt8@#Lw6|+okxqq;iCj3{|beCWhx^QRlV;SxYJd6{bsK&`NHclDJR6*g$m~+(>b1d*H7hb z4qM5FR#v0ceqF9J`z5Bc+rHej;N}uMT4vH{dgxuqni|NyTn)wj)o}Is?9EzX0r!7JQ^{+ ztk=f|k--hQ()*H1Rh>N^SYU+fzf+o#GoPpw@;t;GF%5JwN;+%gPPEpx|Ja@8X&dwW z4SM+vvAJW=`bm=9l~;n*@njD4MpN2DNcoW$nUV6mroCYbp3h4Qxd*iCgFE9@Kdebe zv(QXzYGAzbYT_LHVPDP8@SXDsHb1$8P2H^Slwt~J3g5NpBBI>VL18_f=f|wd)Pxpb z+bYJiPH1+O@~ruMWBtMX9wtb2A?f$=Fc7pN{SZ~l%*yhc0ykN8=?On-*u__cE8qp| zU;8`){hbRp!#k!tv-EGQZ;!yvV}~Pt4owOc?@qk zaWl@mD){9vPgw8WBA}8RC;`~HZ9h(8ENple2E6uC>D9teI?Tf`lkMMJU{_K-p~5kZ z3Q-a*F2j^txUtm1bM+$aqPC09+k5#*m+}BB*}$4kTog>t^~%fN6$abUK>w_Zq&GOC zi`pA9a5@F?WEUbZP4vBcxV%!O`dmu{m#&@{?3>H;FpS-R*TKUBJL!aw`~Kv|alW2o zF4B@A@K`Ncf<*YAk<2Hw_2tkry9veZ)hP!yLdGL_B+-l3g-ov~UNc6<8@nu=!BZxS zA*D?)Ox4F;xIQPdCs1T~>`E91;qsoxyLg=xqk5W8O*KT;U?Yqs&7$+2oc zGgX;Trosxo(PclFd1%i}4Oa<{J;6mBv!_8VAt4yI@gH{~ju)U)Q=D80Nzg~)%$Drb zC$`WsQ@z9Y-$L>oh8S&}@|cM?_Y;I>RwE%>yD#D|)Wi#uim>j?6QXw_xqc7#6S>GyGH{98y+Z-j(<25a<==4b~4GzYMU3`CQBpF-_=dukX!puZE(cNqITB3Z5hNKvjVrbx=IKcvYd zhWHq&`EhuXs6FH?!i^jTM+3c2+Vol~!W_4vN~>!raLu^Fb#!Uo%qi<_J^Ni+`JQ!_ z)d9E_n_OaMKpe$w8g$a(l5!uYMb@?o(3#o$<7iUbE{nOyG#KtD&#|Z;YFbD!-I++a zZPB+Yf&&Qnffl_~tVlq)%&|1(scd~08f3zCTBITcM3H4mtX=dKHDb!^AqbH$-5PrG zlj`TCz35zztvL@lJGc-M3Pq_{a_Haja{pYMcZutfp$>Uo4-8$+w{m z-KvD2I}BSqZ})btA=~f&K<{I^wzsQV z^TgrMrVmYBxsGFe#(Uql0Z&n=YlwZVT?z`rl`?lQld%TESlFWKC`+26pu})^7`P_C`+Lu;wc& zKMXkx);$77=gJDJS(ZNGIbn0Ec%s9I)FugGho74XU7D$R2p&n7jym)Q7z)q_AvfwSEI)x?L1ID{=tcTl+NO z`@5iLTyug#C@qv38Dp|bRijjVN>%hGd%U2|jY+ZOd(V#$1L4!_z640s{(c6W&5L8))}?1GS!ZgiU+&9O!lCnU}bduQ<}6%S4{ zdjGL_ny0P{&eA<|Yl4IZmPdW#n~rhJ@O7Ll*WU{#XF829;qJaZf8WH)T_}V zs>d=|ua~1kKHS9w&U={B!kDY-Wd5R^T5ZV zuL87dQAAK?QFu-|E>fS*k;H zMha{F2;4{ITvh7@T{W6l!0ArsI5CtocQl6IrO6n1tXos+N;)`zXeHoF1oXCXm1qOOSUz@xAn(SR#u} zvYA%$44%Y^O- z``dTh8w#)5dO?Qn5*rr5t2A%R{SO6ln)VAexPqeCAbHvs~{y5GSf^rD1R)Csq*-YK_6FO%LdB~hw%Z<~5s}gS62HlnuwuZ-Peun4Qo zY-}k}bV;;$oAmN!SZTyH@)8n-O;6fMh`>Ym0~j)j5A5#)Tp-{FWy^nF(L?p22U0E3 z7iFop*~{CAHrXH=L?oPCcIkfBhk?sDBXX11E(v{->C;xI&uWUx)8Ox@5hME9{;WHK zp2PMuz@jcTI854kd^gQr2?$9639`%@ALT5sa<|X!<6Zk!(bIXraGqh`(tQ<<0jlV6 zCgdQ%O=QQ=8}@H6-OKt~(Zjp=wW6m2ExY{cYPT0U&=H6on~j$IJO#P?e1Vzl(zcHJ zy2C5ETf}ikfTwP&aB!(WR5gZoZ;qTiPkT)rVWXbX!-Fb7LnYtq(F2tY((msTXukbN zf&t)fpa9FSPyp~ZK!IQLB7Z|h`tK1*0@;NApauZ&Yk`s3*Ihts*S9pzZ`Lm0*J%9* z1gZa`YZvfGC4hk6RtU?g$-X5ohfkZOnG;BldZjUX_em6`@si)u$9HQ+LRv&7Mnv1P z16=W?Fr*R$a0Mg)T&b10y3FgwyWc0BwyS(4?*3);scGMMo4Dx6(P1tDNXZv4t1N)W zKc_s70s#1;d({v?-SUK71>fDU>a?g&@W&)0SJE#DgB=%HTbwCgxr#ViVV>ra3^~?Z z-M>NAjW!y=_PnLtpYR#zh2fs&f{LS1#7k-`FVKDD(A!Gw zx)hyfV4{5#GN`R-@z_h?7^-sOn#%6vg8ryv;Ubl!R$Uo+#n`Wsx%S2CoR4}znprAG zbHsvc%p1G&dDFS)ZExgeFc@;ZGWa8jDip_QTVWV?vfm)v#(89ttb`(%y)jI<*~lpK zRKd5utNfJa zLUC-cjUFa=Fu*ofQYQFOUq#^rGBp}1wLR*Zr0eloeO#1eL)1lMg%pmOCY5YfkMS5S z4r8GAfy1$CfZ(hG67X(Q6&k6uJ=sAo1VQb?Cy}+-9oVvUBNMUNcXeHJR1^|-IJuj` z>C?gJ*@V*SQ1>B@pIc@gwR46wYGAb#(?mk9E_Xp`BRynfe-68f zR=}rb!#)I+a%&k`-uy9)!N>BowURcVL9P1!z2(;X_M9OpSUOuH5+V`$)0r3B&!huC z1x(J;8-})|Ulb$ejUOobf}H5h1!CN+q575rW+?#uG*V;sElo{ z98r52kkO`Flbz9zh@Y99+BfI6>l>s9PUexaX%kyoJUq|tH!=I(==Sj z?X6hsno1#H{UAoa*%vf(w){wtn_}A}TGyW8_+OA;l>PBtuy@GiXmv7f9hYfzY1bL-rCL6Mjq&V`pq8jfjV%JkFRq0wAw z2vU;{FH`J?5_W$y5+SO(+dvgFP60^r=9_#1jUq$I8Z*I1mukBXptR60JiI+oDB!0gR1A#v%s{>iOelN6^RgsJ#V}@}8h;_||u6Lw72Epg- z+0p7z$C;ICiu6{PJ$p$1wGCBdG9CmAUu<%$(pGp3KfF%-%5>CKM;L-r&&#A_G*nvA zg5~xiZ><@`3W)Lu=xhX7C*%(u+hg;wPq#T8_;l~)vfigFIYGfS_V@dk`)&@zo=rP_ zyx{76j3cvyrVSOQuV|J_bL@<-G>^!ajeqPlJbp0!F*~@Ll*~*FJB*%$Cm@PB)swgNPm(nwln?q#xvTmwyxm{ zoNN$t&09UzJW@nNj!<05exb`H-gR)wVu-m~CZbDcuPk>AO9fZnZe1y&Mzxn?ZJ^#4 zW?62{=~Hp-`}Z)HMj0#fM(`}Nvz zxcek5%gf@k3uSaJ5Fod7L~B|?I%`8rcdOB|PahN4DI6a)q>bLWc_6W;99auCu9yj` z`pILwLy)(*j}AkmK%Dvh{{fdlLNPA=v8Q@ zTOWgwy@VimCW#boMX(js#(2!|?6aVdpK14V|AP_2o3Kw$p*|@0j#o?9__Jzu`cRB2 zuzzkIexcHsE(@96X+d0hX8ieCH-0 zYi86hJwq}GX@{S68KKw%-yG#1onPs4A{it#V`7)%q|679X2{R!7q?(S%U`+8#LSjJ zNqo@)%sHCWXS11%JpB{`#n*xRaa4)RTw;F!GW5doumvi~K@UM6R)K~a2Ui=#!!Ok7 zEf9b}VP}ln?9fWT7h7_EBXgLA0kqK@y%Y|GZ^#VH1%6n)W17}P3~(2dYggWJW~zz7 zAz@Tu^WY^bJ@N5rQY1}rmcxzr`GVaZ?j2316;c}W^9FFagrHM~)0^#f zK^X>jIJ&42)GS@dKl&DMFE56cLj6nCf)b;XpPS&Y;8 zgcpKlfq=EEl=(y%MPrXsI8{Yj9eGSHe*YHGQfO;gzQX0^$IFiB6b3~DW=~RUtUDW3 z^{ACr7NAd5tfJxfqQnOVG~cq zT0y{@q~bky9R5>X8YC4cnJwJsK2M+MsPz`xAE+$~EW==?W#Hzwu2&DpQU|%Juzwy3 zGO@?)UhHGp`$ES~Da70BW0E6c()_uU@O3}R6JYTaG3pK+wJS*io6%*1A^)YT&iGMt zoLNkuBcshLIQyOX&|$3z9{1#-6X0TlLN}M>rkqj?q@R2PVO(reb7v0ll7IycF@Kjf zFYq&VGe){(VEuxrwzb%tnSMS-uluN5#z#DDj0LqaoP6{4~LKh0OUCc7g58cr`T5gBwr?@9P>gimI4U1fDy)$C)W>g>IgP<~oO(`8R3y-IrtZYuKqG2#gVfH0Z%Ym+s5nA5$VOrhWv6f}|YrI5Eu%eR- zq+Ghu?~e=p%v676bt>f(?p83$hQkJ>&Bp#BU$l_f$?rBfe0@c*c;V_w+X{ZqougxdLHad0SduX6889qu(`~p{9l1*0vi zO94^xA)?wbH1&$_Y1RNvLycqD&=*+z%Y9iqzk=);&S>|kKQiJlAve3^o)n=k&~qSh)vwON;ywoRqJ}?|Cvf|^(~nc zNg;^?maHb7|0Gk@qiXN~eornKGW{ksmsUE$mvH)?VMm4h9J3%ZHhyWhumg01J33B1 zjwegBYujk-L1lyD*ZB1JAvOY#%tMt$S1;{?xE$`0M+CREy!an@A0Uzt3I1B881TE0 z`Onr778bVeA+3(Wdyp?MDhOm;BoX)$=sBSI8d7En6RQlv^iM2cP0^CRhj{?uH>J-8 zIHoTG(ltL8>qd{Z^D9+7283m3caoP4JVE4eHQd5Zt8*2v{V*@m%RRkoJ-|Wx7y<*_ z`_-rQ#56XJ=6a@;=;O z?z_ILg(pJKj=!veXn5(bG(24L^T%+XTw)Oi?mp~?7}P9NFxxjsp(eI^+FhC}#v99X zyU4;(&t6RnaUQ^B5{Hmts}}1a64|i-6>RZccJm*BEm(eItHlZ`ZTe~g48j;ctjPH` zw4fO1Z=m6SJUIXN+4CpN_}d}Ee;23!yZ)Y)ndJ{sOyA(dSHSUg7ZBk1y*vW=-30Py zGwr`>is=XC5kKnye%1l}tONL22k^5F;Ab7cFGl2labXAkPZdAkLyfev313vmd@#c6 zEDJt?gqeygT{um?tHV&0SRs@qrY6ANkV8IWiV)a+MlL`@A9fuuVn2YK-N%f|ozV`X z&NkJUYGtUs9jdwI8(ToiLi*?mCc=Qh_4U$xAJJu4n@J?+7;IB2i+k^I%mllf1QZtq z`AY&^bw;+91vnq}c|rF)^g*|J>eId}ZH&(1)wN1|9Nv)uuAu}m z02?g-d-?yj!Tkv~{(WH4e|IH6Vbf38^zRDu{x4kD9}EA#0oAWi_UkSnDEoW0B#4dr zk39SThftRF2i20GF2mn*o?qQZ$w^@sXF-O^SSNv}&B4LCDxg+=KF^&;pB+ny49O^c zbxan*&BmA@e6ot7o6NLG*jkx3zB-xRpqkW{t9#$5umfQB&@>^!q5v5mptu(geG`t#9t6vpbdzn%f5hmH_NK+v?$io591N0?_Ogr_{Q^D7!q4W1WH|KEdueAB_H+W*~2gKC$h&HXBz+aBla;`Ha zyvzemp|rDR`bj&P+b6gZc~^7fBH;*Pn}u6AfFB;hHc(3oJewFQiquf4u*%EzYQ%CF zl$)(<>3>8U!L-=^5da-SC^Ll+trGTOr9=qxPl@qqjj?*c`Ptbcr4<2XQ<%`;je?Oh&nQuN z7kqq?&NBKryQfK_PE)7jo7GpO_aYPZlvNA%E9E^o7I?Q*^Cw=-gRh$qp!r5&nV7ir zCF8f4(HAQv9+BHzBO5~3%xMMOHuR6YC)>Rn1K=)HihJ8rI@lmKJJrs0FW=s`+=G2C z>R|qT^bBPEL7m>8*A^f=g~6E9hUY88KfMNvC^rreWs7j^Uq*4y_9G;FIpO}9*S?q` z!~^<1!*@E#;AkCv#6S`|yKfu=gfv`J*;Sg-WsE`92fABfu{oqn-;jpai23WKY6RW` zyjRl5v4v}!#EqEo9!CckYzt^t5(+y!xTNL~?Kzm-h=rO=rD$I}|$2KVko?P*g1YvGYg8O z-;&Y7rZ>T}>A$`;;648&inMd^Y5~mRVqY;Mu986DYt<1;Qa1QDB*PJL1eXEg6&?j6 z$R#{UW_<1un%>Y5CX?o8tRXsYHMMuT@P~pm5huoxI4O7#4Sa#-NO(zTpk~tURTUvk zE8JAo!Xz?MJW<`1yqqm$0751#3hEacm~Jdj6V%`&KAM8Zjzt0_lWK|_c+bM|8dqNk*9LsSw>~z@Dx)Fo93|mBYRaAvt&ujLxhx{XrGS6~bI9*-u@Q$8xgM0$ zg@wg=ZW2=5Hzwx_F;CG z+NhsAb8p6ph)~-@IB18IjhI_&^onoNBr4$(R(q4(<6&%bwG`F8+JxoRQGSG{z5kSz zmX-f?Yj_P%`pTRB2C)L2^I39{?bVWkDs4$W|Ck0%Ne{mQw~xyOf{j^bwqkN%*QlK~ zz88LiU(CltG|vER96{cT40lS8z<4P;XH_t=BUSq+C4p60s>=HeWqPXsLtXk$D!|7q zGVfjLKSjKI>O=40)li^OT?Ta7f=cIQ=GEGny$N$R;!AGpGfQ#|PoEji*HTBzuohc;ZCn50< zeZ*&5-W0!&%YdvuDDVVvx8H-*zclRrwc{PkQV(Q^bbFwSkuHDxoA{xs{$6|JFE<8^ zPE~%8@@^p89ENFCkT7Ri86?a>1POCE=?0#hakv@wVSHB~JN;klW1H&7)-sOkK*F5I z2A5H8qxHImx4m%G!d(m41ju3UQ-fasNRMc^sRH9Xbx}}?A8<1*ML1MFZk>(%x;P() z4vYoK0A&$!cC`Z5@Auh6`R5p8lRl5o2c5p(sCB6ORhc9CUzIt;&}%m2zrR%+-?0(@ zfDo1i_#0);Uo4wJZTEgyne%OIe}=ICj=}K%=9+#6(mw;~KMFE`zW#sf*#NK$iTwen z__bur?CUNdQ1LYc|1Y582Q|I_s-WTrg>q~FmhU4USrrhd0MYaA@C+bOvC4C2n1eHY zxh%I**r-mClqK{ef?59&=^1Lky0^qtmuctN5&_?^Do!&_o{t@4CyKWJ3k1W@9gvx7 z^AycEQ!wM+#tooyTFe-Npw(&gQx<>`sy~5?i79-MkccmJv({A+htg5JH@MJV%s?2k zAUfoAKB|XmlsJK}4t#}DUy&dr$H>Msf$MVrvGE03qVN6OOKOF2`VFO|;2}gh5AhdM zm5u^iZpkQqBS31I6&{AyBQJYgsBHV1D?hxmBR|QDO-C~YYy(~OdTBg0F^ zB$uekhG3f{XP-WE=No@@Wp14vvMu|@WH>_kaI`oKw-&+e=dz}?ELcuuUU2IdJ|d6M zn^QEb@SgCe8urz>SHKEEQeg=i9bWuD_P#oNByi2NkI+?1jNzZRyP4#;f{s!2h|&d`%ttj3u%LO8VQ~d0U;? zu9D3`#n*$?bE#ZDIA3gRWbws#y=laA?AYMG29ts})N-r8TNxrH98o*bkrOXS_nBDm zVM7bj$-OZzX{(bh4Sk2A?Z>wcdB-i_VKcnlyavy;mf|A*MZt~j$=nEW+wic; zLxvZB)5o6SsHz|wCg!_W!&!-TI{?yP8m5;Gb4=c1 zm)CwTPcU5@fkV+oqR9*`;lffBEcZ?(p) z3;R6$^`!GXtKsuyFDNU$h_!2-sSo(h%U~kUj}g+^*)PN@N24hR7Urt_Cd|F#nDzDg z0pL%4oHrp%9F)Ik^0xR`Ts#D02KRt}kkNo?JDZq@Z@g-tcvp~EJqGzMe`K4^20>_d z>A=T(0i6mPP-liH@qQKYB?(*u=L?WF5>)dFsv7hBuGeKlZ3}(9=3Vk?y8CP~6CDXBaNqi}LR9v0=&tuJ)0^333uAHp#z70g$J$ z%NmvlI@onDr3x%?fxpvl%y!gaaFM1g|P&rC0Z;*$WrvdX5v1;=HnWcR4_-4jjqa+!u0SHEX?9 zbM9{9vaaLCg4F1Ro_kTZ7BQ*puwpdo*_D@SGKU!@W|ctU+7Ft`D0z0~V|7es1nJC| zMC?9}GbAr{d%xRV5s`+(GiV;;VAG~V`6<10`UAK|Y!is)>@-hQnW;p0rn*t%#@Waz zXs373XvJPUT$B#e!FZ{o$l%j16kD%oTQS-+ALujcGH49s)LP04SE*7PLl_bW(;}0c z`mgUGDXk-}X1COb-a+U9&dTS#M2;%zV^dcisQ9eRUNS4?y`z%Fc?+jwts&=~TbTk^ zvA!}kcD{Pf*X^37|632=cYMb0QPYe}%-;u($9|T7G|i6|)FA=xvdCi*e*XAWH z%#1eKL+`w+Ypvcu!N8{@=OW9v9?pxR;dkt162&9~T~*2jP!X8bLmb0<_ua%A57ga} zfJZctPA;A9@=FSzN+f6-%%9jX*klujUFuP&WuDks-VlfRTzm~R*$9J}X2HP`V6Gf| zUz{dq^r4ukd!qNy$?}G;cWxVIC~B!clvxn=Ae zNcQ}j1Q4)E_vf?c-?o?fivar9bI-?&6Bw-i-}?G1jsE{DRr)ie#*D120)JA^gg?Xb z{8`R{kyZGg_(!n(&A#09+m&Pn(sjVB8mNJLdNeu_jL?p{VweP9!}z5 z`oYRdTLoxk#R1*YM}6ft*&VZ@Xl>|Rbo1a0M}o%VC|T$C)Q%ekI5JoOTGXt)1_Jp6 z3jftpQR#qHa@>aNS{Y4H;LzN!)}lCjPSKlZ_d)aU#`Z$N1$!swB>Q$V%t^e%!_ZxY zT?Svfb<%NYKFa322&g2-@Esq<3X$Yz_qC!oE{7#TDgg+WR~+z&aT7#VZPu2;#t|@=_fC zWEdXFoBO;;FYK~_ejsk+tMYN#3SG3yS5mB)sso@}@@Ck0(2+6_H*ciC8U z6P-g9_);;2Ov^2rQ@wyDnb)%Z+%8t(ZpbS+|M?g)JYqX-^s~&#Y#a(rmwi{weW$?p zpPeM4nXzoNE^1W?M)cX~ue_PjNk+1)adx7)eapS??(<9{$38oJ*dAm3aAuSFewO#E z50a`$xPk7lXJI8zKn}R$&z`(D&>T`6Bva_iTFOE zM?@7cO*K2nKs+@e$V5;y@-xBMw_z~7KVc>hRfHdld}%tiHg49rocKQTI8>D`Z!jeJ z_PTZQ!zY|3XrpWW-SP8w2o$dKN$OKJ+kMOk>-CWU8P4HEoE^ey7&1;vb0;L>6BT}N z5>J9eW65CLoDTxYG?~u+Y8zf_H90$kW#N&{^c;q-k=SBCT-#Xir4u`zNJkLctj==I zY?4+ojy1cNq>}a+STIVqKqn?TLatj?ZCHM)Jtik|&hcn(8p&cLwuN1=griB=zFUkc z@8P6BtjB*_6`PyIi2GoUnZOj?^@7a)a&Zg&RSOFGY`%a=p(J zNJATvU#}JWcT4pLe&zW2ROs8a{c{tEf1&aJ8jZ6u3;z=Z(KnRw zh(jI^Az=O%wSO%3v;KQ4h=4;3ehNl0v;R=9kx`VYStIzR*f06jAyZnWRm9=p5Ut3) z*7BvOnFg+5`;(0ELaZR{VL!fkC(h3U2)5_Qz`1dz?TT~w^C^5X<8M5nTV&GSG#eHm z>6(~e6D-TUq%$!IvT^*BEzHlx`tH?mlKD7`9Z-2|$ym#;8ZITEL>FAaPA7vh_7qbB z_dFA+sR~nKQ`4W8QM5f$2->u-lDBQQBHV7W{8`< zNl8PDFp?BIY8vZGr(Bzd(?Sct@WN2aJYgohT^o>L1K>EZ%H&vI(TK-?NIJpSg5iq} zO2%95Rkz#dM@wFPL3(kw4gVg^tRTgR!{6ycKC2La56<@s#nsr|0!>e_UIM$5Di{U$dd53%7MZVXT8$`d}otatxyONk+ zYI{IQ%%dS@@>_CLiWNw&-N2^XM_KpZ4KZE1Fg)V)^01kS>1ITJ%d6%P`#-#D@|$-5 zvsVpw^LJh~NjLrPbPVr$v4N79CIsA=sG%RdYP26M*OpGGG&6$4-lHbyK;32>; z`fJV{c(eXg9Qu=T=Bz)-nKLl3{YaVv^LZfYxV-a7IvRwWPshe+ygPb-_yqnf8yS;; zbZn^IC=9B&J~&Jsbx_;9fwh(O6Y?S!t}p|6cEN`Cbzr;5-`Bw{ zA4~}9z$Q+LJ%wXh)p6s5Q=~E$#M)2783}r$?>7Ljg3V6h2jxSw2q*H3s?;-y;FN!{ z#FR1yOK=yAUZEu2M10IG{$+}CL^dhBJV)Zn6Ri}d`@}~{QW)~WS$NjG)|(j1z`gdx ze76f$SH=Qc;Bq>`RD#=UwzB)CjQ)_9))TKQktf~L&{s2zmA*)V9QVb?whp#P+)y`@ z3n{-SOUk;@s(!IYbWAaKppV*6Q}gBNXO%gQ=7AadZEKR!m&+j4hbJo4l7lMRBUI*B zS{t5`;wL_NoVTQq7*Rv}#I(7qg?7z|LuZXE4Pk_;)1M~g`Qu&kV8D#u?t+KIBj?T3 z39nEh3UkH{4gl;7$dka45s32zoK5tC1Ss$h+5_LN(G{3-g<&`Ablqnh`xgq>^o3I= zy$B?deQ<143=|xcFg;2@%5ddeSjphq>$gx!s~GI&iGYUm*o;M_fa0_vv&#>3b^>ou z>m1wc(A{5q<}Jo>PSN`*jmDr9vl-Un(Decov{`PqhAOxrb$6CX$Q93!aB(cRzR9b- zBe=MoB5y`6#4w5r7vJeuwxx5&8A#)hU?GD@|y$z^T1 z&!L!=?uBPHMl+;Hl32o0eEVn3Tu3QqcN*DOz~7yXvb?aW((W4Ta$!4qu8tblSkP-x zN&gJ=<;pt+F!ILa_-X4kwHe8I^;0Sj95aFF<}Be$NA#P6y?i-MrxQBB&7SmS18fr~ z!+eJ)7y{iaVke&BE-6j%Inj+EL8x1^P_X;}FEzZv1|8jkNDc>2|6_qGUubUdY6 zew>bMP(`74sVQvs2Y*c|S-L?9+zgDnd*CBY=wH!9aTPoU!aI0Yns!I}LwJvZ{Y~ zcBPw@cYems;DGZ;WGf=1Y&#G6)-&%TS^%7!Dpq|bNU)y;&C9#b7GiOb@1B}z?@kT+ zwV{6zEm?F}&UR*_)1$9xquKuOQM|DN#5nAhrWjt>a>V7T$#p8nUkKj$;rjR*-#=4= z{nucIne`_H6&!3oE(~y^++50whBCWZrNoQNJ6cdFFLmBR^r8aHb$v zPGT1-SD(u!JzFk=mDKmP(fN-1eQYfzf3PS;2Q-`;U&qbhFd9~-R||y6mR4AkG5)A> ztW@LqiQ2P)CXp0gYt`ovdv;Q_;akO`(?OUn7S{9+?r^Rg)!x1F zC?R4l{94vwjb|hrE22pL=hgytxlaC+iR=dmr5Bt#nMIem^DHrObP5t&`2K^0vO@jq7*{fG&X4h0dqrszD_X`vd`h;|luVr3Ld+tg+G~H8xRvxpygz zr<&I5Fkr>)B;hER2BaWqE-Ybf_XKh?ewJ76tjxq?6fgjLO+2lAJ9~peioSd_5u`~` z`M30BNPQ*dAlYv2el@LogxQ=+(W6gtVFEGWi|&qziizVd-#CgCB{^NX^v=(T$eBi7 zsbKWDXn7A)0>HV}69;wYh5&gkB#|KOgfi)f{e+g6Rd%w6Gos=>LX68=fm%ZRo`Q;3 zRa+P(uNoVD4qaT|O{!s$51iVp4D7VjVKxv{7M}_dI>Bs2iaYWRwmn()c^qfdO30HO3j>zeanH_h|AI2< zjZJ|k#EV>XPBvQ8pPW}?^&q-?Xg-xPbMq_styqh-M1Jz}+`k}HfM_pL?LJ{jQW>@@ zCR!jqqw>^0J%i-` zc7>l-di=_{^dCx(7Ya>sfRMPVI3axI<;StYEX?1=3b%DP|3m39=kf_9B6e3s7DlX( zb#i0Q3>qpOS4jPhGug8Ik;yEG@KpW%Tat9H=RD%!6ujmRQW4LdTO2?E$0Nih=WN0t z&K2+l?9L(in326u^HVT02cKx!KPfO3d}&-bib9_9cB+2w0ZUhtpp22u)+VZ<4&0i; zA`{w3o+2?N64c<lo~Ue!XVw-xXW_fV7Z-^~X*LmcNY>WBC^foPTLOfX=V~8!C;z zlGy*9B=-MCV*GpmCMz?5wb{wS=bict$WUL}J2M#g7Y`dAXL%i5Z5eI4Hq1sxl}gHFi>3mTNH6IZ zJ;~FikS@|~&ZSOKaST47I!z$0UW62{ly@6(HLr)I9!6AZ)K`;j+(4Ozd@MLtC9!&4 zd%5Tpqs5%q3gx~bAKj)qtPvQ`JpK6v(tRg`rdbibY@iwgrOR@#w%L5fgPGwSe-3BQ1M%OaUeM-tLFk*`Ujdl|K~3@1*kKl>E3 zIWaGh>-U^Aij%jf2Ur_U0b-hrNkD|^g!*nzg}&s2()-fUX0mjIt+$Go za~6!>rfZRtRa-#Fm>e2+*I4+?al~G_ClaNgoRh~h*1ld3&n=w1v>fWf96x^&=jU_M z)+Z_-?C4K*KA#YAWl!%mwRU@PPECq?MBgi8;$P)g7htt*tRZGvr1M3;iujF}kWWPw zBBjzMUBZ*;k`DsdH6}tOA(!Z;1D*|pO$){h2Wd~f4oRf?>SJe-qCTlQm*6GfmIddx z<xBM@7 zQayr4;20V%-WeUe=IPBUS7A--;FaP?9U>Nb>j@R_@o(s51wb z8P~Q4|D{*9oo0C)^>g)8XL__$6m}9mv@f4~XI*t@sjW4)5LF5KCOs{;-OdbI(j}wL zRV}s*X0z#W7>+Zo$V*sCR(xvaCaO8F=Z@53c0a0a^p|2&sy4={6XOk1aha14vyoI* z#e}^gtD*Z$tTePlqC!>0ia(GjMO384MefLQ-MjJO>9tW)XkFi#zwV*VkR(i6szA#c zG4tAhsDW;Rdk3^ZCIGfgon$d+I4BQ)6;+DnVBBbaG8AI_0QH(1x3@)^W#h=sVJ%{3 zB<#T$>h6R5h9d4OerNQCyy4glDefnZcnGYgwAl_smdz!8eenK0@Gsvrs3Dxo`nTf- zTICox14e?_`C?&l-@R=%?)pghI;riBuAHoyhns(Bk4kP?Ug(+r!^d~xV|<(l`4s$o zHDDx&d?`BOQMU1SqN=G+ z?vi2Em`=L=pl>&Yud*sUG@Gx|h-151TGnIk+t27pxUpn>b#}>yyzmq9%S9GHDtyuj zd23U`YsDw{ML=I_<(+pgyZKB&xzEW(m~!R!S%o&gGa&8j`%Ei$$bZ@GMO&>Fl@50LgGFF&)H0uo8);S9Msv zP2(PFJU!QQ6emZupSe%dKKnhKGuBb+!(8*TJvsLt&c!#@AiL&H*Q2QD5iZwRFm*4& zF}j@+bc)Bq?v~9ZBuT4ZKg-joJpBNx z=J@Grf=#nmStTwUMLr5@WEdHld2;^v)y?#{ldD9M>4n%8I@*^oUAgP9)+(|!Ff$n{ zSt{d-SxWk$Eh+xuzP?3rEo$dy214hfZfVI#h3O|lpXW(IPE#5)j)Qc!9mQvQa-p|A z%7dpuFWhcjr=$^(VDR*I8ES#xBgl~yF$`ZaT%TZ}`lOkH4(Es-HsrI)z{c_BsDlq5M~U>EFvqKHP%LrG=@+cYOO7W|e=7C+2Pr;sJ`^o~nm0%DqU*KcUSw^k0 z6C0bQCa&2TwRp0ejtoP$489m7G|p<6YMt_ps-z{#ptkW{o?o*I?=@g#CPbAX7Wmw1 zB!0ANqY9Vno!Z^KMJ1qh`$eJgwysFBrVy{WASluD&f*R3WzZO64^m{wG$Pnj8|+^% z75jH|#tz0dhQ^Krn!g9A|N7nke&WQ!#K8R9X#X2{e}wmshY&D-1H=Cb z-haoP|DH1TPs#+ceOKf8z0+sm_yOH3D@n!lutP5a(S7^NH&@r(JUFc)H(wW#T{7ls z!=VeZ;ey?x1Onlv6QTuZF4?}=Wc3nq&Dlx~Sg$NH zLoRcz#WsTRma`WrcNkO;d%lt@@O=HK5H&XlY;qg7eL4(0%xH*66~uQK@5G$J&JPCn z!IJEwgR3s3J?Rr#a_8!IQ9c?0^iK@7HX^ChQ8p(z3KcMCHWS^I(Y(M&SFr|?(kV$x zGTk}yQEbVb*VVF5*}0l&Ew&S*lyhxvvq>mJm0M}FhTW)~HX$7I``z^df&=8bP1Fgp z5W{vntrGNXA>k*J@I%X(Aa2i5HyO`3D6N)1IATI=ah}?b%mj2x>_HEr57`^6da!O? zdATYNXzf=Lyfu}lJ@3(qciI+JO{ZcFo=#HOD=g0PIw}m&sF)^*cC@U|q1Hi4Dx_>e zW{~iArJ5Ismk=p3L^ByVe?{xcWqJ0N8IVwxBXY?jjjzFiMI3qeHGy^@TZ8%2GokUYVS#rBf^Gyeedaj z8kepGD%}*KE3$X`#K9igCrxpg&07nn)VNeFO)@+Vgs-2s3%wWKAM$0=JyZB~Kx78m z$^ImEVE?V=yk7)7qc)lz4E{ZYYeM+bKa_0e;eiuv174bpN4-;eO_b&TzEF?F1dFFJ zNJ=e11k3KMdlb`dWgBnC#uODhrDSR`-d=?nk_`OGL;C;VR?3)zzU+K#Gc5VONvBO_Q&p#%1GqN+X{FC_ncXx}&LxA!5*Gir5hdlpYfcvw? z=bu&TFfnp`zX@8aNX1xkK)+s9t^yI;j-5+TDTQ>u&3fD3TTJc@Po?$j89Q$KqeH+a zfFN$NY#7AD8Y*a4^!ivJ86W_i7ZI`pT8kf57nYc;4QOi-MuEu0uvSCtfEj5V!&;XAWqUr z4MK)2E5~5Yg0Z`FU>OyiDoCJRIH5Fj2#V0NyZF_eCt-q2d<=E0?T=seVRM*kIAcB= zpN!bJkF&>F@qq01IkSsdFe1>Rhxn|N^~@Qppbf4oR^(+XrC%F=u^|7dmR?nYAsDmG z9PJU$v&~CgyMyfvoYX`ji0si9t(i{Gvhz4%>iQ=?No30BMBIjP5O^58KkZQ`5ngQu zVJC;<gVZ!Jm+D4I+i8MONnEsc3Sw?FZFh*?YQl0J; z86RiS&}intjZ_(;SDlMdJ3Fw_>>VcrJsL7sE+agsD=`Q?buo8$Mg943Q@?NZsiMKQ zhu_V)umZ7N=MKz4SSZ)Z3rYAqCj6bi8tckK59uSr0-vSRaYMKHH%FkdD|?c|U*y)T z3brXNc8HsO1xj11Gz-UIj{9~-F$Svl%rHUJtzW-QwncnRA7j6OErigqsUL@X3aU7) z!LdS;rktb4>gD=XN;-H<^->X)9Be%81Ors#q@bV4!e>`^L*>ey1Wpw4WT)D_d(5!5 z8XHZb&rbk1oBCNt%?51;Kf0Xeh_djZgM9h8;>%ZJLU}_v)z1;!niNQkt0n0v3(f(G zMVghv&SpO1g^*SkR_=UWihHm$UM0G@rXW)##SQp)^H$^w>5$xeNLRzyP=jiYnWne> zr}aD#Z;7Bhn_UVjM$+@^vB5hhWAQU)z12uUsgCDjcbg2Si!|fza4Jfv1>&oPod<2R z2wN2y+F&%{*h(czGW-Hb@tt)TBp4_~B9jw2S=vmdnqLn0460siU2aOHFSk@1f$C0t zGVxE$7+!2ewX*#Z6=&Hj@5?8H+?8BXE53jOi{}2a58Utvy$a|KqEbpBEb6Ff+Gzg$ zswA10$PnF zIKW#wSS(&t(GgiQE+RDgdgH&-Q|ZLh3qG+MGzI&DZRNgB8SK)hGKkYniLnWXo1oif zHMD4OMREzI-}#Icxu;k~@N0crX@ZllRzCdzPkU~-Dt>tmPpCuE5lz2qmf_b1?Y*~m zOZghfs=Sh(!u>X`L+wN(n-z@bw~XSTpBOW5=gQEEO0RdWFRu}+2Z|Mc3w{2ijOh1W z!6^+NUBN+lo&N3$F8WVg!M|0me!>-;Jm#A#c;q)%@W;v(vJ2ZUuHalR#IbQ^->%u| zY3ay#F`zv%=3|3c;JTZ8T|7*^QW(a^!% z&dJt+;Lq*}@fY6wpTnChq9UyS1XKQ<;e9*=h$+AIcJl)NJZ=(?E!@oCyWsyDV#@Cw zP=D|ASpomK=2No>fLpvpYw_dW$l{jed`))-6o1FXe`1XUCq`z5?(Eil)hPX7lVli4#HG_b6Gk;B9cL*CL`eYQSm^5p+ zfQsJ~WnwwuN=<_ybYFqZYv|mO%xU9Cs*q&z&w#O5rhz9y8D4h`CVjWOOiCb(Lj=xa zT7)z+Bcur;bQMpu7O$yGaus!Rt;Gv}SDq#oJuqphhush`nrul~9`AqHU*GR7`Z@Eo z94T_M?G=LdCBinkQs|kPoQx?Uz%05?Nm4J)W~!a~XpwQpENaML&aj&RqB3dX%&!5; zJM&JZJQUhZg`C>9kZ%ss-wQ1vOBwQ}9Dr4tVHeA-7W0vS6C@4>4>O!@o9zI_UBT$w zT>>X!9&AV6@;oi(!faX^i@UUOn@_QK5*DZOYg#=|>9POYw?!plyhO7+=P$p~>6jjx zFm!{NvE)BN2G{H&11X$+nA+Lshea2&=a$7k3cZ}$F*s!2f`N^shd#@+r%h+`AEiko zhmY!ep0mj-3u1*{v&xG_VLFv>{)W(gpQ~ zqYmJxak$pMIU4KpV0VdQp1fI3o%^QOqxq)S^O=8&_lck*VMXXTykS45-*gS1QY{)A zQkHHVH`xf;1DB_I69(A6B~-sSAl$3zJn;`ld($&^@kW({Xqft zBLCgdI21UP!wIGPdZ|VEm+));{ZNkczYXPpbotFbySiUd*uyXvZ`13Cq z8h^XA|L(<~pCOF?3fTX10sD_2%9sTHX`$(F%2LzELkO6^h0q^~pzqxPes90}lNOr3 z?*aY2(`RC0`M%C1qX2YxA%tr_hxPV@Yk74!-7Sn)^Wgiss<`a=3&FP^AE_G-eJBz@q~scAoCGbU~YO=y?(TYnKAEKMP87X(tY3F ztdABptP7BGLzKV9CtJ69MSqpr5{i=5=o4}joTjZK#Lxw5;h}uqNbh2buUcqS!tRR<{+K!0dd0+0Vy2k z#SN-lqRhfnrxB+OEQ&kq7ZUe*fV8?Pfb8L@BNMOcRETOq$iy3Dl@>MLw7R!1m7vD+ zK5gvA`(hI-iR3naBNwfIw2!!x@8jjY?k3OI7+(gdSexI9fI;czh>==g=t8CB9C_LXY zNg^+ocKml>K9ExFXhFx&$)Z`Ji6`bePv0J!g0EM6#Y2Xj@^-ufI^3pKxMzpz08MzN zND-YP7%`W+yjn?ove%nPm>>#J@rpK7X9Qc(jtB`4?NZw|6p%Djd7+%BsyU^lLOtai z1h`ptm8gBMV8nEdVVA(HT^C6}>PBzj0+#`z5Efq#@#@pjyg=*8=5UhiS`{ep#bYor zY7rWIV1}1+ak_ZeFCv6$DR3ym7P!iWa*>j;=WmJ{ko!!BwF^CDxYTJRhpz+vRdRC;u{HYZwKAdia~>6!;^1u15R3FZ;7f1lmr$lN-Gs&=1_@X~DeOM? z$?|*GYkSPj=s|YxzZi@Qs@rGuWL$DA>Ja{NRP8C6%CfoQW@N=c5!rdI(0>6PR+Ds~ z4-*?ffsinw5$)CeD&XMFo=@Jz98!L$N{Y5`!R_UWCCt}n4`8$EXTQ}E|GmWI_nvW} z`1Si|Tv<^9h4`0eJi8gNvYJp_j2r);TR0qV8yYoGi#@Dh8xQl+4TbQM4n3#?d|H@o|g?9XQNwjjWOXvp+X+R zJoj}`UMOuQq9G&3&vo^A(R;D3v^sNnp1F3Ain_5?6sn!nXN$gBc*v>0w;FaaN_M$| z2|wT&_0vt=(%trx;;i1t><4Bwh5JM%dX9cN_|;xuwX+T6kU^-988i zP-r-iZB(6f#0dMc1UT*@w z^CTnid{tGp)AA<0HSUv>E2iG4;yzg78j}dS|A!~R_smzg!_$oj{f#dy`i%;YT2bTj z&2!pIvBZmI^6>7dS4bR-#5xw|MK1^h8AgJgM-kp z20cLIgGrb-&Q%zU$DoGv619_~RqF&wZdYSIbl}H?VmPAB(Ahzljvc$q1n_D5Db_r= zMUW)?UOI_Xjf8j}3_W;?1nEyZ&+o;b%h05BKS?X1Md5$DCoC5;ks8?2`U)kke4ixV zu=JFPaL_Zdl}56edhgzHPH=gustaDPQekPol^&ywP5ZoIb%6P*HFyJT zZOfLv8EvThilSaspa^MY*|hS|E7-X=ng@x;(KFMYs{plQj|Dt{$Nt!xuTf#hwLYLF z>I+{KchdG9?{MG8z8_kfoc*o);Jb?5@7)KC%s;S7kG{8E0Hl^<)lUo@;2&b9SP8&; ziaSDii(Vnd<=0ae850gcJ$S#wRoK-}!FDlC)mC9i=}q_h)FoSz@7G$rFvU%)gY3eL z_0-*ep~%j#xKy4~PubCYj$?d&-UoCP`2#t;34%}0a&0E(0+{DzdP_CfQH63d)GXcT z{kS-*9;9G)!E?0>s^wR>FzWGmI5MoMRnIGwZyQeQIXj6?y`*xjh;0uAA%+NVyo8eh}+1{cR2+(9Hj*#d_arw7<@| z7=f~;Z`OsX=0;9tK&{$i$^!h!pX=+teNzAN#{c-{zxN+|eEVODzyJAU4oKTG{DJL6 zjOzmC7c5CT zr6Abpr^-?WlQY-KClT7Ex(Va)kJ1M#Kme)&1ot{V?>aOw#riD?4xDSy7%BtM-wUoQ z`Z2K~JWooa1ZWxKdvL;GhGzBE_j9ln%6f`S!I}E#9b!;t?w{o+#0a2lc{#m zda-j-D1d}yiA7bYGYQBoWY_57R2hT#XNA)Gh#*y|msaN&$bmkqr__p9-^8KrW1H2z zrfQGCiy@M2K9hMXL*!MjX7!$=x}LqhYta4TDm*rX%{dL99JY5Us+xG~eUy97UY!}E z?qoQnA)2VPWkKq~do?4%*XBX5&a!sy?TFx*{Evy_0W@g5v1(b*$$PLv!u^9f0VPOM z!98UDFAkqz!NEg{1iev#Ae00s6@f>*9xjH2&borTaF8padCqG3Oebx5MdOwt;RTiS zN28N@otPpqb=wo~C~AsYT!zN*nxeDjmv3L$GubXnb4~g<%W^qu##m+yR`qY@$tNZ# z42oAIG$_E^Qd;b;XBmU2P?~3kVE0zP5!I=UW@~w#+^jG{HZaq`jCp6(UrV$C?yHB| zf}ac%ScsWB7?1@~tT+SiyGG>3rxK3d2Wxi{kQJh?+kLyNdQ3jAulKgX{HYI)$HeRf z#O>LA)#ccyh&l+qrw(Ie50UQoU`v33$TDV_=;J6a2cq4#q#hT(Vpf?9mzO%rf?gkn}w&S zDd62r4Y`6y{%AfK{EU}Lc5(KhyhUUr%vbk9N90ULC_W zg%&45k1nV4FAy3Aw5Fs!X-r6g*_WGYM^zzDr!>O7*5H7$4!kN-;Gf|8STxTlm!fS! z;HQZVF+Mp4YX)nLu|SG#NTpj6rO|MOO!IT!% zUUD}JzFhD9Qb?{qtDesD(jv`h#+zgX+X{TW>2eP+*a|Rc)naxoSJ`XTu}wnXCRnyK zrFzY(E*+D(s`(`RBpGQm>QZk~zG zmTYAtti9B#5Le-g`v;y!DJdQDy4>m4M>3)CkxT&lCM7+n|3>C3JGI_3hKJ7q$^0!h zZsjA+#}VJ=eWU*v@%?u;;la%Y{?}{u{ZjoA(3a%~H#jENU+9E?1=@Z)<9}CZ``^Q( zf6Tl7LcRa&VHFa4k#M;^MpP0dD4qgYnD~uoi?Y*tT&;`wL#ijA zNs8DJ8l55>3_P%M9%RkkS+^|5eI~IK#PS&?UvwjFYD9Eve>TCv_CP>;r41j|^xUHd zVUPZyU#!i6l>z71n=&)UPxetVbNt8yC`!cRGC;Q+pnLJ7mw~pL;>PeQJv{6`q21)n zhec694h5~E_vQAX40`Tsb4R-^fyk6DNU(uNroT%JkmY)@^)X*k1+M zcI?NkKXm~}fG-o_t^1E#s}*4J67%i$-h_oARSgS*Y6s%KcH{&g?oypIT$xLInKAYm z@=sCIPd@W5GC;e^Q|}hZA#^wDBQHTLo9f^}t8Qyr;=mtwXsb=y}i%Up{vQ4AnDZJ)BI%lnoes$t2Yi%XAHNR2$ zxkC3KXMLJ7{`jwI5hR)+>KtUvnDFnJ(QoSEn_{+@M-J-VsA@up`fNKaPOrs$A>YyZ zwBUuXih9U-WM}$`SKB(tUX6I4s#w|W6Ns}hsC*lEA|sisbo=3oDmzfjM=9-03_Gyn5z#w5rh z@Y^NAZ&>CV+5sLy@C!EhQH;Xzld^$7Y1NP8Cp$lx*%`hks z=aS{BgHLtXNP;Y{b*GPx^|1iM$UX>Cx+fN?@BkeQGfCAyI&bI4BPFw8F*nJJw?Wrg2k|LPR@v^dj(5&u#oU(zDtDQAfT0NhM$j zH(m&=mSX1Sv+Llv%lY{rrf5!7Ujr8S$Oxph^Hm6T%n9NF0kyReJe;v7k_5c?LOH8< zlC?T@V{cgAe}Y%2U*zk=OSFGbn24to=};kTAg?s^Bz+!e{t`I@;50g8ePm?eW-*o+ z{T4Z;9duaB(bgKX?6paOPLLL4f!IDFohf!5L4`poB6>B7|H~}GnM~s$vDz;Zn0$jH zI@3qt@{>LVN$ELvHE7xG_rePY)f_d4c+JO~=MUANj}$IMTa!TMUM9cK4pVKXS{%2U zLxM`SqII0m@a&-Rrpjr+;0nN3m}>BHw#ODJMI_b1+Yj1Q_PZE;D9wN0$43#e%lBL8 z<|p}V1_09!cgkaX9MJ4_={?Zw71$m(HkB(+KY6(t^JH-^nT$Fh+CRrH)bT|s0jg+! zQ2tZUb$qXGJ$8mW?tqnzW|1kB!-na;RYaIBImat^tok0;aGR5gP3liw$K?Anyd`$OJq&$2z<&~%3j{_bwN3|C7tsT15P(!K49h<( zMxL@Gk_~An;jtJ;!tD=8rCe7(R8`RDg1q#Z*E?~sT}vNTugDqohte@vaZ^b#xY|rm8tMMM?BW%061pZXK>1kgAwwkbLcX>1SR)~7y(X<1$i$W)9X{=?LKnv zu|%uKS|rKv&(bnncLv{|vu9;Yf4ZuHP&Y4pdxF{O&E|=QAaThYru%uj{;y8Wq`(SUz2mFiM?;VjOQ@$SQ!zI9*f3(TyTO6X^SaZ_K=%^D_; z`Dakj!=t8)dR!wvQqBhJ8t7j62!6zIQL;`wvNWo+LNCamx17WaIZy)RgkUbmhp0$| zx1Ln&2`aKq88mE_z+5Yw*kP&B-e0`aMr5CwhKB*#^HnkJjPUT343CWI`OS3{>LWAo>LbZATC zE@-}3kNj3fi;vIh>8e^oskHbaJ8Cc;>(N==<^cwHG4B)_INa>UhG3OEjs;#s^SpxZ zBtx3Jmj2R$uj|-c?~b)ypxJjCKaI^!odGCVLNUG{K9<~kjwG$8{U!QUMXk7K_kfI} z4se_EitpQA$UWLQEweMY^U0v+eBQLo_2G3EE*GTOsQ;o>jm)HyeMUK&X&z#9DGe3E zGBfjq(DU%-!#Xc&W!tEns_q zILm`BQ15CSXn~3Pk|~Yl=*7!?^oqdkov6W;X}4w(RY)r%OcD-&hL6%br?OsexMz47JVDam}&M`6qcbM|#8CZqQQz3X{#YKE>%>c_mZ9onEO~(uR_r%ENw* zQ_-Uw9<1(B;B$WM7;)Fg^AtF2TX>%e2Tq@FwOf5slC(43T@t;_(OdhBFbIiTU(&9} z28l_J;_%bEp=gP@f$Wok`jM6$inP|lh8~vcq{0F=`ccSU^_bM_o8r~W^NZB}3R{c> zeQ*dbKHjZamZH^x1w2wqPvi6#LAK=m6{syuB~5wxZw}f8SeBntX@o>fKncz6Cx#td zXBH(<5G0z5gpP?pHx~(oX`t1qx?51B+MbLiN;k57%=S~o9TPFV9g6%?I2E;d(OcAN ztXnyGtNw+iPO*_4HF*{Z`4##8GC@rp+H1ZoPBu=KIcvSqYiPuQcmic zuAN6L7}aWl_KWm6hsb7EDMX^8xG8TIu>}4}%+-SS*0;1k9rKk`f>J?vr=LU;8E(ft zX}yHn6cQKd3IPp0(_|VMFb)o^Rz?+Q53{r#xzp28RBmOOnE44Cj{Ob1u}ijaQ+S5? zsZfd-@vNCq5_TdckTtl(tr%fXDvbI=ga?fN`}*n-@2(U+TCMNxm6KHjkF1TLr~z1f zPRMSDf!h>F^6<5dbG8?yjD4Mkxr1p(5Y7e1cuWMi=1GXLy2nrmbmgk=wx0r-93ePO zv2{tJ-bLcZt`keYMNoRPv_xk@SrW@=YT2FKwrt>(U8>;Su@xR?@{RlL(K$pA)80dq zMDjGqlQE!Bfy+6`P$s$I%Lz@&FzRD|P1NVt`twu+nL*R@>&_u%6o6I%d{6F1lWfFEgs)w7aBOo`%gzfTX6cd>POLNJ7q(vq2qlQ|^GTD4Oe= zTN31Lt~zkXCnNMo;aakGTEpcQxL&~)f(g3ScO;8lmcS1S>7^|pSI#W7iOqdW8^DzZ zmKq`9yKa?Bi$F2w#SIikD`?t*2TDl`p{E8$wrPADjrPfy_0*=B&JnSZM24$BoPdOz zP%;J?XEJWa&J)*()D^$=;PnxdS)IMCORyD zilGtr3767ai|$9dH}=CG?KUZ!7tURuYCZ`_5$K1uOw+}X76*i?Y_d8Q@@rZ@2d9+` zE&*zFt|h#1kLCnE<7!FQmw$Zbc?K$W=w|)1DflM|3oML36#SJG#j6fq6p0RA^hV+7 zC3gz(@oG<-pX)%PgU%_DAd!)=dNBcfp!e}WVGx5r&lMr`4#Yv9(Sx8y{Aq3K-qDRJ zVWdf8t=Pb`F%H2w#ahRG8C3&)ns=abK_`idhIQ$Hp2f&?zhREWbMXP2GknYOxi;u!&fJuV{KJ#xqv5XVw@`r^$XFzGKN!`HJ zT`UNY)A>@O=`TR#(_?cnw|P;ZJ`hcgv(1yPYHG<06nx@0|ylbovfg z0tLH5;|(0b*I_!;96(n-l_6)d{o(`|Kz{9*LF&S%cwZNk2nFLP|6a$X!1tKS{PdyhfHvP)kkOWc_X z37?hy6@WbzYsMcPa%@*KCiM>c(b|M~m}vy-b{=vFUnp{#EjgkLiB z9uu|^3@af=A^ID%Z88X^J`J>O3NLQv?4BRiWGoNa@O;!=+VDhqEPq63hvRYnv*-6G z87qH>T6sWqorLR)YcT%WKTFx-G#g=m8^rM45ww|j-+70Z4oMKI+pJOG5|(jd=<&Q7 zijOB~zFRl|yBLJ_C8hZyd8lef%a4P0LhZ~fDO<2x_E;yB#>vUiiTUcW`ztlQg^kOY zRXcI^3BLir$+t`TQdHn!>H$A(OoSYAC(D*Zu|?wfjR|OqQNGN_h&NXGsk_fCZ7fl8 z#-7U)Evm)+<*^Qx1sd?IV(`AbkKj&RJUj1oW zEQ~KoZh!u@U;gQDvi~n11^(_)EcAaTWBoVU>i7SH>3e?nmjw3r>oT$bO>yD-wO>lu zzj0hy7+MKSAgE*Gz9S1AbR%{O?GuFAU({r?+2vEhD=LU|TMr zy|Hlr^f#8;uXn+;wF{O&YI84;p$g(q}Z*Z7UiCckmQ zDB2M?MUa4sK|@M)BzXhQ7J$*fMtb)}LE0GFg~TC~3AGFzl^Evu*hSm_91eWyv=Grz z$*-8Elsm7pnRG7*-wj-35P|#x5?X0Dp{`e^Stm(9Ss!weI16Vz+f{!qjy$KitoRe! z*LE6Zp#}u1y5gga?pOmGwuw#fYhJP;(ye5P6tp5p4=9pOpI|XJu0DNkbc$7RJu~Ka zMhwN{&hF=v#QdvJo->9S%~-=*x=QHUIv$-Wr6iIM6zSv6lqU3;_lj8133dYpO*1>y zswxkbyhr%FJ05X=j3Jl-KS`HhVEG}9qx4o%CXgO-@dni%2zxo;;#*I{=!3QNgHi-1 zv_eu4fDtnzE7adM3&onjNmx0&Tth;Nk)ury!3WVT4uz>o{KCik3iw+hI)BatBLU#|D>hqxaX9^_vEV~&oU%@GAz$& z8#O2XXsv!38@40_46=*x zj5p@>k{j1>`(h^*xo|8Ch{^iT?0pXF%_T;jmRBioXX@{#0aZDyL0`EnEl=KUqVp!p z7^j(=rvkfu2E8a!N-nlYf|&Fqopdw>WrO3YpHSg_M(F4Ml6Hf5gYViedq?Xv#%aCu zXT$oFr8y8b1@pW@^CtyD52Z4el5D~hJ?!Qiai|D>JuJNe~!D9NyiK@(i-&VoD=o&98`oF@T?_l6R5Wz1W{=x!(9svFo&;S2_Tv(aDx5KeA zy(B^Y^S6E3Wc<^h{?{n{mni=GiN8j*ziz%<;MWlBw@t>E&F@sT-&1m#0YAy|_*aeM zf0BE^4)}qRtE41Z)%B}%J|FE_;_yXYUX|GK=X7BIxH%HbwIu7)c0jBC4b}yt{ROkc1t&h=ZlY<-DS>vS2%dRdo z0Ia7jRtxRPKJQG*{0`Ir2b`xaXDAA6M}vU?I-F?Av!CAS(>zZkUal4GEv*=pF7~%}1{W=KjJ(!W`?(abmBhwHW8*d22V-LqKsCv&||Y<1Br$@zSgbE3kD=yS~CszQY7D zJp$D&>?9{(W$2zqE$V|72M=v%zaeTH8~{}xyn>xBL=UBcHy02L09h`uI^7c<2DFuP z{X-W&(?0Iz+k^QfgvwCEtcE7Mx&un!ew?1^mhAoGKmt8*NY?T|XxK@PT(G8`y92gk zv2Zfeng)~@b=HENM~tqOjOEkDZyIO}epFjE=Q5ye7_bqzk_`h{b32;RGKAK$=kc!u_%8DOEb1Bx!o@N6NKKrY<`|I;s$28!F*;}!fiVMigY#b#CJc# z_abcn>Of#d`E{&l46s{?Ws7I~M-I#f9QUinVCp)m%czPQ=K@T`VGEN%`~Gb9W6Tc3 zuyfl|4?f;>0p7)cjxrNI%uBeIlJEPw>1S3;P&wL(!@gg3d zA&N6`Ayuo=UN_#HPS^(gCKia7B!VoXHI?m%A_HMA*R4xj(a@8Yz?3`mRw}SF9yq&a zBd>xrAe##)^$IZAZ`~yrG3yq)$@r#mx^YI%nBZ!f>PrG`6-kiHVCrb6eGp;s%m)?> zpL=hGsvt4;fSfn^9OU*asW->Ql8&ZeV2w=irC{Mv35NC4jQC-_s7A1nq$^l=Z(Elp zcM9{3{3>~H;88VoukA}+#KZ|_$mUWWNrT0|ZUUx0ngIOaA$&kH1>aTX%0ET3nAL{Y zUEM?jczo^a?!rsIB#kqER6X=6e}459v_JFDV)36W|Fbdw0CAL*#A89&AzNmsZoMhH z;ZM%G{SmI8%TXW;=O+?n5)mb13DWF4LG3UJQO2QsSMghBfdd0OZzQ?`GvT1ts^L6W z8C-PI;JZloiA1|(1!1TT7;b$mPuoyy<8HOFr%xy3ay{t$@MpnK227J7J?IADc;R9O z+_1j2v$*KcIuU{2+csoDcjUiZD1z#_e!P2ML2;dJ?rW(x^>3>9T7=J4xWE#RP&8iV(77da-T+Aw*h(cbtIu8A zAw^u0AIT=VcFZZzMWFWGZ3hE01B*(>btZdHU{Ip=`%Z(4vdBE9&p=*((IYMNaSV}+ zR~`oo6cO$m#+j7@$eU zg7%wr>Ozu)@Y~juXutBxa#V#59;d8F$v3+hKRBR7M&u-emgDZn>bvkjvv#z*;*Gim zFUo**mCj6usU06pB*#yNlUflrts5?8;P~MBI9|jB1^z|w>mo9x@h&U^GMaTR*dirO z4jX!ImPCouS21EN}jNwA%Fy&%|NMT*9@|B*rFWd%-H&ye4bgCj45k z8aG*r58hVx8AieRY$^iFw?)@)G>K$}C2;ln zkevh+0p&JIW7kr3FX~h`+y&v1-SJas8KRbcXECnIpmW2CV_h_99K!y$ME$A9kAD zp)nx$#2sC<*6b@Q#JD*r<&}9F>*mnCSeVm2><-P@>VX7!1f@q{Cs9TYz|C5(GO0|+ zI#*GMIFS7kZU99`kyIjm;t|txGGJ?m(h#!R>>USo14o5+%L|jj&Ltg?LAA(tpJ%+F zrayK3*{k`JWnqRN^~qioOG01dAX^To94rvNh{G?0(Hkm2vmg2mU4!6ih{NH`u?-V? zeeR~vn)UMs9||4|&TFlC@oyg4l@^79c=2yOOf-db$Hx2a-^?v{Y&`zr->lu_D8p3C z~~m9#VH7!BdKQK7VoSGl9(uX0=`*0f~(i3Vg! zNo8nD^EDDy-bRE;!`U;LYyAYS~NUqk)k-#kutp}*6^ z*}HYpdht+dZI-+^fspMS%c&0_Bx3!4p@+8v89)iJb?Dzh;AaAoFg@|#&UKBvj+MTh zymzii^m?5RkOK3>H(GqzX(k81vofar_PNFEL+)=ngY`3Je7O$S6YQiGsFkF9u- zb>P|S+fiI-SZO^{62ckccrmEZRBj@nV0)+Om+~o)X+oY&YalD+wvpzX7KLx!BVAFG z;cMP2;|y}kE+8g*?Lx#D_#(F*B&eHD())sNUOm3_U0kiR1v{#iJTm8IZsuDs=I|I8 zd54RlHS1saAs(|?qB^8do*iYwu<-SNCvX=!;8a|D=JdDZTBAs zjVQe-gykK&SU;Z@;w#jYWfd&(xow9eb~<*;qrgH1hIE{uR9&A|2ko<${CZyu;)Q*n zJn<#nK5@K%UCg8eVbA>*6MfGjv=dNwz5t(TYcJig3!EF@QP&79(#w%$j(3DBaFLt! zhHL}^UjaM?yX)|S@QNe9TxkEvAP4;{3pmCZn&Y!tmc66UoYQOQ-LzUO(d~_MI+~NC zs$;)d98a}7XVPaTQuzu-m10BKvE?H9ks-?yvX2Q~v^WeJ*n@KoX159RHwLptHf(jo zbysmGD=6hs^8slpMw2rV_rmQvYTFTWH{6n&yCxyCo~{Xz9RULmXSo2#Ext7(K=g%= za?UbgCVP7Jg(qC*4vZK8RSx+P^`_b7%S7cD1#}-vxR_$)BAWDd2jXf7m`|IUbrbs4 z#cWH0^Fkc=Nxf)3p`;ES9i<#4SpH!xOYYPGSnqJEuDExGXvvPmo4CWwV`~kkW?GeH zVxUwnWcDo@U))eCQe4E%w?DlHJ1|S7X|wac&{zKw6ox%K<|?8wp49Q!k6fl$|KSLE zd^*cfEX|Xo-A5&KZ&r1RT^}3LTwuK^j8b&552q`-2#s^gxA>6&tQ8cps!Ou#jRc~v z!JUISNmq(n8NLhqR`X`r;?e9lyWF*ca69@nbvhhuo~G^)jikuZPQ)R6{RitKoOL$^ z)#7fYH)-U#;Y7yjrp!ijA$qk8w=_sDR2VVNG$I-%Vzr``q5Pz;K~##e9qc=40qc_= zC;hD?H)Vb9@^Xes+!}G9F4XLWRXy~Ki6!g?zY|oyI1mc7#OVG~g+PM*eR0vy z^mxtm$IOW%--$1d z^X2o3mo(s<^dqFa^%yVTX81&KsgvrRK}1m9mI)sTwf~&)43d=r(*4JX`DGROx%GnK zzj)ot{ir#=KnfZt*%9Pqpv~J}`C+i4PsA4f?m>^vp~4ST)(xSRtngAzp^spNox=|+ zkT1hF5{A?NbuZt#3oyRsvfPnXmAF{$h;cfjOiCd6JUXA}D(3be)uHzLLtDB{9QRE= z;=|+q!vH2pi4`_NBU7OnpI&}3$J#w(GEg-mh@%+0zJs;0LHrGSX~_K0sLxiKmuzGQ z(KHd{^Lcw&t(qJ@o6koq!n_T1135|oci%3@760b=LNoZQ-{2YF?X6sB;V*uJ&uM?! zD*e0E?LPxsurvH#bDr_HR_PZ5;-4ky{d#L(LZ82CZ~qdNx8FmW|N8kai1U9J;`}{K z^Vk0W{+VE8XJh?4Rl48U$tJ%XLcshT68*@gqyI^=)W0go`$=9BBO~LFY`PZaj+p#^>&m#BHZ{rcwPqjxydbzLY z)X$ZKaFsg8MVeMy31N=4P7#KEiz@(>_V-M0ng(8PXRN~{IHB1Kpvi`f$Ygj3yjfK6 z>_9IkN>?70eLFOmW?#I!c9-pBjsjg1@sVb{*+O0)H_%LvE$q@37U^BV^tWiJFPDT$ z`ht40sSSAVHeEFAYvAU#uzVYbtbmRAEw|Yuaaz7&*HEHKJH&EeguhO{qh1+5;=B&N>WP;J93I2R_m>idXA@{*{OB^{e_Yj{MN&V>YNBUg`k^|i^+RK}^>Ex+0mj~gwW#h!jqy~?MMX9_w9QK& zC8i#=9;8+U=u=0KnqCF+Hy-|mp%IpM6du*Oc;6gwyv0?(&>>q-6!Q1Z>5$W;3%DWfEsea*Z4dhlfx;Fy z+PL}%=()k*qyyZ;j1XEfB3$HU<6eP}xRjyA{g2r9VPwSlbyzAxqV?Doa1Bz#@}H zFk|g%TbsUo{Kkc?q~y2KD^-8zI#}{(ct<~k6-eMLM&(M>ebWoH1bP!+9O%xlgr92q3|mF5PLzQ=fisTZ7WU(9e5f;%XaOBcqa?{H!=M(?1Sd z7is{8|0(bdn)0HF0B0x~47f5TJcYDs3;HCJv%cG>&_x z9EDo#A)i!2KtIjyU3&k)qA)xm&Xk+KYzB$&LLVC?Cv)_B{vH-a*$)zJeyoj+_xr=? z6_eSJp9^54UcuRz6hu1N@`2?qbj@bvdRy#3Qek9$62f;v>*|oPP#%lOl z0&ZIE^Lk)j=q&tAYf@@wGf@dpu*Rt`AFP0#6UkP`M{8AJPsv?ybS0gNg(?>3Z!iwb z?>79W@b+bdoz?$9*qCAN&eVS5R*+@i5ktLP%%uGWEQ9MM*Tt6^gn zllNRotfr2Ch;bF`Ov=bdWfkje6uFaRrs?>Pk0wR;oydV1-@2v{wpp$??T(|nNYIC% zIeN`EJ3ppX**vI9&IOUx-@I8%k$z>xHAMxQ2RZSnT_R%s<^fekLknHB*R#a&VCLE~F)I-;*G=Pw@jLlAxA^JtT? z(OZ7cZDLRqmlXr>oYjNy#q&+IZ-^csWgJm$0m=|5OUS5tvL7oe=-$3`i;+7sizAen z9ayCkOPAu|+C=v8ykoM5rLr2Hzp4Sde$51CAiAhoYz0%I(ej)fV$luk&nFF1v9EN` z%8pb;y-=HC!DPFnReb#7GwRmKu<2HyX2{!$~x3jZiV3$ zFBi;aev>P5d#XW7YNEpQ64su;{kfhr4PkTyd#D8&7Jb6&cdk2elv8wVpKbF0IBMVf z1^#)=&lhR5-=j|kw%;U5+5Q3a`O9to*F>LxT4nmLknFGR|H%ma1!VsSS{NB#s!o60 z{TIIbYfS!Cp8-Y&0fs-v*58ry%d~Ft{i$ZA|4okZWmACR1!{k%`~Of+rTd!ithrq*Rb;Gn959%6<4V_8i)mtJhEYbbQ?PBIxJhu|g^K`U055bCsPj z{=An32P}{7QkM8$*D+UVn;-5`^FR}39{fW1fHQk%b*t0a^tvmq%I*l9u%}=9 z>lO?pa)`6VpEC=sUx?kO9>t^NR7w)=@Q@o`PwlML4jc8A4pPY|*T0uLjh)fGRtMYS z*qgd1fR!;X0XkdC_lxV8!V>jeXBo^^T@Y=j?|>6RK;-cR&-P$7sIrZhh8idDMhJ+8 z%W)ZOdU%{+fB5|E!}?UjX{vOikK#n?-Um5bu{(3UnAEQ_s4_MMf;8G)YUu|rt@3vd-Au4BouA2w02ZX48EMP5p?V@FmlQO>W!~aJA02w+O7BdJ z6^JpQxK4ddg=G(bP}6UsQkZlZu71(U%%rjSTz=8QNsBDK2acB{9!ZeNf5P7_uul>n@? zl|Dpo-&xE#gL(0#S_33Mf=v3yD3F={XDML}Kc*O7Osu+JC}A%S!He9~GIr#s;n{{z zx1$h_H!qa1uh`h%DPcN?fi#x{9b$~8A}uN^FQWd>VlSfp09QMxnF`V{!1`fGEgqZo zg^yW%SV;KIe$fr{Mvf`86y&R?kZK+K`L)aS&R~U&4+ zKQCZrXZ?M=%*gO-yv)k-55&v=mzZFGg^B;3u@B>msN~;?3;u&x^>WBdAn-?G75%?A zvFb%4<)?^MFPyU9=iG%A*kf1OU~VdG{#^~tAbbUN=0xHN23#tni+vcrj< zv6PPsCn7tntL>WlGqptKT`le#k+6HE7tr1I=QBgR%1qxeV98poSSA1rC>9rIzEVoH z1cF(N3aF+X!H!b|5TGA~+*>*fbNMSOe?duCl5KM6RyT~ilIxWDI6s+r}2 z6V}OBNds4)&H66<$e7YYUpbQcdNc%W_(N&E>s$0W3jHMST2E%XmI$$HQ;~emG(N(_ z%rR-`3uuu9gTuQ=xOG-shPKU#c!f~-OJw;fS?n>_*Gyvja6w{xg*kD#+U&=UN*ZCU z6#cG)Z)qZX77#Wb>K_`mi|?+wXy7So(LP|dS>UQz&SH#&>TPm`+{xe7@g6;2V;HD! zhy8I$Vtz4x`>98W74U=Mw6G$3Bndt2z$3J0JJ>{DMXr7{Z}1 z&k#T~lOcK^vKQa1r!lH+sJHQv3IF=VZNM$5GbrcbQ|}V@n%`JDDDO}&AM4b`y!=RN znLU>xiv>s1xeF}s5RsMP+1cRHwnquAwXuRHY`XM7gsU)$!|N71Hm0qyL0AU{ottgB zi*w@f4{{U-j85Pg(Yg+mWCuHl@|O}F+pDv^C``^|KnsCXrr`od`MF(>8N)3JbNz(j z;&N(xekzWcyNcW>PG=83Ym~JM92gJx%86N(aMBCP zV*v9Md1YW|^h4D;SCyd23XZw6u-EjTt* zM7hBXxf9`UTQbskvQ5`PORP=%RO2<2BhS!Q+SfEVLLYKEck_9=>1jqP6xQk%ePT4Z zYIm?|KDLu!HRHsjZ=VoRF?z3u&_hvLQ&cLE-JY>rDE>N9M-nz9lZ9+4BYp%lhU$<| zl0+V?`gMLgUM9;@RAMA+USBfSUMCY7p&eYBi;AgjM^b-9;f-ezE+hO%3M4Rj>+UzOTF4{?-OamttM{XW%A7R?F+I!^K~MCF!%7&rfs0c5?)GxmG3V z>4Xw7QPqn{lF&`?xJCG`f^!Ja3lfnUGs5TjQ8M!k4k$*oFd4SyF815xLqF`*7!lKT zaZev9Cz1IWsIcu59+agcOEvbYZ6Rwbq6^i+3?Z+GsH4dt#R!y((hR7p?M&E7GIxMw zmB!b4oF`m0!@7#l%;efo>cmV4=HO^;;d@(_I~P}fvyJNDLw-%8)4rTfmkNadJL8*F*y8Xv1tkm}D~gr6+G zGBEz&O!A8Wz)NRC&xso}-h!ZQijf0|0VahH?sbsS`~NhjIuczRe=(=>*nJ3*MRs(z znj=NUA4`oyhL5!TG)Fgvc+JESXb>`;?4Zz?Dh`3@=zcuSJ~ny2$}b^wCjK#1LDTj| z|Glg`;>no21K0Yoyt6yv5^^VkbT<@?95f9a!M+OK@}&?tgOe$Zt=&6r&Hdw%vs&;@ zhJy{}h_i(4EI8pIVjpVgfU0+>hznlT=MtBGchg9ld!OVIq}3>*Wj_eq-F}lZI^LdT zu~1q5m`p0N9f9?m0FfBRFuNWwO!yZdJ>a%g-rHabSQa1NDCCY+)zb^|hoEFE zy$YOyag+3HO!5q8ySrH)Na=&OaFfe(TUV+#0sMW9K%$}oE&DP2;s?NQc7Q{x z-{|Ye<#?LZpwyM9NrHjHWWdomtn6fprlF`y;5u#-Z>Jk|*o4{(qwNh~4$Nt=>lUb{ zmki=X?sBwKehpYDC5zdQwAWGF;i`n?C}-@;$q*Wfwv!D&s_ANR#zeh4*zETPIl5#7 zN+nfjL%{KYsW2mRJW_yF{q|AUU18f)PSy=9=^_@{9SBI_oZp46fN%C>KtTpO`5qk= zhTQBX)adhS%*=rIpt-qvI~6gOSexJ?IVtmXuK)U?SG1jp{3&S-xsE_D#~fl;1}dG6 zDJhU$GWHfj82CiDTe1S#;$1qIqWCh~+?#<+6Y2h5DBh8j>UXQ3Okfa-FCk$+4t|8_ z6!SIt)W*af$M^77f`og9uxw$FDgTY;r5UgWqfBBdIcI>G?iygaXS~FfON{eFj|Z*r z*xYzhDq|Bh`^VQiJauO^X@ca7lh{O4%|7R91STE8Xkdk47A8QSVNBD(xK`MKDG})1 zBMhF4fLN@}20O@Onb7j~56EG+oyDr!m2)H*^*o$c32eGWv^-dfb^(fUDl#WNGlI*9 z@Fsx+fjK?;nETLPuXR|jB!FH|3Z5k_q(BPx&$W%D6tC#^3JwO?l8r@8s)%Q6T7=x3 z_@gAe(_r71DT6Fg3KbmG?7sBex~)I~O)MjaQ{rKKR#w85niSAbaB(A^scBz(YE*6pCsnD-M3ZdVuHWxHm)$%DZh&_j>MEksaLxpGU zeO}Ew*C*Hh6P1LVIMg^xpXPh4*0@TlEWyUEMf9?n$2f@mgx#_^v=7I2p5w$y3c;<= zQU{K5&~+`qlC?$+x?k#`G6MP;)u>jqzQP}pz=ggNqRQyJ>41$dbc`w)s@2)TWTvN) z;P1j{Z-?B+6@@TnV#$R=kOcV;J`OYNm% z1BYumrPmIa(>`*CZL*6Mo`{ZVa|mC1#uemO%v-vr(>; z>rOFQ+?EyJ6V1dOcMrK%NivBTK}5~gVbWoHTci)k!`9j)9jc`u%La3~ zTi@on2aPM7cwKJ4J*F;f^}+JW8XhLRr;@C-)QqanI5X5;tDotx0@NM%71tuR;l(c@ z6ECt8z9+LMZwwA?T?`?d`+8X#ImD832cHW)N(Tnj80R=2@aZDepd?(T47GcRUc?&b zJ~8}e^Bh-?y|a0nr6=<9o93Z=nB`<<|LU;TT(>?buf6@aWUuWFr2R637Ojq|tSH5r2NBAnXxG8IrjJ{o>NoGNLGQ~`wT;R zmv*dhH1|nDBsO2_hIuQS&8K8hDF+7J@+5A;FwPaux{EIvr7^H32n;pdw@<^Wmt~#C z4%u5RM3@qzH3z>E)d@t*!%HAI^}jWi+1!Rwwmfg|f&cf+_z^)MKjw4kBDt5XErF3of3W>I|iMaHKD?(LUu zjk5kjEY|Pc8fd#o@vFAFnys^!W@MnthA-V3666PKMZa}x1pcjC1E7H&6H*pOK#TD; z`rGHFyj_SJBSw^^R?xH4Zw@mJ3pGV%RjGLOo8gM;-;A?gBly=NC5Aj_lF*`0tkp@s~qhBE&yd zc^Uq_tGq9*`#+VLqyMpKRywj04wN1e)V^pIoZ6>D_vXS)YxRKl{n3MO7-mO_s)7=^ zU6vAC0t7TZ%0Y*8FHQ9{`>|g#ibe@%<gQm|0cG$RJ9Yh5S+wzc-zB4$I zlBigl-tM)lR=m)WNW%d2E&T421@hiVG>_ZFAgq5BbEu1Tot_MA|QJQ0!BzK1I%$5ROI?fO&#agC13%g&x)cw)y_lPZ{@&blgw~5<_Nv#+TYAg z&#u38t1uFsh91QW_Vds+YZO1@W=aaNDYia~8~AlmV26Dj^_F6a0JUwE2;6*HQqDP0 zIoKoTPkT)o93*+67_y?_GvIfl_}$$U-7Ge?17$hv#oe@MkaacK`udNf^)fmB=lk(b zSOn++KN!0+)Blz+1N?jy`1}3+$CrWsz0A}<`%2$4VgK>hUs{y^zNs$;1}6HKG}X%w zhF^dDyofc)Ds7}J9!t^)z4SoQ;2ji#HH@;-Hbr#tw7?Q=Q(iYL-H(R73P+%6-T|!K;D<7f z;otszT7;zy^*QmPcW@BOst5GbRYwY9L-JnNAhkDb<~$+PN*FoM*aU0pwG~L{JuF8i zHH?)SOdH0*{>RmwobV=LbDQ!>gfY(=$9!Gc#w%6NCGv4dJW=Nm|YW+rAfICi57B5RwS;vBgoqD@ICKedC)n6 zatT4~%Cq${@P9!AU6G80K=ODN0}=?@THi*bBhf|k*Uf;FARtc_iDrb1Mk^h9qlum# z9aWg@Juw0$gn~c@xERPOM?fBKSHmr_$!;oJ+7I zLX4gwZreDbfHa6M)l5k}=dhFzK@C;6K}#j~%bBk3{1}qkj@8`QM_UsaAlf>?GOso- zr=u^~Ob~WcotkirQ?9ab1@{ud0`o!_`vlCxxcC?Xlt7}HnK>^BzcXFCX*sy~d?^wY z*BW1$8Is-HRTSjNd6#$R zil<)N%jIX)xYBq}+XBSuh^tv~%ROKm}!M!`zvFePOp{ zFja|ZX;*>Sb>81N?szFj?kHaTCWecCCq)Z2YD&I$2Njg{xQ7ymmGW4ggy29tyuuFc zY)K+&2BG6iv~lqqe_<6G*J7cQHYr|dq?MuWf%w-0`-TT?FIttLg`wgM^zh0eUhui# zE#qt_vV*(d^KE~J1oGUgN|#m-`BNu6_LBF=PwLPNZOmE64d=Bs5A z<}mFO`$1J@nJg;Hm1otGT%MC6RX-2NuKoYH-QPG`l+U=x< z%s>Ty4gqG%6S&n;+I31{Q+!`2@j3GNd4?Aq)2sH6FGPu3#X|BF$wvSh5mZ}zwB z-T1>BAtCAw$Dfb*kc;-OL-P@QNyNi{(KkX72^KIDK>QYjP~3@Vd+TXto1AG`Mdoqs zqqEI(detz~tN7xB+Byi8NoLrVl#B!}>z1sdkh0_HbauiUYnTAT*l|c%Q<`W=9WRov5rXg0$1e;17jB znWFhO=H0fsO6jZ)mm-vwXw0&Q0(hMBfvFvx=pOQw2lLLrI<>u;H_B39(=D?c8PK&p z&l>vQpnSy$Uu-}jnN!=W_K&9Ib0prOzW2(o;i<%A3DAcq6%I-~hCov^y<2ohI8YWCSrdr7k8y<(T2&`1gge3y# zyfHv;uI7z$O`d$OD(#?sWl^Vw4a>T8Hz=96-=ziUl_cnm930bCmESRLd%fwtQblD{ z(}991^C7!*9)4y?E71PETUlh+8{@%io9c(eB&o#t9V3t!Dgr}~S@Pll@U3BmZ#Al8 zpQ9w}!a4$nEYkpNt^ES?<&Rt?X?W$T?(#;M9IT>~v_=P~J&KQ_BWdtwOt^uiPa243 z5_*(#N$8T{54X`RO#zyC6&l9bU*@n9o{1Yhu$7bt5|Zc`RLpGYCw9XaBh^dlcy>k5 zp(Guw3C+N5PIE-z5XLM$>k2WOKR+>8(km)HF`$`$qBi+FcyxGBm@KRfA|ZPL0Sg__ zLc>YE)g5&;hm|94zM&f*M>Dh#B&GER*{37z)RWwkJX;#-&Es0gt3-|}y0sgI9qj1( z1Msbuu8^jvuV+138p$e2^6n*M0bOGGz#LXkx}(%e@3^3GC<@p7PlC+B6Yu8o)P1xc zc&C@2+$xCR3yq1szI?I0f!R(JQWx$*Fm(xsc3!9AxEB!kB56~ z5mjktp0s^5ns@7lRq8R2EGu6-h<6tMobjB=n*n=h^JkO8&sO>XtUqK#l$0gy%wNoG zSClG%8oTjJd&`>`Y_55afT2jwAYnSdhJpNlnH<20{dMPj`EG+`Gfp*69~;_rHN6{N zw49S)rAx$n-w1x9Q!@vHWdS)Yi-56R_VlZ!H*N7mBR{Wva;x72v}Op8*Q?O4$cHv|HG= z(=bXl~&NOCpDnMtw?evQLVf*gJpby}?FHsWeuh+1Eq~ryUPzNai+hu`PgFKDP zGTEQP5BeY{O-Tk6`3XZA!Jld311j4a*sZ#?L*^~=>%53QC||hp^x^B`6t7k{D$llo z_Iy3~4)zP>5rL|aVzsg584fIXVqQ0jefSAjQB+oyqOx8o4-`RNwlb7>>Ul6PlOs-3 z1fblZuVBP-tG;KRZLdcLapWz!^^NbQY6F|nH|IdDPbZDo<<5B+ zU)a1M&q#|xht`<4@~i1(`=!yAwR{X&IG~(mpWN~|D`BNSK0#k^)(c^8ggX?x zl}x*A2}b2=XeM5Rnp-ys6PP6`&+tHxmkobm&7CH*$Sv%}a@Cu`%qP}h8pwL0HLDO)59I7HEW`ykZH7pN-^ zqcjE%a34C1fcBh&7Rr~rs@k*9jPZ$rZS%3918KNvUh^kDUmm7ePd!mlq1g=(d;?e6 zv1hR`wT%*DV0ciUVAOsVuob74>id?Q_;iFQ7`RunP}JGz!J_=e+U#=)7ZqQp4-i;p zf1EcPlL8Lyrfh|2Y<(m}E$|^pI>U#Dq!bP%)}J~k1*r&yId}y%pvDEr5VU*cSR4m3$wHy7?-6Nl!~o6L%>LI6fmAZY~yQq6Qhfb^oLR)0ywDa9N|B+|Hn1 z_X%fuGuprGt>GxZ1=qYYzbD<0>Zy21Ky#MmK6Gt1&p14f=B6}?F%S*;kN67Ka?G4As)xsrQ*t!?YD_~O;tcg{LVb^5l1@t& z?E)*oC9W?me&dBweH606UfQQ?La5Q&JSgReYmcuobJ4lI^cEg`yVkWJgQqO=L4(Pf zk+Eg`1LM<=CaHvG&2H@%5!?PtJQ9xMh5esK6y{PJczp?4iQJezZe{C#zOq1=K}_;L zcoCJrf?F+|R2CN{%a0>z|0remAk!snB%gI6zjcZqyFbF>*P{GSHk+7O@0rQ{tqr=b zw!_E?HY2;8LkRXtDGH_o_AMIZ5$NPw=o|-byoiV8Ujky|0qNK4yAD>miryj zUp!~oe@kinm%8B}PR{PGdi_7GoByx8$^Uc_zxDNhs72o{=CA(2Kl%sE?11*yKMwy> zKQprf2&Mn|W&EeU{_pj<%-z-32&l1hGMLm*435uaa79q)e)TH9H^sLgw{3gMZ-}I%}9vYnz95j6Ffq9TM zPe;|9JkKYI4?(QQ(7BJ66UT-gt!_=eaIoDL)R}J~Ks7t^=tkJ2zv&ZeabRP_`5q3i zGXE@-gqigoMcPD7%0c88*?5((R*q;2@+Qg!-&tUB>c&QlC@+*Rf-(BHPC!gpQdk{m z@f|k@f^)+Bh{)~g#s@x7>jR%4JEuV4eC@CG>xMCtG=S&=mc;3U%OHm=1ouqo%DM-k zC=X-8)L}X~-Vg)1w>ao~(1|pWZz=W?f?;HU3yYp*$YDvMw%{L)ut-=B=wD*5)I(Oc zV0iILUJ-w8&UNF>gNPGkpwA0AI4PebNpK+4-+x@6p1!&%tK&|BjulcRcT%Uu*sUfK z1SA_^@Z7cC+guJY90WEFl`g2`eqy9}Uc;7?>l6V09*I}lqoPeOBCg~qy6y-%p)5rw5pjjW>%5cGoxGjAC> zJsi3^<{OxCRYz3JYcg4()Ogx3yk=zPJHNoxd+k%oR0d6Rm3a>O#D^&BiV&+#)(tv2 z(OoO4qLY8m+I-m*{zUs-=wja#7ZC+lxSv)eR-F>ZoE3s10P2gwc$-#lwxU^GzZ6n+ zZ|{egf?t5=Tu{4PzZ}dM1Jk*?VhwByZXvq!yG2Z^KsycYC~NJ%-vGQFVpItD!UhIfA%moty!FZ2RdyZ zs>;p}r6{fjP0Uya`myw({=60Q;(PJtU`PC=OXZ9v*QXR^52GIXy<*e7$kiH!n?4Am zodd_Cs)@lA;~xv7wYECpn8|L8U=*LTkZ07=jshR4mZ~X!xZ@RE6S$^Ynu}Vs?}Qyu zEX^PNELHtEa#*nv&|{dD_x`FUjy3Nj<|hR>g@wfQ#u;I)>*;1g+8x3xCDg)IaWKkF zbh6&Of0aHd%Vw9J@6st0>~)y+rLZ(eAG-ClPBYqVh`#J?0vwqC!yBfP1a+TRoogZW zs?l+gBGa5qvKvCqq3LT&@|3FnCA&#z*ommqNb}x7@696G-d*{pEMC!cLHHmJiIMn| zy@?gadPDQJicfe3&0fK$mUz#XdL3Tv3$JO!`yZ6Bsc;q2WvC5k zlMyp@^^>dy9gV6~kha%skcc~F6ErfY4{h5##u7RB;nXOBZ?En#tE0SI^g=msee2m!o>CUP<5!Xov_jp1igVsov&=~rN7M*7$ z_UD@;#MEciBEPmJ|14GRM`T|-VJX-S`B*Tgjljas0H#-CfE$_d=fzffMVVWs*UoS` z^FS^a)hFz8F&I^&koFf+9HC?yLHJ^FJJSJ2Y_w=WsARO z3J3Z9tu(up9fz0^BQ}8So3|;TP4__9;l?F7i(sc#LYjxyg)oiaz2mCQSQd5vp36=Q ziel+uQLw`Y)Omh1VVXike$Yr8-0!ayL2XyjmS=Va?Z$n;e~35H(H+}P={BcawGD#iM(`QiWm`F|yOf2C6YTe$=qC*!{` zjbgr2F9GBRx2FK${+%?>J-83B`~5i<*B_IF24L#_)bg3{FJCl9BC3l4O7x5m9JAbn z9CUqCwFu+Yg{_u=V%$XF4R%0;r|onG*qAgCX&bnYy_?e-FG%xYgFUl$iSMhGsXo4d zG!>LcHIf1UqGS5%OB@RL9*BJdC!8`Nu{z1?Hrf^laIK|fX&%nGNIy} zD++Xa!rBYOHl2>NJ%}TNtPHhtv?bEN$YkKqK)$Hh%x`lyXgod*+*Eu@{Q+Fs z4j&h_0LZ<>@S(@eE9-Hfah;hk;x1B;l(fVa4Sb$ z=;2=k?cuLDYdDkytr{@5Ygc9|v-ymBK?kTBeMXRT_MI2!OK3erwA6q0YaJs1;qj+# z0~^OZK@b@gK)0G3D#a4r3ZN+ydU8Jb5HaOSPR~E*MZ`N~@ndtG2uoV^3>fBV!XYB4 z>!pJ@23};Jkl8}YPS?8Gfx!p^h$a8DPk<^w^kDx8z955?-b?%4Yz_vWN5#_$buGfco zdHSYm$yIo=0CG~Vsxw_sw^ssimz_HI{mJ^HZn6-3L&&9L3=f#te^} zy;!U`cL(2%FmN7lOQ&JmFKH=UR^(A9u&JE9jxyIRML{riR|3aWANP`ur?%;5ug2LP zfs@so$<5&{WKhU{Kr_`|hyVG_n%V=)E(m@5n`lL%dD%W?dOCni zR#2mN*So#qb_{#NJ$2og8_Yg?V zbS1iG2YS)YeE1yC2Qbqf7zEiV3S&GFGq{2uu^HbwXL#)7+DDen%hpa*8a=39&li>1 zSF7J@cIYjv+4BA98=@dp_&ru*1qey})E_+)^Sw6dZTIF@!wz6;3ed1Sg>YaFi6MI? zOu#aSXlF&n%JSMiMfkdfL!)N&Z?2||&O6NE(P&n3*kU7eZ&4y}Q4F(%B!bPxIT+=>HRZ{{=^Xe>lp_48Uan{>L&i zGYS8CMfeWW-PL?=KY{fQBYiz&5(XUJY1!Ndfj`SOyN{y&C^cV}pXIBt-&3@c0WfK4 z9zvxy!m#OwT-x(Ge-uT0eai3cA3m2&{Mns@5F?6F9|-pN8SofHm!I!63tj_Uuq|^o zZHtyMH8lL-3bg5?jW3i5(PEkWFzKc?h)LLiIb_R;jlSM2N}^=4l2bl7M|RPZo)>brx{hQ;c&dnp*V50qZonUu$1cR(J~kbXcIjDkaU z)8>*1L)v(=i9R*(fOxsbcoa_pGjCx$T&$W*u?^2D!&N!p$y2ddKe=SAZpQF7(uErP zz?t}v$`q;wezsZ*23!9J?!{k()ylZv4I*6ymolJlKQ(_a2%&_=Rnj6G^&-kE+1%j$ zfr*ifa@fpSMZoK=u^^oS=%58tupsqoFHP~oWX-&jK>G+IPERzF&lP4wL#3<^uWpk2 zHjV9Klj?y8zMO&9KK+a$?S)NIhX&sRh2hzxAnVbHK9dnBh3sUi#^LQ86$nf5c$%tl zzlDLQ_@XDa#rbIdbS!~`AHpjc?)~zt+m|=bh#VkYqPp!?w4)Szl1O4wcupfbGCqFb zWz$~;*Ko)x_UMhU3=1jIbRP_7DKhMDCU#E|^5Y0)mh0T42r<`!mq&Bbi`d~`d)@y~ zJ8;K~jH=&hf(x3aUTUqLX#;3ZSsIkn8cH4{9$Xu)&qCY;DDr_t{io4MXMb5g3U%6k zYJy`c=P4`LOyz1mSls@4Lid4Q5?l)GUD!fcP;j01M%>_|Rf;IXTa(WwXa_*CE#p15 z5G^8R-5=x@6Me2q55XIqgKLQlAyW^kMSg3)XTy5bb+OoVs@)hD147{0({G#LuEQB# z?JK=jkIyst47-F#ST{wcFbgF$DUMlYgF0sBh*DI_t2UuDrOEKHF#dCxsfkYA=su64 zEH!)!Om}7Y0T8^l;0F6EBVM)w&7mDSP&)7aT)ANUz{S~)DP2rAt;fyAyy^KmCQy20 zx+bR8eVU*ZJ9)}d>vY{VPH{exLjWyD?@f!i$q_@z+;N#RQH(V%y)tpdOE%b+QdOz> zHE+3?(aHb?7t|wK$5QVJ8EhZDr8MY~wTWQnA{m#tfl*XFYXe^E{XITi$?171TL?4+mITev4nFwD3lcVsui8g2qUkNeK<`(E5QL>jzc=ryW4zDhjbXoYz2U zFPQ}wf~ChD=+&Y4B!N4*_}fZNqWidTKzL1FEIe+xHm3$lb#AMD1(+&|7^Q+{*=1yw z+UVjGhBOL{>OWvRN{%vQ&H(aGJ6n0_fa7%=O}`UBryPXd()j1{75Jvwe$^*A7c_>nFJ3bf*FqDUo@Z;NX$c1foc8TYB zPJ&Fpt~1$4Wx60y8Xt$5Oua@QmIMLK1~MEUD@o{BcHl^A(Di=|;_8tMmUThs2KNBp zFB8vAAfX%aN~REuetuxS$0vcZfe&ZnL@?nZ`Z6W}Wqu93t@nAS0=dB|`_xdm$=eB; zUL5wxXWH>&V(o*&1#E6-3}hQP-Fc7dQS(1OB0B^U=Fel&DJI97(i)j~w2ZVO%udbB zb)F*kSoeC%23IdCaD>F=oZAqQ2a7(?_QG7GTY=mQH+YJ(Bmc0D(hyHHaXHIw;elIH zVdI8KdyOWpli2(wp3`wPhlSk}HT3zO;P$>k#vU1Tke+S0N?>Q-#%{k_g%x@^&_3@s zZ0K}CZ^ThCWwmqa`U)+D@I+B;sOZ4EL)8=Y2ZIS~I!0iEKLw?j!Nmz%n$1oDRpBtq zSe1C$a;{FtQtB9ppLnsMaV;?gbj1M~G4>O>aO~Da5`%O&a&$?UuBj}}3#f93zP3a@ z$T*oX6pw1CstpB(7`8;qfZ`}{Ii6+OuQ3wW7g~y?>SOhXv#nUm)7 zE11pGS{G3o2!y0U?#7I?k+tuhd;2Brl#nkgcf+k~u72;7uz@UyASnzLBLhtnM_}BR zt7-d*yzxwCbyt7xiCt+Uf6o~XR8ho05$;FYAwk^mBry;TG?>-R9KY%7Srs)={)DGd zgwZ1~t4g2G3kBFj)AaCP@AXX6S?SG}+=&ck_qniSop3}_Vr89m5F^uJxYTbW9!tvWvl>gi-{-4Rwzqho%QmTJHxB1_yjQ{mM z|2y}9iIwBe!hK_66%_gxY4P8pY6M| z++&xE#t4>n6GDlu7YD#U^9$eb@$uoxxJYl&F4--}U;1EI&8lLuia{d`Dd+04&Y%5` zTxx%q9bGNn=8eQ#2&t)hhMH&T$xgd3H%`DlRzTXN5C&apgV91rf-SH}&UiaypY=#! z03QcOH?pakP*t$eu}}i9>RS=ryIJ)XIerqqf zxn!>!plWp0ld=lc77}1#5uVyVflONx)zxT1YcXGL@vE;W8EAVSx`nN0JfS{lSBLCu z^e(LDok6jCt+1yTG9SX$k{r@b`uu?uDfv28<23&jkk4zIqVJ&tE9>o!|4XUzhvGgz z@{*U>FwqC;%w6o9WGo|CoR&0IH~z>GdU;ij%QY<+K+zmJkNR>etIuqafJ!|Q`;i>o z5}>k+43WZ9Q3JYeJ+H9q!uH($6`h9`({OlCTM*D%?Se0YR1Iyg7u%Xk1`0Tpjg zkpO$jGJ>Cj#N@I1LSW}}`_HD!jfu!^ajCb`G`9JTb6j^%K-(@+|?F9FdcQ@66@7!YPhKZC7r2u zum~W^bT=pI&N0=%e>V`M(}bjlUcw+x&z1h6-(k%@0Y!a`YhQ%3#%&8=Oye0c6ny6n(EyxjpE+9P`J?5 zAC-O~3hDK5pcsG5JYqcx6`<=n8!l9icR^I6Zze&*c2LmyqFypvReZ+UnwKVryKY{s zC;qqwH`}yp$FSI5XkvKjz!7^b6V-)ujMJ5rBsOh`nusnnZo6SJMdA9$C*aNICNgry z`?v>{eMP)Nq~Has_Ayz>E2v{5C-phQ+Mqu4=)p^s5HD~#4~$0(sIl?A@LfybT<85K zmiuGv*-IX#!SANIl*X{=^=zPJb|(^dz8x{eflH>gOQw7 zQ!=AG$|1vpXI-TD#R^8{kUCWNA$5kbRDbG>SSlI%WYa-RxTho<R<5s`-?PpLwd`!(Hu8*!B*&a}+bI$uh&RTAj`bC$gEbSH!j< zD-XCG*ebL}w7N_zv{Xlgl|BucPiR*fKAFX|E zKeceALy`Wp_!?i9RbB<-k}YS4pQS~gAs$HA`b!5N+YRVx=4qFwKEcx?*i)i2#2tTc z?JE3o3GdRI(i>oyFDbt^AjkT%E!H1W2MLn!gEIU6P95Y9@c5oOxOFQMM*)hxk z)9y&3>F|3&;bPP7p6sgJm?~qeU8rj-)uZtiD**}U5|yHLrK)|YI~X`RqLm`Fe+(=% zd0edL1m`3BFu*2k(s|L&Si2?Z+|(3I*MwsA+3S(nP4Zitu%}Sg-RpYaMq(#GB#!!9 zB(_08-OUBHci&2X=$ii3Cv56_pD<8Ln_pqRGXlIh|GrQC9-)}?+x{v5On(iQ_kb!bSHBCJ{_ro(pZ_1}2|FU>};|xM-ESJgvjzTICZ$Au;I%-fS3zd$9 zdfgt1*{L3Na2C|XwlK?L=C z#s~AjdTR*h-WYQtW|qE*+zlWtgR;t`SWMv8HU06|tJ}V&5Ka6Q>b!Yh$`@$4-?ULV1CMCilXg@$80VIutiBu!SapMQmJ3Sz># zob$Q6l{+UgM3!0sPJ)4Fs-9cQ4g;EAk~t-MGHS$2Ga7%c)Z%Jec6mYlpmZ_W2b+b2 z4oGjAz%g2h2|#qytS%%#P7K~dTPeB{6||C~!l`fOwkeoY3>HrMnR@h(fL}mi=xZ|+ z4^Ped2O>@QbFR&Sp@x;d?08o2#nx}POEd!ulf2|jpCBrEN+Y34W9@;cBCRX|D67qK z;r6Ipp=I~JH>b7vAYU{ZEK8_VP`WYSx)m>UlhfP)BGI`1=LXbtOjnA~3NRmh_I(=U zFuA8)x!|CVX%%$BSREb*lYt|vJ;jtkBlc*#L5peGi#F1PeY!AjCOk9J=XaNJrrAp; zg2K$@y}4bL@;y-1=b@WQ%Q#ZNqNMaWZLg9~In374_TQo;!`jf&wfBKu*O=zIuSl_C z@-6rlUwt_f>{caz{m|Upqtv;jrALKqkgGcOC8ddo5_i~|#zv-_!lMrt36Uz?D*~ub z`(xD&@J0>F2WBL-6)s({Xq@J=SEV6FG?dzth6zuYc~>?h(8SmuJU0$JK3Z%V!=gkG zY~}*BZ)d`KZbjXj!#8MEtB>tcyI@)Zna@?gVha(@Qf+dwHK|)YNNV=z<8r7}bg zJC(tEKSO5`Kr7RW&*#Y_f%Y6LJ@DZ|_J}9yDF-5TGvFMs2UfLlY_Q0&ot!y!8)0rE zgj5u=o*>JZcB0#i1>Q~XJbXD{6bfuzIa5zk)v$~%n+6W6;yKW^q|8&QZpUeF8m3IW zx~eyzmd^?4`XB?BNJ~=8Eu(K&rCF(vS?iMAw8EsUMLm7wNTYR(QNFHKT46YpbIm*G zCz$6wgZ+4ugaA0dFEDRs^3sktm_Ir1#J+E5-GInmq zU;65FjV^nzsf0Uoz(PqrUfoiw9xbZ4C?Zf@G^OG%6=eW(U;IvFh>-Slm6sRiBy;O#3OQ%2 zq}~8j0tpO>7$g9>m?bFOPv|_flrR|m)j@NXu_wQp;XH8%#6xr<4cijx;5Z(9BJteD zE8_#l+*MqEr^ZHD<0kXxwwkK>qE4DidO_(`#I^%?s*h9CKcp+_NI}Opvdbc?<3sm5 ztv9tc9WbIANoLOL&`8=O^{UGAnTn)zAvIXGvBb+N@3U014(grF=q@DZ3IYf`}x~#8}I!AJM zj@rHEry`yxtCKSM2DY;pJa+-#e!~RD6OBUSB46!~`+x(9R{+Mq+W5*i^(F->q88XO zU=&QA<8dzv#WXA>dQ&D}6`b(Gd%Amqwf*dx*qq8>kulGEU>lKD5;Md2cAR zPgDY*S%A75vmXoOUaH#h*~Wd;1E1fS#;X>6k4`NbP`2x_Qu{c;o)X@=CGIfi$L42Jkfc~RIqsF zk!K$DgW14HSyDIPU6rh7fd{^DJ@TM*uxbzsjGvixjG?)V14{pBmR6p#JimR0AkT{* zoD5B)1U44Wec~jowK37iJ;j(Fy0E(Gc)ou^ppw8}_I;pcW&PQ94AZ?CiNA^c{LS;k zMo1nF?mNp9s&6b$7FYn5CnUF)Cs=)E+RI4~I{cIfU0VDQOLqX4C$j*{6ZT44a5EXB zTgwxU>Cu7auB}K$1~Kr9=;w*@or&3&qIr&Cc*UAew(7ivOZ@&;A>T;&*rU`$EQl zAE5aQs{A;d|Iy&izov-afrmSI0br2>;Kf}N=U(%h?I(Mne^7YA_OneV7UpmLMMR?k zjxr2TV4kgp{C;4JK_|Yl`Dnv8v#6({n>`5{w0VW{37kQtgwWJ{lY@{sz5b1FE6a`8 zxQHOpD>W!r`V`K0hFx~WQU+kfSKfid`}Utx+S_!3IC#VgVN9k-8>1x8+A+R|oOa>UzbD2#^+As6F`^sx$6fD9 zIBbtXENWjoiI8%ByPaaM$O3kk7{49iEGhSN$?WC*Xxne_iKSzY?j+5=x$8U`2O`vw1>;2~a^mA8gszkKjHG9_ zwNzi)eGbgwxL*ek!L#(;lmIXG?=y@Vx1lx@W%L}U!?2CUZo!nvQm2FjQ z%#Cb~O$fi<-tQyHU&HkGDR_Uyp+8p~`cKA17EWf?Ur({`BHV2Zygdc*?A=C;`^^!y zpKL$=QDfjw_I8-r?`0e^F;Y=ogm5Ca9%Y1|7S?!paZCgke7Tu|_B2+hl}seEcBuH$3H-MJnrz!*6Oh8SI2^sVrYFovzLd~TW5z$yNX5oxq$yYlj0hqVw4fu zgI>xcv8%UqB)oI2S_rcoS_r{=1-ZK38F(K88r_B1RorUZwI4IETd3-%T7D7E)do!x zb}i+2krY0ujQ6s!QJ{83N+hTat4v$Dn;w*;1+F1e52DPp05cA@!9yE@%S+`I0Wsp1 zz(%-%@=5y*p39N}=i^$<79PEs(2`iflA}3hy z5cwBz*`wAGsP2=87Os^+d)0E)0W)cktjXO+L*91mrlE8Z2R6u6_BBu;!wRT$?fifx zR}eboQD#R+I+BR$d_s{wXs4yj7NA&;tCLqX)G?&1@Yzr(J!36!(RL)8G<9$GgMCf+r|aa(+)*6lk>P_hm`T@H}C9x0So#-u!&5p|0pOl`JEV&N919$>2d^o6)hKzU;!qo-jFn9;m$bs z?R;?q)m88L2jZpN<)gBH%ooqF(7q|P^q;<(-3>RW(j)g*4*opN%cJ&{g=Pa_p&_q- zWuc8-ePyA6!VK6je}API8Nb1*zel9!Wcs%E4ZzZOHE=-v`sV}vT|Mu+8u(v<{(hkU zBOLt&HvR$||49JzXZ&ndX10H!NOT9OZb8@WDFD!Q$H~86c=*ZQ?;jO({bXB)?VpTW zl)o`ga2fTq0GKCC+?gl1M#`BJO-hRZ=%O?XiYR%~VL|*(uTbFDq50JwuwBxKqb@n- zUigj1XYww*@R*kU~BL&JX)qGq(U% z&rZipF9Mi^W^sMF3!ERGTOyI5JTk82%PZsX`b9Irp^)py_|M*qL~y8u$`}k01t3KW ziUe@*jm>=e&$-Vs2a_j>hGz9C-&r3tU|HjaoHxh{aN4FilEWF;VhOab_HoWWAN(?P zK26pTl*Fc#A|KlwT|F|WlGs7`V%QRaQEgL{tL*(yJ2FIO+cwk92{CZCirv*~{1=ic z!Z8O8U8=KWDA`JAFI!S(iRzps+7B8u1z)s>n>vK8sTa*#Fkpo>I1BFS!*ubAJWmVq zxN+O5f1!ja|3bd22L_Fo0bS>4ptDbYL>OT?iV@D9!V}9^XJ1OvrC+!36)jX*@H1^| z#aB{-<8le|z*I89<1{ntj?cjpe0?Pv!=PiGA6)SbSw9LH;VE7|quR$xW8eYReR-p} zHl`0-1O=@fD^red@C>v2)D8!aJ7o!#lvJQGxsYnRtDpp=>r$GVW}kCinKJKTli1Ug zkzx`!^|d`Ck+f3xx2TS9Nkn?d6t=l=!`>xY#;7DZyJ1mzaDInKV)G`j9+8g7mTZ6qISR~X!r7VXsjnWnKd*Hv^kC*ctq>pd^) zntOw#rzOIn_TjprqJ0S^vfKEv5P8z0fI4l`TVcmWL#*9SQgTf)!KS9dQin5hg*ZS@ z!$k&~YU+GKh;t7*od96q3&=lUDt{fJep8P89S|zhy;)R%>-il(W#;@10QIgS{QoOJ z{WAb777^ipG55gs3ya0<_7p%MyPMs;AIQF`KmO?H_=5&AfThJx@eA15?v0NDG~Hr$ z{x}QCb>_3<4%0w3LEMF46%dDQ+AFeRDuegcT0f`Vx}vuu=p$ zXoTsUgf1{$D$*bU>r$7zu4@Fvewf6=uVSHn&?JyODKQSkHkio$AIwvFH$r*dvck%qBui3F#ip7#PDQ67DiB)d#s_ zcVs|!RHB%G5beg6SQS*W3Cdpp`!7|^vm>Q21aPZMYzKgd6ar6^O}=f44)zbK`2YmH zkwWoQKtA@G?`2GSfaJ)eYQ5}4x=C(j;0!`us>gwZJgcTcHCg~!uceOu+V!#(mRx1g zktnfn@B*w>BuqL+_Iv!#K4%jn!Ig^=Hkg`dm)aW&64d&VFLzCpBM7bBcndO#UW>wD z*{DE6HzO#Rp&>4Oue9xT!`*kV3s9N>H>=2Xz%}j> z;^c@n8akV-4HJ8(k~syFz^%~1?7#_2qe~^$1EFwS&P2?9;RJ7n6NIY{FN?M3&l>nF zjhMAudkH=O$;-L#XfXE(dXKNQVMx>rl3qIneJ2{n)kbnrdBZUl{ZN;bbkS|TjW;pZ zNPWp_VK*Uf5vR_{3SEA>?I$bv96^O{fGp3QJ*(SB95(W4^N zEo0{}?XV%dwbb!#S&UMtIc+=lfUB7ygZ!3#eikS_VU9Fx6+Ak4fEAwx(R!n@!hUN| z6z%73HpF~1M6Hk}5l>uI;p>GH{?FTvbH5TE*}vKJf3yLxFyE`csVGS~&@e*HUZ6Gj zH4gUrjWCz#4rMvsSi|fLlRhjGEC8Qo>1k^tKGyFg7KFRZjz`XZQuYV~cOKkmad^iu zZM^XzS;NWRBgWA{uqx`^DKOM*&j`!qi3HF&8K%;JJ&Tu#GazzeuGkU|Las5l zRW-qGMkg)cs9>AS+_jCo@J2=xr!Pv(%Sjt+UMuE9FvXX^;On8$p|Tj5i5i;v&4!Tc zrc^JTQHr|u^wIPLq;rX8%4W0Aq}M0rWlZ4(4ktQ{IxhrJK7<~?Vl2&Ni4-xYIWL1h zLD2MMkyMW*S##giw8Wn5i|T%JiIX_~L5zlrZoTGV1dCCC8tfPf+O$wXIvuYVQc3_F z8J6&Hf;RJ(55z8NX7bJim>C~qk}qA``NCA|stG0@mixAoejuoNcE|` z*~QhA?4SCzTmQ3ty6*%#00dSffMCaI0$u>#M?4rI`4t?1=5@nY&FfzVS5$=nn%A#8 zhiNK1<7`;(23KZ{Lf*cRstaP(2m+>%+tCg@Vp~wyyd5FUo%I2XkS2XQLOOCcLdwf2 zokq@~t>SCkq-S*54q&i$-!WLXCc4;}Ne+m)&F`R*+QbcGOHG(OrdLb-KcG>eWWWYj z|FaLRI^Iff*;i~&o~#iI^62Pl_KRe{`M@gbYPN%UN>4DklZ2v3r+~)Yh%9$5{xGDj z==2MC3y)pi_t%V(@tbS*J76UCd+j<7&aW7Wk@@E_68r6f|7_j5Ths+u_CNmnGr+Jv zLk)zDQ$*+oa(--_qD=py4|O*(3n+=)y#wnV?z*jz+`fX4^)86qZ%eWNx!Y3gKiQUI z`b(F<(aFKY!1{Ktyj3G$W&d|OLih6R{|mYVfNlKm$;^T-Z_wWL@T|v48~ifx(>3m;199BL%R8$e$zf^?^u5E}bC{lU(B|yjxtyx+K95 z+!uRwE#9_|DkyfzndR0o!gwym1F?V@CqZ_2QNE1q8&#lOF}p}`h~>rKhfuWRLvYHm zEcetKdjAp?1KhRe+IQLhvya`w;tcp!#0I>>^{{uCwS8%R!{rI9*?v*zH2g4nh?+XY zpPmmo2`H&2eC{8F6Od6aPz`xgjsz_a7Qaf7kO=<_8e>l14etfe8RIC}2OiBQa#V?g zU;#_pPvG|miqicCM4Y)oATS8P9nU=?_}q5jdWBEotYpaqUDruirurkL+aO+x4dK=a zJ#97+*vBnSXHB$LPZhCJuge9M7dX#{A^-5QNKo-%0Jr~+5%JzExZS?{67h={jEgoD z^A3e|CRwyCPe@`sw*SQ(PS zX_oRR+TR4GwO+%D^23yt1=OSuw!uCMf8qYYZX&ZV)lMiZTG5RdPrV)(D+t!6Xrlq# zhXD0L*pY$hslw|nt!^A@-Qa@@)l$4r5SwY57asjjWvl|@6tFi!PNq2PA=8|l(|9wI zQ(qn7y{59b-#7!gZ-U`}O75(g-$5kOj_Np-)ZI79XP{H<7sV^5-6->V; z<)Mq)dw4~S6-`Ql9H>`F9Mvajr!bqvrAT^YWHL@jwjqv6_g zfF56OnP|5g7wfmGinV?U+{tP))3Kq_A_uebWwu^zQaAERchxFOstu0V+bP>!{>Nhi zn#lGC#e?ztdkHcx9}L(d#SL;V#E&UUeFBT)4oA(8P?=N0gl=@Ss+Z9rebdu;^*J|o z3MkB88y{+N*2?|Z0m}0uMPTLi)zJ3pobAJ!g_wEgv={WFD$ z+vlNAY(;*QJFH=Q%VI*-@7-S48;O`NA`9lNk6%VQbOtdm+YlU+?>S}}d?d?8-5Aaz znD2N=w8zbeyruNW&?Ti{3UhplWZx;07oNoMtg)>+SQC&e`zV++K&U>3mBHTCsR)>- zr{Crk?`u>y8O!x+DoWYb^TvZ3ror_DOH|Oot=dBinW&w@T}f?jmhLA1BE%`I3ZH|i zJgye$wr|!7E6o$qKTd#;a#6g-{E}1`sIHY!(w=@Xp?wC9iq7lmc`nyQ>&OidMIQ?A z_bC}G`%f15*_k=MWzov0$h&9Y_z5kP;eCkp_$fi?h?VGeW>E zLi2(dSO~zKhstzia-(|9icp`Uu}IZ{T(`lTvqVAb%rGfrFDl7PFTL{PF9+e12@x`T zb$br!$OifWq-tA!qP+8sb(Ho26(#fH*K>wsGM=tSwyPdcg*CnP((v&TVrU&5B!4FS ztd+&YvzE{coSACFZRipU3>_)z-CV+wtds*)pJp-c4vPcBM&M!-D4X* ztGVGtM_^Qjb#Ey+hMLPGo1WJLTFOTtJ#_yO9OsU{Ee6AJblmE5d1Q<> zio72o1999(WC^zs6R)&BRHj8V{BYkOf|+ar_<*@-hs+~Gl;yR@xnM8Gfv3+kGW$Zvu%)$r95fAsC(5V%rOlk_&AJk~zz2;Bj-0Ob= z*Abn|HNtdiIBjBAg3Fb+!*u!xXspt`fiU2U1>}H>S&36S^lP1$L&zoRn3=iGDd;nz z`xi$9aihCHS|f5)vo0-|MLim6M>PdwX9hWWmb4=ml#M#cgX!I=cH163FUx@Kd6oQa zjncu>0~&m`*F@P_Xb+=2`4r1(O?G%2MU)a=knKD^fV;p+ zt^FJ#S)2WY(81>#G~Y;#$@$ZJ0~cVd$gf2z1Ke zC=aABw*?=RaN=3kD2|J!9lC}qBQM(L<#cYofRW{FDjcc)0|CM!$xNPfbfiY##xI2% z9v9XqeIK)h+zSZO(8aHm*E%aUY$8rNzO2qAr795*lZ6|au`Va>nRg?pO=z~3_uF}W zf6V}+#Q#7rzXM2T$vLNwcdcOT8xHg!-_J<_@d^ zh17afXS7Uvx!0O1ke-B3zk?>4=a(aG1P3Rc)r%)ia^6K?fsRak$(An!jdL9qW|slm zo1LK{|4G3MN0djE!0GKFrTPXumRj2b9c{G+2Ks80XcW|=WIo6eGt?Jg-tW5dWiXr) z18h-;)DqX9FI9!g+HJr~>U`iVrmk|!THdg7K?}nI7$9t^QSaAWTl1H2u|QweXgmRL z#VyomKgZqe<&XR{cvM?45V8PIg~-);n4(XRugAsAP)@~hXnx7Y?HZ4zj@UH_k41w} z@+ol@DWY9CeQ?lk(`H_P(V#_!Ib=0$7OdZts}quG`(o_VIEw)&=e|Kt9=Lb~GOXv~ZVc4OszyY4*c?cM{U zSa(!2V@&~-*A|B$v-)NGHQYH%e&d|$6ABtguOm%RoIPtD%M3X5-|M293T3 zLTiMRQ&#R;;HbozN>nwvblH+Knx^}H)Mb_L`&NYx_{#4g6f4I!J+mJbfqp2IWB$mM z$$we#AagEZ>ehpdndZ)e%x4-FfI8b>%nR>7k#bg8VLmuREAD{{qsbBqM&VvhWGC-{`N=H%X4XaPJe3WO$dZ=NTsLB>35ReVR_m_&1@tflL?}0Yi?ir8)xL0=^ zEWnh}PovGdoBR9Lgnta8{xAIBzkuS80nDETq5NN8Co>z{qhCj8cYx~_lHHy{c&qIH z&vTC)-*nG@6jlD9%telG>Iy$zKI8qeC7?5MYe$=|QVv|-rS_P&<%Am4>}E_Yl24Yr zT}&t|8KSG%b<0?qcIdIkJG(Ev(Pr{TbjKHqMv3VrNgc)TzJt|E>(F^@Al>n6B@d=r@a|vy3w@!yk61Z+V*sviGP5lQ@7Z+r26tGVrkrp@`}&A zeo!tEv|ax*j_2XJ0kp-EbSvU|28KT^Pw&G6FrwjtfH%W_DHRm3M7ul z2XgGlkyv=mXzFF{F;UKv~x*eF-Y#s5W>+^#Fyo| zY3d4wl8d-55g8lT3g%cpWO`&aNiu$R6s;eAZ!Nsw@Lca)so-8ifHyzi#oSgZAsEo1 zf?*2U(<0>UmABbG2(+Bc@MGKQ4txj#$%=IS4(fd^ETyqMp-)$gbQ{{6879Hrzlfa( z=ZlUF#WFu@faAYd5^@LUZi{=v1I~JRkm>Q%kup6Rf(y$@{FOmg3)v@PBl0Ko3e@>% z@DUyzMMdQPw6r?RI5!V>BWao-W(h8fRu#?F zjcV*CrLq**kXItF|$JM@&2U)VgG5Y_f^I zo@>A!@6d{uLc@8YO1sy$*i(l@+?feN!?9T7l^e_SENy&h#*Ve0>}13Cp7-A6q#Z=B z2?697z^R0fSf$~}vuLs+Tu0VNaTx)P+RMiQ5yW%_q0^NOYaLd2TE?0d`AP}YBwF4& z15{N@7>DjzJlzD*mu4v2nJzv^BdKPLVR<<18mvi?f!2y(PMgD0laa6nrz>IbzEmlK z{H~~W>o6jqA?YsC4g?{1=REeax6NEcW7l0x_y!XNsORNM&zNX3 zQH&{|`CsDITd_2qwIi3PjojU`W!FKeehm2N{rn^>qV!8H8+YWw9nLw%m3COw9^)`2 zQbaJmw@KqU_8L(@;QG}8l~><0VylTZvg3^U8Y#rIDgw*d7_6_lM=(vJHYC^ zX1MQ3r&LnXAiG|cog4qUWJDfLH=5oLW^oc8vwGpgvz^ zPfrD(e#{nI2+*^A(}K&CQ&NHV(y(jH*FR1tK(7+|IMKVF6Zqj0wt7`*2B{(V9irom zugwrEoHrYboIQ$nhm33eZsX)_UB7$hSP)65k&Z=KcrQZ*q0l{vi$k<-&`JY54`Wve zL=>$^KsM>IXglN<4xq1OWWaVw$oHMDZ3nw;4_P3T?ub7FHMt%HM|8Ott|q(|DdEKw z9q3gw-33drUaE5N2tw94GSj`H9h3)i_kav_UV?5i(E>0EiXTTPUdesch}c+BO3K6oF|)$ zw8+U!bt5z+d=XZ5-PM*R`$EmoGi{S2qBKp#DTCE=i>7l%!gJFuKQS(QD0Fu93=3t^ zgGyVC3#0hemD_fY#ex;T@99^wb_ZCCqhp?rZW}(MKGo}JDP2(8;C#0nbfvI%tsqhM zfN8r|Y)51-a!FDF*gaVAi`N)o{LS$V*hPZd$GLGVwlL9wi0Zz>dwL6 z5ZCNViY0(IA~L6RoGb2#%7uCNS+4ciA{S+5WXqeB?&k#6a+8PXcBW>}=y zg3i7*Qm&TJO-?9>0f=Ny0f>m#$5k1*0FoiZGICjlvS5qFuS~7e0_w)vOAA;wW{98V zKk=aU=gL#1iGoyptuL_-^9C$)`O!%Ro?TpMQbqS|^RO3|HZj-1%_kvQn1se~Y*JNc zjD#4v=VN%zDrn{}&WM{~758vmoGaOwE1=}P9IXz~(eQmWp zaqbJ5*A(1u$iV@-Rwiv68HOCk8YkmwX297E_-bMzN;DJ8WXf}p$P@%dEo^wHrQ~}T zYZY!syHe>Tkn=iK0ACk#kmW68gmfZ$b<(1|=|;0B(Od=;@g{`AzQYEg^9Lpb7?z{S zwD#d6c!U5&BS-&CXpF?rSZ~?VUyu#xV^`g&k&C5%FK;bM>VYL;SNvL?~3_^#KFyz(aAsY z@=iO|0h21*-DEKM^{7saYP?*iHrR#1Sm1MI5>wfy8C*x14sA$3?%u5}B93e~DrnC4 zI}#<8LU4-6yIO2UHW6s&`|f(_ItHdE86VV5zW|n2XK|n)LwPqw?z?AeO6iaFk`!f{ zs2MR5+=!aqe0qCR+y*&Ad1?-Z9}Lxn?@xSarkJ4pI)oT?3#grs4DIk(Bp-6MuU5`^dsx~0?68~tmO57=9@vMc6QiQHa=mK5X zao-r+fxWgl3!lz`GR(-3W-t?Fl|IK4Qfdd!Jcd@?{GsTQ^c1<>0hOwq>-bdh-Bdb# zHa16|-`cK0`4`Cu(s`r4EET1IH(y%ntE_X4%4_$G;?IF))4&ztG{s2XtKgn|7DBTQ zPjyyUFW4zK8pnt2kvpNoTh*!Dj4@SuP1g2IInF33mJ8|Gcy9xplKaPhiq4`BOTU0nJQm#q)FkIz0EL?qqQEDIO7mChsH%PWsA$<;{3pLgJOBD8+!a3IX(k>B)S|8t96`!f30TcO%5t!HWi2?nDVDlJf@ zwk`VB4?TMnAdl5b5CJ1>Vj@@L%mlCL1>uV|{q6(bQC|uQVsJ$;1T6r3t_B)C0>yS4 z7g_|4YEoz$5m6l^6p@r<1yK@P={(^RcISzT6Rg>dwQ0=Mz%To(Vt@s8&qKnjwqceF z(lso&fT%(NUrjd2bkUgREF_HSH_<3O3G3+_wgs86p~DYP{aIE!gB_<@wpBCs)JR9Q zIxJEN~4_C--W-mmY- zH!y|qh4*r!7_uL<<-35@=Vi6-^hC2`^C zv1^a>V9U6ffXLo6?0&~4B;8PgO|1Y$o4sL#1+-ia8n2MzatuU`6#H?{sZ91J99#ZO zsQ0lpR^AzV*~cSbl+`Ef^!S|c=yGoDkFEqi*%o1A{!tO(iRwW{487n1%b*{4zsmFV zWiIB_Q^9Vfuu+X7Ia`P%l1cv=@da|w#%uALE|bpjMLfO{70hPLd|z9}P9*IB7r2)@ z9pG82a}>>(pP)XzHu{j9f`T547qU8qdJbeZL=M1nHa3AR5)$#FZq~dh;!r$EcnvCa z5IYdgB!~+Br2yGeC0Y#6PY1SKv9CxFoMUuz3eRo1|J3LTCCTq$)|FcRBmJgga_BHT zou`<~rwRvwZTA!;|4|ld=@lM^z){y8XDXY%=8E|`Tk^B~xD1q+rI%ALyUP_~uHX4? zyJg&_V_}WY(FC0gV9<){*U7YE&?~uB-?E%8_B+CCPR=@Xcyx+4Y+r$0Z8e2*I!-GF zG%~m{CObz@eh9TrcJl2rbGi#qQ{vXyBipuXOo73di$IA-b8ivcHI*@`1!6dsdc$m7 z`HDP4ZBA9U#3tcSd)Zg-Q4TExPK6<8czm@O2#>4{>b$d4$myrzQjtvjO6w3k^Bhly ze4xNs){lU;H@mOvc{nwZFM<1P^?Qsd3lvS%)ViHn8{O%y;`KqLjKQjzWNvSqD{E^x zLNPusI`LdvcKC-ta`5^Z9*u^jA#&mo^%Grr@wchoA3uAuqX+2beK9Nku+owpQG|91 zhvWje_KC5x5M`>1GSGG(p|J$SBprAgO-~-KAvS3az!{NL`a~_}caxD^&K8;Up05eV zXd$9PL)ja;Ym9v=!HGgN`B6emLr-9(+EX{Y_oazA2(0rJMHM<; z=ul%UPPpKWPB!CKHss2AbmpUb)}vPou49@iRHK!=wO+L@cQX%QiPLP|e{}x-WM2&U zqbBxW90-op4wyK>=MWj_p?&QDH{(!F=OAJ4ogr$;jBZ!j7-NN>hSGsUqwqCDpC2Z) z&|(Bw&p0p7En0oW{l;9szIld>3-%`u(L1F!#i2bsB+8FEi%;ndm;M4LOeED$%mh&fD zkpHGc56<5-eEzJ1%EZq0!w9U7x|TIPH|*EtJbh4%6m|kR&9b`~?#JaPlS>K0UDJ7n za5n~`hG{>DwUYo;OP3IY$Br@G6LIkSyO_a=g)B)|+!4Pe+6@pj*ngFmDUp;-OOdE)!J>EQ%q|XPLdr;J;VH&6$MTt(GV2`$M z!9Ee^Cx9k{L^^6DJ<%WP14kzv@%Qfcy^>8ue}32>=kb=}G|6A!!DgCn|Lk*n?#Vc) zEIZoNH3AY$yvv02?T|6r*G-;y9uv83gNw7mBr*v_@U}!5TZT1V2NYU)_Yby3K8$Zx zvZ7SU!aCXrnGZMR7*#G92Bdf)Yjmw#(X9|O9MZy4qaF!$yc6qYJgE92TVwkqUvb$p z;$NSd+feiJi8K#=6sBpy8kob;5!&Y06FSfQJZJsHznxe6B=x zzv)9$?3O|j>C`lOcdyDkPyGu`8&rZ(?wfLOx|-zf)?LHU5rp^oC&`5Z3a59;q8~o7 zM@h*5YqcwU!o_q7?{(!(nbgm)BDa08d#8Ex69jdV#+Q$U%@eGma{S8%&DVhok)Qj6 zn!hH0lpscsV$J7R!m30DoR(Z35iROht(;1pfK&TzLr_&Lc%@@EADlI~3QBI~;tEA~ ztTQMf_bn_3Ho+Vd1U4-VW$EIKNum!kkl6djK_n;Dy&p>FxS~v%Fu6;Ovz64MmS;Fo zbIH9JDazzd%!zf#{oKYjHSBdg@Md2G8E))a;J%07_Hii&5o5l>MflmmIx3hO2 z>#DomlgUlo@GXo;B2^7p9j;c#WNg6VwOtPj`KrcjAY8%?DjunY(2NS=yQ(nQ%@x7- zPX?#U>2hQ54_g`u%ia&FJHhdeCQwz zX7o6o*Xpu&$OqJ3=YF*0nf#n6#OenVz0N+AKIA@KjfrT6uZT&Y!le-#Qesn0h?0^G zoG20iQV>7hiirBu8#O5kH?EJ8yYvm>O9xE12CVEo?mRPcil^kMR!AWL(~+Ir2}L(W zh^jZwIXJy$^b|p?G(Vt%?YsDTHer~9yf*^6FB#qnOI*fgAoeU`7f7JFPhc|WtQGua z3y^V4QEx?@IO(P(k4tT^6(*Xv8gsK6`ZkkO@XnEcf9;tIbB`mE=~mQ!u!x-Od6Q~W z6RMF%e@^I0--teqv3HUL@kgQ4RL6rdY8Ueuu)=BMbv)~%z1WKVdFIbOoG(5g%x@N` zw7DyH?%g+-G;*sINk2RHo;Nv%nd)!UvGMVlb$VZ=6)@}0HCRmUtZcMuE2C){iDFTp>&=bT`w+F-N(HO2TUlO)q!=%CBM%-u~XM&xijJOrF0`@Avr&E9X!4ga3R^V9o%_5DU>4Z#vTL8=XY)S2{^>%lH$W zglCucBC}y{KGPHOA;xbi+2CRWmBB#fxk38?8n<5iuU-O1+LvWZiQx`%hWg*#=k8-C zA%od5A$fq_QiySdFo-S%QQ`Zny*BAFKo)69TMl6Pl1y_dwy)aUI~Vb}?L$YkFHxtp zF9M``w!aMuXy-l+3Ou>bO^PGyP-4g4eRH2PC8S_FosdMXkeN~a#Z18L$xMLw=>TX_ z_3^Hr|HVwe(;E2uP%%9vTmQ;bkDdJo7Rj$(0)LPF-1lSq1oQr*Grj-IuKpPN|8<)1 zkFHr+L^=LOF7cg3@{~(_d&yI_@SU6V1F3}bCs`T)uGzwGdb59;EdT&N(88ZOIg#Yt z&eda-tH1;yk(2|MqWYZlw!C|qOP!uU#JAH1TWw6S@`Q?mC zH?K7{rEhc*+Y*OX$IvLC)IZjJWr#aR8x99(pLMm+WR)Bam?$ugy)!&K_kH^9-f&)$vAi+r0uGCR1bUg`t)AUXur6|E_TU&ViOL@N6XX`gTgCADT)9ufJ z#+9jwyApzG{IJ<*;KxZ=^5jNBm1riAhTLE0-%9B7lnmfshkJJi1~|#W7#fVAd&<1E zw`*md^0zB+7+w>6>xWs@q`mDB=GVt#JAY1-r*gBH(fq!1a|krk8#<(M(k~g_zkwpi zwJzmI{d7XZCNH-LRmJm!XFlW{o^h5T=e@~u#eWT=5PTcXagtV-ew>!FT|cpl1f^~qk9wNm@kAYqLjb(t4#-pAhcGz%3&!g9|_3n z`!sWQ$J9bTYl4P3c@%Pns_+UztF#&nbscPt2O<6`5xjfiNUxSJNbXSO7dp|HdazC8%283(vovIN>{!Cu>&RDqUP#hH3s7Z7==L3vjB6vPgGp?Eb(3vZ)Zw@J zP6{jLyEB(#_*af%E9wB&qc4cY57d<)6NL6t)y z>FCywGA%sUG_2~y{fDw9*6~CFPLP6Y@cj30;IA?88=`Way<8&xvTJrrLR2bHqn}(@ zMT!70acJ=dDfg_PJP60v!VQ`?fGEzK4AP_L()n87^+wmc0Afb%D31g5xT-o*N65c9 z;BEBo^}*MNB#c5G(-%VVfn=?>7#c{9w5Aj0vxxrc_?uu0*oYf5h88)P@=MB^n2>v; zYPZwM2-0EngkJI(zYdvYBoY$ ziW_+57{6Eb&Yt`H;4!|wQa#TacD2@hS;{iv#(jL-KyM4*za>M?Jw?IL`e>J%w=Mp~ z0BQWC;rmw?X>yPJJ|LU<2|0GrtM&J&id3*@c7cM>3s^ved*S&65gF*wSli zK>_u#+x=2~FLX?2=`yEYLab?BLv@D})%hL0sLZw8Fi9*M8`J9uW7w zv@2TLE(sgDK#k>ru#=4=5Uu?1FX{9yZ8?Lx05j&@(11tuPy=b ziWgOq6T6X|7VL{d?WPE|ucU2?EDD#ngG|g9>ECv^VOM9@A7=1w4cr@)PB3)B9{X`o zM|Wu$H>jIz+v$+xlofN;ix0)Wxyrh898@^enl+T^t#F(dwwL1oy>{f+=Wctkt&ng+ zo9gw{zrtH5iXhGUEP$Z{4*2B$c34yeETLWqa_TDGOQ0za)fj7jx@E7}9JZiG(`Qaq ze0&2fi^PKtnlXZ;b*|~97pOsJ`0@m`-fmFrx_>MdNJ>C^h2(tUe)QY(bR1VpZ{sI|__8 zhpINZ`o|4$G71mv%~KZ-a`+0$#=RBlaS+E4FPJ&MGHM>#PE^DpYD#M)4q&?I(=!WIVCt!vq+YL zLkQgG4v6vfoZ!v#Sf1fLoprcvl~O6lNTMYz2^&7;w^35T-loSpPHfDyo@)Mb{7l8k zzfEeLhoaWVg5O(Yo%7R5;*qReC!nuuyU=sUXVa&bi{THXr`Z6%0kMB}%Ca;4(5h5X zk*e`c1e2+f%&ZbZxHtw{T9GR#w5C#Rr7p>RG&nQ6rCYWL7HOkt_2fr=9 zV+d;SrJ+?QhTt}f>D-rIehQY;zGzx2)b&y3r{}mIM;M6 z1{56hSdO?on@?^U!%78gp6d0$retTl5EJ{!0 zW15jKMqJ>s@&`1AD%9ZG#vY?BWY$EmnV`z$!+mw`D+b7^g)qnl?M^7&I?ucEZ(d#* zV?td}7s8Yl$GX+98e%ZFHTn2)v80KcZ%tq-?&qh-$wDuXww`uAlFu~cUO z1!&3`;Ys%9fl$Y?-Q_tx~Zk}hP}5*v?2yImxAPM`M=0VT)|^)i4_*ZcD>RQ zCXedsc92UbXx{5D9~Oi#Fq$bac4aAIP_ZwU9>`v8VH$GT>TQ%Wt$;W7z#>pkm0m^) zse`56EKX||*GHb%;% zD5P)8KeusoA|aX*K61e*78hO@zqEiHelRzybWe>piBA30uf#qMI;VP)rx7mpp>ixj@lhmyxO4WVUgFo}0GlyV> zGlxT23WYq8hJB;rI^wJY;k+5@+?2{YYe#WFo)5N>;H@0l4vm)sJUHC#i%b$GtF!HB zy~`CA@`{mYB|&;7h_M8dU({VeJ22t64!4MSO&RGQ-X?V)c)i#XLdWOWNUvn)?eTS| z7kotk(Cb%;TgJZzdAzi0Xw8-gEIf zSf!Z?4$b3nGS3o#`V9`kCBM23o0fJ)>54?2>|=dmfx+50(1AB{!%}iBNG&RJXko8R zM>V3_uRYJ|?2>P!P%9T$by!kNc1b67M^-@Mh{mCJYfZx4tt?gQ zVeW~|&O6#Tf|F)kp9-IMrJ4?Z^fUNb1`GQSKZ7SEQ;qi|R`M6g(8@Gc<9&3V8UiVvZ}3#kpCg7dpaN>@4cg2pQ~9?-4e z6l^h!8{H&)LT2Wmg{#mjjk?{q6lyDF_0%PhtBxz3)C5VJory|CDWV&`7*3yVId6aQ z6w}eg-hhyz`)~yVK_!q-=MMN)9grYz^v-IG@}grj(E^HT#snBuY8|e~dsqA6^~D^T1M?QLM$z;`bz~9` zx7bS<(pT@W)~$MW5$0Tp9q`h){A_Oc_LN@tZYZ6nZ4^?nKJ1vOvN966e$f|_&-k!h zjTdG!bQh78lKG5*WF3*nH(sy7Xj_+TPzLXmRC4rm-WGLXCCFATa1W zho}Ki+HB)5)hR>^m0`vZtK=duvNIuwm@2)ZJFM=^u`1XVx{;XPZfL6^E~X47cbKS+ zl*ZO7Qa}pZeKmtMX-?!q_!+#5y?#8L*?Oe*#k`4{dtp7R!}VA>+>ryz0}rZQ_p%tv zq*^yPjK4~=d^C}I*j&LID7vc8gjHZ~(M1BQiaOS|`ma%Pw1!_Eu!yY7?p+hUI-D(k zR>#EfDXBgJ>WBpFMMMl2w;jtQo+@u}l@Vwqc)DuVigkh5sm)=pyYlto-E-b zgUa)_x=?TV49K9I5|hOTi8Y8lBIvs4u4;&5Fs{BZ7_@n=4R@&Lj+q%$LL}PjP|PXd z4}Z0>#vXy-C}zb7a(dD6nAxTXE_L%qC;HD)UH+;uDF2Hb-`#gPzBorKYAj(1=>I3j zhx2^?yBy!_z>_tVkkIk2L{y^86c+w#Z&z9^_;HIo9$Dur)SNCs+*r))_wZUt)p&uV z?=6d+Q$QmlcIge^Uwf}*7p`E=F2*0)%I!3%JHqyEu%}^2ho)M##Ps)=zTg^F^5dTfjJKr zV$S5&kZTKnxws6c7>so&CJmp+-v^Tk_?w&OzkvJ#Wcfik1<3IWtDS}Yr^zpDfIlX` z{O`0^{Z=}CDp~*Y{=R>}-}xzj=ga?jJO9U9{vk< zj3QZz$$`Z+!ehq4nfi7d1&Mws5B^HC5_(#G*VFmV$$B~z zY=Cb!&tIMu7JXX&j)cVq_>U%Gu>pRTgvG-7!}yPkniL}GQ(NWwsjWhK-nTulWA=RD zYrUNQy0ofelNG!&2Kdu_j4!rme?S2U@d*^6He3*H$2BqcR^hO~&8IWg(Y0kUydavc z>(v+Y_m)Z|BifG|9=FH-L;6&1jj;=CYKeM5BZbgK&_KmyJS0Ioe! zt6x{bFt@e=vs+9|`ErK2NuVb3=#BL|&e@RuWKn`w_97tuwiR4N2JW5h3oK5A3;_Au z$immN&vD`N=juqqH&48W4OT9=#=+sQu|dG>TF~Q%z?5{P9fPHINsb5MAd3(08w6;%6p#-FP-wZit6MhE*9plR9-GG6#E>5)#%mh+`US$LH~Y+<~cQ0N;l=KK?D(GUss(6 z`Cx%`n9c6lGO6MMJIk^MzRV;z#T%aI5iP5&?UA+{q~}ad7(8^Ui)smSRifUlG8)r! zmDEs{vD-!Dj{%AeEg3Kcx?*_}08YXb=METQHMn|dJ`8-f2(P2(2?op%;XbCUWa7z| z#MsW2?_V2s0#e<)ona^Ewi$QN>A9RYNuT4|;d}z29H}!a%4kTA=ucZW3N#Kz8@t-j z4eU4B7V5i%K-j<(z+VMajmt-oCY!0Nk}y}E>18`FyE2ag0bMnITaRK4>{LG zDvmy-iGIK=CYcdu!>_)Sn%q^F0wq$t|Nf)?XHMUGfg_3rR{D~}`tHwU6VQ~cYT;7_ zMEgz!odgNJ#bvUBz}*dNU5;utnDCNS`+WAvsTgCPS6bS#g}_5(>w#kL$vSwStmxX2 zF*bS%PlB&0*Yif2WYZp`OA(sIneNpThioTqBsig6%^ouMU4SEwywCUJ3E9_grgG{D z8*V!8h(oS+9F@izao~qZ-Q+628aL zCYHj6x~3m$=-L}3VGk^G3OF%XyMX#mc$feXR3^L4;8xqE^%Yfzm+GF+g5caing+hi zV#x+hSg?i3o@g&(4whu%lXQbdDyQ*DdgYdt8Claa#F)$OS`Qh3GaXf-8m#L=ou5NV zIAec@S#r9_Wil(3`+Jr;u*tl3HtbJIN}8PSw9-m5gS$_Pb)zzYuO7Uplm#$ZF$@Xv zH-!P8=(?A_>QbC2aDa?Lf#*i_X701KAgUvh)h_QoZ^vO%+Qf}^L6`fo`Zj*~-C}cc z@}%qPy1f-qMVeAc3N|m1WCzsLl;0Sg74lV@QDxto>xCqykg_l3*iO~^2`uc=Dn|Zu(gU%0Yk91 z61`@wT_j>&d(3`}bKd>G(r53^lK_GWy2Clp_9rFjImcu|%D$T0Py!l75(39E{Bm%A zPdob0$g%$~|NH0U2rMF^LVrjv`UT~F!@=KP@`QtbM=xRn{72J^*Z@CEFM68Q_^qCs z)f2slloP&r`$@D0dqJY5&tDL~_`wH1T62MQC(f9h+8Tuzg#^@(I^4+j9VF8#p*uWS z(0V}Dt2OPR<60J&8(l~rx}=VoxQ-cxL$2c1t#qZC-io#ddzY-r5$q+O)cNqF5a^By z8QrbK2mbSJy&!{mKoP<_e;D}7or11-&ySzuyOTQ5y|CdsZmaE4J&j)h)T>)-vJfOK zmtPNP%YJG-el@|%Qd7ohfV$kBUs61>NAT)aKTutRb0c1dV{TCj0@0Np8x}ZIC)C&s z&vNWjqAfin|1Pm63N>g098>(|$sqIF4A*Tvdx#7f#L_ZP7X|Co|I&}oKeL#XpkeowaNSr5bDFSg~+K_p`UGS zSn{v7KeWF@dFcj+*&d=tmm|)*i>u@GNe>b{BR6d~tZnSa^_F{0oNitr;eF)7~8=3ob%Obfpj- zL_E0h`+E5m9Zh-_YHd=qAfv!p!1$-&aN0wyfwy|-`q<@=VxB5OzO{T>VwFlW7ne-=B~bQ;rVTnZh)~%cdk87N zX@eD@K@rQOlqP>@qwZQV;YY`PH*Q9nhSN}`INhPo3wE7r>CW=ER*(DL3(~v1G8Y>P|F(6B6pV?ih^(jTkTLvsZPH&h<*hom3 zV<;d&zC22+o-B_v*p0whns|lcYrXs78Fn^n;o`dqwrURx3_IAfY~AZ%Wyh4-K6`5> z&hVnT(p`YBJ}U&A>4E)Viv3Ox4`!CZhDjY5<6_tpX4otkf!&NrmP}h($#F1GF{|Ir8<)?E@8J^Yyvqxv z*UV0#`Q%bUno>TgOp^-UMQT-hBV|nG%6*LhsfbiE#w@V83sk~1cmrX@R2-o`Mx!-G zqw_2>4vKg==p%uyGU1)wG%p43Iw4CvEAl!FCl)QFogUL09E{^n^_6n&NQ8Ke1|rk< z#~f)#nKo3ROCn+eZHlFsoM=6t0xLj`6c#w7x$NX^S6 zImW__ya5gaDnLMNDts0xX%saRp=-oAw{x}0GAOQrE^Zq#-?)A;)L^KZ`^%4v7f1)U z_BqM1l`u*Rx7W8wLRCRazsEgnOy3H$KS8egb7uOWJ`@@i0|eppFBtKUnCX85BWl?$ zZ6QoqQ=(xf?d8sJuIHOVOG7_<2+hlK&@^yy>V_KOQhRW9d9%xXiR`>As0TQw$1n z!so!lO0uC?8V+bLImpISymI4RD0ndREJMjDySdr#g$#CJc^;R8l46>Q*nRn#=~s-% zC;c*)(}_s;^SQ;Q^<*y1K&JCSEUIGpX-S~{0vaDbx-ea_BL72>HQet*#RU9KQ|n*Q zhxq{^va3>G};^6#Y67tCmH1?noHr)clQULK(Z2uiDqxs6x;{}Ac{cSjxj6V@^ zAZ#BN;5C9fbjN!TrWJn69rz66PCbYECuW=(>_UW5s{woi?G6a{#=Q0=9)@&ZCi1nO z5Of%AGPdub5HqtcQ6qXcL!ca-wlieynUO!1{Rn5_>j7ihenUT`8x|MH#}o`WS=%<( zKyGT+_QJXFYGT*)XUq^;`pQ0hBOx7P9~54%F7(X}y(QWVGbHSLz+-oW8XpRJy?=mK z8N~{=uHi{J{!FQjrK2!q-&*-ImOS1( z@!O2{h3BQm7KdAc3o~##=eOnbOp^|@qByHm>@r9$TNQZmSU@Lo3_P47D!4D5K=F%vL08Us zrPf#gm0YJ6F_z`KVUeR^K_=DCBNSJ9BMHN?V|9hsF2e5v~?2IR2XfQ{e_a$;B2U^Sg6w9&;TURGrwWTkK>HSirvVorMHpEKTW z6w49W=Qxv>f2sSx^|l!*(vSzje4HYPRZrWmZ&j}CEG)B~{JjL{@Z?*ZRux=A{7+ni zZlY!UV{ln*AV*tg3$L>aCxO>29@%~td_#-dbi|mXNRajC@y-=}Y`*Ti)wMo~hitrM z+nKXG;7#)=6+M#38t;2PO!4-9OuhX;rSXx8K=hqkCyWkflA~Y@dL#TDlsWxKUwvJf z`xP%(kJ;1FF3;k5I**1{=O1PskS^?o4Ss)lXZx*Z^`HHOfj`P<@kUEocLU&sulWKQ zRs?(ow#^iVNgN)nhH!mD#?`3cWI1unXE?T8Oj_E}<4v`O$h4J5= zC^1ern2L>tcImsgiBnrOziJ+ENd^wbpQVnIlL!IOP{OAZ#+X1m01W=vVJFOvb1#lE zB%o6j$tb1eAP|CfM~%BvXW|le&c5h>A(0=9JV{MxlF(=hIIqry7y}3QW`(+ZurDpxYqgCORsq`Hx?V#6;c*QiZi$-xY{&IfhAQdK~DY!ZN zl7>{t-2y5IJE$rm9f=6O3@W0+K}m84;>s6fXuJcCM=W)`lhwY(WpQ$ldS-d_nN8xB z9|BA;m214UlG>HPFbT67gv16%Z8K@aJqcv9UJ2&XHQT({PZvGs(r-x$`pStrL0X65 z1H>L{qJIgf^HZzYR&eJ3BJ*}%Ix4?VN@;PObhEI^ZEVaH7vWe?J!`%elX5>}r15i8 zjO@-Z9A5-AY=wwJ1JJXJ{ley1~3cH1XYSkzs z^!*ol^UfHP{p=0XQrR(TmzJVurMvS6dT8`5X*|%r{jH{T7Gd0(<-JjkkXI-OFZNA% z7E@Q@EoYxZt^>6@LGwj~(JHrO0$pm6tEHPRg0!p6+7?n*kxpBngfh3!Rz*F8E#y;k z?U{Y4U_*2F$)cGbt*88%WWSV?gv3grJI&d`mq@nUKisNc@jkDQfvIoCO zlGqVCgAzOpLi~wYfE7>Y`$c)4Gl_)&)(e;d(Y2Jx5z)=P={S3veL=%?o7^iWk!&6gOHMdP_&x+=1 zK0U+rd9#(CTp4OH(90$W{xBZW^7)cE5vDvOa7^7{k)$(-R@=tKMNoZV!#a{S{Fs~s zeECi`@yyBu)xJI(C_%Ohx28D|a#?0W`l?@DhCT{eR5 zr2A5RXP{$&J7(mT{HJfgmM7bKJ&++7nC0*-ZEnnpq)yE`eJWv&V`5QF?!(blI^=|> z;}u&UbG^Nh%9NynQbvQaf-IpFDuhD~UWy4y*QOi-MpySKDh%F7y=G|*Fnd+Ib#0wh z{(8IYQg5zkq=I zwUNtmmMlWVLB-P;_0c9iCT%?wUvCFl(+34jk4!z4ECzTduL;BY0aZ)4_a_8Cef*E6 z+h70a#QDiS6cG4>qw6=B#HT#0`Ht3cftPOdZJ{4ie86iYFL@XK_Ns(W*Qa0 z*7d*ZSwp~0TC@E=QcS?#Tp|7iAe4#q2dxa&Uk%(@f8M~Ijp^4q;9qHF{AV<+|5HHZ z|0F2ff|o@LN6G zKdY2+0Dc5VDpKWSPlJGW=-Tbn=fUU778lPikJ|8k4-d*QMnUlezaN zVB=6%nYC+?M382Xc+NVm(oAQGWs&1IgJ@ToJI`QD81n17pi#eWWKrF@kCme!@R5%A zvI)V7Yej+1@!{s5<+UqDzKrr)NlQ95Mzy-Ax1X`U4=1x}ho`Vg7C_~jbGnl-ipH8c z@@s1&hPHYJ>Z^RIqUl0cgW?@@zSsGY5JHMO2F?H4c$_@Wy(w)a1C*IyCFnL1a@VL* zrLWYxRjD+lkx1IbcX<^XV2JH0w#rS-vz9FAU7T+128pjI78-=iOYVKsG*;ceTdxZo+vjp^{yGVvgjU9CdOEUt(TuUAS2yoEJ_c9#TGD~F$6-NQ!&VB-}8*i)T1$!NLDsDRU6#0KZ-(-dIsuR=&W zx1qgk2{#Gnwz^2YvaT>`_U!MH9S3U+l;2QD?3_f2Wxvbc`q14W=#4#Q7cwX|QLrwh z?A$CKR#mXqm=jlXlMwdF$8u2-s*aY20!laIj*w>A$HGorOj?gZCh8x<-aAf}-NA(CaFS+gt9vSh%T{S{WZG zOyQyXy4_8ApSIrH^H<`V=Ao-J)nx(40=Z3xZ#TI@qS+Iu+3c>(yEQwVMS{Gi#Zi_= z!2xS@pM-RV$}h@^@r7P#Bp#LFNTKVve6miOqbYKe8IrjS z6+(XNZa?Rotj~V-YwzFhoaeiL=lkfNeXqSfpS3>My4H2QuVGzlC)dfnZraqJFGt2? z-?KhEb*1dAf#(P-sGt_s<5j-u*6XRm{cucd+)dVq_2ET^!V=rhcT+EidPl9MvB(GW z8T(UDeJ_jWdW5@E+u&DRlty!$CazE-r`S&4wKC`g<7vTimvn=?m>CJ%h$pEf<=NWq zakh_ddw4|TT>H*Az#!=GB55J)z((W-86#65H4-S{f2}F@N81ezU!k)p5psXu3kvk(OnBmwPq9MR5U4Hc6(`=WQX&m23BU8g+{!({M zoZz?^Vp|+@HA4Nuo9QHH9V~?)#g>h#H?71+`QFZ?Ah+W`3vx@dooa@H+_`@ok-PkiBAD{gph9@%owruQoU_jCeh5p5E`xk)9 zO@+2G|F}U%`Y%ArpKA+r#b1Dw{~Z7ci&y&n%i?}hO(f+->cWfvDe5;XuU`*z{t-L= zU6t1_sj`1KeGF<-oJT`n;TfVx!iZd-YXjhDmXUr2HP$rvyaNhQd_Ohpnt3CVTJ>DkQ zqU9e2%w{)Ew{ZHdiO#kMHq=wecFIsj*(KN3%q=oEqzuiU4>&ZZ!>>}Mers;=a+SKm zr-3Eko~K3|Mg3-+)vc$gSYup7XZ0szzHTo&RuWTZLdH9VcfJ&N;fbP~{9Z?`19fvQ z^%cUN12@tw&X~-Fy*4qj-Qjm&o-(if`+lc|Z{l;=z26dfpBU&e4p{}|p`KhE?g=!w zpL8~nPpSZno5}*sE;fmKekqFAcjs!q5v`z-oJuQTbd2>$IuR|Q~9XWP&%gfx%c1B?qW?^UM(IcMoqt9Zajy#Y0R+4*^ zOW$a}#+?^dZK7O~p#h&<=Ji4jb{}WJu7A|q#*kAL?{X@PPQPzNWi)1r`r(JuXAX5g zEw1g^FQ~T8b?>8ca_3dnG#+&W${%5_6Xji7s)!LKh8*QtBG)N~-`7%_Fl?lxO++lm z%ChCx)g26t_*(cXyldej+qS17Z?7s?e7F%ukwz(*%d=vY_OX3eI7WAuXb186kC$qi z&2AjqUTUI3+Ml#vh&_8>LEk~Ti85i$?)sy$!3c>!yWsOWCYa~?g+ChY#v7~dHXWrF zb3DzvTSa`a>*A!bdgw?AbuRgcG_HDv0T;Cz_k1wxueR;p-pse7`>Y2J^E;4zmqAh|{ z4Z6;Dw8|bL(JnHS25sydlA6XTj0JJoKi-5s^cHz(AGu@A(|tprBibOxJ^#HKD=y*< z+EgJq(Vq5bPSlY@-FXXa^Hr88_DpL%fjW1FkQtv>;##sRx?5|@%3^fm(#%bkEFN}< z4K?d|l~USHM(L_1Xh}xzI;8htyvf(s^wjoqy*Ys@W-MWgRyp)%gZ*T(eZsFi*uwQ) zQC9*Goz>Rj9~xpaP0k(Y|phP#_dov%mvZJ`4p4W0AyBrOvCHs* z<&mPZ2M6uv9{8H=9I&@axK*o~K6LQrRFT$8CT; zWpq#Dc`E8czk%EPqG8*trLxfi*)#ijlLa#bnqGNsePOfnz`S>VRj|{rnEl4m+Mf5} z32I11jQ=&=?2p9k@A$!LrI1XaHY(I` z!e8>~3T10s#JblrGLHxNf0&@>9&B%5a_%*s|*37ca@KM^v7@PHdwHO~fCrZwA%TThu5ibZO=l*iZ{#~`j>H<-$R(tPFt(54b zC{n*TnVe6MbEqBZ8(PHsm=4S81|Kn6#7~S~sGd&0rI@o|l_^fIG3O;sE^*54C4D{b zibljtI{H{^G(YNb72mjSKkq%`0jIS!jvb-u% zW*6h^pH|Vfr+jrk@U3ijiR~i0^2z9Mf^k*^?i)jVMy2W1fZL~H&zy;4<;{NN&0=WT zbhUMCgT;Y4Busw4N>Tl14WST0`D%k*3=F50bTS=JoGiSTW)U7`>Ni3;IsLuDs*+#51Qvz>6XCgibIP+WmcF18O-F{E}v-5>m5efbe3P^ax$&-9wuXzM#tz3|vyRz4A+2lGEjeJ4bQ>w65Fm}YwORk*r!7yh3&a@qj>_4zqte!OS8XrC*b5Fd) z`-tbBp^LjFI%dKS7P+#9>Z>FqtKQmDc*pecbS=$@XEuZEa2@@=;#`$+qGk~pE_9BL z)p_vbBb%sqx)vQREA?r+t#)-$c^|T8ITZO;Bv@!xy*KE&mtQO8Eh>2j?k64|Mh`wZ z_=bqDnS7P|vQQXTk-bqI;2*bIwZx&S?KCnTHs-zZPCdT-v0&kM$L^^soieAlZs(&< zlD~Pqwc4lIK~N z?&MFUd+K+J?xk|$srC5^O#O62{9?*i;fG-lr@Z{CY^c;`?y5A_bH7nopC_ht*D`!8 zoOD=|iQ=~ZYTvE-BJ(qYyg|~2V_W5Q$E;mv=fo2~OnZr9 zmQAUmGQhtrNwl{#nJhFKzZ7$SFM98mWv*)$5}v^W;n(FqZQppc+w~5MyTO@n5s3mB zdy=AP-HsidBS_^A+ItnVkvl#P`lcoj`_)PBlUuO1ixc1kf*1zHD|6Mf0 zVx@oomInM!;QZ6M3%USkjXXyEt1i<9%%=1k4RDf4Oq4o#T%;#} zV5&h;UiWQz~S6wx4SJCXVQcAdlTB|*L!s5aHHTkTf7w^Tx;-1l0 z)SaJOG(^*@UaEZAT)bSW%CtQ2Ua|eh+G5nB#H~M`-riQpbjVK~P3f0BR$hMxll@)8#cY>nF1*dGz+@i}(RmpxR z^255*ciRVg2G0_)PX>C@`-nL_%5CnVQGMEC*PaRHJn(Imu@!TjJ-8vKZALj>DI|RK zl+9H`zY`$}tusNhBDhl^B3rR4Yrv=JWgkjc!QSN6Q~P}U490>WP`2l08Dm{!LEY~3 z)BapfWxU2(xx`WfYEGaYHkv+BbGTFGREw_*H(%mW8+!Vooa^l^8ytDTPnkJ$-0`W0+>Lle|8IBt|>8O(8&=0tW%|8^=H z!H6fphqwZ;)mX($9_^}VTLCVgj5lhbm+4I$S?Y$2;vZ_8Xzu#J{MuA;mNWj~%&fJ^ z)$w;aAz-x3CiRG&r5QyFBK8??){iYM8gR51xHN0I^Ot9xuQ%6MGjiP<>}bkz*86J8 z+5}!9BW_`f-L(0z$h1V6k%nAbjNOhFUY+J>Gru?P1YXI|yQn4A`HHJ5JNk8WFV2|W zu)i37lEYN_79oDxz8ybRKh>Wv)#lc=qv)|;mcWCN-Mt^SDBRX0t50Fi+11Z;B93u7 ziWtT;eNcH|_LLRDo1yKi zi{IR^Pt)DG4&8G)Zdo+PsV=hKvD}l|*e0>vkox$Ld;%FqOwT2L@qsVj-`{ z*>Ff8i^q@v%bz%84DR`bjz=DewkxGgO4Z9JBdRb>&xh~9InDZi-}?4huFxSF-Z%VL zomyzv2o@gP>B6L|U!qv)8)z!kzXY@frT7b^(WD+;-XpAD(v>cUy>kbPg5D57a<(L?J| z&8MxLCH7Sc#kUs5Q`ce})s7~em_I)Ax%PN(SRk`8EBB!S>4I6+*B!q5mjZ>98cH-< zqsx5Kby7LTSD+B?G+8aZlGebsk%5SlxwWp{S1g7UPVf>x ze+(i1s zW5c~$AJqs={&?W0sM%}ON$?(~#fw^un0thA8NMhyT5(w5rTh0MPL`%yz6{7boom>} zNo%dAA#a3|HP}8NPo?pwa_OFr_B3yx?6FY}>j0;*G?rCAf~U~YHU2O?{P)|}_Z?%) zH-F(;W0;!rTzHQ6iJhkDVdDpJeNRmS1U_mSR55Smo7z~?O)itwqnA2OBv<}8zx^H> zyPuP0<;Rw-vmTKmnWcw1xu3^6r*U2Fy~}%AQdpASDK|R1+Tl9?6*1b}x-GOmyEk zsT23r%zd{L=nFebzce?DKS=Pu;`1c)Yco}++LFG=eHG3-56E3KQ1=@TK9fx!{*oaY z$3fwA;@G5YRUe;9=WI>kjgwYl6={->nLk~)X*2VbN3L~0b16&VoWjAfeIE_o`1~$h zc7GXEXMd&Ze)4ly7VQ9R+(~v`Q~Rr_0+z2iM!#e=zJ8P^x{EWCp{W01y z!6AmNIW)7uZG&{ri4V_AXMIC$~-oFG0Ku(MZS)9;IokXt(J6q79QfX|3VpTPuf;TG|7qIjc9+jGPjuY5$0;n+l}FtgO;@8Ctl#B) zy=z;ZGE!bTE}P3SVsJL)je(ukn(Hkp({isL67Md$4w*H)dC=d<_^4ya2mN5&Qn$%# z%qZ7@w`K8ezM&TWdtt{}UPrc5w5&qm17Xkh1ee7%JQB^s_@`{hZ%~o#HT=Co*qA?g zter^MEcn1hAQZyX{ob?^=Ak|+1TC#&WvWZ-#cWqker~>YmpO()XZPtgUbd;UBa=$% z6MGy+GzXL>OPkMpIhXXU8?FBx8@^#gHcebVr`R0yec|BydURIaF@7oE=cQU77zNyY z=hxl6gR{}j6Lg20%wh&LLb{kTD(Xbcj;QP&&yVXmSP&Sr`-1(U7cv)?jJib{qQh`g z4%0W|&+(_dHKhzy$!axx5HiejG|A}foUjQohCm_wjQMe&?k(B(X!|Zo?WhmtRtFy` zJKI;W%lFhY8eVE2BS=Pm{??%qFLOQklcC8mr&nY{%l*te7Z|2)B-SNS9XOS<&=jPwWdAMu~v$ zac4dFxNPQ)>1O+Q|hsraxKY2l0y=OhD8Wztrq}_6!0TcC>=_N+Jn=%S{mDyr z46CF9@hLN|3Wp8N^eH))pR|QOr~QV0W?j{KQC9PX$cMBOn6X8^FV3rqXa(nVe8XbT$jt7}kp4Z8wbU!Ot+pl?&O zQ1}*~JKdHU{BR?ldU>s0DdWP(zUT^Zbn(i&`#Tu*tM<53tzpkl$H@2^_x680n^?j9 zhI;w*r-0OL&W{Yn`}$wv!BxD5UpKmYEB$*fTRs>)Z(_dG6ka73o>2%hT#KJViJ4MJ|N9sk$^NbcjYt#0R67M|g* zJvuM!jl$7Y-IbWRc-SDL-pbrpf=DAVcD(qSjvLQHn`~}<_F(AON%n27(pPf&+}Bb+ zR%@Y4nMOxe2(8y7PMRCAHs~+=?yTdYG-xP%dUnZsSnq(5G0%vntL&Z(o!4a61ClXU z6W+P69SBEl9A>bi_;?2Yh3r*=^uf1EGS=4O-V#mwMvLsP^E&nhb$tqrRjEwOTd(Z> zc=+-GpWX6zLzS7oJFYTms126>9xVE$u=^j`TFCRaKTkS<^S9ungJ!#uu~f*5y-~`0 zumenUy+>_rtVRi;YraPw+ow^{FeGe0#9H#m_}lguhiRYQizq)EXG81y__DzcIc1}? zMg04=u2~yC>Vd8S^qC#TpSG%9-LG(NPFIs|cZ-C{B=v|q@n{N_oQc~-iZ{)uA8l$$ z1zR%Ow3(DD6PB$HDHSwmKHAr!AekBd=?C{Ib^eEVlTYXDov^B>g}3jfw$k1ot8p)& zXT48;Cd|&UQiI$`UL>|v!&D?nudwxGpiegY>$to9@(wed=gXIOceDtzjL(W27vW;h zmiSAAJj?F-P8svnRRBpk)USy0U*Q@>ZO&68{^R`ZU#P|ca@+np&)@zT7a+;i2L?s{ z`=|c{+4X<6<$r@S5|2^-EB-;y{ePHH)ps`=-P&cEmRNz9)tra>TX^243cSHH#&%6gB3vfk<+ zueWw+X+3#WvEfe9V}wf>bnBtvp5fh3x-XTFJB_?iNbK^)oRTW{!)=vuJ8@+@qlNg# z9iK6Oa`CEi_dM0Ic=B55;;fj-Ggow|y@l6Io_?fjj@Y}FVJ>pv)&UA`+aIgX z>CYW@Crhm0+CkY<^^xM>@^d%su@?vWX?EC542BQ796u$MKEtu?BDb|vUGk?pMQ1N&J{pQW%=qqIV9dwf zjugIO8G$a@(Wm?~xUpb4dNmp5vq#IKjg%NZhuB2B9SxG~+4fl-#bica*?n~S@=^%5 zlVgyi;kHQ|so2-3t%7Ac!#s@oPUSNU#(k*0eO%_dy@&J(-DiD6bWf{uSsJt=X)Z>x zX67i$sT(;F8bJbicm#`_QXUD=lRZLiSl zyqtPmYpl*;$kY(o-Em3VxdXF1VLXeWQxR2@+HBgab@c7RL!r--`U#JG60i8Q^HOUW zaa&h3(xyI1GYJlM7Wb5w8I8|#R1J?+uC?9Kr#BcU>u`RjAbFO_BbnMS9$qH|l2TY& zm#*wn4KL=j7JoT;A|_*O0E>}Yle0dU>M}H*EA^ps0UO~P7qsG3qR$bYJ22AV(=T(m zEAMEhnTd#KfQZ0uV{7e`kBUmf@9lL~*TZkyF?1~Licdqv;R-6n-Y1@CfX)6;cUPH} z+Q(jgZ&sFw^LI}re(=`qy)H}qK`UOOVRIfAw6`~V3MZD)Bj{n>9z{5R$9sQu+w&*8 zZC?;o*K}_sY+$kvEtsas+>6CGTnOpUFKM-0bv4QLvBr;Qs2{PartUfcDpL2m`Y6)w zQ5w=b+eRTDF*QwZ-_o!hTcJ7bvAp*#mE(kHUxVFS58J#JR$+zY@#~tmTbr*B=N{hw zaQtE%-^%&Lw-gZ1&+(!DRe z{9gK)?<~vP$Wx@Tdc}i8DtOEAz4?<>%4@9RwXcKw z;DDjvfOW8G+7NqQsdsfWyAzwC5?Sg?%qbR@OD_&F*GSGPiNr@JrB`eVKQX+RzMNQ^ z<`z<-q+f&XYfWO~Tv~p7S=BpOD)x|8*rMS6`R=OH=vmyI@3*2;U zB=ep!>3%dDT6$aHay4hCk6((4Lgo&oCd+rK+CxVoo6?CEson*G=NWH#7~RbeYCI8A zbnvuCZm7VnP-O;rb_oGF&(2F{UJbZq*bbcV*g5q6w1lkv8OaHb3mNE_IR_^)8pL*9 zppyw`Vv=vX{(#(iSzk|Bj81;I-(qwdn_VqCx4-Y59V)qBy-3F!-XmhsrcAj83yo+;N$=ASOidG*|{dH$3z!$oV2l*eZ7JUp?Z zn(lPRB@6?_eeEtpc5P2vJ@%H(PyD;*54pXl~-m4d?RuS^wZgOcy?YDnj;cMc&*OaUthKy$oW9_}(e*84F%Im%C**(e zdHgGcJc{^hP7~PcKczhWFBIDUxw!v*QvQF|p#E3B{r{xC`n#B~|DMNxWd@;Dum}GM zhWME#126=s3ozD^=lL;zHtpo^X{=*O`|i&KxG}_E6Vmls4$>;4s43dYGv~<3aHuKY zqbuR5tB#Fp*x*lQuOcGCsOd7D!$l;-uZ_g%T(53c^*n!a|9dR%AkmG?|6QWQ)TNj7 zX4u9ml^s~;^o*d4~&}o~?@DvHL?bqb;nFuObCA;>>iXqZ|*LYN= zqA-4FJp8| zSbf#yEkmh<6@g3!##RY>534nK;;|G#f=Pw~I=7p<()rNqw*1_!q5DP`I_sn{`{qPs zg+pU~2Q>|{Kp7rmP=-fgqokmEm^Jc+m5q{M!u_qz&)w)7*866|EQ+LKZhP3sGGEtP zS0DRCDh&R~eJ0^Q3xf~-qcAungTr1VsZhUqn*Iek4Y#QlB;g;13#f=8P9TtO)l@#B za>DWO5fu#!Ctk@TR%aaC&bfKgN}h1kb2ta?+dRYj+u9;k+W)CCJpVT<610-kKPiIp zQzViMFH#q>tf~EclcK%HbFOXpV=Y%G4v*mThP{Rc$P2JxLT%2ZC{oQtF z>b$S1*uYb=?hu-<_u6spa>D(DV=m z`3l~CW}g3{ETn(>1-|XTyPaesMP@z%a?c**@)e>Nq| zhy@&6ALz9ZTYL3w%gW_~yMtPSp6cuTP#Xn^W6*k;*@x!7Rkn9+Z#=ZZrh&`qn%1PXKuv4jNeILu}7%#i6l6P+d4gMaXjFz`^!4n>!pRtu)f`lf5Dv1P%1<;8H0it@3e{io-d{O7*!;TvtL8%ul;rvymvb)f64gI>wa>mf;q=rq;rL|F_|6S4I%Z*F z6LVj2+mo!O2CtjvDKQg8n&!e?BdatSAH#ZH+z_PZP~0y2!>W7xU@nlQ%a2H)^U=UtiA*hgl>7Lxnz$%nGt2MiVX5`cU_5y96B?BO@!9J9zsGN;?b{A(G~F8fEYPi6-Xbz3(!$ zS1cb+NrZ4#*kyAYiB)U!loP&%a)Szk5D)_l0r)#W@xs=)s|1(1YClMpcX#MJQrNYa85f3Txuc~`W(yzX|pnZmT zT|=^C&6%?ISg%(c#kke3trCKiRG)#*a@qXj1eS4!mS<0{272c8YCBZOtEX8tX%a z6Z1G1ryDq}bXO<@-iWK2$hg=PtGDQ61C^RtQ=htDB0rwSFwP$uVzp%uLH+G1Sod z%T-Z-qp!uplCRk(b9$mWHI#x3vl1~q{=1hx&hQ%gXj$1#o%Y4-;CvaFWBe&F^NI^O zd#SN@{!2qFkH>5JvKq{UpHOv2`rHq*3sH4z&)Zi%6jcuTD5e)j?Um`>%HPjemmhXj zPUo)4l3!#s%?g9E<`!*#8>KvkGCHZEg|$Hewdl9!5|WwdfM;GLS3%IZ>AIS~;>MP@ zyE={{Auk^LC!>>pY#n@Ti$PsZr&IWHaA1AQOMRVxTrC+skRQC8pZnal<||9K$3I}^ zme?QG)5i$KIWZVNrry_*(({CJ{Jg^PS$EWpc{2vDQy7V``y}gN4`CIT$)lM}M~Z5w zGsa|Y*IY77-QH~+@%|a_8JpX&Lr#`u{;2s*G3v6{60i53NnL6z@Ai*qmFFwsIOV^& zNN2x8^xo(GrOGJHZ;kwdy_%Oiymptomj6dVC2?dyB?dMJStO}YzXo#u1=ax;y~*K4 z_=m#_{}-%-pS6e)VU2&4b@0F08o;7e{|VaviRDRXpVS4QedL+_pHZbh<74=nx=8+P zlt>D*={8!@!6H#m^ROGB{aqtWR&Pq&f+#$-UmDY&x_=v&iA6zh7TCc}~cLMv=)#jJ=Yn z^wC_QQpVBA%ZkHCmpzYDZ!^$61Q3;awnwP0i{s!Esv)58s5({7Ju8;%~$r53k?$x08~MVK8BA z4?KB5KB1v$8=D(5Q}nyrl;BqX>h2b|cLtJ80k3;OsOOiP^uF<>*+#c8) zcgXm)okY#^^v)q){3(@!K(F)X>`=JR;@dx*RKk6uz4=If-{5uHr-IaKcgnu=S}X-A zUl^aLdyw1vO;qSj?oLf}GpcDy9$!aH8-vND9Bb;gx&23+EFve*3JjL)qxh;eyxtsr zxKV5VVog!I42|EOMY%@mBm%uu0IXzXmLZYD!-Z(nGO_f91n4!wlJX+vM~#H zI<&p$+eEyR)pS>5$&U0-8TN-VBm(OQ_A;lYy)WwE9y-WXxchdsdY)=8NO`-io#~~> z>Rj1fR@3e~xow2QDns;La7sCq@Pj@SHT*`TVt&h}NlWZRCwFP(}uT|I1#i^{=nmu8I9_qRmS)Oqihk~Fm{&6VlD zt~)j6o;yU-$C0tIY8N%NNV?-%Dw&=esa^5dKN-D6ly>~JoWQP_cFxOp_EWe4H|5F} zqm!kVJOr#(hAJg>G-%~#YGzvUF^xAB?0%LDe_Bf)1ds@$`eSPOYbiYi0Er9&B!a%- zoY6WUb2bUf5J*E-rRe;{Ra11v%w)p3b=lkHwp?U>X|_YFM{%7;Esd~pZ8}Bh*3l`F zpK>qoQ`!JOr5Te!=Q^sQ>q?ux&)S94LAAsk;SFt9j$tDyoS&Sj4$IJ`w{bURMMMvNy7Fn7a=N9;C2gA$ttdWD zV}O%?>3q%T!_kk2Jhsl9eCb6gTgqALZ>5?c6y%n$w8$ zcPV?P(7!~Zb?gvo$Gd!j)?>k&57`fhwq_O5+_uQPn(xMXe@h~TNdiNmeKfcJr!@7d zU0U6|3$BUXM!g~xTQu|2SI(Tp*oO19H9SIs z7iE%$Zn4E24$jYE7#Q7B;X72(H`#nMz^;NlyU|o+cl|h%?&{HH)(OLpJCa@cO?sOS zXlKzVG^bD;GF<)WyFI1CoxC)tS;nUQz}rPS?T#O6gNpI15re6|r$qP8Wul8)O)SoVV(QD>wNxx+d^TEI?C8liPwA#ZQGTj2X=kx7*Np--oj8m zX;!qdA7f!**!{8Z5U2Tx^?S=Fiv05j^bAvYnhUq+GU^nZ-Q#Sio%1er+ny2r%&&D? z{@o?qxm+iW!WsD8#8gr)y9FHxGuHQd;Uu1JI;@n zhnVFb$?yIwdQooChw32Nk=E}AnmTwIlC3qHguT9nDz4vnJs!Byq9gw@+%{H;{lRFg zFV!LDWAAGsBM+X~qo%iyIrZ>F)-40m4lOdd1izH^VUDLC3QgX&tWUVOuCy7L@ab)^ zbSDlZW`%2=kjvspJ)wnKFl8X`y)Zb&TKLU&7k|BTq1(69JIoc$3R&JPn;VGBpYST1 zDXc!uOkrnlx5q{PG4A;2d-B*;^{27JgR_GaNiJgj)F@|X+@49@*qLv6=I*=4lv3Tc zGpBwR?_ITF(pBxN?DoH7-=^|A$Q0a<@~6UEi29wIlERqex7XfcowJy|-Oc1=FMtz! z?3|?h!>@;dXNI>rW>ER_)#9nUAb_4q3ZQQT0rXwBtXRBu$rp^$fTS?xCw&bn^~S#z z9k2PV=(sDX=y)+m3fp0E(ebyNwS!1EYlEaPs`@@AwmfU4AwBowjKZsByFWbwH*4py z44;^vpZw)!?Hx3r)|Il$hI``OJu|iZf`hU&BmGIK{pU}f5O~*k%~VI}HO}wJ@oU~S z-JzCORQ0B~Xg@fhk(5IHnn3!mz@@}Z1w6q?lHYQ|{zB&O&$UGc(Ep7~|8A)F-&ptm zKX~x(j#vM0m>&j9Q2HmBoP@YZ4r)>tfXPV+c2hcvhszmjS}9&U4n+&jo&Mtw{KNsb zgEjAewxPh`2+|*~!*6XU6ahuL!{OI9@ZV@sQq`|*;L2ST5q=gUg~EY}Z0d)>qDhn6 z)P^NUkxCP8YQtf$MDR_U+obV`HgIVf>2}6V{eatv0FQx}mL^^KxT&AClr$bB>1=Mp zN~3_7+}tKj0QI9cw*j(9!Os#f(xfZYHa$zg<4Czdo7#vdX~dj~VA4=OP;Lhe(-bX* z11B9ezYi@XO(X&%?AI~Sq#>a7K%>EeK=T8RHxwy_degI5Jcd+BZBrW#1eoA)ad-?V z4Qf+AJh+Dr{tobI((wE61RM!iYW7y?@D&D+CV6H0ch2P5q<+>mu3+7+4Nr31~E8ErF;b!0SdJN)h2UB2b|) zt%z7@(%Je=a{=XuVBLcS8h{j}{3gi z*8k}M+%zs41*ALlEE+>3Ma?(&1M`FU6o;0^!TSh@0kQ<50S*W;Se^pN08j`t21XhP zW4Mh7Gy~Lz#Q@gY+=c?O9U%|UKrujkfCEp$@)?IEkS<5u{Jl7m28P=J1cBcNbSS*{ zaUd%k4?hb=KztjX2#5fUAq@}${48L5B0N87JP!U|9FR&jqw$f2SV~=5f$Znsj;PuRMtYS{0@N zQ0Evai2qPP>PkaA1lkZZ02>PcKzIy10hWK@VmCCr=AaF%68tOyArk>gB*5|>9M>ko z7z70X0t$W~*hjD&2NWg3cnF2T5%Dmc0aS+dIRJ@3JwkKFO5>&By@e&9z&&!CX^$mf zU|s`JO0d14egMM3dI1IS0gUxXA`He-C>%*r!tVnQ!+ZdCAiP%rvczb;ZUg2P{JlhAUc&1}lm?a_{4B6>pm6~KurLik8xiI|0JFhtHop%*0fZd@ zKqm&4_rPXH!T1F&g$F2$}*33(G4sut;Ek4gk-9s_fkr{BITi;50`$FDprl~FA{j%_{soW*kKh-8^k7*BU=FY>pfPY#2zv_+j15?K z1AtC|Wds^{$Y4we+7MV7v;jo}j|1Itd(20jG(4xpzI--gFYBX|Rtzp&rpC&Yy50^BMH`GN3hC*z;B*CpZ~p7+6n(HX@9X0OJBH8yXiZCTs@)#E-ySpbg)2at-tYKoOoZ5IOJ~VSqmoUL)YUMyv-wwutor z5hcXl!Vm!iLgNB43F`m={-hARfd$+K(;1kxFs=g*Mo?249s`MKKP0Phj>!-MsO*9hD{g^>5aGYsow3?48q zJU={GBzW%wcPxw(!S)~^_Al6}h;;*`LcR}x6~vr@4F>NIX%Jt9WtcQz7r2c8To3TG z1f-2f3Kb#t8xVCcO@S2vtjWzh3EB{GUC<^CV`UIm1JDV6mUL4X+yYLEi=( z9ta%|7#t1banJ^w8SoguOo8?m(5k?x3iSgHZCFNNfu#YjFUf-f+t?r$h>Yg}XBvz_ zz-|LV2Obv$%MtSfb^uI2025(fI2PztSYDAVHN?22P#`=88mK%-c7k998s;m|1{^ie zoPmEFmRDFbh$AB22W(S#eSwt>V^L5#_h(h=U;TO{@r^RReAJGOx6QqxTdkDGDfu2D=3u2$}9>jwb5yW?Z zSS8#~nq>Gu^8?!m_7wnD1CdU+A6gp0Lm+|%`@Kn?b=aN(RxQXXg5L+6BQRY+NE10f z;G;#%nE*5w{62u&VZH+HH5h{cmm4CE2*PCun+b%=5HWht28=amT!1VPJPF_~LgoM$ zE$sip5~Kke!S5pg#~IWH;<_+i15`%%$Uqwq9PqP1b;EN8UMYm!AR>K6AR>a4#UP6U zAv=ix*um=yy!^1e00L-O*slWGerL|$_Ig<6kkSfZJ^*SJ-bWyy1OhahX#m;~^aB6{ z00g)nDToWVVKJ~z1_a6xx{M@FVXO?=0Fs5@N0fr?3Sb5RsSWi5`4OrF0Z0VD59lbw{D6)^d@oo_ zNFLyTTLm#L@Ps4ACAlLI&jOhZe+Nj&gmEHR$=}JbAt_PlJAlI-)-ymgB6DJZ!x)yQ zAc&3dg@ariAW-2kh=_fO16l^w=O8ix1RL}$h*-mV74$>+9f8M<0P6*i?}PBK0na~3 zM1jWuSQ(x(Fd>lh!~V`(KyCoce;DA?g82ZLZ^-!p$1S2C@L9rZgaLvG<~0ENVZQ)? zFCgIu`ZnN#f^A6a6f>^;c-a-5b-`hK}0_w4&Zeo;Xjy90T@8g1t?MET!2DC zJPXJS&joC0*wzKfVZbp8eH&mH1nmKHzLD-^Xak;Q_x0I5-ky#U}iLY7E_<$(Da zguxKJ22>u5EkGy`0CI??(jb8Y-mB8Uw*>bC$PvbgAaCyHA&g(`OJFP@VvC^dXXU2N z{eaFxjDbb?>VdNf;j0I22rLTF5K=D?q!IQ92{pk!b6|-BX$R2-KzRh-Aer4T|AD*_ zgx&}E4*B;y_$gOtVy(*R&S*e?nkU)W#ey_<{0Ir}p%v~qHiy63z=F 2026-08-05 分析笔记。源自一个判断:大模型时代模型结构收敛、数量变少,传统 AI 编译器必要性下降,"只需适配特定子网络深入优化即可"——这个判断对一半。 + +--- + +## 背景:原判断 + +作者背景:做过编译器工作,TVM 0.6 魔改 + 接触过 MLIR。 + +原判断: +- 大模型时代,模型结构越来越固定(decoder-only Transformer 一统) +- 模型数量远少于传统 CNN 时代 +- 传统 AI 编译器(通用图级自动优化)必要性下降 +- 只需适配特定子网络,深入优化即可 + +--- + +## 一、判断对的部分:通用图编译器退潮 + +在**图级通用编译**这一层,判断成立,有实证: + +### OctoML 案例(最重要的证据) + +- NVIDIA 2024年5月收购 OctoML(TVM 团队),官方理由是"拿到能把固定硅片上最后几个点性能挤出来的人" +- **结果相反**:编译流水线产品被逐步废弃,客户流向 vLLM 等 serving-first 引擎 +- **结论:编译优先输给了服务优先**——生产 LLM 系统真正花时间的是低 TTFT、持续吞吐、API 契约,而不是"把模型编译成最优 artifact" + +### AOT → JIT 的转移 + +| | AOT(传统编译器) | JIT(2026 主流) | +|---|---|---| +| 模式 | 模型进 → 优化 passes → 编译产物出 | 运行时按需编译 kernel,首次启动缓存 | +| 代表 | TVM、TensorRT-LLM | FlashInfer、DeepGEMM、Triton | +| 部署速度 | TensorRT-LLM 构建 engine 需数小时 | vLLM 加载 HF 模型只需几分钟 | + +### CNN vs LLM 的模型量 + +- CNN 时代:几百上千种网络结构 → 通用图编译"一套处理任意图"有价值 +- LLM 时代:decoder-only 一统,结构高度收敛 → 为"任意图"做的通用优化确实浪费 + +--- + +## 二、判断的偏差:"AI 编译器"分裂成了四个层 + +> 核心偏差:把"AI 编译器"等同于 TVM 0.6 式的通用图编译器。 +> 实际 2026 年编译器工作量没有变少,而是转移到四个更深更专的层。 + +### 层 1:Kernel 层——最热战场 + +LLM 时代性能关键算子的集合**比 CNN 时代更丰富**: + +| 算子/技术 | 为什么难 | +|---|---| +| FlashAttention / MLA | 每次新注意力变体 = 新 kernel 的数月专家工作 | +| MoE 路由 + GEMM | 专家调度、跨卡通信;vLLM 的 MoE backend 从 FlashInfer 切到 Triton(H200 更快) | +| FP8 / FP4 / NVFP4 量化 GEMM | 新数值格式把旧 cost model 和调度规则**全部作废** | +| 长上下文 / PagedAttention | 变长序列、内存受限的 kernel 调度 | + +当前 Kernel 层的生态谱系(从高层 DSL 到底层): + +``` +Triton(事实标准,高层 tile 抽象) + ↓ +TileLang / Helion(布局自动推断) + ↓ +CuTe DSL(CUTLASS v4,可组合布局抽象) + ↓ +TIRx / TLX(硬件原生,显式 orchestration) + ↓ +CUDA / PTX(手工极限优化) +``` + +### 层 2:推理引擎层——"编译器/运行时边界模糊" + +**LLM 推理编译已被定义为独立学科**:传统编译器五层框架(图→kernel→内存→运行时调度)被在线调度吸收。 + +- 动态形状(变长序列、KV cache) +- chunked prefill、continuous batching +- 这些调度问题**本质上变成了编译问题** + +代表:vLLM、SGLang、TensorRT-LLM、llama.cpp。 + +2026 实战数据: +- vLLM V1 引擎比 V0 快 1.5~2×(异步调度、chunked prefill、torch.compile 集成) +- vLLM 默认 MoE backend 从 FlashInfer 切到 Triton:H200 上 57,821 vs 55,700 tokens/s +- TensorRT-LLM 高并发(32+ 并发)时仍快 10~30%,但需数小时 build engine + +### 层 3:硬件使能层——传统编译器反而吃香 + +反转点:**通用模型少,但硬件爆发式碎片化**。 + +- NVIDIA Blackwell、AMD MI300X、华为昇腾、寒武纪、国产 ASIC +- 非 NVIDIA 芯片没有厂商 kernel 库 → **编译栈是必需的** +- 国内芯片编译团队从"建设期"进入"换血期":要求 codegen 优化、内存规划、target-specific 调度的深度人才 +- TVM/MLIR"一套栈、多后端"思路在这一层真正兑现价值 + +### 层 4:LLM 生成 kernel——角色重塑 + +2025-2026 最大变量:**LLM agent 成为 kernel 生成器和编译器优化器**。 + +| 系统 | 结果 | +|---|---| +| **KernelEvolve**(Meta,已部署) | 480 个算子-平台组合 100% 正确率,1.25~17× 加速,开发时间从数周降到数小时 | +| **KernelBench** | LLM kernel 能力基准 | +| **AutoTriton / TritonRL / KernelLLM** | RL 驱动的 Triton 生成 | +| **Compiler-R1 / REASONING COMPILER**(NeurIPS 2025) | RL 驱动的编译自动调优 | + +> 意义:未来编译器工程师核心技能从"手写 kernel"变为"**引导 agent 搜索 + 验证正确性 + 设计搜索空间**"。 + +--- + +## 三、反驳"只需适配特定子网络" + +策略对,深度被低估: + +- **"只优化少量关键算子"是对的**——这正是 vLLM/TensorRT-LLM 的做法 +- 但"只需"严重低估深度:把 FlashAttention-4 或 MoE kernel 在 B200 调到峰值是**数周专家工作** +- **动态形状是关键分水岭**:静态形状下融合是"规则问题",动态形状下是"开放问题"(广播开销、索引计算、codegen 分支)。2026 人才市场把"动态形状编译"列为 LLM 推理团队硬性要求 +- 值钱的是**精通动态形状 pass 设计、memory-bound 优化、新数值格式**的人,不是"会写 dialect 定义和基本 lowering"的人 + +MLIR 生态(2026 年已是"编译器基础设施的 Linux"): +- torch.compile (Inductor) 是 MLIR 思想设计 +- Google XLA 已迁移到 MLIR 底层 +- IREE 是纯 MLIR 栈 +- 需求已从"懂 dialect 机制"转向"**自定义 pass 流水线设计、图融合策略、跨 IR 优化**" + +--- + +## 四、前景判断(2026) + +``` +通用图编译器(TVM 全自动调优式) ↘ 退潮,仅存于特定 niche +Kernel DSL(Triton/CuTe/TileLang) ↗ 繁荣,LLM 推理事实标准 +推理引擎内部编译(vLLM/SGLang) ↗ 最热,编译器×分布式交叉岗位稀缺 +硬件使能编译栈(昇腾/AMD/寒武纪) ↗ 确定性增长,国产芯片刚需 +LLM agent 生成 kernel ↗ 爆发前夜,重塑工程师角色 +``` + +### 关键结论 + +> **AI 编译器没有死,死的是"通用图编译"这个窄定义。** + +- AI 推理支出 2026 年已超过训练 +- 编译器工程师是 AI 基础设施链上最稀缺岗位之一 +- 能力栈从"覆盖任意图"转向"**少量关键算子做到极致的深度 + 动态形状 + 新硬件 + 新数值格式**" + +--- + +## 五、职业建议(针对本笔记作者背景) + +作者技能:TVM 0.6(Relay/TIR/AutoTVM 时代)+ MLIR。 + +| 技能 | 2026 年变现路径 | +|---|---| +| MLIR 了解 | 深入 torch.compile/Inductor 的 pass 设计、动态形状融合 | +| TVM 调度/调优思想 | 转向 Triton/CUTLASS——AutoTVM/Ansor 的调优心智模型可迁移 | +| 编译原理底子(IR/pass/调度) | vLLM/SGLang 内部,编译器×分布式调度是稀缺交叉 | +| 多后端思维 | 国产芯片(昇腾 CANN、寒武纪)使能,"适配子网络"直觉在此是核心竞争力 | + +**一句话建议**: +> 不守"通用编译框架"这条船;把"适配特定子网络深入优化"做深到极致——但"深"是指**动态形状 + 新数值格式 + 新硬件架构**三个维度,而不是 TVM 0.6 时代的静态图自动调优。编译功底在这三个维度上直接可迁移,是"只会写 PyTorch 的 ML 工程师"够不着的护城河。 + +--- + +## 参考资料 + +- [LLM Inference Compiler Panorama(推理编译独立成领域)](https://arxiv.org/pdf/2512.23236v1) +- [TIRx:TVM 上的新 kernel DSL(2026-06)](https://tvm.apache.org/2026/06/22/tirx) +- [vLLM 切换 Triton MoE backend(PR #44220)](https://github.com/vllm-project/vllm/pull/44220) +- [AI Inference Engines 2026 全景](https://www.youngju.dev/blog/culture/2026-05-16-ai-inference-engines-2026-vllm-sglang-llama-cpp-tgi-tensorrt-llm-mlx-mistralrs-deepspeed-aphrodite-deep-dive.en) +- [KernelEvolve:Meta 生产级 LLM kernel 生成](https://www.ivoox.com/llm-inference-compiler-panorama-research-and-engineering-evolution-audios-mp3_rf_176267639_1.html) + +## 相关链接 + +- [[大模型架构基础]] — 编译的对象:Transformer 结构 +- [[DeepSeek V4 系列]] — 最新模型的 FP8/NVFP4、DSpark 都是 kernel 层优化 +- [[FFN 前馈网络详解]] — MoE/SwiGLU 是最热的 kernel 优化对象 + +--- + +*最后更新:2026-08-05* diff --git a/自建服务/Gitea部署指南.md b/自建服务/Gitea部署指南.md new file mode 100644 index 0000000..5ed5c34 --- /dev/null +++ b/自建服务/Gitea部署指南.md @@ -0,0 +1,104 @@ +# Gitea 部署指南 + +> 2026-08-13 记录。自托管轻量 Git 服务,个人代码仓库,Web 用 Caddy 反代套 HTTPS。域名域名 `git.hyonglin.top`。 + +--- + +## 选型 + +| 方案 | 是否选用 | 原因 | +|---|---|---| +| **Gitea** | ✅ | Go 单二进制,轻量(~50–100MB),功能全(仓库/Issue/PR/Actions/Package),社区活跃、安全更新及时 | +| Gogs | ❌ | Gitea 的 fork 前身,开发停滞,新项目不推荐 | +| 裸仓库+SSH | ❌ | 无 Web 界面 | + +> Gitea 是 Gogs 的 fork(社区驱动),新项目无脑选 Gitea;若更在意「纯社区治理」可选 Forgejo。 + +--- + +## docker-compose 服务 + +`silverbullet/docker-compose.yml`: + +```yaml + gitea: + image: gitea/gitea:latest + container_name: gitea + restart: unless-stopped + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__server__ROOT_URL=https://git.hyonglin.top/ + - GITEA__server__DOMAIN=git.hyonglin.top + - GITEA__server__SSH_DOMAIN=git.hyonglin.top + - GITEA__server__SSH_PORT=2222 + ports: + - "2222:22" # SSH clone 用(服务器 22 已被 SSH 占用,故映射 2222) + volumes: + - ./gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro +``` + +- Web(3000)不映射端口,由 Caddy 反代 `gitea:3000` +- SSH 需映射 `2222:22`,因为宿主机 22 被 OpenSSH 占用 + +## Caddy 反代 + +`silverbullet/Caddyfile` 加一段: + +```caddyfile +# Git 服务 +git.hyonglin.top { + tls { + dns cloudflare {env.CF_API_TOKEN} + } + reverse_proxy gitea:3000 +} +``` + +## compose 部署 + +```bash +docker compose up -d gitea +docker compose up -d --force-recreate caddy # 让 caddy 加载新站点 +``` + +--- + +## 首次安装(web 向导) + +打开 `https://git.hyonglin.top` 走安装向导: + +- **数据库**:默认 `SQLite3`(个人用足够) +- **域名/URL**:环境变量已预设(`git.hyonglin.top`),保持默认 +- **SSH 端口**:`2222` +- **管理员账号**:设置用户名/邮箱/密码 +- 点「安装 Gitea」 + +验证安装完成: + +```bash +# app.ini 应已锁定安装 +grep INSTALL_LOCK /home/ubuntu/silverbullet/gitea/gitea/conf/app.ini # → true + +# 确认管理员存在 +docker compose exec -T gitea su git -c "gitea admin user list" +``` + +--- + +## 使用 + +- **Web**:登录 `https://git.hyonglin.top` 建仓库 +- **HTTPS clone**:`git clone https://git.hyonglin.top/用户名/仓库.git` +- **SSH clone**:`git clone git@git.hyonglin.top:2222/用户名/仓库.git`(需安全组放行 TCP 2222) +- **备份**:备份 `silverbullet/gitea` 目录(含数据库和所有仓库) + +--- + +## 相关链接 + +- [[主页与Caddy反向代理]] — git.hyonglin.top 的 HTTPS 入口 +- [[frp内网穿透部署指南]] — 本服务器其他自建服务 +- [Gitea 官方文档](https://docs.gitea.com/zh-cn/) \ No newline at end of file diff --git a/自建服务/Silverbullet部署指南.md b/自建服务/Silverbullet部署指南.md new file mode 100644 index 0000000..fd16f0e --- /dev/null +++ b/自建服务/Silverbullet部署指南.md @@ -0,0 +1,219 @@ +# Silverbullet 部署指南 + +> 2026-08-05 记录。目标:在远程 Linux 服务器上用 Docker 部署自托管笔记服务,实现"随时随地在任意设备用浏览器查看编辑笔记"。 + +--- + +## 背景与选型 + +**需求**:远程服务器部署,随时随地任意设备查看、编辑笔记。 + +**选型结论**:Silverbullet(浏览器直接编辑 + Linux/Docker)。 + +### 为什么选 Silverbullet + +- 任何设备浏览器打开网址即可**查看 + 编辑**,无需安装 App +- 支持 `[[]]` 双链、反向链接(**与 Obsidian 语法兼容**,现有笔记可直接用) +- 笔记是纯 Markdown 文件,存在服务器目录,备份 = 复制文件夹 +- PWA 支持,手机浏览器可离线编辑 +- Docker 一条命令部署,开源 + +### 备选:code-server(VS Code Web) + +如果更想要完整 VS Code 体验,用 codercom/code-server。缺点:移动端体验差、无双链支持。**先用 Silverbullet,不够再补。** + +--- + +## 一、服务器部署 + +### 创建 docker-compose.yml + +```yaml +services: + silverbullet: + image: ghcr.io/silverbulletmd/silverbullet:latest + container_name: silverbullet + restart: unless-stopped + ports: + - "3000:3000" + volumes: + - ./space:/space # 笔记存储目录,备份就是复制这个文件夹 + environment: + - SB_USER=admin:改成你的强密码 # 登录认证,必填! +``` + +### 启动 + +```bash +docker compose up -d +``` + +访问 `http://服务器IP:3000` → 输入 admin/密码 → 完成。 + +### 常用环境变量 + +| 变量 | 说明 | 默认 | +|---|---|---| +| `SB_FOLDER` | Markdown 文件目录 | `/space` | +| `SB_PORT` | 内部端口 | `3000` | +| `SB_USER` | Basic auth(`user:pass`) | 无认证 | +| `SB_AUTH_TOKEN` | Bearer token API 访问 | 无 | +| `SB_READ_ONLY` | 只读模式 | `0` | + +--- + +## 二、迁移现有笔记 + +本机笔记在 `d:\onedrive\note`(Windows),用 Git Bash 一次性传到服务器: + +```bash +# 服务器上先建目录 +ssh user@server "mkdir -p /path/to/space" + +# rsync 上传(排除 Obsidian 配置目录,Silverbullet 用不上) +rsync -avP --exclude ".obsidian" "/d/onedrive/note/" user@server:/path/to/space/ +``` + +--- + +## 三、HTTPS + 域名(强烈建议) + +裸 HTTP 下密码明文传输,不安全。用 Caddy 做反向代理 + 自动 TLS 证书(Let's Encrypt)。 + +### 前提条件 + +- 一个已备案/可用的域名,如 `notes.yourdomain.com` +- 域名 A 记录已指向服务器公网 IP +- 服务器 80 和 443 端口未被占用(云服务器需在安全组放行这两个端口) + +### 整合后的 docker-compose.yml + +将 Caddy 和 Silverbullet 放在同一个 compose 文件中,让它们共享同一个 Docker 网络,容器间用服务名互相访问: + +```yaml +services: + silverbullet: + image: ghcr.io/silverbulletmd/silverbullet:latest + container_name: silverbullet + restart: unless-stopped + volumes: + - ./space:/space + environment: + - SB_USER=admin:改成你的强密码 + # 不暴露 ports,只允许 Caddy 通过内部网络访问 + + caddy: + image: caddy:latest + container_name: caddy + restart: unless-stopped + ports: + - "80:80" + - "443:443" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data # 证书和密钥持久化,避免重启重新申请 + - caddy_config:/config # Caddy 自身配置 + +volumes: + caddy_data: + caddy_config: +``` + +> **关键**:`caddy_data` 和 `caddy_config` 用 named volume 而非 bind mount,避免权限问题,且证书重启不丢失。 + +### Caddyfile 配置 + +在 `docker-compose.yml` 同级目录创建 `Caddyfile`(纯文本,无后缀): + +```caddyfile +# 基础版:自动 HTTPS + 反向代理 +notes.yourdomain.com { + reverse_proxy silverbullet:3000 +} +``` + +**常用增强配置**: + +```caddyfile +notes.yourdomain.com { + # 反向代理 + reverse_proxy silverbullet:3000 + + # 访问日志(排查问题时打开) + log { + output file /var/log/caddy/access.log + } + + # 限制请求体大小(上传大文件时调大) + request_body { + max_size 50MB + } + + # 安全头(可选) + header { + X-Content-Type-Options nosniff + X-Frame-Options DENY + -Server + } +} +``` + +### 启动与验证 + +```bash +# 启动 +docker compose up -d + +# 查看 Caddy 日志(确认证书申请是否成功) +docker compose logs caddy -f +``` + +正常日志中应能看到类似 `certificate obtained successfully` 的输出。然后浏览器访问 `https://notes.yourdomain.com` 即可。 + +### 排错 + +| 问题 | 检查项 | +|---|---| +| 证书申请失败 | 确认域名 A 记录已生效(`dig notes.yourdomain.com` 或 `nslookup`),且 80 端口能从公网访问 | +| 502 Bad Gateway | `docker compose ps` 确认 silverbullet 容器在运行;确认 Caddyfile 中 `reverse_proxy` 的目标容器名与 compose 中 service 名一致 | +| 端口被占用 | 如果服务器已有 nginx/apache,先停掉再启 Caddy,或让 Caddy 监听其他端口 | +| 国内服务器 | 80/443 端口需备案;若无备案可用非标端口 + DNS 验证,但 Caddy 默认 HTTP-01 验证仍需 80 端口可达 | + +> 无域名临时方案:frp / 路由侠等内网穿透工具把 3000 端口暴露出去。 + +--- + +## 四、数据备份 + +笔记是纯 Markdown → 备份 = 压缩目录: + +```bash +# 手动备份 +tar czf notes-backup-$(date +%F).tar.gz /path/to/space/ + +# cron 定时备份 + 保留最近 7 份 +0 3 * * * tar czf /backup/notes-$(date +%F).tar.gz /path/to/space/ && ls -t /backup/notes-*.tar.gz | tail -n +8 | xargs rm -f +``` + +--- + +## 五、使用方式转变(关键) + +选浏览器编辑 → **服务器目录成为唯一权威版本**,本地 OneDrive 降级为离线备份: + +| 场景 | 操作 | +|---|---| +| 日常编辑 | 浏览器打开 Silverbullet,直接改服务器文件 | +| 本地离线备份 | `rsync user@server:/path/to/space/ /d/onedrive/note/` | +| 多设备 | 全部走浏览器,无需装任何东西 | + +--- + +## 相关链接 + +- [[大模型架构基础]] — 本笔记库的正式学习内容 +- [[AI编译器现状与前景]] — 技术趋势分析 + +--- + +*最后更新:2026-08-05* diff --git a/自建服务/frp内网穿透部署指南.md b/自建服务/frp内网穿透部署指南.md new file mode 100644 index 0000000..396d780 --- /dev/null +++ b/自建服务/frp内网穿透部署指南.md @@ -0,0 +1,218 @@ +# frp 内网穿透部署指南 + +> 2026-08-13 更新。目标:通过云服务器(公网 IP `58.87.87.208`)随时随地访问家里多台机器的 SSH 和 RDP,统一用域名 `hyonglin.top` + 端口区分。 + +--- + +## 背景与方案 + +**需求**:家里机器在 NAT 内网、没有公网 IP,想在任意地点 SSH 进去、远程桌面操作。 + +**选型结论**:frp(Fast Reverse Proxy),成熟的内网穿透工具。 + +- 家里机器(内网)主动反向连到云服务器,云服务器监听公网端口转发进来 +- 一个服务端(frps)对多个客户端(frpc),加机器只需加端口,服务端不用动 +- Go 编写,单文件二进制,Linux/Windows 通用,systemd 管理开机自启 + +### 架构 + +``` +你(任意地点) 云服务器 frps 家里机器 frpc(可多台) + │ │ │ + ├─SSH hyonglin.top:2201──▶│─监听 2201───────────▶│─▶ pc01:22 + ├─SSH hyonglin.top:2202──▶│─监听 2202───────────▶│─▶ pc02:22 + ├─RDP hyonglin.top:3389──▶│─监听 3389───────────▶│─▶ pc01:3389 + ├─RDP hyonglin.top:3390──▶│─监听 3390───────────▶│─▶ pc02:3389 + │ └─frpc 主动连 bindPort 7000◀─┘ +``` + +> 域名只解析到 IP,**端口才是区分机器的关键**。RDP 不能共用 3389(TCP 层没有域名概念),但 frp 的 `remotePort` 独立于本机 `localPort`,本机 RDP 端口保持 3389 不用改。 + +--- + +## 端口规划 + +| 机器 | SSH(remotePort) | RDP(remotePort) | 本机端口 | +|---|---|---|---| +| pc01 | 2201 | 3389 | 22 / 3389 | +| pc02 | 2202 | 3390 | 22 / 3389 | +| 新增机器 | 2203 | 3391 | … | + +固定端口:frps 客户端连接 `7000`、管理面板 `7500`。 + +--- + +## 一、服务端 frps 部署(云服务器) + +### 下载与安装 + +```bash +# 下载(GitHub 慢时走镜像 ghfast.top) +wget https://ghfast.top/https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_linux_amd64.tar.gz +tar xzf frp_0.65.0_linux_amd64.tar.gz + +sudo cp frp_0.65.0_linux_amd64/frps /usr/local/bin/ +sudo mkdir -p /etc/frp +``` + +### 服务端配置 `/etc/frp/frps.toml` + +```toml +bindPort = 7000 # frpc 连接端口 +auth.token = "0ae2664b411c41645e5c9ab6779724d4" # 客户端认证令牌(frpc 必须一致) + +# 管理面板 +webServer.addr = "0.0.0.0" +webServer.port = 7500 +webServer.user = "admin" +webServer.password = "Admin-0ae2664b" + +# 日志 +log.to = "/var/log/frps.log" +log.level = "info" +log.maxDays = 7 +``` + +### systemd 服务 `/etc/systemd/system/frps.service` + +```ini +[Unit] +Description=frp server +After=network.target + +[Service] +Type=simple +ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target +``` + +```bash +sudo systemctl daemon-reload +sudo systemctl enable --now frps +systemctl status frps # active (running) +``` + +--- + +## 二、客户端 frpc 部署(家里机器) + +### 客户端配置 `/etc/frp/frpc.toml` + +以 pc01 为例: + +```toml +serverAddr = "hyonglin.top" +serverPort = 7000 +auth.token = "0ae2664b411c41645e5c9ab6779724d4" + +# SSH:服务器 2201 → 本机 22 +[[proxies]] +name = "pc01-ssh" +type = "tcp" +localIP = "127.0.0.1" +localPort = 22 +remotePort = 2201 + +# RDP:服务器 3389 → 本机 3389 +[[proxies]] +name = "pc01-rdp" +type = "tcp" +localIP = "127.0.0.1" +localPort = 3389 +remotePort = 3389 +``` + +> 加第二台(pc02):把 `name` 换成 `pc02-*`、`remotePort` 换成 `2202`/`3390`,`serverAddr`/`token` 不变即可。 + +### 安装(frpc 二进制 + systemd) + +```bash +sudo install -m 755 ~/frpc /usr/local/bin/frpc +sudo mkdir -p /etc/frp +sudo cp ~/frpc.toml /etc/frp/frpc.toml +sudo cp ~/frpc.service /etc/systemd/system/frpc.service +sudo systemctl daemon-reload +sudo systemctl enable --now frpc +systemctl status frpc # active (running) +``` + +--- + +## 三、家里开启 SSH 和 RDP 服务 + +### SSH + +```bash +sudo apt update && sudo apt install -y openssh-server +sudo systemctl enable --now ssh +``` + +### RDP(Ubuntu 内置,无需装 xrdp) + +- 打开 **设置 → 系统 → 远程桌面** +- 开启 **远程登录**(Remote Desktop / RDP)开关,记下用户名密码 +- 端口默认 3389 + +> ⚠️ Ubuntu 内置 RDP 依赖**已登录的图形会话**。重启后停在登录界面、无人登录时 RDP 连不上。若要无人值守,需换 xrdp 方案。 + +--- + +## 四、云安全组放行端口(关键坑) + +**最容易漏的一步**:云服务商控制台的「防火墙/安全组」默认只开 22/80/443,需手动放行 TCP: + +``` +7000(frps 连接)、2201/2202(SSH 转发)、3389/3390(RDP 转发) +``` + +> 服务器内部 `ufw` 是 inactive,iptables 只黑名单了若干恶意 IP,不影响端口;问题出在**云控制台安全组**,与服务器内防火墙无关。 + +> 7500(frps 管理面板)走 `frp.hyonglin.top` HTTPS 后,建议在安全组**撤销 7500 的公网放行**,避免明文暴露。 + +--- + +## 五、验证与使用 + +```bash +# 服务器端确认 frpc 已登录、代理已监听 +ss -tlnp | grep -E '2201|2202|3389|3390' +sudo tail -f /var/log/frps.log # 应看到 client login / new proxy success +``` + +连接方式(统一 hyonglin.top + 端口): + +| 目标 | 命令 | +|---|---| +| pc01 SSH | `ssh 用户名@hyonglin.top -p 2201` | +| pc01 RDP | 远程桌面连 `hyonglin.top:3389` | +| pc02 SSH | `ssh 用户名@hyonglin.top -p 2202` | +| pc02 RDP | 远程桌面连 `hyonglin.top:3390` | + +管理面板:`https://frp.hyonglin.top`(admin / Admin-0ae2664b) + +--- + +## 排错记录 + +| 症状 | 原因 | 解决 | +|---|---|---| +| frpc 状态 active 但 frps 日志无 login 记录 | 云安全组没放行 7000 | 控制台放行 7000 及转发端口 | +| `login to server failed` | token 不一致 | 检查 frpc/frps 的 auth.token 是否相同 | +| 2201 没监听 | frpc 没启动或代理注册失败 | `journalctl -u frpc -n 50` 看报错 | + +--- + +## 相关链接 + +- [[主页与Caddy反向代理]] — 主页/面板的 HTTPS 入口 +- [[sshwifty网页SSH终端]] — 浏览器里连 SSH +- [[Silverbullet部署指南]] — 本服务器自建服务 +- [frp官方文档](https://gofrp.org/zh-cn/) + +--- + +*最后更新:2026-08-13* diff --git a/自建服务/sshwifty网页SSH终端.md b/自建服务/sshwifty网页SSH终端.md new file mode 100644 index 0000000..e671a61 --- /dev/null +++ b/自建服务/sshwifty网页SSH终端.md @@ -0,0 +1,84 @@ +# sshwifty 网页 SSH 终端 + +> 2026-08-13 记录。网页版通用 SSH 客户端,浏览器里填主机/端口/账号即可连接任意机器。Go 单二进制,内存占用 ~10–30MB。 + +--- + +## docker-compose 服务 + +```yaml + sshwifty: + image: niruix/sshwifty:latest + container_name: sshwifty + restart: unless-stopped + environment: + - SSHWIFTY_CONFIG=/etc/sshwifty.conf.json # 指向配置文件 + volumes: + - ./sshwifty.conf.json:/etc/sshwifty.conf.json +``` + +不暴露端口,由 Caddy 反代 `sshwifty:8182`(WebSocket,Caddy 默认支持),入口 `https://ssh.hyonglin.top`。 + +--- + +## 配置文件 sshwifty.conf.json(含预设主机) + +```json +{ + "SharedKey": "hylssh0813", + "Servers": [ + { "ListenInterface": "0.0.0.0", "ListenPort": 8182 } + ], + "Presets": [ + { + "Title": "pc01", + "Type": "SSH", + "Host": "hyonglin.top:2201", + "Meta": { "User": "ylhan", "Encoding": "utf-8", "Authentication": "Password" } + }, + { + "Title": "pc02", + "Type": "SSH", + "Host": "hyonglin.top:2202", + "Meta": { "User": "ylhan", "Encoding": "utf-8", "Authentication": "Password" } + }, + { + "Title": "云服务器", + "Type": "SSH", + "Host": "hyonglin.top:22", + "Meta": { "User": "ubuntu", "Encoding": "utf-8", "Authentication": "Password" } + } + ], + "OnlyAllowPresetRemotes": false +} +``` + +> 端口写在 `Host` 里用 `host:port`,没有单独的 Port 字段。`OnlyAllowPresetRemotes: true` 可限制只连预设主机。改完配置 `docker compose up -d sshwifty` 重启生效。 + +--- + +## 使用 + +1. 打开 `https://ssh.hyonglin.top`,输入 SharedKey 密码 +2. 预设主机点一下即连,也可手动填任意主机: + +| 预设 | 目标 | +|---|---| +| pc01 | `hyonglin.top:2201` | +| pc02 | `hyonglin.top:2202` | +| 云服务器 | `hyonglin.top:22` | + +--- + +## 坑:Known Remotes 不跨设备 + +Known Remotes(已知主机)存在浏览器 `localStorage`,换机器/换浏览器/清缓存都会丢,**没有服务端存储**。 + +要跨设备固定入口,就用上面的 **Presets**(服务端配置,所有机器通用)。 + +--- + +## 相关链接 + +- [[frp内网穿透部署指南]] — SSH/RDP 端口转发 +- [[主页与Caddy反向代理]] — ssh.hyonglin.top 的 HTTPS 入口 diff --git a/自建服务/主页与Caddy反向代理.md b/自建服务/主页与Caddy反向代理.md new file mode 100644 index 0000000..63c84f7 --- /dev/null +++ b/自建服务/主页与Caddy反向代理.md @@ -0,0 +1,127 @@ +# 主页与 Caddy 反向代理 + +> 2026-08-13 记录。用 Caddy 给自建服务套 HTTPS,并做一个主页统一列出服务链接。域名都在 Cloudflare 管理,用 DNS challenge 自动签证书。 + +--- + +## 域名规划 + +所有域名 A 记录统一指向 `58.87.87.208`: + +| 域名 | 用途 | +|---|---| +| `hyonglin.top` | 主页(导航)+ SSH/RDP 直连(纯 DNS 不经 Caddy) | +| `www.hyonglin.top` | 301 重定向到 hyonglin.top | +| `note.hyonglin.top` | 笔记 Silverbullet | +| `frp.hyonglin.top` | frp 管理面板 | +| `ssh.hyonglin.top` | 网页 SSH 终端 | +| `git.hyonglin.top` | Git 服务(Gitea) | + +--- + +## 主页 + +静态页 `silverbullet/homepage/index.html`,导航分「自建服务」「常用链接」两组;以后加服务在 `