From 315cb36a214af209c8dd54fc015c85ab35e33995 Mon Sep 17 00:00:00 2001 From: yhlhoh Date: Wed, 21 Oct 2026 12:05:29 +0800 Subject: [PATCH] Add Linux server monitor dashboard --- .gitattributes | 5 + .gitignore | 6 + README.md | 229 ++++- deploy/server-monitor.service | 37 + docs/preview.png | Bin 0 -> 581985 bytes install.sh | 58 ++ monitor.py | 196 ++++ servermon/__init__.py | 3 + servermon/demo.py | 286 ++++++ servermon/metrics.py | 1009 ++++++++++++++++++++ servermon/service.py | 205 ++++ servermon/web.py | 298 ++++++ tests/__init__.py | 0 tests/test_metrics.py | 217 +++++ web/app.js | 1273 +++++++++++++++++++++++++ web/favicon.svg | 12 + web/index.html | 485 ++++++++++ web/robots.txt | 2 + web/style.css | 1677 +++++++++++++++++++++++++++++++++ 19 files changed, 5997 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 deploy/server-monitor.service create mode 100644 docs/preview.png create mode 100755 install.sh create mode 100644 monitor.py create mode 100644 servermon/__init__.py create mode 100644 servermon/demo.py create mode 100644 servermon/metrics.py create mode 100644 servermon/service.py create mode 100644 servermon/web.py create mode 100644 tests/__init__.py create mode 100644 tests/test_metrics.py create mode 100644 web/app.js create mode 100644 web/favicon.svg create mode 100644 web/index.html create mode 100644 web/robots.txt create mode 100644 web/style.css diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1bd4f5f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +* text=auto eol=lf +*.sh text eol=lf +*.service text eol=lf +*.py text eol=lf +*.png binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..be96641 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +__pycache__/ +*.py[cod] +*.log +.demo/ +demo_snapshot.json +.DS_Store diff --git a/README.md b/README.md index af3ea2d..80e05c7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,229 @@ -# server-monitor +# Server Monitor +Linux 服务器监控展示牌。监听 `0.0.0.0`,通过 `/proc`、`/sys` 和 `statvfs` 采集系统指标,在 **1024×768** 优化的面板上自动滚动展示,并随屏幕尺寸等比缩放。 + +![面板预览](docs/preview.png) + +## 特性 + +- **零第三方依赖**:只需要 Python 3.8+,不需要 pip 安装任何包。 +- **完整指标**:CPU 使用率 / 每核心 / user-system-iowait-steal 拆分、内存与 Swap、LOAD 1/5/15、Uptime、文件系统、磁盘 I/O、网络速率与累计流量、Top 进程、温度、频率。 +- **展示牌设计**:1024×768 基准,5 个页面自动轮播;顶部固定主机名、当前时间、时区、Uptime、IP;底部状态跑马灯。 +- **实时数据**:默认每秒采样一次;SSE 推送,断线后自动回退到 HTTP 轮询。 +- **无需前端构建**:原生 HTML/CSS/Canvas,无 CDN、无外网字体或图标,内网离线可用。 +- **可选 Basic 认证**;systemd 服务使用 `DynamicUser` 降权运行,只读访问系统数据。 +- **内置演示模式**:在没有 Linux `/proc` 的机器上也能预览完整面板。 + +## 面板 + +| 页面 | 内容 | +| --- | --- | +| 01 系统概览 | CPU / 内存 / LOAD / 文件系统 / 网络速率,节点信息 | +| 02 处理器与负载 | 大环图、16 核心网格、CPU 拆分、CPU Top 进程、负载趋势 | +| 03 内存 | 内存构成、Swap、60 秒趋势、内存 Top 进程 | +| 04 存储 | 文件系统用量汇总、块设备 I/O、I/O 60 秒趋势 | +| 05 网络 | 总吞吐、RX/TX 趋势、每网卡速率/累计/错误/链路速率 | + +默认每页轮播 10 秒;任意页面都会保留主机名、服务器时间、时区和 Uptime。底部的 STATUS 跑马灯会滚动显示阈值告警与实时摘要。 + +## 快速开始 + +### Linux(实时模式) + +```bash +# 需要 Python 3.8+ +python3 monitor.py --bind 0.0.0.0 --port 8787 +``` + +浏览器打开 `http://<服务器IP>:8787/`。 + +### 任意系统(演示模式) + +```bash +python3 monitor.py --demo --bind 127.0.0.1 --port 8787 +``` + +演示模式不读取本机 `/proc`,使用模拟的 16 核服务器数据,适合做 UI 预览、截图和无 Linux 环境下的开发。 + +### 一次性输出 JSON + +```bash +python3 monitor.py --once --demo +python3 monitor.py --once # Linux 上采样两次后输出实时快照 +``` + +## 安装为 systemd 服务 + +```bash +chmod +x install.sh +sudo ./install.sh +``` + +脚本会把程序安装到 `/opt/server-monitor`,安装 `server-monitor.service`,并立即启动。默认监听 `0.0.0.0:8787`。 + +```bash +systemctl status server-monitor --no-pager +journalctl -u server-monitor -f +``` + +如需启用 Basic 认证: + +```bash +sudo vi /etc/server-monitor.env +# 写入: +# SERVER_MONITOR_AUTH=admin:换成一个强密码 +sudo systemctl restart server-monitor +``` + +密码中不能包含换行;用户名和密码用第一个冒号分隔,密码本身可以包含冒号。修改端口推荐使用 systemd drop-in: + +```bash +sudo systemctl edit server-monitor +``` + +```ini +[Service] +ExecStart= +ExecStart=/usr/bin/python3 /opt/server-monitor/monitor.py --bind 0.0.0.0 --port 9000 +``` + +然后执行 `sudo systemctl daemon-reload && sudo systemctl restart server-monitor`。 + +## 命令行参数 + +| 参数 | 默认值 | 说明 | +| --- | --- | --- | +| `--bind` | `0.0.0.0` | 监听地址。只给本机看可用 `127.0.0.1` | +| `--port` | `8787` | 监听端口 | +| `--interval` | `1.0` | 采样间隔(秒,最小 0.2) | +| `--demo` | 关闭 | 使用演示数据,可在 Windows/macOS 运行 | +| `--once` | 关闭 | 输出一次 JSON 快照后退出 | +| `--auth USER:PASSWORD` | 无 | 启用 HTTP Basic 认证 | +| `--web-dir DIR` | 内置 `web/` | 前端静态文件目录 | +| `--verbose` | 关闭 | 输出 HTTP 访问日志 | +| `--version` | — | 显示版本 | + +环境变量 `SERVER_MONITOR_AUTH` 等价于 `--auth`,systemd 安装方式使用该变量。 + +## URL 参数与快捷键 + +| 参数 | 示例 | 说明 | +| --- | --- | --- | +| `page` | `?page=3` | 初始显示第 1–5 页 | +| `rotate` | `?rotate=15` | 每页停留秒数(4–120,默认 10) | +| `paused` | `?paused=1` | 打开时暂停自动轮播 | + +快捷键: + +- `Space`:暂停 / 继续轮播 +- `←` / `→`:上一页 / 下一页 +- `1`–`5`:直接跳转页面 +- `F`:全屏 + +适合做值守大屏或 kiosk。页面会按 `min(视口宽/1024, 视口高/768)` 等比缩放,4:3 屏幕刚好铺满,16:9 屏幕居中留边且不会拉伸。 + +## HTTP 接口 + +| 路径 | 说明 | +| --- | --- | +| `/` | 展示牌 | +| `/api/snapshot` | 当前完整 JSON 快照(含 60 点历史) | +| `/api/stream` | SSE 实时推送,每个采样点一条 `data:` | +| `/healthz` | 健康检查,返回 `{ok, samples, interval, uptime_seconds}` | + +`/healthz` 不要求认证;其余路径在配置认证后需要 Basic 凭据。接口只读,不接受任何写入或控制指令。 + +## 指标来源 + +| 指标 | 来源 | +| --- | --- | +| CPU 总量 / 每核心 / 拆分 | `/proc/stat` | +| CPU 型号 / 物理核心 | `/proc/cpuinfo` | +| CPU 频率 | `cpufreq/scaling_cur_freq`,回退 `/proc/cpuinfo` | +| CPU 温度 | `/sys/class/thermal/thermal_zone*`,回退 `hwmon` | +| 内存 / Swap | `/proc/meminfo` | +| LOAD / 运行线程 | `/proc/loadavg` | +| Uptime / 启动时间 | `/proc/uptime` | +| 文件系统 | `/proc/mounts` + `statvfs(2)` | +| 磁盘 I/O | `/proc/diskstats` + `/sys/class/block`(过滤分区) | +| 网络速率 / 累计 | `/proc/net/dev` | +| 网卡 IP / 默认路由 | `ip -j addr`(可选)、`/proc/net/route`、UDP 路由探测 | +| 网卡链路速率 | `/sys/class/net//speed` | +| Top 进程 | `/proc//stat`、`/proc//cmdline` | +| 主机信息 | `/etc/os-release`、`uname(2)`、`gethostname(2)` | + +说明: + +- 网络汇总默认排除 `lo`、veth、docker、br-、virbr、cni 等虚拟接口,避免容器主机重复计数;网卡明细仍会列出主要接口。 +- 磁盘 I/O 已过滤分区设备,避免整盘和分区重复统计;容器内的 `overlay` 根文件系统会按实际挂载显示。 +- 进程 CPU 百分比是按“全部逻辑核心”归一化的,可超过 100%(例如 4 核机器上单进程跑满 4 核约等于 400%)。 +- 所有采样都在一个后台线程完成,多个浏览器同时打开也只产生一份系统采样。 + +## 安全与部署建议 + +- 默认监听所有网卡,但**无认证**。部署到公网前请启用 `SERVER_MONITOR_AUTH`,并用防火墙限制来源,或放在带 TLS 的反向代理后面。 +- 程序以只读方式访问 `/proc`、`/sys` 和挂载点;systemd 单元使用 `DynamicUser=yes`、`ProtectSystem=strict`、空 capability 集。 +- 如果服务器使用了 `hidepid=2`,普通用户可能看不到其他用户的进程,进程 Top 会相应减少;这是内核权限策略,不是面板故障。 +- 如果把 `/home` 下的挂载点也纳入监控,请确认 systemd 的 `ProtectHome=read-only` 不会改变你的预期;可按需删除该行。 +- Basic 认证只保护凭据传输前的内容,公网使用务必加 HTTPS。 + +## 开发与测试 + +```bash +python3 -m unittest discover -s tests -v +node --check web/app.js +``` + +测试使用临时伪造的 `/proc` 数据验证 CPU 差值、内存、网络速率、磁盘 I/O 和演示快照,不会读取或修改真实服务器数据。 + +目录结构: + +```text +monitor.py CLI 入口 +servermon/metrics.py /proc /sys 解析与快照 +servermon/demo.py 演示数据源 +servermon/service.py 后台采样、历史环形缓冲、SSE 广播 +servermon/web.py HTTP / SSE / 静态文件 / Basic Auth +web/ 原生前端(HTML/CSS/Canvas) +deploy/server-monitor.service +install.sh +tests/test_metrics.py +``` + +## 卸载 + +```bash +sudo systemctl disable --now server-monitor +sudo rm -f /etc/systemd/system/server-monitor.service +sudo systemctl daemon-reload +sudo rm -rf /opt/server-monitor +sudo rm -f /etc/server-monitor.env +``` + +## 故障排查 + +**页面一直显示“连接中”或空白** + +- 确认访问的是 `http://IP:8787/`,且防火墙放行端口。 +- 查看 `journalctl -u server-monitor -f`。 +- 非 Linux 上启动实时模式会直接报错,请加 `--demo` 或把程序部署到 Linux。 + +**中文显示成方框** + +目标浏览器缺少中文字体。Debian/Ubuntu 可安装 `fonts-noto-cjk`,或在浏览器端使用包含中文字体的系统。 + +**磁盘列表为空** + +检查挂载的文件系统类型是否在 `REAL_FS_TYPES` 中;容器内的特殊文件系统可能被有意过滤。可以先用 `findmnt` 确认挂载类型。 + +**进程 Top 为空** + +检查 `/proc` 是否被 `hidepid` 限制,以及 systemd 的 `DynamicUser` 是否有权限读取目标进程的 `stat`。 + +**端口被占用** + +```bash +ss -lntp | grep 8787 +``` + +改用 `--port` 或 systemd drop-in 修改端口。 diff --git a/deploy/server-monitor.service b/deploy/server-monitor.service new file mode 100644 index 0000000..569b68f --- /dev/null +++ b/deploy/server-monitor.service @@ -0,0 +1,37 @@ +[Unit] +Description=Server Monitor dashboard (Linux metrics on 1024x768) +Documentation=file:/opt/server-monitor/README.md +Wants=network-online.target +After=network-online.target + +[Service] +Type=simple +WorkingDirectory=/opt/server-monitor +EnvironmentFile=-/etc/server-monitor.env +Environment=PYTHONUNBUFFERED=1 +Environment=PYTHONDONTWRITEBYTECODE=1 +ExecStart=/usr/bin/python3 /opt/server-monitor/monitor.py --bind 0.0.0.0 --port 8787 +Restart=on-failure +RestartSec=2s +TimeoutStopSec=8s + +# The dashboard only reads /proc, /sys and mount statistics. +DynamicUser=yes +NoNewPrivileges=yes +PrivateTmp=yes +PrivateDevices=yes +ProtectSystem=strict +ProtectHome=read-only +ProtectKernelTunables=yes +ProtectKernelModules=yes +ProtectControlGroups=yes +RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX +RestrictNamespaces=yes +LockPersonality=yes +SystemCallArchitectures=native +CapabilityBoundingSet= +AmbientCapabilities= +UMask=0077 + +[Install] +WantedBy=multi-user.target diff --git a/docs/preview.png b/docs/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..17035e16793cecb2a59683405aaab16ef161a072 GIT binary patch literal 581985 zcmZs?bx@mKv^|U!DekVt9fA`aic1R=_u%gC#ft`)(BibXTXDA(DemrCtk^Go@4eq& z-^`gj&tx*0lV_j3_F8N2#Av9=W4si+|P5e^Osc8dsyiU7OtFNEpC!QsFu z%1UYZz@I#$d}UbFUW*I<;iQ(wsEnUlj5aDQEx?P)jw{QzNb;g~4?j34)N>6W$)T@t z=!PGInqISCV=REU5pbzc**{N@GeemZKJ!iQK+ba1PhXuYwY5vtTFTp*V%DC2e|HY{ zuWX!O)4t2q+&7N@-r9)oKBQ)vDE7jV0etq&Fn)c~lmS8?FrlKJedubd7f&@w#4SF7 zI3C_F4Vr>TIMvwFcf&vg=cfkE5EnR7L^=grguhRb#E>JGZFF_jp*XeGdzbALauXys zV^kqe@H`xRIrRvn<5JF)7wHnzZigzgyQ(hg`)(LBG$f&GV<(nKe>g`LCalb-zGtH0ftPzf|fUskBkiz4^P2gVyM$Ylq3Ug8{NoquV#?;#4? zHWPMusn{JT4qx5>ET&Y#J60|iX)<9y*Jp_t0$H`r_gO-M{5`>c=Q9^ms%AdEzsLmP zjj_)28SV7Bs#gO(=rNUUWHIHh^nsm3gd>^OJlvwKApu+TWKsC)9cZ}$1>Uq9_xMg^ zJ^0Qd;*^3^!COcWmu=S})pw+Wc(-j#5SJOWJ7^hsqDe-}X1`~`_WUY$f1@Bp*KH&| zJgU#|{moGI&zF1t`FvDK$qQ?Wu0hwWY-_lE9f@t(jr-qFxcxx@D~F=wRi_+M;BNnK zb#LIyA=7O?Kn?g}h#NdBdvin6M;q0L$y6=wZ0O!M@*%fn4>^er z>150q=o-Jh!!H=tcl}32nMMfrx@pcG(qi@f=4$DiB1CE7esLr}dvK4S{Co)ZSw|Z5 zmKtDv@#%io?I1WIN6k<)0X)BkRB}AO;z8$fm7ODbr8&QX6bbBAH}cmE(=s)A83)gc zs2M$~xX|9$!>$!zcvPEvPpF8e(GQf;8`9h!(|w0%ySj1$#~IZ-dN^T$uH!=V zcD21IVEY0xdi&W*^A4#@um_iT*E0P|I7R;YshLXvRS~Zc&w5|)M!#9Dzd3x71QJGq zKReRr&I6*$nv3tqdIs#)E)G=v({7t_?VZp{F|5O54ikeFN*Rgo+lMlO)mqj%#9r`) zhGbm~d*1VVD5jo4HErCw1|*W7_K?}GlZ?8|_Pljq%U>5g0o5>n*(l3hJr|y$MZBw> zLT0S~?AL_`YSD4#swF|i_*vDsP`b5O&-A!cxSe;o8$*BIuHFXinM8YzcpN~D=y3AP zoY>lnh;2x^QFOfkio5^a=vQ)U*6N}ilKXGdDmUupCQdCp!mo)gd%YHFJ6xt)U#5IwrgT|TB#_DQNd zjX#~JH?_ZJ4{>nLTRk#!KW0~WgAnHI;3VACB+$J_L`%L*PHsSMEhvbHgA-uCjj^x- ztZ#L-auH=IMwxhnibS~4*|(9|8znrdN%+`w8beBvji zpUj;zM3}c}5(p{~MT4B}#wyXfs2(i3?HEhX(I2?gTE+ zCk|%OSwS7B9xv?n=1qd zucnkYF?8hD?PW|Y~V{V^|(z?Ps78wRZNz?R!>#FO8uFxG~&j2}A2rV2u4mU}v-v$;%5}Begt~Eh9Tz*bah$>tQ zynwZL#wcYpjgDZn=L6Ai_L`(7?t!nf?E{KNM{Ru9BGoA2ZB(frGkST-l+SF9=EJ4R zk7bRbCVzdcYCSOBcuSF*PCSop)Gty>-V(f5`b(PX%w7JcD9H&{EQRN(6DAk^qT|C? z&YlTH*g?=OaglW}qwB^A3HeBTZ`w?CLIeetp@btG*(7cG8)^}!WQ>pKd&i;7IoY=% zGBNvK_;HiW5^T?xadLYBgSL(xST+%qRIA7kl#CEj%L*B!kX$x+56j!p%vt3rjX>P- zk2OPcH%=j1;eP*sf!6u@UD&s?Nl4+Wg(nvBz=sU@%$@R+boh`AzYTBYZ@(kdSP-E? zW%hskKF>FNibC$7E@~M_LY&RRBIk}z{2MxnCUL??McmF9j=#x=bVl{ccV)L@I-HVY9Sfp@&pdof01|Y!u4H3c2V} zSNmL6utM8>IH4v-ot0x65(L#hEs?D~#d;6tRO9+F&+~7m{lx<_6d|K#r=}XtmxR-c zGxiz4HEOu@1fx9@^{b#hQ7(kxW>3_Gxa)MI>vC4OAx!Iy^VNWrFdnTZOVyhgaK)NJhcJ2|Z5> z2%Y?Jx8=V>A0`Pq$^YNlknN1$zTy5_ep53k{q-C>^^L$hR&u+6;T%RE{1+F_I6_%T zCpdTu@y`B&vM97z=s=e4Q#RJKnsxAIF%C|lS(*6c069Lqbw3ZDFNxO?;-5U;17To3 zn@hK3p?j~MvF;#U|CoXn;~q-kip~e*H%Z7Fa5OZdv~RThT|iCV1ypp*aFTFH|GUa! zRFPd6K_4W`#JS{0Rp#7mCPJO13bq)r3%CYlKD7LznPzsPxk9Sj`})pr$DOpd!0weN zEah#>x4UM7Lvt^PvR zHWZaP$6#Pu+%4{UXh)ddAicWfcS=lGVhKY>=!|aym5o@-&w4EA%r&%aVq(IG#4Tu2 zs=c(lT@I;SM$+ZAbv4KO>W?tNT^1b|Jt7S;vKAVzFj52ly|R{x^S=9Y67VDc3mBLZ z1*{`1FPiX8F`-#j7as8yE%$B`^cH}!=eHGP8yJz_>x3|hzGa>Hf|hf!pp?GAhF$27 z8DYHnOFnw8SvXsX;mO^LX;D@5-SN9ZKY?eCR7RPd&-G=rtgY6Z_~Q6R!?fI*<=9Zo zo8AfU#F)&f@n&4Cly{%(IHRu1D#^oii&?m#Gk47b7aB!lt?C5gk6+X?2eO(HM8vJbmP)v9e~Rk z*tPn-@5hyzl^c)DVTbcVXSM zPw5E_^gPMGXu8AB9W8}Mp2LSd;B@%FAq7&BzvA}3Ex~({fV}?UPgEZ~aR&VrdXCc{ z3dZx2mn1zo02(tH64EmPKRfo$7EO1n?O(6Eo9hkUP;RwBp;cM}4kNA*eoW#f3Fwr3 zzY?;_jI!kc>IKEzy`bS*O8c%W$lKmM=*Gvgz8=^)+%-AE^`n<`D?-CRpqot z>ir~Zr<#48+zYI@p9br01%rC;I>BXfL9s|w2I#%#gSBwHVWFj?5<4W#xC#niXFbb( zsaTz8L!6Hh1Df@-a|iMham0$s46a^~Ud28LqRr4=)87>nn&Ij>gC7{q;R~GcOCK|EQ>TyTKsFkq8eCHg(>$M701$nGnLci`@WZ$85LULa zW3e4iEsa=b`Ky{vdC!=DSbw&Pb!Mrf566BZNsMI)PBEV{5Vq`78MWOKxAFX6o!*Rxdl+r7lg_SFSk;?yh0SznRu==p+AR#YNP%Xg+^me@0Os&5QGN0K@ zZtS~q!(Y1km~S=nuKM8xC{I1()n&OCF~*U-Q%+&}c<7#QxAx)3VyvJl^>(>r$BpN( zfz7zvrhc)z3NK#H$E82(`TJ!t=l5DHQ~On!nY}8K0uk6<$-LTW7?~I_K&4NvkODZl zP3vc6{=(N%+ql|MjZV~ekrTy$0yn8P`(>j5s3J~eKbtq>Q4j-}@dN~PHe=uGBNy?F z#xr7XoS;$#@;lD1N4c4532LHWGvd4Kp)6Z7(zyFl$6`t>AwCA`_{ z8&QgqQ#3ROS{5a^3MEZx=@eVQlzw0gC7s>0Wg?Is@em6>P|cg7RqVayNzynd#lW4d zu<(TS-oqe^Od-uroDo~iGNp7{U+T)>RUl$WAK9L(YR*i7faB)tgvM3eEy7uMgX--c zSZMFszJmQ&Wq!0k7?F|#kG8kFV(;La1Qw>9^Qk(wJubgVT!r4S9IJvN=&yf1fU6uvW zxSzp9Ngv%fLRH*+V(ILFJo?K8R>`EJLdmXH^(FEIKt+5<qpr_AaLF33|GGVC&OvOSP&Xb8Oftq zme$Dx=HiE{*{H(vsw-sp$=jKBAbrT#Il5Ckk@%`HP_v$ori7Ij2h8&s^`D;N(Oqe? zx2@0UWtDs^<`N~4DgUwkw8G$QMQ6*U{_eZu7p2dcY2B#Ah3~$SNJ^snvKjy2ntZMY zyKRmNU%T#m+`+|Nnqc=6uYzczeQW=*v^ruE2JQ{bhtw;-iwrV^^RHt1po;-eah5gq z`twfV-nSZ-!@B5&^xL*~avyl4@CgHy?lrE&Xz_+k%+ZEc&i7tr)*guf9u@Q@_V%qxt?bMYn}D zS-#B0AC;UpOcDjBQEFEjZemx^%dC|v4_yP>ooA1R!g3D5YUf9%aj1L}Ble;c)}tgZ ze_{C-ee)=qro<2GDVY~(BjiLvV76x=p`b6ul1cbJ($_zu*s|HAxGAH4-6-#tuJv>? z4<4PgQiUayh{$$#a)RuKzOmyh%Zm!R4x(Y^(D0gV*(;lTWvNtw2j7A398JzIFK$sA zHtM47)UW0g)W|8{SY0WM&`StW!k2I^)Q!mg*fBXk_M}A<=?8%of}5?hX_UL3|c75)VNF(v|k~B|>eyF$E!VLLf5M4w>qwILja3;V!MdBRICO@?#>@ zfeU+LGI=Hx(nvFTa+1-w;RrCph&=jf!jgoVU7W!NBOd+lCDEa#y;MAJ&Ty@^RqF~R z8w4W8vnj(AL_X5x{!qetr-;)=q*xR69w{0jMCIRk__tCyfMDJo8xdl4VkeZ_rJY%9 z$5y-U>SQzo5W;`-HhHC+5=PXbx>@yS2~|EsiWe^%|4@Cdnd5u@c=~M&saJ?}dvp#% zp2>GTQe^|zY^nMeMc_gOsJp>LQ7EJnd-YwnyTP`^h^8wW%i8QPWzU%o2^TvEuou#?Tu*u?XZrkP2*fFnknqd}u0qNKJTMjE9 z+OesEhrDu`G+IPi>e4V2$bDm%d6!nYw8Pl^d&WNBV0e-?7teBx%G%=`DNkb(Z{C?eD7!%FBkl9kv1HSextRHfHYn> zx1lz^m7z;!iWl~Y5h)t3;J|+3ceX&;v)@c$+~)(HPH(Dd&?i)wyyQ#&u3V3P!)!~z zI7%@OV4rPa1cAGHXBpa12Ai>JcU@cgekVBVjJG6`%oivIF+)Tt$aDA#$zB%3vQEkd z&KuFnsh9SCk2vP;lmi3OsgaYKG5;ld6f)#@aOu(V#)|U@t#h@?neFXlytUR+5Jc;} zqf?tsvca!}k{6Q3&f17QYl*M5Z9A59;hm*rr$ggq;QVdfm?Y zeBd_TMDN1~Q@SxSiAW!Z<=#&jk8{dLL%dSCSq?nzandTV!8f#|+^wkaV#Xu+_GI>( zGkQRovR*IVetCT!Uk0cJtyeDX_OCY%{=4pZeb!sEv`4o7o$w>Yx9m%6EAI$88TZYi z#@!rjX5_!AUulW_NY|SYG0W6Qw)@VnNr*FEr|ADkZ9WV_yYi5o;DZU9eZt8@1E(|w zkTyD4RazB*7CmT-iqDf)4r9iu5d~S%3NRFx@o-8(L*ScIL0GEhf!O37G&YF6Qw@y~ zR&~qN=5Sa52~hH4k4@1MPh_XtSxhB{7(3N7hL6M~%+d`4GFO!5q~+~!_efQo7&PY% zxrtS>dn*a^GMhIAu%kdoW8<{$ol%vbZV=<^Qqb12Ulv^9|0Zs4ynTPlca-^eD=`I@ zf@N_YV3P)77nB9G~hT`0$p1G^jm zA@F-4BYqA%!H(c1<@1L>Mli%DUfFxfYTE9o=nIUoBRX1182o(=g}yYY3q*#DFolJr zE7ML#q~6O|vIpSZhs<)QnGLgO@<@fKY-0{6yxl1jqY8drIp{~Y3URs4#gT=BPm03U zbI>=DuEX``9PmK%6NUoRBkLuCp52yJSelypKa~pgvOTpTbW3M6yOf9yNJQRFqq+K! zGG_HIrpbVpkYaHiXJ zMoyPH*H3ox_KF2F>Grwh73-`)R=OH((s4{0hP?4pg3Aq8_U?#^Kd*U&MM+)M$A*Z; z?9mzNR>Q56roN*M!lrQmJi4%|Q@c~eCee0Y+#)P%MZKlSD_ErdD3=n>`&kog_Bo@C zK0r)WwKX_m&-Q1A^?EgeZASprCVfnZj9Tv6-~;?c_*_LjA`pVBmd}^ z_~=I{{3DNQ(y1g?JBq_3B3=bm#WA^R7b(fdGTRU`Sz9ow1r|a8Adm zpheUuczJD+aTYLu9C7#_TiwsMP6RqE{&@DdVB`4IOL*_EXe&P0l#4yIuPRr%&UnWU6?Rjt<$Q1cC?@zRinqF{$pOBz^4Q{}v24aO;}36) zB8`Krw52ubl_JY(EOO23aZp{V-XesNztEtUZQ;38O6AYwMPj^Vv$%y@E>BKxJhuSM z>6jj!D8%-8wk?P+iq8JWYPAF!(Zt|3r|;JqbvPc%Zj_A`!8LT(1pgz1K9wjk>zBM; zDq00+tVLw)lp8h>gHW!>K;L13rai&sbOI^AqMItab5SyCkFVUrkZRD8l$grmc_oA0 zZ&($Xo;=*PEFUGqca2-^;8ysbG>(Evz+2^$VIk+(3xWx!G)6_^Bs|3$yV7ISEt~-Z_P7yVThaVnK4MiPA}%+QwaFB4 z8%Gv>MI?hKZJ&yf62I^p7CyB=zCw(Umu{+DQYF$Cg5N#04B7Jw$W-G|wVtGIiO_`r zhNElPb8SaXq`0~`I(I>R%(_)_t&Kde7NTc@)_l2Lx*zln)sqAypz3G5KWXb^a~NlC zn_?-Fz19nBxttsxv#2~tP#0jx8xnA8Y+2@Y8Q+UfcZ%AYK(09hNi8h?kFu>%riuE8 z#tB=f#0&^CuOC3I{I^{k{)Lb0{=yg{gz4V@(H*JTB@joYNCmzFcFx15NYTCQGpN? zDNtjh9W6Db?b~u^rSdg)YSi$&qBW5U!G4Mn5JdrQvPgl4bv8rb{;e8jqwgWL(m!@; z9C*RhtpXz5!gSoi>+|}{gTM*kY3Ce!05A8?i5w70FUWKnlV?8aR0!!STy%MCm*ZrN ze5-a^A8UOUkxP`Jhq)R%p56?Io`0T=>AQJY)~NG0QhNsgi0oazJ~|Mb?k)loj>$nrngpb;gANO5Xf#70EfbsR~;hX&64z@HI*=qSuPxdIm@wDZgNw9fuG~{dQT*SEtq^+#YEktR6Q*JhaS+z!R)AW{b+P-`J?&OR*<0EaK!s%&f^WK_o5y^6=5b7r?BesN1Q zX#~o)uM5d7=6m$j*y~NZFqy}=@Xpq$^wGE9G_t{uIBxqd1=}#?72&8g14TKqZ_DacyW&k8y?6!eWB*g`R1o0X6ccZ4# zABEF@w}F0{aWq=euo(0s$@66)Eiko}A`iq+UG~%rHE??3$vawo+g2yhmT)LiM9j(#4S`~AqTSkX!V>>@ZeO=E zN*Bsgo!XU3=3izB6{i4RRD^$o=kyPy>6m1Klw|%4CA`Gi*PmLeNhb53@^`YhZ?3mi z1CmsbgvrYAb`WU(HAE05W;cD2sPOq;qBah*1m-gXvL`MlZ;d{xz#J6b-)fOX21ia0 z?}yYsij$gpwtR}j1-`!#v1?(}cP)Mp{k;M#K~JKc>ZkjtOU+!;3Dru_&4TNvSJxQn zs;-NUkO|8s;Kon#B}Pa|Tvkf1Y}|W^PwA+SO<(=0`h92L0kD}Vmf>K*Qum`|xT&_aCF_-9NiZH$&4V3Px0(&?QNDcl8=} z!0D}_D^uGX(M3Vlp8>P*=d=zB0eV(x{DSHXOpNipDkxuhQ-r4LQ{dGtBDZ7(tW-}m z{68r<8C})qet8pV6@ReJQLVyJQ5RyqQa8fki#59Y!&)vOTXjBnR!815yT<^DQ#x3n)hpg&(uLIcvNJQ8LXV&}k2 z!CN*olwWt>{Nb{(NB5i{qR}calpbvJ-=1M6ot_uv++DT_;4R&T-hCQ+CHq2U=T^8) zy#Sy!LFJ*7B@d*c2+TBR53Zf?jtb~fKy~S5xo(x9ln-d%{cKBiHj}zH29>$KUuyux zovSKa*?5$AH*yASldYReg=~DE(M}bOCziF$9_G!XHY{5pPWu?p)^|zPZ2NLBLELJH zLi6c^9oQmwzL7_3rEAuSfy;EbFb*{{?&8olmdP3w1=g{`PM$}Er-#R(>B1lJab97XrZxKLDUMtd9F zkuJU)e$U>pW4_coiZko>L1#>vMO=%RZc6eptCzS|HoRXT$(rowp71?x z7Z&*g^me}ZkSK*XNF$c%quNGOv{LS@RP2)-lDE9X+X-lpWZYw|I!!e{QolWl=+2$C zi+Y@MMc6eCB)rE(N*Adjnb=~+DADKHBCX(~#|kTT2A zy3c|l=zWVb5G3!A*HQaO#8biFo0C)yysnYthSlQQpn;_)Sd=B+%~dnpDZ>zby8eWF zc;a&iti4I~DLVfnKL7@RlVf{76vwB>z>ocGZ!&it3bX${T&`R-xNa`_x2i&9%&v#{ zC}H@KDBM2p_VE>9F)#qNM}Y?eo#1Z^DYM+dx!ahsslUm*_Z6P`cyp6*4bgVJkAju^ zfd2ht8i|jsN3TZjq3LSupEH8?LD7CG_^4YkA@G;@Xx7pBl9B@I$|ht%C-}S?UAx$z zLJ$-CHLNAOabcKD`@Gp7i9`K-Uo=MmVvy*Mfrcc|d6$h%`Pklm{tf27J6-XuMt%$R zd%9^TZC7aK^gncb-lNVq(oHo%MD@o`x#+3iWr&uRVCS-mfYxB4YB0*uCkB7v?}^JM zKB2p5Er?^T)x&`C1fiWu96WK45_bfBYA3tCR-fJk<&{XSt(irF$t2NCQb>ybMX{Hc z0>bd2sRHElk{f}vq76*cLL%|G)h(xS2tK98fBwwmJ$)o|7K7?&7%74<$)2TOM(IzI zKt3{^j{*Poz5D1PTqY~cgI8wrD8?{Grr-!g&_I@zGoMpI))SFA8<|V#9Koo9ZaS%l z+bL(xY_AHY^h|@*jO;v#%@qB&V?-2cp|C$=x>JJM94djr51;w%SHoc672w@&65A3! zW|h)cH{yVrl~{}*7*vlJ62dAZauBeg`PC*Fb8j+j*t7)efY=q@tNTB~KPz{S z#JeC8xfBpuCOSg_TGmRo$F{y3nO@2=4>w}$l~1+z5as_sG~1k)6PLx}_HCcD^{m{& z|Gk2WINu@n36nBm&T6>hT}mjM83AJd=2!Z+_G2gccN}1#Y}lVG0#z?Hc;KzPpKsB8 zvTyI-?w4=)g?(c)mNd$3p7iauxTQU8m$4=Blyaix5DzHYdmkeux>&nN^EZKOD>791 zL6ZURR#=1{`viq(jEoZ57b%-@r=tsjh_x&x4cK>BJKAGUK)S?*&q0%jfs;Lvt-?f011-`E;!V(j$`v7O~p7L5c@dvB-E+;)=emEjXj{{Cx99M z5uh^6Jlspu?d!B;gBNKoVNJYGiH=^6wGWu6+S9i2%=burjL5wEp#mv>!xU6WZ1wZ_ z?-$XX*}Ms|wzHuA>m=6A2VyIxla=XSLlJfn+lPWB_l-eJ`^S4d+-L}SE2;{zPhI9CNHdj)6YsgH+FCc%G>_q`~Q4srMNku<`Z zd5|mNy$#O22YclNS7kyWnqC%Bm=GpdQ6n4p1K*douc%W*U2M$$+Jfdcm9DPwn`@r8 z@R%lg2AQ%#+W<^^^s(;xH?|L>wGk|)9*(h{0S^DhAw2?i?|bdwrhBXnuW^8-E|HvD z(x;M!*(^D^f4@0;OSOVft{Yp>5;^V(hnjSa420;j{qGl~C;8Xppe(&!!tPmzDtR=0 zni3}d4m$}GdRP`YzJRCu2nFfyjkl$QSas;|lf)T`pw)77xF6=WgF*3(?Vbw~MkQn-y3qOI>=CM9DN;oxjtWQ8w$;0sN8+&Y1c zIn;4ba{aJhc2_+c#mZf_k%-m!ZQ{rH$ z>353O@4()G5AYgkR~)=QxjH+!GIjFhK5v2;RPAT1O2bjWROdKHM(YLI83e|+r^b5g zEQ0jV$MiiGV0W&I-OSZQ>1_QB)L~jUH7zH9r|UuocC!X{7mMMLx-&AY)1~!{A#X5E zAVzw(oNr;nIv`75Cre+d3Qi~@YDh?0+MAlT4!D1f88$Ymu>Gr1U`WXBV6dyBudAn} zD<(S^qeN4kj{|9ELtC8(20K?}DB(Tb>b6>XO^gNG*pN=TI#NP4XFl9y2AP_-r!T7n zsmub{er%(E>1d=e4Q&6TbncUZn)mMKIJVL`3Z}l>7SVkDcQv#<^J=5%MNR#`t+Uo^-zPFX+9E$FGg*uEQJvIU}^ z{1u}-r)Esm;&8fCEOo%x<#5_>`K?F}g*eINR(A|~Rjn(U6=KrqwRLq+qWWCdXeEJL z>b64C%UI&p|K-#`Ht8)AMT$wQ7asSjrG04?s$r*B>;hZC?4)$}uKfgp|4JceVmBKd z;bN5=8dm7y|9Jt;ooknjPgjk~Rl4mvSJ7<&6Ay%wi@BOQRs1b0gxH{i3t%5tVs52l z3I(0|C%2I_`w-@H{Gni#IAa#6#e1t693tnXhF(#I@cM&Y+I3$iX< z)CXrh&u`sg@O2t=a?c8L9<{$J;2akmkFDeb{05Fj#&pz6B0>^OnvP_cP1QTSuG}^t zFK&LM)wVyFs)d3Uw>jJQ%1fzUQ;YF4uFCaaXggkQMPJnzC4P9fdAlMPzC3(el{Y}v zA*7^24tYxMrb(;eeX!XDiwLSZLk0r3C=!}@+x;rop$;c!Rr#w+3kxgy>q|wBj*dhW1_sMH1~~=>ITQx4m#1YBzM{4vaA7|_Y8B0Ljaq985>=xs;vXv>wh?62f2vttS&el0V#&Y z*cMkjmM4@M5}nTcN%;364u6DZy-l}m9+P|r%>&g1%&kc_u!ODG)}iC!(gG)i{`oon zSGBsrtA+@4->p{!JPQsbJ>B39_uQnTf*^8l`T_wiBW9|0+ZQ=tDgN*r@ zO#;`N<^kp>*Oi|ZS5}rp5Z1Te4b9E%>0x^5%&Qq+7Flyv=EXuc0tir~R{yl#C3(m5V)Vo^#Y-WZmo{DF;I32T8X(b8ZR}|eNvat{e>Ti(=Ec}?QFRA;Ur=lU1dUi$@ zN~({uhN5?r_S>-*_UZcbneO_|Mt16ZO_0&!HY@Cz(yF|6+dVQ2U!!^A0;;|5Sw*uA zh3-e?%3>S&Okb%ae#=8O=aG!c7TRw8-j;q`N%;#K#;I_EVnZ)0uv?j219QZ3ck({Q zK5D#GVwuFw>Z)?>I5-#8h&5;`tm4rWN>S?JrQqzn`c0Y6b!w*%5Gu*I7`o>sB^jLK z7io}n7*bYc1B)mb5mPhFsrM+mX8W=x5$0BAMeQpp79x%4i#jC zxf;)4jVYhV)}sZ>MCkd=^|hCa zxKQ)YpHTn!e#8*P37wb8gJ|S|tLuoog!_%e9>B|0*Z1#@cAj_RBG`TH?fi8>E^DZG z1Ucs7tKe1c1^U>c(0iZDR}}^3=@;QZEjQ(aDIjg;fMP@DJS%a@-|Z{rskrm%S1wki zlW+shXJJuKdP~LuUF_&$ ztr@tGPvyG|RT&x}UYh0<19Ue0!gSzCt7{OWA_LhY9#J@+$RL{(j|~3YLyej*CWba1 zk&D38IL>D=iL-i5;`XVvzMUf03YDWPWtp{k>g|q(8)B~wmlcez1Ff`>yA`Lqzwvf zzXuzZQq?I=-d*UJ3`v-;{<(4AIPDO?B@cV(s7!Rf6LrYD&(5*|MQ4ALmg<}CiKGe} zp(hwQO%{5H|B5=O3rb2N=-|n{NadT5ZwT}(ELNYz5Niff$<<`3^eQ=VxgFLvVFPC! z9M2sffi7ldH}{tF*GCuaBSaCj73`h3VauU;`FpKgNjUfqM* z5E)#Lou@uGMmv$s=YE2q@et! z_cvhnQSLW8VpqquzraoBz*s%M_|K!DwIXxT)SkD#thSm%M8QT|gqh@y z>IPJ!_Nh094f0E&w_*|K+vgtgv8Pof>umJQ+8>?-f9GB!2RKO(BMGK8G@fRZ-q4Qz z5R!hD{m5=l)6i&B%q==?yhw86*Xz!e|Ln=j_ppk+G)ZO6M_&OA`zVBS+pN{6Uqh84 z3S~#J>W-Q{J9l-Al$j8!7y`&b-6?o(yWeu{1z?iX7}e9O}h|E81|;bS%Pg+FxKMXPO?>kn4V zHX~;)J-8W>0}D>4>ti-mgiM0hrz3w}TF$73f=$YFcj5@iNi8xbbH0Z@8&%$ieqBXf z`^tPd8J~t_=H%lWn`-dieyTVkhVv0UbSw)m;9G2aK&B~4OuY@}KIrP0EvtWXg>Ut5 zi_IXdQA6SdR{x*O&mL+z{lL*3XT@n|!E+1x`Qq@3j^g08tVzdnX7|@`rMI_#aGewp zzA$2y2Hp0lq)pMkGSkLL*{Uy(M}tofEv}jpEm3jKKjl7$FcoQ(7Yqa?eYRM5KVG2`W9H^}xC{MWnWai7E$0Gl|V{@X3I8EX36*(#sX^xqukbtq_k1g@MQJ!SxmJTOy5y*==0 zQrO5voO~YR`mvo=bSZ_wz4ovzHxJ)OjpA@cqk5tXA=xT1Z9szNQ$X?MGx8yiNdn!( zj_d?D130F$r@AjLon`gH8!LCArUFDjzQ@D)4*>>CE3qiQvjpWtnmbGkfO@4#eVFsy zMZdFH<(fUH#Kr6j=x+tstvC38!3O_UbE6jSfgeRoK95z;78XO$+py(3u$TScs|{8w z8<2Pt^yyO6$V_74EwoL!qY#kX7QED)BA$zGaVRu&AgLuZye5b0BEZvcQVjn7Z07H@ zg7yXOeGS^a|M+pUD#(RepvkC7d1lC)?JSbN+hKt8+zx#5 z^$2-XssoM#!q*!(nN3zUpHGYqZsxR@E{QrjsHI@Ad7h?3sifJ*0Cv${_+LGYx$Rwq zo1ioG=$Waf=oVxp`hHEloQxgBzQ3+cxQIMl!e|b(6dNF$IYRL>F%d3t_yTm#_XNhq zG6$1WqEw%!;zV-b#O3bHxJgbb^7VvWTT2=YZx_0QjKtdj4qKo2BKR+Jk9}2u9U@;s zL$-+QRhBm$(0^~84f+}R41xciS*hy8s_Ys0m3-nGIt3FInlf5Y%BmbLHc5)5llqZ|>BxXdioo*LMEU7exAG%R> zwO8w=jy1;UY=w#?!pNknxWg0kK~b$&NqVHJh+bEb_(uIOaAA#-y{a;+C0~~bXCnK@ zS^nxF6<*N>VxaA77<2UN1YmvqcNp9&16=-zR1ucU?JY*7HGlojpGHbzlw0Vxc#ha8 z2&++37jB68l0ce_K3ypHO|+?r>ld|gNm`Bzc8=g8#a0c+t~VJ`K8>E`cXFb+o<;Wg zuolzVZu;MEC*qB1*|1@^o3dk9%kgiA={9E+AZpEwlxX+E#!pUz^~?2;pPVw}-#l4j zcnogs4|AwsT|rz2Wc5bX^fi(+!A1d##7%trMd}G9|1oa{9Uxf{KAg9J zGZ^N2h9gb#dX{T~djA$E-q1<=*-3vGRf96<%RwRKI?41l|95$8LT(CFwD8mrZ^=XV zwwUNIm}Zp1dhZ^>E)L~|of#%64WZ!}G!J~r!+a0Yb`J<(QkacLd|GIVawPS$y^+7G zqgS;@wNKt9$(wRVAsPiP*qD!HgTgNCVnuILBL>AVcu8a4FaITL-pb2+*s#g)W#?je*3(uW zWOD!2s?}!SSvh$)lkq3to#2}w^OpRP=-Sxk;R12L+jZ}>%PtOr^-p30P3+M z71)n+L17;GVqbs$`|zjNrs%1D&P{-Kl_PMIb8e8jh@fnxw6C`ZH0J8$+f)?;x9u_CYsnf>p$&Z-`YSS&tDEuM6mt*Iw8$ zi=VsWW)5^z2-*^ zEfvMkb`lUlfQwyZEP}O@;t!OE6LM(Zi-NSEQ2xwM^h6VcvU=v? z`^5E&)c^AWOnTC`*5CYkb5SFEsgXA)Z+$iFj+i;-7@xxD(bb!G@JvEN6w6+I$UfBnXzH+-XTw4Yu0ogAX_& zF44J~U6&LkeJN50;y@gI4)i10fLPXW zEWSGmQ#s$K)MMKJ$J%#BH5E4N+EGDKI#MFiyMS~^R0O1hN>NIriy)zQ5|!Q+LcoH4NT2CmH*{$4ZeoJLIDDa@832NbSafHRhRi5k3Zavt}Zx21N&Np{V2NkucCf02AuzYNt_8*6#3wfBNx0 zM`un=6w#18)bqpnK4d8B=z8FTRi}*b&5D{&jjq)$22P8g{#CwB8N5$^RBaR)r@{E| zW;&$lU*NU9!`R(FHtxZKj|i+qWO1ME$#E|?R92C5v~WempEB2Z7pLsMOtFfGJ}Uoi zRYkaoT&XGNzo%2!EE(4Esc5Y=+mEl~>BY*sr;OK1Eg8}~zt>uRxlZR4`EGD=zV$W3 zq0heB>fK1RxJph5WQqZ}THh|hCekhz;sAG;UP#gS^u#YUTOqd5q&K)Nc`T)40irl&c$dh-zutOW+@#M4!ElRoT8Bk%aab_Bov;i1~pyD{Ri4x^TeWKwV?(d{R;d2|=`*a@HZ6cuSq64()$bp1SYE&BR$&>C z)uQ%O9-OYuZGAg#@yOA|U9Z{8GWDR@>tA`r@cjy#FT;Axl`M+Dvv1=i(OD_|)1<>w zn7}$=cIATp6b$2TXW~DWa(!17N=75 zz3hT{79xjkK`VdH24hR~zR#20Z}Y*Pa+B*a>19B9?KZEDiUJMKzQXcB@0tz}+W^>p z{b$6Je*V~VgyHyC8_zH*ga9wTx`6nUz&pa*nkL&(m{2sC!=sx$R($ zj@qQ^6DoRug;RIDlf^tn2xawXf^IZ3#0|m;V_0JW%xUdTeP4WJk-u@nNTuD3GTeo> z)#lsfZmz7+pynCB+y&deWO!nyxtLgat52yrq5JCd-oCs@bB`3$0~7scj<;BzXE};| z&2H(A5~O^9>u{gPBCJUB+pN9z2C4Aw93}--cZ0q2aE5}!OdT(Ki<`0ojQtZzywB0b z|M)HC##-MD+m7zkvfN;|FP$Zj##z+IWI3nCwCjiz+U!R?;qC|BoE2t@3i=B*4K2UZ zvHC4uuK|8#Zs;&2Q4X5PmjL?MR|0__BIO6~kM1-HA!SU9#h7V3MGno@A8;80mEk(SbV-@;rSJMq+~b#c0xvu$kP@pk zASG?E7A-&0ic|`Y_bwXj`}C^+L8*@EPb2=mA#j(u}}L0>b+Lfe`oR5fgoEPJ-8 zUf+$e1RM!?jIkySly|+qx@zm$a?hSQVOCev?)K#5>TPyNT7cXipV@uGjYTo9bLy1A zZ?;n`yh0G*C%bw(9;wP657*k>ynKShFI%;*%x^8Wy?jCnosE|S#MRy2_w3#iIj_B@ zOTRFir%xvV9KXal;i&e8S-Wqu3m6aSi-L7+LA zmFv%d>i{W*?yQa{h$JY*fZzD-{tOU26X(8vXPjX2HWz@1B1BlRH+Xv(f*lOS#Ex(# zb+jTyNMHM*%$9p8u-n=MYtw>|9(xlvRV>XDNw|0pCvx7%RyIX{yk`klA#_&y`_y=l zWXQ6y!vW#~GF7*j$x3Kj^gln09lUNN*BZNaRPv=3_U9uV~9|@#c)~$DfCHU;Nc&tm{V@>r9qiS>r?2WQv<-nALyUU#XY%_Uhgj zMh=^J0aT_$?MHMGQG@)ers3&7*~MKXG!k{$eevhJ-)-sObs3Y~on&tNC2`K=*y&U9 zyr*8@Ac%bz8;lpKlcE(NuZicR+m`O;g(a<;ZCx>HFO6Aw(vr*?7s+@UnK>YOS2DN1 zucfCnykKcmOgXuR4e%Z7kn_S;&^Pvx2tG-?~@$;1|7EeGyDai zp|(O%YGDF2p7+WHOtN|Hwq2~$REs$ME02qYpX5B%n8|8bq4tju4@?5R?e1i13f(i{ zX9E=Na&x5?Jx>>`h0gO(jF5Lml&?)u#Lxg-U(K8NH_+4U_VRiC}Smxt^n+U^&K6#Fm| z4}<1&+UnX;w5UvfoOea~1rpRq+R{s}!~b?uK39ArMK@Fj$|}&!{Z!EM6s)kkH<(iQ zMAxveP02rUE>O9ya@XMizVfc%BBAkq5wO-p2@U-z;_lG&L3+an==SKB$>1 zbQlv5S8}(8uvb6N94sOKM3z8E7XCQHg4>D4gIaZYdk>e)PF@`~HId@2q}8k!=I+(L zD|3SZD5|S1!AR$hxaVjM`9KPeX0`Cl3i6EI*%MVEW1-}ymk%>#mEy$w)g-9_ z$w(%&4T$f{LJmoVXmr^@g7m$CN!^NH)W#U-E0d0fG>V+48~y!sk?&WP^RsU&+$640 z96@-D^L@~zg4G9E0mNRLfQ~{gp?l9s4cE3_oiq%SG+d9xpE-4#3lPQ7PZBniGpHm| zuf8WzyUqqJ?|a49@U(xQr?RS{SvR==!FE|a5D&bkqN%rQbFUE9BCX-!vrSi^0JsSp zww=DrKj+T51{mL^Jxp|%EnisiPiOe1*SF7o$wJ4v1H+l6YrrY$|+4=C?SCALz zurlqCjBUA2U!vrlOo^8cC zg8%&{{q>)3w2Zige9a!@3g1jo5ziP*!BX5-zLKN89i6_9Hl@1gcMp0G3to`ZcvX)8 zf6TLEnl>pi`IMC@=3OK!cTF>S7gzd5vW7QmVbDAopyRCay*zce=5cB{RH0u(YO>HS z=k<=>Yz_P2bVArsvqQ(=%b3~d$6zOm+?YzdsIjwCDJ(0W!~e`MbCgatYu{>2YhHh> z(?Ofwl30It5t(F`{xxpYYr|7yHv8|2=S!zm z?rhfh+i{hapma?khZiY3MuI=-pF)enm!JM8bof3d6Cv7}j9bTP7Qiba8{cFs75NbX@=M|65?-cAaf!95{g zi?5r!qS6$LupHC}+Wf9gCddqSc9Dd+_4iW3Z|5CB#D(TC#`6*7ylaz7~n$aPSTfZ15xkmvdFeh z$*%uXw8wAAW?bs@Q#-6G65gKj9&M=Wx{}t0?(P;{1SF$>Pp^&#Zp1REeEUb%f9<)^ znR1DdQ;oq%*6v}Kn#7~?VIH(^@y>q&Nwv-V2=gCa_AC%LmnOYi$Ts?ylwGwIA47>d zY!P(MNwGjfq4>`4;(N8rt4at-!pm%nn(vw`Ocf-4lJ^(qI7HHd=sM>u{Cc~u%2Km+ zd>)emMN}^2u}jDf*I`KE0h&XZ9bIz1UvphTg*y|G9Xh_g>9oX`rfpH(%8F>1s7D;q zrm2N3>}+2`rGjkI2Hg+^s2cP{)K7tp#q(J)Gd-?Paia=U0SIfz%fZWoWb^BYvE2(R z7-L^vA;v@JWf$o#Dz}qOh*w7yK?S8vo;O$S?_>4f>a5+`_aM)unq^JX@u*alS6r8y z(mbuGV_e+63FQg&p1Y%HjtQ*s%2wpvO45RCU0VC7P<;7>XTKN4@^XocxKKh-^FfCIHJymw$wtBcL*Vxi@;e9RX$#K-u>Ws6>IaI(nf{oT{rKDw{n`U@gv z)lwI6naME5R2t)*C?mLc3wyOa2*-E{c6mR3emes&P`pA9>`i4=7Y ziwWe5wi)>gG43*+-tvn-t`E$23i?FqTYJBH+`{Ir57mxY?qp`KrA2epJGYII>YnS+ zD2#`5VX*O?A}4~g`By?>X+HoAS8Y;*xjEj1y7|5tGb4Pe!GVJm@s-Nz?O)e~`?Mr+Uk)agv?JV-?9~W(?>{bPA#g1BU-`iL6 zDg`+Y?yiY<<4lRZKID~Pdwt8tCQgRpV#e#GrEQy(}P_jVJo;+^(sC zhDS_8d$rv$aMn-(5>HJ-fc8$(wBLRvZO#`)9Re>^w7)@gQsi4>Z7415)LsAyfj)F9L@vU}5F=(r_tugMa4(o|l-*HlmRY{yeq zK$LfwXSc(lV$T_xMLsGG+Pz z`eLu~XS)3Q{4~+U$Kah~aeb6U+r7X~(S%=!n1Y|HW67W?7PlhT^So}aG;hh+2GsNQ z8}-ergEFLqw{;?y*(%sEy+q@2e$D5!$`-QLZwm$0Fr)7VKbNud`pTB7o-GQobXm&`bL{O9vU1MuI1 zpMtL^&aT8jU4g%S!Pd4KQ6lXaHR;w4gi1Jl4TB#`)JUDed0TC{FRQ!?MoMEY>g;P; z5366vSH~+19)=BFwc59TlDC)v7-0K6;>~|4No-YVdMrt6ql2?VBkEv20}$F*ryIzz z)mo+&jmrSZCt0b#)W8QxLJ#B#WykYqSnZE-N)H7G^2dws&prM2 zr33SS7`dZuonClwXR_5JG?-c8U;$lsJ9zuz_UmK&xx}p%!UBZNy1**%*b#ps30w4s zF0w;6#%P2w=mMssBT^GGB1E3P4;2@5PQ$mXc_hfa4F#sjSjr z@=S)we1#E)!`;dQK9r?Sk97{onT>MBz3Z9YynSp?1-YcIbBSz;{y#4=zqWS#UZK~n zcM!PKvm5y>>@lmxm%nK0+>o|tXsDmx)}%0K%b391zU_*CT4uy!nMbw=27YA*rU zMFU{jCUz9x@s}SiDl`pT-D)PfK5jd{Jt}(5A^X;rZons*MfTAo8RhNEPqqTKko%8| z7SI22$o+IJ@2bmt>DN~`M06Qh!^X#72%?FG^uZ>6z%vs^Ym#v;Gn%l z`9lBgMi{ZV^6vH=ro>U%!BVEO?s#rtIsA_*j+4iu=q$se;a;(A8 z+120Pp3p@0?=QoZmi@E}U7qgwh_wXvTxJguT9?!Kq{FRM;^3oi25;3jb?g=oh)x}R zD)XKH{O#_d4?(;)h;FGZlTUe_)(+<6QU!|3X;9I0xdoq-yC>{i{uX2hNdE^g!;pAhxw6wv0>mA&=>z3v21&haZUsyltV_ zpKsr@p|8(K3dq?rKM`)0u6nU_hg-_)hy6$AXgQuz$Ge;kudH7}4>6}{C<;66z{Myu7XAU59qE~2E+kwQx`5Eu9(&mkL ze#PkS{(zl;3|vQOUnoThyQE>7lo^SVTQyyLEi^W@^(iwlt7f@w;(3}4P|iLsE>2jw zP9g;W3fyZ7-aZ*p1s=pZt2?I_^ymUGiy8nZ?Vb0&_cm->6%aB9oxakb3J4%Jj8~|F zj&8Gf_4oJL_#LO31F7qs;QjFD1yb_NN`8Awr^H#`DOE_*X?BgfTh=2T5v^=J4R>`Z zo;Q#RZsRVL(l4rAk`33S6MVuX+h+Bf7DbKQe-vW^ zkeZsBD!{oTXVO(Y?Y2n2j98ZE!Lh6X|7dul%Uc^exp%L$&@Il10H0pPsONP`U*~R; zWxCXcx>Qp9Lhj)wIGkx9J{8_$Vp{z39F6rmUR3bHzWg~Z4964mYf;bA<5=Z*VvS4- z`QD4J@l%S5V_$fv^(}tu68I*z`1^dtp6E0H+4WM*z>|L0M@)@z-U@!3QHIlCkHJU$ zWX&F4l0G8$e)xy(dDrB5yPgYbiuz}`X07Ajk53=`N}YVsYEo}87#r;`BZm`#9`ifN zq{tuhiJ8S-^REfrTC*r-O?@@ZwduricauY!bgAv(tuOS=nLZBQD+QAV`h!a-&A{OY zWyDY^FFbIW%~SVd<2m#c?QY-i@i=mX2$iYT(Wk5fREH0bC}#R-GYpbH3Li_Z{gONO z#pa@6;9vz0Y&z9^H?{icom&!ZbNe$A^#@h|5%&&#WeXm`5Ha>=l1G;%=HFWpYH?RW zSIONBqvtksH7pJ5AQwgGK5#-uQqxWev>kgC35}^83mb4SlM5b< zL(mNHq_M&6wH&=U2Q5N>bi(Nc<~H8%EOJl1m}V;IMb)0^nAq_AA3VIc zKs3aVVYZ5Ip2x1=DBDA^^&R~@ug`5)6Mw8&+zeG?rt=u>qJD}D9}2L!I!n%=kXZh? zy+bx_H~lLutvlA-YW;U6f=)PW-g@nQ%J7xFCdk-|lc8Es(PSqlJs~0CxBWDO!rVp9 zA;(jMd4sCz;kOQ9&xd{1Znqvwg~Qy>DvT(HnRZXq~FvhwFafx+f*o@J@s4{6QA z;u@kJDHD70NhNi93N@zjj9!~1rjaGxe=`P@IXZg8c8_ner?jvEH8W$9Cd$Z#IZrL( zO~1d45Wjv=wLz5;k!}4l6I3SzhY!EBg13RWJ`3n4epk#&33q7`s7>-pzQ2V^|0|(9 z`sO<)df%ls1_pfXlsqT^igD7oEP9FMUn^&Iy0ufY44D+Xtd+8p=Fp^*6<^+y;2rbm zQp$W1)_Hr$X(aw9r_;CZ_HxN{PRW2@Jr0jsggWoM>v+*EO&`*tox@SRXVEXm{UgVn z_h+>Hb0gt*srCA0LveNS3?ArahIuDj(}hF{~lT{>DgukqlvrZ87wKdp2;Gt=kzq@OE7>v+X-u z(C6i9kk5i!B=534_$9U7rrVeG_Sde7{e6xDU;hV{^EjxZl&D*JlfU)jqSpV$0z70t z2^VI1q&eRe*{^k2VY>#9tM#3Je0|X;qyL+V^~a2_XASl5aQg{5d^xwOL>gI1}E9$Iy!xXv8o2X7a8jCn<$u_M=oh}e}N>e(H zx;#~~(&%#}VDFep=6DzAlE2XR&|qqMy8fRZ>Vxc$xyG7CLSqeVZ>u4%ST;p0g*Iic z;f_q^Q&>MD!d{;pWa`Mfy)jgE{UTFGsFF^)jJqtj2rg5oBjt1Gm4WqH z|J94w-6Zr&OCUmbpeMJN=ehfL`Glbdk351xdca@;@w|WBSKzNsb!vS9XkR(aCeSoR z*tZhOD|dk^4dZpQ5x3vy2bJ}* zXBqj~SF4|IJ6qZVxefe@T%u8t&aLjZ%F@?oN>yb{8$(Z;;rWi1hyn>2WAx^o)&km> z@s9)ERghCV*4^^vT2RH8zdIg#1t-sv>u1D`z(!?KNoP%o4qkXj4-5s45k?A)_(r34 zmoBvc7O7c}cO``-0>Duz$qY&g=-mqAa(#kSeB{R>GS#8_SxQ6gJ2n2OTh}jc{wqvv zC?TaE?d>)z6uZksqaN3mmC@7f1^n=1$?yA-Jl3La&r1xeb&c`K{mRD*VBi`_E2_>Y zSxM}}@qn{H6-w?&()~P^Ss-XY!vlXe7is{G*RtyPrHTI6xWoPf-JLrn<OkKDUYvs7r#Zl1zgM4>vM%mYfV3)_B^YlEX*x0mMgeR z5pm!=vF(UMzWTET9WSGr#|f@bP(JDXn>S?G ze~$E%$ZV*iCp5p_`3yQ8GN-i}og!(QTHU~xF5I(vvnYg`a#mWH*PH&Ix@XZ3EQ(0TLIWy}d|I;2-st(p`MIzUnX zZ9oY`JyC(?S>Lf46g7rMa72;zoI@v_sqNCFy)@XoIgqG{JS+x~iHtzf-J3jRwF`d< zz>O=EkyGpm$A!S4>Y|rFag4}(p5+30JISA8t(_Tz%hUd}Q~a(qp5_H^H-DxRhYC{e zJr6!eMUnKtEL$r_&ItE#T7Hp1!+3`hyG|h zUv3Cn<}-Z}H*dHjgTBrmz&6@4xb}4CMdIrXc#mcHC;~qIj8`p`7UdpHw4@Pfo&Gfa z4HZ3mEtUCoT|ZU9`WnpsXamSo`1jq0q@E~{2U!wA$yEh;Y3F{zq&0^c-}7U%Nt4|@ z*`yYMblq%3*Ygl(U4Aqi8&v;s>lBG6Rk_K!-evAOYw}q%-xguy6KI>8`+4OfKmm{zJ7i>1|fD&-I@>iCZ9<~w<5c*uU*gZZ^|m!*8Rz%_8mQa zdM9RXlNV3C=IRES;~x+I{#!S%d?Ufx_UGPf-}6hFZ9;S3Kl8k3Cq9YD8OXk6sAw`@ zw9tDW@OX1N`8C&|hj`P;UF;V8M!PT6WC6Z#mG=6cCtui`Ci4hB5WTfmD9t@#ACl^9mx4whi5-Lw^Cj*CkqFL567$^1|b50-dp^@r=RnhFRWjT|Co5|A$#U{ zk~E0g*6j>*Uz^lhF_JK+ul!I~E(y*my@UOIX?Z8aX{&AFFRN=Or1tG${c{ETw`pP! zpHr4j1SNT7!r8j<0NW|8zLp&EyB*F}Dfwt^H-F-HKAer861!MA2L64p>G~A~{Qc+V zo(k`4FT9zdO3=GI)#@97dbO%!(f7gcC%lw>_|9EUG~n*?Jhv9#*fnvoyBvDmuy%+PWZnDFj_;hPWL|Tab3gjH4`Nai72lfq=(<4lzi)Dr zM<;}&-4E$}_#4bL3A)S__Q;Hk6f^A)dphjVzbn{)8xJ2MpKGmOI;X`PwUEiR!NtWT zP1;BL4($W~Erw_jW3JX@m-0leXBbsk^IpAd>nRc!*DFokOamX+mLQ31NYCTNvL9Ek zTyT4GZ{T=#`oPhANyWvFtVs)UK`Vc=R*) z&Zp65SiiEVTmLnY-=1B$;S3BSOc+f!2I5XF3jov5oy{Y7@z*m%5)ewthMdlTX%T7E2oMDLEjq#pDqk9Y zug2zKAtHBhjqKhH_B7qO+88hv9L|aa07PzjnWkB+hr`&oQQ{dOMAk z9~=zPjz<7NW0uYDYS6pev>C`kJuBi);S6ym^d2Tk^X+3bX66(HwDJ2G;AdIoY4G5V z%(J|wKtim|l1ViX(DCe}XX;SI_|-U@6FI@grCUF?lxEgK+}}}`43bLx=?Xv|V;!B_ zQ)n`_AKv$;qd!bX!Jl_}TsgrYiwi%ACU36HIQNIFBL2x`mKZg;&HrTupZ8V%F}5O( zJN@h)LTMQhUIBXH*=iS?`shae0pm|M^$8oQj9D{>d}`Xq!hrF*#o1ETtqCjm*nXMi z%M9c$Q{j*76418&r^@&MgSkx+su#Ps+QKWfbZeK#wpR@b23$opzi$Qaiq;CFKQ8r5 zn%@~6f793a1hr}kI@-3`n?RBNqE5tV+c=7mO>Ql}+S|Q3po?)v@ZW}h2$Zbav^<5` ze<@ADLa3v#gGj}u2@SoNF`WW_ZBLpRUsFDIUH$rF(E}x&BX#^?68?A;L|G+6Lh-7z z2h1qyU`bi6mBB`c#q=k|jkh5u1qhslBM{ZK0FiCSg-p|?@Khc!RUY=Qfz~dLLv$Nm zc$-Pc>1o(X1WCAzWHuIBE zON?J%((T4>7|UrkBy^ERof&JQ)uVr%T?OH}udn&Cn67-EbkbP} zKYuSf+&j_3oG;zYw%Wsd(154nP{w8myWcN?{b}X<*3T2Vm=dy74=HbQ*+VjiWWRuC z@D{^t@YaO=p~emW8NIH()HJLFHZtm1fW_KnJUY#<#?Q$-Nwk*n(R;bXk6Y?DA4=?7 zL@3=1v3{1JRF~NxerMj(&pzlVL6Mp-4Q=1+`2|-$jxi#kae+l@@021wFL%$3JR76D zwk+25Dz1)Tywb&}=(HmISp~P{7Q6AfyN^T0R*g?M;D7;W&s5Na@sDxIlK-0?c`mAG zam#i^;pUs64;6`B|M<)9DW@XW$T}SumSu?tgYmh|im*j6ITueoWJI4z`lHD!j7|Hc zkf77;5TZYozv1VcrVZuhp?ulC}Kvm zpUZrH@&mfhD<;f4UJ-9=3G)pryALQuq@(j|@YE0fc)!es{MnbYD3dsAzct6~E61cxpy$5o?0J`g zm0kB8%$_g!_#ghnz}(7H*%f|P?K@wfzMYCES{nr|_}=6CL)WEGHJZiVm{Cf|(oUiTCG5-hQZ5^}N^dE~`b(m-qMQ`LbgZE4cN`*@0EfnGx zn8Wh->ofNL+s|LHKQ?`@Oh`3lYAPu)!LgtF>>Cex{Ts6K`e%2Lx1LO9{%P9Y2 z(l4|Yf#pv@QImRweLN|V_4_x(hu0izJGZ{7NnE2`X-Nxpy3Re25N2q<#u@ZI91sRQ z%9W6orlrw#Ahg|@&<**dv*|`ZF-d(`td-|lK5UVzX$wRh$Jjksf3q<~o5rpdboIHN zRRL7K3ZhgD)xeSy3x7oa5;(TDmmSpQZg-BC^uRHd-H+w1&>rwt^iu%((Xf*Xn>}jE zYF_Dm!O*InLvu+|+UZ6^JFLkr>h#`HYR(n*~ zDB&r2Z(MgO0gIKjE1iLB6?~y{=NQF@x zR3Dd85xUU?wK@RcKTHeaxj-G-4s2V=|BVG$@7qhOqo9c@{$Nm6nrziuCB$JNux#ng z1_(Q_K14ZYbzC7t&X43?M5Vlyy_yVkufyDFB;j6LQx5C>r1t!Gb&TKc%Fc0SX$$5D z@Q%gBDgsJ-*L(gFsO@P|QW6d#qgcc#maA!p-X@ZHIikJF#4zq{2_;ixnx}#C_Ta!p zYe!i5YNBYr$v$>-IBfHJLBR4Ribdu!nB-Ch=J6(W;C>7JQM!y|n8%i~D(h;&5VaJ3R{#Y8Uh9c$HeClY-QZi*YvW zrft}FjM4)}3tW4D!lEw)=LJ93%MD+W-&a`mf&d~BzyXp*$_;Jx2!O`r0tL+TTI4GL zi0nBC3!(E$3xQBL0KR=m+VK8=1GA;f&X~*-y91fKj?w(Ei^kox-lceoeL|`on}8j| z2Ayt<-077Gd9C3m>47-Atb?xR=kjs=*uS!%BrWEli*gjTw&R70k>k|m1fyy7@#$iL zi=z+W9ekqyTdDI_ zZ1+=#;xiZtRW%qfx=zw5%dG1Yp&0xaFmbrb+o~gb&U4GR)NQ#-KyL=d;!LZ|C%8inSDpEY>Az z4>fp<;7J*Z2k+|^>Kk0EG%t9&BBCxjhqTs9I48r8Ek-P$xPjH{5hf>Exsc?Kw(q^= zjzK=BDG*vU?j#t+{rRl@8ofLwDEX7)`p;&^WUM~L^&LX+r6aFPd^frqeu)*U~4%uQHu=oC-BE)m;jsJ#&v=K5Jzd2}I;anorcMtn0`^9xHlV z+72#RdE_c@Z&WAQz}w$MunyZRn`(u5YGBexS%F2P-4}icm(Sr{42Y=^bhrgr_pCb;I z@Z>&l(6%ImbVg#Ip5;@gXIb0nKrjS41)$BIv5DrVbw)5gs@AMfETl}f<^5P zddLQW$s^#SM*M#Ej70ty#m3`zv}JkP%pKa!L1;5z%k{Hq8W<|N7`nq-fkxYTDM|oW znnqXVt*p<8AWHqica~OJw02}@pCsfYjIojMPJ)oT-Ef#Vg+D@M(pK4FTNvn!Ijqh( zIgoijHem3xwckWnq}rj5(aFphb>Ymx)-#U2#l2jZ(trF8LTNNV^RMWLw$x4G ztulYQ_Dtbrt3Irm*`v0!W3^K`tL?8rY3|?3ieuYMcy01GxAqwBH{1u+U|X-?zXl*w z`sEM5J{!9zvpk(OX3Ov;1J-i+Lvqp8htrl~4;1ff7euYtE2*9V!r}2TLFtnz}-ZB?lc(%ZOz2TUmb8Y`j{ykb3G(>Ku7Mo-223ai$8>5T7kS*7Bb)Z zVLZR0Zg2`de2fqJag@rgq!YhwYGo47WI{@0$u6VQq>cm3Ml>Y7Y7H|o#+j(?nxB;( za(1<+tC>!>MP7Zk%V|{YIER56mGZ^_6%2kxOeTBU8uwp=q*J-#$xBYiea^N zn)}obCtEA->LPL_`&-@6TN|F-QlBD*< z821$yi93IvWD}7ybqltf(mU{|<4=zj7P@v;&=nfgPF*kNYD4GJ^(**B;Xm}bW3{Rdh zw+__oZ&7h?I^@BhHlozXbMTgp`=P`G(`Zwc+23=8hr%G`Jq+hvG%v&G7>-RLk7Q|a zLXWqw*j2M~+4TG64c45c(OHy;!Qg|(?%pa-vzJa zXz)^AmGdD_|Kk3<>xo1!c!T#-K-3-p$^B!-1RS(qtGVBlbOPrWIc_j{K*-**AM74K z8-ED)ky@{~*aYCN5KP)Vb%9iEh4?%R$PkFNoYMbrKiMGc!EinwDpot+ZKSE0WYg%%Uv8imx@{N}6TW6Cilpi+_ zutwE=-WaVEjZAgeV^iQU?QS=Y%-Uj^dBVVIciuBQNz`7$jC^}IlDY;Tjs8M54^XM; zc_-#>u*gRDTDQ>$o!mzfaJZjhnNY1O>-Z(fO!iL3qdVnyIg`n@z*l+L1rj&etVcU8)J7EdxRt$9YO30+WfnK*MS`;x zz4)G?0wau0ei1)myMRrk7@ZJ*))UJgCG?dfby^f#1%_N8tz+wFtYC7XgX2^c^s zJ1{-;jjf3=q4TTzuO9T$c>A2J+%81lD8FL<5eG2gUea&3g(xw(bY;a1>=&!lGpUPb zXGT!01B3m8L2Q@Fy!cI(P}k3$SLGMPQeItfLEGlnNN_eofccx0}I0K zjisfM;g^t-kh()_43!Hdcj9Dm^C!WD)$1W+OnXEG>NHlGJZK&YPU&=$m|9=&8H3H3 zpH9I}HBjV3+AhKpzq1Wpq5~ha5c~m6$FT%+=&2%Y6i=nA!EB#m^(1!hDpy;^!A~b$ zVH*dl`&c?4X&z50#mnvD^kpj%7%a{7N2@{$l9=UuN(O{3KS!Rh@M9$yUf#?+55j*! zQGNkV%|Q=;V(+*bbGAC!f2F41lViE*w%62HNN^9izJ0N#`?!VlNaXLgMD5juYJCNu zVO*3DcYCw*_Brm`T(}V(;h*%iUsSwrU6uKj`jJ&-j{NBvNh)6|tbRolI-k6_;g8og z*r_*Wv5$XK-q7Id6l%O3RQ*xd-Zo{?bZm+dF=36D2;;t2zf=JoYm7_Fx(c~5@OH$) zi51+=@1> z`v54h@9eUKU=9;twC#}R?7r=$X_&oW4EfAXJrQ%-rxdbk4GHcie_8tgL;^ zGOfI9W8dcJFPH=$LlfRXNCUz6qh=!dkOu-ig^{IE(D{PKb1~GkQ7?z%ozGC zDs56G^Bd4Z_E>as6__RuKAZ%f)J?euE=J+KbZvTj8uJyxVNQWi@}s6}%v>J?UKah#$h59I8Lkkvsy+(W zODj{7g28iIq7_T6eC-Z1dOiG}Zk&x1nZi+au?y1|0hFaE8**YoLw`Tgs)-U|!~{-K zr^SS2Kl*(i<8|0gw_Qs>_`^0oOaUt@D^fmaSXMPCr&}ZFBfc+f#PYi$vMcTtYo?L! zFa2KaS@brlcbjh|ZiRG;mz^X^hj42c!KN4BeJ2Uqp#2rbtmCCMYiI#TQb7QD zrt)z^S4&XV2-GYkM~+63wmyw7`FanwBw(A@2+Os3xzql)71kEyGCWrhrJIEIl-thn*}0o@0eat{w=B&T0KbM&UQowHvB%w-GQb1D6|RNS1Z~6 z+S7hQDBeXpyn*GNb{P%hjis?%vK0x$dmRo|OrI+f?(|dXzTL<7-&jD_VAZXyTYkLB zy07Z>lhF|C&IXpJMaSmoM-SI4KFc4HA9CMur80M(+pk|1G2s2K>#{wvAo}!L*6j!S zi{9T-K3L~0a?{SCl?hF^H~%s=u4{w$hd^iCB;)q~Pa;Lmg4nZB>rV7*Udj)-M(Y?tvNjigh%K7kAV$%d_?Wy|bTY|S6 zTl9VAhdJ4pZ^@~;XlIl8?(L~nb)O)*rPq_1L*KaPwjwD}b%%yFv7l?cZDH?Q8QxAf zG@rJWIxt1ICU_6V`YSEQy;C(zN%@kP#B?6rnlpS1e6$%r&iP&79Jxb^Gcvr zdP?@9a0+Mf1o&jZoU(^&irkhXB?kKWY1#cT8#4p%Ogqzdh@m(}7#<{dX)vC@;=UqL z@=Roe44C=tBz2N=Us=N3;PWxY2uIPt6V*Wnq4;+X7-bYavHe(TE`-*AJcUcYOk_7$ zucNvcohD*v{xnJf=Bn`YOzgj>U0M7?@+2a4Xqz+$I}XDI_sg-Tk$%TuL->%p3+$(7 zTYqOPgXSS&j5A8jz8UW zo~^Ad|8o~P2tN2oI4#9cZ=lBq-_4tQJ31bMC|!&&9O$@{1$`fcGj@Wu|1ZYAJF2PR z-4+26R6sy_6A(}l5b0f{Nf(h`qM-ENdnigTBE1VJAT9KS8hR(8Mo2|7E=-9gqiJC)}C z?_RqcNSgBJ7}aLlTRU5?oWBMa!~tLHA#$?fm~G!L;m#7%7CH~YO(}!7oKq&zP>20F z4S}ZZoy3R<`)&ek+Ja$$#(Buv>>1Y`=2TnLYx3fgt2F!ZZVFM> z1C~asgev{EwXW)>o!?`PjmC4D2{%NnM_s3s7xt(YB8R^0>ytXG$UlY^xDFnzys*O8 z^4l>=d~myNbXBtzl#Pv!<3R+y5Z2pKp$UK5WsGpo&66+i=|Q(qX(y+r`Y3 zv;$<-&idc_{T*|8lJLuR+yM~ngtp>0%2T|b&lmVxa%Ar=Jm3s*n+iI6B_$w@@d#kC zS8U%pS<9W0IlqN3`VqX-{o-;p?P&4O+#RO-`WdOE%Eu8)84n2$sS`hISr1sAPoDp# z=Vne_23`~YRPtquBZc1WQu)sIcBc8G$0<*TL-|X{{!gf=bz2qR zr?@%Hu2r0AWRG8COu!`p`k`ACnRL*{b-C|!FgKXTj_W<=@1aHZg=V`*u9n;bJB{x^ z4F<74`uYf77wlH=mYa$wW6j7Fvh2h4e9cF-@67#stuk2(AjLkb-ZEY>!oK(iuLXbA zXm-uUjf@ys7dJ=$(eqNXvv$^g8SX>TI@g$naz6EUA1jO1WMTE@4m>TT0?J}~&Yb2i z?MjRfeEQL~YtMOE_&dLZpV5tGgC}n3Ro+jZb9^^)h-Z~`KL_Y=xHEr?c&9Ss#Rc#9 z^Yz5qOfGKanYz(jgI(JR#3_^Pgo|c)-I&p-amFJzAjjrs5SA%Fy&QZq$1rQsU>p3e z^PVSqX4)j6OBcu{QwCNl|Fq%y(ODtOH!(5GGz->qYt(cke zjrUOWm3LBRX6O%+yp#l~y-()cm@l;y44VhE4&C=cnzQDN>w+zdI|I3DvcR@%JMFYB z!`f?C-5{(yztDKdBD)3*-OoZKqTlQZ&hIfN)B_R)}-ZPm*OfLTZ<@8XQ zzZ!GopI&EL*YnI*;m&y4OVIGpD`mgT!%7@&E;yj%h*>mpP0zp_U}{63I^(DF(g>fw zG9UI5P17KmSzMKus+K_EQB+5H99pUTJ+UI8h&kUM%$6XX_S$(%tp(-gZN^tEw)NmE zEz_Af=n4wB1Do(&4YVC-JFc6tCl<({)7gbFT1Fu4`B0QLRHzJq5ZutY&F0fZ2e*Qf zT;BnWYTYzdG^LgijceuZRv_Y)=WBvylIp!&n=W=?)=QtLgd${=kmG40!Pw^C2^~sx9-1;pi)!*G7E4V(JcWHaUScNr)5#NMFrvpu(tMOjLuMqEMSyOE3x2CHwkaqr@8iP?l#ML5_U>U@1)y%*93 z@$=)U2un@Pp7-B49+H1ljtylHQtz#foz0kj^}8=&H~-%?c8;qR2QV=U9Mu9lzY3g^ z!)vLM;n1n!BvL_1Zx*mqaCr8z-vhcFzs2uCs&VaG$K}3St9|bnST)X;0s?W3o%~*p z{CbLUEbdAo#}rBe13pc6gW`qqgN2faDP&gv{gv0o+P|b*oAR2S9$T zz@!~f=$qZ$U4Z}oXidvr4ZKq|_-sST?T=|XY^~2()PHIqiA(j-qxf`AbgTSlL>pzt z$sfehZ+c5YmAE~~g4orIRa)`y^OxjHd#$m8fNI+$dLoCBi10{9nhU;GO4-ZvK2sN; zQ?(N9e92+l!!2;9_FAJJjOt0f=(gEz(&+Lh*SL2RN{Q`MALF7J>Tob=r?D0=R$@mQUm(h_Tnl>*w5pp;UUz^@(k$6vDW~9sI<VZ5cV8ye?FeSVgJSdv^>lytfM)vvCjwdtq`8@P)3 z)8<7Zq=HqcXVBB*^=lH!4INXgHxdnA<8T-W;mo_UnLhPP=4ke3kV~dJj`=}7xJK0L z=tx}q(mUY>>Q%OTI@4|(tO7b~Qubp^rvJDq7;*b;H0qOwu$G^e*|R=|o#tqUq5v+F zIHA>B8X=y}pU9}I7qZsREYIP`f5jtgog4cYL>At&ASml;6{(_)y9qDa%Zh$6$3H2Q zvpm;%Ht-6d;i}tPO6Pdzc4^}KP5&bhed$Pn(2VFEH z1#}Y454xZQ&36{|YMf&_fcf^Z^CtDS!Rw#z-R!0@XNftzAQ_Aja-?;*8j@K2+0-KZ6>MaH{KW=#el}G5@at##8^rYk z+K(qnL6wyP#?HHyJ-zmCOwF5RgvBY@68pz1DOka$v>5ug&sj=<1DRO{`sjs{bRiP# zTyt|IJMg$~{@@wF;$}rP-z;FQ@`MK5#5&hF>pjeWNT#cAjDfct1Z~yu4yC8dVpsX( zwezXOo{xt*x?D3We_k(fZr#t9&^g~)b8u2m#T9@uKlr%QihtqrPJi%A6^6UhbCX98q_s$rb&MT{# zJ-(`@;Nuj#9zRS2_(gfyBfp>9bAN}&La(!E=|0>QwjOO>MyKmsU789clw4tu>^xcu znjN)oi7wAXc`~}VZi9As#J>ly`>rST=RKs+yM?fdS~AdkZgA2-FU~+Hz-!=Q7(Kx6 zIu|P!)zY1mo{wm;!OHq9T;Skx85p8LqV(I}f}rM8!oHvNg~`(_r$*daMl5cigQ<5?6SMNrU3D~Ej!;YK=U#V=s3<)*A1%QN?lp0`poEqi_LvW$C!dy+mC zW@4uIf!iysPP?F})Fqp0!N>35@!0L*=mV(+mHUr2tPr)KynrS#it^ONQaWklsme;6=E73Wqv-Ml} zHu$yuIaAX!`MTe&u5pq3t8|)_8JMO@P<&?h5lYn? zH|7;E-qSb#-V$tBvyL!eLT0f=exA_{zg;dZt+lAPXT>W zo7Sbrb-p+-__bux+5X(>Qy2o*WDtO95O-=>v-tF{&lJn{$`W;ilRrM!(@3XlF%a#` z7!_yryHG}rr}uP;dXB$RIz1wUQHa}2dMTCnbL*pIz$Rhm{%rP|Pu;F=?y=#{Cj~`Q zduD#CC3l9Ce7kW28^GAR{fqk$2DtotYWQiLzg zC1Q2imEL@H+AUIXIzGUmTd_CNT&nSwFG=n~J0Wo!DxFuwC+6vW8;)u@ih-M@(5i#MH^{)to!9Ch9pou5NYyT=e zOdA?8JYfB7I-+}}o8p*p{w?m#MK#NZ0S@18rucQpgb)-__q5CoVh{3J;_B~ z#T!E@$LW3;$;GTv^|zewIoZu!uyGx*telLEzzmU^DZnbdvA*e>n77cO5m!bMKm z%lSlwLm@_q$1(TG5`MiGW0CSbk5G($2xxYkoks@~xJ7xpzwPPS-C3K)Fg7u2ubFhy zs-80bf~lLcJVSN4G#wm;t_$-5mM$+R=Pj=Hv=QOxo9lz)Sq%&6y(JwdkB!NBz{y}Q zJW6A`yN*4;e@|bJ?b=8w4Q_OL91NDP>u!J_crG|ZE;I#tU&>oW>R3-A=RO3z3Kx&@ z8@7iabR7J5>Q?UnuglPkG+@Yji=g$Pl)84ii}kHAFNGYgJYMj8vlo;miVAfH|B7WAKqC?MZxV?5lcDVeSQJ^KIf|Jz$%0psvF#$!7o1VmCo7~LCKTxrm)^F}{5e?;Y^war%+ zB~p(ZCFPc_6*)C)nrIJdu}YBMoJHl|I8T6=*Y$3xG4khQ;TC}x7wkMhc})Kx-hT7w z;1;=1=Ob7k!a`3aGR6F?C4LFhfB zuqSqnrq}~i9*|;drU-Yi=97IsO)uDX9ERnXhvr=)3;_Xt6DjC%JIv*fQ*yBuOb)w8 z$iNK~H zoQX*y+Hb~yHT2MgGGpc;e>0X@R3}HPQj$z@_4M9NTJ+5jx3G9gRjWx+iC10Y#joHG z?Ah4kd1~=dzvY=Hj;F*`b;9qmK#0?bxOiW(^5)9&3fREtW>{Fvv;d@q{bQ!XBy{qvXz$$eM@__u)MI^^@#bp9z>>go(1zbrUQ?Y_ z+TII{e|gx*-;*+65Q}_zer)%Pn#Tnj{ww~~Qv+1HQz@xrt83vS_5r|+9S0&-+UIr+ z-F0%5XuX-Ps9*A?$B~amno0<9Mc5SX` zl2j9z{Pu)Yu?Gt!g=S0Sc2d!9iSkDfVYp0@M!LXK;5Ehr-d62sJZPOAFSl~OcJ*xg zsKKVTx2_a(W9p1ohuGxJ7U=cs$ldIRbh1i$myTgWUbGCzMVPR2*z3Zf z%U9hL(oY2i(F;CH!2M~&?ixlK-8%WaBv*4O6{Kdua#a+A>H!orXQwck^Wardbdv%q zz8r;7(QeC4ZytSrA>F;`M53z{FXYTy)v?g-wq{zhJthTuh}5>SUjNeXU|)JEk=fK# zlhL9mT6~>RnI3$xP=AkoO*O>ZG(qhzovy|Z#rGp77SgsxXYrM+24x40{rBQ zv(g+QLb^bg?Ps4awkGQb%*|-ztatevZ5LZJ%VT0$TG3ebu2nJ&9d*~9&p?v-<->!C z{@eU&5}yNU-?h>HcKMaHZQ*2>4L>%tc%WxGd4%V-biIcBtKS+>j*oB|Y*%k=`Zqxt zf6v{albWr^zjZ))t-a~*GS5eSHomsH8UD3P<_S7=3WfJSWDEze&f`=tr8Wb^$L}JaGeWtg#Q;%ygmfUx2L9XfTiZB`6TPorGe)j7I31MNYsGD** zshJ4HNY9P?oF*^$UX*BVEHv({x-Z%m70enNbH44zYdtMa>$XfKIS2B@EqBZ99q3X~ zJ};?Px6&hmF>bO5fyi{DN_8V&5Xoni zA&?zqdS|TyrHc#L5~7ZZb103W1C`VIz?3TOex1*x?r>H_FpRfzs+ZCLl$zds`ff?+ zyiC2q)5X;+8u;_HW&WMLP&}@P31wSPBics5D4?X$HUr0vae=mGv;)!dFL341MT(gLSVFotV^rPU0JfTuw-1pnWLY%3@_%iJ9#CMrBGl}eysn1K~AG4v*l;>oOuA;e5M4K~y(56)`-Z%_QJJ(qd=;0@7Dl^Kp zieHRk1q@jy74IKrODz7;NFUj&@H?S<=Pv{Rp6pkGkz(E>jR4@a*6;B#9r4sSrk!Tt zy;*_w!&TtbT7n|w^$ArZyW7ZkzufVFRZh|V{5E@<#cb9&=_2)aqde99EQIJK2#H*} zQ|+(VEkoJ&G*d^P#d$5Je+%!jtdD7U?* zzN$xyXB0EjH=j8BVYQ|S1l6x`RX8$S+GwyxR4frVI1Pu&s+#+8+6tB0V2^O(OP}7g zjDn*bWEv$X+z4OQ{);Paa%0ApmRAa83c;s4UmJ=mqGpZo1s8%mn?DnbroK=fG_2Aqt~4o^1x19{ucZGp}vdx`WF@-?6&EYNpy+IB3v29-f*PC z%i^J=zMd$*0mw}jK2fh?|ekA0N+44qJitklli%EbT=Fi56&H~QH z@7)A1E|nhVyw}s;Ul7}x$2Ic_Y%i4KN~yX9+m?~e(WXu&M=$vVv!SjWERf!d$xhsU z^3v1W^|i!B2W+me@IoDn(-*saY;wuRlzTc4xWt&e=gAG@*+j#hv;|&s(L?EFCGrg}3EO3RFbC>u4esJc)p$qagEzA|yJF?+)UsxJE@Bx^EcvM@b1s9WC z8vScl+iJiio<~%c{WzfST7RZ8wWqvD<-Y&&o950pEXmw&dmE8IRBQPq!L$j zl@9g`!CpBMG>u}TRh6`dsWPnUAd!=xqO8! z0zB~>1ivqz7(FhutON+T7_;w?x6`;1)r(k@6^+;H+lA?2g_yyR=8cb(uk@h_kM0cj9r;nrrb0|75nDApS>d<$D$_4onk|i5kScnC{ zbaot_818h1Id+9X1Q^gEU&ksNk*%F!FW&8Hi+jRN~y_h^WW8HJ2xLi4lXU7CCELuMX6MdeXJZv~a3Wlx{3(VGJs&Fs$fp0s;U%SM+3dt#E38b1%c?3 z;^N}8RGkC+;}N5IB1dari}rJ59e$<`WPjm0?&1S|2OhA4-K_9}x+Y%sHY_ZuTfBZ| z0zsrx>yPdxOV#hp*RydGki6Yvm%}Zm&?IhL$c~k?1CmGfF_) z%~f(quBQx??MvTl(PGHA`1XmFcZ_8`@ALc*B#W23k6YbN^C>Tu8|c0Nc{BffoHQ{p zQIa3D7zMHL*LIZnQr#|2%|EQJ!K;&-W!u}Y0ukw|d{pA^HhZl0!2P~^wzpj#;)Q&R zowv1i1gE&Lu=pA(1PUHxdOy>@CQO#DAvR8rb;TbSuC zfrFe8X|top!f%|t_tFcDgDV_{E81DzV~;KK;m-sG%1tqvGp!{_v{wYnGoe;JVFXB- z{;sy##j4f&JxEK-UUx|`hmPiu_a0ozE|sE6HwVnTrIsp>MtUX8 zd?FU(u~LQ#JfsCFIhi>4Kcu3$QWbG1W!hQgWJq2YTc^*v1-tMDOW0h3C);nY&a$hv z$J#3k(j)Ojl*k;uF1Gr)Ee5}PKUeSEFnMN0o-aXB|LDVM#(l}5_JF;`GX29_N2(-z zN-d+XH3Jn)pnzdTUdk4b5p~?bw3ZTdhKxU_eqM(f5&9Uk!w_dhAw zUee4z-sr|Ihz53ZSQu*15A&$ReWsCiIMbPqPB-K1!j6lXI`tLB8wvdklV^AD_!WBn z^uwm0(fPFD($7Gy2ek`E2-&P`<%`L@?FX-e`W~i7zha=s<5PH5b~na7+SO`;cFBHZ zXP2|xWr`^|YO>D8C$BT@rSb7BZ@y#0w1FzS*O%e6%J%cCSVN282GvA1WJ@e*djYh- z{(aB$K8d{SY(0P>ob?QN(1t3AWM60dTU-0ni%sT>Yl$}N$;ojVKi|b>IVcD8J`gnK zy*H&$<3vHqImSSh^rG;d zOz39#C8f;9zffLw@k7CWa+&S(JG^K=dx*A#j0yl`a>Xg(Aj@sY^)xp zv==LQKLg>~9aP(izeViXzSu&-msNpJ$e%U6>T&bI+*==Y7qTDb2|8{))P*D{Z042l zT=Yq!%>yPYW7A(ADV7*J1JS|D1;AU>owt8P?KIzBWY{@H8HgN@fvvhof`SC7ewO+o`7m543Bu}0k6_l3$ zHI)le8}vCTk1aoh4Zz$7Mh1rNhY;eCkIX93(GPdW4VL)$_|h_s0p{Sqxz(@9n~1cN zK64w`5hkF(pv z_T){2>61aV9-l#x*9S~9*O%h;nv(o9=x~ZZzbVeJ(p5>$Lm7K2h5!CP zTSL^7GT#JJnM4z%NBT0V#CfXxoKY|GxCr4zbX4E&t7Zyo?$61$kGm;S-1#iW5gF3w z1#2OhU46)eMb))P-PqZrB&xao&z%W*2{}VbjH}+?ls&E)iHsFZ>-+u3ij-azdEW)8H^u!`0{-|uqp9&5EuowagbMr$k5+-GrRj!#elWj03O*3Ne{ zB{8Rqw;%|jY5Q&S<;z|R_FO|iju)y%vtJnW4U4>O&1FyPr=BeN#xG!Tc7O}qwyme) z67%26lLj@fuDZ>;45!yx?{04NeSInIzTTIJ1R~DOeK_TUWY2$IAN6l%krYV)%_AX~ zxB^OrgO;h;FigW!eZcVTRpJU|FGi@cF}LX z`g8b^ckubJ8ZV3293WvB4nMK`6h3-NGETbU`x^EK?~u0?gavqD8VclG z50}N9=2Ozsb#kS&lxJe|s-Onj_pz2%CzmMs8?Rx0@bwzIk4y(8t1r*hHV)l#Aai?l za*v#8U_4XEgTzN6Dn==%Ui9;icjYj{a;D^8n!WR)6~c(=aO=#iq-7!NrxCZDQPFo+ zQ!+?jS%%z(Rv1_wVCE;<)wzkoXxsgIV$=Li= z2!r~|zMOw8F&#&=LY5)Ky-@@O3~H0?epiFtiMU~5I22+#NDZtT4mG!EzFMHo7+pN%#D9QnX7XepxmOWMOIv^85g@(*Px-9N4QjGhq0fh@Xwi$Cy%+D zk)JfV2)|kWE-bw2=uT`uEpy=2${fp8NKVd2%bne5o|uKEeHK!QpP%)ceCK5PM2>k<%;GHXJ24Lbn$i&E`rDCF) z-ZAbg@|R`LdnF&vS438Vdm*GsN;yN?y1J&&U%#yl+(h9-b?F9hix096e>n%!Kk{Bo zkm_uCq)(@OByqX!CFN$4A5{K{R5}+#h{miCX(El7bmHNkUl-p^;G_KAcND*m{@8d+?hSr|3hqu+a!A@qg?p_CfkXw?%{ z&0T>(GMsH)Hj8)Oov2dDZ-ZJB6TGfd#Q^~uasi3rg?68MquN9IW1^CZwNCn-z+TSU2~T5$tOu6wNTVTb zy6obDq#d2J^cMc#`S=?i`872~veqvdvO`Z6nc>j0RT}oz>j|6-6tV`X$@~jE_vq@+ zZ^z8EL`ZXTjoyEN!|vAIE(Rd|<}vcxmsh(wOF?VBynuieC`k6UCmSSl(%nOrDDR6X zE>czDdWA$bomd2JcxjD%eS1SPT}>~x*)U8oubTc*$=?&**bS+)d;RfW#*a=z&$WQ+ z);P4p!6vtEoKTU9^XXI(Ht2F?7u0sXBo6TNpXed8$q9U`n}jQQLhUSnErNpT$XUHy zS^u7H{38Xpm3UY3^q0KW)%m{9l5fHj_STctd-!4Kh2On6T+>g!1}7{oKg`;)YHi0?)qSi8=(%24D)$&y#&q~K04yx};G~nmIcGan3(a1!{rguJCxk$%W?~t9IGQNed>9tH7?9pjsLOh;E%@Ta3sVcR z>;CN>N2SL5i= zTM~za`Yrgft5prIIcvQ&UuaEqE09Si1$Z=9I16#UF$*O~>RGz8+(T$k0hXzLOYlva z+q1)gBY|4=VVGA)Ujt=u6)du|)9^eaJOuZzDr|u7t}U|9Da!Y{6(8-OqpX&sk2A0d zQk!j73Bl-$qDAS=0mK=y?R?h-@_Djk9WoMt^NQ}z!mwT)92x2~<1Q}HS^&8}wl@JF z1A#1g?6u)>7T5(m*eGX>{OQbM(N-}cT;8PK+AhbI*v&uVl$A&xng{ zwslq~CHx59j{KFx)I4;_TbZ_102hk%|H|^h{Ovm z@7ZF0c8;Ee-)xU@;m0)9gkH|mTw+5U{o-Bz?*Rp-NK7SKv}{YFhB42UI~zn{(VeZVrfJrORTM%VuD? z;%LE=Td(E5BI&w}wtJ^6uN>!deF6?^`j3jZLVT+ua{V#rJ=ZII5MKzEdjad<(pV)p$j2E+2sH7_cJJVrZebow8WD(2U3 zSGlzgR>JFlfYF1)KR-MUn3-X0{jU|j|l zo_}sj*a)mi=}`-#cB_WwmGpqC&TCk_`UO7mq1@)Hf?9ID{{^FuTK50^^8y{U9LQQY zwKO^*eQKGUy~XD}rz~2^6S^&0(1eZbEe-5pz04BTOKdIst@t3Ve%fovA<^9DpK~@c zhh-n#SXkI)?!y$>y%_Lxb+2Z3fQor%4)TVD9gLtP2^{zpYUeZZZE$F0WN@&LzlPxb z-J54-D0cr-w?*_a<6S75D|i7Ijz>>CVS}&)u})xy$i*D9OT&8S>}Mwh1-*lx<9A^E zCL-wh5+5k}Wtd!>Ki%WU3|6)=g@uL3ovOFPf&^l^1ChQ{1L{rjV7ufi!-62dVn1qQ zV=b8k1!_aL-L4EKvDXI)CMe^)_eC-nWwYr-M0vO~Cnh#-A-nQ7E(by)4~`G5bSi8W zNGGxsA*?_0H|Iq|ZY!;StI7%_!Q9l1-0R`!ex2|jE28qX<{T={n=A4V`cL;CXqe)k@QTaLGQ?`9<@6UpCvTia?_ zIJ?qJ8np8`@I!g-_fg7qrd*BpuG-hQ%AGgqktIVBaFV%CPsdUjR=7Up6!zGPS`$YxjECJF zQcC?1YpZXjK%B5seK4DBz+4WB&8`?3x*IEFpPoMRnBGvpOsVLEVq^jhZNwBCqd8I^ z#6p{oR+?*_kA_D4&`|rh%p>G=qeZhbaBJ%U``mh1q`2hmiWV&3OR@($qu)$-5iHnq z%6Pekg3G%MR4Fb{I{rh3u&K?R^gYkcp-0XYEuID!F|zUluUran=EZwsy89+GM4?4yo2qWy3TRWTCF`%aWwG^92}ofLEkKi zVHP^iM)m$Wt9&bi6b5z|goBZR!gBl1j(h{>>bJwf-aapAYlFsTG#cs~4L;eS83h8lwj6|ydb}zY>-xB|CZ|A@6{MQTU zRv>Wx-v@x@f4p}47V@mbyiZz?~g$kk|`xch*9SDawVApz4)z#;kZtk~` z@?7t*p`tF9D18bUr?$?5A#3_G{l32Fibybiq)T|#OH{b7U+fCZ>cD5uR@24Ei zu9Fc$TINt@B{W%Nqa(p;0(MSKPcJc3rPqzkiBnXr&)A-{Uf+=hL1z%{Q`wyD9eP!2N3Vr6mVm;apaKKaJLC?g{el$UCJ(Juj5f zF6^zhpO)e}C)2>tR;q0Y687pTRXb$vk_PAK*Q-1{ggxTo3|z46RjJaBcc*QlCPWRA zrvxj!_i|-&n~KfthPxvsiQ#!&dSCVRttrxp9xJyN&-~dyve4MzsU5)CK4KI{VYg`G ziW{Fl8Uh~RK=-kOGY0&b;@1}eTF7@YJX8*=Boe(D6&1ev@w5?RjHEgbnP&PM{bMVl z0|-6zbc>McNcG%}uPyDO%So+^CXc`--=~brj{KQH`cu=!%9VAP5BKckYOH4Ns+H@Az2RNXwNwF<^z0dU#f{X5gml9Nza8jnEq>{d5OJBeHG8DyVr zEpl`5F!r78PSyn=1a4b*2bj-(Yva)IEBMo30N>M&vycYgSbpFkQg+P``H@s)e1f62Kad#Pk+{6{c7 zt}NYyh5EdF3MRA(*^zlJO7yZv!Otn>yjJ_b0{ReMBZ>c71VZ!&J>t)=kgX!O5RL4L zCj?!WZ$j2~h&cQR?(hx72hW8Oy;r#xdCLk5BPymedh`D#AAS~oZmP};Se2-ihI@jT zhsjf#lr6jtEbU7HW9b49|1-mX6WvMJeFLSm$&(|J?G`1s|FU}LHg%a$=@}1BV-2!+ zs)g>?JMtS@Jcb@H&B%+U};r*{9;Y`c748@ivGug4|=R zoKZXCcrRA)k1YJ^d@YV15IlOnlHpQH$Nvp26DnSON%C}nX3-DbE!F;4-w}V_LY(pD z`Ojd)kumpH-ajD-#&@6Rb<-$;GY z7?#6#fRx`lMVJ4az)h=Ve7-)5Ejl2hmyP2p%w0OtC!RSzvrZ@tfeUHuOr13>OB%mX z_p=3!dLfoI(3s2nVMP*JmI&w#<-09SYF=qfJtrrBGQpx z`-pdq=LAacx_qV|uq(-fO(LeA>qV((2FpG{IaIYY``Lga8lYC!-F@%`wlk7V;^;TcYhhvN`IQEXK`l?apxmoW1t>56;vg;5C=a%ei~ zdld(yJT`=&D?sILA`2q{x1y#tSs2C%=XLMKJo;PgYJpJCi0_d+yTw%rrQo7Z*Ah0@ zb#ReJV8N#APk7X< zp?9e3IOwXb+Dt@*BK-3Gqacn|k}wA6$1Ew*RQD(`i9Lz^+}|wL*9y~2@dnT{eFJrH z=;2Vgi)QZYRCbuXgG2lEK}-J)uE!jU+;v?FPn40v6NUnxWF*yP)(s%fc3s^t;}2qn zXOrK63(0Oj>?+<(^CC?gFyZu%sjL|zCUSU*WTI4Z|J3{0&hatdK~4MDKYTxov;-_U z4CX!utudK~_6f4Zmk%lct7Nw?Osl_$8JYzxv{B0J-M-dW{<@(7YImDsM2Y--TN^3% z0f$b8$1S?I2;X{l&Z7gX@h8lktYyCJmgJ$Kp>1KC8|0w~%uGc|)hsFc{`d2lF7l+d2KIVG29UQC8Yq65ZO)-^ZR;V;c% zUxAck(^{`#_r5VnJ7e+KDyzBGHi_3Kf6mhd&tW&niYC2Ovsin>%R6MT-FG6{E>J}Y z`Qm~>3RA*N@1ei+HTLx8%)*(f2%Al>otA%vw(K|Zp<$8a%$rM)ZZLBTd6Ms|SjHgf z5n+PDdoWMGjSa&aw|-WQw3lp+E7fk&aoMlG-d9Z%SUo8D()&F@9O=3icK1ZpQ6{i% zRLs2Db5ImvfxQxjS3*?Pht~)7B)B(Wx#@*fkk^6duK8k6-os%6DCPTwz}V4lwqzcy z7XlW2I*J~fqvXAtqgf~2VLohfmRzuomV7jB>-h6y8`_wHWBA~f~fmlN%Lfpf0ZCbRZLQ{6vmXazy<54Uy zU7lh#hN*EcGCEZQb)=vb3V|5BKK8IOo;|gac}gS9!&Tm1Mv@TQAaf2;u_;ts zftDQx8BPbpUkaUq`k6*;r^7COw}DW)yO@SgMd2NYF4Dgoj6}cf%T2l7FfpmTBLB0b zd=yu2;02GL88h_RYu5?}KarhxkZxJ8hspKHF^NNmc~5sdu0Cw%KN@FIzYrCVOwM z9UGb-bf!EeUYU;7$sNAO9vs*;*pChPUo4=+rFr9QeX=G%K0&$P`MMd)_S&<@8pj%V z9!@E1U+Hb7;>;bLkw;0kaJ$TfV?Rc5aEa}Y+q{dcVty1FK3%s|J#Omgv-;d7@UT<$ z{3)014(TdkZ2bC(uo=zDpUmBsoi^$`aWkK8k|43=1;0dRS;dxx#_TrZ(Bnm?xj{>dL6msbZXe95>V@AkZZsQbD$86}A)rbevcdN$LYP4`>n zm2{Yc2Dr2zs}Mu9;@wN$P%rmM+P;mh8O(a#@RfGm*68TO*V$*1;%<& z6~rWDQf(Os@Fs!n2O*Dz!-QT~)jr6YNlky?^<}eMFF0{iNgN3!^ z5*b%DZHw~a>Tw#a-7wb5IwZ~cmb6z`9FgsH#hux8MFu+NBFK>nDe_3tc4LXJ)(E^8E<+0i=k%nVxlY0Cr^g{ihc7rm*tOT z>1}T7f?mI^jE$@qx9U-F{0I(wxDYv<6fvoAv2Tc>e9h@_@Hw3J=IhC-`uVWbO(NFh z;&02bL0ZDs{{HZ?d!X<7E7i?b_p$zmvZ-T4+}6rP03oWyd7N7&)M=-@6f)?e57?SCm>)9csx{>FV_UPg48;VeBoS zqKenGaY{m@OFAW_M7kS91VlP!P?YW%dT8kqB&16~y1OMrx|^Z9h8kdqZ=ZYr=iK{W z-@WTQtXV7;?AbBw_1o|Jyia`7y)Djrc{ptnRI~S8lALU&jF5WK{I4M&kP}@!G+FWsC%@VGasw;{99~} z(`oO@s`9$*&LSES7eYQLub4Ok-u%`rd6?OImGd5ToyFpXrsEjfCqt4`(PEyQj_~m4 zew*avt$IuH2&Qf|A1;0^vX|jJy;>bb#;qUwaNQ%NCR5%x1!BiE_kL6g|F)DgY&|&m zT#j9-=Q-a<1aJ7#8^K`TKB!G`-M62y^`)7|fnzVIy8hc_c5Lsux$)PFb#F=Q-o&Ey zri7q&FudL=gORp->#2&PPgy%3j^Z2U=3U422zpNIj8c3}BD!fw#7r}XH(ebbBoO5U zUFCQ2{*2m~H}DH^awnTua3isfgnRYKEQxLEaY;^Z7qhm6m3IDK!z|@Dr!sM#IDxVK z@uE!D4|Y>GesT@RTyN)AU0A$|UqQ>A=^Vew1cwspbz8sDu9t(ohbuq~hD9E29%v#l zwcHAu#6Og)u;|N6f^m-Z=8T+ZR|yFk;VZ-!kcbT@_>(7rkTD0-V#f5{JG-K$ViB9^ z2+om&3fY&|YGY_@1?B;!7-Y;$w;vWie!{W&8Yr!$Zl##msr+n6jK0;iJ%)`G_R>(B z0;0!8^gNpB@M|uNZoSco+CZu_*sc%ZmAZSR=%6IBq)dxgjiq345P&z&NO ztA%rWIjwt(O?!&C)VrGhs5>i_m?{{_Q(xO81f(f&8n3DgziO=MUWNvSHrHc+ZOAjt zuexRebd{Zz1N4qih2US|oP?`I5u9rRUkTf;COP1>fAWelt-b0E5F8h}l1w_hm@~^v zSP~vf&f~4){!&a3jdYznYK;dD!e1{rBDcQuJ3Gs_)fd#)H>a|FD)*B(dbwV23ST1N zS@B*Nbhnyb=#eU}&GceF)QnOxj_&RE9yQkWvI0;SCKD`fZN=s;?Rxf42P|u`4_Jl%l7)m^*0wLlP zGdWSdsFor|oB%_hz_*u7{`sgx`Qh3`s4O_bPFbmW*4L!p_)qQQ2*Hfl|1KXu;h$_X zv|irany^)hgYoHyCr-PWLIMCh_6C5*CjRRj;#fcYPe;cKV^GVFz-F+L!LVY|Q5Zjw z@KbzaxF+_C{(F8P|5#9k5&AN+rC@b;Y&ksmDXC$Z@30k3Y7r};SW&hSQ#q2Zxv^vk9YM8u~|Nf%s3_ z>%d|5M6xVl5uc{LLv*l5E`mH(vx9S%2>)8e$m~Uo2-~Sr#vD`mwH=cu{QM~U|GIkG zr7Bl0kqONh6YPsPoR8@p+1 zb$iLYJTrn&a6-r+*)Pkrc|l3AVgoKtbTU5HzLXTc+e%`7O3Harrm0|7rzh(U)4#et zv+A0Fkrk_Xr2&m&PAFuQ^Rhki8nOll3vNkSfO%zu%{?8edvd&$b2NyH>;82*E znfXWlM(3WM#&v!YMm~me8UH*#uH{|V2mkZlkVB93Xx;01;pn# z{(GlBwG7(}Z!COm^WUg4C>Sy_)fGkjR*e;=c;!+G6r*K%(K|8}=>Z~a*fOL}&wRP95=_y?v?g5+Sg&xx+lWXJL zZmg$tBnbojGD%yLyoRr&_)IR~@FOv~ALsX&2>L$(@&AOy|Ks~dr-UVfp#48$*~miyBBAVGO&Y37 zO1htFbkn!?WrKqF_q(sW;ep#_)n{iaDEV6-U-N(V6s=ma9T*mxpJ!$M{pI=EZRaJ% z3B+vJKs$NZ@NejEis0D*eI}D2|I2hml;|>ai{|9XS?=;`H&fhR-Hi@%+ z_gd!Lq4B_wD5^qV!9kmGAxFLQJ;)AXQ%4yU{hq%e+Ap?Qk~29Uv_Zfa>=sh?v{jgS zgU0z=it`$$#Hn+C$Y3tWciKyKVX1JNytYGcb#y)#wbNMVE^tC;@6qAoz2kkXA zbqgozL5ppOd58WCH~X1ZO3`O@5t#Ub)T{9E-awYs*Da%HvV8)vpo#7nFWi-jW#vI^_GkE z%S{w_(8%Eib-2Ej83OM8a9Mh;yI;K!jYaEx4Uk(PSDqARU%r&)ySUjWB-T!lM)sx( z+I-8%z;nPh#EncfGdCBqJ$p*)?J(A1aGun@Fg5`VLJdk2bXZHnp8KVm?28^UHqO~G zGyx2g>#ZgPt}Pm|2l?cl<>df`sXuH=*P9BT(i!4S#w1=2zQr9EgX}Fhe0;kQHpD4r zX&4oP&#s31^o8g6+XKdVPfiIit2jTiFdM(La6-R-I#+Su7wkzVzG@@Vx+RbI;85Li zR#yHQw=_-AL#@19q+CV5!9~nQ!=6{?2q8=XW*>T_PG|!9#=Q??u7JLJn@W&l7$=XM z+1;G?>B-hjdxp*}OgU3)LD3`V-{UhYQ}ozH7;S=o6Z46i*zOQjj(AEk9RuQRQH1fa z(B!i^MEFPMC%fEmNf{ONTr4q+1Ev>6B}f)YNEy!l)qb(juHuui?Xvwf1nd52C#2hh zB}8?~I769gA8#FlN}ON^#Vqy-;a3w9{SUdhZ?Nr8o)rV}c)P}dti}nBsr;7DuxokA zI%(x|IXnqs>14;~4vo=iL?Qyv!sPM}r0i71EPvm|R+M))*WG+3u9NC0TED3nSL`Up zt|@-i-H;D&i*ih&bGs}jJ1Za(`9L_yz_8EujZK)8*WF3`MFq0>A&Wna|vvcjv*9Z$?Zy_Vf%KjlyQX{f5o%u&m6-S6z zvN>6_e?+k62`@tslB1$Kxv1z^_xBT=8X|DgKL$I-VUl-$@_DBJQX2nj^YVOTD{^yMIK&ls%&M=JPBLgv!u0(q)VNst5Lt z7V1w{YAin7i9V8Qqz6QjO!JC89@ad1Enwc?0#dk4b&G1EUC)COuWb>m2G?Isw|LLJ zrot@_MSQdHGsHHMT|X<>h`aCkZo&&`9q0HmTHG|O-lo49j!30sSlr8Ig6?pF=gW6r^iaCXWPbOh&oKN9$ouc4VMoI3Yn=;*;*PsY zfPbl0&33Aey*)UBADxfg|I|s(1|3Ubl@v@!dU3qqJc-AD?#%C8V`@Oj%G}3B@48^q z!kyV>mIp{~JUeJ1d!@9_(^lxb67~IA{SH2e7dNy`%(IQM?`(`>=w9EBA9&Gsn8Y$) zo#K}X!7QiH^&s;$EuVxlrVp;At>S<}NXbFUr_)?xWzKi00G&rfSJ}z*IpL$acl7f5 zyiq8Urj(nix+`QhQ|cmhGQ=3Vpd|cQHs~wPlCh`ih@yhd^oHaYFp0*(rA8wPo{nP( ztfV4VAk>u)#0Hu$LRo!09471%Mp=wcf-GSSr6Cyq(?;*Nm_J@_76N59&M6sNxO4}1 zSabzHQ6v6m5(ex}7$dfv39lSiMMWv5D}Fj#_s{SE6ndr77un*XPzp$-P5i}^uo0Ld z{)QuG*6Ouoa`s;yB6@2e?u7e=`60*!IRfdc(z0Xnr$^>03^kpu7kXeKt{gu9UAalgJCppZj;y2`B>6fX^Y?QW!RK>S+uc7AVL4?Sm8lBT%)bd$JAibM`lUct zTTCoi-o5#bu_OPPCacfz1ssLpA3e5yD2ofRS^!hK$g~!&ULOx$@!K(tG++rLWrie@ z{SXxmuv93NeZgukAm#AEL=z&(lD=kPP?t@Vg}5(w5gB_%krzF#D33 zx5j5B@OJ+tgz)%snfQ6qQ$1DCby?Pm!8|bJTD7i-YgYt9z z{8jHxmiXo7MvUlL9KX8sH^#SbRXxnW`tMORI&Y8>gY{74)jj4judSaH`x|v&)>N#M zJJOyAkm-iAqUoXPQ3{!ypkdLojF?L(we0Q|ciZ)V|I~|GbShkd-ljhy z21A}L#zEc#u=eUshRe33`+Z4yIX(|l1I%k92kX$gZ;uUnKCCB^TNFl(hhoaY%wOXU zWcPNQk5tE-s(df&i-KOm3pE}O=4%5DiYOn;bN?mvMH;jqy{hMXi$3D<%XG@zR}6gf5x?bH`7+aYPA zQjhC{7463>p>%*!LulwYqQv2PRuZucc%l1=Bha!o8(_ZozujTaXe4^{w77nwCO<}8 zm=7D-x9)9gNV`1-xx=J3`hPVRdQkm1pBxgmZ}J+^s0n0UZi=q7hn4A_^hQ!honND8 zsd+ebj^Wj{OeU^=-mHn0YDCskgMGH)zY^L{7TWaG!S<8g-5M)?J6jf6?7T*qu>4={ z1ow>84)wj6STxPcBOADBWSX?CYo|^vM@^%Q%7-qeS;EU+Mt4ZtSF3S(8dNPC)grI-xe3!b`&q4uU@#bI_X@X+FOb)O=>xf z-!9d0Qk-0!WGrS+&K6m5Tl_}7>~`FF9!u#wOi3v^FM;x=V2ytW;p_EdP6?_OHN4>F?WQNLuH;z*805xS}>{cu}Sn; zTMdL_rB|J1Xc$HJ!JatNYe*SqTaCt0dWuftE)!CPN-z_)oL;-Dpof+b8|9L{W!-zPGojcV#u+Cd;@Q?=5~8Dzh5w@{tueki<@mK(UDv_i zC8g=3I%b;pz5gKcgo%%e7}1c0;bN)C7nQN-C71~3|RsO(gWvhY8Z)y6SK=#LR1m@cuoChIknR- z&?zF(8z@oG^dVcOU(*Pgc>-Ut_dLCSv05(Jr5Neb$KAC|sGUydwT==uNviOKS;TKk zvl@&jfj`>OE(HkD*kJv6>t8{1*Vuqbm>tY3CV83CjKzs68&RVwQ#%H7?+U>>CBsz> zy4tpNN0p-^hRn<~SD)!mO1L+@vYrm$5sR+^EQ}3}i-A7z`}Zv&PRoTVHFep9DE$yd zxz#9T;wpV5H((hOs~zBYSp=?cbsm2W{u&ky*W`aE;@`f;>>^KSQ|;_>;fGhS)Qi(i zRdq}ARSip0vHgDgV86K79@Ih$y}(gR6}U%!-ErF;bGkeBo=o}i?WPNP@_@{0h+ei2 z1-b-4>(qWXy6kRlW>#mv+!xw>lG$>M9F_d~8T^p_O?!~{GkU&ihb-S`n!uNVrs&7jj~*yl9Tg(&y}F-)N$?7EhdY{l{MSgT z==p>92?sCd&I_?=fCtwOMe-W7ZsuSeFMCYwb_IpzCXlJ=U#E*oL;0Q7r2vQ3iz>D+ z=3jiyr}YGW=G5jZU^&T8YMbck85n#c8suVUPZ#`*`IZVene?n=6CEAO{np5gtBvof zykdT*ai6@8F4GthZ3&+6((bv2^o`eg z^5;JLMWB<3(&wUUF!6;OWVKVfPU@X`;d2>O=c~2UdtH-Ej#ueMH(1UW7gswU#;nAuG z2j-fqk`EQCuzy8p+pnG1OMj^Df<~K9uGK65l?f~nKfJkH3FUMxMxWl(AH-mUrDBUmO5gnGI z){bgU0~4`SH!LC0*#wyD6Wu#mM_BCf0gD&iI=vi(Mxg^^EeAhme>HFy_p`D>p^^=0 zqh_yHr@V)v9g7@uS#TW>RtbEXUQyd=#NIL$J5X((V?>r$mG@5eZAs*Bap;O^3vOxq zrkin|0h)N|_x45wh=(cm;Lg|wAC??(TFMw%TCNB=PU2lx_mA(<7PG^eML^+@=}tom z#$px^rVjBGFG zx7Qh#0cyJtG229hMZQH;{rZr)2EN(xW*$EQO1bqCBJ(+FNcTvWBQuYoab!Y%&a_PR zMEog36#kKqP6;pP=%0}QzL;n$xAceR$#YmCU4sxce!w46X0e)Tq$7#3)a;o0A}fS`%??4`?_U@+?+fQ z>opn&)(4ho!>PhBqy{p}b4K+3mH;TcXrHEtJB%okNTu*23iY{^1o3|S_@Suy6_^bF zc|u|0cD846JLAxvF;_B*nJHZRRZ-C>mJ&JNPoI2?JkutyA8y(zEB^I#t9c>SN{h|! zVV-R;IoX+?cAxR)WFwX*MY_Z6KuFlc4+Mq2O0I+`ZZ?vrzhvj~cxWor-6Whou(7ci zO}V+8B>~K9Q(L;Zk--G8G%?TD?)%(^wVS1Pt8EBY-+$EKQiHK0 z;e-`C3x_rVc(Ho#O}0Rqnl5xG$1UeGvnF2Uk8yZSDj#LwPL(Gv;+ z-JDeutax3P>1Cd$ASZ24>eu?x1gs2S-5?#RU7UsHorgkCTH)P52-3-XAtX&GfepHo zQI+L;t*!=I_Lr4M%so~zQb)71bNwA2JSXC!=ej>zV@@=vZ~Zbev?o2B+SFPbJd;$m zxX<;_%auv{>dWt3bM7wUZr%mNKWMXTJ&`1pPqfx&H^%N5?g0_ZPbN0{aw;8j~XT#G^xP&~_=B=n`+-n?b-Bgr);RQ+JZ}feDo4ge5(tcw77GYa{L! z)0^Tn0x|^CjYoW?2o?aX>ctPdVajGpdTBo==pUtT8`K5R#0Qc<-j~CFhw>Lb2ciBJ zn$LwG@mV@K2Yuy*sDzwry3L2vNJ;T%n(|7c)H#Q%fZm%v;E} zTFZ`Bx}5vSz!%L&+v3V>J`0B4wc+K}o=p8j_%l-SU_bCgsTWon@GE`c>Pg|t@V+p; z$ld1t6(W_%JQ0iz$5C}G<|c91TA5#bMQNWa=DMf!KzAetf#c`&)|_O2;x?>PVzf0} z2s>cc|CSX%gs$-HReT@N6?S6bg>4DUESeri1jn+8cm94&j?EJ-KT$zR^~M;G^K<4j zAhdI(rd5-_kZzu8e$oCsp#IF$@KLnNkqDs~ZbZ@mcoXjbe6i(1@%>()qrk%xq^Q$c zPcCDfl$bP}siAdQ9q$3+rj;F1oXR3LrP9SH3EFq;`&i>#b1;~+D0Xc5`@)g%!`4~w zG$mGzBmUnyNLtk*IVrhX>cxHhi^#%vnXVIn%%~NXxsye^l(7M5G&R6hk0Q`wOqGj3 z2LK<<5Q9kFjokwZCWEE->Ae^mVo&Hk_C;C!{Q0vLw_|@I@}%iJCUu|6xJ%E(S97e^ z$`|Z7Ia#bmE!Ou=sqMkeyya%w=&Z{F{?&qzb{91;MLi&ae1_R}T4_5oIU)JmH%;v+ zniv7ooJHIb>pS*IguO*fu(hQ-NbyrAYURmy5= zWCxwdhs-u%kL@Zf>*A8Lb3kZ+wlkV0={*x$CnyNiDiy`-h>^L8cr)%)!IMe9u{^~6 zd2btT{s);!EsqKk>77Z6;*otO`CcgC7*H|%8L$Vtj2+;O9?j^>JFVC;--NO1WkU^YC6+;sH>>u z;LToW@M*gHr`e=AQ$3Aj>BjY{ytba9{p)up8;{=?>&?bH!8gkS>VxCI<$!WGGO6c- z(cr;jX?KAt>$@oyL3ux!*~Pj#G~YdvekRek+6}D_TOXT#e_9TJKWNfXATo+!{!S$i zUG5QN%{P_1N$a=WWKL_prrfpZ(>L}j)O0Hsl6iy(K{`!rBJ8_p>9Mm_#fz`dKw*KG zZ#$jP_cDXg$}1eY3mGk$-loRV>V%QIT2?ER*BQFhVI1qV#X&TuXd)~UYiy|ulmc6)nH2gM{6u<4WZGE*_<{+`V`2Who_>ADzz0hn`qp}3-;M~NFP`OuHLk0Xce=%HrjW>?hJ-I3KDN6tU%~UtnOf{$prykYSFk^J6O5Lq7ZU8 zt~pDhPI>j?7>XnlbdY^WXul7n(65`;xpv%H1-l#ChL$g<3Of9l&FAnkTwp)oxxlV` z$r2XLa35v4x+)$ah4TE~*I-=fGqF;m9XWHfj4@m-2Gjk7QJ6+vFI<$GN~_I7(`}Gx zO==lP+an-g*iB{5h)Q|(*+WQyWUalUy}G!(HMhJpw>|eIFnhvlb5aYTJ=bH`ivEKp zJY=YVl|BB&Je75RdN3(mC?|rQF{&~5A?9Ozs~S)QEj#yzvt`_lP*-%^&rtJ9AZ9*yh{fBUDi~a)H@6cElJQ@5@T3-PSv*hKg z>sb(@!Dd!ga!Ehtk2}m~vQ2puIM;HWl9@%@mV5IwhqlMAP~Tg4F!H3$dlv2;OI7#7 zh51ul)p5X7gcCH z{CnV0>b2Lq1M}Iq94alvqJvsb6^#R}@;cy-;CBmGM$&o!83HC9KpRG|;;pB!zrUa5 zvktH5_yOp+kUYE~bwPe{8_%1wDE+>P7pf~h_jL^2tZD7H6Ol9-==f5l^8GOY-S_v{ zC+di8hH&C{!TVWP(v4a>JPsW%K3#?0vOtg@C%R*!YbfSIqa(bOauOkZk+Pv7&L%Ew(O1i{ zZW=*;Sy5E{=g-j6y+&x%g6X@OT=K=^BEP3^sDp;Te^259)t+WEYs}ff-bk$*|N_ee(KfG9+KYe5MBsG)+VSf@E2-WEtWG+SBW2AUG8K}O;x&LpvuxD z>#Uwm?_>?7@dLF#oyU5YH`x0@r8@OuS?|n6G>jY#&5Ws_y})hZhyd!c#*J%olU-iT z3f8kY*wEGMx)8lwRm*DRtB^l9#ySxKrU-uvhQSxd7R&exc4J$90lYp3B+U)aMe}zw zz1@${gixy>D>=E-DP<3(FW0&-w=I0jn9Q&}($2ATS1#BP$>{maL z_m2A!3zJEf_eL=K!_${LJjN2AO!wR;72fr95q_z87201uiPBd~BN)6x2t{#(;5SHm#9F_@aMVWuKTRP!ill}#hJ9#Tc6_(7Yy4i2kDi2JTJ(=0 zn}JjBKn%|DQ>P~;D0Q~P(+S2b19~)td|5-Khx$t9239JOGjr8uGGK zQc|9DVfXoo-qz{?hY#;{G&N03jI=-?kWQk|OsQ2uGFPezShp{@+SBh#esi(c!1@!l zG@%l9qlbnP8`p-7#+I`TzbV#KdB^Doeu z>wduI#=k~~ZPOB`o3ByoU5L(v_7RQu9dH(xB$Hb-SlOFy{u$$2clrB!xAZ}Gsj#Q< zL4X)T-^{jg9qWRBBt{JMS@%MN6o(PQpwN+*cQ({|SZaQgc)pVt(H@_}9EPh@YtNU@ zW=L?umgOVhi=cH|_FP0kDtjN0$5$HwNLg^__y+(? zTkmJQkA;qb|ANQWJX_yM^ZnIlp+$!iP{;K;Kc^G;c% z(t1FLSaI0_9)Sr$$|bnr1ubV=s-n?%O9^5_3tKM+kJ~Ssjmn!glWchJ-PSEUj5ryc#M(ta!Ca8I(AGb>$M?iu%Bs;@;ncgzAja!L-BhIiMpo?X*#%Cu+ z<)FsStSrEn-v2Q<%h&bj#m*}Xr%dlVS@Nss{f^1406!QQ+-@ua5tLTi@QKmW z`3^%=q&>RyM-$v3XBNv_Hh=WfdmQxwTI$>J{^O4GNCv(0U;o4cG}t5@XUlZ922H%S z;c4aVyXA}JO^6ukWFAoM7r5MY+3el@j1BM2_TVTNy+ojaLG_pMJjAjANGIn!K3J3Z zbYlJM=KlE?u%;B`3_-90@t!}6-=XtfjZV&dv7N>%={=}JksunbQ&|v6zT7*}6kh47 zIGjfBbvV$U;d|v&n1z0eN7ttnQGPV-XK@Uxst3rxEtUJ(+vEm`{aX z$kEM!=FWKnGap5}=vv({eyZy|lnGvKRkO0P#(tuatTMZzb^Ch?;UNM;?7`XqSG-Pc<8C z^Ai~H0t_Q?Lc>Ps*q)DV+}GUfDu1VYdcV|{n7wDe1+A&6X+g|q%kPYYm^6QlE&5_^ zfjFG4sPt65B?+x)2a00^rHDv{3du;x>C!4fcqPRAi#aBI9#t*Lw|UTJL4Zv33 z-cHxet-|*nq;DQtAk{OgE)sq^_I|3G41G(;D%FF6XZ}XbIZY_~K-Fn^-_FYf&93Hm zd0~e8-a{yT&Er}>o%@0)TLwh7A+v4VlVnKwVd|V${PJ#4L(AB0;U<~Z8K_ezDWZc2 znv^_s!F2DJBPKWg4n%+9|NJ$`tM}~OR;kp|v7(e*Q4|maKbOq^X=*t*F7F~gm-U44GEZ>?jEZlA&3Xco2Cpm`pNT@HkZW)a}l<9I{D`I znRo>*>4uGCBlkJzJ1*(buhqbwA(B1>ecdKgdJSY}44JSdS>r5iKR;VNs(#^utLWZ$ zvYIsj^tg1#`i!vW3*i#i&y{|)aq39<*cea?cZ#q$-7KuF<#KPfKB#?FrqCfF5N(~; z@Kr^2<&Qe}*K^_-LtskKpvx!$R0)~ z(3mLoLy_sp(R4f*J`y10Bjq!V`moFaU&1Rq--<&~_aiM=X|Bg8>_sIKk*ty{UTogl z(mCI@sAG@XG9T|XB+=WAnlh=i4kvM4#|MAfkRVR^$Q8{@I!MN8zu`2f6Uw6yG(kW& zn-Y>OI-Isp8WquWj;)@^I;gDWj**|$JeiLcBqq>ZhucOb5~SoqwbwFp&-U)xU;J}h zf1M4Kt02Alp@iQ=Di{EDj{y4$*V&B6DUp&%;pwc;#g#KC_!$2B6k~85P^gx=$hJS! z-EXbQLU*OX)Kdjw*83N#Yh#>_iVARj0p9C>y%d(1=6aB<$b(T-DQzDH8XB^Wa$kyQ z6C)!du;Ik}*xOPullt20j z+ROv)uaj@2VxL*1YJP$2z2T>&=;W0a{Az!^O6(?SLDbn?g-?^XN_tCnV@b$U_U@@b z)MT+;D0+;D@7U_v;&COiUi>6LL$ih)>+YuU0bO|Ep!4_b1-$}=Z~G!-^d6X3?{+fB z^wZN5@mrsl#oi7Y0C{L_o`XWyjps|y`kR8<_>8pvw(C#*>8(^f}0Esk`)vq@-Ri~HczeovC25HM+2)DVYia2V`Vik zL|<5cGDpdkE`9RbeZ{z58&*cj3-&pfPBwNKhvhczTv3+{4nj@nS)!@izip&GH$fLc zp^@>OjX@t3ub&@lS7V^an(|%RwyS?WzH@z#3G!j`e=kT$NxgF2z^IpQIM=b0-H|nC z_L#Ao0@5Da2$PJ&ybKA7@s3*FO>!}GXdgdK8?|a!woD+(Te$SkFpQ=X+Fuz=B{+_Z zZF~}7`C4~sXQrlwwpJDKyPu%#HcDSfX^;qAc?D{f#vMw~ez6HwK2E%7n80?Q{B&tK zkrI8Yzb5qzi|{gs%2d${3cX)4;P*|xuq&B4T8DeMsq=tDuz(ri`X&7EuyyE}ufk|? zS&3qUZtX{{fYG?Mw7xQ+Oq%k@h&KE30JJ487NY=SpQkrCbA(AifB(B@bl;=FbVHRK zs3>`OI5~cml-!$kw`4(2$vd;sP@^@zBy~NNew>+|_Pu&YgVfdO2jzv?kBTFT0kjMQH41lMD?yfRn!Id*J6)XOAJkav_ubD1 zy52@I9BHUf)2^cY%T3~c|3R+WH0rt2E8?wnK#;<=NyL;ido-cX7qFWokF^oeqx|Dr zfcOg{5&ceR<2;sRAT2F=(%i4yjJ(UZSv_67q0G;wLKV=G!$6-x>Q8UG+h`@VKIQ71 z*sv5lEHIl#5%H1cG-mLbzOFX)98TS=eiKChd^`cx^H85x=J9ru$g~$+GC>?-KxB}}aL^nZeU9>8 z2V??5U-wa*o}Rz;TC4wKayH}hP(nG*E0rM;ZrF3F&!*?k`wahk0VZw-mGHuHd1W-e=#MZx_O-^KjC-)dCnh^ANDhC6ZW)hgHeg6?Y09Lne^G zPo3gs91#t?lQ-2BxCeOLZ_TByyRne>b(@R7R)g*z#m;jm#Ez?VCNndnr7w#$Vw-k{ z?P61JI?o%;8?0A8?UbeB9phrzHPBRTZd6E%9WDXGk9wH>5ixKfa_Sr zurBkd1C1*tS7^C`Gf%X5iBWUx$obAi`qC12{i0b3tsAgFzJ{JPKyL}=T@PdC=S3s8 z0fT+$-!aWJhu7v%}PEyMP z8yRFybFsBR0&?v>xh>|B)^hyC+%x^;Mje}bIP-O0BzRir$$VMrcC8iFV5CkWS6K>w zVSBEe0H?5+%Iy*jBfp)qaqEM$rDywF`Mk(eWJSDqVDxr9_%0EMr$p%q`26TUW)o-c z#d@$}XWTzSS$XE4*pK$dtMr_+GmRzT+IP)P;MC-W60!74QMt>Vi^g#g9}ajt_xLQP z1lUC0X0qVPQk#xWQiJ_+L4ASw=skhmM81lWuDQBfee^6P_2}?`P}SUoB5u^&v7}cb zk5N4=N14|9uK@r%Sp#-D>fVPfv#6n-*{d47$%(53h7E6nhuuHbRAV`a_*C2zoIh{* zUH%K5Qu=*s`^=N^bewp9b>*fsH2foRSE<941h4QkYoSvRglB zv~l%}kSzoX zlQUB$n-zE38eqG9HD_YAe{EoYpYz}5l&Vo;>T2xB zGz|hd_dxbwRYI7(jMmQqWT~u?i3wt*WVGXMQ=V7yW~{-)N4wc}4`6}auh@+G-5uLN z>I5UV?=NO>HCoUA@|*ZweUd1*@_C#tlpao*d4+mGLDzDUSV-U1R9tO)CTt?N;syV; z-iymQI0%N`YOZ&jT`+5PAfIks?$A8~jSOq+;yp)|2ib&jfvpt9d zq-)Dt0HH{0{zf{A^T-NG0=CC7HkR=(gvs2X3wTS#*#wvb_Ab{rJ-#-c9gGlc+(kzb{CTL0t=`|mRHTvGVxy>Wm_r-zvpumGTB}9o{5bGt#+m zTHRWKU!?FieBk4)Jm1zC$}nkjHGrx`5BB0kpo$eCeQw@a;VWhYZs+j~M5m+A<`+Dp zWmjD$lr1h0RLJIn$YcCUogoaUp28!_w>Ff=`1?UvA+FdeS`o$Gx>N=m6ifz)3$NZS zJ7WId+xaU+%n|;tY~6p0(yOl)cj}GBX!g?yv*`cR&i#ul{Dz89_Wvipn_&M?urJ|= z8B_3FA&#l(DU+i>FGC>dfDV8QabOa$u$-a&*A?Iq{TrA0?`#CO%avPiE|yqw#QaZk zvfN#OaCbDPyD2u6Zm+K0V(jy}n;rU&6MM=RV7-Qq59tvR&TpWSPc zEygN52WNofpZ4><5;orlc-&f^M-%eFh_?eiQG-7^oFPe_6~eF(_(WQ#u@VBm<$(F^ z++{&Gwk)I{R_(z3@ez2K#p!}B1!N?cRXFC$S;J0(gYGZWddybR4MpICsg+rtG%LYc2PoW}MJjj)HKxq+u$2MhMx zFdj83E|@j0=w<|-Dn|C2-vY2}v)E8SN*-hexheI$OccEP zm@@lIt>NA+<-W%z!QQuWK3l4Fp+DeH4L$TG)aIlf(z^SsuMFT8Y%M7Y(N&aemh0sg zwA*gC0=-R=_i4mSRpC{-12nqLn5VAoI2qR1f#_v3x;pzjbA+<*!w(5%6|mWvuwQ5VYJ6b~ ziq2#T49%JL6-){g0U0wNgj^N7>61}>lh+Sk+8DDj1XR({7@{agp*{JRc=exA39f~q zi&!OvG~Yl|lmAVE{a<3(6Zd*naD7XCL^Z9`IZ zIut9?9E&%tM*4UvMWH>yKXo#SQpGjC=R?2i%DVFr_l3Thibq~Hn?yn!Y42{5yq5If zE}Is4dLIM*d*+!6V5^_RkJ?88FIL3l(B6>Gar*q%;WP~oWOVD@-NHii?d?J<>rKm% z%SUzaN~DHFsfnNN+a#W{X+L95x{BEj*Z}@dj{&C8uY%tm`JbUmZjbyR!!e?+C@Cvu z=LA<*rhp?UxJ~M#{s5zDHw3!mO=XotL0s+0aGPwPe%tTMgc;Syxm@yL)nsm93aJYA zO(-orw1&P&*JsMf>)pbxEOm1%8n)Ll^H@kk|Vn1{;RbcL< z;u|XTL+vaXDrq%BQqc!cn~)H9=!+Il&B=1w?~&a156THdoSE0qfd;MDXXnKfWXbB8 z-zE#@5qkIHHCDb*H9HX8`LoK~bG}W=cM$-WZDg>h#t~OvPfM{I=Pt^xn_E&!6_u$> zmPTO}g1zx%qxo;@1n89mm%K-k_3VMKmrFYPzYso0Sl>)6oxJNlc^-`cw(EmaM6j_ih?RijH-NGbJ#Sywz0K`L)p7Ev zKf`dUwYPR4q1vT7R`Tc&HAu+ku}lxUZjb!4_to)ioAODXhNw+V)gsB433rlEe8Bzs z$IfTz$6Y9Ed`K=iH@^5oEqDFAQ)gu~gLa`B{L?7qtGTauXP=%%5q_L3BSz2gnK56q z&B{n?IAK&is_yq)2I{4KUJJPn7QrWSpBUK_d@t$oaN0$(?6zSOFOWyK~22vT5~N2LMJQ9i}k%1j}mp8H4dtN z*G{`Sg?8sFZB?!5Pb#2qXkMMR=7lc1y15-}yBgf?xeu}p)40OJ(MKfB$HlWgWFXdC zSlPTwC{8Tf_A2)tJ*ghCb*;ptZUpU_OTNV`X`6U2DT5vKyq|~+P(A5?rN~w(Zr1vS z(?8N1<<&YpRwc)KgC{Daax9jW?jS86OUvDDsrzRtdCIHnA7sW~=C~Gu?N4qyul-rr zGf~rHIE8Of;)BoM)RvS|Lkhj+DQJhs;yp$nc?_79Vr(9(yoQMi2H!F*O+I^LqDj$U zcsxALy$)r+d)K;tBW8Of7Ee7`r^L@lcgo1vc`ls_LiWf0#DxQ1BGMy1cZ}8|Sw-zv zA}}$=C5klPhU+z^89&~yLc{&!yapZz(|#Q{XXjP!FfVT2vl7m~^w+a?4aT1E3}H~4 zN0*OW+f}#L?ESq%0~iV~(|f#cn+41LxY?LmtN_sd5}x*r+d+Wb7!r@UP8eM&4ECZ6 zF2?mf;MN1X?x^YAR9b<6WBdG-`9HM1Wl&sUur12q&ftXL9-IIP5`1uXcXtTx4ub@D zXCSzHNN^{?9fG^N+nbzw&UyFMy|>=`^Qz{@u06Y^X7BxVf8DFQ*WymWkNfK~II5}V z*-N|ke1#~a^ayIZJB8L`b$^*nLUr82cC?P0&j2q-7*(armd<29?+oYl?&rhP?=RrP zb$O8yeqq6Pb@CmxX-b|zdE7lUPNr}`=MRx-u*hAOmp6AEd|x}~KP{eptHOLaKzWgD zwAa@k)=aWZV|9rbX7xWx`aDSTdRY3hy7+KEbyl+2_BgKCu{rzg?Ru&7Wo>x}K9>Uw zCn&Tt;^86C;XSFcb`-5T8)2}ff6JC!|Dj=ZWycfI+w_kyn!yV&z(I6w`K=ot`P6SE zZHjHX%_jSYa0WafiZcQ>Pn*itE3(r1h6@VgF)|EjYs3Z*qfpnIaMl&gl|kwk(qtS! z6UAP2R{i0Z)yfI*ha}Rl&eR}xv6?EAhVB~ zz~^`Ns?q)gs`!Sg`kxI|E4Z6^bd_d>42x#k6dQ?`0&ftS8Ec1QTXmz>BCA@slmR1^ z-))i*cyr4`?J->ayis%m!k-g&t$fEdOPzir zRQV%J7Zy;icV%+WYw)y{kKr>{&umJL*ycMJ7LiG>vRu@c-@;|6j`uf?=S0%>^+60c zgwppEsFBby55qUqz}I2YpCh3CBglt>G!AEg=p==MQVFPss$3D20N-*gf3BpL24-Ia z2{LV^ik0IklXnUp#k#3Z^v#h>n&xN`j7Odg+h}{gNZgx8n0{w!*5Sm+2`GH1rnxd~ z#V8n|-=c<=zr0UKoV1Chh<(<%NU5wapC^%E92&o&&~3UC zW&ZecV3<_`3&J5|kHo`(sNa5==o?}ss;#42E5Cy*mA^WX!P@E7{w;od*I)UqEaYD4 zS_j|LG8l$X5?p3P66UZ<-}ty*SU{^r1^*^-^A*qbvJKVk#Cv|@H^bq5 z3&3`4MJ}jUs6pJb6nlo?Yb{Tk3C!ODkG9?vnDPxBBMauq?h@K>@;t`pm$~a%Ie}v%qmXMW14csCjj!4 zV;=F!c2oUNGz|avLjQmH{6{j`s!`!6p~IFmYE8G>VtcyfaF3F9hlCf|FUbm=!PN9s&&ihhuGptHM%d+!`v^_gRn z=5+1H?ANouEb#JYTZ`BVLCAU@tE~}y)u_(m>NnpZaRBFUFdJzAgcW>|v-n4aL!e>| znFp!(+7nVhu&%DFs^ugAr9!^^fZ$LDne?7LmCsfI+y$jCNpU%mBINsT^5*~JQ@OC+ zEM|7F0k2~XJs^OQM37#36&>p3l7?ZCTL!)zIXJ`SttBIU_<9Q$a3~Bj3^VH0bcwQe zD#dO%uE`YpI~u;rX73#B$>uX1Ce=~x=ia?Hn%C)|q%u(L@R7H%va~yNJ zQXGY?JT|t!YF|!-z4P~tc;%-&J~iYS3u0+uK0B-NV_8ceJ$v4p@Xt$mk_zv)duTWQ zdZ~9C5)5@4gN?jae2l7z1m0$)h(b?!1ens_BHS6;T$dPT99VH=&;p{}R_LOL=c_s6 zre~C*EQKAAf@?YJil!_;Ripq*c&z6EaX=9vAxaUF%52TKP8hXRZ*C%Y(F8f-Lw>k( z(9z82fN8%D=_9N*e!UNzS7ZvoZS9{vU2XU&Z~z6>k6~^ zq{5BzX^2*3zMSSBRZ`N2J?f0&3Gr0)221D6nD6bV8d5r8`D*S%Fb)S+&uY)PVMTf4 zLzdt4l#1_NSdW$i2JzP^USkW9#NNoH*)7E2A1a~Rka{JTku+j96jYVcBS*lVs+J>7 zqZicYNsTV>Mgt2*rFFh%-p%9NI$vuI0kzKkWZ2Iw8o~g!l`d~mCdjKbc2W1Dx#xRw z&N@&1rsu;=G8m!+=J!F^NtAz|ZBad8@fe@!j6&NTmh>FAG9Kj7g++g>w= z)(8HfU6$=+`hfBI8myyydMVSraqpD?o4Iwq+9g4Y8JvKX`NBNBR!VD+v91g>0@~5) z=G>$#Lv;|E+&zV|dMBn^v<=hN>St?iwHX2&WZzuiq*7KCE5m<=kTJO;ZcN6*D zy)0j8Suk6Cv|&n3f-U6dVf4iUjBCyw!UbX%){c3T>DaUDD7g;ODQro?7$u{ncH4jX zoSKuhheH*YB6>FIMTwu`Je2!rx+cNhD2*;H z!BBw4_EpwlHv6pyk0RtKejs4_;O+QtK*^2vsQ9`j%6c4ik@CF;bCsS0#lOf)s}mNw z;!-ra^b_WMUIm%Dj*gvPG~-+{N=p1k>v#upvlMEM+PU3IYD5%#_36J=dO)oIHkGsf z@Iu(>M+3!FMnbS)%ABQOJipNdZqekkJ@zuLU37VUW$Q7K`lVxI685mT$n^3XhE>aG zUta434Xts_eX!L*;y7SA=#5a)G$BA>?y;vzCdwAtaV1STYRO`Whm!Znsc;tj#3$Oz z6`(Bms`GQT+Ayf88TJuJ-mLwlusX1nGh)%1R%XlKfm?&&SAmw}n@|nR9^!$EgA*Os zb~#Z}!dhdk$s*PJ8qN9eEdF8Q5hi67au^~VFu<3PI>xrI-Isf$Upqup601rHNkZ=1 zjC8|ucCaYNs3B{OPY0&9fm+{-x6Ftkf{H*vCHN_>*74>!VCZrD z*!xMh5@t=p*KBTC=n!@Px9%9V?GLG9=bC5Y-x*?m8j<~J+gIa#%-dfA8er?7ZLxoU zU2clsxN)06`PpE75uki4pQ;Y~@qWvHv5cElO*)erBRJye3$Y30@tJ)#Sn%S>K)l6- z((`}%oH}1_?%*%NO#SkPB`iTfi=Zjux>o~?WC19z@D^pv&R6B-4cx75ux=g>PA2Qk z<24Az8paOHcOOC~xBdPbQvIKWYoS=G0wOTi0tG@JIo+-~g#%A>gc6R7)3i;7{eK@> zt%Uzz*boD#DgJK@E&mEK{eaAOY2Rp`FK)^zbX&3E|2HHmN;g~lzac>sBAGcuWS0MH z9R)=5|3M(}Ccj57$B|^^i0L)zvh<*?C9lvIgU}AkxE6HB)#7)Af{N;I~lPQSQK`6RiWj%IHGc(+y zBlgq9)=#lvCqMDrVDzK;Tv_1N-oub96?xA?+)*0Og0)Khe&W&EQz;Qq ztu@v9r9prvum+{xnr;I^!9AGz-ETtee(XC&29Y+(!KJI+qn``z>1I_^LRY`D>op>a zz>8!5x1yxVHdJm)YEoYgw0=D%ev$ ztv(@A8xp)_zMwrnp@h;zGv|M+PL@s$^mp^&H6Ea&rg$*gC4oe;6ogZnb5N-n ztd>zqSBq6=2pSKNQI}nr(OtoiuA?e`f?`O%o8)>QW>{5_$G*~p&PFoyFpf9NQ~epi1AhRsY1QekD2^*v#}E3S)HVN?f&~2kshseC5a}f3 zazy&V7UKkpSNa9j@0=(ln|!cqz7hm?Ilq*KXPb%U66F{GpyiISHA$(uqZ`AYf}=|W zpQg>{d4LnYs`i+s{c0@i(MV=E3p`)Zu8YO1p!$&sS!*+MYH4g4nyLm=A{!n2Mjw9S z4}B1{#;1OSG4jeG|HXu6@OC5??x5qQNF-DFcy8KyTFSrTG7rJZS{jtL*=+7;tA^B9 zS5`Kgd7aenxb^?GB|ThM#Oshv%t}NKyyS zD*eGzD(er=i7Mh{he3(kv;`k)8u66+`6l3H_EJ-6YV91XFS4i1jT}CFA$5_7c7}10 ziR%8FxXDFP3_wcGlSvKcrImf(n+Vp5SuQuy7*>f}q?NTyW6s!tk?yXiHO7yKrytr} zr2UYtUe6OG-XMd=i97NqQJkrpd5>hlJlXr3SZ5-Z^`)2dgX}6xnf>{^&7c4+o z!EK;koHLaryTeX|7Q)M?@^j&W&+P9U-DDbLI84~Pu`|=w1 zdlyc=$@4YNNV^sfOg0@&DCg0pL1~oXuDr+HUGj7vii-V>JgPHUjxATH-P0hxDp7sA zwF(F4LUZ_GkRoW-#r>hiAk8V?y8kM$MpQUi6@g)aivpJI-=TionkmAySSAnf+ZFVC z((6|K%?hT5NW}<5J@pQ|?wG0m255(9X&GaZnfA@{v-;%>63o`>Qgm%x9bhMN4Uily z!Zpz4=AvE~-o8A;5cduhgai8uGbt6bHj!K#>3m|+M|g`$EuB+>LJeU@K?4}LYD`68 z?`4_{Pe#tY*cpGH+~j|x8*ewaCk}~3iBB);W`9YS1_Sd2gB(Dd%1DLqxSU*(*qRG~ z?-J-rscmI8AUusXngSd{j4J0UV>bj4#2mpE$4%KGbV4H_o(nh$%h7iC9*@BiDVf%^ zcOq~Eg1vr9A!$K7lJsp;FSL5ZEKGbQrj5vXj!(8EAO}`S(+A`){_DyIEj;P zJb=_)hjmIgUn?X*mDBCtQD|Bd*wv)^tdPGXL+5TL4^fd9!<|TR2A-aDppxJC3l#aX z0(_0*(@fH=3ha=7GT=={{rJ?defY>uYW?v(J8>2nWE0x&E@W%;`a;<^-9k+Kc?rb= z9Fx1UfllSpV5SZ)3@z$TGuV!KM++!@DfStvi6&Wb%wP#E zwqTseHlIVVc_ksU$b&2h-ZS!Ql)>1DQeAXlTsTE8j@YMU_@K6XlbroZp*NoC8|LfZ z2h6C#G10k8T7M6|-JD0csoGgx;0?fy1b>SaVViWLYIRf+&8jK#Z0$XQ(uHjZvIufi zNo1`z(gEXS@q!x2=e1SfVupu+y8xuv2E{-N#T-c@Bzdndv|@c+K>3o)V!HCaISR8? zm}`i%fRo3Qp{X9aLiqZAyrGyAz>Z>y4T0tu2dzK3XkQ`c6LX*zHuAY|3QIJM z76uH!o9|;AzCKA-{cB@2*)yJReE44`+wOYwt{MP*C3w0~1@t6NTKKrM;a|YZDExzb zg>8q=bQr_R+aDVzlCs*IeM*PN8K=R?@}(wjoEGDr2N=KIydm!Ah9B_Fdg1qhi0@$k zQ>EbNL{D`9Ad+Wa^yZDDj~%cficti(8>y+^jEX)^ho3aF#~;%tCx%twaT8?6#M$|v zPz{k>z;+y3OG0c;NR=o;Tv1zpit7iz126~R?fUZYQ0qNN#s+v?1Q4d6p5t~BP z2bD$Ft#N4S9!;=>rGRP*kWxsN0&RRzs&rb!A-YgF_;Q-s-N% z1Dnm%bA&oHRu_7!xh+8d=xwOvL6HHbkz4|r0-UqM8(7$J8r7ZUQe6mSDPvnpnL#^ zy>cJ~4OdL;$Z{pMN_BCP0?x5tRv(;}CJ)8c#BpDdj#bSGe?ah;zb+VH*I8@y-8o_P z1%qZOWav3qsH}c7WrAr2kVCwu=a|K0_}0s05V7%@x{Jf@bz3CjmBj)z<#>M(ziRSgZFlr={LF`0u`%{K>~G`JEu$pDjWvni3lIEWfXjly{>1gYcj)$7as4H>x-5N zV7$QT_|3eYZ8Ig=an-lS|K^o>E0B`91K=Qr#p9lB2#fM_1>u!mA31#`pp{}C2rIRd zjMk|kBVgP3`A0`AFFbnX3tsQtUM7y>P?l7eht4wHyH43>?C7-*w{U+$vcYw`!E-ZT zI2Yh3#b3FY4A_HYWe0q;WJPQYFs_RBkA9O);8TFvf`53*j89shXDag)BfEx@4KQz8 znW;|B_}f-^-u(KC4u2Oz#rP7R+XJ|pQ8YZTkb6*{&ud?16w3r5$|d5-mm@g2&sJQ# zCYFPw8(eUGc#c``#;8x!s3EF5I_qs1cyiGy8@#QSZMzn_9-tJ3m~wa!C_==nRk8M( zKoEuE*QbC>lV8oV6lPtA9oX*_oHzzZ1j*20d`IiQBcH6;tFw%aSxD-l6`zFLa{;2s z=9c!b-+@Ik6b*$9Xh%vi<|WS>*!e&Tdt;je+C1;cxW9fnHM%NAv`Ft&z#UX@t9^RM zZw5C>3W&-)bQew=d&Y)AqHqsgZJ6-jgAmi3C&$hu{7D8$G#_ezj!Ze(7V0IE?d+9~ zVo<8X{`bOeMM18>%%v8k`w*S}#E1aCQGuS2gH2wa&0Z8bn9x-~68VB1w|F3=xDBJv z*fKC3@E3g#jhhP4y@+MML^w^Ji^gxr?K?nww=_H_Nt?R&ul zs3KYHy-jV6YRxU$(J?N>O(}vils7HE#kh;%6P7iJ3BC^=x1zF|vG8YM{75nEzQ^R?WOTDCnVSFCF;cDM? z)gU=s6pf(BV&kP$Nn}O&Qnz}B6updEx;hils{Z0=7}41=)FVuGHEzJEuDY7MZ0&Vg zqZJTW9Yj&CKi0!i60qOKlH-Z5!wI&+j7+2j%cODgFNY~2wC<8o{2)jjF`8GZQMfE; z!Q#u`OsZqGp)E(a#pdb(;aQC#YcvJkd%Q6wmeSOkiTAfj;o-kA;&V`%5wPs@V0wfG zgF(pn!2ox1HF&8KrFY@3T{OCgb?A+<8YX1g<}(gjN+Xjyyjv^5=C{9t&H?AORB*+- zCM#ClQmM7LJvBERhl#7Fv8oudcsU2@#S>UR*%s}Rj&4O*J@mZAB9^H7lH)*diwfcAIA;RAc zBV6J*TwpjzVC^Jvo8cBHZ3u))dxv=-Gn(Ir!~=YE7!m*g?+f*Zyo8EE-d0I=TFu2@{&eRX;;>uDSxn0wq#m!SJzXuwUe9l*}7$K&fH$ z($@}bFLo@s9alih4!>pN@;Pwq>6|`4(dB$&6`=n+D%)1-3R3%dbl|3NsSy8Y zYO#?&bh=OGli4&NobaU)%W7~$TH2n?xqf2ik6E-5{7_SW|NDTmb<2em?ulje9_2+~ zb94eyMl%^_%Kdrh;u<4K-9mR{-GbC72G|9XCAk$6R&}G;1+^6dRE2%DeGc@FBJ`y0 z-g;K_y;&1O+nzm}@OEz55u+dzE{=BfEWJTW&DiA7*v-y+$*tb-nKlVeXOii%Di}#( zPLaTgI=a4vbnIOhx~}z1jrbgdQN@U;QdcOg(Ct_BI{aw-@aC17 z#q0-byE7F_?AoFHmaRbYGEik5`pHdo8I!TS`gu(k!7sL3#mUR@EO5-o>PfD=irmi> z2#;(ZVfG%8y~%V<@Zp*Tl3udEmw6D_%J9!o5Y&mQavaCp{1{;qgrlFE5PS!X6+m(| z%|n0R7$->hCASQ@{oCXhMP2)Kf*j zwztZ(xtNe6l5U;L86h~#HaZOc=xRQ`j{VB&!xSb78W>`B5!SI*o5&cFZcGZ?#-e2m zAA;rb)eyis_yF%lt#0_@1#n|rQclvZ0YScuq0gJ>jIQbloFRCq?;r$g#`>wb+x07n zkH*&^tUA;aIhfEO1_~CdEOd^tlaq(U? z)~K}IHAt?!RYSRn4?sZ-q~MAn1MTW+njszbSCodzCsSr8n*?Lv3nz)HHc@b>pu#e! zFCzn&D^Q#ja$aEiv{n@Q1R1fz3a36aBZk=wVr?v{C{l`P!KD8ajLQSVXpRd`Q-Tu5lH+kMYturb9(q3MEjk;qh zRJG;`>PuH<8I`*1rCx}BfUZs@h)k7AAhX=8AJ?+2_5BW^Nfag2$GePi_!p7RZ1~!r zmvSS&k<>nlQ$vLNSt;O=SAIjd!2PYjloKoEquJg~THiEn+kOAo)~X+!iW+eW+U61b zkEfML0f1Ub2A|HePWo>P$&S44hylAFyT{+5HML#x7-O&0l}?r(^T`)C7;z^J22|ik zeA1de-idD~mnn=S3T*BM4+rpX!N@`D=3N(w0}$qgPjWg}k>X3G=1Xm${JwWwYx3oP z8b;wskOM=`q<&tRPjH4}$czbk`rGn}Q5swpp3`vXItxTaa}=l={^E+ASx7Cn58f7) z7J!+IhL8@cmsXJI)ev#BG9&may56G~$50X+3qyXX&4(ijK>M9WTAsPi#@|(>C>YO%zmuywDLl z_JXt8tBFg0q@^G1Qh^o#&((THy;k^?VS3tY? zNVMxdx58BdmtH@*r5ZrO&^N?T#VGuX0;j1Hxl9TmBRx|CP)@O1!A6j(HU}9?^y)@o zyei3-ZzMR&3D|pCu2n?cgk1?tbtLpfSr0EgHO4S}Q6Gr;CBS0SaZ_3TVLrPm1C3<5 z2j@2MG)AhK2bQZH*_~1bd$_68B3{o7EmsT3Ck?OR*fb5<)n)fF7s3%$uCqA!@PQ7o z5(hd&z!hYh>NTaJh5_^dqYOPqz z1|~MFe#8YGI$krA;m~3x0cRrCq0<;v9I?v;)*jgw&tD=3sL?O)RB=ii@$RMT{SRxs zDs4guK&t%sOjma57$=UPMMkJ=m5IJd8?2ux-BenJ*z=cc+SGG>D12k%l+I)=^A=TL z=N;{Erz~2qD-|-eA)n02g)?eT< zPA;%XjJsbIb56+DZqei$-f)ac<7YP8%f4IZ6OH!?^B^nDs39326&^Un4oe>0x`BEo zu_fT3L$qVG!vCx~U0B7C_K?}aXt?pGKxR~7Rz&)zk~mUpSgVj91e#o8 z{8zBcs*BlnwZ`vN$xu@6mCB^BRO;R&sO4O-EsC|-JJkIc%NlT1eo+Mewi7RP??PCe z6i*<#NGO7OASt zwEJY``oBLh+90qBw}QiiJD-DQPF09W+EqwrX-Bhw6g@zr~Vzgw~5zKR7+x}JOkr?2VSGpi2zUpZZ=Zlhe# zVrvCYBNbD6WkToYQe^}JHm%hw_mNp3m>2aJRg7JQ@~%x_84Y$3HTGy^TufYmLJ6<& zgEjVh+D+qxTt)@V0i-!%N=7wq*D%Cpc*w7!uBtxR+n-#O;u zwth7DOkEzVlJ9Ru=&+4JXHaQYvRZ^p2YfRLkqmA+urEvtu`9>f|2AZ^l1oO%NKLtd zgYvYH`SYN1?x+2%MS`HKp~4-aMe;4rHSHf}HMYlwvUM%+|HyQ-S+B}&gAFJ$?{P7P zSkY2q<6t1LKrthh#D{hr(62S^I?u>2tPOSrog{kMvd+(t0DsrYugrl5MEd>LUZ%zM*hyhTj%ckJoI zUZfYkdutop4V)+Kh;BT0M1u&xUi+#-H=2f_F082bg3>B~|IZTddAl_1srkLcU`xX2 z!O8PszT>gv*C>P#Lm)JP8u=pK-=}T;PXaEf)6F@{xF#H8Dm;h zI^zRB7Ic0+u0Jch&U1t0f}@tACX-z@on&9FYVxI;6S8z7o@dOl5@@w!f~ItGGDZFl z;3XG@yuR#4wfGk#3i2QdrCw%OX>9M#$UC|GRE}9}^whfaoUJum2y7mAUj%_$K9qQI z-w1BbPLQ5H^TH%h|8$D110|+F=*ZOx2*^Nqzp#hO+P z*>!?rIC{uL$&8yoW}F`0&{@SDAxhWpFoQ* z6-^6knK|L)3XX-$W8eNOvoQRf)q9a1UN&Zf%ZI!t$}cY(*5hCIhp;5c{v}S!LB;O# zu|p!HD7`{VCxz(4s@IBz52%Qrbmjkr&JJ*!nmVq8Lj229f=UFP7^Df^&PoLyLz}dz zE8i7)W_}ob%!}rtcF8__rbZI{j8V4sNHq`jg}JFLRRI8OUcKpBQY|R|d^a@Wy6Vj~ zVE=gc?h70#x3Qp zbG)4omnm6%qVOrtCo^h61t%WIG_xG5s^=}dr&_blB^kLU3GOf<+eKIshzZM3D5Vj# zL?=a5`(oJ&$dBmT^mkD~hRA24iyMx-h-94$qJ1Z`N zyqW$z7<-e5_P+mwJ0h^{jkJFMxRAmeldm?`mLdZWK%?jb?S6$^Fl@@Sjq)Zm_4qr~ z2pVRt31zKccKu7K)|{!=xN6D_5jL;*fDIGHq2>YeyGr{xACrCytdggY5dC`Fs6+(^ zdu^l4j0D?yOer^Ex+2R&f(Ra_?sDfcUJf3LSB*g7a$E`reh&dLzMI&P!gIt}+_Ic= z_eek_TMYWdUhnlD!&+3y<_*Fte*)E0VH;aUu8CNGN~}?NPWHCheoCH_saiUbt4XH1 zc#}~eezKe+A_c;5HJz8pL)5nZ1{?{;if?h*#+yCO!yeozOhR1mlQ%6)jWoJK%5-C0#a>S_p%cTiI1}l z&fQLLu>Kjqcag(d@!bR= zAe$2x{LsTNv6e5I>b0+tV5;o7>Hx450X{Xku7khtx+x?M`{s_BrHP%rhAM80#k z=wXKS77~TR<>x-@OiqdDA|LKs_OfNbEi$NSd0C7VOSCV1-?H3(?*z1Fc_kQ?{Gsy zV8rEb?6751NUirKsBG1c+?b{AElW&8*N5=Di3lyB3GR=1XT5ul6Oo*})J=gfUIY76WvZPD$``B67Q3cM8(x+D7~w>kmf`v zOVIJiIb43~^wZ(FSF8V3GgW3Z;b?;+XfkkWF(qQ$y*@|}NVn|U6cEcYQGV>L4q|{gZ?fGDcgairK zn`n@65EdO8J@dv9vp&0YGk&thMqpf?#rEPOpe@r{?4q9*{2;7T6G`SU)FZ**(A5s3Zj zY?MRm%odGib6BXVanIIh7+)v#liuNpZLx21wfk1{B5ua184CHSHIcTkG)ljg-o z86Q)LeximUSh*WT&YOgguyjH6BNO9$j)Aeoc~v8RnzkfVislH1LGa!t3TXC+(185= zY98PcVTd0I7gaQe`TLF&ldUDDT@=po_<7&8>Cqh6NusVJRcMjSTj171_cm=kbSI|PDEej2fNj6MQ>*Z1qw zU*5pi+)n^B;&Xn9xfD{TG`}uB!ac&wbYT0jrYv8%>NJ26z40h9{MgI!KYGc<9qQFQ~c@WjFH|be^*pXr3e>tEW@CUih-$+ z?xq3w4eCH!{+dF!Pv_?ezl7wmL-%_bI@#=gs#~C#K#@J9^~+;1ceTFlMQWp>v$Fbh zk&}=%QWVi!r~;6AtCPz?P5Yo=3qul~D< zXr350l&oj2n{Av+t!Av9bM-2x!OzYkd8l<||D^8%W{}E#-EhcD=sn8`7v+5!LdkKZ z^n`GOs5mie3pR4$M+F{N8=H1S@DQybF4Htc z?|gA7iOVwtqu;U?JYm8A606g7JvGK3NMs0E${7OMbvxWfrhBEA%%e;45f!aU_j^a~ zKZJTlQtDashP@tcZ%9^r^!*Y2s%@nVP@sF{nq}>i4b6qqI3W8EoFk)uuQTLbdD{Mt ziZnpfRxxA+KjM*q0Hgh)(DxF~7GGRyb-uCns%a>!27FI7LQpWMNDJ5m{PP){R*A4! z)G!!G6MdnqPB9;oXUAo^FrYpneCKa!`pAz_Yr`<+zyP7l*t6d~addAI-*cykm&mHY zpX2Du{_ORCZ?aiZdD8rOGNbLi06SHwC7k)fdDqO1`~ZZRL}tH zSzX?sj)=VuJ6Ue>aJQKIqopfrl|}ol{h>NL^ngQ=&S+LmuEfH^zb1Ch2sXTDzycxq zoM!iDK2+bbB*Gr@$(~bxdUCxj!tPK&B7nB~lO_Ks7@Thk796-MTbigATiAEjTeVRq zWR{YoW====mQ4nnS|Ho4%&FA)-n0iCJ#rx1p1JYHODb6GZq;w3eNAZBx3=eq4O+)M zpM2QQ?WId4m2Jd{{~Z4}v+S$Y=@!i9mf=GoKpl#{31bP<1C!!x+_%u9Ibp5xqZnY3 zCe(Qk_8^eiuaz9~?ekH*CTiz(cMQphuS@hn)lj={>KFV)x5c1Urcy;k7)sgCYy z{K%zk@z(Es+EnyPtTc2SYy(Z7`OO~2S*6{N6N-2QB5y8+WwBgP0{6lH_HJAFF9=Sk z^&#?Gs>ab47HW#)lgm%u^S_{^>;1Ac(^fVZ|Ahs7&WJOAT&;84BdbUp_qG+%85deE zgee5mlmlkvDoViuSr#0jIRu-uJ$f?A5e;Iwx=Zb~Z5|N|Ewyc=$NG9J{M?)^z3*}a z|N6t!dS))+WCGzmD7CZ<;V`QX)w!PJO6D@Hl{2}tuBf7Lr9eNGnsE2W(rw)aK(3TF zezRzt?4`UL{Ly-T59)8H(u#hMNqLX$ZyWq?dz=9m^8pu{ua8)7+u@zQi#`sXFFuZ* zy#Ws!o>LvgB!Qcnc^6mYo-6MI zplpl*LQlOym%sAfXwNJ2p4mE|UB-P^q4#?6d+l<@k?Q`Csrq?O=Wm$|1Fntq*dJWe406gD5Mccg z$``IHi(eJrtY@v9Xft8ZRNC4!#3O}m#Bl&*sZ=n;3M-Q6qPVjl^i&Bvi!0S#{Dag+ zrU*vcyAFXWo(>iNR>&c6k_4xpFXCgYhHBkSb9kC_D4*rnUeGf7XN=E*-#=Oy5h(SoOC;(kAZ}@#PqTHP!9mwA96<^LT$3QRju>-) zbH~EAI_J%5(#^4NxPC;r#xH&PxJgM#)0}&^M7UEI<`|nyxPVPB_{p%hTw0={l{K9Y zYi)>U@qDt0dKXD+SD~7(8}n=DC2_?ANEac?g%~V$N3FA`n^=V-Dg_9 z6=h{M)6jAzdyC+0ke!%W=&fgxebSaYuSGI^%C=mXe&7svwtRh2?Yzj!y)R;7ZMXCC zIyn7#=6{DI=w#z(YT-Utjh;d;xLfCQcg&K)xc#tW`Q_-x+ty+dF7DRWmf_vPU_suU zQ0@zh;)?`7L6hj8n>hbt)tWcH^X);Q4V1XH(LHkxXasrg z@X*JP%Ivja$_~GctxO8D%MJ!3?jwt0nHCh;!L92(Acz#QRkV9LZ1w3fTke{!)F*`2 z+NrVrrWti@#My(q-spFn6UQ{R5v~IE6@+({g4J1#ijWg+J}%Q$gIY zNZ!!qK$*P1kF{rYHSz@*REcBUe_DX{*P6|9^+!prCfI^`f%8h6!?V@LOUrm172k$L zscx=j*aAB@T9I3Qg4~tBtzO%KZjIma&$QVIf6O$&XT)ilzVP1PHXnmKs0A1-ii#%_Oit zH%ytGQQ)|hFXR6q>jO|gG07Fg`T~KkNJ~f~n=J*@A9-R~uQ7it{43}un`T=PLjlIY z65Sx>qn0M}szPm5AH8+w0A_5mm%$`6U-bQS)O;3W)t^-(2O}Y5&MR2Yf8Oqg4LwiC z1@~GeC|Ns>%lGeY6rZq!9%J^N?+l;XyF8xP6~j6a=uJ&e+-)0_*QhK&Nm24YhCY@j z&nYO3j>XvsaOTlhRTfr#(bX_bQ#Y}h!N{;w3A-U63s!?S7Y6Iy+biLMGTk|N#>UKId751+N+SDr5;fmT# z_$j9-`(lCUx-V8yzQ!} z&dtbbKQJXn*!j9sn0J5wbM5Z+W@7WfhI+%Z3qmRz|7dHUR5O>s!}ehtpNo z>P>7*$K6Uz+l8B>_uev!sx*nt#D*DjBC<72g?Fv>m5U2g4z#e+UK|M?iTA{pzI;C9 zC^tdY-~OZ6pn51z1+ZG_eOe5N6RXC9tugtXzw`?hBtof~ z51d2dCpe20k{Rq%5p)$*mXFo@y3-Wry*YI#IBE9v>u!`S+3mVyz)JN?1kI!iEU9d) zo;&mcug$4yKbq|9^p0l$me09qUgO=lvNCs{aKSj3TRK+nP;5b2Nw&DyqPt&H(8|VM}&#AMxc@n*GuBVXLT*3!2gMa{9@uUD}8k!8#)W5F5(_ z_oHFNtEd>uBiAde2^n=}80Uz;jKs}tRA!bEDx)c}iJuH);I2*bAL@~K^Xq6EHf2bj zH}e#zu9_=FByl`^Nw*nifYxvSfC7zm7=FYh8_28o;WGFP%P3o>o=H5c@??H_+uv<) zROSyQ{r+ElU1Dxj+PGD{U6f1WMr#X+G2gdL`2=(2Vve>!A9-_QLO4j@}+Mq-IpaCORRrSDm0X%tp<6?#c8AGZ^ZsQOV3WfpFDeb zMbh)Sc@li?)^&K=40uV%yZ@f&KhUHpu%3YBpN>$X;lJ(Eah6y}*nZYa?me}YcW%1& z1o!rY6|hI{=xblG;y*8c=JT5OJejrjGFI}oe)r|+;q9p{LSR!wQ^3f?_Zb_j&E4Gj zKpD%QAw502b@TFRlVd$ynVo3>{GZ+HIp zaGftDZzT;Dy2z9vRl3ZcX`@%812{~`MyP9?OVsR3l(}FS3Jt21P|^((+B^OCJGw1F zcxq9LqZj`dU2hrG*4szzq6G>?i@OwBoZ=c-|M&5wTvSfe59=5M{_2%%(Sf2UZe)q9wcLEU{TlquqEK{XiY4D7RKj25vK5)I6Qs#*&vI} zYc+N-N2)z=pLwC7_?B9%CMnM-JZwpIgriLVGQ3||QRQ^ayVL|D&5hT_ca zRw6ttMMyYv1XQ9sJukTjW=;zy5g>P$r-^sbJ1pTQPzW#}g`IFY zLawm|VOzu2BHn{LQNzQe(9;qrSx&-P48TP-Z>>xI3ZckCD$^h;&CLRf-{Gy;#bJlD zjkkr@?HY^NvnVaR?zCxl1FX>3XXUqVn&k?yr6HsSBhJb-^y%9?;JNjy`zd;OKWN%R z|Mn*cQdc92GDchLusD>1GbBR1q zwGP+*Gj2Y+XJnkPj}YSY!>8c7CvKF&)I%vQr*ncK23i; z?B|KFDPo2`QbxL^emFUsu;4Esz(sL&4NsQZ=TkPCLtAH+FCdk}7g)5pzkz!s9d336&G;WJv>Q zB&C_kqzUsuab%Ojax!7azkSj31jm{iO}R;XZ)pJs>qWu2!XOUlWRE4l7Fe3k>E2iN z^OZ>k8As4OT>&~CLtid2PQ#7RFR`eh_}VBbw+32X#)1qt%1Mg6A0r#h`XAdv{jpw8IZmg$>v1#TLg*f$-I(9t&8rS$- zxD?&Rz1VfPQ|mHH=TA$#O26Cx(`@5^S^&wM@`~GLtlm9|z9`V6U6&atKa&c1O!5|o z2OyM+8Y-m!o^gz<^=9c~J!M+`cP|H^vtmL>;%q7HQ&IaVw>0uRPW& z^m-IK-x2Tzn%0n{tCSSw@tZ2VOBo9qFVm&UE#1Pb@yc99>Mk@#U8uox6n`Y(fa8+B zm2l&!vu+U;@hHz7=*ss|VQavhXLVGt+&s)6=Ik;nE@BssYyU88R7la9c< zHA>J<9M{7EM*F4?9yM(OlPVo*$le|Nfems$vIjfi&ARnjuVJf<{bBRl_izsowCm0z zF79`cFW#&AZLxiCNmk;ffy?*Ac;0WdXParPr)OKL^08(5`Gs7>QTO)D%+=M1p2210 zZQDWpwXU0;o$uE6xgg}hd~|O2;&0}`qOgQqJ~bt6mZ9#N%ldkn;j@RM_pE{nO>5ME z8w32_+|g$hP_{$F#xx%&f$^RmBdgl|_9EY6Uc*=VB^7BPFQ*FEB>JmhYiC}0OFUY# ztTg()I7h#W&Ps^G!QV$OjPv}-55X9M^a~~ESs#w)=z&BEUM@rFJ)eiPtw>S=sN$_# zz9hjPNx7cRv*68*ZI2l-eHO)PutTkmO%M1H;v#MY^*f3^3WI%m7|C~Q1wki>HF&p= z#2t`k^i&LZJKDH*5d_}=C@ZNPLu*gxGw-8RKo{y>A@E>X@duxdV*vNsWOrCXb#FmV$v>y$gv_Vrt=$2?NVS;baAd>Q;a)9Lp}y1NV71i=3Y z0`4i-Zc_!H_CXIF2ZPqi03JOfXNU8ETc3$UQbR-;ux5Y9D#q7eNAqhl+cT3=q~JI1 z2JV$deiOv=2JYKHBGUw_i;J$m^;!~4PFLIjZZogy!))QHXCGXB?~UhzLW_!)JD3YE z_C1@q*3vu0~JR+u}qnuO=AY>k@q-uNpk0GhTip%bP6?*uE68_A;ZLyU?`d4su zyX;;uQAX~Ykml~?MDBXmQfOrwC7VT^Ff0C^GwNb!im{LoM~?A7`Lh%egP%*~di9LY z%13NQ|6^pv3R@aDf~17|%jIqSPdup81Xu_6#^lD|oIX3Kv&sn*lZQ`}k6=0|+3T-C z)o?a4qg}P>kK@F+ccC6y#J?riDoln>b*CTQzg=`gB_w!9qj)=2UK752^k-sd`t#Q+ z2s&+M%N$|qV0=DgOUuI}{APqA`~=`Txiq+SUGm(oK=ZwUud&HXodPec#sg}tzs(P?*P>gckSua5ozM7o+NLcj%`~!xnK8(|KHIE z%dE)|VrXS8{35yv@$M&PhyJO2aSm9Q`OEYVCgsd#%RYb$^TYy2$Wh5e|EV+@yg)Gp5Xi%q)HVkZa101JLtR z?d{20EodB;^;n(Na#z@@$Tnngg*aH zDb{)VZoZW(MH&l^pu!q2LFrPksp@5j z=bpV#?R0I-Xdepz&Qql-5>i`Na(g(_5DM#o8$o7+>?6@;R1FfHWU^V^!N8m+&3f2T}BMQ zPZH-&*)-xF1ERGJbW<`?Y=0{;J6+mmQD!B#-8YO2q}>>Hk0_7xr^cuNZ%qBaQcth8 z-Y6?8#(-7WIm+0_I2K9O6eFe8ic+lS^^R2k)b%$B3~`b=4)BK+TND1^d-q3Ix=Z!6 z8~g=6_^yPmzJ$*I@HKs;dhmSh@N2`~$J}5EvvL0{xy^7Sp-%QLk;P95OA-o+2Tq@= zcRMl9c{GoT5VlPmwmRHeY#IVT{A%(Wzo!QiM1tdEg?TVp^rXpmVoGK5L?R@__y+rt zI!KC05=s8~;S6e+jLw8^pVC-j^HbXHt0_Z7c(u(`$=q_xt`F!)xZJz_Tk+vS^7ly1 zU@bMQCAz`ncpL{d=%Ffwf7y3FzgjO`>E#|TbeGSV~F3; zb4Kzs=K1ELzB~fqXg%|HbaeM|E&f#}jxr785%u(LUb?@);>h4L)ae#- zL!fdO>In5&4_sa08)I-Ov^~WiU46t=Q64?}ZLqeGoSquXO)QGRu!NCV0V2_zxe!Uo z)}7H9r_^W=@waO47m5`RT}Bv(?W?q_yEO@93wl3WHSVO_Qc5z#W6Si0O8Sm|koiwE zw{Ul}0f`R#&hwFfbR69*X0Z4YW;&vUv5u%USiPZjFG*UCoxdYzQ$11;BR-FeImwm8 z;1c?L?2-k$lXdi-UqcP^)z?|7w}t00-UX-tw+js6Az3f7U<+aEp!-4yHmLCFcN*aG z7o|Z5{A}{~H=q61s+z+;aZ!L9m^YwABV6XXFe|%Rh{e3E{l>N|0!|hsY^Q^y}mxb zzrQGN1nu@#ri(YJ^w$CBT6?dQ~v&sz}Rb3=GH^c$ioQ3VLaqn2X4;#W_XT4VVo>(beZuciGe8Dt85 zc0Xh4ut@)&l5a0>U7I>+lTo6UfV1UcIt-n39}rND9ARfmOj#azh*2fwD`R9 z%C;_OJ>fITiz9!m)>yIonqI|V^3d+tGqqMM6|xQX^x(~3Tv+2!>27<4Xvkl4Br^YQE;a9vY2e2H#xG- z^E|yFXx<^i#^W%ACz4EJh z*vT~LCR7i8&Damz9hbOBSuQ=dR}r00$Z;Bgo|QwN%i!0K)V|BN&-;IAe5k-bF8il> zUGN|C!3s{Ugi>DNigam931nd4G!Y<(lH%=Dpjt@5?Dr`V8#d0 zUXz9QR3NA*Doc*}tW~es`?=U%5N$CW*kGcz{ zQ6r#xP3#u_GW=Zxsh~a<$BSyhjfcKQ$T0@&PzAKRn})~%H$Xufv{0|33f*>C#VzFa zkj7>8V)Ft~p63O*I)u0%9yhk1N(r_fqMrJ!ol3x4K~G`u3u3OVPH%6UmPxyC-IVlX z&#P|QYS3v%nE2U;>rd2&i19;{s^iG$SiZIQD6y9KvAoJR9RmU-975iyvNOR4@yEV? zmfO?COBcXJ!X_tse8{VpG#e66#c5}iJ_FaKQLQ0{^~J!0vE^8rmi>w?4|@lPDKrQ? z?^MrV#cfrpGAm8z&jE6Cd4(9r(0On+?B@JYQzqc&(9Y+2HOD(VBoAp0K2wKZVzC!- z@6~0dzb=V118uCGy{wIQX8Po@iBibYn(n%WPc7jet(Du#Dvp3hjG3O0C{D=z+&G~+ zwCubi28uJCFilBmEA%2tV`DAnBXP~aH}~rtR8nqy<-EytH={&anp&6gUFKLO)`%*k z3UrRPWhMP0Pfb2mI;^-7(_B+#CIWP;prU&QQxjnB%Nb$$86(|zwB+x`BJ{EByXwSB zWuQ&Xx;{x(%%J*$U9fyK28$^QK810F6+L;*0fF&5-Tx{;hDSFQ9?YmF6W3S*x%b*3XzM`x4Jj`4_=U125ce#yOce1@5P z*|6#EI@EJ2Ol}PpeViVq_@eC2{h2c5>u``xBxK6E#>U-XqJ#1D|IY7&_mvulp3WEYX;Vi5(SMkRjs+Tsv=de(Ei z3rkyrg}N_w9Pg??9vorYZk3*clm_>LEMTZPfn~eqXG%veB?;+Pzy5MT$X1`$hVQz) zqgCS_!v5il_VeXKXr1ljFwS@HDUaF>@u0Sq!3Br3JCOOkr z<*XTr$g4T0)MtK*Dl$Vy&J9Eg5~145%rPtFGZUcdU2gu#FJ5!k3LkTAmC> zAlQ#^qTYTvnBRDv!kumRvAW$}Zt%9?l7pD0Cm5sftEhd$)F<9&xWU5#?OhNa_Wjg5b84Ibjp3}Lx&_0q4ab)8ba z^LX&99WB7ytD9sm4^-RP3!k++itaRrg%!IqHTbh*J5MU*^^(%*oz_T9JrS+T<4oX4p6PTl%0dl-06_9~vhpL?@F+gr4cV~(&}&?N|Vr2{zURRKO-UtVHo!MivJ z0Q|!DE0)ijF0kcs$W09Vp%d))+Qk}Z?Ch{{p>Q&9(@=8#_Zr;c;Ad*;;&S-`;WtUQ z6jK;@d$7EAIi|IGCqiQedA5d%@$-94#^tHBom6xA%>u*@y&&I*Ngdm_bE6o_vUH;O zcEC7U_g#e&Fh|<1OLin);tStxb;0_jwy-`0@t1KqqvLz-J~qDIV)A$7LwrID_16hLUvI(S zn4}>}jSqRv_vb30v+gWUP; zQccAS3}7l@EwMrU_{22kHY87ljQ#6`Uy(nM;C6$L?Tdb~#t}*s?#8W)zV8&Rg}=Ycp8+Z$?Al%!>P zlMm7i2)h7vh{-?uoy6MU%bw4&;N!z^F%HKJ0o{z|uglg;HVU#r|5b1U$gtDPFo2e%$2KQ2up4dI$rX)pmiYH*Fz|w-vBD@RT|`qO{@U) zq@Lxu+zNfpgWo?QT&fWr_YHc$T~ZLN01vc}tfhag0N)|UxH*A?#^I~9&ug?ozWZm7 zfTvCm=v4rV#LfB6_X9&H%!1O`F52TsAu7uD&=z#J325CK6SdElp8re_9O8kX z_KhH{J?c{*m3SsnYT@sb=%gd#W1wlGtncUOvb5hv`2qJqfEvf!wRyZ}oG=h=PM2TmmXWXfG z-B#>9fE%f$G*98Sv|5##3W;v1pJ%7KRz9|_+VDN+=)2i`|I35d4vPT8Lcj-! z=)(pqTrMkGJ6x~u0d^YFa{_Y+2?e4m(rc-5G){+cP-E!^Wu$#-Iw;oJ01Gk5;u&7` z$buNx3qP{zvX&z@5OWl>gAwvTg$XvFbwWZLnw6j_ddxyqIi60vzlIMs&E-c7oOR{5r0BLdnu8~ZsD84RS)1{^=brTq;!B6lQ_k}Pm%Cm&|} zR=ht@5u;pLNo>9|1cx>a6F7N?bD6kO&1{(2-AbM$i;-eF%1wP8a`dm8bO;)q$%Nf& zPHdh7h}jHdiKcA?`dE$uGj&+$jrJzqE#{R<<2y*O*&b5+7aa=sK>jn0e$wxx_VV@- zSo_%!2V_)($Ylp9YZZd=Ba)Qb$!@A4nnlvNU$>xrsqv>Q$VDIk)_wZ8n3bBA1@}<# z9?D#8b%b1w;ej?2;O>`upc5_N!94uT1N1Grtl(Sg`xKTbnnQH8+0M)53a3PXI`#jwd7XmKJBhQRbX&aF#_*&IC&(?ECRfJ;62EuO>urv2mX z(Q_jFrpyw4#QXKvFNv#j@b3^pS>jLa27Y@=j(+1|(EHunr$f@ymKf&SW!k6hN0oGu zU+=@}+8dnzmY@1;`2aqSP%2ks44A5cg)_bHH@`J@oY+@-b+;N|oCvvNWOb+jPqvbM zKTF(2;86jrjg!$AUat8)RW!Eky>bM>(R3bt+4pFWXz?DsP_ZzB5tRzLY5t23lKkTu~=F>N6*JsS*?ixiDc*gZ;cQb z;5&p26d;76Gc2`B%fXt+~dw!@hCo#iC&Qr6Fq~A%<~fU9CcS zhP4D#NIbhZvHqeZ1Ke64Dascx!@pvY^C{54eK96{P;WZLQhkA;T_shY{^Gw1@=Vk&wxK&9|p2H^--jBA2&@GyUh50*e)-J?pQ}Ii7kIW z9dR?mY+&cf+MrT6O*mJlY1dBmq4dVN$x#m{<5)&l4S zkt#?makU}g#2+bZhP74d? zm-bnLLhKPFeyays2f#bA;jiJu@TU@4-{}NS$jJsb#oq7Ar^hVNT4l%XHJrf!w#{XD zp#(o@1zw{=?sFl}X|`Fe&(E}Qt1IgMlLsi|aajevb_!e&^nF%=Z`Q6|cH*u09&$i$ zx}l(6Q`!%#PS@Aq``?D33KlY%4AX;f)wt!G#-Z2tg$iz|MFgV@y*-PIHMUZdxQxrv zd~B0;T2i^Wce(ETMa+NrHP@ALU&~2r{P-ldtfQn99%oa+Cnuyfk)o29#z%}mhQ0N& zW$_0{m|@5fA)}ii*k8o8YHAA-&?&|3$1)pH_IS}`dBqWJ_K-!iaBZ2;Uset7fnlGn zlF@dmRQV2z;<4WSWOwT%e{N1tvjY?FiaEAa`l zikc zqzt5z=!oO?G(pT#?N$Pi76j1ZSgFRzyNEt5ZIm&@4j|w>|Dip2CJ+lUMV*-oU0@0LcBF!}QbD)9GIG$J~{eb!;@*9Sm&|bP}Y@9nHc{bad7wh)V_8vLQ#f->8xg(`w16#R6~$jL|jUy34RPc%A81l7l61 zsCj{BFG9(i!^>t{x;MPng_*^2>{)1WJp)4uTK6E6K%u*<9-Z0~Dc#|jBZT~#cHbA! zRL40$<+flh4>;L%Z_ur;Yt~^wa#bWH`(v)0)qH>H=sB!6v{N(6Dj0U+*!&zt=g5E; zPQmbe#sawcOKJF+k_PCHraBglT~)34*%KRik1>V#Stqif|NbX&sRsSF8q1g8^Tbufs9uA5~B-ib=>vZ zgS+T|TEJ^jnfyjhgJUa^)ZJ%s;M%lBoNbHtp2;lZvB{{2k2?x`oISerYzIe7nqgL} z3_o#N5Jpc=^lB6dkj!%nY4XT`y?mIa#(nuE^DI?#yx#z}De=d~H}V3ku}{cf^=DHzB-=pc~gs{)%{rLuT$0Ts=|7*dIpadq>h6V|+pQrJe5 zn5gL0{83KH{3k0p`6^TSisyCxZ;N5}pXhQLqDStKMQd@(Tov&{K-)Mzlf2ra>+7>Iy;2b-P-H0ZqmD8Wc{AsQROG> zi#2p2nJ<7>$#?AGoHyHmEep?1;P0N@uMlZ>#$APo%6D5DirMU49j!$L8vIWS5s~Xr z$6t`WL%-xGAv~_vB^M$bLdt@zEi{@Z}5;D8RPY{L>y>P@gw%+408mBT4AL zCK4dN%2Ck-y{rdawV1Jjfr*4y4Eo8Cgp91qgQ%P!q`=)`mTH5dipWMB%@~j4id|BD zvMmwG>@(dwW>w29_Zb$djFOvAc=MuUPr^{b4|3?JsDtkwDeQ*7vF!?R9EIw^P7q2g zF7TLx>vY|%vF*vNv18M%u^n-AJk^Ind^mU-37@9s)9=<<7^n@uFgJZB4{#2pGp}=R z{Z{_fh93iEyCw6`dlYW_I3U@Ok*8ZcGcboeoF$5OBxb9E$Gj*g%>z)PvS{rc@60r4 zPuwJMuYbw%Nv2Mm>Sj-<6a5ezr=gfXLomlA zuMZ#LV)2QVRWhBxvkYVZdgP?p6K7pbxMVN9xAX!(VjIC@p~p9L`SKsX@QqyFoIg(}8g7E$mD2s-DuP0l&6s;`NQbUtq^|oO=be%B3Vy1|OLL zkIGK?Ye}*yo121wFAN#|+k z#_F%HM@Pgqxb3aK!=Ltr_?>%GV|#h)^Ee3qbo)%=ldY|s5-vMl&&o>o=vq`~B+q0X zi5Q-=O=4)g;v*MYT?JK+%VRG<9!XDac{q!5dsUbi+&&N^k|YFHdSl5`biBbS_8a3a zq5JVJPgq?-^-O3OO*UkNS)7==!AJ$_^v0N`xRq5XLdC0P$yq`CpBHf&EK$GKGHoy7 zl6CrA;d^{?sELl-JG738 zz-lCUX>}O2MXq>kXIf{|Y?h)xY2KgB>|Zqyg(NyF=Ie8D{oPu8+_B||@z<#SsiBo& z!Eu@xEWy$?-#zcVwrO=c9U1@Ie<=t$iz7?Mk2;)EceiRZZbHvMD(AAnY+OrB(&^V) zMf+K_t04OR{f#xzg^F_Dg5`MvugWc_MV(mUxsyS^0D~U9Bep@S7csk<;>As#J3++uZAmq`)v zIXHh|@$xC5$}(@JO<1QpTo@L7DO62#B= zN>4=FpCOelp)(7SWSbnRGB;Tq_0%b_jQRw~3 zhP7uX_Os>B+y&Ja^0J}4v}yRFvL2W`dQ1z;!5?#DE$pTCR_29EUlz(AeO8la5>rLa z5gw+dR!-vhT=N&P>$I%yx=JSI>h?WQe_6pZ&ddI>@5#vN%$FP&KugdzN!Mre%9ROh z-hF%{Np@I*0iGi%8j(=gl@-zCBQpFK|IWCtTED($2f-{@6QKf?zQKsg>ifP&erOYp~ux8Gj=vDbO3@I+PW_{oF;;!#RI%l7YVsX2*m6 z!ZI7FtK2cIr6*Sh+G@0EjW!&XKSV=^#C0^)7KoJW%Tmx*7$HDf-2Rf05t0sY<{2OgCd%fsKbcpbr@n7Xx|X%zDBn^b$L&;)MX^ zygoh0EU>NzMXg%3hf+OqwV{ki7DF*+!CTMAcI{2$MSGg^s^i1V7xonvyb@vx4k(P_-y-#zBWn(oxow_dmG@|HwTJtS{mq_1kdYVYMPilK>2|vLsIWzgY>+?ax zk(#VOnThvQpj3AP5zp@vGj12@E{TQ{Gi*g?o0`Q>+A5{J(Re~Sz7PN}PfF0%D0c?+ z>%qsZLKbhTT`F7#3=DK3$tI)%v|Q1`no^d+N#L7gNzy+dla9MujHJz#-92@Nl+iR8 zgqJBP;d;`0`^t<3rY7GqlQWU3=@Kef?3vLPoDvfHwi33sh_=2Jq#EP6;E40YCUf&3 zUJ@S= z2UuzU-K4=PV~QfoWj-pBlU!Dh!D`ocAE=2iL3-Zb-(!DLT-a{aOs7#)QV9%~^*^@i zI5wK<$?#oXN+TeKMqETkAA8q=awQBm?Q zwif-5e7Y>-Ywg`|H#H&>3K1U*y;(CoFbBfbaPv=CEC;CMZj zz}iol`tExuvZv*)BO@RAyx9m(g{kleRU!q>+`Vr4_kY zOtB_<)QDxt${8j4RNl^cu+z&+y2KzEcgZN#2d&U5^hs`ih`xR>okX(TTng-uCrH12 zLlup4c#s)QkZR0rUl*F?Iaqi5cb_cTriT*DGU%CW#GW(jPovUf4D&qE^S4lre>;$d z$sA!$si63SD2{1ETe(D!PClFoM}TQHH{z9<+s|WPN(FXyOA&YfEL$1r#4Y{_Yjz%< z(9c${?4x-yqXT&G$W#a)AwnZ{=)nMs_W0_2TKOsGx(VGQtHJ(3oBi{C!qTO1&Z1Zr zg7j!}YvMSjjKA4cNG5$L4fHJ@LgXqU-q<{ASd^4BDw14%ef^I-7Kawwk328`Yso|S zZ(hpsknAZC4Utjgd?f_+#w`s0n1QCaYFnYK#1n?_RT~V&IIvfnTSg>{^mF6LuknpV zFi)BG`9+w>^!Ypm+f35l4mg9!0c`du{bAeh9xU_w2z%YYjH@9nrXu@%E^C?o88#0VlVQqC6q zyj!I%LqgO!y_G>|wby2GYKmIpNMo+_cgq_rd;P7~9(vB0{w`+i7p$E!SB>A#@v(Sg za7A3+nw^}=Rr>dHXKlVsDJa&c{AuHknXw*EO>pjCrCaRNMzULO`Bs44Wlk{ErQ&C@ zR8H~h7F7=9=|r_|V`I*u(6Q#|^|v;P$!O+e*gKEP5 zJxpH(lT(d-;y65c(r-xea#2-}9FXL@J;p z-fH3BNT)8Lbi*&k|KmDXVRp5c^K}*J7gXj$QqxoDU1E%G@1B&ed21>sbx*2>cDvR8 zw1A%CqvU0xH>c)7E&r@^k6-K%()&t3D%+nFbl~@98l2@xS7E)MP1|-t!@LMya7# z2$u@c?t2(@4tcQL4VST~CaE%kUD>DmPkJBRZNfQyjY=6d@$kET_QE#Go0%0aWpQ<> z1zuI&gx^6*jD@@>U*i4cJ|7n(!%Sa%>xwo>`X6sWNV7r0A$Kd@%{PNtVZ*CuR{{Tr zGQBYE7#TJ7ew{lSaQi?=rgMGOM&-9{*ihfvdu9fgg0Sv)g0)-Ke0B)9?s5=E(%wE* z(sk`9VJ}d0Wa_@T1{*QgDPfF(tG|aa43!hcAo@bNF>j??T?ieMvMj4bD2Yt%(lASC zt8tv_KyL5D@HQ6^r?yO$eL$e@TV=4euJ^3pyyzH(DG|s6v-;|t}bqNYNEyEmn6NLx>@y-5k^Y|^Qo8*?UK9j6b6tYJTe+^l-l$#8FrcmSQ+-k%kE4lOyTZ`Zefi9! zh7^%eM0-*Sr;t@QFu>jj0>4|>EACh+d$*y5Ck<7HqMWI!fnX)AHI2^?un$>a$InpW(Rn}Hil=KL7 zV{tW7AwTLhOMMo)3EWx~NU;}quZKrm*~MV>ue-n;OsgCquk~+`2HxKL@N+#>auW3wvBaO#SBh^^_=%fU1ZE_>&CfBZ}9n7^-WV$X^t2F^r-`a zq+6rVKrU4=X0zz;xURptJbIrTd`G{W5BTuW#`5W*pESKV|E+R7W-)6YX;O(;s&bQX ziK`Q)`Fp;5a7Y(koxfDnqJvQ)Wsa!%3@5fv*eoxXxg%)#e3#RkAVE6c<=^M|$=*3W ze+!^kYIWkXoIec8nkNkf- za(~zfKb4A4`+3<-(L^|=#=cWQ9TCC(J&^o|DiE8D*fFlyF3XDo+pZDYW#E#RXX1DO z3(1)kKNfTSoEbmH3g%Ae?LWA8d3#d#UYtFcJ~WoOP9+q{h)2kej&36U>vCq@QBrV} z=iisH%+nlEJaI3DQKN^0QE#l}{k)?siCgLWc)DI}t_UibS(fAkwHCy`=#lIj;i%8i z8`}-W=N)`yBH@Iw=wA#T1d}^Y_D@De41557I?bgHo7<6lja*=QH}(hpLp1v9^h-5! z6l$l}ib9orDfQzaX(M~S0sLsuU1c_>8?H|pS5o39~0s;~{WSx8`e8TAl zb)r4Zl>@7iZr2myTj%$Y%KQH)oK#Z!$OV_qN`*i%L*tbU8+JK~b_0Mu0Ch3WPFA+k zhuYE4YSNn|-H@=l>l^38o(jVCAheZpO0A!Mj<~`NMx7}(@ew0gZ(3+K+m8#ibb8IB zW0|V(=MQx9GOAXy(lW0wH8T}nE;&-!$h7rfqq^CTYb@Ph#s@gbh{>=%_ZnpNSA7iM zyORE7_s3V&EqZD$RhKnHd@3FP@0-H|5!CfiNcx zE}7?NV_;<{`6IAgOdPx&`gUkgy0V}WnMhg@FX|=wP-{WMT{Ry=^E(nre%YB-4bAG= zD`wT@W=7Tb_M$u&NIc31J0B5!3aRDADn6PTHU7x-topwvhoJU+alsJnHxA6XFI3+| zRYx?{t;FTLK`ARPExOhy0)I55!k{p<7C+`5Kk>>{%80f?VqrHaJZO>{RuuwU?vj zA9V7eV%S;y`^{Oikl0{Jc*xO&lqasXdX&8oD6B9 zr&_1r zY9uGsklt&QD=FlT<`v@igp!Z-3LhyhzzSg>)X}Wj{`wmW|CKIb<)!uRlytXi5Ng9~ zG}Jyunja{fbi6gxuTnPO7GKfX4z^|Ls)Qi<+>V!_R1frppwe5tWgyB6a*%9V^{!-X z$aPr=FRsF*^6Lx1+Ex{iMPc`hnj=ukU}`5?a*qi@>pdG-a4rh{6dgDUTzJYgT_da? zP@UPha& zK=g>9KYroKG9KAMeTuJEnHAtSMwebI^O?M@?)FGo-Q_(F%50Ct>FkyI_n7r4lRO_m z5V+iXoEIj|5p3(*^LBT1&w%&~-b#!JZDM6Lr8kSzhcT`*#Bq8%LB(*C7oZ)SX&#zEC>v><)jg z{*MXTaJq=i(C}N#(Nl?%oRE)1IRCEZ(4TTPeP0s|a!eG$QeK`qCSGf~-1WXJ`wMz0 zNvT0d*EgrYp(Z2pqfNTBGT&?|O`DFMV$=!K|0d}6*@4ix zyw1~q6iqzb>iBLB5W{09O}sUNe;j-)-6K5Slp*eXmItj&5IUb5a1qj3t^1q3?;b;S z!#2psk%S#V>(C}9d8Qt_t&^sdv6zM1@HvCbVhgj|{L?$jA2GUX7Cyv!Yy_+H$>yYG zf%N7#seS0P318ZJ@R=Ez%|C|j6D~%Iq@zrCdXrKe0#8cz_#oqaX?g{hPpYdV9`j{_ zZTlXstokqMJ|e&}LuE}w9UTfQYP-WeJ86Cbxge}W*dGwY&3q1nWSQ^$3$rs~9T%H8`N^FFi+ zM%VdzPt9~qgw81FmoIipevZyj9}Nl9Ws&!)8A0@6IEt$KT&5JH)c&TU6c_8++lq|6 zlgo-5X4kR#z%D&9f;%F$|7GUgo7=dnn7auLr79Vm3=E_5X5s9Vst@@bjHbzL0sgpl z`rvT{p^5ZBnUype_mex*+IpCESG>0GzR_30CWl6}v;F?or)fI4EIhAE z*B)Mpkob^q&{51E-2)%&i!D54_iQ8c zFbMmL^8rbhi2{);VAB;$alOkDRKS#$LAJb$=yoapwXm!RkxC2R-mi@MI1_} z?qbvGJ!u7zV9FEu|KaH?fZ}MPt#Ml*xI=JvSr!fM?jCf}C3vt9+}&YuSR8^o1b6qv zf&`Z!0YdcO@4b3|)zs8h%~s8H_wBxYPv3h^Xq$PMH}WK(Gzf*nw~DIL`)(9IyL(0W z9S0ZqD6X3@unXgND1vk+%QEdrZr?u%ZKT-*(OjNgW?FhE(l)$pwkUA<#9LI2*ywD+94jRf;|)4%?w->eRfnNW2zP#M<&zpxwy^jxC&y$kf=akrFu>yP*fS~eG+ar z&A=N=B)H&rgR+)+L3~vG33%8kJ2SQc%!XJW$oquo6!haFH0Fj#U(;7NRbtn9jfE@ zj#}@&|NK`+P$2r@{pC@RJCS4n+`8t?E9jw+s0Fz^mi;*YQgTPD@7HUq(=lp+T|RUbx=6euY!|{2vyueY#*E5lerFEKbpk-jNLN zY0v0jtFKzdo>HtLMIKh#6xhVsx;I_JZz^ZvtW(OI*gp-jU#HW0-D(h){F>HwQzHmG za~O^w6;B&?Q$QL8%Is@3`>szS6kFhJHj7lTNmCyIWf zx6+DAC=uc5E^(5Va8q$zdsRt$vi*B_VWRa1Pn+-La?jP8AC1j3O$hjf*Q@upSvklD zgx|+h*7M=UM**$l%QIafw-yAk5RcPL5bh$PpJJL~bbT@*2{8c)F);~r0{mxeVAoS_oT=~-F|m;%YAyX}WP6~o`O?S19&}F>kV`QuJ4St4He{dWAhibM}L`lAQpPaNRFcf6cyy55(~9jd*x#< zXlhD;PpY&M;4d5mHdvuWe#DSmXg>PEtmYh&x`ddJkhEAsJ{BS`AXZ>_asICX%=6#0 zX~ljF$6xDgs?&w{c1IZ&82Um0{nqHIJahtaAw)TKXeanDSs-{QFzI9pj^5-ut7Ucy z7^+mouQV}%Mu=6dtq3Kokj>7bt7rm+!L;oB3AnqRq(TMe1?d*<%@oE363P&~VYIU5U zpk9gsfwEq_r8RkDHSp_D)Nhgh(Xpa0@chKHUm}Z?z`h+rjOcrAjRV}JCGmLWN1Tts zj`Bf+|MBU+w`yYf=|bxOE@I1Orfhxpy4QMPCi~WTA6+xJ7c$m|ir)7?us5opElR+hYMG=ViLs9VyIKG~a-znhtfny@3#%JtnjaEre%Ijm;&yM_~G zar&JzCW^*Pg)CboUd9RzYo(8^5?hdfNV(-KtG>|GcehuS{6U51riDc-d2svawX?CS zom{(MKlfli=~DubH*srncX!+%x3-D*e}-f29@6sa;UUA4yQGSYypjxe1prt{0E`0w zU|vdXrMmMM)uSl<1%kdl{(k#h0W0DDKF~@`7A$WKmX`&C8#Wc(H6FuhynD0p>Snxq zEw8MKMC-Y)%uF{6?KY+*0~e-;_p%iIpQjmZzg?t1-0zX1CC1TPJEufZeuK^2|F$~J zA%9}bK7HoqL-XU~yRx#1e9o0|+-#S8l{NqIJP-=ER0sU% z&8{ci>*xPW?da+5>uHm7Cy8rh`H6R4!l}^GGS||yz%mSAVwHP6^!tiv{`ZwFU-pS3 zt&sXdv|_DyE5N%o!CUBd`S*9*lLemH1>V^Op7{)$WTVmWv00LU5cfdjSu%exl{Z~c zVNr2j9<=cM_V?9n_%Fc9$^)YAT}Z#Rb;WxnIj^Q0&f#rQatdZGWCJ_0Iy$m~!Tvwz z{R6>Xf#BeA4gX+pAd!Z)HiFkfOIsUp@&wW^%oWBI5EF6u`*n2`X`HPJ1;MaMoPmbm z`a@jeh{=GUe-MxsklllKzrcp8ho)qS% zt0DmRx4gG-q0W|=NbkB^tI^-J54;ptOx7U|pYnR2=H54d4B7bmvKt*$KnMtWlECM_ znriBL9vt3_NRR@xb%~A;{Vj^PT^<-w|Ap@x@UIm1Cno3M13C9Mi9THO$MEAn`zp87 zVSwyc7F}NZlZanAudEqEFHsL(TZ%a)-^u2WCpaW@`8tDf7(JeggrWwd*A8r+a=0EloX(sQ7%4cGdshIFBCXq3+@e!YtdXeU^ z&W4)c7sh9OYqJi|ks4)q0~jx0nxA20tB#PuBzvYa+4*4Yxeyk$JKu}H8MoK|aj5B? z&3o1pV~L#Uy#QWjYx1?d0LRbESG7mOmqYhOVk0-*4!uU*7LGZ73%u9)mS%;PTVrFA zoozF`k7H}yQCZz%UHdsNC38I7bMt)E1OWA5oxv+faHZo(HuyBV@|0|7c84*y$g-fw zGS^dMVP1QIS7Tuo{)*Ht(#9nkp@!tG&Xv$>k_te)fn_S!M?JWxhH1YvmX*RDSyfQ_ zbIZq#gI^6aAo0&V3(`e^nO2NstY$&GzyLqbv19>%j$hmhy}56#U>m=edCBZU;L=;c zji)c%4@=Q6pa__hw|dZN4r&m>+~8II4qt|+_t5=)zYSkVV^-ldfAriK7_$`nwzptv z75<*qVrzG(6t)|a^F(8{=k4UYQ0hQF6ZGmB)YtM2Wn>RvG&sP-C1&(&>9qOrVES)) z*cz&`m|v)gRP2D$aj4DXpkj0cc>@)%m6X3{Fz$QW0sDuEp9QxvmbQT4mmCUxZ0CFnt&rLl}nthRw*uK>}_JubBvqrIe4)BYjtD zO5%YG?+-NEK99%!v>yZwG+jueY);PqY<^v#dH>o9nv|9f>h7ks*zsPJmf+v~;IZUk z9k!70LGOw0R#o5%+9`3d7a&b_~2e zxO-XUAOFmIn{R57Z)#E?J9|oF{C8*A$J#GsE5vOVO+38ckpKz<_|jfchnuRkcU6 z2HiTy`X%%+`k^vz`~;i~?q9-MrGl;nmK%MkM-;jI1f#pV8F?gLg4V=$s#hs(n%Fcj+PEHjuM zm+{51T7!Y?s@ky`40mJZ*sR+kN*(6nJfd5hCDUz&Vgt6|dS@W(+~3ly8|H1Gjwo~t zg!LJDRuu@WwYyApwKQYYQde?^{Z{^Fp~DI z^_uQ-3vLO%us>goyPwK{Ww3cm>xyIF3RNi(+px`XFsyTTDSXmrQ>%&<(*+&`-}_I= zyr01SVRAltw;X2&JDLy`90)?Ns3v8+*WU#l zA*7ezd@g@?@&3MndenzK>Qi63dN_aRPuw)&8-lgp zV`#dv)W?GCh86~Dmj-n(y>5%zZ1pUhknZq7_ICzqFfZo_ zm+n4U*KUiNY_6=9x6AxPq!%ppIN~&2W{pOiYiix`jTFY5>&<3k!iJAX(wY<=FtY|j zE>b^_EWMgsr9~O_B+GUpiy9-ZFHa&CX0GyT{YG`IhBH|%-3C0LIz{V*9st3u$=X_K zM$2xmC2lN`l9G_l7!5M+rjGw8=lH$emp1+6#{Xg#WpiOgfJaWb=Hi!8vnD<(uzEp? zzrN{b$R$E!t!#3jWKd^tk)_t4rv$2P_Zo|mSo6wKafKniQmtLBW?Ey~;mvF!7mZhq z0Y_GC!2sU;F2-t*=R3q1_&TVr|E-RrnAxWgM?*6B^7WN6%wh7nJr7NNz z9eM+`heOr3-T^!xZ4nyG$L$$Ny78{t(waL6;jLf3R^o~|`YgZOGlK1_-3!F6I(pT{ zS)}9Gt{Yp19OtAPi zrkF|?iu=a5>X;oV6bSBt43$Q#KQ#1p7)5W0wYp|KKJo%B-nkjnJ0s?lE}Y#^^y;47 zd{YVC@k4)KvlV=^+MgJqr%cgUd==06;%ms^oo9%ssjs<0lxEf@>%oS7v8r?GNY(Nh z^ulJ=T)Op=Sf7qv#&jDDxUyW@hyT?g#>(s{0+M)!^x2{@YXiELbZ1|nyqp)6byy|z zk@Ijxf@Jh?gc6+dd?W2OHoEH5YSpk&3&s0&3j~T%L+9|{<+}r^ppWC=^7(&2>fq^1 zkMd~Kst(gnBKNQQ*1AtY7ru;j?Sbvd+w_YD4OZ{#jOsSn*KRaR%noj^kKW2>)^Vpv ztO>drHV$U#!FGm}#_Am2?|XGyaAZxx^k8ks)6|y*bNAy)-EF$~{R7GDkov6k4K+VV zLCcICq+v8-DBqGZw{k<<5Q%)bM&H51t0CB{VRU40D&v?KRo1LiKXQ6nNKiK@ z`PzEfz6_4(dndf07h5hkepX-guIT&iQhv2Ej8Tn*NDe{UHz%M!BW(55?6nDYvvmkr z@aJkDgRH)AxA$%Sd#6Qx_zhJ|pEk4|4z}rd*SYmuw)A+XBfX;_$?48gs{!cg(}cBQ z0A)4vXhrYLzuvDj+}5dsA6H(UfP3MH62f^N;&nikL-H})t-~C__Odp&Ug_O>yauj| z`yy-btJ~Q!-x8ceHJ2>_zuJ?Z2ivu-Ir;go__i+XR0wYZMQ!Rt>LWystSO;Mt*UYO z&>OTP6LLLKsBaVYyLAGDk*z}?&02Ne0bQWEk5ummG__a^+e!yaKe^}cW0(mYXyTn} zI+t7oIxbot6JA8}rn;ETEhV|ciLpp|tVY z^KK;+KLy*ZG<8q;HoggQ)C$CEL4 zZ_kw$XclA)YOK4WWEg4Hi*H#5smY$k)1sPLbg#NL${!B>5JQ;kX zLUZE^@yWm=Dp!xRe0Pteyc5RJuw_THPuyBEBA++hE9`IN9x^NXZq<_6_ zAh=JJ|Y^?h`t5)?>ViCx;`rHb{oB0*AVV^vG^oPO(VCPk}pzkR|ZWA zjMgNF;t4^;L@&ADt!Ug3a1WHi`Q61tsr|ye#u4;zVkz@bQ}O~CK$SBBDtXZ4>Rxdd z>CQ$e4eD0(jJZskBr_&Al;3V__RHzcG`}{QZ!p?&siI_};V6#qQ*(x1z?bECAm%~y z%#il{B+d19BP$7Mk=~}JU-ZTELW9c#fGY5b>#=^4_)C5RxOEp??Wcw$iZtH=a%-;Qn>M zuSB=?pxg!Ha;wXxu??(h2$gZ+lH#i9r5M%YoJ{|o3`q1646FgV4MU;rC*a-gW@i-I z0c`L5*l}=cGkjmYZD^p|S)}XOFGm!T27$vD#X5ner*qk2h|`?wb#U(*&3JA|k@c`BAs066sU7CmZ4j16%diz;$f=6{#qFvicG>Obi8hFQ4b>;@7ctbK901|&v~2>tDejOM8G<2kPytA@61o?l1dwPyC? zasnJEuTY29nNebRo4WieE$efcXk!wc9t;E<+G;rs*QCiV$}YG)suRyyRS1t(O-I{e zf4pP;J0E7C>o{qc|BuP`&Lu`)!kH|7MU{)>*JT1p;i5^6oZEPAZKb01T>KAdyDtc+ zosqL6LQ!EXK1F_dvA^C$pmu0|oKR0d{@RI9cT6-E%J?JPubO=eC=0iO#~7ta)8cEy zC$6QN`N2wpa&O{l`FQIY<8(+#H7n{26%1@(v61t6{Sxbm{Oo25O3ex!N>TH0@!FGm zqfr%a@Vu2Mldfm)j4i%lNuwdVmeKXv#XzfzE}*&gf@X_SP`ghtlXKCcWGtS_#-)R$ ztahNpa-4|N=CA5_&7WqSC>25q^m6N!D}@@D99;!W1&;Olt(kIaC&GB&CR!*~p@Tn1 zTQz6rR$zmbsf2(;r?5!p{zPe6f9gOjn^Do<)9m-OwOI%k!};FJ`+RbqSE7emZjC;C zRZ@qXuzDN zQ4Juhi;v}uX8$+S-nBA8R+8U*4I#eR;yC2A`*KWaSnoFG^GJ}O%k=X!x+i)p62B?d zI)1Rj_$k6n@iwLj=SWQF44KS(biNO#E|y}r_T-e?Q@T(-p_W}}kx(OJC?l7Eu>Gd2 zmT|ebZe>@$=y_|a9Ljv)`J5o%e-T;3<*s- zH<>TN0+x_3B@N&Vp9;nJX7R?>Xu>tWnJ8aNY?C&==N{e4eSydxn@7op;{S?!k>Z!f}PghiUg z%Vfyx_|(|!Wl|lhLpo)Gp{{W3HdHHCSN*fn^sXmOEoRL3Rf35jvz?VC#2xtZtCdy! zbD&IplWm8@3=e}Q)n^GkzDhU+Vb{pSSm?N?%UpGI*^Nz1b)zbw+7#6oI|c}uN^Y&Q z-byGj?V>FiA?2*-OznEO621*LJ`tFAyo2HVi-Z0jb2`V6v&0V*k+uddPL)@)E1%)t zZ8XdS(?Ya%1(a}y=UHN|u`E^CPbyxlac#CR9;Bq3@juB^N}{!JO4x8k9^{XVTd*9b z$6w+V0{|&eFlF5%EHc9RQg1MyTjF3Mih_Xo%2k=3ec9asHy^3%({~>^Om4}FA|yp4d9=M(@`xPBKE;@EY@6!?SYTuwp-_-$`D$p55yM&>;R#qhd7 z4+XI`?Pl!!U~(nHj;rpGhbmHx-&35NLGH&_`W(XiX*{Ui=cEQn*6dq> z`gz24&1}nM{?k=+3{zzf9{1L3yk)b7E%$a61tSnquae+jezG@Z1$juA?>;m@uWJHD zFN86m0?dWmbP6WXl2L~6zN|(dyCz7?4nOo0$u|TBmS~0A^i7%2ai9{QqA&gZgG#~} zrlZE)4%VQG-=KS*UxG7236u?UIB$(VRZ81M5T&8+9W$`%y?S{>6uF?1FBY+-PYu=P zndBg@iboFi{$SHSu9YW5zm3`8%*L(PNwg!bB`sp>e1G@+ooA&OSp2DJTe@1m!o4FO z5w>jp==#Toyguk>q{7ntw-!YK76DqX=bVk68?1+rr&UHupr!iw1vc+iivp?TI9(ly zH^e778K?i%cc$*PS96k*UL)Ml_^gc$=X|Y8!+dRg4bJvn$71EE<XsogByFCf;F$imi0W3P<78Y)Dri(Hlxk68SQA_8 z^*C5I+N&hs{j5KbaeIwoQ&pyx+FI?*oXq~OoPnm9Hu;c*o)N^@Pm}H69KtxVS!UpE zWV@NTmcVhTGFG8&g)@sBU#mlp3XNT%cMMxcc-%{yXth^%N4QO~P8d%J4|%;EU*ud` zO<+$Dme-duQL~SlR?Epcnn&oTmKcAMI6P~*M*Y(?(^hIVzoxWM5e?G|zpxpX?6R=8 zc3shz0wFl~mt?WlP)+E8%Ws>ccVH7I#-!$c>Uu~?pWRUW}_j6EO%%I z@2W;sV<9?OJWdh@p-KNm{Z`#teAMX4t|32cCIIJ&lf;)5>AGI3px3tXgxl5-;hZmR zIORM)m#nonyTsfXNQl6?j&=>lI2p@+fBLU$Jw-QdbqBoDdFxyqXK~56U2yXV!sK5a z(WS%_T}u&AZpK|8C5X{++L}e#R>*l&rseO}wRqoD&5PuqLYmN3wq}T=E5kr2(aljc znA8BKI*@COz5rx)ZTi;5m^aMXWjMHqWl(F3^!Fc!Y?)%V`w*FDIGlK6#Hcy+b`0=# zZnFR_6v;hfP-j)R#$;pv-y7F&$n0=KtMf*~!VE?nECv!8v@mSecsH4^q7(|_oA!1= zO;Sg~sI$~|6x7s5DlK!?{vA_8_8Rjb`m~|1^kFil7Zo=_-vYk;d=@jTx-jaz<^T0J z==$-~o2w66Q9*TPn|kKTv1Pz|O7e&kiVDgDB^mMgQc@VfGW6@7iAdt1=@Iy(1?`wdSv2e%r-ah;!3Gk zPC1Pw?xdj4c@**t_V7`X3t9dm_~6;v5G{8yMOsu9mAi))zbJ=q}lPb165q6v~Px+bdJ%!SaR$X=R0~HI-5;S%bawj znQhlui$<-Xq-@YgflAEMmT>?_BV7#OGP2Ny0J1Aa+nJX8h{0{Gjv`P&EQ= zC*e_c^80G|w>P+$tgCTIf1C4irj@ToR}lxm@Metv`Hj9&JUP}orSfhhqwW3@!-BU; zE;`S!l*4FinjmUcAhf>}f`5n2O%E-tA0c71ZD5cNCUlN5FyXhr5xKs#Ch96NQ09&L zdh0~WDX11%#^x(|p4=0w(pJuxBO55<-lxrC=L>;+Dcapm0byvlq}Y_JvRJW6Pd!Y% z`SNE1#xj9=+7N}KpM#e{HXlC_E5^(d8(Q(0E61vfHZL-4s>fSlYmk$c#SYl!9*c~F z5t%9a#Qp&l5cOoYr}-$%U{C&02UK5OZ>V=6kVClXyTBz z(nr`aOKSf) zQ171me-wCNsr$@~LolCju6x?Q>S$euwg~XyswOjZ605jKUNh&t7O)ViuCcYq!4wbV z=r~SPG&mp9IGS2vo%C#? z?kgONNyYhqY8;JvT(_vEMrRu=%A3IV1Jk|BgH6aQ#3vnUYfVOrabR+x(eDA66p z(?$;lW1U5%?@+sTp#i1$n;H{LoZ~G3CF~k-{YZ^l7LTU!ptgtQB9drxR2RWxxB^`% z1uwcDP}f4hAN@qkNfdv2TsEhE5#2!U#Sjc7nHd`IT~?Rn&Nx)V%fNssJW2MD=qzJR z35G9$Sv9+19@yW9S1mltbkUkAI)diSEbJ`IEr)iS0usDp?s4$Lw3Fxxfo@xj+D694 z`iZvr9Fl0#xg@$MJX61Mb46CBDN+Ny4o#&xtvwtkuP6R+_L`(rOiyE(P3EmLEJkPz ze;oDa#T!Q)i;sCw3(^U(CUsNXnUdj>!ctonIXcToMX<@X6bJ(!z@v zai!&HOl`FusJ`g}ZGoI_VDPzrV*$epY`6A6PjoHN?AdY53=vdz6Mk*ey?+Y5xV6(5qX$dU!gYqqlLppaqWC-s2ScB(DlhktLYk?J9{&$L z1q(->&Z+;Vg_)Pt6USHSMo1HJ%>2m={%FK%F=-9D%y*678+kSgWn+ z2qrRZ+*OKm%L`r`3-jUmYV{RP!%L)Mcc5}Gy6I1=G{fB768d%D))N#mHUncalV4tJ zc`Go#_{p9`-So(kmZVvfuDB5cFI9$wfKIHTmZFA|(>|V{{tX5$b&R<+rIPD&#LRG5 z1ji@z_q59No&1Zho6l(YSgQ85k%O4NRr(~r#9dEf-|e(H9PcCJ@Vk7Xy^IuA0fXLS z<9O9!NNO<2QIPJ>=D)5dvslV(#VpXzz~fV>-koO1J3`B|7ryMlUnWY2roXU`+LD%d z?K8(%U25#6_BIhSWd2pNu4s^N+hXj#1ThW~8U-|_8-UV=-2|YSvyDs~%*xO>|1+t1 zlY9S@PDw1jO1V9r2Mm!TOAbrU%Z98C{e|;5xpFxl9AX#8lRrslAUz_J>9AIE!!<#U zH-Eokr1sHtv$-KJ_b3MgO_S}HTnJb44>LVBnH6jluLQX7Y%~*2G6wx*S@l}SgEW>( z0Y594eRjkC{6e_Rv6W~3j)3j?2+XI}1q+9|*GxR=x*J6M6eMBHq#fSnEJ<pMQ(Hk^ABPNtYeh9<5LgN;AKbNBPO#S*{; zzjV#%bK4KJFX9Yd;M$%vD!j$;PrvrL$roX}l1=lUI{_C@pDaP2Yt_b4Fy}l2> zwc%|w62D$Y{={86Hs^np^->Z>-1=kIDPiHYS9H8`MUy{fp2o#TGbZZR2!h%4*#*Hw z*61uWoeS)~L?w0|6j>oTh?so+!wT%XN^ObU!yt==fR1%A%P>qdId++8x$MAIMa3MR zc152|k+1{9yoRalSiM%|5>wIP2YvYx>u8W%Kfa`k^Ae5il2H{-*yGPox<|5<5KI3M zF@Rt0z&mQW75d@5&}dskzHP2suykL(fN}kq?IsRpt4fQqMUrDP5kGc>>Tp(|0riv~ z-(z3P757tUHiYAhO2~+}xt_-+div;4lATqa6U4ohrBBi1#+vI=eTZ$VdZL{4OrgmV zVT-#XCEByC86D@$;q=HuL-~?MIslza?VCzmL6esb(jxhrS~NqC{&f_x6ycVod~`87MeH}!8iS? zQl8pQVR{H67o7&2s5obY+Bd?a$g3$360rh^RHICao3aCAmGs>LnA31Ys2|9CynHqY zoXN;hBSbQyQJSy>LIb>)Q73E`WeFSY5=usNQ44-~TrTB)R!|877EiJh0%Ghe&)xdNv9{Ge~9DfQbmCu!nMWyix z$fnV%*$DSKg)3T+iVK?jKB$T{v39XFJw9jtNSuO==RABgQU$=m7$S+A;C&5hGy0-( zTc|AUo1LEcHT@uNgELH<6QGpxy=HXWQHABFI5RSn-nLF*;g8YCNrrn*@)!sXF`c#- zhbs>HEqeU`vYa!K+D`^8-7#!Yy{W-AkMXp8p_D5*j@|7cjM;ouS6(J=fRstN1&b|1 z@ujZUc813D1!fFc2agIL!_v6preg&j>5{G&YhUatJ+K11g5Q-jPnEmju6hmSLo$;s zbC^&>vnFp6CclJ(m!j?@OqHRK=rzcY9Sy)yBU4zG*%fz~*g%9NH^kCvW+*e+jdTRQ4Yflh!sjyVx&|Ta5&2I ziJwA0rD932H0?@OtMe#WW>?J>q%c{^79C^O&cKK%has!N>=hY#R6cQkpYh_!;F)4~ zYf!?1soKy>unI^@;5TzDjQ^HxvN@{c-{NhZvOn6oP)k zBj%80jB~DL-Z^witNOtNMXWkY?qh}GEZCkog&^)BHdP15mF2^&2) zEbP7&+``dpTRPV2U>H+Dn&Dbx^O~75AUbV@Ce4Z|vh0&QmEKPM-Ec)Ro3C%G(>XLe zK+AtKh$L1G!f{Yzmt+99@Og3#hBRz9*@S2TTl6Hi_`rXSgV|QPN>@ z6b&b*3HpD{Pf~^{j#U-7_~)k^XoY?W(sfotUSPCU=QbRLdIn>euBHT-!BAW7nQ=c2 z6hu_etrw%^RP%PLaSQ;nFYw4$d?4w^K+e=E)WWM?sNNo57_gA zG89hYvWj)zGFbFJ*~qognnLhXX|5cz49HTA49V%Lo@7)PJWi}(7?TOv>22XtcsQN&kb;v6Ro}#@F+R;sSIwVqp*3zwN=*NdXD?&;vL2R(r;S6?*&MnA z7Lt-TGH5JWiH$o%eRer#0->pPVk*XII%-FpR@Gv{FLKTD>9aHbv+Ara=D&sA+(ymU zCDkfCi&X%v%-V_B*fHp>{Mhuu|FdfjtR38!N_QjwCPF6GPeqhLshjEm_dpgI z8QZ_ZVcZTiaEjT+BUJZ0AW1v8)Je}eFr&qpaWN8bbbU}#!TN9Q$`BH!)PaS0QINKb z3NOUP5jaFa8Jw}pN}t(dFkxZ_cxCNmT>(*kWI>eT^2iCVxvHNM`EcLc_ojAPOR_gt zB*;2Zrc;RNZXZ@D&vlXTiqv-nCbDv&x<#XM2shuYP8xq<^!(n~|1-+f0#5dZX_QBv zrIg?ewuf@~3~mjN&iC;TNyQBRhXn*_D8!d1MtaJ9@(s*(i`mu}mKSaTP(8_Up!2fO zH~KZ0H=D+Enu*AD;pS?HhpeQpXb>r&oC~LL!cw~gb@C5PYOa>>o5^*4v;fe7>*Z>M zs5Ua`@!~4sxk>Wbh%I`0p)i>M{v1yT7CBg?+?h@|uT(M9-hl?cP6yS<4@NEAgNCBM zNF*y@aY-R!$UPL)cIJvkex8Qd+Qo|&gN=?_s>$D35jN3<4W^OGsl!aC_syo~pM$Fxq7%P{iP}W9wE!;|-uETLB zmuMY;>^V~r$-D^guCK}GD`WSB@!+x9v!JQ*{~*fr{UK}mF1^q#D3a4k#e$N3&ZD0B z*(qidP<^jlefSXTC~&`DDO>GdGSZ-!DcQ=o6sRFa%by-FEsG=7%=R@XWRh1uDS$Tz zgwf)e!^o(FXE>ASNULpED{#n^=!i4cCM=(jtW-VL@q^OtcciJQg346rHk}SISjGrN zDqcp2!{S00Vo;jD{v*_2if)net`!`uk6Bnc*#RJ&sp!&^4^PK|B!qPE2Uc8hw{8ilZtz3j_^3?UQ znI$J69BMXxX$Mfg*T7+_U_q<}`oRg>3VM=*6r-)Gqp7>^53;f#6_}{>h&Xaiv>=7+ z6WfPB;}t6|w5;TXb(LN+>&q*j{QELH;zo~_e&9l>m}7NO$7?@!0xgUIG&mU=xDk&g z>aw)={9y;9rd7{Km|7n^5WGjHeUap8)}M(DL3j+Cxkq|EG%MM?<&8x_b4>aq_Hy3u z0t*YUbT@N<=v9#P6O;rnM4byB|G4!vLD6w&XRYgS*~V~=)O(I9EQzW|)6*aGAX%2z zIZRdVJ7}X};ka61R$=BeJ>ma*Sl=OUBqq${9O*oxfXtQI$I`duu_}%%28d2(`GL8K zUT;6bv#laWVxo=`LNw<_2|FCmjb&nnlDUCmnA?QVYxvX|kiCNJ51jTj$^hL_gDEy{ zGV8cCl{O5vlp#QCn@;A9Jk`9@xN;A*7EF7dLZ#6`e-2HqlTCK&-i>)S)hSGXv`(9? z^koG6om{jH{M_Q3-;;3mb=+g<1v-s9YOF0Sf;ssHHcit2`wVK;M8%uNzYff*kp%(^r~S@-W_ja4`Uj>;7M(=? zB>xAf9!q|yBMl)jPL2Aa9)OPQw8cZiZ%sC^HHeWKSTejuGGytXx4?GDg)=aSW!8a~ zsN+pDp_Z;ntwGc%oT90hWT1k|YRf0PLH}tTSsg|u$cv)#|}k{Ahl>P5V~$BVw{SG3!i0gaXXIy6_En z>OMH>7KlV0jLKKx^bP^^QR3FXKa$vN{(e?h%15~Y5{fdBBpEWG*fdr-`BvLe}FE*M=?ub~--YPm56p@fy<89ug3R5n=+e)?6SD^ftw)J7LqkD13E zKT16F?}rUlbK&8?`KzP%f==40uM1f>@W-}y2MdBN3toC2|KHi<%^1pwfIrQ2Pe=e=8 z8As6uLyK*j6u5_a_8c0uvC&46oy76ua#mKE-AkQqWfTgLm7*#4MulmauyW7R+ zp{(Y~Yj!_*T|)!eSFyN!-?3Q6@LHnPt&dRWjfkNMtuci4sdT0u5dmEVm^%JbsZ^W; zqf9Q$4AVF$O3g##nD(?Nqtl$&x|HnPcB4Gh&VDqAU?9TM1kCOvq;IE0LcW1ZDDb;c zp-Yg!1V^8dbW4b3by5QXR;Lm4O(fy^sLI%q<9 z{2;s7H#>bFV&;~vG2C;q035Z1etoYqC6uF)}vmvz1YK43#ndVmNB|)_PrS_z-XW@-mxXiNC8tMD(mfFA=wUr)UvGCpzBEH7<{{gd+s)pWneV;@=y$k( zQQTU;mgt0RH)rJ>JO!eYy7TN9sjvf2B+@B8Y2h75u?-S_5c6c^%z;qVJtLNF|2etr zgLT?oAY{)iF5y%>XP;<_vgb(`@?X;xGOS6r7@kmY-ujiwRH5I{DA&bEEYR2<7>#^| z+Ltb9c)c?$Q!_#|pE;N9Ad-fF9nTYEAO|C`gNv z(jXlJ(m9lLH&PPPFm#7>cX#K&%sv0_-tRulJj~3?>~qduYyE1saEQh({BbTY_ut`> zPyEG`dl|Fg9|AKM*qq$f`H+WtO;VTv+qdB)>V3eT(WZVxPr9kP)ci_e%DcA=zsn)2 zuB=ph35>5vCOMd!n@e3a7;s-*O5eim-4n`lz^Ku;5066Jx}+&Pen?&6A)T-h@(^C3 zyeURBL|AZM>l!TGp&un`xS~WcE3^@+sT}WC6zsL@ ze8njn$Q);h923xEQ{HB5)Kkw8n=QYsq?B@6=dQHLY=Hw+_-(jDpV%}0rgpFEV-*`Y zZn?DOPWhiXsR`sq((H1 zsn!1G#^4)md&HhQPU}2~FI^qFF;p@z4J4O<3JH$wW49_WlrN^}D*O zCVbj@MBfJyb~6f~2C97Ue9sD6U?~aJ`y-^j)HzA2{pv7Y7twpiK=BL*!`4trgm#Ag z>vNwzM#_$*o(Mx`LzBgB4=$@o(U9Ucvz&Zr|Q=CE~J;dE9P~6P2gb*|$tD<->l#jRdt*3a7U`%PW zloCb3m1W9gxG=ipj*s7Y7n_co5(_cdY*&ZBH`X>ZyhhM#ot+J=exFUWG`u8Y#8DK7 zYiHqx5yWrn+xe-NfLfT{{4P9vGl0)f-&o&xjO_=GPE#!}bz$S|uejM?-Lt>m!_b#n zwwc{XRQ?ohT7Fb#X@-b#cyEtu#3#W=#1+=@m*Jr1=-?yv11tRTyJ8q=^{*RSMHQxQx|<;_&zTaEqW(#Z0sUj=6OL zPSST@WAGU>3S~(zACE1f=sn1jIKm00>glFjBZrsDlBvs7J{H>OTl~YUG+WZhVhk({ zR152M62b^1*>b9(RtNw#&#-{;`D|%v_~NUPag6q7 zu9m;uv%89m4Ot3~iw$+#^%OyDuN3xoFjMB|wAl5Ml+2P3jc!T;KTPeyBPH|Gg1R!^ z=XvU_XYEc$5Pa0M)Ox4Q5m=m0|NT;*fT8Lw>tJT*YUpR)7fJoau2VM`ZIQARX1&?tF!ZuogzW#G{q<&b zNx89MDX@Iwdn2MAZB^9|+j0uUZgdom^r_!Of0Gk-n;HzfHEr2G18M3_3*%%3pK~goMGkG%q)f20r!Jrn({0(s%tC*p+Dof9dC-Q@{IFjmR&->XXRnPpZ@4e z$sosLFRJzMEsd4e_Lty3gm=RYxW ziC=jkqv%+ekI2Cg*!RxdUz6}3t}>XtpY82b#wy<8AB4Z1t0`mcEQ{HSUs14!6I5*z zLKGcY_0R|LX?Ri^(DD8t)t{tiH&G?-wQ@uV7MUg5qUm478Y`SPZzaqI%~$M(G}Jbv z6KR2Of2O-2gB&Y*eudlW1oyVgZWx$tzp1LKy!=Vw^w-lYrBZMHCr&G)E^qZ5rnqm> zg9!c1@^{=h)N*t9S-GIY;&7Ok^I`2zqsBgKqdp(Gz81!=;W7v8@#f3)33Amb$JMdIQ47AYM6LsyA2(mz_B}`QV`-Fz(O;6 zagV(t9S>+8dNXk}!)?POzfy}D_6bd;kHbHj&Pbmx*nm{C52?2%fpuv3GgvE)!ULiWoSB#0gxzQmjBh%38}4vIso=#Sh% zNL3azX;{WQ#30MkZN8e8X?4ldhi&k_4lnMo@tMm!G|P3J*{&~aMEkw$jL_+|*5OV6 zxB1|1+D;WSwsb_T6ay7Bmwz^1&PxU0nucNzw@AEk^EYC=Xki3Q5$r|(*vh8GFM8_Y z`V-U)<)^n5ET_Iu4i%Kf@v|%BqFdk$(S6?itBcAm(u{JmCNwqccU;S}>h=1<`ceop zIZCEX(-Sw%i##!dm-OOoKl&mVJ-^2R-wMu-$f{Z@7#mWHk27M>HrbEnO8!*LF_7zO zrW2k=Bw$^0p-kPn4VZ-cZ=!g#E>gZINbWc*d(QCF^%Bw*qCEu^#;<;>b-5)#+(7IK z6yyT3n5dFY5YEXyB`L5ve9Q+#`D13w_i>7|0B%r7qbA@W;yLDT^nh;m!{BEoo10Q- z0(Z}!o-zKN*V@^#A?m`fGp+O}evLA!)+7uOBT8Ua{P4mWmTr-&b46}rCRZ-`qN9u| zeq+b-rr6uN5qnb_v#TLQzZpe*er#Oi7&zXu)5a>(gj5tSr)PRXXnT|_EA7Q5iJsXQ z4IzmVMX)D~{j0kCb|kyYQyx+pdG4ReOgyv_WO)-|n@??+aj)_3j6xY2+mbY?Lj0|D zg1=~4YrSlZd$RIrDUyDhVU^0+4ks?#82yr&`ve8Fo2QAi8ZpoP_qt+zI`{$=x;X< zh%`os?rceJ{YUGXoR*WVO#Is>Z8D88U3uYy?Dxx3?D5+0t#=IXy}LIngmvjrh2k4o)8wPanq8?6+0p(+0`}FDs#z<{JBajh*bZ>)JpVQg$MD(iK%>?h9J8Eth&)x44Yja!6?`1W9 zk;#DJ=Qz!)=Lkd+Yy?3et$)K-u|vIa@MpFO&ykGvt3oF6q38(Et)%3(KKw<$vGw%S zPL03$*!cWzSg-BseYMxAt?Bg=5#)gZbXNkJd%!on_$j&9uyWq9-?qOBzp23j-F%~h z5$`Bz`0^qvJZ?ZGZwi?tlqv9*7?@c33fZ;)>GTE>Da)iJ=RQqt?KWM?h(-ZApbYk9vo|gB_;1NS<|!;B z$>0tHV7*z2IWvQ+bw<-_TwHFXp3!&mNzLssRn!zIm0V)WtQ^*&0cW}&O3eAxb81d9 zcID1p6~evJh<`bAQ7d|Wrzoe$rOgynSrq1dv@ZEaSs;hrM-nssr%#Mvhxr&=i^9=J zJH&h{mu|k4VdWO_k@;3b{OmYhcbbntB zi&=lJWagFpMNdGM7Zo)1RWZRhe)m6u{|`yRi9mi@DhYjTye3ORMRZRdo3$0nXW)sG ziKjM^L$t`BKVmWX$t7(&S9(c}=ZBzF;X%(KeQn8Lf{oX}az=?`agQ7y@^+LJUqMqo zrO|O^>l9ukdHFo7xa`o+)VInlZhmPS63k0YlMNg&QpN2jI}@U$D^C+~;YQq5o0i*q zB-82nJ3QKuk;8=rH8GPV633L8FR`0}yK6Miis0M7T=SUGzWum@cuPZGS@fQ5siF&n zS@}d#NqmFDTEx@vJLI<$^;CBkVeqqaiTzCIDwrD?w9t$dR;MC6)y?#DxV#EmoPbe5 z9#kM#0Z5Vu2w2|S?&m)1R?zV*T1QJ(!Bi&7A1&jx(? zu-{pF3_NtoiOKn-eF)i8yG)oYZ?k7Bz8ZWNvb9=Ny&+lJe6JP|?IjoP5EO$oC{n1b z>`C%FhE;E*Hqj2tdT}(=GMJ{5R2wNLkK6>AV2JX#EI|J~nCdMonMv;H-ztZP5y|r4jT_Epwz>=Ur9Ij)#WiUX4M~d5n!xpJK zf#WODR26~M^P<<8718ymx@@%v6)$eViHp)h5;AKA={UbZYZILIPwmSnrUiTz_%>wKI%mSXJx_#UZhvBrM6 zSdFZ!-2J@2!EwFA>zeVY9D?sYHYpNICv<;;z2HVp$I?5GSn?IKl{A77ft08My-`Q` zf;23tTmMKNd6dvdAdf*&fTgQ20nc$ypoRu#5LeYuU=$;lSJ=y3aWt)kWuJUZh-b$j zuHfV25^2P=Xrg7ao=h2KI*o_O2i(EEzx-B_))(C(`~k8wLffvGW8sLRKP<6{GI%n3 zK979+=0eDGAJa3HqQkE$V%WgI5TC~I=kAc;P&luvR@zp%qL;aE8z;XnFJ5k|i@oei zPFJM@?UO+SH|~ZPy5<*iLR^_t1((Ur4u87r7)I_^Z-Z~$j2 zIV4|ZJXE?)C3%rtTk|&!N8YELm~FN*GLcp^KhR<&V_{6$W}@|7^- z0m(0Ga0IMg%8LM`(}kMEGX+XN{AU=JC$=XaOl!kZ&}UM`IpB5NU@YCDIL z{v$ct#vfWgUip+CCrsc(;mLrVX$etLoVi+J$E`hueG*XcG=~?{Uvaob$I|R|=3OU$ znbK-Ta2>>yt9w&X{2D}`<%HiQ)T@m ze-4m;v@Wlnt)4%YXym}t!o+s01nrk@W=bSZr}sgG!IC>xAVOFT81z$*KWmAP9?SdG ztK4w)sCmL~%{7Mz8nX_o%*b)83%1U(Qq-GB!`b`zdp#9rh&~V7W35FthMXovt98E8 zA-ZAZ6GOC=JUD#*`^Qfd5g#|T#$ku!JK68_0kbR#{wLBn>=D(#m`X5>Rx@IT+*}Jc zj{3*J%>~I+_Cn8@+ztL6>I)X!5F{*~MAb&Q#ZZe-qxV{Ip5TW%@kFCBw$GGlT8cf& zN}^j$*NO&Is2Lf4c=c(YxN=#VXLk8Y3@J&iFsZ(>T0r>M1C(@4Ma>F~>&nI%h4TCw);<`&eG4mGO0>zb^R;y^?@d8kHwl zU$Y`w*6iyjt43F}UdVqku-Y`~`P3ShO5DA;{UYK9_P_+{Dese@h@~!F((j9^+-{nE zc)bauVA6A*bmez_#7#a9H;W&=#P2x5$D_~jL&od1-ftrOP!r>uskZ!O-p@<^x*}Ks zAnlDxdGa|8&;(~=t++n$(RaSZ@JTNMhlm&*Yq8c~Q=0|1y?7P>FgFmW(+s0ZW>1(c z0JLJY(tN$Y4_S}(K&SJ|)u0QB`(`Wqb}} zY=wlkYlYT^1E2oifxAfsUCBKU)oLY@H=gmTut}PzF$#}WDdCeg*d-~q9`TpaZ2{1A ztoG%10`|D+Ta)ie*$ddBUU(xUo9>!`nML*I43aGi!xs)|m&y4&dbV#k#!msRB)VU( z!^4Dnl;i*PhF3W$I&wB*TjpC@OrBhL64EIX7JrOPj+Q8=y^HIQ{FSQhS$BuL(EL(M zofaCgI7b&(hHTobN&4C^#;k|6>q`l@|2{{TOO5bKvyAq8y z_&Z(m6mR_l&A$SYudy5#6A3wiRvuxT7Ht&=!MpBm%a!8ZYM3-9#2#vBS zGcyf!>>@B9c3?hcA|J=AyWN<0s`~6#&)mT^Y1tk~7yecOFb_RERY`D)#M?FeUq`|+GT*mtLZ>ZNqxVliw_dZw$vaoK&! zO=C%D(X;(H8ZU zN0U>x->j@3cKSwS{?FWB@F9lM-Z$^2rtI3o51a9$?O#gNl`^hcqK){x33*-acrdE@ z$NpFl(SDtYN74u1$g+>758V~gYR!34ZpBVpfrVqkS=McwFg}_Y5f6US8b2i#Vxu$` z{lSBi{H2hdLBwee-#o8Ll2(bKHkM%JL%FV>L+o1)oA~Vlt}hIA(&n5HN=hLgdO{<_8yl_ip%8AH2+1!A<$AO@WrYgd`UI@n5uG2Ex;z=9c(=Z+(_ZrL;_P%O zGxH=NE*0nwD%C{d+4K!5yT5kzb^2^OLElyFG0Xx64RhuAfqlAM)sJ->TetB*hw~0D zQHFgKY8|Kk&pM!88_1pE!W+svMcRF_0~)3rmnAg^f0f}ytoVO;*|74GOm7iGv5h=% zZy&YXqwAv;)eD-(OB&Q=oDM8@bgALfuakY5;UT#nNcO1wrS>utN%F)70uu%McTa8aLhO)2UW~P|`}MBA})-SQsqdC6pF3o!(1%=sCoY@;pfe z+pNoZRE3c)Gsv$=qR#TrmKA%PVHI_EQaSh=e^($@e zp6_JL@4YjRjFo?BnzFhqdm^yN>W9r}YNh_wwiYog>!hNgK}X0WiN?cE7$44)TATHB z&6fS>zSVuq!xSTeJB2OY$L@!_^~FstAeban&B|a?Q%z0S4i_QYA4SegzN{$V4K`Y3 z_ts))MH1g6ku#?v3QO1EY6Mf(v#W-`w~zGdMZaJ>)bC88bvegxKBr~ubm3TDP(12D zOMwavayB#%8pX?gDuh3qQr`SiuwQHWMa0OZk#Hyww%EShVh;_P@VjXS`*bH)8Y(r7 zUk*r~4QaspOyQM2>u@*@$onILw;@<`v!ziST4lAqy(ZY)$B}`%6K2qKR)=N&}w&Qej^VunU7eKY>B>oO(e zlpGqzAdfZkK~=?_dE{5|YCRfa0qZ;4J|*egD@{e@0*belb_h1o%nJtenRNBIpYvrs zH>L||<-UEwx)Ebf#7~wv`)qw&8_=tXN@jj6f>@;0J)K^`ZfX=S_{*$F@c7C%K3Y9><7xY}EaGue!T7NMK{=@V# zRh{D-G+m1~R<3oq(l=@+@@WwhlaW9kJFK3vJYfOe?A8N$m8$1n;#)q^m_h8APE6n5 z!4n3gfixM{*qy2a#2l3a(^PN6S3Kc1zO%xh5H4&y;L1Gi5rxe%J@y zSwY~>lAhBUYxOqQdvy-}b8PTCM+mh2+|71%dF`nIjjN4Ycu|+UH!+ty)9ylv$rP^J z*xrNT=v$|jA*j^dzH5K(ImhA9ejQF%Ce_?!Be+!KIv*O7q29h3BgDR&{TYw6i3-o~ zOu^GNiN8#y*0sDz1(;-UaAjHQ3zjiHIF!B>z$5n}QAX@5-RNXVG|ILguiRBcPGsB| zwM(3^OC8`GZT3}Eby6WLBQ3B~8NtSA*VIl(&YJ^&FV!_G`DYS3uGz^~h^f*1F3cx* zYqJY1Q>rS1|3-_J`Mv6!GUxw9nR1H{wY`~NZH{n+Ya3_~;$giYg&pKabzCf7UwgcwIV={0%pO{;?YyskI=~}-U!9G> zZXVBlr)}-2+(w-Z8|<3LotZ9TxflO9-_Pnn_6R_3C(cZn{)u(&6wbYuOqmZ)dhO4r zj=r~_^i0gg7uK9QEx%Gnh3C1L*w!ha#+1gVeVzP^#mk|O&ns<(9}`YDr+Qyb3>f{^ zANuFlFUK1lS8FZY+-}2&UIMDooB4tj38tU2;CJhezT0G=JHGw%g^uk&EZ+;@X30f* zNA;XKAaRDG;hE1%PA#l5q0v4Wqal17+6q+J;>M<1fBEP3=rC@rVH0|J2Kqe}yKrim1$)=zPPoo7^GeD_vmRz|E+%9SY7ul(5`}f(bJ6%Zl`o&@I!v>lEuVB~8T8_)Q zyTk@v`G+O<;<08M4hGPJ-^pzaA+(KqpBW{w>A)8AoF*{e!F@NaeFt}Qt zREGti>?+wPG#p`+T#nO|T3Ak{GF2ifi8mtt^?lLN5cj<3yw%vo`^(k7vsD1@7{ALB z^-|?(eh8yq*_h!2ylv_&FqT?>r_KAdN3dht^OVZ^eN`jn0tD1k9MdK?X~Q4(^`Y}U z6n?5hWoT&ZYJ6moVszC4@#)Jjg<^@ipKb-Um|HYe&Wk^qo8-0G2|BK=B;^uhKAhcm z!1u@D^AK2+BSXwd`p4uR9LGC2W z?*-&fM(}O;OU}OEUY&-|6W8jErQnMr(BgUJys!i4+X9osWdM@+=UXF@&EDf||0SCY z0edmeiw!}@?N}67huoC&fbo7b-}r)CZ~WKk!ZL?Vbd8<5`4~r;FrD!xocrnL#MAyE z8^Mktj&rAyZFMn}`MWZ!wFg~~HohjWX~O-uma|)pO^c}2Eq9NVX4e!3)gvvmAkw4{ z^_t#^ZEGUgjTT?Asm#PmLJy~W>Zi1**`vh34@2B+2wiUlSF-c}b8iNtF);i=p9O2J z#D3$FwX#Mn?3@i|`Mo0}W1($SmZuc(?i3^2Zned23!^Q`6G`Imsl;Ku=6aV4rX!)g za$#w8Dzr7YtuA!w27(Vab{ziIGxpkLl6Z#A!$5H87S+qax#?vsTE{g<(c3Kg&rP;} zKiY!r!d@$r{@X%gLY}q0coo}573MCWF=f7|^OoxSSKBP^bT`j5)>xgnTIm_@mJ6HU zSA!wf(v910*}ok&jNj1`&M|CCV?Bc$e)N!CO?BEh-{bP+X?ae75n8z$>$ZJ!en{DRk?3{@%c6-D3Shvk)`aJq8 z#dO?n<8`diRw)~2`;N~#bS`G1g#m0a?*>2_qk9})IFx=T&SV0rEq8eJqILO9A)G4xafIo6imi)r7m5)aOgL~);Hvw7>B7c zca~{ptI|f=3(Yc`320CbtG21czQW5do^pz|;pkK}Ca2O(1`PxR)ie|v;rY7L@V!Zg3&MkZj_vTc0s9A&tE=d%uD^!aZfD?|6jN^=5RZ}b?k*fw#3go9qp?Az_EdX_?mAar z%~94fSKrY8_dP@E&rzI`m(7Z&l3@3GRL+b=A#c(iXl&M*2OOI7qx~3A?;NN2KkA*q z1CXXT^4M4T{BQNnUB`vzjq2b4S}@@1e-CdTtMorg$${NC`W+kk+@E;O0%i9D=#l7T z_?*j(*68Os_ePX6&_L0lNjop}VZs@uo}t%!8xyDxuv_ zD|G?YDv#kZTU*=b_VCa11vuKn5vX-jqM5;fxGtbKg-$R$A3-U@J8sROz_#nVhIID! zk(AIWwe9YegsBnVNu)=eF=I3A>fJoinkZ_G>|s@v1}9VWeF*GgSP3b8!{U{kmCHSu5AAtik=4ldJ3 zk~cWdETD_@H-6>##mm4xcRv*cN-}4x)Ye*Ui8UQa9NNhTTAD`=N57|-@tti3mNuG| zr;>B0u13f&2^$#%zn^Zag~1B>h8*#PLS&F8@;HD&SZ6zan2#oH^|^FRm=($9 zbB3D;{Q3G}1s3bk7DKcLps|k|NRr3{PKOi)W~creo$tBe84$0X=6#8y&3%FABRxnm zBBPIm?PYl)$YU!L`y#v`R^&FC@9}u6^jqxiZMe%6ONsqr?ddw?Vv%g+qQ5nEFk=%( zf#Ny{t;1&w_R`q&Lh(3~P#Fu1N^9uwm+O7dDO%2ItA|IcP)&%77 zXJ#VHE3uB5>sv|f&ED@RA^+2U=?kk+4K*+eHQQwRCPDs)hWY9R*QAo=e(^)KSFePg~hV)J!Bo=t4MoC zI9qRoCmvUqpKmJHul59~ggiHXqH%hTpNsEvdbFYm*IU3Tg~Q)3HpNSxL7-#RrgiZ2 zD9}w1KvLVF0Q-5{QzRQEQ0m=A1o)Epbn-}%b@7$7Y%XO#E7Ia622I3Y`gqM<;_Lgy>v9J2f6Zs1vDLWpD#L0>b0Lt zRBx&H9lk4By|8R-nq?`;9?vK%9}10l9B6ciSd!9bs=?m z6|!px&sNcTTJ!{u|F$JFzwM*c1x~3dEhT(o7Kv@QKTZL;K-1V-4!iHTZ{GmD#K66` zBA9Z&X?RZQP~IL4TyW7|WQn@hbHS*t{)L&qca9;)tLIy%Xa4uCAQj3+dtZC|U!v|= z+v-hw>9*$Y#6NpY+5m3yD5~@2#uQ146O^IgN0A_`cX}pXi+x1KO%}(x5?FEdEiEme z^Xw6>=2VT>J14t2230LrPl7_*g9YH1uD9#SF-@4p$}}kLEcroFO^Af^yqVKZV&;Gc zK=wqYTY#M{aqmsbgIqeZqg-;#meXP%3QgH%0-}H(`oin2{=u*Mp@fnI052oG?3Gs& zT&i26$~yNAk#>-1q6&2#x2Gf~X)mutYun6lGzwH(sSom)IzKIBKH-79f(r_BV>x!~h?(F4qayek?yhz}CwLU0` z^W$kD40gy-4TT!6Jh>Y-oNCG+6Etw22A^0Qpw~>wy-=gsVw!)aSM4q6)#(->kOI?Z zuo&@lV}ODZ2T|$Utw-m&$O?A&IbS+Y|9_7HcTa8@$(%=yTF)d$z%+FGB3xdGgsCL{(}$-2wadt z%xgJRR97f(6ER8EQ)ff>yV~5!w+h&D#Q!|?(kLb=V{ysg*!qzpJoqL|aHN&dlqZ?l z8*HkW-qq?sp3Whl&3pSC&{_%PI_rGu-L~nQY-roQ{}o=&sQYZ@`G0gE{J9eTFn0}X zb~@S5NvERj0T&*C`T%mh4C%>%f<1TWyjUF8J6;YUHzOL}Q;BE3^Q}|+JBb?pcXin> zKpDE81bd@%`ouc(ni*DCR5|UD#}?g*>@6Ix?CdozwOJg0(lec`?~Zh)&g`zwM_;3p zsbL;@=)Nl)#XrM-LBsJWz){|0PHQ_9hyhUHmB-#jY zaU7R`n;31gr!A!TtB=(b8}S?TF_lLMxP-uYJZ}1_{FHQln(tH{|1(Eed=Vr3@$4ex zI?zXJIl|6-NSgBgG?|%2LA_opok27!iZD+h|6;h(uD&Z>y_9`-^dgyDHN3(mCn3y2T~EdR8oFFq$yY6KysCT3*IbKvt

jE`Uwn$TgMg`mnAWA{sj_2(r$hudin zDF^uLi+WRd7LwSF7BH~ws9nRMoE#{dgBU!>&2)o1@v^l=x7dnNi6w?;zrsy|HBQJx!jP++n@&R>fmh>kl89uYx=- zLtOhwN?~7x# zPWYYGIZyY8iJurf0M}X40Vsrc6pdL|)=x`*zh?fg)A6m3;tl1-AX`(Zu#QkpMR%t z6uMwZkahg7^&62|t+FDWfC>C-Mg&``8@(sBFoE-`|4VfoIzw>I_Y)<9WMhIjv!E|l&3@*wj&INgdGOnWQYR| z%@$p($oE>aZ*u%DP2fT;oeai^<77|pY7(48{xwsU?@^4S^YL+}lXhmLHt8B_&>}UC zr{m>Rt()rI4_dSKW#U_Wd~JT)KwiEDA)C=dnI8z#5ynk()RY8nSHn?QW!Ts$78M)) zLKq_fN(Z8}7CMZ^(mOH@fmJ>H((JarBvbq@%Z$x9Q|`UX?#M%18XK< zh8;M??Xe^_Z~O;g(|`ohS14NErw}U`Ls??#~qpRjmXX$5{(i86>@}MNCn& z3^#kz8^p>9+LAp7T~fiTA!8J)=PuFpn{;u# zbN}gbQ)d9Y^o5d{dO^uxn~@`&unb9f4}gr^uixBP1ASb(p0V>Ho9Wd)m(S)oyl2GJ z_jXp#rM+!=Tr>06>4KS53h$RFK@D_1n|~Ijv zgh>W(T_C;m16$`0EqF>uZw_5DSL?$T=y4Ewf4&Y0q#weCBRlQxrkpOfBE@1?#GM3^ zsWXSqk-hfLqrdM*H4Po9$G<&gw+a}$py9(m?`q)3F~?M+j3HlD(M%jhW>hnY{5|P4 z_35?Agj&bPF)z5@+7;uJT!VSw7@{6-sA*zf2JVS-Llw^dVgW~LO3~Q(smw?8nz;6b zp$&b^=uJZ|y)6ExY^MJ6hU?7GH|PEX`{PhOeN*UgipkASI05I&F_Xk_RLXS6?QJy- zxT@}59v!z=5Z_HxF?e$|ycIr1wZ8t?KX3Zfy$?CjfFJB~J?Y5g3o#Ppw>@*gQg`$^ zZn&yio+HsZpkpbJ0}Yd>Zb?tzLXScC6rT=|)~>Ywu?R+XA5ck=ev2x zognD)XA10+>bVE*e+Z-`d4fDI(X#KSB)wpwYd7h4QP~b*_5AUu_A38a(gUf_iZO+s zGHe-0D)s|7^rdy9aK_O+#Q<%ksc(Cg59m@GCB0RebEu@MX3F3sNXc}`R9^ar=YVl#DP4X!!}e?B`Tc%vo^z~viSEGYyCHji~p%A zFvge(|0L%t6Vb^z7x9o%&{$`LuVQOy_O)(ZjR4D_ceV~WKXn{+YrNu_Z4`Yrn z9WL)l70Ub60Se#=6>L9@k)yf{SIBnm;S;c5x#(pQfBa7qY6`zy&vXaSWkE-Y^XKbq z=*l{@6G`F%cpdCh!XHFeFJpo45H>YDyYbGv?tT1sdZ_jYJTJli3-BC-T{&FNhL)D6 zw25qp)jg%e+`dmi6-C_uz;}$4N?etys_{@bTE(pm;%G<_T0Pz^3z)Idgbp{3NDIXg-gl4#ByqyaMi zwQuR{Ifv=U5p=ReK44iPWoJrpN=@u<`^06&DURNWA7ezE#-*jce-1p1n0%N0OCiKF zZngHK7=4}a2##AzUpSF{Ng>Y~esjRqUk*XZSrxDBRbjP}Av9sDh;BJVB_*!Ur`#r+ z!JUMGH^~f%n8X~?=s!d1b%+w?hmm%24~KUaj$An6OOw`~k_9Et@3ZSX1Wl9NJtUyx zOqrfr7>=F=5lr;|&@0#tj)DO>;(o{da!uV!81|uBJ?Zz(aMhLCe@RxS4R(v}cj9NR z6Hs``a;BePhxu>PT!vyvh#Rocxs~;(h7^r9Eq1-PYB0v z?u^{Jn`9$v8@K(Y6`?)^Pcv$tSyF1SAfmfy=I$b`NrCyh>40y!0mg9tQi`SPLKoID zNkXRS$Nil9EJqM@#PoS;9d^nl@!W+~e*7PFv362X$NALtLC@H4_E1plW#`xwG;y{n zC~-YXWpopy!qtA0eg8~ivQ%&2Xfpr_fn9_p#w1qtzg>UoClPF3q&Rm!SIZDEeJY3& z8UX-b2iKC;wcRzWwwkYnEjsRy7l5!HW4&xfpPX1^Rb;j%sn&eh<3P-AoQ)5om;VtWo8vES# zsJ}a-V7#+}t6a{O7kF2RqRl5i9;}_ZlC7B*2}C^3PW6(}GJhVj!1 z$*-(EIqk*@L7#gC%O!vVEtN0C_7kiU@Mhao>7A?SE&fR6v`CLpD7Z3s8+!;Xo9zY`#ut>RQoB4a>+D-U0|-eWJCXszWK; zK@+c}41f0S+uj%&Ci*~Nz&2E~!yo9w9>pgctW9$br&Ad<+K{71&PD^8A;DF5m{^&eD2fZy_`a~M}sD^3A5i39wjY(<78Q%N1H^MM3E zUr-?MJtz`8n!9NRIihy0kR-l4t*){X@Q+y_0FxTrPe9ZQnHeA&@MarVb&Vm1eQ zVik}5KKj^bUu5E8))W{y#}`{YCO)jgr5oaYX6I8l80NqmHH`fi8Oo9L#^Eyqch?ww z!^0)O!eg~vb5MEC8;(PJ73Opw)Sb`0a-Nw{QjEQMh7#EQb^(<7D(D<`;Ir-wKtD`} zS1Mev6^I}1Rl6hT1wc>zPbT0{pJ=BsiH_nV-IHCrgA(Tk?HL(}DPO~$ zrjJaLVY&UQ+Ow~K>Jk_!VKt!p-+J*b03GAe*t+hw-q8+!06SJm4%Ay5Cv*890>^Eh zE!KP+08ngB3A^=YLP5dG)3?t@L=yKe=l)P&WQYC}UH5)uNcl4`t7mcvtXoFPb&2F9 zjtPXht$+Q#LD26a%kgmz0$O}{wzztn$iMK04@$Og4+HwQ8uL%*-JULHSi_q9C_5AH zReP+<#0~1?`7m|f(sMYa)CSaQy_-oLsA0`i<{3@uFBLGD3s3?)Z$SR``)>RTk)(g0 zT8QH;4yMrF0FHYGU82|hIv*^V0jro?io}Ld=r3aC5XCQI^WUvL$#xlE=8Ate2WA!M{VgMxw6?NEU!?Y2q|Z(PYJ~#KX~$LV3Oix(P?qZHLMP`bNkQUC z>)dx=6a{n*!2Us!4==7%{%5Oa&W)`rr&S)!%f^(@rh%&o=HT>~rE2(*IM745Qo;Tx zh#%qT_?&E0UN6l<&L{wY!1&BNrEa1F4`R*YJEUTQx^}4UA=CUq;Q&uaX)|xJu^+1u zQZ>^xfqagNLq=lj?9W4SzQND!!~}mz@a9Fr{GeovFY;g5betG&Q&A>u+g@klj8HQ< zE5)Nr&`*YiU6nUKI)2k46nxpBXdA2l()hqW`P*%~YY8hCPh5)ipVeETZ{=^^&;x#7 z)u}r3soLb9E(@qkgJ#935^aB^ML!7b?}{crn42pJ)9R8DR7k2Nl(78LQKlxt%hz-K zm?(`*eqBs0U`s|s8;AVX1_`A>ztX2jKuXcy(_AP*yqh&zh1||Z*YI@(b)&S{QgDKf z(xxkBj3vS+3g^3HFBU-ZkvJ5Ji-j=TNHABWxg;PL5LAy?_iZW)lVtH-%~i6KyIT0W zKU7FVjER-jgp|oG7Zr#R?2WycqBin5w~9F4;NYkahcKYer-x$&bUgGek(EJHK#%)? z8!u;h<){Q$`qp+}&|>`cZ#w5LsdeR19Z;Pv1Ha^wxPaZ$d4pRShO=mB6z4zA+oM^z z;57gG!yXa$IVrXxgoO#`f1pMkbz7m`(!QuETu^9uJ58OvS$RRJduD@t0Dv}r%#DrX zBz`T#N8C!7pw44DT6offFyd%cAZ^fG-`f`%m?@jadryvwTKH(LYKF zSxosRg`NHd#9zr>+CFb{1iqwmE9v)2D3W%O$g8``dB*cp65TTnhI;F8OeQ=dZa^UCH*7rKF)g~D4QB$!)hzOHKE zB$CenMP{gJO!7MDPzJJ z@dg2CIL_7c=SSKFkDk8xVG55)_M8}6%I>XYwwq#AMDdIRwOSn zL$36vwS~X#42w)n(wN?>t3!~mmgE0Q()&FqTG3g=A;vj%h_Y_aaFS5-X%g&T?=eBC z&B{K+sE~F6K;de?xffF67(@qY`)NH6r5W24?qwhHP(S}w#i?#83`Q*iqA8}NrUJf> zHcb}EXy71pgeNPG){_Z#*t6I&W@0&xOm3-^MM&xWMg>xLm>cNX5R(uMq5~+Bvih=R z$@%CD7u z&$7q8GebTY0_3Xtrw{NNfbz7?{kN8u#UPB>;A$Q4=hmJu1t+s19A=i76R zkW+VwP?T~WyXfp_H*9dY4~-F-abh4^+PwRJVXq;~c`kp}L{5@YEi$V4muwJMeSPBq(u()-s}Iv(_4nM)pcFCxEFVq;Ozht_MiD}uPqX}Xtvob720mXzNw%+*DwWe#UgM6Qy^^! zbh*@@GqOGdETIi+|BYF?6#rB|Nb9}^zBPV}KyU;HrXm66=oGoHHaF6T9K+3RLuVQ` zn{b1~$Czjy>JsAe#;<}oKr#WRnH|YmwlB%BV*LMea;|2l z(=#aAgQl2=`Rg**gxaFzf8cN?GLtA$F;~+a)hjqYBYB1eb&Phe18C#u%Ta?~jS>15 z9r`}cvZ@5bk1$nAUH`=^^_XPR=aYd#%4Zj9{zXF?gp`r{QbPd2s^JSe29B`cPXxAyC$X1pu!!sEk`~HIbedYxch;`?ct{)^qP zfPo-F<{LY8jJy{rRC3#$cRHbDn|e`bjkVK5GL2$SlvIAKN5H`@((apwgX`)FAJyK& zVtb1P$wGct+j$l}pTsEi*G}u%dF;?O%ue74bcVMh+>kp9eFCrKYn}78rekrG*N^DP z<%)^@9?M*CgaWQOD4K655@Vc04)n{EH(|VNU4(6qD}`a{yL-joy@5YD$KGUx=KA^u zY6EDW>O0{VIntQCcrm5~oN)Is?|@Z$r&-_@>Sn$O)4hF__)Bf%;ly9!$?cNcVNVqT zYw3%zEXI#2c48WyxJA@|BV8xh(o$D0O67+UFc*=h?X8hoJW@^wP;Im5U>_!9Zh;iTZ3 zEE*qf(KOkv0>&2W;5A3#{EC>=HS2w|NC|ydztG&4VBVl@#dV}+-p;a%(sGPAi6$S) zEMF*b){tRW)ne)i7;ufdjDJ^mb=GgZ&;>3H*@B~c59|mtqkI3{6s3v~a}>kc$qo7? z05JnsXo|g7yg*7j9N~;kb6VfAg#mLjc_qQl%N63s*=k_P>rk~=En!KNJR>MBVCqQ#u1yG;=B|Zjj&;!$hJtd_6%fkZI7E`qUvtc zW?Y3h68QVEju%VH@|F6St_PdQ!59bnm;U1a`{=weT5Gy`RWdbYx%;KqX$NOhU^Krx z!~&dYkk%d7e!liC@EA;PI!BP%b}p~mItyQGk%E#>yUOe0_3^me;rb^s3}l)dBgu`9 z-Z(Q0lXtC!u3n;)3Fxdv)Nc6ZrwrpY>xyp#p{Oi6W;4gYZN*nzz-%W<>F6n1uh_<* zXM^^O)i8Lq?1zpXyU96ahPQ#=j(qW<^a~~K_2wBJG&XpMgch~ZbP}-OCH5ni+-gQ^amK)QksCc!>SQz-;&H7>uad@nI5aCdG2Sh{Ca3 z4L7b8;akueyPkhTZ@^=Erg7jieOE)r+36G~1@^DzD^}7Hi>pD!jlhvKlkcLFF{Z4dN^ao8<}m;-Xc^% z)*SWw4N`)|3|$a22fEqP?&FrOxnqa0DeP;= z*{M5x0T}dXAUF?Uqie0Dx$0!&&o&gris4*(OHIiOek~H83tP?2$?f2A)$?;im&nlm z-!PCV(#}lS6E@ps!7dR?kQB3dL{UFL$kZwU%JoCHR6r%>2<9!(jVB=MB5gGP^yO79tOmb zXPVdz6th@7ANx~^0Ljo3)-IGs4hY5NtEOP>bu~=ly`75Heqq0IETk0?>&VSCZ~?6a zelb&&=M)*%upLP)oO|%%*l@HA=do~2K<0$vdigN^f*4e9r>$rP=JjpT6DbF)hMX`ZV+lL3JI+EsG+Y=FJ+P#XkL9 zNdnn?e6`YbpHdP|S6_>@in^mlTZD65@il{FU#-|PFT(cpc9^O-&(%`oU2@BhrXO~3 zYQ!Q7f0|okVPnT;6`1S9cv&bu7mgOfC(>9q@Iu(Pt_FRoM_fnI&_95eH?Ktio5B;$ z7+Xeo$Y;>&vWT#MMYL1VFr%LN%srN>wknmjOYAlU1;!<|gu<)dI5M=4NImE#r~GP<(=>2M$(T%C{a%6%7jhQ>b1~t+|?j?^2)8;`{o1+#^yi}FjZh3 zJu%Lqr3`E0R_vb7i0h>oLD&3ed zY@myF=+CHsEsK#)w2(Giy1vt>+49nPbIgNAMjgs&XZ26&D4nn=Nm>%lOtI`73!W4+iCii?7UTv>%g*~y}qc4tOur3h3CGck)Dv?8FTl>Ds` zN~{0>`neP7XNUOxBPc%C(wk5SQzS&XpQEsbJUQ36o4Lpr@PeYrWNnoJ1^YwY34Nlx z-4L}5SvXL2K66AlO<*v`^HDooN6>_Wq``igi52+io85z>$O)EMCm78w%WTHGgRRZS z^CSq!N?e9zAPdhlj`t>xW>GO;uJ+G~O449SZ5C_d4__P+4it-sj&zp{OD*MbhRxSF zBxKTgs2x7#l59zbunhpaBN!i~AprcM#%s!NmSu)4t+i$IQMuqOm9VWwB1L9bW>^BF z=m@UTrIImRz_l*02*raP@7KHfj;!;hfMPPs_QCLd61-w6SkHdcJRUcG;KO-|^KjgmNnRa)0*y0*c;E)5yaP8T07cAlSaFFOuNNPOad^0NG`t1j{Dil4Fg%4A zt4EmTGvpaOMy!I8N*nnVLh^}kAF~jFCTo|u-Oe;hxmU^t!_aMfJjae_I;HYn+n)yu zh$2@K302pPs1dou7%<4CNh+CE=&=)gSDXDFBkc(#h~wFlu(R-v8%N*5ilGAeYl)r7 zy>+3%r?=u6Y<}^Imm7+Rb zC$#cyjumX&mAW~8%Ce{g;N5E;GAv&E+vUvSG?4nTZ;Bq|*ewkVV`Le%%z0IFg-<^K z+phI-J?l_7Etw?Xbo^4*P@>j!f5}n%$BhRiNG$ zYL9UPvdyRiRQ{o5OpY4JE49`Dg=6V@!s=_|kzFx(EGAv%L=bgyTdBu;!cF={18|D@LL7#2xI!BW7V3yp6f#kNOACY9CRg+ z4u`=qd-Je*U0>hU$mqW4QUIUbo0@CvTGJHF2xtxFxE#g0@HLSTN|EyP(C@Pb^`w-X zggACX={|m8LzVf92y2sonn3k4FIOm8A!$}xVth6-uxfZz0fk~x#-lB0V1a(^f%BDAq;m`-I&rLiYMfwCV6)0XD1%rdA})BnyZw&88R3MW-?OlM+xb* zdD;>B%t(*WvhkCf_?^&-x0%WoaFxwjQ6VXCgw6gIG_6oc2L4e1xnM@K2vZ6acTo|8 zfV|$ELaGRa!WPVm6`Sex_6#xWj~XonO6-^>EHTDcP9pVqV@Fqf!4}NL#F4~n`b5dm zO4nkzvgp=2utnDYR|^0+j+P!)P2*nM!QZfw<&mJGrf4d`M$60VClk!+#jYgfWwT*( z6N@|KvbU0}r{wH_FzjE5(RJ2t$Sh4PXF{42SE5*G#B}`)VlIOW(mwhlT>ygw2uI;i-N)dJb{{I)hQXpBdUmwS!a~u z6wJe*@x(c`@|Xe6hAXl4KPz_72hl2*k09h#oLNN)50vlAOu&eMd|eU6* zO}Rd&#)`nk5o6ZO9wg7yYks6FO+VnpUL?9bfeJ#y^&*aZ8VKSJhoRIp#I0V$U4B`} z6rz8C%b|hguw7fyNAn}$VDzV;H6K3gcLzYw)7`hqT;Y8kmr?&KJ5#RIfYRZPD)d_l zld3Eg%)o9n22#jvK2|7E4W#T&IM?Zz&^o`AEvczd{M?@D*j*1LAl-;(Pxt^eMQ?8_y@U_TCHz6BMNDr3pa7 z3TT{N2;8w#o7ueBaz90QK|Q}D!#AGb+`nju06!R5)RP%;@ShqE zuGuk?ap6F#lwW@@sQu4W2_0Gl70)3*G_CrEz#`O+sOPX%)#5-7RHYfzanf6eE}=$IXoLhX_^LP~_LtvFZd zjAt{RO2ViIb;zh?zRh}jHXWYS0D|fP@;S%d7Ny8`pKK%46tNPkMVHl2hH=nAf9fH0 zyzxu9culCNQVcKnsq*obD&HhN!7fmv_B1VfH8OCyD!SbU20NsQnE$Yy#2NI+K?Cq> z1-j|WkDarlPUGq^L+jLzWm>EcG255w8oqwKv0*5YckKH1A=cq)jKD7{JWKqvtai6q z6@z!nY3uO(f)`J2qDctuncNE!9YcO_u$nsEbWD z%E+!xcvCU{A*4Y@ql!Gm3s^%3=V>_n6wj;TSN{Mcd)=3$NXeTYO%3T!@*oyApw-@v z!5dVoF1~j^ocu$Djz|CPXX9cNkVae=d0KxaE~V47tfX#;&%wY|PL>P{)H3wxCp&)} zR9t`_qY3^}K-W5RoRXS`mBKw@4?$wu^U}nPga5TE-ap|y@ge`Z0-;)lWB5GLJZ*59 zd+$evVK>_T7&_I8o^}KFSz_c=b%Y}vC%ww}2c7Mlr%V?j+0OgtEN(HwO#Nzx2f2Yh$Mrz-dCg~)^g zB~dG3S^Fv_rw$*ffP1eH%LLH~I$`2mkq(7qZJe0pY0Xe)m3*}_;!^Cf477YbeG*+121{|DW)8L zph9wmj0VD#M{AkwR%4x443?|Y9+FE-%>{7^If`q?c%vo>1=5xDAEgii|8T+SsL6Tc zncp!>PcDX&d{VhUHO9>ql=B-PO7Tn^Ogr==g0N`Mu&S*anm<4tV5!rmBk;^C7|_+B zlmG7y0{>w8cW!iFj)rI&63IKgkNLQ_+d4bI;MBfWA-sx*;_`W(z)g#c_rkV5n3THj zZSU9LrhbkQN0E5CqQHiAA<_!L!qHqfa~2T!1iH~Y?9;&EKwv=BG}vKyI$>Q&?b@sV zf*&LvwYO@%W=}j8K8p6ti8wT{A8&5(|DeYi()qNTb@+8TQN6$+_EDyEoK3+baB`CF zi}0wl4ljtoL=wb6MJCOgoI{^*CLk#MA>xpMs6HV(feQbbsbi1$`!}5-yrr^;Z5(@d z2pzg}Fn~JM(w>OPH`My*AGsA0XUaE}q9{3HbqO`y$rv*2MGd)7N-oybq(#fwfoTloBSXbabr!l<2pqdaHw-<3%kHL5K=v@gjBa|VL$h<5Ay_hg-E2a& zsyou3g2NDRXxe>tazc?PE4_nOC4)sbfdmTAET3wMMVZp<7r5)W+%W%5OJPA>8``!&?gZwvx2RLp(Nhq^0GkRX z3@`qBWy}!+k^<^MHsEa_W<4NUrS=_rOwNMon*0`V z%MVT#0AoZ(MQ9glJv;N$7Nh(V*CFLymUKaQ1ec6p`1r!WlT8oo?J_Vtt1kSyKb1~j zEGUmGu6j{Q_MkY%9EoPuo{d2Ah)zv9RgycQnx|b24&L%8E_^_I6()5?YUBqf0>!(y zO5u+j>+e{9`B_?R*X(vDIy+YdSV~?Jk_>Eil(;-4o@d}molQj@ocK(gp>mNfYD7Fus1wclzn8$WBa?9L}%z6M&GduExt55#HSofA9~S8;che|=hNyM)*&mA3u25v zd9J>9G3#CRt`Q6{lY;Xu$DYx^LL$3>ii>iup~8J~IgnEMT1O5UQzV=l(@LJMv0tR6=!HLDeHyEZe) z#*qy@f*e)sTc^!^*~aBV$Ry>14}<0z%q7)AR9;G{LX3w!h9(SLmGd|Nm9{b(z9XlJ z8flfe#b9%&`bk=r!d-<7%l{Z{e(N~EaT~qE$N(V1eep?Nn2)@l zaaW8T(_Se5TLJ`SywGF5a4grYiWN}uIyqX2N&Isoh)_^J>^R9&0RQRmV4D)75tvb0 z6R?Otm`lc>lR#b=|4;^lp1kAdEGwNb*ntR$VefIWfyjr_B29eop_7-R`U5@*-5(z; z5I=$aNTL831X0t=9^k;bSM{TOj_90gR#&3$8CMUWdKrblD_pnX0G6jF;?CzcqL4Tn zH4jxLQ}IiZdSw#@mCA^E=06+Rm>+tZxvMn|dnA-Uy8j+YWaFwo!_jwJ5PB!d*oK*( z_}lDBLJEE2sm)T7vX%c~@Oy%+FS5L_K?!OikE{-N(2^-PqNb_6k!?UYN&lu!RBWGby;Z{kadpes7 zWnuFZSy>lAuvK|FKg&Z;2ag4<3Y{uoT%BR;$TU4K-4L5Xd~rYKJc13TB484Zo^jET z4>yHkhMeHUR0=%}OlbN?DjAOl`cj*p7q!gdtEb{NQ*ACR%Ohe%Ow@%7@x;cSjQ6#~ z)s;LsqPFga@*q`PLzH`oWiWWD@mF>gV>TRqg=G6%|C-v zVa}t!j!Xkn#s#hQJ@`yUfR-E@yCow(!yOZGs|5Tw;SIs46pRjffi!RZ)_sbKiD_C^mN{5h$JZlPQWjl2)FxGP;)L(RFhZz?f99Izli>4$zTM zwnQI>6}8shFWBvEkPzL(@9pUOE$=fgo1;qkI!Lpm$t{cpJt>93?wX_kdN@DUYRTj* z0^1YrdUI|BGe)IS+$J77=j33 zTcYH+J>y8*Ovfcforlv?SGJy>pJ6k>QHqKoK|>vdpQ|RGWgW*=9C4kAzGAB=omMDH z<79#W!T;|qM|pUtnaED76iAkED;h$sQ@N&0q&v)U{gT+C7~#=bg$b)OSb2N|Bgo>^ z>k8B}gkTqfY(4o~V)RKBmB%RB)eq^a;)Mooi*CaRHxJQ>JGH54#S|tw;qgdq zjZT;uA}hKvcJijc%q^Jv;{XO?zbjW)D~vSB>}j+y++Dr&jQ^_zK+n$`@VwsKok&?s z?z8z(%tN6;`7-T6B5;D;Hn>wk<-)KGwZwuA_N@XrvYcv^jAQ#^*nr;s3LT5NyA{a~ zjx^60d(3w%?J~l|@CP|PDjy@AFa9D%@}4!DhLxV0?)9#FD8h$U&vS>3$e|vH)NQPLEFOw6|7AN zYBJMy_!+_mzF+^$cPMsz?%)K_-6^n4*wZ0+L`q|7Qq$fGFS4#&GGZ9~lbf)j6Ln`|^PBA)4~TYQTH`Swb-pn$G4XlC6pR!C@s7IV{hs z_$zp!M+oi8Q7<=Y@p0ZiH*~-WUm9gn)F9z@qPdOjKnm1Fk-E53eoc;(T`_O$4#sC% z7(F|w)pALKc>UzP0{n^L5%Dfx@8yvm7$Spz!s^A8hs=ZAlU|tdyX&b8_4FkrN%k)- zZH9={31Y<|=Gfy33NyFDs@Nf;SHYMYH$tNYS6>Pf`|VvBg2sm%b%&(v;N=|d53a9)vTLh5`;Vv4bY2}$UQ5*DZ1EEwfDM$P;J=hm`$%ff#@bUP09QjSxqq72=r zg18fz4n3O{ZbN<}tOZvVhWSFe=Gwy&%bfx=l(KbcIAXgJ>4V9NR;>(Q0%cKR%#rPH`A zK9=;(_}?4q!vPRu+-qu(r_11>WoPG+SBEjK5{$n;{lr&ZyT$P3;yYRb{5Gg@DJNtA zsj9b6kh%MTw8=e!!%WjN!Sg{C>C#5MbpT^$l6Bqb-w|VyY>4w8nG1@AeuTVqjbnA( zO+mW&8P~sNly|lzp4Va#9pt2vQ$SM1q%-^@dgbFZIlm?b_Ob41va-Z};55N8kne;= zvZNUcqKlS-ZN+!MWi`B&;Fd~<#y3d9F~6cOVlgZuhwS0SFBgB z#l%{ck3PMXM<$#l)9p5OU6KpWWv3j>;E2NDShqBtpuHPqxc!4Zc6zG-^%$+O82Ygg zI(a4ORb)(3rDd;GtHbgmPKy=e`gd6Nt3oKlhzPPu!D{@|iH91~MA@)^iZQ|@lTSiu zfo~BYHM#S|ey(+#WuBr1PQ_ZjH(Qu>-n@er`L^hZT~uA$lrZjNTtX{XEFZTT0Jpr; z)_Q*|0SS8=qcHstGpd4IoHiAU3&WNbiB&bS&|*8xm&eiq&4_{5nrMF<2t4LJR#pwq zMc(BJ7ilJzIrY8*gfy1%*bmX&L%zi7VUfxVPs8CJNi)F`#)XH?N=ciAFvfUm5TS|V zhu6ErnJI%?C|l;?%@`1KN)c@w7zyKILl@(ptPW5E;0d!AK-SNv`uqRphp|E>O%lO; ztb8OgNf1MX89)c|Y%3+D9nWnZOb79m<;{C7f)>k>_PI1VH+DrFx4W{D@>?n9zB!8N znCXp%wgsUffgaE2eMHjl348hO#%^EZIw?_@*`!zGffK{yb&v_mj1Eg4UQ|o#PtQcr zrXX0OyGqow*`=h#rBBr4Q@ELVw+b`ES3%Ikg7-R=4mAu7ku=L=)0j85h3(Z0CLViV(~J$b%rg;j6#{v_)AeI z(-_L+@)4n;;P)|^k}=@0VVMx6@2P3|%!h?nsTerU>980?Jk;LU>?dw+a%Gf%zT?(M z+|lDL&S_mM@nUe#%O)79US{o#C7tHxbZjQ3R;h9|sOm@El6V?Cdctb^Kc9-y$|QMB zreBJmQ)DFar$QYw^H@8GKOKJ6l$TL(<@3-i3P(hwPftmqA=V!Q9OIsZ-YDxQotvxj zaZj@y*A4I!fwBMY`T<@P8K_Y6olJASyF97yPbY}fs%pEGo}F;(}n9s?L7at9}%PJoZ{iJD+h?p)Jl(22yJ&ZggAH_m9^lgu(y?EesSJJ6Sy&6l?!HfS? zyVmNS)W}jSU$eV9d-0>~fn-obhoSdzOlTg-P;PuofZ{-YR`@S@bp?;+t|rltRZK?8 zaf-bg=!;5?&3YUkBDx?B7X&*!4Bks3D>NP$kv0Fz_up z(%B)>y{Brzlyl{QFsC&$Q8gE*$|jlXLOvft2}NJ4`q#hG+_57A(x}YLPbrcg?~xcq zzi`;ZUg{o2OGEPI3TvAKb}`nLn06sOs8OQOqsHeh(< zJKO}j2>eB}Z0Q>Lii4*4woM?(@c4;~p{{c;RvJT4AlFU|{cooT)8YQa-1fM0kQZh2 z6}xnql7Bd6ay-L=lE~%(ey11dUgU+M>ti?H(Q71n+onC4eo-3^#NdvzgJ^!h=qL)U zd-|Z@17lYNj%{HS%xZhUUy7)xD4ab+q>*9}k;cFls^`_w@a@^V=^p4~@P=?@?4_Ur zhS{g#cV^#+kZe)dS8li2{U&J^A; z^ONL^3D_Ig?)j=0Uw-e{YDST28Sf+~Esx6E-zt#ZDx9K^lA>>&qAUDCH>{qaIx+|& zEne6=MY%*qa-a+UHV}GhTB_Z!VcN4;Wl*nQy{t^YTdSEsHK3~p*<*lY$L4-SwtBM| z#&5c(<`G6@@eLJX;LNbR;U+S&s(?XIB0%&Tu9Hk9;VtIQYid=Y@hmne?ktIb;MsAI zqK@~RG*2Wz`&*^NUqPWbI!Rxl$ETzTJKxv^vu7&q5xepyG|d#rtZ9)Ly3{NV(%Qph z))ZA%sTQ;a+?x&*Ieab(@z7XCs-vO^sa351!f~vbX#5jXt5dNNcM_>1MIyyLBsf4F za%>jZf$$^&#ABQ7U{3s*>EDO+2reZtE?;}HDgnjWa>+$yjFPbFZ*kYTI6xq6Wj^YF z8duDi9>8n<=jOC9-blg^V*3UmD~>Nf`%>aj{5ayCP3e>Pm`>2A5VX(Qzu-}7Z}Ium z$jIxkFjk`#NM$VU!CyWYUtrBOV42;X4q1HLYZ7_cb?xESBqOfjkE*#3Mboa;skv7y z*RIyA$CVLt$-Z9WzqU{|K?M6wLe@Ir(93CYt$1X(rNfRkiNw+%AnDBS+@QF<`Z73i zbEKT6)Yy?qEo$8Xx1r4j*^F#K*cnq-X=kWhN;r%0`^B>5D0CVF9qNyP^IKlpnPK7y zbW+Egnqg6ih#ILLLm4A`M4mtlD_4*`Fe8aDPYk(D3TKQeeuCEURyV;ma{bdw{~aW1 zWI*QYA_M|=qQy12PLzJ77@H$7Zcc>xvod*W9Qe>Tc*UkR_{dQq*<$3q?zIDtx#`dl7!?(rP&EOl$nH1t z-n#FhdO0yuphR@pxMnQ8S?3JA$4TBCy8UTSRnlwG5cnAQaBI?f8H%h``@^Yy%X_Zp z(dy5ysp5^$uCo`EnhXvjByQg9}irMJdcJ%Z1(PTEB48ox9Xy9NYWLE@r0EAPykuMb6F%hk-R=W$ThVe`YG@U zukd*mE9m9U=3_E%-$5Xi#IIIf6m0$l=_KX!PEm%YslOjzuZNOF&^SJW_kIk_C`&(# z5W9B6(SPZXc+{-r-)xraR75FNB$&sdc5jN3IK-H*SeJhum0?}t4O^OJd9#zYUaN2BG+QVpnkiX34?l09sM zX%TL3g7PlnHmnVst2GFMFYUi6_Gmlt*$;IWQQ1$ERnHv|yuTtfyb(>in4%N$ZSJCz zqK}^5j@qNklikXbLIc$|Dun&~el8cvngB*FwHA4!#GF$tt(pqOHz&!wXx_>{yNAvf zF{vI^l%86~c=U&eW7pkbbfx$}5P}9tXc{R8wwdaQtBrVSYKJs`^`7geG~;2$pW*8J z_ zwODFy!+Bwho^YY2SXO#UCzvwwXPdpG*F6k{5yJ_xc!963r)sXnWZyJ#PXuFMF%^om zir^J2%?jb@)|Wg6+J_T!^8C>V%wUS|sliP5+D$kg=HagO?0!f|dn6{b0a?VjCf#%` z(49%Yml9#0_yFdvxSHA)igqIe9M5E>Ki+Yi*8*sc^B9RG<;i+Ld5GLX*g<&+jI$;h zCnxsfJ$aNT)Fj<#f`qBrS_!HYHTU}YM0a#=xWTqTPM&5KzGfDVsi9yMNr|_HWDa`_ zPFoD-;9{_VW`Vck zQ=N}=_(<3+G?cksbd=>mf&q{O-(AV|SKC{9m?z0{^XW-oHwoYhp{m{PybJlx2q3U;f?)iG_F!ungNWUW5b9uumCZ=dAV}h+hVe{r&iKe;M$;kQ^u$&5@ay zFtcMeMnUBAo%uX~2+IZwI+gzKaZ8X_{CtMCk#b*0t>B0Kz0+mTyT8QM$7o9LCxe~) zg5$oY@;Se^`0c;N$>jd8u_=}f0q0~)!q0b%(j5(sXg8Ra-rf&4CdLqVAsX|dm9Iuq zZj^o}Qif>9)QsN3cep;Jk0H1I7+=}jw_lV@{;nuUTxaX_TqK@#UBV&Paqj^L!C-mr>Rx!Gy}et#v8ggnZ2BtX#P}gG>n0O(xF7K=rj!bG4O204Cu|Q& zS->YzZo(Nw4|o99**Y8u!~3LpczAiUpS^_@-RafBY|aLh{@&BBi_t1;S$)$F$C^e` z7>hcdq0(=)wY=UR@jvhV=kaOdTxD+O-fQmX#g|Hs;GeMu`EOY>R6gSnh0DGZbLInY6IzQsT1C7n!*^j$Pby?)fD zE6&uJPsf$Qxp~x%Bi!3LT@)zuq=J-zRB0q;7QoqZIK6PZj8=)|O|x=CUZ4M^OyTKV z3(B?-WKkv$N)*&o5stJ72_RAP&n&RjQJm)Jd|Ii3Q-~@#vTtA`*$spuMw&?$PNmA|_P1({P?=n2ijjNu7cy zo&ttV--l6O<9_OKeG?O2ypM=4r@VHv2{aXQgv6M+BI#0tfMaORN~d6rI>N=;QLIEg zKN?r_L$O}F`hzA}c);|>?g?%5%uDXzTO%aF^#D`HrO_}I+3Fh3@HFG!EkF)En1dMTU@2CBf8WeYDMY!>>ib z*Hx$Dqm!cG`&dh&=uFVza0Bk(Eo3k=w|sk@J>?*0;LY15gx0dRh_MBWWn=o_su&hn zIwlR#1l8O*==m0llB}bwGoVC^P9j4^@`b#8FJ*U*P{Ni>dXq0r$DSRoDj2-swI6ZO z=#-_Y&L9ztunbh8#z(XA){5wSrSrr$p9oC{;BnbYr_jtWanaz#q>zwoB7I7$UuE=f z4hAx=)8fgrkHA{owYp+z9<6cH3Z^5r4ic8LMs=%y81r7rtPGs*t9l;9uVZb*J$J-s zj_N=Lj^FMdL@%0u32boaHy-Rt^t>z|Q2H+=3Kl#J^D2zVoBSOW4E~FJ9DHI?_|y8itpFf? zb-i*wN|FyHpce}ZUa(OCa8uY%okL7!Zrp;J(STnTD z2=45s$Y33$JZ}19(OOG0ROI_?-NREo4?k>N&Q}RS&2+3*eR?lt$agn(KEAJW`tB{3 zEA6}{JyLoPmtu+T+xF70*<~tpKM}m&kG6MPOhD*e{2!5x@8Wd65RrVmgTL(j^Hs3# z8j4kZHsGEP^4a=!8MwMJD{^1v0>z+}(v{}AeBKvm!M z>DOU2zHl;`Cu`WGju%yhmA6Y6{CuAGR3^O%O$>9ybK~chi7s*llbCA;#DwIlXQd7M z3Ff7tGAp%&x?Xt{rB3YWZl-vS>_5+yQ)pur_OTUbpdpEqFV@<%SQr>dNeS%a1$`5{ zYuy7hy{uF<0!Z`6mrb|LpOX!J`<)YK2tPQs*?LCTk9u!;4{Ucix*u*UQF-iY+fa1< zi=SQlom_@P#uQDX)m{)OqWL@Lg^VFjEyc<80BcAK##zaHMUOW9LvqFoZW;*z|1M^13 z@hSVHd0j)X;3qjra<>@K+t{&1Ds?*^WSK1VUY$bE%r4HBddbFRR9qy>e@mS}+JY^- zu@MwCbPzE|8YBY6^`q&{u{l@@(+RDtij^Rmi5PX+)nLL6J-Vw?iY|8Y-gI0X+koJl zE`zn{=>p*Z=-S3mjvo6G1*X^(X9Qi}Nt>0oYSaoMA(0JP43(nGAF)#!bXdL}i8=@F z+I1D&<>XVoFB&EJuRAmLyn!ow+*S|X9md8aT%t=0yUzDickFjkGtb=TulDQ7Zi!Zp z*`231%DBH*NeucRLWAT65iY~}TT3C$Y5~pasnh)i_#LwwA;({HeIwz9Z(K*8gM&7N zt)c6oPkBn-p2*QTdzzsLEMk{{nz6(^F%Es8-On5GVgOydepHqNA^(npTclG6co;(t zZ^3!=!u(FCCpA7?M4i|_48J7<*l6;nT@T%h3xxL}s^&5HT_%K!1_R}qA9&J>ldEZ zRfFT=W4=teYBw0(C-=Q45{*IciJw;Cr^TE?VnV{}ueo4}n}y_c=ji;louI!enT~Pi zjR&6$w+J$g+Qv#B{FXL$dd@L7i~sY>?r)XynTHS`mTE= zD%RE&I`z80E8{=}f97|w58FhYBfA!4Nei={-a2>IZTkLwlK7VZ4Gy0-E*lS2p@?0D z^PV~0!rQQ=Igvm8GMGJAmB*ZV&Fk?dZ!GrfC}M{xL+#tv&nIhZ(Ep-wjMD$Idy4L1 z-RC_tG%E8F_>86TJjeMuadkCs{P*m3Dn7Vvtib=gb5+8?>DztIkJ@MjdBSOv#;LE# zz%A{1ebD=GC)x{RgsD}MLEGzK^($80;@4k@_8Y$B9lx5|Fr@Y$!i}tP+{V*9d@Kj2 zrghD%>qgajalyfo;c56eB4gEA9@+0%h&opS8hLK$Po85qib7n?6!?+piutOYQOE40 z1%1A*o*TWaeCkEe@ymUqeD9-txen=mJ21}4{JA|+puq2M_F zEV(R~a0pM(AlUR5oZ&P9Ds2?E*3}`C{N!nLft7aAM8a=d?!0FVWHq54rYMl}G&Q74 zgM=NCVrKG0k0a|lHi?`DHBC6rz~<)l@2?H=_WKM2?1hRWgR1iLS<;!%`WC}Tr)ZQz zGn`o&fh{4dLQv(aQq4F^fjvR0p7elK5(7z#B;uU9hr*=F_iV=8dl{%cht(__Nr%j8 zwu=h^ByWpZQcNagEo+f(krU%=+OZjRR>@7s0XfhjurU*nU-MbW{`(n=UoUl;ITxqGFPGR>IVw#uZGvDQ~~c7qL;La z3T;>bbDmnw+W1ViFC(=kj|Er(PiaeY0GsoiZw!gEWZ{gZ2#A;~_CI7W#rH>{u7W1- zuc9L6Jklxt&@3E%FBlN?f3<+Zf6J#oYRmCkv$L~nzrN0xyxm2wXJ@CCEKni2XA(eZHM_H)6^&7i!9ok7X<;%~z{#%`TdFe=Iq?%_G>k{11@9Pw^TiSJJr z(6AAjZDV0#IJTVMki9=AHw5gR^}U}r#1nFEJ9p(@^u6~&U3AW%@glnk3Q)UYweVjU z5taWwNXNu$r10%2dSGCn>G{?=XU4Cz$@~0g_v>xp-@hh3uWbg-&a-^)H)9_IexIop zdJkH>dmVhNsH|jQtf2JW4cbO$K{__ePkax__Nd5Cz%h-Z?}sx=K|Fmo*L)E$gJ0#1 z7UsobNx~WL!sp)qkiM9ELk`}r&+tMT&mSyKkzh?Gow1pXhk-ZC!gc#HN{LO>d% zq@|SZkQh1@P`Z0Sx;vynx*0k}q!grK=w=A%?xDML?%#8s^V~Q01uurr6vNDK_FntD z*8XKao>+LjuvV-xe-vuTDs-2ZV3#^Y62ng%J4GC=u^lrB%)_LRr}6^_jk~OYj`ru2 zdTIZMlpAU6&Zh%ml18S=zSh-(H3g?wwO6aA`U#{ve)zv<0MgSi{WxT^74n<rR&ki z^>TVEbbO$QS*gkILb=aZ{wcfIP#jU_j<@jBkWfQWm|dB>i>Pu44kH=!$)KV_qXa?)IO&FvEM{0C|!G7DmgGIDbA12RpxxBUQr*|uGWcvxiN~hX!XY3pHi%Ld*t{m zDV%DLZt8w|dGY4~{APRspH_Pv$`f7D#L1Vxtl@leZ%joWbC>+taix<*1XY<6FHH$~ zz(x<{c_k$_YeSkV_z&IYw_`c>7ksN@L@g`b&B zsA>;C=DEw+ChBWL*|U6qS1LE`${#i&Yf^h9qmf!#u})d|ku zuZiN_LaByeY1xD%;oDB|@4zaj%>rRb^?11%ZbSb84*Ldpy~m>e`A5XVJ?QCf+alA! zZL2tK(fjV+()ZukZlJ;A5>9gM7R z;ur%Q5VV$t?7iP_pIQA`!V#u)9Fw?S@mb0CSmY935J7~mAa3M<&JDM9rT!F)(($CD zu+R)w?8aD6V%fH)xK9M`1cX!0Wf~&(G|Ds!E?(c8O#aH{&Nz3sY(vKJ9k0pt-)9pj zF|TVrhThlBc?%u+U9Sj_Spjv4)JmH6PKV8J3;%ebFpahmRWl0t#bwsQE59(?Q|3 zAy-jX0Lq>K736nV286!z80=37KNnq)ra(+h>gI#@+uP9!(~H$yeBo5Kx>e3wOcLii z?M2zq&0}1XcrcCr3nHs^G)o*^pSRkbA9BzOWExQwcT86+Nm#r-7Jptl-r5QJ_(E2; ztOd^hjkW4}ef7mq`ufYp6HS{#kbP#u22}Ma*Tk_#CX=!Tab}s*a_~DG+o93cxPx>$ z9aP1|uS-r@iH$oQ{=ym=IVDiH*l@$d`bln1;ueyUJ5I0W$P=6yh|bW>f|S|-49Ak; z1@Ks_GNe{u?k8o*$Q#C!%DIhXu2_Y>Sv%WFlq+wyRi;}L*s95<`5Q9EA~OIAnw}6(7!R?&u}rg{q+Di`$NL` zimF0hD{9S+W%_v$P>LkFe8G90=u4kiI8aoOP88d|p&_P!Liwnm5p>CSjvorQvO75I zOemyR!AM>OCWrfLuF2+bA)FU|9^J5ywSgV^UYKFq9P4gvr}$wBohVz#gS(CBPlDPu z*0A6j9<@pb#|#bTTG`r>q`xg4p+m&SzYsWbVrD?8q~8Fe3dR&5CpA!~*1=nO5q(?# z967kQ_ZfADhP7LnW(9molTU+LGhvwEr>Qee(_5B&QsQq&JXFle0L2o-Qq#?l1Ua>F z`o)UJup8){P%j(;7eTe44CNKzveKfFQ8wUmiC+F1N&RY!@T8l!U7HA>%szb*ZZ*O% z<_-SqJglePKw~5SHSIUeNKZrpi{vnlyHGF9yD=@UXn!bYarcyE(I4>|dCY$j2ofue z3424Lm0W7$-%#2-()@0vh%kF@voNYMiiuZU>5}_4rzd(2$pi$^pSY5G;)Oiq*dtB2 zU?dtW?we-RAbx&?$BcfA$ZvNTN5EAQGA_uv`Ot$Rvwk(g3|KfqrUI-VyqYsV1z#_D zs1)n!G)?i}Q#m)h{Z3KTixFoXz&m(@KT$;B?&B4*o=CRqoNE<1)Gc^3)+Kfxih$|P zk$|otnEnrRVyXc!^5u&sU>{6Fl1f7PxK+!IMU}|@m(iO!8Inb(A-0v9Wn4!Rc3tVt zcO|(_Lofl*Qv>1CeZ}!+*KQxR$3r4RW~s9su3Ht2Mm)3kURp`QQNY zIFD&`=iHAYeB^qPA0BY-16s7*<<9tX2=zJgyXgqey^G$a@aY_o>Y@YAAIzM`2a-`B z`Z_@D2Kteh!~f1Dhsoh5|B*|3;I@$~MupW)VHCU2RR|%K&jAJ|F}uj)aE<@d{t9%p zxayC*9i79c%ErC=`=fw%wcN`rU>sSzA$qEy;sqmL@$SN&$+uZCKmEUnBpcp_N&alI&eXCGJDqT?~U#8uXyeuz5F;LF?&Cpd0q# zAi*qB_s2gtY!6}n2O<27Or?4Mu%Uw{^x^r-4fj*)*Bh-;FU)28A_wG*vYGtyYx{C0)m%{1%`Z7Szv9p;ltB}H2x`H(f9|Zu+ z=%*%M*&yQLl%j(VvRPtwm+)YIR1>ydzw9N5qTNwMPqibOj&E8#I8NS#!ZZZrW>eLN zAAU+~%$N-u3m~Jqu3Ls?PQ>xslH>>7^->znr@QVEetwR7u{awZ;j$;XsmB<~Djz#C zEub(^f6n0ThELHAjYuc=@gZn6#aNZEVBLt1WecF$TC~w0t!BSi7i>fB@sCRP3=}d? zn5O;|Insd#m-Ls%{UyhW>R1&KgwB8!GvVW%=~3dztJRM_O0GJ7HWi14YZI6wZYVs- zE`vpd+M&NYQb-!bj{mhb={-f{Tlq4A&ydqmu}9r%-hR4wp8oX$zod0R5g!XgVV!H7 z%4$Ax^X~o~7mgr{KjY-8(Owjdzv}eL_`+mKaByNYS=`uzspuz`@WZhexdXVeEp*C? z!7dMh3r9^y4;uB4Cfj@8{Y`$?QqCNd-!d}1l(hy73P|~&#iaX%%T5f@|mX5iIL-+W>SV&E8P!k zS7y`;ZiWNeagw6~c1?&~Rt4Oi1AWx}dG75+AC(j5x*X^Px?k0Jmb^iQ4BGu2_q1*a za@(&E09{6^w12#6R0&w8bnx#wm7_l0oKW^3+yzv!hQ8MG3dG~&gi7O9YUavS?+o-Z zrm8pq3R0RS0iBm_#0jmZcj1^vab!P!asG82aJ|qcddJzXq4fa2NQ!0fUN?)q17gox zhwS4P&67T|H*Q+Oz6X%EYqSFQL+d?kg7%fecY0#vX_6^cXj14V83^<3i1R<`PKqlg zzbY@u@|yUF@SRdJI+^XleZN0R7$>|pmL_toLw(!slj9Hn($;vPWtr`MRw8z0^7;8_#0j|uoE)h54c82&6&;irJ*@Y%HS8oa ziJZz*-Bjs0KyL?1vRyA|@2PzzX^;IDGJzs(EA44-a)a6f_-&x$(c#3X2+?&&Aui~6 zVWsKm=Sq(M`UVt{?J{ydBBUaClwRe(cAjXfu6L1f#RKFkXCq7QE9bz|d`JVey`@b0 z)0xPL=GEY=5h!Ada4CzJ$rUj?SEfwG+zO@9)O=~rxJ()7Y&tEg!!jRLT*N~2=+l0)n8$`(oBzVhNZUPA+ET#46iXH2 ze$o%u5~JHN_}wQv~1#LE@+)3Y|3udCed1%8gc_CbsY_j2@HZSvozv0fZ zx;A9tr{GGb62K+2hAGsV)G+6RoyU=SI3d#2blup@xs*pa`EH|?p39w*2f?z9^9r&V z1N4lhfnfPw@nczk8%D$uWS|jH7m+X^^tto1oaem%1fNY~2G)sH>%w6#k}$k)q_RPi zvLc=W>jU#3`mTT8m0!a>o2mFj0%P7>{M;@Eb{B>(8r~4Tk1bSa)R9mnz)glUuJ4Fs zDZVA*Rq6_0^Gc3CTWb{3$jmGNc-PIhk@1tVfTQshmv>|6SQKM&>^ptAq?>L(&!?b{ zajz+6YC;-CqFYWhh7fQ@wwFVlZzMwRqA^!Q1?;-~C+!nF%BXuL}L1SvG`0g;~`_PH1R2>7U&Z^p-YB1A-?U5C|V_MNf$iq zC3J4gkNXzH97kA$M>33kOABW$XQS=pVei{h5tHZDVI z7Lu>thCvj-&!T+Oou#`L=lbc(IC;+PAID6Ktj3-V+(9<)R-Vqbw?P~4K=-?G0}1-i zgEGy&4!^W_BryLf#9gs!F4X51{M|Uu%|uItqXy4~S0(Oitu72GSEW=$c2AFe?)4-! zcFZ$%K*^#MZ|Mdnv%qZoI3a4TQI74a4r9RY%2UZKc4JG}7i0a_+ z{4?-i;e?A>k0}`6fADwlG~hLvgJuiHv2p(ZKJ0SQ?41bi7)Gc!$-7JT#}3aCLF_ z2D>|ZgRQF@-F?BA84x0y5-LNU%dx%F<|CuanM~@YvuoUkyQXIUyRytS*X0$^U9E7N z-}qkJ;-tPn$ERsaWF=xd{|6I2(C#d1v#nMpXg+-#p_6xa;%MRcV^C|)7o*+i+ImWT zO(?i|P(i4LF0J3qN#A2#vZxh^5E3wUK)X-z#v+g4)jp6C%v^AnfM$PI)sg!E5NX0=TESU1vuIQOElHBZ%gb&Kb z#QjIKV@UbpCBF@5Fy~JA?}KhKLTcR{5X^0W3TVDKz)qpOSyi$6!3UD z3R!JM)< zdIx3VR>Dms#2it~ghmL?!0G#RKF!&0$bu62Lqz4i|7L+=XdS{8^%(#VeT`lQ>7{}N zJy9|4=R|VMp1_2`M->+9QX)~2K8{X-YgWLka>l^@)(!f5Zlsv$aA#V!E|iINS3<4s z_>*;fvu)%oZYyQ@g_XpYZkz~ISp#!v;W!`kV!H&S_|>(uXxR{bmcfF`760NQs}z!7 zo^?h{huSYM=pBd?qilgMAzGt|yT6v+a^@=XTMQuuXfMVlCKg2MzG1C|sjkx&(v00A z+P?`rD<#U@47pbqJkTKR+sLzT>2``bH;0^BwyV=%<?fOsMFr@&4Zj`_ zPemzY`lfrh=@g#f#$z+Xr&X1$Q|s;B1AN%aEP)UEgP4Eah7tPSv366j6w%FUJ6P#Oo5>-?^z|8>jx^#bCV zU=L#;!$_dMAS=&`4m#K^mcgS~Y<``8Oa`$6oolcWvnaa}3kzA*Q}x9t(v+-y_a zP1Uh0g{DzLO2Iq!*mo3-{pm6VxE;gI$hEI3JGti-Nn4onsf8AFm4U+udguTZKQ~Z+-cA9RWIMq_+a6#HX+~~OGHD0E{5Vlg{r7r3 znA>GUmrKF(Y)xPBM+{aJAdyhn|L1G25l``J=z3lrpgj?|DJ|lUdJ}{m&EI_|?HxwB z5{Ocz8J4fpmPo3Zl?3XPh<%CBBlH1SCv3c%^PE9EP((wJi<*o}K(O>-$io~g68<}+ zw(%1@@&ixkgsezIyxDt_Elm+0`|7TzAzZ(+ zpbB?NK)ND_+qJjMe+?i~t-w})v8TBuD&E6PjSD`O3% zo_o*&*`R2Uv@^vkA9Btrs0jFwK1-?uCoYD9Wfxg#X(hIDXu^!Sf8{DrC5rDu6o!5; z^(TG6O3un0PB%?(ql1Qjps5KS;G#A((aft#4BtY|W}r2X^`b3cN*DUP3w1F=U->6h zg%B9$3%<3&{T#hc`p#lmV2N;E4XZ0jWj`E6UqG`{1WCN%*m4jJMF|ImrJ*F!^~o>T zw8$6@mX*oyN=NylF?UD8P()^=T$QwHGF~QjE>b-ZN)_C$$2aI;&Y6b zgJ`@EVRFbjuCZZrG3RI*3)`i>rF?656mL}){s&T2(RZ}c^G(IzQo0MPL};t)P+)Agn%tdd#e z+@_`|+IhN4WP>1^A(Fat852B7HkwrimnRoDO>Lb>Mx` z$~eRhs7+?EA}D&*bALTr?){`|qU$|)2cg$XF0n#qtC;LJr;$t`+Kstb@?$HAgS3{j zbCE_wB?=SKaz{OM7uZzogy-JnHj{(sI`3Z-2&yn_JiDy&+TseQzWCQ2JH>(4zGpr? z&&|jZIlSOW^to7jvc3n-i8%!o!ONiBEX1Ovh}RHXy@|g2F2mdVgMju#SgPOdd2TUn zrX4WFY`t1a3p08+D8T{k?L;Ra4JwO1MkC|AzY$UqjtXO<^ck+5(cjuGWULqA>&CgZ z7Aa3Lc-l9j^4ob%@~|m)u>W45G^JQiLsIDazUy&SD}~O^sX@n>SUEtN;dQ$Bm)*E` zf@lWDEY@(Ed~NV+WGK$x9kV?vnFaT6xnyJvKxyvs-t*xoyF~le1wRT#n&}7N90tzhecOq={CPPSR3HORjKrMw7v|UD5K8O_gcA;@~HG#y{f%lZdtDbEj`{FEuLk% zP~F@+WIQgvh_-FIunhjb{5%a{T;7*nUjDVln&jGwrE|moJ*JP>K^!cC z5ErNS>`WWoi|nbKs88ha1juS$02YPgz3(gVzL(b5a+{rJ028-;Us7_Q0CW861-qOF zNvYFOlJqM%X;LraK2-xnjD40JMa5F%pLAgiK)%LveX@`fSG@2mWI&WRO)(AP9){q;y8IYzefgR5=7sXsDQgK0VbwsJJ_2Z@b) zY5me$!x$T?RGCr*r(yZ(a`pbQFZ7(q+gFt#ts?H0JQwDUe^xJgke4#)1G-vE=p3t()PDJugczW^ zlCj@r1c!8@{~8Lg@(r1&LY@iV!Y54?_9Gb@Mhn2zR+Q%s8emZ9RYB|F{4V)1{UIyd z>~XAIOpuq?!K7G|gd@wPW;OOpT*d4EX#q7nuz}h#;Jslxq6|^cFCO@0%Cq55-loR7 zv41&?U~#R<_yXpssZpD#hy>f1TD$vtyDzEREZrPrM9xiZ!1!k8;d^c{jWSEk${fQ1 z5+s{{Rm=H_F7&PTWpmrI`-sXhV#|$(MYC)ry=_}rFY9avwfSHy9i*Ep@Htc9GbL3i z4&S<{c$YO_*%`KM&y94$LE-hw+5IY zx>U7ZFS*~=c`i7#Z7g{JUiZPxD2U&#OD+ITeOBRAYV}L7``wf3vEsHZymJ2ZugF>C zI{}cYUevZ5KI-k@l5BT4=56KbjMjV5D0IV%0^i%caz|Vfk-OfRcPeEKzAg^yz42oeM5(NTk}&BTiv{~qw&riaK+11y`z@% zx}Hq-$GK1t@MNl)vM(o%^lv5>>>D)-vT4e+D*tSvyne6tetoycgI~_r2GY z3`dymX1AdaZq>_|Pq_a?`J3r$f6oVnlB|HWo-}=bzHi&!W@Zte#@%KNg*iDdI@6%* zLn{x zPT5&LPpa24QJc*x?1H=nSgYJ*d4!t4qB zT>ju_o&3)V84;TpJ&xOq>`9NRct-UI=q;{V0n&Wu+9atc9TqOCFS+n&Oho0o^?djz z&J?&=<<6&;F7fEVpYtyB3K|R5X{5<1pE#t?+<_RB5{i!_$h3_EGA=0Q5A6%-x1jfc zM&&w4ar)t;b9j*tQ=L4!crt`h%Ue}l0aX&7{x?0!%L2vu2nNes8|AXW1#}eCBD`0B z(Y^#RpZ^F(J(Os)vI}XT?Y9hXwzOhI)y>c7~ZnAxbLyv;ixlL3&k%fjmGUS@&-;V}P@6Hv?sQn0q9UN?CqySwu zzvcH+#I2AxomLT-rUhS;^XJvGixR$fYS+9S_;S}kjPy~WGUoy0NxY{ zsZHXs>9d?ZQ8r#0-mB#)(^9F>=V>*ay6EyH{{>z@LOW_Z*b|1jjDOpIlI6a?m>rwW zWE0+sK)pXS1kR>yrLW^1uUC+rdKyOvp(QA$-b+Xth*XAji=0nLZ*A;(P%bO6eE+b0T-5NNqd0mSdl{i?RGdcsk^ zUbW@Bl`7%YJgK)vb*^(7T8~#Xxev2}XjCn}nRd55MU)Mf;nZ#yAYiMu$G}ka)=>SD z=}^ToVlD1*r=)Gx1A#npzw8nA0*wRc%77vDSB|A&gk`57RcKdN*Eun3UIcQ8Mg5}l z`Eg~lyY17%IrQ3Y^z=JDc;)s=VCC$}1N5jfdOxoPl@_CAN8=U}^4hnn_j-Xg_y=}o zcRg>}Hq&;OB1i4M3eXcPxSk8FK4*j~bHGX6cGhMjc=rq0Gk>(Sf#<@Vo^I%B$)T_277IcqRe@f;#I^1H~tH@cXh2G01Aodz^2=UJej zL~Mf)&mUn`K9}sxhgYGa{%5mt)XvKuqh1fEOh7S)kd_lV+cBFQ?CtISxAr#caUjmg z`Od}Dox_P8$qUEXfOL*3x(2B=i!-|kKMw4N?^Id5Sp;McRDie8^ITRkQVs?C?&9?e zV!c3n?~sz5w&KO_5+)>co0R#L$mysIFAmjjsFnw}Vw7LUtI_akq{S~uDU<(sw@{;i zrZ9vpbhnn6U8-q=6~|hxZe9ExW$`-`({!bOgODg0YPT7ornje!uHyh(Dlu-_TzN{Z zZcR-E+|>r$#3wqJk+DuzE+oXo!-u1+5~HG0nVF+4%melIHoY8fno_gT8Y%Ze&(!xr zY<786HJw-08zDCIs&3$W%})@{1Ue(%O zpRYfiJWsWLdXAi#-QE6x`x-=yI{Cy8NkD=PBS=#{K}Fd^&=NI!qNu_diADo_Gi+3v zd0F}NYvcFF${ZpbK@(2wf5}BT|2k?TKZ>cYa?KaMziOVBXGUxJJ0!B&SAbVfvUCg? z4|&P)p(U6zR>p?YsqaJ~T+TpsWw=Jt1e0Wq^Y2Vl&X(4IVsQ7%qp1laox6-B6oiGT5DKBoC{gJX+paxMP)O5@LgjRh%MP^C9s|! zkg|R=J7jAw@gYe(fEj$(0G*%6TK+7lx$fGvTr`MAVXvqvHu#K=vm5@$eXdZsQPm1a z$$1OtUtW|GLVQ_u?IXJE`|uoPsy7S7>Gdxe0ATCd<}ylVfaDbg2Sao!b!ez}JmveH za*ywS#J$Ihf;nCL67^ND&SK`~h*o-Cg15!P9KweG_7+4C-GX?QpV|Jx?l8aQ7ZhUQ z=v{fnBD*fs`$kS7=S7BsBUjcJ(Z%6Hz}|)aUhsXDm>~T&quK!XlXc}r71%{K`c3zq zP(FQ**}cEwbai>paUiI$#=5Q=qVsVSJn=EK77W&%fK6Yx+E_R735g1eO});|G7#Wu zwqN>i=YUzRKY^v^vLNbVbh9rEb?f-K@>nRe-NvAw3#z;5_aiy14{t*wC9jByoeT^6 z*@X<8X-hx(YBHF?z6Gh3%2=Rsb=j@1+MpNLZw7`bd3+|9?#IOid@=!Ml3;>zboqIy%)9? z3<4?;Ds

3vHc$D-TW*9OVkfb!GUc%T(U!ZG({+W>kq0q|?VX65laBa_j|x|V0y1M}4aqFt*Mj(zNX zpZR;c^@M>b%k}J*fL!dC|$bEJ#4!U_}g9AF-K|C&6DnNI?2P^}IBt3_k zL%aGF=Y6(WSUjcsyw}v8#*Bd<5eC5Z&Upc^!NsLRz-oZl@2yn5CC4Q`DJiLKqYEXm z4aBroo9`V&KKi8;cv9=gf;BPfCtjV+<|MEP$-O_$zBK` z_2KYl#_nm##Qv}Fl4%ja#9be!p}ne*q8+k;dc89tmbh;iq)6G)S4kIH#c(i;D+b=Jzq{epz9|5!DM2%bf| zm+y_o#Y9&pGdO~HMS5lE2>gdk8=P$HGbisxPc$oHFqGtVJ$L+)ICj;|`Cavn{3nxk zd7jr#$QsMoaCbk~mm7N&PD=t5wdik}>!A#Qkbj9mCWpRm%3DQMFN+B?->>qL5tt5dr%X8D7;A~ODbQse3mNgWG9 z%OJ}hCKzl?=H%Vl$@n1l@?uKToL@y0?W+tg=XkQ%&x*g{8iporz zz-u>pYq9L{SVa@->7|5AbZBz_^&gyTZ-?ChJHD;jah7yf1%6)cDoqD^!(L4nuo-z1>JQt`W)4gSQP08Eb$2+HEc{Tu!a})7Ug%<&w+1Qj2^=> z?VIp(JWNS;fn&#~kFs9$s$oN+c^6JjeSNcW+_K?r2o~A>qJroN1+`wym-RPoFZO+!zr zp2$Ocu+LGez`dAhz1-7N*gjJU<3DrH)=*lK`;wa$=>C@DVaaU8K z_5uNjEqsJ~S>5+;gIefr3^`VG$CcXte_Fua*zx(LMKI<1|78{VXjSpce>4ZO0uF!d0b?0F~6!8xRB zqVq*s@S2cgY-TpDQnY1uAwYl}VtBACrnDIM>f`tt#e2E##@^fcH(no+tYWlWpmc26#T-Oe3sx$p8pkS ze8PO9!lF}I8Mgn?j75Q|=x{&D2z1NT_G1J!7P5po$OyG0i!yJR?TRDqz1LlqJR}-|u*{UR?S{3oo%4 z`lBIodv@Prq|=a;;c3V`--#Z15v3ko&?MDM1iey-xK_?p? zqtiXd!(T*MvJ=%kj=b?~vUp=#o?da>?=S~N!R3OA3X>}44IVq!s|W6Ncxt%9WkXaY z%CWOE1F^!&D zzQSM_zyJE@4*-3bH<2}`ntBH}Qv){-88=~aTps(nZG_q`*>98|!NekCwpO+hwd3&$ z^z_NAKnHosSElQG;=mm_7X<*v1)q%}dZ}bH2|d`3!`=I>n!PhfJ0m;+7@1%AZTR>W zHXp_Lc`{+cH@Q>qma#tkVPwqQ@6Ft>$t;_Ol^Y7zSW~nh&i0QQcfOV0Q-Q0hHC~WM z;mrEg6yj3M`zrX^3L>bCjoVj{C--}q08dp9v*CKUhPV;0Gr-h1r^kZp?vH#J)>W9ORV>J$Puu%aa$PYe-LGOH5kRw>YV$Cvl{FIeco_0qXh-Z zsAR28nis9Z`WuBu9|dl^umw;&jF0}mkzAU-`;-$?mgf^L6wy-y@>|4UGVq;Cd3twG zGV%mSU332T*^xL{I6&6M3Pa!yNgFVuzh0{G&D_$nYlMxm-(XO$ZHR4$a+u;?-9BAI zUAD99{dR4(eRub_Pp-cH=pjSTeuStjx=w&@MV=Ces@@|yl~mcAFVd)Qa^nn~Z>NBk z^`C>10iTCwSzY8@XtZrpKr3K>k@|Gdkm#6}B|j*M%@26=E6TPfyZ7foPgwwASFOac zMu$-HcY#6gsUyyc9emN2pGF@En{JH+p!>my^C6Z>(W8*0s%H2ehu_fz;IN!v(9$3J z{;#}TXq}6<6C=9ioTzHOLvZKj-~! zz}M&q-B>gaDG%o6(W1!CjQbWG7}{CY(~av*uN0)4Hwia=^53l+Z*h= zbA?}CTo9=MddbQEvPQA+GSbLl2^I#XWeFJOw0>YU2vsb*Aw)zoVK z@dWBMLR?D}x#>DQOiPEwxnN6-L07TNx!5f*Y z+oq}!E;H%}CjkXq`K(;>C)a?^2Y{b<87Hf@Lg(LxxeDcb%$2~?oKBC=#W37ddny8 z6(7_PqrPw69iTr~5C&u`^laCI@fkzEskz)IL5fgii98Rc0f&bGRdxh!zdchfio- z<11%PTA;i5M`iDaPrzerRS2vA*$;Bm)hm$zNDE|bv|R0#8J?7vEIJRdWkJd|W{uZH z`ym(=Xpt91F5!aNW*M*kipZ%j?d3!bu+cF;QYf4QI|OZrubDPRIPozrcwdJgl@NSj zBk-W7tuMe5&>c?+a5Ox`r|SE3$dbhW!!BC&tCpJKx@t&~@U?;263y8B#uoRs!ciV| z5M8yz0Nxn#?wZBPEWcW6wZp9=X3_8QFDP150Qm*%Zr?7`nL6}7e7wKRT%0+ zISe=NAFVA!zTWQ)10o zl@W@WmezMy?zeH|(#~QnY0Yvh@?p`XAE8~dD|$t>v+IKHQ!v_Lg^%qcP)zPkUK)b% zfxGd7+r$?a1&I`CvLl4OqmPbc#%j|CSWL|CgtGIRxjrGOCB1S{mb;*eHU~ZT7RLC? zb+z2^JBrCGsfAAI?Qe#)>fbB9!#4M$vt4m=m<`vKz3$}-k@0G;JWY6|u`Z@c!bM6& zT1mJ-Tqbc1ovCjF*;A-}slL;gs{abg5pTEgRd}iMN*D;Wj+I*E+KUgm4&F&g1ct08 zR2KOXfsx;rvhH7)hsK}B&tZD86Gtw`nW?SIW0Z^ke4;BmiKaXpH1OT1Udb(CRlVRm z7kIlT@t?gWH4!gf^bZrE1uOA$a#!(l(unbQVs)6uwp`>wGUWBKy2XuP7T?|8E#bcE>Ta$@V($T<=_eMBI@)W^ipc9{@HP^j*q~BT zyj7uIQ*eIzP2jc_7FQQvl8Xi2lNd=ls>%;}{I1Bw6eJ#dRFWaN7Vm8z&`lNzbhFyX zuv3&){yQD^aI`)EcgUTDScy^yd?293_>)eV`Vg`=(fNkR92MrW*^e~a@;2 z0|w{prERllDT=6iiDRiGl6@2Y@XpE3GhIeE58_gT^q=&~NcS-_Pgd^sy8<#=p=x)R z>kq`%Svsn5Flb>0+&4NS}eEb~v zzl_1$#mpU_5?=%Jec7Ke`PQ|uBm9~sBt{n8fNS>)82Zv&MqT8VJ_mJXMELL~wZ7#v zql~?IKQ>^=Z~J4~)7hIyUO*B}JZT*DyK@MDu2l*|+6b|?eZA<1c?YzrFB{KeGyM_wWh+my_0h30{iOau z+RrjlKG8>*?EJs2bL;AiToOE*FbNcVF0L#kJL%xeX#`yumyB|N)Fq19C4G`{D%cuF zQI~q~!U6Z##G3A3B^Q|Z0HI4dMLv#V%&#ABrb*A*>O^_xt8T`b@(f7En{eyC*)ZZSG9e^8ETT&ywT}1aPt3Vx z3^u0QGf9|3U|(BZMk_$Hq53FIi*7)S+UTtRI7rS2ioHh*%sr!{~!+q-#UUy$PGWg znO!GYD-CkFrMWI8ITdANtB^;N$J(5D+=vy*iaY5lRDef9-w5{gES|Ez&4%?W<`+P! zwstj+l6I0!jedL~7Zd4wGewkZ2xqCW^ZFT{CnMK+)bn96VIdf)iLj)Eb=#ll7G`O( zE&f+$Cb(aQu;g}GqS^DaBB|c@rr=1-S&gql=*_<+oxn}ynqK42!$7oSvzLx|Q!w>HNbj@E z;N5V5%>_Niv;W=)|bu(uINi;x{0H9LXnTRC6 ztVzIurk+l34ZFwSC*PB}({l7)O7)X++`qXi=4B}`ZzukJ6%)3c4shn&FrdaxW#z1j zwhwpzgt(QJ%!u)xo-AEI>~7-%3dotyS8G43q--4RUsFey385(+<39s1IIVo0Kb0~Y z%HH}VR-efOYpV?IkK0!2p|@Kkt*ecC_Kl&Cci8XouonFnwsM~)dZ zg}?XNh1(8c4xW2zxzfb<44VST9Gp_oFQD8iqL-ThYsKW?HxzJOf4m&UucKZz#jn$X zfw3vX{Z2X6Gd3CgPo4wZMoZhE>p6-<$r0@eO~3)_Isc`^_j1TcyUF#-T~7fMUDI45 z!>HdC&&v6c$KSugJ%5k+8{irVAsZqpSEvFq@6k8jAQO5Tn)-2~BJYk&!R3D%Wq6z! zcStc}vJ5S?EU?t(DOFpkDNE&9ydw&nB#@*F&O&z_aYo+8e>33l(uGb|>RTd%Ax%X# z!5LWWld0M^m8r!5KD_h*XTKK@$(!48Dg7{L)l2EBkXcK6wnbdh5Ycu^=80|!8K0$RiC`; ziB3q9&?DZ0@Sbb=D!ACwXqm1_%5VHU5f=>qI!4)jD2vjDMSQk^zH7M!gcBnZb*;0eL;8=6s|+ zQW4zHIF8gBTpJkJJND~?@Bbm{t)k*upru{h32wpN-Q6962X_q)4Z$tAyGw9FaQEQu z!9r*p8g~c|ckOfT8UH&EjAk`!&YD$U<>-t6j-Z_BFR2*v)OG?ROmt^J6PbE=V$nT^N5?Hy8mCIKLcQ|R%2bWn$E5hazN9vj6)K^VRsZ*-0ss#04j1?7KGk0={g6?I+u#g9m}ikl$LjZfrtGc zYx;w^rG8jiY!xRqt;kqOJ+4%YRKB=VYsKEQaF~bcGa3yQhzgAY$}#(wyis(&&@f!3t^0>v;AB8VziTWI_J?e zxVRB@{QDk+(6--Ae5=)YLlC_O%ouq7zkOvc!Syo>uI0nco&k~ z&3JWN1L2u+Z2~h1s$h zC5o<-wmX73b#R?3_FV`kIrGa?ye%5;Z1C7zdNX)NXWCxVFz_Rb5%TnFEa|vo3%}k| zE25b#@CNt3&<>$XQ}G~%Tl_`x)k`7D=6cjDL^D1iFJQhaW~K|IG8fQa<|ms#O6;K=BW%V?`BCR(Vr9k4}ESNWm#MRP>kp?O2#7v8O-OL zFXW860tWjkPTB3*Gu;Wew;O_cJG!#Qum=sQHMEqy76;k`Ad*gGw?XA=jCPP zXJrwQC$>TFE;y`+`M+*1uj9X?3I-nge{kwq9SHbJ3U<`+wE7_g{_z1#n;5-HTYF#E z@(7mqs!`Ol6QaI-OP7S?#X+Ni>1G+F=2vU7xL9`q;t_f%$*76PFtRcL!8 z5YK8f)hmT6=#yfYi=A8mi9!s#N~DUQYhaD97wV}rGUhCAB~=Z*`}{Z+$L0wzx_00T z_Ij`}5;>fd2t8mido&fBnJz*wRma^Xw)MtX>kBJKnvAx2kOUi>+9V=7rlfX^Zdv#! zhLgh)>`tVmKu)6L8*}%L^GpBr`?#S!H493)@}Oay>ghIk?a5)54UoQ_c}v=TuzJRx z7m0OB9+QGY{UCcuf}MhMsLpV*O_@oNLqmQ%y0bip{giCBk&5ZgPvsruj_o%$2|%6~ z5fP$2SSIO~Yn)qbDh~-+*cd(=JcUE@=q27oe>}`SO#)z$6QkKY5KTMR=f3ZJB_TIS zVJBTiZN!KgKK05aol2$jID&T)p@Nn_EH~@V=j(#gJ@??7*0x^T#GVfVH`NuN zKB@QyABFQ=lTi;2E-AIFItBtiAa)DncwZehU-}}&+}~j_l3J|B%L`q$qCe#~X`(Q@ z)&-E=r4aN4^P?>+aBsf%Kl)vG&3#c5IeEQ!p9B1e1M8P8y;>%iPA`j5B+xPePuvBq z7r*>&?w<<$fWiW1lh>aB6&VZ)x-9VOxj0e_I?vsFO1SU27}VApYvtyi2F<<#dhYWZ zv+3jU=KED5gS2#LE{lN#OkNN0Cw|?Eq?n*&IFYnqNWijm@h&Ev=?_@LbU%MpK!rt0 z$DGZL&~*K*v|!92fNb~5y4i<%&2tU5)Vvs@(JmywL@JA=hI}sV%r&J`t)vLD#OEy_ z4gZt{Pk%_Zkc(#$-NYS%c|SbqI+^#omWyOI3gy7$oAgHo%EMl4e=m{2^gGiqTP)h- zZZ;44i%;0q5_XRLWC3wD#QYb=R)Vwa<7=EC+7EE|0o&ntp4DkJ95@U-iz&iKeEK3KPrgL(9{UN~xDbqVM`l z4V^ty+K4g1GLS%&@XqyEm@hsE+`L|T@#gGRpVxwyhqOWKRv>g!_&7DOhq)dCec~XIPkA=UNW}e=22*ht>g$6Z?_BMD`59zsh&)FD)dWh-SejzhgR1E6N za!3&v6Oq=MpSvfKC;{MJoF=!l7e_Xy^|=>tzh=N1F3oH12(u7vs%CWA76b}PW1Eq3 z^%)XSHo~RYRYnTA=JL7Pz~g$H?&>sv4Uv!Unn#WAMDl+s+orklP&BAn zuds`YfQ(7evq3==lfQ!aO}!>8JcdWaVIF*4e99KURi=4#wIHLLWs-E~kv<^j)wiM3 zzw|ye5T}6^RWH_n@Q&2gMk*t9uY&2tnah03q4kHbB-T64X}Ww=5M%mQ9t1f2&g9TU~w?^ zpcrV=#9^c8+0Tte7DQbXUYz<)Pj63e;WpKI=$B_yYIBU-HUolQ@AmA2`c>g=(kCwI z4B0l!-;3aLR}kbKV5yg$B+3k$?8A4n)QIHMlQ-GTL{i+rUq$-%SL5IU6nh zAl#@dMlohO85y-TY{KJHHAR{PCTY8RPKjdxQ_iOKUu%$Ena}Aid6(lV7u!`akkKe( z57_T)*(FQ&EOBL35{9<4n-%>^PDTbH9aCd}SuN}BT#Qq>J{=);d0FP~jc4XgO_Z=i zQarz^x!hayV9;cM2O6Z|0tBs91PN$OG}O$8qJ!l_n?+|!IF zzEeiFIk2WKs!qK0*sq*g4GQF=4+E zRYk1knMZ3T6crgtEtRaCnIv=dq?2AdJ@YYv-s z+FbGXHN9Ry)gk3`3H#E}WcFe?Tf-;FNTyxmqMpTCb&y?fej7a}B|xV&cQR`?sCmr& z5X4MH|ND0DVQP_PO+7Vf??Z)v{^_^#3~zE8UTxC=UuL+veosrPfBj^Y!}1{3h)LEB z=&9D6X~&4(BJL)fR94_-=>BzDfbVW=0+FrD`TU)2uG_dRzjyNMQqlH=dOkZe)15(! zLArQ|HkZTI34lYjHJsh!?Uwg{7twN>3HXLcWw9S8*2~x%NXKhEH2jC=qYn+(Zski< zgj5WD>7H5m4zm~T^t|7)%)(h9m-(66OgTV=Fv2n4V$OX=xI{5{1&gjOW!|TIYYM+mi`#=aO1=UfA7`56iX@Vzon>!hg8NOV ze6WSkTy%G!g781&J>8U=?-h3Z?m9>t*|fW+*zekAg4?p}2fQ7GA|B)7VzV#WxEbi^ zZ5WzTz6mpbxl@m&2g_r20%`LA%`v-R&#~0gvRVFaiQX@n0%)DKj>6I^L=>UVqY3dg z`;CJrh*s<`LzCG!^}W9l|D7$X#>U}mIj}Z6ed4d6%So*Q&b&D|Rm&o-Ydt~T-ai4c z`e&|V@8)6o+T!j~?-FA5NLwbaK5Hy7vd!rzbidVu<1v^W=C~hiCa2^(o2ti($n8>H z;BHP;9d{G`ch3xXL{o1N-Do`LIh3Vm8cO}mpgPcmdCK><#Gt3~#2}RD_Dz^x=xw;mA6}faw^V^X zvEL%|3h!}!Q2bnx1yjabaHABGFU~r=3-sU)Ts4J1euzgYU1UwC;}nokip?j?q;)h;g=o-e$E)S7cKd5PT!~29l!3sgP2U_>Q`vEy1N}iUG2iRDJPDQ+y|M7nzc#U3z_{0)v%-7DZy8L z2*tGfjkI_A#qU8u1Qbc3w0UM^nT2m!=SSyKqC+xAl3?)IH3$5c{?Y%MrZ*W2wj~<&(lIB-VM+aW^+*pP%C>Zrb8WZifB5XT_TaIv)Bd1iBP1M#Y1ex5GXI^xwdT2inI2|WGGDR6B;xA)ZN0=0L3M7mVLeh7_ z;d+75yr^3jx@o!Erg7B<^wpj&H!CkY%dvKNWb~rjW!N+5=o=jstEl!RuZY0Dg}}VFF)AqaP9@orP2E~7s9t8eFFl? zDG0L~?&p{b#&F&t_}zT~gX5bX*S8VePN4FXZ75k$g`>EC9gD3=f(?T`HCoM+Rvj(z z$y%CL3(dI*H>92VZy!f&4qX2-*&nr`2gPb}eS_OmgH%zjIL?A|CHf1jS zggTsU(ST^VaCVwU{m>1W#ZX-`gSMd8-@)XU7XIF&v5=B2>leTM^g#SUA4zYjgLabW zP!DRD>F1KDhvt7DO=>>7@I?Hnb*fo~Obr?QE^Z?NI>upGCrUr4p&aJWaC<`v(MELe zqGFN5*PkddX`QVJc`py8Lg;b!@h?N9As6sAO%RpX3+NoJ>7y&iQ0Hp&Qq{%V^C17` zT%J*hh4wLQu4CK%T=BF6Y{^nck-ZZz|Lo7|?_9tN&*u$3oG_oebvL4jqT*80fs=2B zen+rm?RI*e%=k`lZ`}7|)ETt+b~&{L3{ih2A|mZMv?UO~idK81{XW_honAhXr`&wj zw&r|Q9!pbW(DVd98*~ng(VRnsBw)`Kv#PBwH;4Pfum1?2y+PApd>~!_J4`oA=t(s zYMk6kp0Ob%DRmkaJCWK~Q)&}@3&6u|)JpSbr8}u|r0)m&UOi3TG~LLGY~?dgi~@$O zIIcXlyXCe@NF{hMI^EEl)F%*~#+wAbC@d;W6y+woJWLti0^!MYj>Tb`ApnDe7qDzQ z*5=yP8m<@#|2m%KuX$SNbzSXsl3rsWU3adUP%q)*(Ic(a?{RMVsk6Ypm7G4mg0c5} zx1AUL!`2rDF&rN;PDu@EI)p@%MD#Pm%o;D79J}Zk<-KZU*a9SAL_C(qLc%z1v)(w9P}t@fNq$oB~om9JNk9 zFGPoR5cWcQCPg+Jg#U(sSq11P@68nzCH>Wqh-)#B!_#+~W!$G;vSWkjYL=@FK{j7~ z-M`u!g8;knL(WkPGgREqW#x5)c%`R|Dmy+nxFpWhQvR497qy#(NmJ?q};0BC4JVqzVjO8rapJDor9 zf3B)1c!E=7O3ByScCys0c5Jd%23+JvosLJ15XYO`1AhV_sIs=|v+?3XPZC73rb$Q$ zU%InEk2$_ZZLw%2^tgv3_AePD2zW0)?v0AW{Cb>rp~y5_eZcp6P-A%lC`s zGwwW{su0`Ncs@%U(*OaZ`DyDxNx{FogEPM^$vpd9z#e}e4Es-TtB>}r*GRjxX$1X- znN1+v&W#W8APn*mdZ>?K)O=bEx&-6*QxfI~f)BJ0p{^c9=D0Lj|H5yng*4Sw1Xd*h zqMkly_AenDi2}m&!CI)!uO zLD)1QXsm>^)vxF+^sKsvH{XF9)Rwl#>1K@Aj2;$sYNi%pspHP-9}pS`Gqn_%$LhDx zlsj(Zo@K%xyvG(vT3dUIAFr}IvD)TXvi6O(qeaz8Slg*_Hpr0yPC0LYx=mO-C2$;Y zU?7WVCjtj0!aRguA=zgKVf2~)&R$) z-JcI@+6ag{K_BdZ4kW!6`}7$7rKur%E^cK8qLNUq1Aj6s8c-UEF+f;VF7%wMo{|mE z7F4oEQx)`;S&mO(#%h{JH21&R0rCtnxIxZr zPGtp>vM~MJ$wK!qvlNB!JsZdnCCrC&D+zNaXa5xZRW89yz1#PRp0U4(EKgC;7;rL% zSM1Ff+yw+UX$ORB(w!RDNpLxEG3E_l=l&Y>i0RcVxvud|pByba-tuvyOi$<~cZI+( zV{2&5Fi(*0;dwB(k573gZ`Z!_;kOCGbt}e0<9GWUf^DT*-@n;k|Xa!|D(^xb$Qe4lGA4-Xo2KUn03at|^4r z&;`27;A#(ZM2*uly$9}|kOeGa)qMW?@1VDR@KYk#Epz?*RrSH9*ZXVtK;U@n_qM^W zYtcOA)7ix(^HQ7u(ftn6)_v1b=kw|SaEIRm7uJA02IZc$GCwgXF(+3x0KF)gB5U7# zf5y0x8wHr1X$eC*ANOKu9v=?GU5r{EuK`?h*S#2Gz<$*xMYb0z`QsR(=&~r#*Wk5r zmmKswcyX<%3Eu)x6<)bbAC9->Ndka~ThG}#Irz)Ux>(>p0yVL_=3OH9j?^pUTm zB<*wG^08EDVuD?#!2i`ZhH*sEtYra0x<^rJ17VeJRw!u9DAo+-hUUlcsiaWxEd@M7 z2m;FJVmMa^AyVi;7W>F0N)t=~-tPP8UmvIm9i5Y)8b*F}B;=y7IVoh>pB~Uh3@|V- zY7!0iwgg>bclrfA_y2}s;P)A0Vmy+mNRN6Va*_fs^4;HhUCux@GiiP}cfA*XHvvrl z#Kyr?_E&@w+=wN86jYB3TsMR2t&n9|4G_1`;f!5C)a+5p^pgfz+naca;QA#Rzc$Qo zrRW1Yhs88u7R+^)0BF~9!6VURe%TF}23(BsY1IoK35y~zp^ru`>RCi z-+sw;Y6slIi?+4K*+OMpWyjPybxYNn4YyYcRYJ^-I+R)wVW+z9Ev;_E1V5pe{TYL4 zY0~m(YvI6}V}n^k=0&)V3M57eVTE|r(iQ)w1%#qVPz&gJ$)J^K8)#l=!>1I>a55h6 zFcvUTStpm#TI&<$(j8$2&byWKDI_rK-E?f5MH3cXArNAJMhoT+0rM{l3_?5nz6+8WeB5& zj9IuJ=ptGSLHl|W`m#!a7_VS>Axk=WQbpB*YRRu-C4VcaXTmT!&-6-s*)K$C23B1u zivALaY*yOLN1IJ)IH*%s#UIvk7wv`Uck#Ab_=I6eI#SFUO`0i}(BJ>??7bNl%Vb&)0Z<;;I}= zW`n8>eqC16*2@_@HL*FiS0oP0P}Y?V*Q(=1&!2aU>3^ei9A>)hP9Em1U(vg*{ZSJ-t*z$h;=hCrOY=O}GOYA%Ys2`qS!}DN$$f@zFJOAq{Rx-BC zw`kO(6zwPl$N8OM8hh1AHi37l@+j`*oQBDnE=*#4WKo^w_egSmg}vsZg@51xuK_Wj z#TDQM^MUv`c7R$m8Cz)henJ=`0yd+EU-to*5yZ~!_r_iuM~9XV`H~@}I55r~W?f~< z1%X>{UEBLQE{~(}6$P$ShNkZmp!drzMy=ySvFkZv)7R^jU#HE0#Tu1+*}wr9Bo^Mr z$En60H(&n+oz9PL-2T-y@!t3jfED_Z1f^qwFMh3<0M%^!qvF>g_xW!bsfpspqnqz+ zJ5Fujmz>Oe0E5ux+&pijqv6f@Q)rEziIIvUJS?^oK62+w7ga;Tx8P6p29q5eD$mchu(nbAsIfYF?JJ#lR~0xbi5l8#IxHGo3`#41cswJ` zzW?RdkxDVs1CpGD;d=Fv$_wQRTU$H}eP|7_9N35)VUkhs9wK{vf{4h`VP2T*B0HDT zlQTnFQSDSbO6HjzWi zAmREvUxp`5GYps-+6;D$)C?scOzn>`cR-(D)FxdC@r`2B6B- ztev-0HOf6JTbL74UL*nXNVTwWZKAY0;#AQXV1f0S@?d)uo3po_mRq*7vD|fX+_!V^ z@bI5+)WHz_d-{rHmQUJhVB5u7r6u=sq5Sg+^^$LoW{r2tfM2Cwxb+`Nu39*}S&vEa zBlyNf2J_Ez-~1Q??63nEs3u%U~*!-JRG{8$oJgyXT(j%_2^$#B)@0~gO{Jaxj1crATh3BV*uEJ2qbsKI(cCSK}!{a;d;;${X1`e0!Y z+P2_3iKoBVoI^7Fw&g&K4nxQz2)kGfrPB2b2UO+9_^P03o=&9oD}j>vbr$(}Igl1* z{g#SfwMnjK)yh>4YTs4E`~%yCs}!g@OPA%~d}kzhCt_pY83GBEc|rKiq`3k7M&YZSBo?U+GJ?cUp#YO=Y#1 zTU+_o@RezjZu3swP3RPL<`R`nIUz+%`pqj%PiJ>5+52i`iFy7-Af9n+KGZ5deAX$` z1ajj@Sws#G=82I3w0*2)nD5YB~5Ta>_zbGNzsPw>0eS?aCy-xCE`g$b128A z%xRnK6w#h$rIg@ndU-zD%u}$5<5aAvvnA%zQx6^Gun* zt)N81;StniVQNAry!v2d-fC*SvI=1I{nPe&6_Qe_@aNwKKK6bj_1j7DtaGa#3va7GDX zVx;{>p(n6sL9XJ*5w18P8hz}@5W4ua%NlV0+cl38*UVon|GZj`ng90_5L3FG_Fp?2 zaEZP>O|>ll^<7{jo~l(Ls#K}*={fGc0lEk(A*1-Y6?F3~B4{96Z`d7g7^-YzrqaQZ z2pEk&u0+`pvPgy62=K~@b8|zb_9|pGkpoKB+Vv1`yd3gW?Z#3Lj*~(d+^W2x4rXl? zOpg@BRO=m@f%x1)$Aurb4gK^87Oss8FpMPH30qJi>V4Q~Y3%hf)Cu9Mo)|wV%*~<9 zaVW@I2e6ZiH1f^TOLj3Z`W)Mfn5xA&Pr6Pv*Qtl~JdiXIlz+ z4hQD24;0i!Ykn55>dbEJO99^nO$7RnPpf+=u!X!OrMb>Zr+mWudKtF&a%7 zI{wrDS_|ppe)YP2d}582TlbZK9!4?t6yr`rfDmHXKi7_{y^#VdZMh4I(oF_x#$pDH zi(>pTEo_+&i!76WeT%J$EW6TqJ2p2R6WT`P40o$?N|<%o0=-vDyjn(dHCb2V&>?j# z{Vz|8E!{JTP`p*k)jRs#%GNS=I84r`9g)<9Yu}t&#m?IgzPkmhN*HHM%msOm zcm=+cT=X1>ULYaYcb#_}EE`@F4s`nv2R)^d2TfN2r}LHW>p}9TzC6Jb$_@XU8kQmf zx}W_L+higqy1l=YtNwsHKpi;m=|K7`EmciuKkYq>&y%Uhy6VIfTIg*ECvo)o^&-eG z)A;K^m*eAgI4U`_F4+GBo@6)l9$ci=_xHg)?eey`V)kVmarr6^9Lu=cL2 zqA2!S*r-vabN_2BY)G>@*o=&j4RI1;qN&1|u3(GYF@@5s?tVK*TH#YR3ue~CrgX3o ztJVPzFk~r6mFs15dpd=-OfkbA@{|Y@)2SSu+w^zoA(sslV^Wq)O{;_Z6s}66gs0Ke zgXIB(UV$ZTnhB3T-f??Vu{RU;p>gw;R5%fFFmss&>>)#VN0-lVPw1znLt5=%EiIvL zY!OU1z|C9f8z_5hFkPpGP^(^q)#r&a@D@;o#@>&j$0EoAMLrVPaOvPdn%v=Ij=*U) z2e#8ry3+X`s;E~rEFKWbO+{F2xn>7>`r#~bZ5h9i8 z$Kc!(6h%60_lZAkJ3!kbsEYOk}SAA~N04Qlv=`2OWK1^MmX@#kpF z-vj!;6M^H|IoLS};@s6?4?FUZ`u!~q<^0#+hqa)+LGp*ONU{3qWkb$@hi&=5yOT`; ztlE#5AOm*(gMaT8KwAqCQ(u`{&TnD+ej)zep=O!u)XJ!|+I;h%8+=Lj2&R^kJFfYB z@>}`+>#Ft3Sl>q`wN1AJ+YSH0mfhXmks(ovqOke-^c7RTyY$R=&$E`5RgW9ig8P?U zvFj_f*SnP1w|hfV-D;xIU;E2z!FyoPeLleZ*jVYkU2R!5=$a=q?UWHG_z@#G))w_; zq1**fRqKS#_JEAk0MidKq1NLZ<~sk&{%3)Vj$B6zp5c$b0xj7xM;Ww}v} z+|1pH;ZbfV1m!G(1zDlzU8%5@nzORAg-NaIm-zVUM^MA|M$FCw4%3+qnm-eNTM{Z@ zGW~l=XF_4oVt`Q{t=*rXQzfcpAEqq3<=Ne05W@S>6T8u9M`iHmUiHWizJ`X0!XpKp zEY(li#Jc7(T0w+A-Q!dH1T{K*RT)WOWGD4V6yjh8elwEFC>>2DeR4ZScF+_E+0kJ| zyl7y8Z@|UR(p1VqLCCphU2W5jnN1BR5gBr$;?x0QFBl1|$UYb9iD0bZ__yxrJv+J06CL`}RwSbUop zbBzd-yg97w$6tLd`i1|e1uVFsaHl&_GqaOgCJY&R!y-mu_bVaL$60Uw3LR(9ug`yfqvrS;Hj?l%ZnoSA$!F8>u!R~#&jQdjx z?Qa%>kS_Mv7Z=++HS2*U$KYJWwmHE}qfFAUF|K8f6G=^X`0O+Z$zO?uq9V9>MOogZ znF5i~1Vj2#14;VOEOE)d2i2qVKLxihtK)fRY5Ey!7B}%wBO8U2nD2=GK-NLhR;04j zgfPO$sF;(=ppju9sf>K$kx}cGh(9)vv8+z}1Q#w9P3wDGsuHn}=pj%+k)W5MQ^+)0 z<8@S>ILzH9EIXeNM`-PKO<1~@Zyp7dtFoK7l)qn=7`Eo~ey-VRTnwKoDQX(QCeo_? zV=^T*uAQiWz7sV^(n1>@huw0(K&v`BCdHCJ?zEF%GS@j4Bc1tWd4&}c@|U`><)-T?-0xq5@ z*vd5+*IduLi5zM?SI*iza23p3PsscV9&ib(<-$B-IrbN!M5MOzn{t*d|Ov%yBq?R&ak*3@4*TGTihIk3lU*_F}uYww%u^9^wJR z+2^KJ!d>M>OvmEHaIs~TZV8#RKDT5#fm*8RB7tScLa%zm)}k_A)?~NiJ-L=8{nRqz zU8yJ)!+6&CFMjbBDC16f)72x|w%tZe^CTrUp@SEM!jT68Yy_hW;jf8b-UV%QSY&oq zYh2^bcrBETwI{OhrED=mt_NB|u3STQ|BBm|<6@e#aN=`X?(ekwI&~MJ$MFmO(Ac8?TiJkMz-ID`N@nJ`*$rceNmUCU@kCf^1bv4cpD7TZJl;AE@=X6u>>V*9d`Pq@}ou$_k{kciE7z?TPC%DL5WNx(3TQZbKmE_i>5 zZ^t>=V2I@9j27V>ht^|PB-2O&v4J$3|2e6TQN}d5gjt_XcmD8qZ#rKcL>}{rTTqn3 z{1fkLgT61P6|v20kez#Ddp;&LGK3!SnSwfE zuA=1jaEg;gG}X*p1raSo(_nIXJsNZq<~)UnhSw8Dt+j(1oEy&jv84N-Pqi|au8XUe zk1-g${hu&&BeH3C8K{EIR4&paaqm35<&1VbV@cKY&D&n7S|+Va;PAsFSMWXQ>|gz= z^p>0&h0zZ79U}Pm*O&6KCI@6m*g3W=VZ$~ zPucd?55G9^Z&*zN^1x~&BKZpmck#<#hg#vYW?hy)&IdlZjaA|Z>L|xFxPr-kF#&s^e2E0roXq1XP~yO9W`fm=QYA% z((qvCse7rH%wvyQx4LeZRP^46cAa;wl;=8$dhN2-v$lcHv%4<*o{pZfcM3y4$TO~u z+(0fGCkx2m=HwUJK6vr#t~pm2pLgBY&ZjejRh1-)x9)&0+G{s?(&xO;1i{lj;5P}l z-|!r*q$jxnhZcCAVj37F;A3rXQK=0v!FVENT@gh8EQcC&rpLyZ5|S zhJbyA8&-tEJbPdok25&R915D&3i7G_zXyD89hko%gXlWYWYl_0*8Sl&wAxAYmpO*c z|K3ZE_I(C~h`xKF(u?%!l&kfPG+T!CU48f{WWu6lnI;Pzm6xJ8IcHD3fH}#>_X{Oo zHP|>5PZL}=*=d@m@PU1;#3F=<^`LXTuMzu4$RAl%g%M&MC`PoRp^x2ITo>G|VQIw{ zDY_SzEDmjJ)nMmA1O2AyXS=R>yF@;N63agm&*VhL&0!x&a~u1sD~V?+;}#!pO)GV( zKVSXKC3`Ip-FNuNim&{PvlKEXZAOEst+$6ruj0NVguab}9U>vGq29q9WA$RDMk#w& z`|-Rw%sutjC{n!a-D(K{+j2<0_F z-?`F20lA@D{RmE$#;bSu`gG*->!QGr%;zvco~-jGnXLP!81(^HLG0-3RtRF=>k0Qo z`(0-wx%M6`fLmU|BM5kqzQ`4muB$aj{B+d^XJx}OUK-oL!4#u1+YzVQW_b3wWQov) z_u&Ia>uvJd$Epnbr9(gvJwtEHZv5A2LKG0^h=ehZ-&u%}~!aVSIj# zDNj^iC!@JH!J-~bf+M1)j66jtm9b++t%lM-I}^wAA_KpolBa?mW}nraxey9VgMiW) z`|drn$tIBa^cN}yA1j@zb~sD^(~Q1`RyW6vuX@36H+iOym6}WGx(s8|Xwkt6tcc7+ z8YU5+;POb*l96zWzR9#GyQK#+XIY|``Hx4^sgqFChB-Af;r<6wO87&|_j%S!NO;xikQQQSuXY=+y0Fln&2;OLa+SkeEty}NkLoo@g92Z z%!b*a*)ZP5uX~=%A&ydw9v!;3yh>$ngJ$4T>d8r=}8w#j(Nd5A=X&CaVGN;A^zyp#r5X8i_}K3F$P;olrg zc31YCFj6Ri9`pOk`;4G{i@~m3WenaS8&GCx*IB9o7MX%sN3%%fMftVYtkrvW$9~?j za_&&mlhNgF-*QZsJLPv*W%94bB`9FTV4_EL_pWmiZr(L7zhVmmxzC+Tghl3kF zD+GnjM(qx#NsGV_pg*NSW=pa1tMLJ#2~ zF!Yh2%^+RKwq28(bFLr}*`Ty(k9KWMu8)zE`!OpHS#pOhb0NhF;SR=f z2j0Fp>&^`BAVy%F!J^8+IV?NZ;(3mTANaU$N$y1t>vz?Bj;<=Y9iQ{R3ZD9m0xg0^ z!^AV|-l6djQjekeT*qI-SfkxgSAEjoxm^|>!_ID}L>=u)D10fZqDHpZ#(N}mm5E*X zRg!JQDpzUZReXph=qlGH3qD+Q(%bsLz`6Mpws#qY0xZ8M8h%rlWD|A zZZ6*#jxCgQB?7ZlQuQccqVteMiOjx4muC1dB+HcT9a5p%6*Ctb?@Wvfb7iP0Ntf>5 z452O(o@m^e?wo4*MT6N6G|m`8MHoq~EMN0j-JYe!e$jD^ms*f;m&323+(g$$QM6BU zw|rh)f#nht8}XdRTZ`3a$ma67{XrV_M}vZd|A&muVgum*UGIImTkRD(IsNc`BPMb@z$;$8nH*}`ox@+kr`L0 z5>3;S?pp7Z>Rp_j?pLri4Zq*f%z9KSYFo(2Uuz6ND|H#T#T;eY)Ft>$T<#CvFnE8@ zhQgKX%~QTfr)fimji`Gp1Bz6v+leB~6o%h;woe&TLTcd4kKm$=NJ<&xF$Z1MU#~g$ zjJRTxxr5sWg1c`e6iT5Vw6qh@uqGJ@q*aEa*#vN9i7BBnI4T8g$5>MY^i}XCf?-lj zq-d)^k7gD#yBau7CY1?~9?01uwPTlT@m`S#E&}@L7oDYh1gX8{0`sTv~fvL~m zadPh!!%SA=PJq-`-P@0#jL&Z4d$ts`8AVRQP~JzyIJt5A&nxh?%hvy&^5!4gUf9d- zXIS#bYyRH*yNkT5GxC>P(u=pP^4!^XFyP@T`Tkwh;h$q`=R7#x^nIjlBVfgNRO~*f z?bn-5UX3c>s>ji9+O$DsAth%6g>PT8ToR$-wFTZ>k0i>N-c5IG@NUKsM0dp!%Xjz~ z-9Xh*^Fwxa_>BVVnBXuuP^_V0gjD8aO>C#FjSV1+v%Z!PL1xaV`4Bie4POMo3VdyB zQl#soJO_!21MsM=kEa#lZcFj9(ji6X9u|N2DROz!V{10O;!avPS>!ilDj2=ar@ z2aqTb498{;sn6V^vhH-!1=IbntMysl_O z0|Il%hAbV##)IQ_D~C|)$(83|b_z^tmUQGhKV>KA1>&{{OX6V88Mj=P{I)eXx3qTy zrJLY4lTX+04>c_Xca@DAK~2`3kZMwxJ94E6dH z!n`K62o|stC-y#0U-;h`ZmjmJ1s>lVK9kp9Jb@q*ALAijy(YPqduxi#xxA1GBjDKB(65QrP#@;){V!E!IG#nyi4k+ueRZzbK5n)$C%d-2NM zk%l70CB7}#%vPzIu2p#gOh!%5|BtD+42rAans$-k5ZpaLaCf)hmY~61g1fuByE_C8 z!QGvK0KwfMxXZwB_WgYIR-GSIQT(BRnax_gy06w^AFZ%Id`+7LeHFTlLil9-wSrh< z3Y51QqBsRQZVR=LplGNJa0$KHLn7BFaqk zLhZ;PC}`kN>|p|JyonTka7@IV7sw~Vi*hHz^{+U{V%H)lIrj4gC_FQQ!0JLdRuFNN z!z#0r)6Ii3?(pzJ8pTy5w|$3A2g}=4z41>!7a-Rt!NJcaj=6eJa+bv8WYu%JEP9_h z{Cb=2%+{*0y5(8(z35VU@LYrjllwj`qO^$aX6_Yu@3JSP!f-pW{sHB&-2I*M&D3t% zNA7^%#@tNcS%G;_;o_C2&0QCW-DT2JquwLVEd>BK-g_n0Pu%1zJ>}N~T?fdhX@U@k&2+9#ZHv`x@z&d6jSQLharM@7f0xqX+f(c% zxyKv|5_se>>YY-Qo5b;o@(2R)&@%L+A)hgLJZ!b+a@b7Qbr2R1=$P(k%#IsrS#x+# z&giwC2l2eW@%Lt7vrevET*VUF)OYuX6Td;aVtQ}#$j`b??QQBCF9u}DEKJYvLQr{^ z4(BN|I~mpKVBQ~V+S>T-2%4XQgT&czfC&H~TApxQjQRErd&X>Ue4_8J)b_kD3j?q> zDH>jrr5}Lv*|n3!O&H8fOv;EE#vpUwBr;qNIM3m2qkcx{ejl4RtJUdf%l1(69x$a{ z{nP5cJ8SfBG3sBe>B|qRsW2YMfAxi>Dvnu2)sLyhrY6__9QMyn93>KV%I$)B4`_i4UjiepK@G-1J-NPrG3%(g3GH3X;vy;zf%q=(vK2#Xqm zl{1}>JD97WNdqKgGw+Jkeo8jOLnoVPq>a)mXJm*&^V48Z7MaOsN!21C?-aqKYsyIja6rHFo?;!n3)>FOjEM{8jJuqzZPm>Kqe zS17qo3AUee!EJpWP-CyhqAamow2eo_S-NUqTuwwX%_B zm)AD!D(biOwLL4(xu2Qb?%sP4B=< z0T()k`XN2hbTnr4_xIorhaYgpc6QOIc}Up55t3N#-&15!B89u-_G2o*B?SK!3&NwT z(!lvNZ5?F|{e9>_C@lr1WG=K4BU)NE7Dwz<98Xnb)lrgJRTYV5pXp)PUIS|SPeQ4Q zGhLjHvHVi`ezYrvK@Pz+8bv$KNA$APES%2_MM&ypQj*BB^5_iqb9EY(STU*m8tN(C zN%2%g)b&pn;ET~Wh-RZ#pRr6EP>^??#R>3A9^L?W*lFC-+x3|tv;Ob9-QL$9mv87< zjXe-k*Ldk?_I=zP_47}^qvsLg^nf%2HwVKh#wU8GaozKTMW(T<+S#kFw`7&U? zNB8A11&8wwfb1(paWKJgE)h)^OdIm=#}S(Wv(HDuHocY(zgO_)PDpwZ2R5?90#(q3 zKLX67fc+gA&A5LulfyCjz)%Aqm!8R6*L`o9dEY~3cK2s;g~8nQK6@!DLXc6>*NZ1? zLq3OjrQYWSR^jI%?27z{-=lae)J%j?rX?k;UMJP@!jK`jwM#aejTOMUMK7rLd;cVj zF}+^zX8@7$E%V`)|5~jj z0jkqDZ9JS>{I~*L6qHB5hBu=^%en5|DjvHWfWm;oSvAhFM};5SO8*t*8pr;~;0s}l zNs*7{t4ZRpjc+|6Y(ij1AtoB z@tzO+7Ja{S6L3}nev;$Hh6eTo zIuEo9xQ_ODYyqWMO2yocE3v+HR~C?`%Ct@#lRpB1&&|mLhd!@nQ*+C@*+@CDSMBu5 zwRKpl`kwmuDGu<=hB!BE2L-w|MvrStqYp=6u=9EdWa1>GvP^tyAbEa)Mv%kI*2smI zhWbm18WI^v=wC)4vlCU_(n&1UWipKrF3;-mCAcQ|!ouA3htwnDN5!s~X`ZWK z`(0S8x)!3E#KX@`{;|7@G3sCF6LHeeho?ZoGGm1Y#%YMKpefKs*(f|8a$7&+XV)C4 zye4rfVHX4?D`^}zy?6UAE!0N&T{wn7R6Xqv8SVVF9A7f1mb3@vMZaG5jI96s88-F9 zab!%YHI^egQ>ULZ-vsXR7%#dU+f56R!jxu8kHqX){PW@8ag}7JDu(6`YW3KRv6^ud z#*X$3b~18wE*D<%=yalrs^W@33k5AE@DQ!Y>n-OD->s#k@BZNB5d?09_f>9vWox2`xm&V5zl>E{xqfEe?jU>#6r2Tk(-XPTYOk8t`&$x z^`~a?z$xc!1`w``!-=b4grtikxaYLFin97a@PCpNnUhF1)?-7(#IVuo!b6JixjA`H z=v$^zI0%WDok@QaxoENze~E#4i~PRw7$}+Vy?d=|-vOEEHCQKbC{1`Gwr#o&L0_M@ z<*}@3eu(cphh&K6c28dTZ1@gxtB71z5^BUsJEL2F6EMK2n6w#Ti_&hw!ElASLZmN2 z&Y=(z9$Nf`W>K8V;B^I!y0DC5VQc0XAoV&|Ek-e7PyW8-}?#f=$*#+!1pFf6mrp;Ao{SJd(R6P zDi9FC6Gx(N3xNN`#t^c8#(#SG>sGnobx6klI)&WXAq;muP4Mpjv;eT}NixmpbT+r! zDk{cObQ)vM-d=+61LBygnOSH(2?D9>F$95B$Yrqud;zv~&qQ_j#NRQUgg_LsPNX-a z81hq`jXed?ur^CWvHqmXFO^ATGa{eR5Y~+5(n#oAd3XdRNFWlC^=mU1C>ZDa&*1Zfj@G}U7^ux3lbey#R~qANyCKrIOBk)`2rPzXBu6HR>p^& z1PJdMTCHYh5ck?12yjsgba>J$c-T%zpPp>NRB3oJa&JPayJTGKO}@od;UF-;sb=B< z%&mXT-ps$q2z;qWy-6E1>(NbWHR~5nU4PkdhkCbJb6@M!BFJRQ&0-jH6P1!9lzMmT z9GyDk4Oug-CQyC&yV84yIq>g3$-CP?5;G{_ul2pRA56`{AaSNA#V1XCEt6WFKn6Zl z;^2Ft{(Em`O6nTrpB*}AmF(5?Huv60HoG-MR9!40Fn?{RXsE(|{?cSL?l!0|6P?zq z9r2I|CHeO6j$xk7%Z7>_tp@(Hly7OaX?OJZbBYgYY`Dok;^23;t@W?=WRtM^UOis8$@^VY3?cmv1RTZb;lgrGz3b?4SI zgQ%Oc;9f?r2zXRfg!5r|nl9&Sg*ujGeUi_oC;mT4h?EBcydcJ z&1LGWB0?u%r4(iJBZb-(PTCFvcM)-{$k~x`Y8&QLFe+W+@jha)L5CL<$6_1pdnEJUYJ{DL8^MkcNCNk5p+&t=N%${$^e?L^NI8jqwOl$nNXr9mX z-=AtT0!K3uBoDchEZx92y37-BTODWh9{*X<9s3K^x_nb%`SwtnV%W4JP3(6Y5O5Rx z&X>gj76ot58$kY9lKUbyLtZOHJDv$e!3!;GcJCD~?_X_`=)S$&#`C*3f{reM@;L^a^R zX0tGF9;I`C_qG*iO4-WupcEx7(sv&Z1Ln9TfC4=G2w9Q=2Hc=aU$BjX_c^1%<3z^m z1Ft0jq{Qxh-&kotj~+$Z_1s1MWk)wMj~wC}R}2I*&~8cUv+5MaDzYsncPHopS@ReXipV0Ji`OWT69wAGBD1s7607!+WyexJsX6B; zlu<-YIKGG)NlC)JDTDeRN-nsk}lV0f+U*G;vbGCS8?wCB-9%hhaJP5qgcL=T`Y8FCQ}eyzj5Gc}3j zF38ua{?uU9kd0rc@@&>I(y0ApdB^bmXBF;uQ`MjFs#Q7~{bEDgOyAH9jA&9xs?S2bP=2UZ zXWag(=AD-P!I8)(sZ329PMuL>psIV!HBzG*t9n5!THS4oTJxvoy>(psgPu7u0w!|J z2iC+SY-NGv9fO^0_Uz6OJsP9ps7K=um>f}F=3Nu zaUA?PA{De*^j5$VmHPX%yj+qX(lmeJvtV=I=zsH8&DwdF+?(48WW`ecT_6c(C!-Z@ zF=gkt>JA;Y9|tmTqhFEt22ECSI7+C0%?edYb2{}d2LHTe zSJw$0z>Si0Y>~;3z1BGRKD&HLsMC2~&FDTxtM`uT+zPl9{x7grG_xuRjc^V=HGGX_ z=oPpfoe|wF+{(XaeA;N;@?J$rpxu6+;irBp_|ev$)pCX6twLXMqhJC;O%}fSHNd>UgQDa&jh^u zPEl!l-|TFL#aa4vc(FTxis<5T0@v{d;9IS)oN)G}{35SypbROnutMo0FFzYon;v8Y zlw&3~iI_zv$q`l^rW3LfCWXp8J8r6r4TM^iO1aW$<2&sww0;iHFRaAnw=jH~TYC50 zG>kl6-t@T;;e@oux_1JC@QY4@4Y1&5^Y{^kJ~ovpq)V94RH@N^Wpw46&a_caK!nC* zzjRKMCmyg|JQV&r&TU|2R_ormV9T4$Naodb?fMw-O-9qM_J=RRFYDoM6I_32ih`lg zryV$FRqBXOCb>D@ex;hVn9wq?D0SLlTG#R~OP1HNa^rAVYxGr6pB&w&m9iR@3qPgy z(?zkJ=EHruyXW>OynTxh3wAazD}G#9z_}cf#>@@EL6MKgo5{d7hvmagH~aP=J``FR z92y4AQ0q9JiUJpRfReg;{-KhKv^V*94kMf(c_6i}Fjp;iMwi07kS7pbxp{|LSiFxXSAXy5pLd|5gB;aU+M86fKB9A^HQ^fT_ zdfW*6wA}{;kF0D<^3h{gJikr=`UDedO-Db6)n)e&00Hvi_SZZx;%G^_{>y@u>7mHd zp~sFIoGwNaQpn`9pA-iCA6jc(+PDI;*4L%@`R=HYkL1I!uJvoG?SFGp||ayUoH4pESdG71g{=GyU{wS|@Qpm-TRa zp`vAz5x>Qu^&zguuFDs$dK|>0b{tH-C|cLc&)#tHxh3hL9tgPjC0(i%CU-F zLH)P8yJUK@%$`PJN*!)VS`MjVU#7I_U>GDUG{cKKCXcDb+_#Nu-~3qN29TX|xj za9O(9u~r8f6b{vJ;4l`UP__>T#H1g{CLtFnJ7!gv3y$t`mBTsz{UfG{32N`;aVYZa zk4v9zUz|&9`y)XRypu~HJL!shMB|3*yg>u^DJCki$_zgj+*yIoiq#ye@_O{X1Kh?> zEn^D2lPhs2GxP%v4tQVRqKWHzes3J|Cko#W?Ezs`jLtctzn>A|rTJ?&6pER4eh+CS zRF%(F{XNM3DZfQj&8iiDtfG92lhl?ttj+8=79A~1_#x~^y873YAdw_x?>5)WVc5l; z=P2{9nfo7U=#Luuml>cb8~JebD-}OjA7x6&_MtGuDu2hvEw-YMLcy)!a3lfB5|s%` zjL4uXBnZdFF_W{2<(Noh$v$a)htx?hnENC_r9C}*OP%-<+%vgwYL8URQz(Ws%E5>c zf`3Hta@r7HB4EjxTT7K7Q%e2;vBS*$E4>-xO4r8S~`Uuf72F+cL?0y?XSlV^~y>_%VV!?PJ znhem;k1rsTp~qWdTH3dHx2<%X);^xF`k&8a=(+VDEJ3dDEm@cC!OVva_i^uU*Utf+ zhp&?m$aB5F&EeU~g3ep-`;m*{yX&~drSE%0TVD@&kdw7*SK#c^)s4*-B>ypoIPN8= zGtLRws@b^3%6}=tCS&5J$HKR(V zENZc9H)+s}xA;UiIHgvdDV_K|QT7)bii!P&1@5DKe44yBH*m2Lm~r)}Z}ZA*{{p=c zOHTzjbuueO%y&|=l3t!?0uFu+Ch)&xV)tBy)f>3490YWp-8}XH$2Yf!_vSS_&Ya$1 zi~r6Keye6GE63USB zA$Z(RH7kd%4f54VNI7s-I*TOHUy4zX#*|Ltm_{vfhSGn*eYWAjX8kp5UxaEz-J(;J z;kjtv-kH^|5-;tdg=(fsH6jeXtecrd$YAl=WHCh3o?$@9WP|%Z`?0dhaTCt5Rc2QG zv~999F7jPTQSFFrbFG7+S9j{-z1J~mXlR(V*>_TY%{vKMo$zdSyBsM8>EU|Z$9g# zb(;fRFSH`fHt4e9KFgGktp9c*6%U;=+JqFTLh?-3w*%&h4Sg0_{a7p?m} zc9XwczPIni3*t&exqh|iGQ7B++Gtre;j}L`&Y4g9*8jq2*1x%OKTatWQdA9^>xQxU(=HNob>?DEBS*(;(EJSUOdretMR#t zoO26lHHNg{G=2#Kf@agoD}OFh%e7TPQ+zdzi)&r!Q(=v4r>-KKQiV@6@a5wg5>`%E z#kMTrf!`^YF=VI3a3hRrzR)GivJH{L?@uaXM7GXI%F6^%6Sqj`%lmpZlh2<>;>&~* z!U|{c-Cx1GuY0E0&{+^_>HV&;qNf63v3}h%y1#R*(P{q2S@86ya|==qTnU8F_+|31 z22yzQTgPQK-|PNsdRnvX+(?okb(y2D5OJ9i?tK}aft<-~ZCwV2eB?VeBK!5<=3MCK z4&H3-X|X+-vw`@hx!21;quYF2&fc>YJnsM}R}?IE9n*7wf*TD%Se7Xp96!GsX{+c( z+NhSemRBz!hmP%___$-Q?j`s3;%q#H*ob45;2Cr~0>4B>a3qbYI3)XH0 z-H$rWs&-qJb+68A){WDc zTrGP?3-lT88mPuK?9R>OAH^CsOU%VcW>Rutx`gtm<3Qanar)H1J~1mS^qD@jn+-N? zu+KV3kuZYF8bAZ_r4NNu9DIXqF2(!W^1-w1g>RlMaBlD$&Di;)8arVRMIO|LwmJ2$ zB^`WDe8U3rvS*qmj;g~*k~QMyhq>MCGxvcC=)UnPLZeu zPT#~cTbhTglU`!=q(DOTg87}2ewD;0C;h$I_R$xf&BNio4W z|8mt=H~qcG3|sn0rcUYMlEGP?yD7{#4{K}?lY3%>&WI9iBR>@I53LTNQPi;oGJhO2 z*0BxIdFl)5K*UkQfc_OK2jZ9f9iQ`)50*xJP9gI^rLN}hK;8_t3IV>kP*<*eEI-f% zNbn)V2m@7>htr@2v_43Yp5__J!i}#V-F|=;Oz07kYjF`09x4i?K#}K+vWwd^tQS72 zl!A0WvnWl4Q(cHR7RB-1nZ^qMx{L2+_oeq}5BQARZxy&Wd)>ttLS9@Fy!ylN^<$R+ z&uXBGS&r@RYw)Jei>B_hM>gR$kXMxssrjhSPFTUrd2{zLgIk2q)@-d|Q{%%5nyON( z&@7MhEVI^Vl+PrVBcRG;x`rWjf~2o8Ekg(eFFHoy0lJ830qlQ=bQRJ2{W_oX&J{eM z0=Ubn8ek20wF>jDxW?!|uD32&+qdpb0~VcN4{LX6XC&q}%}@dn&LWRL`s<`zOQJXz zs7`tpAKC?7_HF~=oPLzUo6=Fu`@3ibg1@?EXLb4joekEqJ$lk?8FT*+ACU=l-G+T? zAi+s*5pq12NXs$G{;l=9MCJUkv?M!k5uAWz!njn%1rX){T%AnUB!p~7utYsrMCeJK z2giVAwE62gh&f>g?sH{~?vd!n02<@4hRX5o_oO6&#%oVB z%DyqKJs+LLLyeKeJbss%?gu`wrKO(JiPVyz->|`qcZ(K7@7sY&4(J+@dQgr%2<0Sx zJN6Js3601>*Z$fsEW<`&l#aHWhoeNbR->!R1KWj@#s{C-lVYmNpdOUXZQ0F#THm_) zf@C?P9dOujsxw@nn8o2U4Sx#K4sZ_w9H=e)ASUwdkCvK+Sw)!#Rw2yoDas;de8n9( z^Dyfsh*x4rhp<+7CKO_QA0kKdz60itz9ARaxG`ai#Vmm-5R5($fYd<%4S`^gTuOGh zW$np?MjhK7I^RA5ue2P9psELNNbf7R1K(BRpmlRcyH0%hEYm33k$u+&0Gr_<`Y}KN zOv*$jtO56@9;%$cDT8TZR9)4qQbx9x`6|4bj00JBAbt3f39FXd6To5#QG z|DYz%LVZfGeSf4F~N0g4IMw)CJ);=0fiRCcEf zQ)P8xR&^F}2u*At6apq}NKCC9ErCK329wjgU?xP8Y?Hzh4SlbfbY8(*5f@0LgZ69? z)c6QmYwieJ#^m&5X?ea*8|33yqT|qOF9Np@Ooaj{h1sg)a!e6uAt2SyC^ITB?M3Wx zm#x+Pnq&C3%jq#ciBZ7s=)~%KFrhJ-&e919&)Eb+(Cr$#A-IL;{>LQ=OuneBEeq+l z2?GE4KiCMv^JJLX!r+FrEfh|(d_(PGw_HcHbt11#va-E8lHni#6cpTE6#6MY`m`kN<{)WqG)fv1D^XWoc~mtQR?iH@%aP!Z8#0&drQ`2yxZPp_ z@xnzTM2B5czf-t1$njAx|9w-&J20Jq-`?L2$$1T0FKSlEUzRI2A$5<+ISqJn^W{q9 zr1}68t{Y5K?+ZF!wrbY#x>rz!^a*ZtY;d}-`$F(|w_FG3XcQ1r8hFvX0{%r+JQZF6 zyMKk3-^3X4)`POhsY9cY?tcy9;IL8Q%Rg@q`=g;UWd6sj0YdmrFpNvgw}>*C%bo@| z1Itp%^}(D&uR>1BPf$~GLDV6{tb5904PpWrQ?l?bRC-KJLnx`K)4vkqsV4J%Z^l<; z^9-pxR!#^jy7$$`E!J!s7ce8pvqkPiulghvGMJQl;m?}(KC)6uqb%PwTL?W~Q2_yj z5!>Nt+$F;RzY_MI*^yiKwOj4?ww-M7MSDmm`L>_!gPY`X!hrG1alTIh`MLn(9XMv=}> z`_@T&Fq!A^;@aiY`kpdO>z4VFWV}$i3(<3_rCNFHna8oqVm`mi%iT%mc{i(6gZ3%N z>re#T(60Zm>M?28D%sz%<<)wBG`(h04M#9vC&g@C{Ivle)8riqK8ZWJ1erD>g#oT# zpj)WDlMPhIju$XgBA3lFIvyE>1UGzRLZT_)`JVL{= zjJsCZ%3hE7d#Y&`Wx9O1)%DPeqiRI1%_6@K^56b{$R=7vP-hJxG=%a-__uFrrH$gb zSI}QfvtS72NTVY|c*NN{W5ZI#(CfPIoXWpDi#hK-rS{cv9hZ2NKN7~XN|vB-&+lHP z)_+H4V?zi*c=Mp>f%05q(;O6PWHabtzfP|F*)?MM&8dB8Ln!MrT!w@Uk(f&f{b-Hq zPpf~6{jrTjKO?Z{EEc6AI?F%OPksKOW#D$NZJ7tE-#L0a7?8meS+xe#iA?`vN(6s! zj-kl@HtfbvQ!U6_Hta|L=@!8YNSCQHA0U?Py*VF5r)`0^$o;Mr40k|jyJ{7RE5_h+ zo@K`pEy$7JCIpf|c9UDutxB14#-d{zoTe#ML!a8o>&yh6tJ7t=6P(zM6U^(9@(|51rhV8RVag22{-c!+LubuMW?ia z(VNQLj808QzxPr38V*kXO)k!%XEBiv@fXA?tz=HevPiVw|Q?1CkE^%m>z5rP_w8(2)2j}6jUGT37aR@QTyBF z2`4-+H#`DvO2}WHRi-`rnq$uD2X#tXg z)scltMh5KF-$gqVPKtBbo%%d!9Px=jCl*1GvHUtsQ;b=;$LTJw-uBdGA@&#lGW2{` zOcPFch6Fg5o{wcjJXgw&^nG{QkMeJA4C3k9oDU{qSi0}#dJTF!uT9D^Zw-g^JR#(D z?Kg9*pKd`i|WbDHUPI z$Gr6_$Ht0$-&cswrA~t_|I;78$7UTR;F(qEz!A`Yc-y+_KAJZ=GIC@m04TLQBMl4g zYptubC%}{h0$$oprv?kz5X#Vd;3YhwV>6@Yz$2}=lq(gRZ4ub!gOHa#$+j<&IwL_Q zrbi&+(g!PfMR}|Vp(^Bz7@GF^e&Aq=Zz`S~_W)ZzUK4S8HDmrgjOZtJs`KS&}dGxto;=;r#I;#y^l?Nuv9b?X+ zTY+vF2+^2&q0P#T@U~+%N*{icwu0wA{WLGq2uw~~t?D{a_B`!`c2*x=uGIM#yE@eX z-W%x!7ia@>1N$%-=h%^x)pcZ>I!7C!tlf)l`ujyBDICX8;<_!AKC%K^umukZX~fSR zWxeBk44K1xK3Oym)~_YQv1}fh?LN~=dYqx$9GmuRbAShxUFSIfwy!l?@zHIy3;STC z+8bWOl7J04l(FQ5IA)+oJ7aJ_HjPL~wTANms+3JdJpDSvt&SobQ`m@4mX5GF(g5xiuZ5ak^NoyyKn7-kkkA9d*1C6wu&l7jrFrRV7(h41|X0Wocv%*=VYxDcQs!PStOTy&l{ukEz zYU;MUXDQJRqpgy@C~LCIkColnPud()MuqrQ1U4ziS%Eva0==`LWhw)H=RZX=W6Wv*et^P7Xt zu(XT}tH9->eVQ8(RbVCbF)5MY!S#-?8R;L->i}R%YTc^1F`FcYoAz9MICE?;J2dLh z3=tCIxh*^Eaif~RGa7tOZ1?+zomn(luA}75F(Rt$M$!AF2=6=RAqTfm9vm1`=d&KE?q>mY93xlrNTd#AH8D)W3cvpY0x> zwGL~fL>IvDDMRkEJ~IP(OCFBt1uN+*RE}pTA4(J33AwHQ1=wNb{;DsIiye*l%m%Ii zJY(JNQMh&0BFD{g=Ccv7jJ`d;zZu&uR2k+zOO}(UQ1}$_;NVzxDk8Ju2>;l{_Hgcm zpU?W*^f3J$CzV!C;v*D-Z8P41Z2r*qveC+^k%&*lXNL5v!?&rLPpplO2@}F z8lQwCma`nWt_=3o8$@xB&Z5~v)4b#m+nbU(xHT3yWMb$$q&qnH^{m|*WK2~(aSXD{ zO`JbXEUA4_pup)E;A1FvP88!ABT1$rlS7{L9M3Sfx*Hf!YC8Oe$-=B`#Hyt|KmZZu zjA4ZW8XpC@^zU7lrkEv>`~NmMJP#pscDAojWUG^uFYa^?wQGk8(h!TJ8*|H*)5{mE zSQ8IN5{9R8c)Xuv^>*ynXJCfdb)0+#pLHLR&8(l#7rX*v=3Q33?{y>X`zX@TSges+ zyxW?Zijat9_kF?rnWR>&PWv<7t>JZeE9=w@ zwvDS0Y2j(c`-pf-@&n6H} z6f)hXKVAUbAlAX}1o(Kanq&do#R0k3wX7z9N{~QgTJmi%m$<-Qk0=pF*ppR2BhLb! z&1ob!Co5-_LjL@8UmymZyXw*aRAcDl^c|4zG^f*Dx1K#(KdZyxz3}5eLT#lywZUr~HM-6-mfIG|< z_@Wi?XzxGv3WCdt>jLK2HoYc()IWhWwDi1Z!w&zGVRGyM!2Wxi(~0Waqo~dT>c(Q5 zUCYX$Z{YU)AmCGS!Pj@%Aci!*qlxLnA2f*Dm!oX1U(YdG9KIrP_ig+QFEpq+P^DeS z)pRtqfd9I|jgw1oD8xsT(z}ZZ?Z1O!=(k|AW1&En5NV^_1ZmgB8Ky`A2)baFd!08P{O zjrbI9r|vRx#Ou(k1EkQhd+*%=D=3}lXIpS=UK}1h{cPUAAE2!CzkoDHSPo+` z0?3325rYkS*NJu!1S9+M<-tM!VcAZL6=raGCqXE|$)1JnojAtuq3!Ki z?VTOqGJHeF{(|==KrGC4oTHbPI=T8Id+?*9F1Ndx)FGbWRO8-ReiQ_2}gUVbw za_VTe81Lh;0T*XM-;{Gkt?_N;--L86B+HC7q89sX;c>#{;)`=3Lz{MQrP~%mOW1ZvD?EHvc8g!gX4}Ai5(#( ze5_0UUYJWF$*yF|A`SmD8(xe4QzmUFDiI4)nG{Ux2&PF=zg4QE@<)1x#DO6^I{I$E zc*U&XcqdhW<{sNzPVThaPusKIhONT)&=>OYYplRl-`UmRM}1KU=xZ=Oi|^fHj)Tyt zrRD2hxlKB=--|W^DP#%d-FMXPy{~Mp;UpN}#yVe+TlVlwOq|B7%WQ(f{zHpaTr-gp zN3uqFth%)H&`Mc*pwJ2yMD4kIjSk>(KkrR>6Ir-{V>LySR$b%UA)#@j+QF&7*B|&1{9g9RyB8Q>1cxO%5pVt6X?|r(i@Lr;1!Q*_v zn?%|1m+ZXz>c#}2e{Hq+XKmM?b!YNg56W{`m)%WC(0REed$T!`u(C`j2hkcwNi-ic5G-OVCYpeJ?~>tzt%Y0n4K5qejwy zS4I!ItbH&L}Sxb z1^mq~iS*&*XF8=&bhhOC_f#wof1vO*n3=iU{xwCAd0yohg69Bte(PRcr)qSn@Z-wk zm}xwkeXYCAteOg$$ADa?kjo>#3(va8J8bgD-=c|^rofa9d97{nU((&Y8Y)RBHYzbK zd5v$q+L5uS<+bcyIUNpWimJeu9P0+$LXwH5M8%)Vm~kuFNLg$?^}k^F!KnRo6!%u* z_DRe9mNj@hN+&K|AT>fHW~h_>JC>=8_9yzmzmz%G|4B7&sb5r6_D%;c(@$(h5It)0K%-l4Gnz1DUyFXe&ubn=L0xPY5 z9vNCo7AHQda65Y9?OXL!3Wb!-7c<4ucfsyrhA#g}j=jy^NI1FqDFJ2=?XDMu-w7D7 zu^zCPyrU;?1TJc^dn`FQoNmUhpUV%+PbgOZ5zBpm>$yg&_n!~wu~@TfP4Bz00DL0g z>jeMfs}OXFe$6_)=Brtm`u2Xj1R(#x2O=JC_GCiSHk1hk(g|8wG(EfC^pT zyCdC-D(A7u{C`@2Uxwv{u-}VLhM~9kqP>e2EF4vNs61~~CUjB6?!^eX=u{`N_A_<* zG>$E>xyIBO~L3%S6HP`ob5`?I0}_s0jyqQ8A~+n|3e)0g&#_ZrXa~;DxYlfq_P&n5Wolq*YTat+1I*%N z%AC~XUT1W~@6X=+($5xNbwA+}>~!bU^gr7eg{mK4z>Yc4NuNaLF!ufJnrduO4l(P{ zEz?QMz>ix-`RP5-IlE5C5wwP(9_?D8jX{60ONib=(8b0%Xr9jI0l>Wh6KWA)ZSh8M z>UT*+sF=lo<*v$^=R--8AFej2{aaq6F{|$toZQ^VQvkWIljgISVB;;r9UIb%CvoUK z88HNs2b`~AOn#pZ5eMe|>ZD%|fcgW&<1p$;@$h4q+&%;fxf!m3cLIz8I>k8f>QzebZ zid{Xn;p>DYsc%~+4$vxmllCKP(vng!xDEb=< z3;%yv9jOoL9JvY(J-laf#UFuW?9%hUL+XN-fzxI8OF=NkiS6VV$11f@F=E!xXVeqsYPLrh{kQ`{ zXRblsb|BlM_J;u6M^#F0_XN`t&TRdVF?RHG=nB!-{tS+@wT`e>=+f~nU_d?H@iz$T zvbefPz`&AvK#zh8+r7NIbc`*#O&bCCc=26EOeO@Cotk!nkWiqq-6zNbo|icIupHhU zq_1ZL=pb~{QwvjZ{qXGO)P9My!?8pDjaK$=FJFgaA9*(uKJ#{`o|Huhl*I5Xt{M_nYIe|uO}WE=T@eg2nzk00a%%Q&%Y_TOdPrmvC89^2s3L<*4&v zk-)s7lcm7vc_Xb6pnlk!J;7>b^(6r=1NI2d<=~KiL_-QXU=?zAMHFqb5;LJyw5zayxZeafQzmUe-98of0`Ykp4%&$}c9p1j@zaT%e@2VHyFilPNu$WBcGi}wxEMD6#U*LQ!&AfSA2 zIo&F~gYQ{u^cr3-1G=BWtLyrP%OTFwD;`_!w`E6pK3k-%27m!m^z|^q|9B*l&dp`SO_-~)AdB194{<$6a#YH~!DL9v|&mJ5y zAVpGVurD$4XF{4s^!OUA`;ruAc;)YQsM7OrFjIEI9zp(eYM4JBMROqR5HL^A%J7Y{HFYS|JFucG726f>U&M?v$FD|o3 zJRh&7Ufw+(F&-)Avy)AAo_?6=a{fdP(zH7Pm>sV~7RL-aIs}_wdcZrKnm!Xt6gqVk17`8SU5uepG5#+@B*xBeb6iP`yB|K7dE1b^>`w^L zP%&woh);)@sB2obCeYTC{4$UnYDzQkt28-5fkLwHN}Z3>JXCaHM8+{?@qjnaQVPDw za$^s34z*~vdQKPaNoOOrP&O!{H7F$cU;Nc>`o#s&Ao=^N zXu(TOj&T8aAcM7Me@?U7+`{WM_C&*eyP=k;^LcSil*g#WLH~E z=YmM@d@eg&VBbdLmEq=ONyEqNMR0(i#j$-F+o@fy;~p(xvN44@(3>?8 z!QDN$yF0<%U4sW0+#$HTyM1%r^*;6erG}a*n7z;L)xC~|&O$`XJ}Q6`L`ejSk&vXx zqtZh<#MC^KVyA_qE1Zx=94j}o_bTqH=t$w*jp8cQH?p3RI+RI zNN`~E{G}0WWI`1Xjvp)2IP``}tkUQ@f_6H*0o3>Rs9UHkn7tbvM?|yOSfm5$M^O<) z+B+7Bf`hsAf5QsA<=f_hkS|1*l)zPR`9#A$d(^v&IvE~lit5m8e=-CaKR9j8*4Bu= zfN_!&)f@Jla$iT^7^m0l!)AZJIZHWbWj>HJL0|S9owHB3zYp{^>(o#a>v}HRwPoNM zBG-1^I(UFOxUKhdXpgPU52<`dN*A~RaL_6uvbd%x=F>NBM6eDrd(x+Z%u)bsBxe&6 z*3P9pQKwCD*D47ak`65}IGts@^JfDRD8>SE*I8?dvE5B9lMO5vkj7)#UH7|vaKi_c zIBLw4qwL9%iWJt{OJ(UB`B0&Ap`buI-(c2=8yX))+#sCm9y65z2fcL6At-ajs4i26 zV`8>5R*NdoEXuuIx3=Iv@>(#}Xx6<#X_On4xC~vo-frZ>PB9X%<~pskoN(vKpYQsy z6-Vsl9f;h~Y2BqLO-xj)v0{hENS&(^5jKCiF>*YyV>=Z%y>azBF=1d$iA0$wW^({( zVZe=DY8{V=d7vB)dr=284C5cM2GSf6dRNs6Q;8z>(IC27U@{Du2?|0`rpY8-8XhrK zy=Yzv5e3rTFnRT!*x(!nn`Kx?S1<~&yC!??mFQ0!!8_p6-eyVVM_^^zutbKk$~cI& zbp3ZgO0!mvmUaAgsnK(GH=6nL%mx&Yw%mO=IgwsRf)t$d*tqO_9w0Pm@sV1kAz2+8 z8!vpl9SoxGwZ-}Mk7*kE2$H!yCuThr>)Lk%ra$s}HjwxYzMklLu+@xY{<5eU48K+G3vm|`PkK#eoqeuHTkqG9n-V7lP z1!5tZ0bH@n>dcGbWaCVdUEwD1Pe5S0aqmEIt|6sr?ZUNCGe((`zhk_^oWtN&EB zTRSk<@>>;3bTsYnmsTntpFR0O z+|L@3rD(K;g6f3eAFyUcG>~lW1pS=Rm2f6#0^yNiYTPBz(9*~lmgsBAJe2TRVibNwD|lnij>qD2ywqMZ;_cr@c8kfc3(`rnC2EB<#dK7|oZP{PRRvXSNf5b;o1InnGw z8q>@1!_Zb!P-hXSDR(4*XN-L(=HOi__Fz+wkr@v}&{?Gv!U<%n5TD{auTaBw<2?a7 zp>?Lg+vfiHou=`VNz!I22JD=BsUT(G`p;{^NkQrWnIM_x`K+6~jcnPWk_1qGEEggU zCC{|GXfU$CKClu-69;2ywchdDv_NzL$5IWMOi<)n!GKlpn+-Vgn&Ez>Ithn|hv zJFYGFy-6&i?5V9!+^$Q%@n}Q;OX4rN_L%#DUJ%Te(0_;(RBC(e$+u;8op9Z?d5;K9 z^X-G81qhx#Hx|HU8qYrc57LES66<^)O+jqkt_IM);Rvw-sf$Z^X7(&U4xa1?>=BYt zD!w&loDTO=sr*giWmkoh&~DCWO;P8CE+FAbp015Oj5N_%R z5aRGR^ZUS zUEr&!;PPUs{6H>Sl?TDpUO38Z2B61?Q%(3~Dug^<`; z4+Wr0Uf(6sKJbzZ{17h(04R7vL5L3>1^zP*jC>-)4p|K`P?_X2DC*$1goUcFrZ$Mo z7*e$k4~NbG{<{Hf%>4szZTUYfz?E~J@}i=FbvI0B6!L^~02Tau#^0RCrg~gUYbGPE zp@AkSkw`PI*p#GV86{)!4RL~`&l3eF=g#9LUSDZ@0HJousu>n3M1t+eicQBZ;5ZLt z9ofi0=B@w~lwI~~iw(^p*e?bDuW6!0I|V4Po3h~j`;9d8=a?g!RjR2r=~+1ZM>HHp z%kxZLrZ{MV+|NgGGldaEidR#}eH{~z_SJafFV#Euf)tEPXpAy1J9nTVMx(uS>c|!1 z)dGhGK}8O$QXp_Lk*st!uZ<<~SK0P9Pea}FoLt@~5jR>=+Ulbq!fMRlEWP^Y7|Csv z1m&U%5m|nj=iivoN&1oC6MM|M$qa*BysyJ}%-CxUdYiU}dv(~~TUtn_pAcacaYU_nNSH4jJ=0ODkg@z$jTt4)LD~D{ASf$OZ7_CfdO|aXf6bS8c741Klyi zyXBOZ9Sb$BN#k^^)uQq}TsuTUzmi5oK%)dt09OcnK8wUD1VK_m5?Kw3yND$&4=yk> zK{JfUj(1u1S-vd)fv2S)lq_Wbhsv;LW}|gz`mt=y;i8V;E6}RxP{UevRkLxnjM$-C zFRLX>JNa&AH9$h0HK)C4~H&F8+5c3>S{X9kL1cB z+t|Ad4Dz82u^HqsS}gfCyb!xdk{ynNN#BDMrRym!GF>HR?mMdQfN@>+oqvm-OC?1s6Sv?I1CxqAElDd&d@(6BTpbg}&e*Jx~r?C`VIyPGYtB{~)I z`5J^Ln?Ko`ZYU>oe`*#>WyPQ8SxL5qU==3-dy+gy_}#97&ciu6_Ql$9|FgRxg3%lv z8psLUh_Jh;{-oiO@zBipZ#VpZcUUFqi!*M&o-A_KFa`)x{%cifDEN}+1Tsq-2p)Sl z+rOB3L~8}{bC|JRX^{Zt5;UDcX!QJrz(H&9BPwGa$N|xAz}jt6o7tfoX)(evXxzz& z+y)d;`4J{OVa7*Cm ziTx|7y=mAO6Mtk|7yUzyk6$7wNj{g$bUoLdy~*Odbs6|@=xBs*-}n+ZEolEW7@yVC zuP26z>^a5yM(DmE6fWR#q1{xbkpEdN9{=wvq6q7}`)A7lmX=QR@TGQ~Y(vQJL3Ap~ zV*mkEdcL$qpk@!~z?A5K1QylOI^8Nomr<+crRU=)$*0&lopIdldz~c!7-KOWl~Tcc zR3!NTh(#pN_*={HDQQ$c`4>>|1~dcY`=z%l>ZJ2m@UJtPJlQv9Qg#n7*<%1r-qU{@ z-8|kgk*@K|Z~giKg;*w3n%&A>kFA6O$bMeefw6JVy|ViR;oi??EN-$8P|F;mbo z21NW2KbIVUC!NKhxlAJm15qgp80OW6By16NsRKJRRJxKLL8V0K)}U3(F-NzWjitVx`OLDf4Lb`sV;dv7>L<*~@P+Bjq9@XR zV>M|TWD{pZ@o^cdP(1w<;E4&!?%b+rK$M6w9D5`UDyAyrF1p3vfArnIHM(_%+v_y) z1)GFS>GI-QG~&3VG|g)?vhx>eQnj zOBL^HArooA?_cCR>-3Ctb*6aNZ2yk2ltq;wotKf9{GnpflHa74YdzOunOlDeP%1}m z#H}wC)P$}NQ^}A`9LNhd66|gWaW|+7QbS^Rmab8f7!nWsn=*mqQne@%LM~E6S8kP0 z_7bxzfjH`|{u&Wiz9KwYYbC(6D62pJN2dTIE}D`jHdq?<9(+}%W@2?GLZNYv`sj9v zXN8Q-$z7~vD4e8UYdpxvW&rlBt=izMblC>vGVGt<&hLjYM7%~ICnJ>@QRNN$m2vzs zGSJh#h?A^3Fu)gHR`6R z@4k73E%*r|S(SPUnwK+!ws`27csy2j%RHa7Z|_wDKJIvJO_yHrQAPZen8|e*Vj+tN zgesqY_ZGFQv-rI}oklE|s#&WpZ`hWt#bjzUA3l#aVE$Zxhnlkm)ZB1!Gd8;0=8BiO zk_=P!Yo{#oOJjOMlcH-M(-mgPl`jSZ56qQB6e?m9l$^Iv8yT%bBDiT9X25YP7NUWF zw@JWZ0YKE{f}OPT5CH~^$qL4)naE#F@jK-tIhA5M#snm?fp+s3GGx45R<2R0v-`gh z@cu$D@L-6pRvJiP>23bk0>}K(({{-t`wA#P3g7hD=G!C4eWXN|(!{YDVVziagg`?H#SvGM&Mc@)Om*4zLb9DnVm|qQ{rlIjflk<6f^JUWKJ6?8g+3VgNlu!G{ZmnHI&)5pq(e$hbcSiV5F()e5~>RJKW7RZDX4iZgnME|!Z^2n z=%#g@ARr_Wrp!5;G8=S8_FEz&{()`6Q5q-HD2QoVQGu2(IEOV1q;AYNb3`m)s|gKY zu(}sbey$C^<>VX$!KfguQHkZQ#z!CQ*UUmkl4iR!H)^?Sy-o%SmO^?QF6!{{RV zgE_wF)o4^{S}(c|(#&i)0{THWpa~u*tRzi|Rw-ywkW>}keJi)kp=)qzdc`zf$BzOd z8w3u0BlN!q84GNN=zcVSC?K5Xr)u=2NG?qx&|SdaOq5Bv*bM2r1{Dh|bxWQ#yB4vu zHj`NmpMb?z4*Io5sY@K)SBdQS&zc{lieHQ_MQ}aQ-_a{?^pO_0cXWD0{uYls5eI#@ z@zWxPg{;;bhOYk)qb0y3UXR6>`tX1zB!;6~x%eZjASy-;o}ysljDgP*4)8MsRj7aL$H&fDZ?(g;c9%u|bxEqD{I2YKg}&juIvG1SRH|b&mnP%2GsGwf};D z6d!1^TP0ejHtEKCV$DillzLBOUuAV^U%M22*y_!$8gmefu=0&BDtiVfUlW`ll}4j< z1MylY1_nI~*M0!b3_*tEl7l^nV{Rk14=IdVlj>+}J^qKw6Np(_bu%(9mUj?d=^ZYJniW9b){zT4($>_X;_(I z)RhdD=p}R3TpSpNYTp#W9LSZb1f?{!7A-+Twj9A6Ey&+iN@*BTpph175;T;B1T>}y z(!mWMGT0ReJg`_r?y^*q>JMhgq%G8WJ$4wCs@=4DIA~b4G1Y#P4~AP)qvD->;RrWq z?h8iJxj_YgOjgK{Jck#g?HO*wKcS<&6qnKpBLGrw(85jmWf4jG2jxnRcT6a_S>V|) zP#em(!a~gDnwA`G!ZQ#9YH!?@26f}7`%Uz=R~=9bD9*= zC>?BKJ(s5VZmRaY4Q}+3w2>7RyNf+|r;}Au@-9kfAx*HRnWzYQcG*jQ7G?0@4MHs0 za_KM%fq85!zGBn_i`)=YNQf%km1FmQ3%VgilH5xRd?XhJqfcl4SbsTU0&VOzF=8tr z`JCR2K0|JQ@;i)HohrMWE}TqymZb*$ovB{*wfrTbIuf=Ao-+qCYj~~s_rmm$V z;x^fk&u`?;hqR1Jr3<@1J>QnCP2SW4x`s{VVXPvoO32kV-{t=N@2T;Ycp=Go z@;{QjusDww|%_&EhB}{FR#sg(ds0ILTKx4c&X`6=aR0>F&s>|)yM9?|EC4)r5N!cBMdU~ zeh+8NB>wr_q8at)J8o*fjxDkr6;o!zbQHyS0vs8{4}usF{YD2zlmR6o1&)SPf{qet ztkKQKy_;PeljB~PhHeBk=WvqQ&PavQeg|Dm7xFs_TBRpb{qQQHwk zlaIwwmBZ#2y7btkT9tt7oPeK?Bup!zL za$sNeqX2W+@An``y7y&9MM3Q0R(PL;>JKt^1|JXF-U>{6#DEQGr488_`#iLv%e-x zh=>$dtYZd&jv3jpa+%gpfmFEm9ESiISOk#-rb|cg@f956Y&JHxtMAB1V_mLes)wx~ zwLStaeZkyWT_=TQMBG{HolVQ@7uwL5oll?aOPMl}ZWc9tSN+raK8GN1<*m}Q;BS1J zcGyWod$GU|U^O}SB>lEq5$2WvlBH#2KDvo$_^#&Y?^uiQdOo0vKR-Hwp&4xIR# zhv?SP9vl-nRDJ(hSL2rK+g=&=)ay3rl=5jnak&@Uf!ffpVbF99xo!=Z-O%fHkj?Aj z4e}F(=?R3b>uc(`x+*Bpa*-Dry0LD!<9`cj{K|hZsQlSUL!BQ7U&jq_Bo&-^*4v7k zY;HnGQUbHvRbH!cH^N$((z$T=T(22QZrf(;Mt4@JFE6O)+z)xs;-5}kIne&x0#9L% zAM2>C7~_A@^Zvl$jfnX!?MZsXAvUz(%z+C16J##69I;F*lArlUa|FoX8>9d<%lsRY zlxs_(`U>c5J)uHyY+`}6AJAjDqU6%1HyNX59+mzx2t!4GSB!B?fwwVB zqT#Nd{zotz3Svr$@nF>%BRMg%fCGzh5jXh$Er_vVw-Du}z_OVA1nDFDm}rC}bXwfF zsBQRU0Q>)}=wuoVi_LP(yQNoBe~KFbZE0n{F<(a)$ucTq^K za3`Ogoj_nip4SjnB!S&>&G(~q!`IHX-giXMQ4djF(FXYkJh<$p0ND;V@5u@qj+azT zAe*wqA%n_bv-Utx9aJ+KsZO@Iiit{y>j~a|Ff^iq*CFpBN#KRJ56iv@81F>R0nJ=A zkfwmWNP({joHL0zv|e;Dkmpxsi#D%---I%PISg9N7^=;HIc`Y>g&7Rx+8$L26Z&hvokU?O3_9K15q^E#*D^IBWG z>loklw)ph>-7g79loH=IC)&*9P>6tZ>VO>fQ26=}e`p*h9{Aeb0m8qmPfIK8{iRzo1F} zLks9f!=VA*udse#TKCUI*ttHBZUJ4-Vf0^}CMQWCT(se1x(id^b-Y~1)p#QYV?q=I zq{@%KI$0h|rY83PsGWP^)Y?tAQ)yFQ7p(nWQ(BgEEjGCpD{PeMR#)bz@#wMI@J%lc zwW5i^))+4>vP;g^3(W$nO9|AMExBAC&js@y&ND$bgn6A`UdPqvwAZH$|5XR~tS9eq z*LlkoXrDQwU0Ir6@{os5nn8d?q{KxuIx%ogG*l^0MZ6wH%{v@@)Y(ru6IRaV2aD3K za$!?+;d6qWs|!X77A<8msXjl(Vt^>V9(t-pp(PX?>?#zW8#tOa)Yes58=nn?=!7cbWg;l>8cJ6C#h=Q(%`Ux7}78ybR;D5M1SYQFOU`e z=rk}Sm5H&`staHstW?0s1X1R`%ScQ2RB(6nfU-i=KoQNq8qML*F;DUWRs&*-pE^7D!ZL#@aZG&WqItlQ zaF(ozgof`oYrhENIHJe^{rk5e2uyg`*ybUw%b|AU#I->`?ckV@>DHPs$qe~2m0GnH zJ*=!w$axPftAWJ+=7^FQGt|tC48DgOMXI|7MIoQXtd>;g7a0rTkD#OO=gjo(?R)AR z$$_X;o2i~-UTnQrw0GGOHdfY;p{D7YYw$8T6&Y>0@(7v$2-QS7xZsfKm!#H^=&*|- z2tyea##C7yrqpqB#`Fo(MU@u54tG0q?V~e}TN{4&C67ym=LhMc+!e%c+=Y=*t~I5F zWCQ>@K^^syMf-r8ru^rTbm3{2r@&Z`t=rtQtM|{E5)~P>c)=T1Z2i}u(VWNj`Mm4> zx67Wl{ZXOM>N4TGa?`jb7mO_D2#AT}(o?Ic%2IW94I8qlA9#&}sH#^nL*~d;nI`A7 zg-JGUW!dUc0n&d*#Z-~{aS`;;XpplNLP}}6ESIYA;N?UXB9W!;H?l_ml9bvT}&T|=oXA=7Atm>PLUq@UvxQoITzN&Qa|H#DF za~*)CUUe?U>yG-n12S(-s&8fG=dw;C^*kpXZTO$nIDD0~5%~d~u!YWcRTTt3EVdqh zcDY~pPEHu!^Y?wy|Cjuox8cK}TquU^^T9OA#_FAT-IR%ia;2^|Of-~)BFh;^RjNuQ z_3;NtLbdiE07|K}vfRbZcOV}YRveXGGN^`V&R5;kNke@{u|C2o(ddc7{7#}PBaxS^ z{*hp(BqvP?1VpNb6OyVZ-W=~XNd1Y~`&O4WN=>(y+|5uc_&J77zf|Sy7P3^y47Bqq z5bDZS{JH?-YP$Xj57_C9N+J>0wxrJUUHf+q>_iNgk5N=mkl%1xpL|a<^D?k z`qIld$03J!1EZp5 zwmsz;!e8*y0Xy;CSHwb|BbgRel`w80rPi-K0Z(ApHhmvH zqeMQ{<<(jpNwmTbY58Bo!gou;zSD-+moijB=O>NU7g>FtTU%eZ4&8g&>3XlV!Y_B} zJ-4I&yNtqbQ^KCp4j^{r)>oop_c>-A89T}gq}{}@Qeh!O3v049Ay)RZ5(Q=lR-#IU z9#eek#9|8lal`Gm+O!v^Z)O7@e~6=4nKuU)WxZg_)#yp+o|v=vdW|1*kg85JkS(>! zwQJJYLAABfpzIKKWZm*eqFBU>s?u2xStZ5hFIp7u0u-CiFz|YD z#iaZN-biUPNosVMIStk=dUV{nlUD{Fi{eikF6;8koBnqX3oA`FqaL*#&g+NaeLfp) zS(8-xDbMO%Gqw)43?gI$IN2Ag>Wv#aD-plLdpxG$%*f?AXe-iWbt;avB&#TE(ngo- z=sv&ydKByFwev7_uiXGaB_`dIx8hpYKJD=6snnhh#F~oX8L)zri{b@8|G_iWPENMy zj2(s(Z+ad*5rfh_0m)bJk>f-A3w!ylho%a=AFzr-XZNFms7~X1c}kVfgz1iUzD-I{ z*?Xa^-khdOOqYLhN%y@PyqN#0O>o%3ug|E=tV|&gCYq>j{4jcQI@DGGN)yH)aKWY< zw}$ch8_l#O=Q(^dG@Vlb@VbV{EcM!p?Ebi!8DJ-eQ4Z|EB>Yn2LGk_;?bS>4@aig& zJ}wYu(0}{p#zP2Dh7w?M6m_Ape|G=zb|iQg^z=C?-21LxXWXy&es<9J6la*7l_zw1 zY}#t;e;){a*+j=Gyl41U()RgwB)p;U#rEySZ23|j#OOVbHn?pBf$a79J%nC>O(^MK z6VODf_t(pPuO;!m*WcBqj9v)s-W2AH(-j1D*`v#{z_H}!%0$Rugjuel_ucA zFsc}4w5?@ard%Kba!^Z^hOi3Dhgmj$kJ8r1N)I=1Y#FCh#bq{x{^crrA_*;TaASZH zSPaj}ldrFTsqHusU8hnn&au?~sm>UmUWs0Ex{%@b5#Zf%{Se>>c$<>ns+zQQxUPx^ z^ekFScP*xAv^v18da+9!0HY8zZ&!UkKv?5|+svcenxPxeEi`r)V0Q6}_@HwUrRaNn z$?xzs^`Pl@!%qD5ACBLAuy68mV{mEZQ+YJkaj9ea`AJd#v+nENW9w}SQH}pJAkahjpLl5#%#>;6(qY1;l&r;yw~rnSaN+XB4<<#3u3|QU+nI9J((t znLiuSd$;$}12SgZmi^Dnrvs+Qk%e7Pt>TLWkZj8c+2>1ah5RMp&z&j$yM!L;5KfGl zAaWSR3Mno$lA8H|C?Ubpvxk}JmTmHF>x5jwR@C~IlxmL6$r{iXdT;L(d#!Cao#&+S z%}I}z&4PCM?MeypNVsc^dEkNWU7Ro%sEoM@&E3yRkAAIu%T%<-TurtsvO3jB>j0X+ zBv!iG26iZtfQ-QLeV#TW!$QO^nS+@S9gSA~?V*Qn_DyV{VEg5r7?X7%8H| z_voV%L>`KqXJyApbgnzET_O?+TJ45+B~+51whcUQlmW!0i5rO7>(*S8`~KmHE}_i8 zg{*S$$?OOwC~cJ@1g|NDLf0%dRMF^+lWIZW%r8c5_?kj8xnRjq`g5Jst9Qt`q?GXz zXYGrtkMxOuqH(eEgaII$Tlk5VdZWgAx1axAYw;{btz6SEyY7n~U8R~j-_G%TCEadd z_$8<%k9`t2Oc}NBK6*SI+J`O6X$1`Kcx<{y&!`b~e}S^9zWkmXy5A17YqvbP4cj*E z9n!yC{EP#)MaoOvA}if(TBv%f#mcIe z;29-^-zaX9=sp4@)E0?al7?|$5UI`ONW|3CzLBa+emlGP;~}MXl1jC!6T-AJ17aO5 z24S66Mi|ZYlXYO>#l8I{GKBM&$|g(CVDE8m59=)CN?Sm6NIYqrCdQ1$C0n!Qu&}Ub zwcS*yTHd@y7k+ui?o%8344W4Ay}qTe`kL+X2l2_gNXtOHcPheT!}lwXfUC4@&1$We z-oE$wI=>g;rJ5}zx^w_wR};cZ2wbaIi*~s(%i4R=H{_mEE@5q)0V%u2IvyEWQwF6_ z8y%C?jv;ddB@48h^bqRKuP}oq;p%GwM@6S?Vkzf=fpmdT(bru`!v_kE2?=I2QGsYp zoI{>D6_VpIZHm&tp>a`P$VAs*)UI;8W78nYE{{=Erz)*NSH)KlbTE0?kr>vk>aF+N zlfPRhvR^#ZjrHzY-DYIBYV#bueWE}0G9Yds+ib+7*FGvQitpNMz2dTlf7q?3KaMQR0W_)6de2qF_gti9pFZ$q8Fu^` zCH%_3ulrnjeUMV4OD&2Qc3O_R&?WL$YR?3{C3;Pax@O%*J>cRsa?Gls^ssup-sAue z6|S-zW>jS49C}QQ{1+RRH~)-*lDF0n0jkAMu?G=Jrv)vw#pVX9)S(ia$rbOL#2Eom z^+Zr;1z$|R&OfBMduZbJuOi~lqa%T*m%i8RK9>(p&48PzX~~63N6$|XKOp}ahuyVW zzsug<{<0&z=epZMPl+j2(HA&oe^gur`bZ5fqllo=b0kwy@FYc5qh_aZVpUP_swn@{ z*Uta5i1@`qX8HQ`=Uih7SFv7Bc~f%vZSh0A=|#+oT7-Rzl}yzJa^C(0mhhoWAnxPu z+!l>FCKB3XU|Yv?fn6#zLst9Nlr91?+!5!xJEYd%M2Z@W3k^1y)*~RY{vIxfk#kyj;Gy|zjhu!a?jNmgl2AQ>EBvlA%Q?ZM<$IvAA zt_^EyMjn}{wH)_T4_6+2pld>N(z_IGUfm7wa&g!xFEJY?;SJ_M+YZHiTZHGG*N~0= z#sgQ?-*aJ6rQG6HrSyJZNmQrCd;Qbl+o%5ycA-k`?WU=R2to%J68BLE^pWtjo1Y<;mUwk(U0zPc&(RlWrB!doq?XRk-^GKE@ZK8_I1l>VnT@_ru|-Du-9$u2O1A5#>R9Vy8VwH8K3?=_}L?P_7z_%X^ARCa#nYibPP5g zX8l;xIA#czP;*Q(?zO7@-WW}5*&(5fRoqmFgF*PmO!be6d%_Ccv2mo=e#G@L`~$c?U+9_b`j!OrkieuWXaGCu8k%!_Ax zPrzaJeBGcnnol5y%LyM__;qPG@#}}j`>Vs(+L!m0&!?xo`(yi_BFT-R@H=zg2MC)kv-SgmZLw#k)i~!pH0maQ5B6_AO=0%B0c_2WX@1GeVsHb_MLFhp^<#bq zd;OuFJ)$Wd2_b7rkl!wln35C4ck%oaX1R&~%t&clZtW%a(e-uv%<=SX{wz+{X=v=A zVd@Oi@N3$(w~MQ-Xf;DI3;sew-;-6bk(h=n>B>1_rNi#*_JH2~>YtEecDBtDzU^LO zI8la9@2(fKmsf|L-NNb9hTpQW6oJbir>33vcCT~C0414)we>2&Q=kBkt%2EaR?CED z^}pL=^2M75@;F|5@73GTQ0+MwC{V|g>v&o*n(vMGl+c?4hj4?QOiwMJ5KFy_bs~ zni)aCqvi1^T3D9j_#VmZGhF4+{@EGu@<%x5WuZ*)36fdPr5ZtI_QAPBZ?nT?wAD_R zaobG}BhISOs54mi1ZUjws1iE4@RR
zMt{w)k*aJ$*Bn(~kfACol^vHN51`<&%eLw)K9I2|L>G;46hX6+2=AjITX5-#+bP;fSUZ9)SWvLidqijS;N2RA?D`{^VH zY5^5y1J01H8JV`ZukWtav@e$fT9?PgA6Ar7RlZz<-rIZX+@8z&A_c#9-0qynRi7~+#?~E$u&e1+EY1-ohr)6(o)W5!Hmc=gF||#-mfDh5wAg7&51?p3LT>LdiNJA zY7NagX$zlaYmVnv;hmm@t#8dB`9ybJBeu~N9jinX3Tap+t6k%HC|Qwrr&#sra?@{P zajX0D)M3+i-fg|rp6LdStHpM@RzIBB4QQq4%VuJ0``&F~$j4>>m5PSDq{g^gy;hV; zRb6(9k%M>1Q^EgZw=o{JqyRl9qUKpg7keb3Q_*tYx@l>%gzuvz%qoShb zNJyxGqDpp9Wima!7ecjgB&kVY$`%HP0^%s@#l6JJb);)36OEvzshx;*b?8(!1YNuY8|;^4!KKL66GU{RI#qWB{at^n)+!yF3(S zbAilKCLdvgt7zOMeIHZ8zOz3AQc$jQJ>8(fW(Ys05SN$FS~Pne5kb{D+0|$~ZzMAw zzjEY;ncN4MLNUB3$tKF55*F>3+1A{0K@Bbq54(uu4AURGT;#u?B9QRl?_h~T8C4~! zH;48clOEhdf@=nd2~6cg;qXp!ti${g6zKoEBvh3pjS|7DY)p}mY4mpWMKPIDoAq`e zEA?>c;}x$rgv%9}3|)3rM>MKcDK#x?UI&)00&D;iel?+9u5;CGUOm=r=sU5gJkspS z-&t8XA9}Ju1$U(b18}-lr|0oEG?#+Byu6&k#b(1^l%ijCD~rd1(`dfusntX}v!Ta| zF?Ejb>Ck;Mjr?=D7Z8>@1IsuT6eQB2>_Ff#H`e6ybR8XZq1#%$<*3%8qO6RWb!*}| zufElNQc15J)DXeTZSXM3Z~vmuwV`qHAue`F3iXGf(UvS%OI3Q(LK*YK7}Z5W1&d80 z29o;b=!!P{Pz<0WbJ30O;oCMiX{_r*^Gj0&&Q7~^a8`#y(~6<$m7 z116Rx<9C0BuD!SQJ;X{8Z8m#fbhg+m?f&{J^=-K~uXuP!*Sdp9-V91w-0VDbcokNg zE>*Ke+oyjx9kdS7Fh8LoaM(O5bdX~qaPaSLsaltru4<{e_nLQFO5ox>n#g7C1V)w- zkpaIR1oQ~SLHvoIF^gH>FUog2OtE2UAA(~d#iG@X>H60mAh8B2q{1(#atlh;b6TQ9 zO9@PBrNdcO%QFSm=*V2j94#lacq?&rnT60$)l-_z#wsc%4DOS-yI-i0g?FV%#nj9m z)><=ZSsROo{RF40_xrO^LrkWJ`iHeo_2 z)S@D|ut2=9prQ)h{DCxra#kFcotVSp<|jnR5p#RL$C}s*nhpEmx7j(MOo-1M!*URTf&OzwI0R}8R=58&R{axC_qX0SjVww%B@e$Qg?W8Jl9`YyS}j1kL=CN7 zZibY*aKxi(2GyU$@hZ~fBhJkx49>%zNe!xH!0LjnT@$y#|cRQZ@pbNpbQC}2dt zZ9|6;KRYXDH`K?(1RN3cFKM$mdgOQL^17vU-#Y(Fscc}oH+StrBKpuI{BtEmO2Vu|Z z1^Mc^Kjvt)#-o--6MU+9S~6LesZfL zFf~r#HG^8l3UV5`r#pqPQ+<;T;-}FVoh(&Jj&R}$!HMou z>vwk=*P*lVs#eRTi3drdWvegaMGA&a`xOUt*#Fpg4%>v=JEHju&UwCS*?|JrOHfZo& zBuC!dvgXu{{n549`*E0U-+nrtyYAt8Rf_M>c~}Yhw$X}>W!Ltc9v3P49^m`mmehSj zvQKwymzyedzmC`ab6n)EeSJ;WtkY>TJ$kg$CH4XhMG$L( z*&wP^_j!v$=ectq*zH|Pb05J^-R(>osvcM6cGIdkZ^?V2G|-zBMUyma#a=t>?2L=&|v#WcZva{4vp|o1y!Bn%?_|4ivXq zQRg$5o$s?6y?P8wo%5WiXmAsy*>?%bbnx7Q78bw_USurq^x;y8#G`EtpE46N;3mhT!BqDibxB_o1 za)fKHyhfI5nwiZ=Uca2|1Ir*no&?mNQ%8+4f>Xrju|`S;6RG2vnldIZrbgD(nmh)> zhF!(a^SaGj7YCnD_<;Souh0Bx&+*j~m6zqso453U-KZ_^BVwVw_vkra!-bZdx0pNT zuZ1Jf?|j`b3O@-uZGNuzJ%xY0G3WW+xCFc``@dzF#tq*LR39gu8M*jyX0v9~7}o!R z20wY>{#KnzetJ0Aj`+)^>}UA}U+dP*g-XX(gG6CSWfUEB*pHuU7aD_~TxGkwvMPA^ z`M_|}AzkGz)*NZd6=QSbL?W*5iWtPXjZxfun3EJeuhJzHXy_9Bc+h<)4 zY=LPDlt0?C_7Bu2YgR2=KfD5gAm*L}0Y341j}7&eJ9gi;6i5)cZwt7QGVI(16=+8% z*n(G~i>DcMixnIZi&?`9GTIWs$0>lY_W99}Z>-8i{c<7YX#0P)By2f;EeZq;7C@*C zX+yK1rlF&1d#mi()yT-OiBlzPi0_ot5d-F~8>!M{^=*srGHUFhT zpWprS(&6*8DbN2f^eE@%-9q@zFW`m!x&>nE{B7PG8zwsIe2jyWbmCDNzLdq2s77eHLgA@UJ{c5ikA& zL_@VWz|MxB1Pm4>1THtz^*NGHNv8;-@tK$6sqrzo)<>buAeGHKf|K#=uHjNv5&}r* z28>JR%5-EY^U6nD53DOxXf;QwOjXU_e7+{ClIhcG_;>0@4R{)ydn%*2dvCYgr(0as ziS3sTvq9QW(a7?bOjT+`pV><`W@Ker9bbfco2~b=;n&Gk?b~Cj$A;6HQ#|j>{MYLa z2&ee?{u9($nn?B-_<-#D)FY$JUj0AUFCGWp2`HT%T^=0L1GaAi-p}F#uCMH$mzIT} zZjdkjwMt5011yBxUZAl6j|O+Kb^g~5pXYnT?{5KLZSi*g`#bbPFR04uvsZdg7gu^d z4^tPqTVLs4Z=jcSP5ZqYTDyH=D~+FnDJeGqs%znGA^)p2lMBSyi4(;nCF{L$;HfPj zJfbS2lqOfG3MbL=diQlKE8(K&h3Y30LF^W

rgWpAH|H7J_@#7P%fvHvadL9-B9Q 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
F;m$rkRV{{=pR-PZM|CVyk=a;~4WdC4K^ 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
fB+)S6#4RXS;4W0{? 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 iF0OD7{SO}_~*k+;DOSk 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 + exit 1 +fi + +if ! command -v systemctl >/dev/null 2>&1; then + echo "未找到 systemctl,此脚本需要 systemd。" >&2 + exit 1 +fi + +if ! command -v python3 >/dev/null 2>&1; then + echo "未找到 python3,请先安装 Python 3.8+。" >&2 + exit 1 +fi + +if ! python3 -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 8) else 1)'; then + echo "Python 版本过低,需要 3.8 或更新版本。" >&2 + exit 1 +fi + +SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +TARGET_DIR="/opt/server-monitor" +UNIT_PATH="/etc/systemd/system/server-monitor.service" +ENV_PATH="/etc/server-monitor.env" + +install -d -m 0755 "${TARGET_DIR}" +install -m 0755 "${SOURCE_DIR}/monitor.py" "${TARGET_DIR}/monitor.py" +rm -rf "${TARGET_DIR}/servermon" "${TARGET_DIR}/web" +cp -a "${SOURCE_DIR}/servermon" "${TARGET_DIR}/servermon" +cp -a "${SOURCE_DIR}/web" "${TARGET_DIR}/web" +install -m 0644 "${SOURCE_DIR}/README.md" "${TARGET_DIR}/README.md" + +if [[ ! -f "${ENV_PATH}" ]]; then + cat >"${ENV_PATH}" <<'EOF' +# Server Monitor 环境变量(可选) +# 取消下一行注释并改成自己的凭据即可启用 HTTP Basic 认证: +# SERVER_MONITOR_AUTH=admin:change-me +EOF + chmod 0600 "${ENV_PATH}" +fi + +install -m 0644 "${SOURCE_DIR}/deploy/server-monitor.service" "${UNIT_PATH}" +systemctl daemon-reload +systemctl enable --now server-monitor.service +systemctl restart server-monitor.service + +echo +echo "Server Monitor 已安装并启动。" +echo " 访问: http://<服务器IP>:8787/" +echo " 状态: systemctl status server-monitor --no-pager" +echo " 日志: journalctl -u server-monitor -f" +echo " 认证: 编辑 ${ENV_PATH} 后 systemctl restart server-monitor" +echo +systemctl --no-pager --lines=0 status server-monitor.service || true diff --git a/monitor.py b/monitor.py new file mode 100644 index 0000000..e5abb1b --- /dev/null +++ b/monitor.py @@ -0,0 +1,196 @@ +#!/usr/bin/env python3 +"""Server Monitor entry point. + +Usage: + python3 monitor.py --bind 0.0.0.0 --port 8787 + python3 monitor.py --demo + python3 monitor.py --once --demo +""" + +from __future__ import annotations + +import argparse +import json +import logging +import os +import signal +import socket +import sys +import threading +import time +from pathlib import Path +from typing import Optional + +from servermon import __version__ +from servermon.demo import DemoSource +from servermon.metrics import SystemCollector +from servermon.service import MonitorService +from servermon.web import AuthConfig, build_server + +logger = logging.getLogger("servermon") + + +def _build_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + prog="server-monitor", + description="Linux 服务器监控展示牌:CPU / 内存 / 负载 / 磁盘 / 网络,1024x768 自适应面板。", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--bind", default="0.0.0.0", help="监听地址") + parser.add_argument("--port", type=int, default=8787, help="监听端口") + parser.add_argument("--interval", type=float, default=1.0, help="采样间隔(秒,最小 0.2)") + parser.add_argument("--demo", action="store_true", help="使用内置演示数据(可在非 Linux 上运行)") + parser.add_argument("--once", action="store_true", help="打印一次 JSON 快照后退出") + parser.add_argument( + "--auth", + default=None, + metavar="USER:PASSWORD", + help="可选 HTTP Basic 认证;也可用环境变量 SERVER_MONITOR_AUTH", + ) + parser.add_argument("--web-dir", default=None, help="前端静态文件目录") + parser.add_argument("--verbose", action="store_true", help="输出 HTTP 访问日志") + parser.add_argument("--version", action="version", version=f"server-monitor {__version__}") + return parser + + +def _local_ips() -> list: + ips = [] + try: + host = socket.gethostname() + for info in socket.getaddrinfo(host, None, socket.AF_INET): + ip = info[4][0] + if ip not in ips and not ip.startswith("127."): + ips.append(ip) + except OSError: + pass + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.settimeout(0.2) + sock.connect(("1.1.1.1", 80)) + ip = sock.getsockname()[0] + sock.close() + if ip not in ips: + ips.append(ip) + except OSError: + pass + return ips + + +def _print_banner(bind: str, port: int, demo: bool, auth: Optional[AuthConfig]) -> None: + print() + print(" ╭──────────────────────────────────────────────────────────╮") + print(" │ SERVER MONITOR · 1024x768 · realtime metrics │") + print(" ╰──────────────────────────────────────────────────────────╯") + print(f" 模式 : {'DEMO 演示数据' if demo else 'LIVE 系统指标'}") + print(f" 监听 : {bind}:{port}") + if bind in ("0.0.0.0", "::", ""): + print(f" 本机访问 : http://127.0.0.1:{port}/") + for ip in _local_ips(): + print(f" 局域网 : http://{ip}:{port}/") + elif ":" in bind: + print(f" 访问 : http://[{bind}]:{port}/") + else: + print(f" 访问 : http://{bind}:{port}/") + print(f" 认证 : {'HTTP Basic 已启用' if auth else '未启用(建议仅暴露在可信网络)'}") + print(" 快捷键 : SPACE 暂停轮播 · ←/→ 切换 · F 全屏") + print() + + +def _run_once(args: argparse.Namespace) -> int: + source = DemoSource() if args.demo else SystemCollector() + service = MonitorService(source, interval=args.interval) + service.bootstrap() + if not args.demo: + time.sleep(max(0.3, min(2.0, args.interval))) + service.collect_once() + snapshot = service.snapshot() + if snapshot is None: + print("无法生成快照", file=sys.stderr) + return 1 + json.dump(snapshot, sys.stdout, ensure_ascii=False, indent=2) + sys.stdout.write("\n") + return 0 + + +def main(argv: Optional[list] = None) -> int: + args = _build_parser().parse_args(argv) + logging.basicConfig( + level=logging.INFO, + format="%(asctime)s %(levelname)-7s %(name)s: %(message)s", + datefmt="%H:%M:%S", + ) + + if args.interval < 0.2: + logger.error("--interval 不能小于 0.2 秒") + return 2 + if not 1 <= args.port <= 65535: + logger.error("--port 必须在 1-65535 之间") + return 2 + + try: + auth_raw = args.auth if args.auth is not None else os.environ.get("SERVER_MONITOR_AUTH") + auth = AuthConfig.parse(auth_raw) + except ValueError as exc: + logger.error("认证配置错误: %s", exc) + return 2 + + if args.once: + return _run_once(args) + + if not args.demo and not sys.platform.startswith("linux"): + logger.error("实时模式仅支持 Linux。开发预览请加 --demo。") + return 2 + + source = DemoSource() if args.demo else SystemCollector() + service = MonitorService(source, interval=args.interval) + service.bootstrap() + + stop_event = threading.Event() + web_dir = Path(args.web_dir) if args.web_dir else None + try: + server = build_server( + args.bind, + args.port, + service, + auth=auth, + web_dir=web_dir, + stop_event=stop_event, + verbose=args.verbose, + ) + except (OSError, ValueError, FileNotFoundError) as exc: + logger.error("无法启动 HTTP 服务: %s", exc) + return 1 + + def shutdown(signum: int, _frame: object) -> None: + logger.info("收到信号 %s,正在停止…", signum) + stop_event.set() + + for sig in (signal.SIGINT, signal.SIGTERM): + try: + signal.signal(sig, shutdown) + except (ValueError, OSError): + pass + + server_thread = threading.Thread(target=server.serve_forever, name="http", daemon=True) + server_thread.start() + service.start() + + _print_banner(args.bind, args.port, args.demo, auth) + if auth is None and args.bind not in ("127.0.0.1", "::1", "localhost"): + logger.warning("当前未启用认证且监听非回环地址,请用防火墙限制访问范围。") + + try: + while not stop_event.wait(0.5): + pass + except KeyboardInterrupt: + stop_event.set() + finally: + service.stop() + server.shutdown() + server.server_close() + logger.info("已停止") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/servermon/__init__.py b/servermon/__init__.py new file mode 100644 index 0000000..181b78c --- /dev/null +++ b/servermon/__init__.py @@ -0,0 +1,3 @@ +"""Server Monitor - a dependency-free Linux dashboard.""" + +__version__ = "1.0.0" diff --git a/servermon/demo.py b/servermon/demo.py new file mode 100644 index 0000000..63785f7 --- /dev/null +++ b/servermon/demo.py @@ -0,0 +1,286 @@ +"""Deterministic, realistic demo data for UI development and screenshots.""" + +from __future__ import annotations + +import datetime as dt +import math +import random +import time +from typing import Any, Dict, List + +from .metrics import build_alerts + + +class DemoSource: + """A drop-in metrics source that simulates a busy Linux edge server.""" + + def __init__(self) -> None: + self.step = 0 + self.rng = random.Random(20260609) + self._cores = 16 + self._total_mem = 32 * 1024 ** 3 + now = dt.datetime.now().astimezone() + offset = now.utcoffset() + self._tz_offset = int(offset.total_seconds()) if offset else 0 + self._tz_name = now.tzname() or "LOCAL" + self._boot_base = time.time() - (12 * 86400 + 4 * 3600 + 27 * 60 + 18) + + def snapshot(self) -> Dict[str, Any]: + return self.sample() + + def sample(self) -> Dict[str, Any]: + self.step += 1 + s = self.step + now = time.time() + uptime = 12 * 86400 + 4 * 3600 + 27 * 60 + 18 + s + + cpu_base = 36 + 15 * math.sin(s / 15.0) + 5 * math.sin(s / 3.7) + self.rng.uniform(-2.2, 2.2) + cpu_base = max(8.0, min(88.0, cpu_base)) + per_core = [] + for index in range(self._cores): + value = cpu_base + 13 * math.sin(s / (7.0 + index * 0.6) + index * 0.9) + self.rng.uniform(-4, 4) + per_core.append(round(max(1.0, min(99.0, value)), 1)) + cpu_percent = round(sum(per_core) / len(per_core), 1) + + mem_percent = 61.5 + 4.5 * math.sin(s / 37.0) + 1.2 * math.sin(s / 9.0) + mem_percent = max(30.0, min(92.0, mem_percent)) + total_mem = self._total_mem + used_mem = int(total_mem * mem_percent / 100.0) + available = total_mem - used_mem + free = int(available * 0.32) + buffers = int(total_mem * 0.018) + cached = int(total_mem * 0.235 + 1.5 * 1024 ** 3 * math.sin(s / 25.0)) + apps = max(0, total_mem - free - buffers - cached) + swap_total = 8 * 1024 ** 3 + swap_used = int(swap_total * (0.045 + 0.012 * math.sin(s / 19.0))) + swap_percent = round(swap_used / swap_total * 100, 1) + + load1 = max(0.15, self._cores * cpu_percent / 100.0 * 0.92 + 0.25) + load5 = load1 * 0.94 + 0.08 + load15 = load1 * 0.87 + 0.14 + + total_root = 512 * 1024 ** 3 + total_data = 4 * 1024 ** 4 + total_var = 128 * 1024 ** 3 + total_boot = 1024 ** 3 + disks = [ + self._disk("/dev/nvme0n1p2", "/", "ext4", total_root, 46.4 + 0.3 * math.sin(s / 40)), + self._disk("/dev/nvme1n1", "/data", "xfs", total_data, 91.2 + 0.08 * math.sin(s / 55)), + self._disk("/dev/nvme0n1p3", "/var", "ext4", total_var, 67.8 + 0.4 * math.sin(s / 30)), + self._disk("/dev/nvme0n1p1", "/boot", "ext4", total_boot, 23.6), + ] + + read_mbps = 17.4 + 7.5 * math.sin(s / 6.0) + self.rng.uniform(-2, 2) + write_mbps = 6.1 + 3.2 * math.cos(s / 8.0) + self.rng.uniform(-1, 1) + read2 = 2.1 + 1.7 * math.sin(s / 5.0 + 1.4) + write2 = 1.2 + 0.9 * math.cos(s / 7.0) + disk_devices = [ + { + "device": "nvme0n1", + "read_bps": int(read_mbps * 1024 ** 2), + "write_bps": int(write_mbps * 1024 ** 2), + "read_iops": round(780 + 240 * math.sin(s / 5), 1), + "write_iops": round(310 + 130 * math.cos(s / 6), 1), + "util_percent": round(min(99.0, 31 + 18 * math.sin(s / 9)), 1), + "read_await_ms": 0.31, + "write_await_ms": 0.44, + }, + { + "device": "nvme1n1", + "read_bps": int(max(0, read2) * 1024 ** 2), + "write_bps": int(max(0, write2) * 1024 ** 2), + "read_iops": round(112 + 44 * math.sin(s / 4), 1), + "write_iops": round(86 + 25 * math.cos(s / 5), 1), + "util_percent": round(min(99.0, 12 + 8 * math.sin(s / 7 + 2)), 1), + "read_await_ms": 0.18, + "write_await_ms": 0.22, + }, + ] + + rx_mbps = 12.6 + 5.2 * math.sin(s / 11.0) + 1.5 * math.sin(s / 2.9) + self.rng.uniform(-0.5, 0.5) + tx_mbps = 3.4 + 1.8 * math.cos(s / 9.0) + self.rng.uniform(-0.25, 0.25) + rx2_mbps = 1.35 + 0.55 * math.sin(s / 13.0 + 1.1) + tx2_mbps = 0.42 + 0.2 * math.cos(s / 10.0) + rx_bps = int(max(0, rx_mbps) * 1024 ** 2) + tx_bps = int(max(0, tx_mbps) * 1024 ** 2) + interfaces = [ + self._iface("ens18", "10.20.4.17", rx_bps, tx_bps, 10_000, primary=True), + self._iface("ens19", "172.18.4.21", int(max(0, rx2_mbps) * 1024 ** 2), int(max(0, tx2_mbps) * 1024 ** 2), 1000), + self._iface("wg0", "10.88.0.2", int(0.82 * 1024 ** 2), int(0.31 * 1024 ** 2), None, virtual=True), + ] + + processes = self._processes(total_mem) + temp = round(53.2 + 2.6 * math.sin(s / 17.0), 1) + freq = int(3798 + 120 * math.sin(s / 5.0)) + + alerts = build_alerts( + cpu_percent=cpu_percent, + memory_percent=mem_percent, + swap_percent=swap_percent, + load1=load1, + cores=self._cores, + disks=disks, + temp_c=temp, + ) + + return { + "ts": now, + "version": "1.0.0", + "host": { + "hostname": "orion-edge-07", + "os": "Debian GNU/Linux 12 (bookworm)", + "kernel": "6.1.0-28-amd64", + "arch": "x86_64", + "cpu_model": "AMD Ryzen 7 5800X 8-Core Processor", + "cores": self._cores, + "physical_cores": 8, + "primary_ip": "10.20.4.17", + "ips": ["10.20.4.17", "10.88.0.2", "172.18.4.21"], + "boot_epoch": now - uptime, + "uptime_seconds": uptime, + "tz_offset": self._tz_offset, + "tz_name": self._tz_name, + "process_count": 214, + "thread_count": 438, + "version": "1.0.0", + "demo": True, + }, + "cpu": { + "percent": cpu_percent, + "per_core": per_core, + "breakdown": { + "user": round(cpu_percent * 0.61, 1), + "nice": 0.3, + "system": round(cpu_percent * 0.27, 1), + "iowait": round(cpu_percent * 0.07, 1), + "irq": round(cpu_percent * 0.02, 1), + "softirq": round(cpu_percent * 0.02, 1), + "steal": 0.1, + }, + "freq_mhz": freq, + "temp_c": temp, + "temp_label": "x86_pkg_temp", + "model": "AMD Ryzen 7 5800X 8-Core Processor", + "cores": self._cores, + "physical_cores": 8, + }, + "memory": { + "total": total_mem, + "used": used_mem, + "free": free, + "available": available, + "buffers": buffers, + "cached": cached, + "apps": apps, + "percent": round(mem_percent, 1), + "composition": { + "apps": apps, + "cache": cached, + "buffers": buffers, + "free": free, + }, + "swap_total": swap_total, + "swap_used": swap_used, + "swap_free": swap_total - swap_used, + "swap_percent": swap_percent, + "dirty": 48 * 1024 ** 2, + "writeback": 0, + }, + "load": { + "load1": round(load1, 2), + "load5": round(load5, 2), + "load15": round(load15, 2), + "running": 3, + "threads": 438, + "percent": round(load1 / self._cores * 100, 1), + }, + "disks": disks, + "disk_io": { + "devices": disk_devices, + "read_bps": sum(d["read_bps"] for d in disk_devices), + "write_bps": sum(d["write_bps"] for d in disk_devices), + }, + "network": { + "interfaces": interfaces, + "interface_count": 3, + "total_rx_bps": rx_bps + int(max(0, rx2_mbps) * 1024 ** 2), + "total_tx_bps": tx_bps + int(max(0, tx2_mbps) * 1024 ** 2), + "primary_iface": "ens18", + "primary_ip": "10.20.4.17", + "all_ips": ["10.20.4.17", "10.88.0.2", "172.18.4.21"], + "errors": 0, + "drops": 0, + }, + "processes": processes, + "alerts": alerts, + } + + def _disk(self, device: str, mount: str, fstype: str, total: int, percent: float) -> Dict[str, Any]: + used = int(total * percent / 100) + free = total - used + return { + "device": device, + "mount": mount, + "fstype": fstype, + "total": total, + "used": used, + "free": free, + "percent": round(percent, 1), + "readonly": False, + "inodes_total": 100_000_000, + "inodes_free": 80_000_000, + } + + def _iface( + self, + name: str, + ip: str, + rx_bps: int, + tx_bps: int, + speed: int | None, + primary: bool = False, + virtual: bool = False, + ) -> Dict[str, Any]: + return { + "name": name, + "ip": ip, + "virtual": virtual, + "primary": primary, + "rx_bps": rx_bps, + "tx_bps": tx_bps, + "rx_total": 18_400_000_000_000 + rx_bps * 37, + "tx_total": 4_700_000_000_000 + tx_bps * 29, + "errors": 0, + "drops": 0, + "speed_mbps": speed, + "link": True, + } + + def _processes(self, total_mem: int) -> List[Dict[str, Any]]: + rows = [ + ("node", 2203, 18.4, 3.1, "node /opt/edge-api/dist/server.js --cluster 4"), + ("java", 4080, 14.1, 12.6, "java -Xms4g -Xmx6g -jar /opt/events/event-worker.jar"), + ("postgres", 1442, 12.8, 8.4, "postgres: checkpointer"), + ("python3", 3120, 7.6, 1.5, "python3 /opt/telemetry/collector.py --workers 8"), + ("nginx", 2101, 4.2, 0.8, "nginx: worker process"), + ("dockerd", 910, 2.1, 1.2, "/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock"), + ("systemd-journald", 512, 1.8, 0.3, "/lib/systemd/systemd-journald"), + ("redis-server", 1750, 1.2, 0.7, "redis-server 0.0.0.0:6379"), + ("containerd", 1002, 0.8, 0.4, "/usr/bin/containerd"), + ("kworker/3:2", 88, 0.4, 0.0, "[kworker/3:2-events]"), + ("rsyslogd", 702, 0.2, 0.1, "/usr/sbin/rsyslogd -n -iNONE"), + ("sshd", 2402, 0.1, 0.1, "sshd: /usr/sbin/sshd -D [listener]"), + ] + out = [] + for name, pid, cpu, mem, cmd in rows: + rss = int(total_mem * mem / 100) + out.append({ + "pid": pid, + "name": name, + "cmd": cmd, + "cpu_percent": cpu, + "mem_percent": mem, + "rss_bytes": rss, + "threads": 1 if name.startswith("kworker") else 24, + }) + return out diff --git a/servermon/metrics.py b/servermon/metrics.py new file mode 100644 index 0000000..72f1276 --- /dev/null +++ b/servermon/metrics.py @@ -0,0 +1,1009 @@ +"""Linux system metric collection using /proc, /sys and statvfs. + +The module intentionally depends only on the Python standard library so the +dashboard can run on a bare server. Every parser is a pure function and can be +tested with synthetic /proc data (see tests/test_metrics.py). +""" + +from __future__ import annotations + +import datetime as dt +import glob +import json +import os +import platform +import re +import shutil +import socket +import subprocess +import time +from pathlib import Path +from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple + +try: # package import + from . import __version__ +except ImportError: # pragma: no cover - direct module execution + __version__ = "1.0.0" + + +# Filesystems worth showing on a storage dashboard. Pseudo filesystems are +# deliberately excluded so the panel does not fill with tmpfs/proc entries. +REAL_FS_TYPES = { + "ext2", "ext3", "ext4", "xfs", "btrfs", "zfs", "f2fs", "jfs", "reiserfs", + "bcachefs", "vfat", "exfat", "ntfs", "ntfs3", "fuseblk", "overlay", "aufs", + "nfs", "nfs4", "cifs", "smb3", "ceph", "glusterfs", "lustre", "9p", +} + +VIRTUAL_IFACE_PREFIXES = ( + "lo", "veth", "docker", "br-", "virbr", "cni", "flannel", "kube", "cali", + "tunl", "vxlan", "dummy", "ifb", "lxc", "podman", +) + +# Linux /proc/stat fields, in order after the "cpu" label. +_CPU_FIELDS = ("user", "nice", "system", "idle", "iowait", "irq", "softirq", "steal") + +_MEMINFO_KEYS = { + "MemTotal": "total", + "MemFree": "free", + "MemAvailable": "available", + "Buffers": "buffers", + "Cached": "cached", + "SReclaimable": "sreclaimable", + "Shmem": "shmem", + "SwapTotal": "swap_total", + "SwapFree": "swap_free", + "Dirty": "dirty", + "Writeback": "writeback", + "Slab": "slab", +} + +_STAT_RE = re.compile(r"^(\d+) \((.+)\) ([A-Za-z]) (.*)$") + + +def _read_text(path: Path) -> str: + try: + return path.read_text(encoding="utf-8", errors="replace") + except (OSError, ValueError): + return "" + + +def _as_int(value: str, default: int = 0) -> int: + try: + return int(value) + except (TypeError, ValueError): + return default + + +def _pct(used: float, total: float) -> float: + if total <= 0: + return 0.0 + return max(0.0, min(100.0, used / total * 100.0)) + + +def _round(value: Optional[float], digits: int = 1) -> Optional[float]: + if value is None: + return None + return round(float(value), digits) + + +def parse_cpu_stat(text: str) -> Tuple[Optional[Dict[str, int]], List[Dict[str, int]]]: + """Parse /proc/stat CPU times into aggregate and per-core dictionaries.""" + + aggregate: Optional[Dict[str, int]] = None + cores: List[Dict[str, int]] = [] + for line in text.splitlines(): + if not line.startswith("cpu"): + continue + parts = line.split() + if len(parts) < 5: + continue + label = parts[0] + try: + values = [int(v) for v in parts[1:9]] + except ValueError: + continue + values += [0] * (8 - len(values)) + item = dict(zip(_CPU_FIELDS, values)) + item["total"] = sum(values) + item["idle_all"] = item["idle"] + item["iowait"] + if label == "cpu": + aggregate = item + elif label[3:].isdigit(): + item["index"] = int(label[3:]) + cores.append(item) + cores.sort(key=lambda c: c["index"]) + return aggregate, cores + + +def parse_cpuinfo(text: str) -> Dict[str, Any]: + """Extract model name, logical cores and physical core count from cpuinfo.""" + + model = "" + processors = 0 + physical = set() + physical_id: Optional[str] = None + core_id: Optional[str] = None + for line in text.splitlines() + [""]: + if not line.strip(): + if physical_id is not None and core_id is not None: + physical.add((physical_id, core_id)) + physical_id = core_id = None + continue + if ":" not in line: + continue + key, value = line.split(":", 1) + key = key.strip().lower() + value = value.strip() + if key == "processor": + processors += 1 + elif key in ("model name", "hardware", "processor model") and not model: + model = value + elif key == "physical id": + physical_id = value + elif key == "core id": + core_id = value + return { + "model": model, + "logical_cores": processors, + "physical_cores": len(physical) if physical else processors, + } + + +def parse_meminfo(text: str) -> Dict[str, int]: + """Parse /proc/meminfo into a canonical byte-valued dictionary.""" + + data: Dict[str, int] = {} + for line in text.splitlines(): + if ":" not in line: + continue + key, raw = line.split(":", 1) + key = key.strip() + target = _MEMINFO_KEYS.get(key) + if not target: + continue + match = re.search(r"(\d+)", raw) + if not match: + continue + # All tracked fields are reported in kB by the kernel. + data[target] = int(match.group(1)) * 1024 + return data + + +def parse_loadavg(text: str) -> Dict[str, Any]: + parts = text.split() + if len(parts) < 5: + return {"load1": 0.0, "load5": 0.0, "load15": 0.0, "running": 0, "threads": 0} + running = threads = 0 + if "/" in parts[3]: + left, right = parts[3].split("/", 1) + running, threads = _as_int(left), _as_int(right) + return { + "load1": float(parts[0]), + "load5": float(parts[1]), + "load15": float(parts[2]), + "running": running, + "threads": threads, + } + + +def parse_uptime(text: str) -> float: + parts = text.split() + if not parts: + return 0.0 + try: + return max(0.0, float(parts[0])) + except ValueError: + return 0.0 + + +def parse_net_dev(text: str) -> Dict[str, Dict[str, int]]: + """Parse /proc/net/dev, returning cumulative counters by interface.""" + + result: Dict[str, Dict[str, int]] = {} + for line in text.splitlines(): + if ":" not in line: + continue + name, raw = line.split(":", 1) + name = name.strip() + fields = raw.split() + if not name or len(fields) < 16: + continue + try: + values = [int(v) for v in fields[:16]] + except ValueError: + continue + result[name] = { + "rx_bytes": values[0], + "rx_packets": values[1], + "rx_errors": values[2], + "rx_drops": values[3], + "tx_bytes": values[8], + "tx_packets": values[9], + "tx_errors": values[10], + "tx_drops": values[11], + } + return result + + +def parse_diskstats(text: str) -> Dict[str, Dict[str, int]]: + """Parse /proc/diskstats into cumulative counters by block device.""" + + result: Dict[str, Dict[str, int]] = {} + for line in text.splitlines(): + parts = line.split() + if len(parts) < 14: + continue + name = parts[2] + try: + values = [int(v) for v in parts[3:14]] + except ValueError: + continue + result[name] = { + "reads": values[0], + "reads_merged": values[1], + "sectors_read": values[2], + "read_ms": values[3], + "writes": values[4], + "writes_merged": values[5], + "sectors_written": values[6], + "write_ms": values[7], + "io_in_progress": values[8], + "io_ms": values[9], + "weighted_io_ms": values[10], + } + return result + + +def _unescape_mount(value: str) -> str: + def replace(match: re.Match[str]) -> str: + return chr(int(match.group(1), 8)) + + return re.sub(r"\\([0-7]{3})", replace, value) + + +def parse_mounts(text: str) -> List[Dict[str, str]]: + mounts = [] + for line in text.splitlines(): + parts = line.split() + if len(parts) < 4: + continue + mounts.append({ + "device": _unescape_mount(parts[0]), + "mount": _unescape_mount(parts[1]), + "fstype": parts[2], + "options": parts[3], + }) + return mounts + + +def build_alerts( + cpu_percent: float, + memory_percent: float, + swap_percent: float, + load1: float, + cores: int, + disks: Sequence[Dict[str, Any]], + temp_c: Optional[float], +) -> List[Dict[str, str]]: + """Build compact, user-facing alert messages for the status ticker.""" + + alerts: List[Dict[str, str]] = [] + + def add(severity: str, message: str) -> None: + alerts.append({"severity": severity, "message": message}) + + if cpu_percent >= 95: + add("crit", f"CPU 使用率 {cpu_percent:.0f}%") + elif cpu_percent >= 85: + add("warn", f"CPU 使用率 {cpu_percent:.0f}%") + + if memory_percent >= 95: + add("crit", f"内存使用率 {memory_percent:.0f}%") + elif memory_percent >= 85: + add("warn", f"内存使用率 {memory_percent:.0f}%") + + if swap_percent >= 80: + add("crit", f"Swap 已用 {swap_percent:.0f}%") + elif swap_percent >= 50: + add("warn", f"Swap 已用 {swap_percent:.0f}%") + + if cores > 0 and load1 >= cores * 3: + add("crit", f"负载 {load1:.2f} / {cores} 核") + elif cores > 0 and load1 >= cores * 1.5: + add("warn", f"负载 {load1:.2f} / {cores} 核") + + for disk in sorted(disks, key=lambda d: d.get("percent", 0), reverse=True): + pct = float(disk.get("percent", 0)) + if pct >= 95: + add("crit", f"磁盘 {disk.get('mount', '?')} 已用 {pct:.0f}%") + elif pct >= 85: + add("warn", f"磁盘 {disk.get('mount', '?')} 已用 {pct:.0f}%") + if len([a for a in alerts if a["message"].startswith("磁盘")]) >= 2: + break + + if temp_c is not None: + if temp_c >= 90: + add("crit", f"CPU 温度 {temp_c:.0f}°C") + elif temp_c >= 80: + add("warn", f"CPU 温度 {temp_c:.0f}°C") + + order = {"crit": 0, "warn": 1, "info": 2} + alerts.sort(key=lambda a: order.get(a["severity"], 3)) + return alerts + + +class SystemCollector: + """Collect one coherent snapshot from a Linux-like /proc and /sys tree.""" + + def __init__( + self, + proc_root: str = "/proc", + sys_root: str = "/sys", + clock: Callable[[], float] = time.monotonic, + wall_clock: Callable[[], float] = time.time, + ) -> None: + self.proc_root = Path(proc_root) + self.sys_root = Path(sys_root) + self.clock = clock + self.wall_clock = wall_clock + self._ncpu = os.cpu_count() or 1 + self._page_size = self._get_page_size() + self._static = self._read_static() + + self._prev_cpu: Optional[Dict[str, int]] = None + self._prev_cpu_cores: List[Dict[str, int]] = [] + self._cpu_total_now = 0 + self._prev_net: Dict[str, Dict[str, int]] = {} + self._prev_net_ts: Optional[float] = None + self._prev_disk: Dict[str, Dict[str, int]] = {} + self._prev_disk_ts: Optional[float] = None + self._proc_ticks: Dict[int, int] = {} + self._prev_proc_total = 0 + self._proc_cache: List[Dict[str, Any]] = [] + self._proc_cache_ts = 0.0 + self._cpu_meta: Dict[str, Any] = {"freq_mhz": None, "temp_c": None, "temp_label": None} + self._cpu_meta_ts = 0.0 + self._disk_cache: List[Dict[str, Any]] = [] + self._disk_cache_ts = 0.0 + self._addr_cache: Dict[str, Any] = {"interfaces": {}, "primary": None, "all": []} + self._addr_cache_ts = 0.0 + + def _get_page_size(self) -> int: + try: + return int(os.sysconf("SC_PAGE_SIZE")) + except (AttributeError, ValueError, OSError): + return 4096 + + def _read_static(self) -> Dict[str, Any]: + cpuinfo = parse_cpuinfo(_read_text(self.proc_root / "cpuinfo")) + osr: Dict[str, str] = {} + for line in _read_text(Path("/etc/os-release")).splitlines(): + if "=" in line: + key, value = line.split("=", 1) + osr[key] = value.strip().strip('"') + if not osr: + for candidate in (self.proc_root.parent / "etc" / "os-release",): + for line in _read_text(candidate).splitlines(): + if "=" in line: + key, value = line.split("=", 1) + osr[key] = value.strip().strip('"') + os_name = osr.get("PRETTY_NAME") or osr.get("NAME") or platform.platform() + if osr.get("VERSION") and osr.get("VERSION") not in os_name: + os_name = f"{os_name} {osr['VERSION']}" + + cores = len(self._per_core_names()) or self._ncpu + physical = cpuinfo.get("physical_cores") or cores + now = dt.datetime.now().astimezone() + offset = now.utcoffset() + tz_offset = int(offset.total_seconds()) if offset else -time.timezone + tz_name = now.tzname() or time.tzname[0] or "LOCAL" + + return { + "hostname": socket.gethostname() or "unknown", + "os": os_name, + "kernel": platform.release(), + "arch": platform.machine() or "unknown", + "cpu_model": cpuinfo.get("model") or platform.processor() or "Unknown CPU", + "cores": cores, + "physical_cores": physical, + "tz_offset": tz_offset, + "tz_name": tz_name, + "version": __version__, + } + + def _per_core_names(self) -> List[str]: + return sorted(p.name for p in self.sys_root.glob("devices/system/cpu/cpu[0-9]*") if p.is_dir()) + + # ------------------------------------------------------------------ + # Host / address helpers + # ------------------------------------------------------------------ + def _default_interface(self) -> Optional[str]: + text = _read_text(self.proc_root / "net" / "route") + best: Optional[Tuple[int, str]] = None + for line in text.splitlines()[1:]: + fields = line.split() + if len(fields) < 8: + continue + iface, dest, _gw, flags, _ref, _use, metric, _mask = fields[:8] + try: + flag_value = int(flags, 16) + except ValueError: + continue + if dest == "00000000" and flag_value & 0x2: + try: + value = int(metric) + except ValueError: + value = 0 + if best is None or value < best[0]: + best = (value, iface) + return best[1] if best else None + + def _read_addresses(self) -> Dict[str, Any]: + mapping: Dict[str, List[str]] = {} + ip_bin = shutil.which("ip") + if ip_bin: + try: + proc = subprocess.run( + [ip_bin, "-j", "addr", "show"], + capture_output=True, + text=True, + timeout=1.5, + check=False, + ) + if proc.returncode == 0 and proc.stdout.strip(): + for item in json.loads(proc.stdout): + ifname = item.get("ifname") + if not ifname: + continue + addresses = [] + for addr in item.get("addr_info", []): + if addr.get("family") == "inet" and addr.get("local"): + addresses.append(addr["local"]) + if addresses: + mapping[ifname] = addresses + except (OSError, ValueError, subprocess.SubprocessError): + mapping = {} + + primary: Optional[str] = None + try: + with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as sock: + sock.settimeout(0.2) + sock.connect(("1.1.1.1", 80)) + primary = sock.getsockname()[0] + except OSError: + primary = None + + default_iface = self._default_interface() + if primary and default_iface and primary not in mapping.get(default_iface, []): + mapping.setdefault(default_iface, []).insert(0, primary) + + all_ips = sorted({ip for values in mapping.values() for ip in values}) + if not primary and all_ips: + primary = all_ips[0] + return {"interfaces": mapping, "primary": primary, "all": all_ips} + + def _addresses(self, now: float) -> Dict[str, Any]: + if now - self._addr_cache_ts >= 30.0 or not self._addr_cache_ts: + self._addr_cache = self._read_addresses() + self._addr_cache_ts = now + return self._addr_cache + + # ------------------------------------------------------------------ + # CPU / memory / load + # ------------------------------------------------------------------ + def _read_cpu(self, now: float) -> Dict[str, Any]: + aggregate, cores = parse_cpu_stat(_read_text(self.proc_root / "stat")) + if aggregate is None: + return { + "percent": 0.0, + "per_core": [], + "breakdown": {}, + "freq_mhz": None, + "temp_c": None, + "temp_label": None, + "model": self._static["cpu_model"], + "cores": self._static["cores"], + "physical_cores": self._static["physical_cores"], + } + + self._cpu_total_now = aggregate["total"] + first = self._prev_cpu is None + if first: + used = aggregate["total"] - aggregate["idle_all"] + total = aggregate["total"] + percent = _pct(used, total) + breakdown = { + key: _pct(aggregate.get(key, 0), total) + for key in ("user", "nice", "system", "iowait", "irq", "softirq", "steal") + } + per_core = [ + _pct(core["total"] - core["idle_all"], core["total"]) for core in cores + ] + else: + prev = self._prev_cpu + total_delta = max(0, aggregate["total"] - prev["total"]) + idle_delta = max(0, aggregate["idle_all"] - prev["idle_all"]) + percent = _pct(total_delta - idle_delta, total_delta) + breakdown = {} + for key in ("user", "nice", "system", "iowait", "irq", "softirq", "steal"): + breakdown[key] = _pct( + max(0, aggregate.get(key, 0) - prev.get(key, 0)), total_delta + ) + per_core = [] + prev_cores = {c["index"]: c for c in self._prev_cpu_cores} + for core in cores: + old = prev_cores.get(core["index"]) + if not old: + per_core.append(0.0) + continue + dt = max(0, core["total"] - old["total"]) + di = max(0, core["idle_all"] - old["idle_all"]) + per_core.append(_pct(dt - di, dt)) + + self._prev_cpu = aggregate + self._prev_cpu_cores = cores + meta = self._read_cpu_meta(now) + return { + "percent": _round(percent, 1), + "per_core": [_round(v, 1) for v in per_core], + "breakdown": {k: _round(v, 1) for k, v in breakdown.items()}, + "freq_mhz": meta["freq_mhz"], + "temp_c": meta["temp_c"], + "temp_label": meta["temp_label"], + "model": self._static["cpu_model"], + "cores": len(cores) or self._static["cores"], + "physical_cores": self._static["physical_cores"], + } + + def _read_cpu_meta(self, now: float) -> Dict[str, Any]: + if now - self._cpu_meta_ts < 3.0 and self._cpu_meta_ts: + return self._cpu_meta + + freqs: List[float] = [] + for path in glob.glob(str(self.sys_root / "devices/system/cpu/cpu*/cpufreq/scaling_cur_freq")): + try: + freqs.append(int(Path(path).read_text().strip()) / 1000.0) + except (OSError, ValueError): + continue + if not freqs: + for line in _read_text(self.proc_root / "cpuinfo").splitlines(): + if line.lower().startswith("cpu mhz"): + try: + freqs.append(float(line.split(":", 1)[1].strip())) + except (IndexError, ValueError): + pass + freq = round(sum(freqs) / len(freqs)) if freqs else None + + zones: List[Tuple[float, str]] = [] + for path in glob.glob(str(self.sys_root / "class/thermal/thermal_zone*")): + zone = Path(path) + raw_text = _read_text(zone / "temp").strip() + try: + raw = float(raw_text) + except ValueError: + continue + celsius = raw / 1000.0 if raw > 1000 else raw + if not -20.0 <= celsius <= 150.0: + continue + label = _read_text(zone / "type").strip() or zone.name + zones.append((celsius, label)) + if not zones: + for path in glob.glob(str(self.sys_root / "class/hwmon/hwmon*/temp*_input")): + pw = Path(path) + name = _read_text(pw.parent / "name").strip() + label = _read_text(pw.with_name(pw.stem.replace("_input", "_label"))).strip() or name + if not any(token in f"{name} {label}".lower() for token in ("cpu", "package", "tctl", "tdie", "core")): + continue + try: + raw = float(_read_text(pw).strip()) + except ValueError: + continue + celsius = raw / 1000.0 if raw > 1000 else raw + if -20.0 <= celsius <= 150.0: + zones.append((celsius, label)) + if zones: + preferred = [z for z in zones if any(token in z[1].lower() for token in ("cpu", "package", "tctl", "tdie", "core"))] + temp_c, temp_label = max(preferred or zones, key=lambda z: z[0]) + temp_c = round(temp_c, 1) + else: + temp_c, temp_label = None, None + + self._cpu_meta = {"freq_mhz": freq, "temp_c": temp_c, "temp_label": temp_label} + self._cpu_meta_ts = now + return self._cpu_meta + + def _read_memory(self) -> Dict[str, Any]: + info = parse_meminfo(_read_text(self.proc_root / "meminfo")) + total = info.get("total", 0) + free = info.get("free", 0) + available = info.get("available") or free + buffers = info.get("buffers", 0) + cached = info.get("cached", 0) + info.get("sreclaimable", 0) + swap_total = info.get("swap_total", 0) + swap_free = info.get("swap_free", 0) + + used = max(0, total - available) if total else 0 + percent = _pct(used, total) + swap_used = max(0, swap_total - swap_free) + swap_percent = _pct(swap_used, swap_total) + + apps = max(0, total - free - buffers - cached) + cache_value = min(cached, max(0, total - free - buffers - apps)) + composition = { + "apps": apps, + "cache": max(0, cache_value), + "buffers": buffers, + "free": free, + } + comp_total = sum(composition.values()) + if comp_total > total and comp_total > 0: + scale = total / comp_total + composition = {k: int(v * scale) for k, v in composition.items()} + + return { + "total": total, + "used": used, + "free": free, + "available": available, + "buffers": buffers, + "cached": cached, + "apps": apps, + "percent": _round(percent, 1), + "composition": composition, + "swap_total": swap_total, + "swap_used": swap_used, + "swap_free": swap_free, + "swap_percent": _round(swap_percent, 1), + "dirty": info.get("dirty", 0), + "writeback": info.get("writeback", 0), + } + + def _read_load(self, cores: int) -> Dict[str, Any]: + load = parse_loadavg(_read_text(self.proc_root / "loadavg")) + load["percent"] = _round(_pct(load["load1"], max(1, cores)), 1) + return load + + # ------------------------------------------------------------------ + # Disks + # ------------------------------------------------------------------ + def _stat_disk(self, mount: Dict[str, str]) -> Optional[Dict[str, Any]]: + mountpoint = mount["mount"] + try: + stat = os.statvfs(mountpoint) + except OSError: + return None + frsize = stat.f_frsize or stat.f_bsize + total = frsize * stat.f_blocks + free = frsize * stat.f_bavail + used = total - frsize * stat.f_bfree + if total <= 0: + return None + if total < 1024 * 1024: + return None + percent = _pct(used, used + free) + inodes_total = stat.f_files + inodes_free = stat.f_ffree + return { + "device": mount["device"], + "mount": mountpoint, + "fstype": mount["fstype"], + "total": int(total), + "used": int(max(0, used)), + "free": int(max(0, free)), + "percent": _round(percent, 1), + "readonly": "ro" in mount["options"].split(","), + "inodes_total": int(inodes_total), + "inodes_free": int(inodes_free), + } + + def _read_disks(self, now: float) -> List[Dict[str, Any]]: + if now - self._disk_cache_ts < 5.0 and self._disk_cache_ts: + return self._disk_cache + + mounts = parse_mounts(_read_text(self.proc_root / "mounts")) + disks: List[Dict[str, Any]] = [] + seen: set = set() + for mount in mounts: + fstype = mount["fstype"].lower() + device = mount["device"] + is_real = ( + fstype in REAL_FS_TYPES + or device.startswith("/dev/") + or (fstype.startswith("fuse.") and fstype not in ("fuse.gvfsd-fuse", "fuse.lxcfs")) + ) + if not is_real: + continue + if mount["mount"] in ("/dev", "/proc", "/sys", "/run"): + continue + disk = self._stat_disk(mount) + if not disk: + continue + key = (disk["device"], disk["total"], disk["used"]) + if key in seen: + continue + seen.add(key) + disks.append(disk) + + disks.sort(key=lambda d: (0 if d["mount"] == "/" else 1, -d["percent"])) + self._disk_cache = disks + self._disk_cache_ts = now + return disks + + def _is_partition(self, name: str) -> bool: + try: + if (self.sys_root / "class" / "block" / name / "partition").exists(): + return True + except OSError: + pass + patterns = ( + r"^(sd|hd|vd|xvd)[a-z]+\d+$", + r"^nvme\d+n\d+p\d+$", + r"^mmcblk\d+p\d+$", + r"^md\d+p\d+$", + ) + return any(re.match(pattern, name) for pattern in patterns) + + def _read_disk_io(self, now: float) -> Dict[str, Any]: + stats = parse_diskstats(_read_text(self.proc_root / "diskstats")) + dt = (now - self._prev_disk_ts) if self._prev_disk_ts is not None else 0.0 + devices: List[Dict[str, Any]] = [] + new_prev: Dict[str, Dict[str, int]] = {} + + for name, current in stats.items(): + if name.startswith(("loop", "ram", "fd", "sr", "zram")): + continue + if self._is_partition(name): + continue + new_prev[name] = current + old = self._prev_disk.get(name) + if old and dt > 0: + read_sectors = max(0, current["sectors_read"] - old["sectors_read"]) + write_sectors = max(0, current["sectors_written"] - old["sectors_written"]) + reads = max(0, current["reads"] - old["reads"]) + writes = max(0, current["writes"] - old["writes"]) + read_ms = max(0, current["read_ms"] - old["read_ms"]) + write_ms = max(0, current["write_ms"] - old["write_ms"]) + io_ms = max(0, current["io_ms"] - old["io_ms"]) + devices.append({ + "device": name, + "read_bps": read_sectors * 512.0 / dt, + "write_bps": write_sectors * 512.0 / dt, + "read_iops": reads / dt, + "write_iops": writes / dt, + "util_percent": min(100.0, io_ms / (dt * 1000.0) * 100.0), + "read_await_ms": read_ms / reads if reads else 0.0, + "write_await_ms": write_ms / writes if writes else 0.0, + }) + elif current["sectors_read"] or current["sectors_written"]: + devices.append({ + "device": name, + "read_bps": 0.0, + "write_bps": 0.0, + "read_iops": 0.0, + "write_iops": 0.0, + "util_percent": 0.0, + "read_await_ms": 0.0, + "write_await_ms": 0.0, + }) + + self._prev_disk = new_prev + self._prev_disk_ts = now + devices.sort(key=lambda d: d["read_bps"] + d["write_bps"], reverse=True) + devices = devices[:8] + for item in devices: + item["read_bps"] = round(item["read_bps"]) + item["write_bps"] = round(item["write_bps"]) + item["read_iops"] = round(item["read_iops"], 1) + item["write_iops"] = round(item["write_iops"], 1) + item["util_percent"] = round(item["util_percent"], 1) + item["read_await_ms"] = round(item["read_await_ms"], 2) + item["write_await_ms"] = round(item["write_await_ms"], 2) + return { + "devices": devices, + "read_bps": sum(d["read_bps"] for d in devices), + "write_bps": sum(d["write_bps"] for d in devices), + } + + # ------------------------------------------------------------------ + # Network + # ------------------------------------------------------------------ + def _iface_speed(self, name: str) -> Optional[int]: + try: + raw = _read_text(self.sys_root / "class" / "net" / name / "speed").strip() + value = int(raw) + return value if value > 0 else None + except (ValueError, OSError): + return None + + def _read_network(self, now: float) -> Dict[str, Any]: + stats = parse_net_dev(_read_text(self.proc_root / "net" / "dev")) + addresses = self._addresses(now) + dt = (now - self._prev_net_ts) if self._prev_net_ts is not None else 0.0 + interfaces: List[Dict[str, Any]] = [] + default_iface = self._default_interface() + + for name, current in stats.items(): + if name == "lo": + continue + old = self._prev_net.get(name) + rx_bps = (current["rx_bytes"] - old["rx_bytes"]) / dt if old and dt > 0 else 0.0 + tx_bps = (current["tx_bytes"] - old["tx_bytes"]) / dt if old and dt > 0 else 0.0 + rx_bps = max(0.0, rx_bps) + tx_bps = max(0.0, tx_bps) + is_virtual = name.startswith(VIRTUAL_IFACE_PREFIXES) + ips = addresses["interfaces"].get(name, []) + if not ips and name == default_iface and addresses.get("primary"): + ips = [addresses["primary"]] + interfaces.append({ + "name": name, + "ip": ips[0] if ips else "", + "virtual": is_virtual, + "primary": name == default_iface, + "rx_bps": rx_bps, + "tx_bps": tx_bps, + "rx_total": current["rx_bytes"], + "tx_total": current["tx_bytes"], + "errors": current["rx_errors"] + current["tx_errors"], + "drops": current["rx_drops"] + current["tx_drops"], + "speed_mbps": self._iface_speed(name), + "link": bool(ips) or rx_bps > 0 or tx_bps > 0, + }) + + physical = [i for i in interfaces if not i["virtual"]] + aggregate_source = physical or interfaces + total_rx = sum(i["rx_bps"] for i in aggregate_source) + total_tx = sum(i["tx_bps"] for i in aggregate_source) + + for item in interfaces: + item["rx_bps"] = round(item["rx_bps"]) + item["tx_bps"] = round(item["tx_bps"]) + interfaces.sort(key=lambda i: (not i["primary"], i["virtual"], -(i["rx_bps"] + i["tx_bps"]))) + self._prev_net = stats + self._prev_net_ts = now + + return { + "interfaces": interfaces[:8], + "interface_count": len(interfaces), + "total_rx_bps": round(total_rx), + "total_tx_bps": round(total_tx), + "primary_iface": default_iface, + "primary_ip": addresses.get("primary"), + "all_ips": addresses.get("all", []), + "errors": sum(i["errors"] for i in interfaces), + "drops": sum(i["drops"] for i in interfaces), + } + + # ------------------------------------------------------------------ + # Processes + # ------------------------------------------------------------------ + def _read_processes(self, now: float, mem_total: int) -> List[Dict[str, Any]]: + if self._proc_cache_ts and now - self._proc_cache_ts < 2.0: + return self._proc_cache + + pids: List[int] = [] + try: + with os.scandir(self.proc_root) as entries: + for entry in entries: + if entry.is_dir(follow_symlinks=False) and entry.name.isdigit(): + pids.append(int(entry.name)) + except OSError: + return self._proc_cache + + total_jiffies = self._cpu_total_now + delta_total = max(0, total_jiffies - self._prev_proc_total) + previous = self._proc_ticks + new_ticks: Dict[int, int] = {} + candidates: List[Dict[str, Any]] = [] + + for pid in pids: + text = _read_text(self.proc_root / str(pid) / "stat") + match = _STAT_RE.match(text) + if not match: + continue + try: + rest = match.group(4).split() + utime = int(rest[10]) + stime = int(rest[11]) + rss_pages = int(rest[20]) + threads = int(rest[16]) + except (IndexError, ValueError): + continue + ticks = utime + stime + new_ticks[pid] = ticks + old_ticks = previous.get(pid) + cpu_percent = 0.0 + if old_ticks is not None and delta_total > 0: + cpu_percent = max(0.0, (ticks - old_ticks) / delta_total * self._ncpu * 100.0) + rss = max(0, rss_pages) * self._page_size + candidates.append({ + "pid": pid, + "name": match.group(2).strip(), + "cmd": "", + "cpu_percent": cpu_percent, + "mem_percent": _pct(rss, mem_total), + "rss_bytes": rss, + "threads": threads, + }) + + self._proc_ticks = new_ticks + self._prev_proc_total = total_jiffies + + by_cpu = sorted(candidates, key=lambda p: p["cpu_percent"], reverse=True)[:8] + by_mem = sorted(candidates, key=lambda p: p["rss_bytes"], reverse=True)[:8] + selected: List[Dict[str, Any]] = [] + seen = set() + for item in by_cpu + by_mem: + if item["pid"] in seen: + continue + seen.add(item["pid"]) + selected.append(item) + if len(selected) >= 12: + break + + for item in selected: + raw = _read_text(self.proc_root / str(item["pid"]) / "cmdline") + cmd = " ".join(part for part in raw.split("\x00") if part).strip() + if not cmd: + cmd = item["name"] + item["cmd"] = cmd[:90] + item["cpu_percent"] = round(item["cpu_percent"], 1) + item["mem_percent"] = round(item["mem_percent"], 2) + + selected.sort(key=lambda p: p["cpu_percent"], reverse=True) + self._proc_cache = selected + self._proc_cache_ts = now + return selected + + # ------------------------------------------------------------------ + # Snapshot + # ------------------------------------------------------------------ + def snapshot(self) -> Dict[str, Any]: + now = self.clock() + wall = self.wall_clock() + cpu = self._read_cpu(now) + memory = self._read_memory() + load = self._read_load(cpu["cores"] or self._static["cores"]) + uptime = parse_uptime(_read_text(self.proc_root / "uptime")) + disks = self._read_disks(now) + disk_io = self._read_disk_io(now) + network = self._read_network(now) + addresses = self._addresses(now) + processes = self._read_processes(now, memory["total"]) + + alerts = build_alerts( + cpu_percent=float(cpu["percent"]), + memory_percent=float(memory["percent"]), + swap_percent=float(memory["swap_percent"]), + load1=float(load["load1"]), + cores=int(cpu["cores"] or self._static["cores"]), + disks=disks, + temp_c=cpu["temp_c"], + ) + + host = dict(self._static) + local_now = dt.datetime.now().astimezone() + local_offset = local_now.utcoffset() + host.update({ + "tz_offset": int(local_offset.total_seconds()) if local_offset else host["tz_offset"], + "tz_name": local_now.tzname() or host["tz_name"], + "boot_epoch": wall - uptime, + "uptime_seconds": round(uptime, 1), + "primary_ip": addresses.get("primary"), + "ips": addresses.get("all", []), + "process_count": len(self._proc_ticks), + "thread_count": load.get("threads", 0), + }) + + return { + "ts": wall, + "version": __version__, + "host": host, + "cpu": cpu, + "memory": memory, + "load": load, + "disks": disks, + "disk_io": disk_io, + "network": network, + "processes": processes, + "alerts": alerts, + } \ No newline at end of file diff --git a/servermon/service.py b/servermon/service.py new file mode 100644 index 0000000..23502e4 --- /dev/null +++ b/servermon/service.py @@ -0,0 +1,205 @@ +"""Background sampler, history ring buffers and SSE fan-out.""" + +from __future__ import annotations + +import json +import logging +import queue +import threading +import time +from collections import deque +from typing import Any, Dict, List, Optional + +from .metrics import SystemCollector + +logger = logging.getLogger("servermon.service") + +HISTORY_WINDOWS = ("cpu", "mem", "load", "rx", "tx", "disk_r", "disk_w") + + +class MonitorService: + """Samples the metrics source on a fixed cadence and serves immutable JSON. + + All HTTP/SSE readers share the latest serialized snapshot, so displaying the + dashboard from several screens only costs one sampler. + """ + + def __init__( + self, + source: Any, + interval: float = 1.0, + history_limit: int = 120, + display_points: int = 60, + ) -> None: + self.source = source + self.interval = max(0.2, float(interval)) + self.history_limit = max(10, int(history_limit)) + self.display_points = max(10, min(display_points, self.history_limit)) + self._lock = threading.RLock() + self._stop = threading.Event() + self._thread: Optional[threading.Thread] = None + self._current: Optional[Dict[str, Any]] = None + self._json = "{}" + self._history: Dict[str, deque] = { + key: deque(maxlen=self.history_limit) for key in HISTORY_WINDOWS + } + self._subscribers: set[queue.Queue] = set() + self._samples = 0 + self._last_sample_ts: Optional[float] = None + self._last_error: Optional[str] = None + self._last_error_log = 0.0 + self.started_at = time.time() + self._bootstrapped = False + + # ------------------------------------------------------------------ + # Lifecycle + # ------------------------------------------------------------------ + def bootstrap(self) -> None: + """Populate the first snapshot (and demo history) before serving HTTP.""" + + if self._bootstrapped: + return + is_demo = self.source.__class__.__name__ == "DemoSource" + if is_demo: + # A full trend makes the panel useful immediately in demo mode. + for _ in range(self.display_points): + self._record(self.source.snapshot(), broadcast=False) + else: + self._record(self.source.snapshot(), broadcast=False) + self._bootstrapped = True + + def start(self) -> None: + if self._thread and self._thread.is_alive(): + return + if not self._bootstrapped: + self.bootstrap() + self._stop.clear() + self._thread = threading.Thread(target=self._run, name="sampler", daemon=True) + self._thread.start() + + def stop(self) -> None: + self._stop.set() + if self._thread: + self._thread.join(timeout=3.0) + + def _run(self) -> None: + next_run = time.monotonic() + while not self._stop.is_set(): + next_run += self.interval + delay = next_run - time.monotonic() + if delay > 0: + self._stop.wait(delay) + else: + # The machine slept or sampling was slow; do not burst to catch up. + next_run = time.monotonic() + if self._stop.is_set(): + break + try: + self.collect_once() + except Exception as exc: # pragma: no cover - defensive + self._last_error = f"{type(exc).__name__}: {exc}" + now = time.monotonic() + if now - self._last_error_log > 30.0: + logger.exception("metrics sample failed") + self._last_error_log = now + + def collect_once(self) -> Dict[str, Any]: + snapshot = self.source.snapshot() + self._record(snapshot, broadcast=True) + return snapshot + + # ------------------------------------------------------------------ + # Snapshot storage + # ------------------------------------------------------------------ + def _record(self, snapshot: Dict[str, Any], broadcast: bool) -> None: + cpu = snapshot.get("cpu") or {} + memory = snapshot.get("memory") or {} + load = snapshot.get("load") or {} + network = snapshot.get("network") or {} + disk_io = snapshot.get("disk_io") or {} + values = { + "cpu": float(cpu.get("percent") or 0.0), + "mem": float(memory.get("percent") or 0.0), + "load": float(load.get("load1") or 0.0), + "rx": float(network.get("total_rx_bps") or 0.0), + "tx": float(network.get("total_tx_bps") or 0.0), + "disk_r": float(disk_io.get("read_bps") or 0.0), + "disk_w": float(disk_io.get("write_bps") or 0.0), + } + + with self._lock: + for key, value in values.items(): + self._history[key].append(round(value, 1) if key != "load" else round(value, 2)) + + history = { + key: [round(v, 1) if key != "load" else round(v, 2) for v in list(values_deque)[-self.display_points:]] + for key, values_deque in self._history.items() + } + payload = dict(snapshot) + payload["history"] = history + payload["meta"] = { + "sample_interval": self.interval, + "history_points": self.display_points, + "history_seconds": int(self.display_points * self.interval), + "demo": bool((snapshot.get("host") or {}).get("demo")), + } + encoded = json.dumps(payload, ensure_ascii=False, separators=(",", ":")) + self._current = payload + self._json = encoded + self._samples += 1 + self._last_sample_ts = time.time() + subscribers = list(self._subscribers) + + if broadcast: + for subscriber in subscribers: + try: + if subscriber.full(): + try: + subscriber.get_nowait() + except queue.Empty: + pass + subscriber.put_nowait(encoded) + except (queue.Full, ValueError): + pass + + def snapshot(self) -> Optional[Dict[str, Any]]: + with self._lock: + return self._current + + def snapshot_json(self) -> str: + with self._lock: + return self._json + + def wait_ready(self, timeout: float = 5.0) -> bool: + deadline = time.monotonic() + timeout + while time.monotonic() < deadline: + if self._current is not None: + return True + time.sleep(0.02) + return self._current is not None + + # ------------------------------------------------------------------ + # SSE subscribers + # ------------------------------------------------------------------ + def subscribe(self) -> queue.Queue: + subscriber: queue.Queue = queue.Queue(maxsize=2) + with self._lock: + self._subscribers.add(subscriber) + return subscriber + + def unsubscribe(self, subscriber: queue.Queue) -> None: + with self._lock: + self._subscribers.discard(subscriber) + + def health(self) -> Dict[str, Any]: + with self._lock: + age = time.time() - self._last_sample_ts if self._last_sample_ts else None + return { + "ok": self._current is not None and (age is None or age < self.interval * 10), + "samples": self._samples, + "subscribers": len(self._subscribers), + "last_sample_age": round(age, 2) if age is not None else None, + "last_error": self._last_error, + "interval": self.interval, + "uptime_seconds": round(time.time() - self.started_at, 1), + } \ No newline at end of file diff --git a/servermon/web.py b/servermon/web.py new file mode 100644 index 0000000..2d321a7 --- /dev/null +++ b/servermon/web.py @@ -0,0 +1,298 @@ +"""Small, dependency-free HTTP server for the dashboard and its SSE stream.""" + +from __future__ import annotations + +import base64 +import hmac +import json +import logging +import queue +import socket +import threading +from pathlib import Path +from typing import Any, Dict, Optional, Tuple +from urllib.parse import unquote, urlsplit + +from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer + +from . import __version__ +from .service import MonitorService + +logger = logging.getLogger("servermon.web") + +DEFAULT_WEB_DIR = Path(__file__).resolve().parent.parent / "web" + +STATIC_FILES: Dict[str, Tuple[str, str]] = { + "/": ("index.html", "text/html; charset=utf-8"), + "/index.html": ("index.html", "text/html; charset=utf-8"), + "/app.js": ("app.js", "text/javascript; charset=utf-8"), + "/style.css": ("style.css", "text/css; charset=utf-8"), + "/favicon.svg": ("favicon.svg", "image/svg+xml"), + "/favicon.ico": ("favicon.svg", "image/svg+xml"), + "/robots.txt": ("robots.txt", "text/plain; charset=utf-8"), +} + +SECURITY_HEADERS = { + "X-Content-Type-Options": "nosniff", + "Referrer-Policy": "no-referrer", + "Permissions-Policy": "camera=(), microphone=(), geolocation=()", + "X-Frame-Options": "SAMEORIGIN", +} + +CSP = ( + "default-src 'self'; " + "script-src 'self'; " + "style-src 'self' 'unsafe-inline'; " + "img-src 'self' data:; " + "font-src 'self' data:; " + "connect-src 'self'; " + "base-uri 'none'; " + "frame-ancestors 'self'" +) + + +class AuthConfig: + """HTTP Basic authentication credentials, if configured.""" + + def __init__(self, username: str, password: str) -> None: + self.username = username + self.password = password + + @classmethod + def parse(cls, raw: Optional[str]) -> Optional["AuthConfig"]: + if not raw: + return None + if ":" not in raw: + raise ValueError("认证信息格式应为 USER:PASSWORD") + username, password = raw.split(":", 1) + if not username or not password: + raise ValueError("认证用户名和密码不能为空") + return cls(username, password) + + def check_header(self, header: str) -> bool: + if not header: + return False + scheme, _, encoded = header.partition(" ") + if scheme.lower() != "basic" or not encoded: + return False + try: + decoded = base64.b64decode(encoded, validate=True).decode("utf-8") + except (ValueError, UnicodeDecodeError): + return False + expected = f"{self.username}:{self.password}" + return hmac.compare_digest(decoded, expected) + + +class MonitorHTTPServer(ThreadingHTTPServer): + daemon_threads = True + allow_reuse_address = True + + def __init__( + self, + server_address: Tuple[str, int], + handler_class: type, + service: MonitorService, + auth: Optional[AuthConfig], + web_dir: Path, + stop_event: threading.Event, + verbose: bool = False, + ) -> None: + self.service = service + self.auth = auth + self.web_dir = web_dir + self.stop_event = stop_event + self.verbose = verbose + super().__init__(server_address, handler_class) + + +class MonitorHandler(BaseHTTPRequestHandler): + server_version = f"ServerMonitor/{__version__}" + sys_version = "" + protocol_version = "HTTP/1.0" + + # ------------------------------------------------------------------ + # Plumbing + # ------------------------------------------------------------------ + def log_message(self, fmt: str, *args: Any) -> None: + if getattr(self.server, "verbose", False): + logger.info("%s - %s", self.address_string(), fmt % args) + + def _base_headers(self, content_type: str, length: int, cache: str = "no-store") -> None: + self.send_header("Content-Type", content_type) + self.send_header("Content-Length", str(length)) + self.send_header("Cache-Control", cache) + for key, value in SECURITY_HEADERS.items(): + self.send_header(key, value) + + def _send_bytes( + self, + status: int, + body: bytes, + content_type: str, + extra: Optional[Dict[str, str]] = None, + cache: str = "no-store", + head_only: bool = False, + ) -> None: + self.send_response(status) + self._base_headers(content_type, len(body), cache) + if extra: + for key, value in extra.items(): + self.send_header(key, value) + self.end_headers() + if not head_only: + try: + self.wfile.write(body) + except (BrokenPipeError, ConnectionResetError, ConnectionAbortedError): + pass + + def _send_json(self, status: int, payload: Any, head_only: bool = False) -> None: + body = json.dumps(payload, ensure_ascii=False, separators=(",", ":")).encode("utf-8") + self._send_bytes(status, body, "application/json; charset=utf-8", head_only=head_only) + + def _authorized(self) -> bool: + auth = getattr(self.server, "auth", None) + if auth is None: + return True + if auth.check_header(self.headers.get("Authorization", "")): + return True + self._send_bytes( + 401, + "Authentication required\n".encode("utf-8"), + "text/plain; charset=utf-8", + extra={"WWW-Authenticate": 'Basic realm="Server Monitor", charset="UTF-8"'}, + ) + return False + + # ------------------------------------------------------------------ + # Routes + # ------------------------------------------------------------------ + def do_GET(self) -> None: # noqa: N802 + parsed = urlsplit(self.path) + path = unquote(parsed.path) + + if path == "/healthz": + health = self.server.service.health() + self._send_json(200 if health["ok"] else 503, { + "ok": health["ok"], + "samples": health["samples"], + "interval": health["interval"], + "uptime_seconds": health["uptime_seconds"], + }) + return + + if not self._authorized(): + return + + if path == "/api/snapshot": + encoded = self.server.service.snapshot_json() + if encoded == "{}": + self._send_json(503, {"error": "sampling is warming up"}) + return + body = encoded.encode("utf-8") + self._send_bytes(200, body, "application/json; charset=utf-8") + return + + if path == "/api/stream": + self._stream() + return + + static = STATIC_FILES.get(path) + if static: + filename, content_type = static + file_path = (self.server.web_dir / filename).resolve() + try: + body = file_path.read_bytes() + except OSError: + self._send_bytes(404, b"Not found\n", "text/plain; charset=utf-8") + return + extra = {"Content-Security-Policy": CSP} if content_type.startswith("text/html") else None + self._send_bytes(200, body, content_type, extra=extra, cache="no-cache") + return + + self._send_bytes(404, b"Not found\n", "text/plain; charset=utf-8") + + def do_HEAD(self) -> None: # noqa: N802 + parsed = urlsplit(self.path) + path = unquote(parsed.path) + if path == "/healthz": + self._send_json(200, {"ok": True}, head_only=True) + return + if not self._authorized(): + return + if path == "/api/snapshot": + body = self.server.service.snapshot_json().encode("utf-8") + self._send_bytes(200, body, "application/json; charset=utf-8", head_only=True) + return + static = STATIC_FILES.get(path) + if static: + filename, content_type = static + try: + body = (self.server.web_dir / filename).read_bytes() + except OSError: + self._send_bytes(404, b"Not found\n", "text/plain; charset=utf-8", head_only=True) + return + extra = {"Content-Security-Policy": CSP} if content_type.startswith("text/html") else None + self._send_bytes(200, body, content_type, extra=extra, cache="no-cache", head_only=True) + return + self._send_bytes(404, b"Not found\n", "text/plain; charset=utf-8", head_only=True) + + def do_POST(self) -> None: # noqa: N802 + self._send_bytes(405, b"Method not allowed\n", "text/plain; charset=utf-8", extra={"Allow": "GET, HEAD"}) + + # ------------------------------------------------------------------ + # Server-sent events + # ------------------------------------------------------------------ + def _stream(self) -> None: + service: MonitorService = self.server.service + self.send_response(200) + self.send_header("Content-Type", "text/event-stream; charset=utf-8") + self.send_header("Cache-Control", "no-cache, no-transform") + self.send_header("X-Accel-Buffering", "no") + self.send_header("Connection", "close") + for key, value in SECURITY_HEADERS.items(): + self.send_header(key, value) + self.end_headers() + + subscriber = service.subscribe() + try: + self.wfile.write(b"retry: 3000\n\n") + encoded = service.snapshot_json() + if encoded and encoded != "{}": + self.wfile.write(f"data: {encoded}\n\n".encode("utf-8")) + self.wfile.flush() + while not self.server.stop_event.is_set(): + try: + payload = subscriber.get(timeout=15.0) + except queue.Empty: + self.wfile.write(b": ping\n\n") + self.wfile.flush() + continue + self.wfile.write(f"data: {payload}\n\n".encode("utf-8")) + self.wfile.flush() + except (BrokenPipeError, ConnectionResetError, ConnectionAbortedError, OSError): + pass + finally: + service.unsubscribe(subscriber) + + +class IPv6MonitorHTTPServer(MonitorHTTPServer): + address_family = socket.AF_INET6 + + +def build_server( + bind: str, + port: int, + service: MonitorService, + auth: Optional[AuthConfig] = None, + web_dir: Optional[Path] = None, + stop_event: Optional[threading.Event] = None, + verbose: bool = False, +) -> MonitorHTTPServer: + if not 1 <= int(port) <= 65535: + raise ValueError("端口必须在 1-65535 之间") + web_dir = Path(web_dir) if web_dir else DEFAULT_WEB_DIR + if not (web_dir / "index.html").exists(): + raise FileNotFoundError(f"找不到前端文件: {web_dir / 'index.html'}") + event = stop_event or threading.Event() + server_class = IPv6MonitorHTTPServer if ":" in bind else MonitorHTTPServer + return server_class((bind, int(port)), MonitorHandler, service, auth, web_dir, event, verbose) \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_metrics.py b/tests/test_metrics.py new file mode 100644 index 0000000..edd7151 --- /dev/null +++ b/tests/test_metrics.py @@ -0,0 +1,217 @@ +from __future__ import annotations + +import json +import tempfile +import unittest +from pathlib import Path + +from servermon.demo import DemoSource +from servermon.metrics import ( + SystemCollector, + build_alerts, + parse_cpu_stat, + parse_diskstats, + parse_loadavg, + parse_meminfo, + parse_mounts, + parse_net_dev, +) +from servermon.service import MonitorService +from servermon.web import AuthConfig + + +CPU_STAT_1 = """cpu 100 0 100 800 0 0 0 0 0 0 +cpu0 50 0 50 400 0 0 0 0 0 0 +cpu1 50 0 50 400 0 0 0 0 0 0 +intr 0 +""" + +CPU_STAT_2 = """cpu 150 0 150 900 0 0 0 0 0 0 +cpu0 75 0 75 450 0 0 0 0 0 0 +cpu1 75 0 75 450 0 0 0 0 0 0 +intr 0 +""" + +MEMINFO = """MemTotal: 1048576 kB +MemFree: 262144 kB +MemAvailable: 524288 kB +Buffers: 65536 kB +Cached: 131072 kB +SReclaimable: 16384 kB +Shmem: 2048 kB +SwapTotal: 262144 kB +SwapFree: 196608 kB +Dirty: 128 kB +""" + +NET_DEV_1 = """Inter-| Receive | Transmit + face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed + lo: 100000 100 0 0 0 0 0 0 100000 100 0 0 0 0 0 0 + eth0: 1000 10 1 2 0 0 0 0 500 5 0 0 0 0 0 0 +""" + +NET_DEV_2 = """Inter-| Receive | Transmit + face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed + lo: 100000 100 0 0 0 0 0 0 100000 100 0 0 0 0 0 0 + eth0: 2000 20 1 2 0 0 0 0 1000 10 0 0 0 0 0 0 +""" + +DISKSTATS_1 = """ 8 0 sda 10 0 1000 5 10 0 500 3 0 8 0 0 0 0 0 + 8 1 sda1 10 0 1000 5 10 0 500 3 0 8 0 0 0 0 0 +""" + +DISKSTATS_2 = """ 8 0 sda 20 0 3000 10 20 0 1500 6 0 16 2 0 0 0 0 + 8 1 sda1 20 0 3000 10 20 0 1500 6 0 16 2 0 0 0 0 +""" + + +class ParserTests(unittest.TestCase): + def test_cpu_stat(self) -> None: + aggregate, cores = parse_cpu_stat(CPU_STAT_1) + self.assertIsNotNone(aggregate) + self.assertEqual(aggregate["total"], 1000) + self.assertEqual(aggregate["idle_all"], 800) + self.assertEqual(len(cores), 2) + self.assertEqual(cores[0]["index"], 0) + + def test_meminfo(self) -> None: + info = parse_meminfo(MEMINFO) + self.assertEqual(info["total"], 1048576 * 1024) + self.assertEqual(info["available"], 524288 * 1024) + self.assertEqual(info["swap_total"], 262144 * 1024) + + def test_loadavg(self) -> None: + load = parse_loadavg("1.50 1.00 0.50 2/100 1234\n") + self.assertEqual(load["load1"], 1.5) + self.assertEqual(load["running"], 2) + self.assertEqual(load["threads"], 100) + + def test_net_dev(self) -> None: + net = parse_net_dev(NET_DEV_1) + self.assertEqual(net["eth0"]["rx_bytes"], 1000) + self.assertEqual(net["eth0"]["tx_bytes"], 500) + self.assertEqual(net["eth0"]["rx_errors"], 1) + self.assertEqual(net["eth0"]["rx_drops"], 2) + self.assertIn("lo", net) + + def test_diskstats(self) -> None: + stats = parse_diskstats(DISKSTATS_1) + self.assertEqual(stats["sda"]["sectors_read"], 1000) + self.assertEqual(stats["sda"]["sectors_written"], 500) + self.assertEqual(stats["sda1"]["reads"], 10) + + def test_mounts_unescape(self) -> None: + mounts = parse_mounts("/dev/sda1 /mnt/my\\040disk ext4 rw,relatime 0 0\n") + self.assertEqual(mounts[0]["mount"], "/mnt/my disk") + self.assertEqual(mounts[0]["fstype"], "ext4") + + def test_alerts(self) -> None: + alerts = build_alerts( + cpu_percent=96, + memory_percent=62, + swap_percent=10, + load1=2, + cores=8, + disks=[{"mount": "/data", "percent": 91}], + temp_c=55, + ) + self.assertTrue(any(a["severity"] == "crit" for a in alerts)) + self.assertTrue(any("/data" in a["message"] for a in alerts)) + + +class AuthTests(unittest.TestCase): + def test_basic_auth(self) -> None: + import base64 + auth = AuthConfig.parse("admin:s3cret") + assert auth is not None + token = base64.b64encode(b"admin:s3cret").decode("ascii") + self.assertTrue(auth.check_header("Basic " + token)) + self.assertFalse(auth.check_header("Basic " + base64.b64encode(b"admin:wrong").decode("ascii"))) + self.assertFalse(auth.check_header("Bearer " + token)) + self.assertFalse(auth.check_header("")) + + def test_invalid_auth_config(self) -> None: + with self.assertRaises(ValueError): + AuthConfig.parse("missing-colon") + with self.assertRaises(ValueError): + AuthConfig.parse(":password") + self.assertIsNone(AuthConfig.parse("")) + + +class CollectorTests(unittest.TestCase): + def setUp(self) -> None: + self.tmp = tempfile.TemporaryDirectory() + root = Path(self.tmp.name) + self.proc = root / "proc" + self.sys = root / "sys" + self.proc.mkdir() + self.sys.mkdir() + (root / "etc").mkdir() + (root / "etc" / "os-release").write_text( + 'PRETTY_NAME="Test Linux 1.0"\nNAME="Test"\nVERSION="1.0"\n', encoding="utf-8" + ) + self._write_fixture(CPU_STAT_1, NET_DEV_1, DISKSTATS_1) + (self.proc / "meminfo").write_text(MEMINFO, encoding="utf-8") + (self.proc / "loadavg").write_text("1.50 1.00 0.50 2/100 1234\n", encoding="utf-8") + (self.proc / "uptime").write_text("3600.00 1200.00\n", encoding="utf-8") + (self.proc / "cpuinfo").write_text( + "processor\t: 0\nmodel name\t: Test CPU\nphysical id\t: 0\ncore id\t: 0\n\n" + "processor\t: 1\nmodel name\t: Test CPU\nphysical id\t: 0\ncore id\t: 1\n\n", + encoding="utf-8", + ) + (self.proc / "mounts").write_text("", encoding="utf-8") + (self.proc / "route").write_text( + "Iface\tDestination\tGateway \tFlags\tRefCnt\tUse\tMetric\tMask\t\tMTU\tWindow\tIRTT\n" + "eth0\t00000000\t0100000A\t0003\t0\t0\t100\t00000000\t0\t0\t0\n", + encoding="utf-8", + ) + self.clock_values = iter([100.0, 101.0]) + self.collector = SystemCollector( + proc_root=str(self.proc), + sys_root=str(self.sys), + clock=lambda: next(self.clock_values), + wall_clock=lambda: 1000.0, + ) + + def _write_fixture(self, cpu: str, net: str, disk: str) -> None: + (self.proc / "stat").write_text(cpu, encoding="utf-8") + (self.proc / "net").mkdir(exist_ok=True) + (self.proc / "net" / "dev").write_text(net, encoding="utf-8") + (self.proc / "diskstats").write_text(disk, encoding="utf-8") + + def tearDown(self) -> None: + self.tmp.cleanup() + + def test_deltas(self) -> None: + first = self.collector.snapshot() + self.assertEqual(first["cpu"]["percent"], 20.0) + self.assertEqual(first["memory"]["percent"], 50.0) + self.assertEqual(first["load"]["load1"], 1.5) + self.assertEqual(first["host"]["uptime_seconds"], 3600.0) + + self._write_fixture(CPU_STAT_2, NET_DEV_2, DISKSTATS_2) + second = self.collector.snapshot() + self.assertEqual(second["cpu"]["percent"], 50.0) + self.assertEqual(second["cpu"]["per_core"], [50.0, 50.0]) + self.assertEqual(second["network"]["total_rx_bps"], 1000) + self.assertEqual(second["network"]["total_tx_bps"], 500) + self.assertEqual(second["disk_io"]["read_bps"], 1024000) + self.assertEqual(second["disk_io"]["write_bps"], 512000) + self.assertEqual(len(second["disk_io"]["devices"]), 1) + self.assertEqual(second["disk_io"]["devices"][0]["device"], "sda") + self.assertNotIn("sda1", [d["device"] for d in second["disk_io"]["devices"]]) + + def test_demo_service_history(self) -> None: + service = MonitorService(DemoSource(), interval=1.0) + service.bootstrap() + payload = service.snapshot() + self.assertIsNotNone(payload) + assert payload is not None + self.assertEqual(len(payload["history"]["cpu"]), 60) + self.assertEqual(len(payload["history"]["disk_r"]), 60) + self.assertEqual(payload["meta"]["demo"], True) + json.dumps(payload, ensure_ascii=False) + + +if __name__ == "__main__": + unittest.main() \ No newline at end of file diff --git a/web/app.js b/web/app.js new file mode 100644 index 0000000..ad654bd --- /dev/null +++ b/web/app.js @@ -0,0 +1,1273 @@ +(function () { + 'use strict'; + + var $ = function (id) { return document.getElementById(id); }; + var pages = Array.prototype.slice.call(document.querySelectorAll('.page')); + var PAGES = [ + { title: '系统概览', sub: 'SYSTEM OVERVIEW' }, + { title: '处理器与负载', sub: 'CPU & LOAD' }, + { title: '内存', sub: 'MEMORY' }, + { title: '存储', sub: 'STORAGE' }, + { title: '网络', sub: 'NETWORK' } + ]; + var WEEKDAYS = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; + var COLORS = { + cyan: '#52e6cf', + blue: '#5aa9ff', + amber: '#ffb45c', + red: '#ff6072', + violet: '#b58cff', + green: '#62e6a8' + }; + + var params = new URLSearchParams(window.location.search); + var initialPage = parseInt(params.get('page') || '1', 10) - 1; + if (!isFinite(initialPage)) initialPage = 0; + initialPage = clamp(initialPage, 0, PAGES.length - 1); + var rotateParam = parseFloat(params.get('rotate') || '10'); + if (!isFinite(rotateParam)) rotateParam = 10; + + var state = { + data: null, + page: initialPage, + paused: /^(1|true|yes)$/i.test(params.get('paused') || ''), + rotateMs: clamp(rotateParam, 4, 120) * 1000, + remaining: clamp(rotateParam, 4, 120) * 1000, + startedAt: 0, + rotateTimer: null, + progressTimer: null, + anchorTs: 0, + anchorPerf: 0, + tzOffset: 0, + lastDataAt: 0, + es: null, + pollTimer: null, + pollInFlight: false, + reconnectTimer: null, + tickerSized: false, + tickerText: '', + visibilityPaused: false, + cursorTimer: null, + source: '' + }; + + var sparks = {}; + var stage = $('stage'); + + /* ------------------------------------------------------------------ */ + /* Formatting */ + /* ------------------------------------------------------------------ */ + function clamp(value, min, max) { + value = Number(value); + if (!isFinite(value)) return min; + return Math.max(min, Math.min(max, value)); + } + + function num(value, fallback) { + var n = Number(value); + return isFinite(n) ? n : (fallback || 0); + } + + function pad2(value) { + value = Math.floor(value); + return value < 10 ? '0' + value : String(value); + } + + function fmtBytes(value, forceDigits) { + var n = Number(value); + if (!isFinite(n) || n <= 0) return '0 B'; + var units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']; + var index = 0; + while (n >= 1024 && index < units.length - 1) { + n /= 1024; + index += 1; + } + var digits = typeof forceDigits === 'number' + ? forceDigits + : (n >= 100 ? 0 : n >= 10 ? 1 : 2); + return n.toFixed(digits) + ' ' + units[index]; + } + + function fmtRate(value) { + var n = Number(value); + if (!isFinite(n) || n <= 0.5) return '0 B/s'; + return fmtBytes(n) + '/s'; + } + + function fmtPct(value, digits) { + var n = Number(value); + if (!isFinite(n)) return '--'; + return n.toFixed(typeof digits === 'number' ? digits : 0) + '%'; + } + + function fmtNumber(value) { + var n = Number(value); + if (!isFinite(n)) return '--'; + return n.toLocaleString('en-US'); + } + + function fmtSpeed(mbps) { + if (!mbps || !isFinite(Number(mbps))) return '--'; + var n = Number(mbps); + if (n >= 1000) return (n / 1000).toFixed(n % 1000 === 0 ? 0 : 1) + ' Gbps'; + return n.toFixed(0) + ' Mbps'; + } + + function fmtUptime(seconds) { + var s = Math.max(0, Math.floor(Number(seconds) || 0)); + var days = Math.floor(s / 86400); + var hours = Math.floor((s % 86400) / 3600); + var minutes = Math.floor((s % 3600) / 60); + var secs = s % 60; + return (days > 0 ? days + 'd ' : '') + pad2(hours) + ':' + pad2(minutes) + ':' + pad2(secs); + } + + function formatOffset(seconds) { + var offset = Number(seconds) || 0; + var sign = offset >= 0 ? '+' : '-'; + offset = Math.abs(offset); + var hours = Math.floor(offset / 3600); + var minutes = Math.floor((offset % 3600) / 60); + return 'UTC' + sign + pad2(hours) + ':' + pad2(minutes); + } + + function serverNowMs() { + if (!state.anchorTs) return 0; + return state.anchorTs * 1000 + (performance.now() - state.anchorPerf) + state.tzOffset * 1000; + } + + function timeParts(ms) { + var date = new Date(ms); + return { + year: date.getUTCFullYear(), + month: pad2(date.getUTCMonth() + 1), + day: pad2(date.getUTCDate()), + hour: pad2(date.getUTCHours()), + minute: pad2(date.getUTCMinutes()), + second: pad2(date.getUTCSeconds()), + weekday: WEEKDAYS[date.getUTCDay()] + }; + } + + function formatStamp(epochSeconds) { + if (!epochSeconds) return '--'; + var p = timeParts((Number(epochSeconds) + state.tzOffset) * 1000); + return p.year + '-' + p.month + '-' + p.day + ' ' + p.hour + ':' + p.minute; + } + + function currentClockLabel() { + var ms = serverNowMs(); + if (!ms) return '--:--:--'; + var p = timeParts(ms); + return p.hour + ':' + p.minute + ':' + p.second; + } + + function escapeHtml(value) { + return String(value == null ? '' : value).replace(/[&<>"']/g, function (ch) { + return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[ch]; + }); + } + + function setText(id, value) { + var el = $(id); + if (el) el.textContent = value == null ? '--' : String(value); + } + + function setHtml(id, value) { + var el = $(id); + if (el) el.innerHTML = value; + } + + function rgba(hex, alpha) { + var clean = String(hex).replace('#', ''); + if (clean.length === 3) clean = clean[0] + clean[0] + clean[1] + clean[1] + clean[2] + clean[2]; + var bigint = parseInt(clean, 16); + var r = (bigint >> 16) & 255; + var g = (bigint >> 8) & 255; + var b = bigint & 255; + return 'rgba(' + r + ',' + g + ',' + b + ',' + alpha + ')'; + } + + function toneForPct(value) { + var pct = Number(value) || 0; + if (pct >= 95) return 'crit'; + if (pct >= 85) return 'warn'; + return 'ok'; + } + + function toneColor(tone, okColor) { + if (tone === 'crit') return COLORS.red; + if (tone === 'warn') return COLORS.amber; + return okColor || COLORS.cyan; + } + + function setTone(el, tone) { + if (!el) return; + el.classList.remove('tone-warn', 'tone-crit'); + if (tone === 'warn') el.classList.add('tone-warn'); + if (tone === 'crit') el.classList.add('tone-crit'); + } + + function setRing(id, pct, tone) { + var ring = $(id); + if (!ring) return; + ring.style.setProperty('--pct', String(clamp(pct, 0, 100))); + ring.setAttribute('data-tone', tone || 'ok'); + } + + function paintBar(el, pct, color, glow) { + if (!el) return; + el.style.setProperty('--w', clamp(pct, 0, 100).toFixed(1) + '%'); + if (color) el.style.setProperty('--bar-color', color); + if (glow) el.style.setProperty('--bar-glow', glow); + } + + function maxOf(values) { + var best = 0; + (values || []).forEach(function (v) { + var n = Number(v); + if (isFinite(n) && n > best) best = n; + }); + return best; + } + + function minOf(values) { + var best = Infinity; + (values || []).forEach(function (v) { + var n = Number(v); + if (isFinite(n) && n < best) best = n; + }); + return isFinite(best) ? best : 0; + } + + function meanOf(values) { + var total = 0; + var count = 0; + (values || []).forEach(function (v) { + var n = Number(v); + if (isFinite(n)) { + total += n; + count += 1; + } + }); + return count ? total / count : 0; + } + + /* ------------------------------------------------------------------ */ + /* Sparklines */ + /* ------------------------------------------------------------------ */ + function Spark(canvas, options) { + this.canvas = canvas; + this.ctx = canvas ? canvas.getContext('2d') : null; + this.options = options || {}; + this.options.series = this.options.series || [{ key: 'value', color: COLORS.cyan }]; + this.data = {}; + this.width = 0; + this.height = 0; + this.raf = 0; + this.resize = this.resize.bind(this); + this.draw = this.draw.bind(this); + this.resize(); + if (window.ResizeObserver && canvas) { + this.observer = new ResizeObserver(this.resize); + this.observer.observe(canvas); + } + } + + Spark.prototype.setData = function (data) { + if (Array.isArray(data)) { + var wrapped = {}; + wrapped[this.options.series[0].key] = data; + this.data = wrapped; + } else { + this.data = data || {}; + } + this.requestDraw(); + }; + + Spark.prototype.setOptions = function (options) { + var key; + for (key in options) { + if (Object.prototype.hasOwnProperty.call(options, key)) this.options[key] = options[key]; + } + this.requestDraw(); + }; + + Spark.prototype.resize = function () { + if (!this.canvas || !this.ctx) return; + var width = this.canvas.clientWidth; + var height = this.canvas.clientHeight; + if (!width || !height) return; + var dpr = Math.min(window.devicePixelRatio || 1, 2); + var pixelWidth = Math.round(width * dpr); + var pixelHeight = Math.round(height * dpr); + if (this.canvas.width !== pixelWidth || this.canvas.height !== pixelHeight) { + this.canvas.width = pixelWidth; + this.canvas.height = pixelHeight; + } + this.width = width; + this.height = height; + this.ctx.setTransform(dpr, 0, 0, dpr, 0, 0); + this.draw(); + }; + + Spark.prototype.requestDraw = function () { + var self = this; + if (this.raf) return; + this.raf = window.requestAnimationFrame(function () { + self.raf = 0; + self.draw(); + }); + }; + + Spark.prototype.draw = function () { + if (!this.ctx || !this.width || !this.height) return; + var ctx = this.ctx; + var w = this.width; + var h = this.height; + var padTop = 5; + var padBottom = 2; + var plotHeight = Math.max(1, h - padTop - padBottom); + var series = this.options.series; + var allValues = []; + var i; + var j; + + ctx.clearRect(0, 0, w, h); + + for (i = 0; i < series.length; i += 1) { + var values = this.data[series[i].key] || []; + for (j = 0; j < values.length; j += 1) { + var value = Number(values[j]); + if (isFinite(value)) allValues.push(value); + } + } + + var dataMax = allValues.length ? Math.max.apply(null, allValues) : 0; + var max = Number(this.options.max); + if (!isFinite(max) || max <= 0) max = Math.max(dataMax * 1.12, 1); + var min = Number(this.options.min); + if (!isFinite(min)) min = 0; + if (max <= min) max = min + 1; + + ctx.lineWidth = 1; + ctx.strokeStyle = 'rgba(118, 160, 202, .07)'; + for (i = 0; i <= 3; i += 1) { + var gy = padTop + (plotHeight * i / 3); + ctx.beginPath(); + ctx.moveTo(0, Math.round(gy) + 0.5); + ctx.lineTo(w, Math.round(gy) + 0.5); + ctx.stroke(); + } + + if (this.options.threshold && Number(this.options.threshold) < max) { + var ty = padTop + (1 - (Number(this.options.threshold) - min) / (max - min)) * plotHeight; + ctx.save(); + ctx.setLineDash([3, 4]); + ctx.strokeStyle = 'rgba(255, 180, 92, .2)'; + ctx.beginPath(); + ctx.moveTo(0, ty); + ctx.lineTo(w, ty); + ctx.stroke(); + ctx.restore(); + } + + if (!allValues.length) { + ctx.fillStyle = 'rgba(113, 143, 170, .55)'; + ctx.font = '7px "JetBrains Mono", monospace'; + ctx.textAlign = 'center'; + ctx.fillText('WAITING FOR SAMPLE', w / 2, h / 2 + 3); + return; + } + + for (i = 0; i < series.length; i += 1) { + var spec = series[i]; + var raw = this.data[spec.key] || []; + var points = []; + var count = raw.length; + if (!count) continue; + if (count === 1) { + var only = clamp(num(raw[0], min), min, max); + points.push({ x: 0, y: padTop + (1 - (only - min) / (max - min)) * plotHeight }); + points.push({ x: w, y: padTop + (1 - (only - min) / (max - min)) * plotHeight }); + } else { + for (j = 0; j < count; j += 1) { + var v = clamp(num(raw[j], min), min, max); + points.push({ + x: (j / (count - 1)) * w, + y: padTop + (1 - (v - min) / (max - min)) * plotHeight + }); + } + } + + var color = spec.color || COLORS.cyan; + var gradient = ctx.createLinearGradient(0, padTop, 0, h); + gradient.addColorStop(0, rgba(color, spec.alpha || 0.18)); + gradient.addColorStop(1, rgba(color, 0)); + + ctx.beginPath(); + ctx.moveTo(points[0].x, points[0].y); + for (j = 1; j < points.length; j += 1) { + var prev = points[j - 1]; + var cur = points[j]; + var mid = (prev.x + cur.x) / 2; + ctx.bezierCurveTo(mid, prev.y, mid, cur.y, cur.x, cur.y); + } + ctx.lineTo(points[points.length - 1].x, h); + ctx.lineTo(points[0].x, h); + ctx.closePath(); + ctx.fillStyle = gradient; + ctx.fill(); + + ctx.beginPath(); + ctx.moveTo(points[0].x, points[0].y); + for (j = 1; j < points.length; j += 1) { + var p0 = points[j - 1]; + var p1 = points[j]; + var middle = (p0.x + p1.x) / 2; + ctx.bezierCurveTo(middle, p0.y, middle, p1.y, p1.x, p1.y); + } + ctx.strokeStyle = color; + ctx.lineWidth = series.length > 1 ? 1.25 : 1.45; + ctx.lineJoin = 'round'; + ctx.lineCap = 'round'; + ctx.shadowColor = rgba(color, 0.55); + ctx.shadowBlur = 4; + ctx.stroke(); + ctx.shadowBlur = 0; + + var last = points[points.length - 1]; + ctx.beginPath(); + ctx.arc(last.x - 0.5, last.y, 2.1, 0, Math.PI * 2); + ctx.fillStyle = color; + ctx.shadowColor = rgba(color, 0.85); + ctx.shadowBlur = 7; + ctx.fill(); + ctx.shadowBlur = 0; + } + }; + + /* ------------------------------------------------------------------ */ + /* Clock */ + /* ------------------------------------------------------------------ */ + function tickClock() { + if (!state.anchorTs) return; + var ms = serverNowMs(); + var p = timeParts(ms); + setText('clock', p.hour + ':' + p.minute + ':' + p.second); + setText('date', p.year + '-' + p.month + '-' + p.day + ' ' + p.weekday); + setText('timezone', formatOffset(state.tzOffset)); + setText('ticker-update', p.hour + ':' + p.minute + ':' + p.second); + if (state.data && state.data.host) { + var elapsed = (performance.now() - state.anchorPerf) / 1000; + setText('uptime', fmtUptime(num(state.data.host.uptime_seconds, 0) + elapsed)); + } + } + + /* ------------------------------------------------------------------ */ + /* Renderers */ + /* ------------------------------------------------------------------ */ + function renderHost(data) { + var host = data.host || {}; + var meta = data.meta || {}; + setText('hostname', host.hostname || '--'); + setText('os-name', host.os || '--'); + setText('kernel', host.kernel || '--'); + setText('arch', host.arch || '--'); + setText('primary-ip', host.primary_ip || '--'); + setText('sys-os', host.os || '--'); + setText('sys-kernel', host.kernel || '--'); + setText('sys-arch', host.arch || '--'); + setText('sys-ip', host.primary_ip || '--'); + setText('sys-procs', fmtNumber(host.process_count) + ' / ' + fmtNumber(host.thread_count)); + setText('version', 'v' + (data.version || '--')); + setText('sample-interval', (num(meta.sample_interval, 1)).toFixed(1) + 's'); + setText('ticker-sample', 'SAMPLE ' + (num(meta.sample_interval, 1)).toFixed(1) + 's'); + setText('foot-mode', meta.demo ? 'DEMO 演示' : 'LIVE 实时'); + setText('foot-sample', 'UPDATE ' + currentClockLabel() + ' · ' + (num(meta.sample_interval, 1)).toFixed(1) + 's'); + var demoPill = $('demo-pill'); + if (demoPill) demoPill.hidden = !meta.demo; + if (host.boot_epoch) setText('boot-time', 'BOOT ' + formatStamp(host.boot_epoch)); + else setText('boot-time', 'BOOT --'); + } + + function renderCpu(data) { + var cpu = data.cpu || {}; + var history = data.history || {}; + var pct = clamp(num(cpu.percent, 0), 0, 100); + var tone = toneForPct(pct); + var cores = cpu.cores || (data.host && data.host.cores) || 0; + var physical = cpu.physical_cores || (data.host && data.host.physical_cores) || cores; + var model = cpu.model || (data.host && data.host.cpu_model) || '--'; + var freq = cpu.freq_mhz ? Math.round(cpu.freq_mhz) + ' MHz' : '--'; + var temp = (cpu.temp_c === null || cpu.temp_c === undefined) ? '--' : Number(cpu.temp_c).toFixed(1) + '°C'; + var peak = maxOf(history.cpu); + + setHtml('cpu-percent', String(Math.round(pct)) + '%'); + setHtml('cpu-percent-2', String(Math.round(pct)) + '%'); + setRing('cpu-ring', pct, tone); + setRing('cpu-ring-2', pct, tone); + + setText('cpu-badge', String(cores) + ' THREADS'); + setText('cpu-badge-2', String(cores) + ' THREADS'); + setText('cpu-model', model); + setText('cpu-model-2', model); + setText('cpu-freq', freq); + setText('cpu-freq-2', freq); + setText('cpu-temp', temp); + setText('cpu-temp-2', temp); + setText('cpu-cores', String(cores) + ' / ' + String(physical)); + setText('cpu-cores-2', String(cores) + ' / ' + String(physical)); + setText('cpu-peak', 'PEAK ' + fmtPct(peak)); + setText('cpu-peak-2', 'PEAK ' + fmtPct(peak)); + + var breakdown = cpu.breakdown || {}; + setText('bd-user-val', fmtPct(num(breakdown.user), 1)); + setText('bd-system-val', fmtPct(num(breakdown.system), 1)); + setText('bd-iowait-val', fmtPct(num(breakdown.iowait), 1)); + setText('bd-steal-val', fmtPct(num(breakdown.steal), 1)); + paintBar($('bd-user'), num(breakdown.user), COLORS.cyan, rgba(COLORS.cyan, 0.3)); + paintBar($('bd-system'), num(breakdown.system), COLORS.blue, rgba(COLORS.blue, 0.3)); + paintBar($('bd-iowait'), num(breakdown.iowait), COLORS.amber, rgba(COLORS.amber, 0.3)); + paintBar($('bd-steal'), num(breakdown.steal), COLORS.violet, rgba(COLORS.violet, 0.3)); + + renderCores(cpu.per_core || []); + } + + function renderCores(values) { + var grid = $('core-grid'); + if (!grid) return; + var cores = values.slice(0, 16); + setText('core-count', String(values.length || 0) + ' CORES'); + if (!cores.length) { + grid.innerHTML = '

'; + return; + } + var columns = Math.min(8, cores.length); + grid.style.gridTemplateColumns = 'repeat(' + columns + ', minmax(0, 1fr))'; + var html = ''; + for (var i = 0; i < cores.length; i += 1) { + var value = clamp(num(cores[i]), 0, 100); + var tone = toneForPct(value); + html += '
' + + '
C' + (i < 10 ? '0' + i : i) + '' + Math.round(value) + '%
' + + '
' + + '
'; + } + grid.innerHTML = html; + } + + function renderMemory(data) { + var memory = data.memory || {}; + var history = data.history || {}; + var total = num(memory.total); + var used = num(memory.used); + var available = num(memory.available); + var pct = clamp(num(memory.percent), 0, 100); + var tone = toneForPct(pct); + var peak = maxOf(history.mem); + var avg = meanOf(history.mem); + var swapPct = clamp(num(memory.swap_percent), 0, 100); + + setHtml('mem-percent', String(Math.round(pct)) + '%'); + setHtml('mem-percent-2', String(Math.round(pct)) + '%'); + setRing('mem-ring', pct, tone); + setRing('mem-ring-2', pct, tone); + + setText('mem-badge', 'AVAIL ' + fmtBytes(available)); + setText('mem-badge-2', 'AVAIL ' + fmtBytes(available)); + setText('mem-used', fmtBytes(used)); + setText('mem-total', fmtBytes(total)); + setText('mem-used-2', fmtBytes(used)); + setText('mem-total-2', fmtBytes(total)); + setText('mem-available', fmtBytes(available)); + setText('mem-available-2', fmtBytes(available)); + setText('mem-cache', fmtBytes(memory.cached)); + setText('mem-cache-2', fmtBytes(memory.cached)); + setText('mem-buffers-2', fmtBytes(memory.buffers)); + + setText('mem-trend-badge', fmtPct(pct, 1)); + setText('mem-trend-current', fmtPct(pct, 1)); + setText('mem-trend-peak', fmtPct(peak, 1)); + setText('mem-trend-avg', fmtPct(avg, 1)); + setText('mem-trend-swap', fmtPct(swapPct, 1)); + setText('mem-peak-2', 'PEAK ' + fmtPct(peak, 1)); + + var comp = memory.composition || {}; + var parts = ['apps', 'cache', 'buffers', 'free']; + var suffixes = ['', '-2']; + suffixes.forEach(function (suffix) { + parts.forEach(function (key) { + var el = $('mem-seg-' + key + suffix); + if (!el) return; + var width = total > 0 ? (num(comp[key]) / total) * 100 : 0; + el.style.width = clamp(width, 0, 100).toFixed(2) + '%'; + }); + }); + + var memColors = { apps: COLORS.blue, cache: '#3e8ecf', buffers: '#305a7a', free: '#456176' }; + parts.forEach(function (key) { + var value = total > 0 ? (num(comp[key]) / total) * 100 : 0; + paintBar($('mem-bd-' + key), value, memColors[key], rgba(memColors[key], 0.28)); + setText('mem-bd-' + key + '-val', fmtPct(value, 1)); + }); + + paintBar($('swap-bar'), swapPct, swapPct >= 80 ? COLORS.red : swapPct >= 50 ? COLORS.amber : COLORS.blue, + rgba(swapPct >= 80 ? COLORS.red : swapPct >= 50 ? COLORS.amber : COLORS.blue, 0.35)); + setText('swap-text', fmtPct(swapPct, 1)); + setText('swap-text-2', fmtPct(swapPct, 1) + ' · ' + fmtBytes(memory.swap_used) + ' / ' + fmtBytes(memory.swap_total)); + setText('mem-trend-swap', fmtPct(swapPct, 1)); + } + + function renderLoad(data) { + var load = data.load || {}; + var cores = num((data.cpu && data.cpu.cores) || (data.host && data.host.cores), 1); + var load1 = num(load.load1); + var load5 = num(load.load5); + var load15 = num(load.load15); + var history = data.history || {}; + var peak = maxOf(history.load); + + setText('load1', load1.toFixed(2)); + setText('load5', load5.toFixed(2)); + setText('load15', load15.toFixed(2)); + setText('load-running', fmtNumber(load.running)); + setText('load-threads', fmtNumber(load.threads)); + setText('load-pct', fmtPct(load.percent, 0)); + setText('load-badge', String(cores) + ' CORES'); + setText('load-peak', 'PEAK ' + peak.toFixed(1)); + + var values = [load1, load5, load15]; + var ids = ['load1-bar', 'load5-bar', 'load15-bar']; + values.forEach(function (value, index) { + var barPct = cores > 0 ? (value / cores) * 100 : 0; + var tone = cores > 0 && value >= cores * 3 ? 'crit' : cores > 0 && value >= cores * 1.5 ? 'warn' : 'ok'; + var color = toneColor(tone, COLORS.amber); + paintBar($(ids[index]), barPct, color, rgba(color, 0.35)); + }); + setTone($('load1'), cores > 0 && load1 >= cores * 3 ? 'crit' : cores > 0 && load1 >= cores * 1.5 ? 'warn' : 'ok'); + } + + function diskColor(tone) { + return toneColor(tone, COLORS.violet); + } + + function diskRow(disk) { + var pct = clamp(num(disk.percent), 0, 100); + var tone = toneForPct(pct); + var color = diskColor(tone); + return '
' + + '
' + escapeHtml(disk.mount) + + '' + escapeHtml(disk.fstype || '') + '' + + '' + fmtPct(pct, 1) + '
' + + '
' + + '
' + fmtBytes(disk.used) + ' / ' + fmtBytes(disk.total) + + '' + fmtBytes(disk.free) + ' 可用
'; + } + + function renderDisks(data) { + var disks = data.disks || []; + setText('disk-count', disks.length + ' FS'); + var overview = disks.slice().sort(function (a, b) { return num(b.percent) - num(a.percent); }).slice(0, 4); + setHtml('disk-overview', overview.length + ? overview.map(diskRow).join('') + : '
未发现可监控的文件系统
'); + + var sorted = disks.slice().sort(function (a, b) { return num(b.percent) - num(a.percent); }); + setText('fs-badge', disks.length + ' FS'); + if (!sorted.length) { + setHtml('fs-body', '未发现可监控的文件系统'); + } else { + var html = ''; + sorted.slice(0, 5).forEach(function (disk) { + var pct = clamp(num(disk.percent), 0, 100); + var tone = toneForPct(pct); + var color = diskColor(tone); + html += '' + + '' + escapeHtml(disk.mount) + '' + (disk.readonly ? 'RO' : '') + '' + + '' + escapeHtml(disk.device) + '' + + '' + escapeHtml(disk.fstype) + '' + + '' + fmtBytes(disk.total) + '' + + '' + fmtBytes(disk.used) + '' + + '' + fmtBytes(disk.free) + '' + + '
' + + '' + fmtPct(pct, 1) + '' + + ''; + }); + setHtml('fs-body', html); + } + + var fsTotal = 0; + var fsUsed = 0; + var fsFree = 0; + disks.forEach(function (disk) { + fsTotal += num(disk.total); + fsUsed += num(disk.used); + fsFree += num(disk.free); + }); + var fsPct = (fsUsed + fsFree) > 0 ? (fsUsed / (fsUsed + fsFree)) * 100 : 0; + setText('fs-total', fmtBytes(fsTotal)); + setText('fs-used', fmtBytes(fsUsed)); + setText('fs-free', fmtBytes(fsFree)); + setText('fs-total-pct', fmtPct(fsPct, 1)); + paintBar($('fs-total-bar'), fsPct, COLORS.violet, rgba(COLORS.violet, 0.35)); + setText('fs-more', sorted.length > 5 ? '另有 ' + (sorted.length - 5) + ' 个文件系统' : '共 ' + sorted.length + ' 个文件系统'); + + var io = data.disk_io || {}; + setText('io-badge', 'R ' + fmtRate(io.read_bps) + ' · W ' + fmtRate(io.write_bps)); + var devices = (io.devices || []).slice(0, 5); + var allDevices = io.devices || []; + setText('io-device-count', String(allDevices.length)); + var busiest = allDevices.slice().sort(function (a, b) { return num(b.util_percent) - num(a.util_percent); })[0]; + setText('io-busiest', busiest ? busiest.device + ' · ' + fmtPct(busiest.util_percent, 0) : '—'); + setText('io-total-read', fmtRate(io.read_bps)); + setText('io-total-write', fmtRate(io.write_bps)); + setText('io-side-rate', fmtRate(num(io.read_bps) + num(io.write_bps))); + if (!devices.length) { + setHtml('io-body', '暂无块设备 I/O 活动'); + return; + } + var ioHtml = ''; + devices.forEach(function (device) { + var util = clamp(num(device.util_percent), 0, 100); + var tone = util >= 85 ? 'crit' : util >= 60 ? 'warn' : 'ok'; + var color = toneColor(tone, COLORS.blue); + ioHtml += '' + + '' + escapeHtml(device.device) + '' + + '' + fmtRate(device.read_bps) + '' + + '' + fmtRate(device.write_bps) + '' + + '' + num(device.read_iops).toFixed(0) + ' / ' + num(device.write_iops).toFixed(0) + '' + + '' + num(device.read_await_ms).toFixed(2) + ' / ' + num(device.write_await_ms).toFixed(2) + ' ms' + + '
' + + '' + fmtPct(util, 0) + '' + + ''; + }); + setHtml('io-body', ioHtml); + } + + function ifaceRow(iface) { + var virtual = !!iface.virtual; + var errors = num(iface.errors) + num(iface.drops); + var badge = iface.primary + ? 'PRIMARY' + : virtual ? 'VIRTUAL' : ''; + var link = iface.link ? fmtSpeed(iface.speed_mbps) : 'DOWN'; + return '' + + '
' + escapeHtml(iface.name) + + '' + badge + '
' + + '' + escapeHtml(iface.ip || '—') + '' + + '' + fmtRate(iface.rx_bps) + '' + + '' + fmtRate(iface.tx_bps) + '' + + '' + fmtBytes(iface.rx_total) + ' / ' + fmtBytes(iface.tx_total) + '' + + '' + fmtNumber(errors) + '' + + '' + (link === 'DOWN' ? 'DOWN' : link) + '' + + ''; + } + + function renderNetwork(data) { + var network = data.network || {}; + var ifaces = network.interfaces || []; + var rx = num(network.total_rx_bps); + var tx = num(network.total_tx_bps); + var count = num(network.interface_count, ifaces.length); + var rxTotal = 0; + var txTotal = 0; + ifaces.forEach(function (iface) { + rxTotal += num(iface.rx_total); + txTotal += num(iface.tx_total); + }); + + setText('net-rx', fmtRate(rx)); + setText('net-tx', fmtRate(tx)); + setText('net-rx-big', fmtRate(rx)); + setText('net-tx-big', fmtRate(tx)); + setText('net-rx-total', '累计 RX ' + fmtBytes(rxTotal)); + setText('net-tx-total', '累计 TX ' + fmtBytes(txTotal)); + setText('net-ifaces', String(count)); + setText('net-errors', fmtNumber(num(network.errors) + num(network.drops)) + ' 错误'); + setText('net-badge', String(count) + ' IFACES'); + setText('iface-badge', String(count) + ' IFACES'); + setText('net-sum-ifaces', String(count)); + setText('net-sum-errors', fmtNumber(network.errors)); + setText('net-sum-drops', fmtNumber(network.drops)); + setText('net-sum-primary', network.primary_iface || '—'); + + if (!ifaces.length) { + setHtml('iface-body', '未发现网络接口'); + } else { + setHtml('iface-body', ifaces.slice(0, 6).map(ifaceRow).join('')); + } + } + + function procRows(processes, mode, limit) { + if (!processes.length) { + return '暂无进程数据'; + } + var sorted = processes.slice().sort(function (a, b) { + return mode === 'mem' ? num(b.mem_percent) - num(a.mem_percent) : num(b.cpu_percent) - num(a.cpu_percent); + }).slice(0, limit); + return sorted.map(function (proc) { + var cpu = num(proc.cpu_percent); + var cpuClass = cpu >= 100 ? 'critical' : cpu >= 50 ? 'hot' : ''; + if (mode === 'mem') { + return '' + escapeHtml(proc.pid) + '' + + '
' + escapeHtml(proc.name) + '' + escapeHtml(proc.cmd || '') + '
' + + '' + fmtPct(proc.mem_percent, 1) + '' + + '' + fmtBytes(proc.rss_bytes) + '' + + '' + fmtPct(cpu, 1) + ''; + } + return '' + escapeHtml(proc.pid) + '' + + '
' + escapeHtml(proc.name) + '' + escapeHtml(proc.cmd || '') + '
' + + '' + fmtPct(cpu, 1) + '' + + '' + fmtPct(proc.mem_percent, 1) + '' + + '' + fmtBytes(proc.rss_bytes) + ''; + }).join(''); + } + + function renderProcesses(data) { + var processes = data.processes || []; + var host = data.host || {}; + setText('proc-count', fmtNumber(host.process_count) + ' PROCS'); + setText('mem-proc-count', fmtNumber(host.process_count) + ' PROCS'); + setHtml('proc-cpu-body', procRows(processes, 'cpu', 7)); + setHtml('proc-mem-body', procRows(processes, 'mem', 7)); + } + + /* ------------------------------------------------------------------ */ + /* Ticker */ + /* ------------------------------------------------------------------ */ + function renderTicker(data) { + var host = data.host || {}; + var cpu = data.cpu || {}; + var memory = data.memory || {}; + var load = data.load || {}; + var network = data.network || {}; + var disks = data.disks || []; + var alerts = data.alerts || []; + var topDisk = disks.slice().sort(function (a, b) { return num(b.percent) - num(a.percent); })[0]; + var level = alerts.some(function (a) { return a.severity === 'crit'; }) ? 'crit' + : alerts.length ? 'warn' : 'ok'; + var ticker = document.querySelector('.ticker'); + if (ticker) ticker.setAttribute('data-level', level); + + var alertText = alerts.length + ? '⚠ ' + alerts.slice(0, 3).map(function (alert) { return alert.message; }).join(' · ') + : '● 系统运行正常'; + var stats = 'CPU ' + fmtPct(cpu.percent, 0) + + ' · 内存 ' + fmtPct(memory.percent, 0) + + ' · 负载 ' + num(load.load1).toFixed(2) + + (topDisk ? ' · 磁盘 ' + topDisk.mount + ' ' + fmtPct(topDisk.percent, 0) : '') + + ' · 网络 ↓ ' + fmtRate(network.total_rx_bps) + ' ↑ ' + fmtRate(network.total_tx_bps); + var stamp = currentClockLabel(); + var text = alertText + ' /// ' + stats + ' /// ' + + (host.hostname || '') + ' · ' + stamp + ' · UPTIME ' + fmtUptime(host.uptime_seconds); + + if (text !== state.tickerText) { + state.tickerText = text; + var a = $('ticker-a'); + var b = $('ticker-b'); + if (a) a.textContent = text; + if (b) b.textContent = text; + if (!state.tickerSized) { + window.requestAnimationFrame(function () { + var width = a ? a.scrollWidth : 0; + if (width > 0) { + var duration = Math.max(38, Math.min(150, width / 24)); + var track = $('ticker-track'); + if (track) track.style.animationDuration = duration.toFixed(1) + 's'; + state.tickerSized = true; + } + }); + } + } + } + + function renderAll(data) { + renderHost(data); + renderCpu(data); + renderMemory(data); + renderLoad(data); + renderDisks(data); + renderNetwork(data); + renderProcesses(data); + renderTicker(data); + updateCharts(data); + } + + function updateCharts(data) { + var history = data.history || {}; + var cores = num((data.cpu && data.cpu.cores) || 16, 16); + sparks.cpu.setData({ cpu: history.cpu || [] }); + sparks.cpu2.setData({ cpu: history.cpu || [] }); + sparks.mem.setData({ mem: history.mem || [] }); + sparks.memLarge.setData({ mem: history.mem || [] }); + sparks.load.setOptions({ max: Math.max(cores * 2, maxOf(history.load) * 1.15, 1) }); + sparks.load.setData({ load: history.load || [] }); + var netData = { rx: history.rx || [], tx: history.tx || [] }; + sparks.net.setData(netData); + sparks.netBig.setData(netData); + sparks.io.setData({ read: history.disk_r || [], write: history.disk_w || [] }); + + var memValues = history.mem || []; + var memMax = memValues.length ? Math.min(100, Math.max(10, maxOf(memValues) + 4)) : 100; + var memMin = memValues.length ? Math.max(0, minOf(memValues) - 4) : 0; + sparks.mem.setOptions({ max: memMax, min: memMin }); + sparks.memLarge.setOptions({ max: memMax, min: memMin }); + } + + /* ------------------------------------------------------------------ */ + /* Link / data flow */ + /* ------------------------------------------------------------------ */ + function setLinkState(mode, label) { + var pill = $('live-pill'); + var led = $('foot-led'); + if (pill) { + pill.setAttribute('data-state', mode); + setText('live-text', label); + } + if (led) { + led.classList.toggle('offline', mode === 'offline'); + } + } + + function onData(data, source) { + if (!data || !data.host || !data.cpu) return; + var first = !state.data; + state.data = data; + state.lastDataAt = Date.now(); + state.source = source || 'sse'; + state.anchorTs = num(data.ts, Date.now() / 1000); + state.anchorPerf = performance.now(); + state.tzOffset = num((data.host || {}).tz_offset, 0); + + renderAll(data); + setLinkState('live', source === 'poll' ? '轮询' : 'LIVE'); + if (first) { + window.setTimeout(function () { refitCharts(); }, 60); + } + } + + function refitCharts() { + Object.keys(sparks).forEach(function (key) { + if (sparks[key] && sparks[key].resize) sparks[key].resize(); + }); + } + + function startPolling() { + if (state.pollTimer) return; + state.pollTimer = window.setInterval(pollSnapshot, 2000); + pollSnapshot(); + } + + function stopPolling() { + if (state.pollTimer) { + window.clearInterval(state.pollTimer); + state.pollTimer = null; + } + } + + function pollSnapshot() { + if (state.pollInFlight) return; + state.pollInFlight = true; + window.fetch('/api/snapshot', { cache: 'no-store', credentials: 'same-origin' }) + .then(function (response) { + if (!response.ok) throw new Error('HTTP ' + response.status); + return response.json(); + }) + .then(function (data) { + onData(data, 'poll'); + }) + .catch(function () { + if (!state.data) setLinkState('offline', '离线'); + }) + .then(function () { + state.pollInFlight = false; + }); + } + + function connectStream() { + if (!('EventSource' in window)) { + startPolling(); + return; + } + if (state.es) { + try { state.es.close(); } catch (err) { /* ignore */ } + } + var es = new window.EventSource('/api/stream'); + state.es = es; + + es.onopen = function () { + if (state.reconnectTimer) { + window.clearTimeout(state.reconnectTimer); + state.reconnectTimer = null; + } + setLinkState('live', 'LIVE'); + stopPolling(); + }; + es.onmessage = function (event) { + var data; + try { + data = JSON.parse(event.data); + } catch (err) { + return; + } + stopPolling(); + onData(data, 'sse'); + if (state.reconnectTimer) { + window.clearTimeout(state.reconnectTimer); + state.reconnectTimer = null; + } + }; + es.onerror = function () { + setLinkState('connecting', '重连中'); + startPolling(); + if (es.readyState === 2 && !state.reconnectTimer) { + state.reconnectTimer = window.setTimeout(function () { + state.reconnectTimer = null; + connectStream(); + }, 5000); + } + }; + } + + function watchdog() { + if (!state.data) return; + var age = Date.now() - state.lastDataAt; + if (age > 8000) startPolling(); + if (age > 30000) setLinkState('offline', '离线'); + } + + /* ------------------------------------------------------------------ */ + /* Rotation / navigation */ + /* ------------------------------------------------------------------ */ + function startProgress(duration) { + var progress = $('page-progress'); + if (!progress) return; + progress.style.animation = 'none'; + void progress.offsetWidth; + progress.style.animation = 'page-progress-fill ' + duration + 'ms linear forwards'; + progress.style.animationPlayState = state.paused ? 'paused' : 'running'; + } + + function scheduleRotation(duration) { + window.clearTimeout(state.rotateTimer); + state.rotateTimer = null; + var ms = duration || state.rotateMs; + state.remaining = ms; + state.startedAt = performance.now(); + startProgress(ms); + if (state.paused) return; + state.rotateTimer = window.setTimeout(function () { + goTo((state.page + 1) % PAGES.length, true); + }, ms); + } + + function updateNav() { + setText('page-index', pad2(state.page + 1)); + setText('page-title', PAGES[state.page].title); + setText('page-sub', PAGES[state.page].sub); + var dots = document.querySelectorAll('.dot'); + for (var i = 0; i < dots.length; i += 1) { + dots[i].classList.toggle('is-active', i === state.page); + dots[i].setAttribute('aria-selected', i === state.page ? 'true' : 'false'); + dots[i].tabIndex = i === state.page ? 0 : -1; + } + } + + function goTo(index, fromTimer) { + index = ((index % PAGES.length) + PAGES.length) % PAGES.length; + if (index === state.page && !fromTimer) { + scheduleRotation(); + updatePauseUi(); + return; + } + var previous = state.page; + pages.forEach(function (page, i) { + page.classList.toggle('is-active', i === index); + page.classList.toggle('is-prev', i === previous && i !== index); + page.setAttribute('aria-hidden', i === index ? 'false' : 'true'); + }); + state.page = index; + updateNav(); + scheduleRotation(); + window.setTimeout(refitCharts, 80); + } + + function updatePauseUi() { + var nav = document.querySelector('.nav'); + if (nav) nav.classList.toggle('is-paused', state.paused); + setText('rotation-state', state.paused ? '已暂停' : '自动轮播'); + } + + function togglePause(force) { + var next = typeof force === 'boolean' ? force : !state.paused; + if (next === state.paused) return; + if (!state.paused && next) { + var elapsed = performance.now() - state.startedAt; + state.remaining = Math.max(1200, (state.remaining || state.rotateMs) - elapsed); + } + state.paused = next; + updatePauseUi(); + if (state.paused) { + window.clearTimeout(state.rotateTimer); + state.rotateTimer = null; + var progress = $('page-progress'); + if (progress) progress.style.animationPlayState = 'paused'; + } else { + scheduleRotation(state.remaining); + } + } + + function buildDots() { + var holder = $('dots'); + if (!holder) return; + PAGES.forEach(function (page, index) { + var button = document.createElement('button'); + button.type = 'button'; + button.className = 'dot'; + button.textContent = pad2(index + 1); + button.setAttribute('role', 'tab'); + button.setAttribute('aria-label', page.title + ' / ' + page.sub); + button.title = page.title + ' · ' + page.sub; + button.addEventListener('click', function () { goTo(index, false); }); + holder.appendChild(button); + }); + } + + function initPages() { + pages.forEach(function (page, i) { + page.classList.toggle('is-active', i === state.page); + page.setAttribute('aria-hidden', i === state.page ? 'false' : 'true'); + }); + updateNav(); + updatePauseUi(); + scheduleRotation(); + } + + /* ------------------------------------------------------------------ */ + /* Interaction */ + /* ------------------------------------------------------------------ */ + function bindKeys() { + document.addEventListener('keydown', function (event) { + var tag = (event.target && event.target.tagName) || ''; + if (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return; + if (event.code === 'Space' || event.key === ' ') { + event.preventDefault(); + togglePause(); + } else if (event.key === 'ArrowRight') { + event.preventDefault(); + goTo(state.page + 1, false); + } else if (event.key === 'ArrowLeft') { + event.preventDefault(); + goTo(state.page - 1, false); + } else if (event.key >= '1' && event.key <= '5') { + goTo(parseInt(event.key, 10) - 1, false); + } else if (event.key === 'f' || event.key === 'F') { + toggleFullscreen(); + } + }); + } + + function toggleFullscreen() { + if (document.fullscreenElement) { + if (document.exitFullscreen) document.exitFullscreen().catch(function () {}); + } else if (document.documentElement.requestFullscreen) { + document.documentElement.requestFullscreen().catch(function () {}); + } + } + + function fitStage() { + var scale = Math.min(window.innerWidth / 1024, window.innerHeight / 768); + stage.style.transform = 'scale(' + Math.max(scale, 0.1) + ')'; + } + + function bindCursorHide() { + document.addEventListener('mousemove', function () { + document.body.classList.remove('hide-cursor'); + window.clearTimeout(state.cursorTimer); + state.cursorTimer = window.setTimeout(function () { + document.body.classList.add('hide-cursor'); + }, 2500); + }); + } + + function initSparks() { + sparks.cpu = new Spark($('cpu-spark'), { + series: [{ key: 'cpu', color: COLORS.cyan, alpha: 0.2 }], max: 100, threshold: 80 + }); + sparks.cpu2 = new Spark($('cpu-spark-2'), { + series: [{ key: 'cpu', color: COLORS.cyan, alpha: 0.17 }], max: 100, threshold: 80 + }); + sparks.mem = new Spark($('mem-spark-large'), { + series: [{ key: 'mem', color: COLORS.blue, alpha: 0.2 }], max: 100, threshold: 85 + }); + sparks.memLarge = new Spark($('mem-spark-2'), { + series: [{ key: 'mem', color: COLORS.blue, alpha: 0.16 }], max: 100, threshold: 85 + }); + sparks.load = new Spark($('load-spark'), { + series: [{ key: 'load', color: COLORS.amber, alpha: 0.18 }], max: 16 + }); + sparks.net = new Spark($('net-spark'), { + series: [ + { key: 'tx', color: COLORS.blue, alpha: 0.08 }, + { key: 'rx', color: COLORS.cyan, alpha: 0.16 } + ] + }); + sparks.netBig = new Spark($('net-spark-big'), { + series: [ + { key: 'tx', color: COLORS.blue, alpha: 0.1 }, + { key: 'rx', color: COLORS.cyan, alpha: 0.18 } + ] + }); + sparks.io = new Spark($('io-spark'), { + series: [ + { key: 'write', color: COLORS.violet, alpha: 0.08 }, + { key: 'read', color: COLORS.cyan, alpha: 0.16 } + ] + }); + } + + function init() { + buildDots(); + initPages(); + initSparks(); + bindKeys(); + bindCursorHide(); + fitStage(); + tickClock(); + connectStream(); + window.setInterval(tickClock, 250); + window.setInterval(watchdog, 4000); + window.addEventListener('resize', fitStage); + document.addEventListener('fullscreenchange', function () { + window.setTimeout(fitStage, 80); + window.setTimeout(refitCharts, 120); + }); + window.addEventListener('load', function () { + fitStage(); + refitCharts(); + }); + + document.addEventListener('visibilitychange', function () { + if (document.hidden) { + if (!state.paused) { + var elapsed = performance.now() - state.startedAt; + state.remaining = Math.max(1200, (state.remaining || state.rotateMs) - elapsed); + window.clearTimeout(state.rotateTimer); + state.rotateTimer = null; + var progress = $('page-progress'); + if (progress) progress.style.animationPlayState = 'paused'; + state.visibilityPaused = true; + } + } else if (state.visibilityPaused && !state.paused) { + state.visibilityPaused = false; + scheduleRotation(state.remaining); + } + }); + } + + init(); +})(); \ No newline at end of file diff --git a/web/favicon.svg b/web/favicon.svg new file mode 100644 index 0000000..dbecbb8 --- /dev/null +++ b/web/favicon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..5744548 --- /dev/null +++ b/web/index.html @@ -0,0 +1,485 @@ + + + + + + + + Server Monitor + + + + + + +
+
+ + + + +
+
+ +
+
+

---

+ 连接中 + +
+
+ -- + + -- + + -- + + -- +
+
+
+ +
+
--:--:--
+
----UTC
+
+ +
+
UPTIME
+
--
+
BOOT --
+
+
+ + + +
+ + +
+
+
+
处理器CPU
+ -- THREADS +
+
+
+ +
0%UTIL
+
+
+

--

+
频率--
+
温度--
+
核心--
+
+
+
+
60S 使用率PEAK --
+ +
+
+ +
+
+
内存MEMORY
+ -- +
+
+
+ +
0%USED
+
+
+
--/ --
+
可用 AVAIL--
+
缓存 CACHE--
+
+
+
+ + + + +
+
+ 进程 + 缓存 + 空闲 +
+
+ SWAP +
+ -- +
+
+ +
+
+
节点NODE
+ HOST +
+
+
系统--
+
内核--
+
架构--
+
地址--
+
启动--
+
进程--
+
+
+ +
+
+
负载LOAD
+ -- CORES +
+
+
+ 1 MIN-- +
+
+
+ 5 MIN-- +
+
+
+ 15 MIN-- +
+
+
+
+ 运行中 -- + 线程 -- + 规范值 -- +
+
+
LOAD 1M · 60SPEAK --
+ +
+
+ +
+
+
文件系统DISK
+ -- FS +
+
+
+ +
+
+
网络NETWORK
+ LIVE +
+
+
+ ↓ 下行 RX + -- +
+
+ ↑ 上行 TX + -- +
+
+
+ +
+
+ -- 个接口 + 0 错误 +
+
+
+ + +
+
+
+
处理器详情CPU DETAIL
+ -- +
+
+
+ +
0%CPU UTIL
+
+
+

--

+
+
频率--
+
温度--
+
逻辑核心--
+
采样--
+
+
+
USER
--
+
SYSTEM
--
+
IOWAIT
--
+
STEAL
--
+
+
+
60S 使用率PEAK --
+ +
+
+ +
+
+
每核心PER CORE
+ -- CORES +
+
+
+ +
+
+
进程 TOPBY CPU
+ -- PROCS +
+ + + +
PID进程 / PROCESSCPUMEMRSS
+
+
+ + +
+
+
+
物理内存MEMORY
+ -- +
+
+
+ +
0%USED
+
+
+
--/ -- 已用
+
+ + + + +
+
+
可用 AVAILABLE--
+
缓存 CACHED--
+
缓冲 BUFFERS--
+
SWAP--
+
+
+
内存构成COMPOSITION
+
进程
--
+
缓存
--
+
缓冲
--
+
空闲
--
+
+
+
60S 使用率PEAK --
+ +
+
+ +
+
+
内存趋势60 SECONDS
+ -- +
+
+
+
当前 CURRENT--
+
峰值 PEAK--
+
均值 AVG--
+
交换 SWAP--
+
+
+ +
+
+
进程 TOPBY MEMORY
+ -- PROCS +
+ + + +
PID进程 / PROCESSMEMRSSCPU
+
+
+ + +
+
+
+
文件系统FILESYSTEMS
+ -- FS +
+ + + + + + + + + + + + + + +
挂载点 / MOUNT设备 / DEVICE类型容量已用可用使用率%
+
+
总容量--
+
已用--
+
可用--
+
--
+
--
+
+
+ +
+
+
磁盘 I/ODEVICE THROUGHPUT
+ R -- · W -- +
+
+
+ + + + + +
设备 / DEVICE读 READ写 WRITEIOPS R/W延迟 AWAIT忙碌 BUSY%
+ +
+
+
I/O 趋势 · 60S--
+ +
READWRITE
+
+
+
+
+ + +
+
+
+
网络吞吐THROUGHPUT
+ -- IFACES +
+
+
+ ↓ 下行 RX + -- + 累计 -- +
+
+ +
RXTX60S WINDOW
+
+
+ ↑ 上行 TX + -- + 累计 -- +
+
+
+ 接口 -- + 错误 -- + 丢包 -- + 主接口 -- + LIVE +
+
+ +
+
+
网卡INTERFACES
+ -- +
+ + + + + +
接口 / IFACEIP下行 RX上行 TX累计 RX/TX错误/丢包链路
+
+
+ +
+ +
+
+ + STATUS +
+
+
+ 正在连接服务器 · SERVER MONITOR INITIALIZING + +
+
+
SAMPLE ----
+
+ +
+ SERVER MONITOR v---- + ← → 切换 SPACE 暂停 F 全屏 + 等待采样… +
+
+
+ + + + \ No newline at end of file diff --git a/web/robots.txt b/web/robots.txt new file mode 100644 index 0000000..1f53798 --- /dev/null +++ b/web/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/web/style.css b/web/style.css new file mode 100644 index 0000000..3190947 --- /dev/null +++ b/web/style.css @@ -0,0 +1,1677 @@ +:root { + --bg: #04070d; + --bg-2: #07101a; + --panel: #0a1420; + --panel-2: #08111b; + --line: rgba(126, 174, 224, .13); + --line-strong: rgba(126, 190, 240, .24); + --text: #e7f2ff; + --text-2: #c7d8ea; + --muted: #7e93a8; + --muted-2: #566b80; + --cyan: #52e6cf; + --cyan-2: #34c9ff; + --blue: #5aa9ff; + --violet: #b58cff; + --amber: #ffb45c; + --red: #ff6072; + --green: #62e6a8; + --mono: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", "DejaVu Sans Mono", "Liberation Mono", Consolas, monospace; + --sans: "Inter", "SF Pro Display", "Segoe UI", "Noto Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", "PingFang SC", "WenQuanYi Micro Hei", sans-serif; +} + +* { box-sizing: border-box; } + +html, body { + width: 100%; + height: 100%; + margin: 0; + background: var(--bg); +} + +body { + overflow: hidden; + color: var(--text); + font-family: var(--sans); + font-size: 12px; + -webkit-font-smoothing: antialiased; + text-rendering: geometricPrecision; +} + +button { font: inherit; color: inherit; } + +.svg-defs { + position: absolute; + width: 0; + height: 0; + overflow: hidden; +} + +.viewport { + position: fixed; + inset: 0; + overflow: hidden; + background: + radial-gradient(900px 620px at 18% -10%, rgba(46, 160, 155, .09), transparent 62%), + radial-gradient(900px 700px at 100% 110%, rgba(51, 103, 196, .12), transparent 64%), + #03060b; +} + +.stage { + position: absolute; + left: 50%; + top: 50%; + margin-left: -512px; + margin-top: -384px; + width: 1024px; + height: 768px; + padding: 20px 22px; + display: grid; + grid-template-rows: 86px 30px 512px 42px 18px; + gap: 10px; + overflow: hidden; + border: 1px solid rgba(110, 170, 225, .16); + border-radius: 6px; + background: + radial-gradient(680px 420px at 12% 0%, rgba(31, 138, 136, .13), transparent 62%), + radial-gradient(800px 500px at 100% 100%, rgba(38, 87, 170, .14), transparent 66%), + linear-gradient(155deg, #07101a 0%, #050a12 48%, #060c15 100%); + box-shadow: 0 28px 90px rgba(0, 0, 0, .7), inset 0 0 0 1px rgba(255, 255, 255, .015); + transform-origin: center center; +} + +.stage-grid { + position: absolute; + inset: 0; + pointer-events: none; + opacity: .5; + background-image: + linear-gradient(rgba(112, 165, 220, .035) 1px, transparent 1px), + linear-gradient(90deg, rgba(112, 165, 220, .035) 1px, transparent 1px); + background-size: 32px 32px; + mask-image: radial-gradient(ellipse at 50% 35%, black, transparent 82%); +} + +.stage-glow { + position: absolute; + width: 420px; + height: 420px; + border-radius: 50%; + pointer-events: none; + filter: blur(90px); + opacity: .18; +} +.glow-a { top: -190px; left: -100px; background: #1fb8a4; } +.glow-b { right: -150px; bottom: -230px; background: #2e63c7; opacity: .22; } + +/* ------------------------------------------------------------------ */ +/* Header */ +/* ------------------------------------------------------------------ */ +.panel { + background: + linear-gradient(180deg, rgba(18, 32, 49, .86), rgba(8, 17, 28, .92)); + border: 1px solid var(--line); + border-radius: 12px; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 8px 26px rgba(0, 0, 0, .2); +} + +.topbar { + position: relative; + z-index: 1; + display: grid; + grid-template-columns: minmax(0, 1fr) 180px 150px; + align-items: center; + gap: 22px; + padding: 0 18px; +} + +.identity { + min-width: 0; + display: flex; + align-items: center; + gap: 13px; +} + +.brand-mark { + width: 46px; + height: 46px; + flex: none; + border-radius: 12px; + display: grid; + place-items: center; + background: linear-gradient(145deg, rgba(69, 224, 203, .09), rgba(59, 124, 231, .06)); + border: 1px solid rgba(81, 221, 204, .19); + box-shadow: 0 0 24px rgba(42, 212, 190, .08), inset 0 0 14px rgba(51, 199, 183, .04); +} +.brand-mark svg { width: 40px; height: 40px; display: block; } + +.identity-copy { min-width: 0; } + +.hostline { + display: flex; + align-items: center; + gap: 9px; + min-width: 0; +} + +h1 { + margin: 0; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 24px; + line-height: 1.05; + font-weight: 650; + letter-spacing: -.015em; + color: #f1f8ff; + text-shadow: 0 0 30px rgba(102, 208, 255, .12); +} + +.live-pill, .demo-pill { + flex: none; + display: inline-flex; + align-items: center; + gap: 5px; + height: 18px; + padding: 0 7px; + border-radius: 99px; + font-family: var(--mono); + font-size: 8px; + font-weight: 600; + letter-spacing: .1em; + text-transform: uppercase; + border: 1px solid rgba(103, 151, 196, .22); + color: var(--muted); + background: rgba(86, 120, 155, .07); +} +.live-pill i { + width: 4px; + height: 4px; + border-radius: 50%; + background: currentColor; + box-shadow: 0 0 5px currentColor; +} +.live-pill[data-state="live"] { + color: var(--green); + border-color: rgba(88, 226, 159, .27); + background: rgba(60, 190, 130, .07); +} +.live-pill[data-state="connecting"] { + color: var(--amber); + border-color: rgba(255, 178, 90, .25); + background: rgba(220, 153, 75, .06); +} +.live-pill[data-state="offline"] { + color: var(--red); + border-color: rgba(255, 96, 114, .3); + background: rgba(255, 96, 114, .06); +} +.live-pill[data-state="live"] i { animation: breathe 2.4s ease-in-out infinite; } +.demo-pill { + color: var(--amber); + border-color: rgba(255, 180, 92, .26); + background: rgba(255, 180, 92, .07); +} + +.host-meta { + display: flex; + align-items: center; + gap: 8px; + margin-top: 7px; + min-width: 0; + overflow: hidden; + white-space: nowrap; + font-family: var(--mono); + font-size: 9px; + letter-spacing: .025em; + color: var(--muted); +} +.host-meta > span { overflow: hidden; text-overflow: ellipsis; } +.host-meta #os-name { max-width: 210px; color: var(--text-2); } +.host-meta #kernel { max-width: 160px; } +.host-meta #arch { flex: none; } +.sep { + display: inline-block; + width: 1px; + height: 8px; + flex: none; + background: rgba(130, 172, 214, .2); +} +.host-ip { + display: inline-flex; + align-items: center; + gap: 5px; + flex: none; + color: var(--cyan); +} +.ip-dot { + width: 4px; + height: 4px; + border-radius: 50%; + background: currentColor; + box-shadow: 0 0 5px currentColor; +} +.host-ip b { font-weight: 500; } + +.clock-block { text-align: right; } +.clock { + font-family: var(--mono); + font-size: 42px; + line-height: .96; + font-weight: 500; + letter-spacing: -.045em; + color: #f4faff; + font-variant-numeric: tabular-nums; + text-shadow: 0 0 28px rgba(96, 197, 255, .13); +} +.clock-meta { + margin-top: 7px; + display: flex; + justify-content: flex-end; + align-items: center; + gap: 8px; + font-family: var(--mono); + font-size: 9px; + letter-spacing: .06em; + color: var(--muted); +} +#timezone { color: var(--cyan); } + +.uptime-block { + border-left: 1px solid rgba(128, 173, 216, .16); + padding-left: 18px; + min-width: 0; +} +.eyebrow { + font-family: var(--mono); + font-size: 8px; + letter-spacing: .2em; + color: var(--muted-2); +} +.uptime { + margin-top: 5px; + font-family: var(--mono); + font-size: 16px; + letter-spacing: -.01em; + color: #e9f5ff; + white-space: nowrap; + font-variant-numeric: tabular-nums; +} +.boot { + margin-top: 6px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-family: var(--mono); + font-size: 8px; + color: var(--muted-2); +} + +/* ------------------------------------------------------------------ */ +/* Nav */ +/* ------------------------------------------------------------------ */ +.nav { + position: relative; + display: grid; + grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); + align-items: center; + padding: 0 4px; +} +.nav-current { display: flex; align-items: center; gap: 10px; min-width: 0; } +.page-index { + font-family: var(--mono); + font-size: 13px; + letter-spacing: .04em; + color: var(--cyan); + padding-right: 10px; + border-right: 1px solid rgba(119, 169, 215, .2); +} +.nav-titles { display: flex; align-items: baseline; gap: 8px; min-width: 0; } +.nav-titles strong { + font-size: 13px; + font-weight: 600; + letter-spacing: .02em; + color: #e6f1fd; + white-space: nowrap; +} +.nav-titles span { + font-family: var(--mono); + font-size: 8px; + letter-spacing: .15em; + color: var(--muted-2); + white-space: nowrap; +} + +.dots { display: flex; align-items: center; gap: 7px; justify-self: center; } +.dot { + position: relative; + width: 26px; + height: 18px; + padding: 0; + border: 0; + background: transparent; + color: var(--muted-2); + cursor: pointer; + font-family: var(--mono); + font-size: 8px; + letter-spacing: .05em; + transition: color .25s; +} +.dot::after { + content: ""; + position: absolute; + left: 50%; + bottom: 0; + width: 12px; + height: 2px; + border-radius: 2px; + background: currentColor; + opacity: .22; + transform: translateX(-50%); + transition: width .25s, background .25s, opacity .25s; +} +.dot:hover { color: var(--text-2); } +.dot.is-active { color: var(--cyan); } +.dot.is-active::after { + width: 20px; + opacity: 1; + background: var(--cyan); + box-shadow: 0 0 8px rgba(82, 230, 207, .6); +} + +.nav-state { + justify-self: end; + display: flex; + align-items: center; + gap: 8px; + font-family: var(--mono); + font-size: 8px; + letter-spacing: .06em; + color: var(--muted); + white-space: nowrap; +} +.state-led { + width: 4px; + height: 4px; + border-radius: 50%; + background: var(--green); + box-shadow: 0 0 6px rgba(98, 230, 168, .8); +} +.nav.is-paused .state-led { background: var(--amber); box-shadow: 0 0 6px rgba(255, 180, 92, .7); } +.key-hint { + margin-left: 3px; + padding: 2px 5px; + border: 1px solid rgba(119, 163, 204, .2); + border-radius: 3px; + color: var(--muted-2); + font-size: 7px; + letter-spacing: .08em; +} +.progress { + position: absolute; + left: 4px; + right: 4px; + bottom: 1px; + height: 1px; + overflow: hidden; + background: rgba(110, 155, 200, .1); +} +.progress i { + display: block; + width: 100%; + height: 100%; + background: linear-gradient(90deg, rgba(82, 230, 207, .9), rgba(90, 169, 255, .75)); + box-shadow: 0 0 8px rgba(82, 230, 207, .55); + transform: scaleX(0); + transform-origin: left center; + will-change: transform; +} + +/* ------------------------------------------------------------------ */ +/* Pages & cards */ +/* ------------------------------------------------------------------ */ +.pages { position: relative; min-height: 0; } + +.page { + position: absolute; + inset: 0; + display: grid; + gap: 10px; + opacity: 0; + visibility: hidden; + pointer-events: none; + transform: translateX(30px) scale(.996); + transition: opacity .42s ease, transform .52s cubic-bezier(.22, .68, .24, 1), visibility .52s; +} +.page.is-active { + opacity: 1; + visibility: visible; + pointer-events: auto; + transform: translateX(0) scale(1); + z-index: 2; +} +.page.is-prev { + opacity: 0; + visibility: visible; + transform: translateX(-30px) scale(.996); + z-index: 1; +} + +.card { + position: relative; + min-width: 0; + min-height: 0; + display: flex; + flex-direction: column; + overflow: hidden; + padding: 14px 16px; + border: 1px solid var(--line); + border-radius: 12px; + background: + linear-gradient(155deg, rgba(17, 31, 48, .84) 0%, rgba(8, 17, 28, .9) 56%, rgba(7, 15, 25, .92) 100%); + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, .028), + 0 7px 22px rgba(0, 0, 0, .16); +} +.card::before { + content: ""; + position: absolute; + top: 0; + left: 16px; + right: 16px; + height: 1px; + background: linear-gradient(90deg, transparent, rgba(128, 205, 255, .2), transparent); + opacity: .65; + pointer-events: none; +} +.card-head { + flex: none; + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; + min-height: 20px; + margin-bottom: 8px; +} +.card-title { display: flex; align-items: baseline; min-width: 0; } +.card-title .cn { + font-size: 12px; + font-weight: 600; + letter-spacing: .02em; + color: #dceafa; + white-space: nowrap; +} +.card-title .en { + margin-left: 7px; + font-family: var(--mono); + font-size: 8px; + letter-spacing: .15em; + color: var(--muted-2); + white-space: nowrap; +} +.card-badge { + flex: none; + display: inline-flex; + align-items: center; + gap: 4px; + height: 17px; + padding: 0 6px; + border: 1px solid rgba(111, 161, 207, .16); + border-radius: 3px; + background: rgba(72, 116, 158, .055); + font-family: var(--mono); + font-size: 7.5px; + font-weight: 500; + letter-spacing: .075em; + color: var(--muted); + white-space: nowrap; +} +.live-badge { color: var(--green); border-color: rgba(98, 230, 168, .2); } +.live-badge i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; box-shadow: 0 0 4px currentColor; } + +/* ------------------------------------------------------------------ */ +/* Rings */ +/* ------------------------------------------------------------------ */ +.ring { + --pct: 0; + position: relative; + flex: none; + width: 104px; + height: 104px; + color: var(--cyan); +} +.ring svg { width: 100%; height: 100%; display: block; transform: rotate(-90deg); } +.ring-track { + fill: none; + stroke: rgba(112, 158, 203, .13); + stroke-width: 6.5; +} +.ring-value { + fill: none; + stroke: currentColor; + stroke-width: 6.5; + stroke-linecap: round; + stroke-dasharray: 100; + stroke-dashoffset: calc(100 - var(--pct)); + transition: stroke-dashoffset .7s cubic-bezier(.3, .8, .3, 1), stroke .3s ease; + filter: drop-shadow(0 0 4px currentColor); +} +.ring[data-tone="warn"] { color: var(--amber); } +.ring[data-tone="crit"] { color: var(--red); } +.ring[data-tone="ok"] { color: var(--cyan); } +.ring-mem[data-tone="ok"] { color: var(--blue); } +.ring-center { + position: absolute; + inset: 0; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 2px; + pointer-events: none; +} +.ring-center b { + font-family: var(--mono); + font-size: 26px; + line-height: 1; + font-weight: 600; + letter-spacing: -.055em; + color: #f2faff; + font-variant-numeric: tabular-nums; +} +.ring-center b span { font-size: 11px; margin-left: 1px; color: var(--muted); letter-spacing: 0; } +.ring-center small { + font-family: var(--mono); + font-size: 7px; + letter-spacing: .18em; + color: var(--muted-2); +} +.ring-hero { width: 166px; height: 166px; } +.ring-hero .ring-value, .ring-hero .ring-track { stroke-width: 4.6; } +.ring-hero .ring-center b { font-size: 38px; } +.ring-hero .ring-center b span { font-size: 14px; } +.ring-hero .ring-center small { font-size: 8px; margin-top: 4px; } + +/* ------------------------------------------------------------------ */ +/* Sparklines */ +/* ------------------------------------------------------------------ */ +.spark-wrap { + position: relative; + margin-top: auto; + min-height: 0; +} +.spark-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; + margin-bottom: 3px; + font-family: var(--mono); + font-size: 7.5px; + letter-spacing: .08em; + color: var(--muted-2); +} +.spark-peak { color: var(--muted); } +.spark { display: block; width: 100%; height: 54px; overflow: visible; } +.spark-wrap-load .spark { height: 58px; } +.spark-wrap-net .spark { height: 68px; } +.spark-wrap-hero .spark { height: 66px; } +.spark-wrap-mem .spark { height: 62px; } + +/* ------------------------------------------------------------------ */ +/* Overview */ +/* ------------------------------------------------------------------ */ +.page-overview { + grid-template-columns: 1.28fr 1fr .78fr; + grid-template-rows: 246px 256px; +} +.card-cpu { grid-column: 1; grid-row: 1; } +.card-mem { grid-column: 2; grid-row: 1; } +.card-sys { grid-column: 3; grid-row: 1; } +.card-load { grid-column: 1; grid-row: 2; } +.card-disk { grid-column: 2; grid-row: 2; } +.card-net { grid-column: 3; grid-row: 2; } + +.cpu-main { + flex: none; + display: flex; + align-items: center; + gap: 14px; + height: 106px; +} +.cpu-facts { flex: 1; min-width: 0; } +.cpu-model { + margin: 0 0 8px; + font-size: 9px; + line-height: 1.35; + color: var(--text-2); + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + min-height: 24px; +} +.fact-row { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 8px; + height: 18px; + border-top: 1px solid rgba(112, 159, 204, .075); + font-size: 8.5px; + color: var(--muted); +} +.fact-row b { + font-family: var(--mono); + font-size: 10px; + font-weight: 500; + color: var(--text-2); + font-variant-numeric: tabular-nums; +} +.card-cpu .spark-wrap { margin-top: auto; } + +.mem-main { + flex: none; + display: flex; + align-items: center; + gap: 12px; + height: 98px; +} +.ring-mem { width: 94px; height: 94px; } +.ring-mem .ring-center b { font-size: 23px; } +.mem-facts { flex: 1; min-width: 0; } +.mem-total { + display: flex; + align-items: baseline; + gap: 4px; + margin-bottom: 5px; + white-space: nowrap; +} +.mem-total b { + font-family: var(--mono); + font-size: 20px; + line-height: 1; + font-weight: 600; + letter-spacing: -.04em; + color: #f1f9ff; +} +.mem-total span { font-family: var(--mono); font-size: 9px; color: var(--muted); } +.mem-total em { font-style: normal; color: var(--text-2); } +.kv-line { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 7px; + height: 18px; + border-top: 1px solid rgba(112, 159, 204, .075); + font-size: 8px; + color: var(--muted); + white-space: nowrap; +} +.kv-line > span { overflow: hidden; text-overflow: ellipsis; letter-spacing: .02em; } +.kv-line b { + font-family: var(--mono); + font-size: 9.5px; + font-weight: 500; + color: var(--text-2); +} + +.composition { + flex: none; + display: flex; + width: 100%; + height: 6px; + margin-top: auto; + border-radius: 3px; + overflow: hidden; + background: rgba(100, 145, 190, .1); +} +.composition .seg { display: block; height: 100%; transition: width .6s ease; } +.seg-apps { background: linear-gradient(90deg, #3f8cff, #5aa9ff); } +.seg-cache { background: linear-gradient(90deg, #2b6fb5, #3e8ecf); opacity: .8; } +.seg-buffers { background: #305a7a; opacity: .75; } +.seg-free { background: rgba(116, 158, 198, .15); } +.composition-legend { + flex: none; + display: flex; + gap: 12px; + margin-top: 6px; + font-size: 7.5px; + color: var(--muted-2); + letter-spacing: .03em; +} +.composition-legend span { display: inline-flex; align-items: center; gap: 4px; } +.legend-dot { width: 4px; height: 4px; border-radius: 1px; display: inline-block; } +.legend-dot.apps { background: var(--blue); } +.legend-dot.cache { background: #3e8ecf; } +.legend-dot.free { background: #456176; } +.swap-line { + flex: none; + display: flex; + align-items: center; + gap: 7px; + margin-top: 7px; + font-family: var(--mono); + font-size: 7.5px; + color: var(--muted-2); +} +.swap-label { letter-spacing: .12em; } +.swap-line .mini-bar { flex: 1; } +.swap-line b { font-weight: 500; color: var(--text-2); font-size: 8px; } + +.mini-bar { + position: relative; + height: 3px; + border-radius: 3px; + overflow: hidden; + background: rgba(106, 151, 196, .12); +} +.mini-bar > i { + display: block; + width: var(--w, 0%); + height: 100%; + border-radius: inherit; + background: var(--bar-color, var(--blue)); + box-shadow: 0 0 6px var(--bar-glow, rgba(90, 169, 255, .35)); + transition: width .55s cubic-bezier(.3, .8, .3, 1), background .3s; +} + +.sys-list { + flex: 1; + min-height: 0; + display: flex; + flex-direction: column; + justify-content: space-between; +} +.sys-row { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 8px; + min-height: 25px; + border-top: 1px solid rgba(112, 159, 204, .08); + font-size: 8.5px; + color: var(--muted); +} +.sys-row:first-child { border-top: 0; } +.sys-row span { flex: none; letter-spacing: .03em; } +.sys-row b { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-family: var(--mono); + font-size: 9px; + font-weight: 500; + color: var(--text-2); + text-align: right; +} + +.load-stats { + flex: none; + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 14px; + padding: 2px 0 8px; +} +.load-stat > span { + font-family: var(--mono); + font-size: 7px; + letter-spacing: .12em; + color: var(--muted-2); +} +.load-stat b { + display: block; + margin: 3px 0 6px; + font-family: var(--mono); + font-size: 24px; + line-height: 1; + font-weight: 600; + letter-spacing: -.055em; + color: #edf7ff; + font-variant-numeric: tabular-nums; +} +.load-stat .mini-bar { --bar-color: var(--amber); --bar-glow: rgba(255, 180, 92, .4); } +.load-foot { + flex: none; + display: flex; + justify-content: space-between; + gap: 10px; + padding-top: 7px; + border-top: 1px solid rgba(112, 159, 204, .085); + font-size: 8px; + color: var(--muted-2); +} +.load-foot b { font-family: var(--mono); font-weight: 500; color: var(--text-2); } +.spark-wrap-load { margin-top: auto; } + +.disk-list { flex: 1; min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; gap: 7px; } +.disk-row { min-width: 0; } +.disk-top { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 8px; + margin-bottom: 4px; +} +.disk-mount { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-family: var(--mono); + font-size: 10px; + color: var(--text-2); +} +.disk-mount span { font-family: var(--sans); font-size: 8px; color: var(--muted-2); margin-left: 5px; } +.disk-pct { + flex: none; + font-family: var(--mono); + font-size: 10px; + color: var(--text); +} +.disk-bar { height: 4px; border-radius: 3px; background: rgba(106, 151, 196, .12); overflow: hidden; } +.disk-bar i { + display: block; + height: 100%; + width: var(--w, 0%); + border-radius: inherit; + background: var(--bar-color, var(--violet)); + box-shadow: 0 0 7px var(--bar-glow, rgba(181, 140, 255, .32)); + transition: width .55s ease; +} +.disk-meta { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 3px; + font-family: var(--mono); + font-size: 7px; + color: var(--muted-2); +} + +.net-rates { + flex: none; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 8px; + padding-bottom: 3px; +} +.net-rate { min-width: 0; } +.net-rate > span { + display: block; + margin-bottom: 4px; + font-size: 7.5px; + letter-spacing: .06em; + color: var(--muted-2); + white-space: nowrap; +} +.net-rate b { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-family: var(--mono); + font-size: 17px; + line-height: 1; + font-weight: 600; + letter-spacing: -.045em; + color: #eef8ff; + font-variant-numeric: tabular-nums; +} +.net-rate.rx b { color: #78f0d9; } +.net-rate.tx b { color: #83baff; } +.net-foot { + flex: none; + display: flex; + justify-content: space-between; + gap: 8px; + margin-top: 5px; + font-family: var(--mono); + font-size: 7.5px; + color: var(--muted-2); +} +.net-foot b { color: var(--text-2); font-weight: 500; } +.spark-wrap-net { margin-top: auto; } + +/* ------------------------------------------------------------------ */ +/* CPU page */ +/* ------------------------------------------------------------------ */ +.page-cpu { + grid-template-columns: 300px minmax(0, 1fr); + grid-template-rows: 246px 256px; +} +.cpu-hero { grid-column: 1; grid-row: 1 / 3; } +.core-card { grid-column: 2; grid-row: 1; } +.proc-card { grid-column: 2; grid-row: 2; } + +.hero-ring { display: flex; justify-content: center; padding: 3px 0 7px; } +.hero-model { + margin: 0; + min-height: 25px; + text-align: center; + font-size: 8.5px; + line-height: 1.4; + color: var(--text-2); + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} +.hero-facts { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 6px 12px; + margin-top: 10px; + padding: 9px 0; + border-top: 1px solid rgba(112, 159, 204, .09); + border-bottom: 1px solid rgba(112, 159, 204, .09); +} +.hero-facts span { + display: block; + margin-bottom: 2px; + font-size: 7.5px; + color: var(--muted-2); +} +.hero-facts b { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-family: var(--mono); + font-size: 10px; + font-weight: 500; + color: var(--text-2); +} +.breakdown { margin-top: 10px; display: flex; flex-direction: column; gap: 7px; } +.breakdown-row { + display: grid; + grid-template-columns: 45px 1fr 32px; + align-items: center; + gap: 7px; + font-family: var(--mono); + font-size: 7px; + color: var(--muted-2); +} +.breakdown-row > b { text-align: right; font-size: 8px; font-weight: 500; color: var(--text-2); } +.breakdown-row .mini-bar { --bar-color: var(--cyan); --bar-glow: rgba(82, 230, 207, .3); } +.breakdown-row:nth-child(2) .mini-bar { --bar-color: var(--blue); --bar-glow: rgba(90, 169, 255, .3); } +.breakdown-row:nth-child(3) .mini-bar { --bar-color: var(--amber); --bar-glow: rgba(255, 180, 92, .3); } +.breakdown-row:nth-child(4) .mini-bar { --bar-color: var(--violet); --bar-glow: rgba(181, 140, 255, .3); } +.spark-wrap-hero { margin-top: auto; } + +.core-grid { + flex: 1; + min-height: 0; + display: grid; + grid-template-columns: repeat(8, minmax(0, 1fr)); + grid-auto-rows: minmax(0, 1fr); + gap: 7px; +} +.core { + position: relative; + min-width: 0; + min-height: 0; + display: flex; + flex-direction: column; + gap: 4px; + padding: 6px 7px 7px; + border: 1px solid rgba(111, 159, 204, .1); + border-radius: 6px; + background: linear-gradient(180deg, rgba(23, 42, 61, .45), rgba(9, 19, 30, .48)); +} +.core-head { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 3px; + font-family: var(--mono); + font-size: 7px; + color: var(--muted-2); +} +.core-head b { font-size: 8px; font-weight: 500; color: var(--text-2); } +.core-track { + position: relative; + flex: 1; + min-height: 24px; + width: 100%; + overflow: hidden; + border-radius: 3px; + background: + linear-gradient(180deg, rgba(104, 149, 194, .04), rgba(104, 149, 194, .1)); +} +.core-track i { + position: absolute; + left: 0; + right: 0; + bottom: 0; + height: var(--v, 0%); + min-height: 2px; + border-radius: 2px; + background: linear-gradient(180deg, var(--cyan), rgba(49, 174, 187, .5)); + box-shadow: 0 0 9px rgba(82, 230, 207, .25); + transition: height .55s cubic-bezier(.3, .8, .3, 1), background .3s; +} +.core[data-tone="warn"] .core-track i { background: linear-gradient(180deg, var(--amber), rgba(179, 118, 46, .55)); box-shadow: 0 0 9px rgba(255, 180, 92, .2); } +.core[data-tone="crit"] .core-track i { background: linear-gradient(180deg, var(--red), rgba(179, 70, 80, .55)); box-shadow: 0 0 9px rgba(255, 96, 114, .24); } + +.data-table { + width: 100%; + border-collapse: collapse; + table-layout: fixed; + font-size: 9.5px; +} +.data-table th { + padding: 0 6px 6px; + border-bottom: 1px solid rgba(117, 162, 205, .14); + font-family: var(--mono); + font-size: 7px; + font-weight: 500; + letter-spacing: .09em; + text-align: left; + color: var(--muted-2); + white-space: nowrap; +} +.data-table td { + height: 24px; + padding: 2px 6px; + border-bottom: 1px solid rgba(112, 159, 204, .065); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: var(--text-2); + font-variant-numeric: tabular-nums; +} +.data-table tr:last-child td { border-bottom: 0; } +.data-table .num { text-align: right; font-family: var(--mono); } +.data-table th.num { text-align: right; } +.col-pid { width: 48px; } +.proc-table { flex: 1; min-height: 0; } +.proc-name { display: flex; align-items: baseline; gap: 7px; min-width: 0; } +.proc-name b { + flex: none; + max-width: 130px; + overflow: hidden; + text-overflow: ellipsis; + font-family: var(--mono); + font-size: 9.5px; + font-weight: 500; + color: #e4f1ff; +} +.proc-name span { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + font-family: var(--mono); + font-size: 7.5px; + color: var(--muted-2); +} +.proc-pid { color: var(--muted-2); font-size: 8px; } +.proc-cpu { color: var(--cyan); } +.proc-cpu.hot { color: var(--amber); } +.proc-cpu.critical { color: var(--red); } +.proc-mem { color: var(--blue); } +.proc-rss { color: var(--muted); } +.empty-row { color: var(--muted-2) !important; text-align: center !important; font-family: var(--mono); font-size: 8px !important; } + +/* ------------------------------------------------------------------ */ +/* Memory page */ +/* ------------------------------------------------------------------ */ +.page-memory { + grid-template-columns: 380px minmax(0, 1fr); + grid-template-rows: 246px 256px; +} +.mem-hero { grid-column: 1; grid-row: 1 / 3; } +.mem-trend { grid-column: 2; grid-row: 1; } +.mem-proc-card { grid-column: 2; grid-row: 2; } + +.mem-total-line { + display: flex; + align-items: baseline; + justify-content: center; + gap: 4px; + margin-top: 1px; + white-space: nowrap; +} +.mem-total-line b { + font-family: var(--mono); + font-size: 22px; + line-height: 1; + font-weight: 600; + letter-spacing: -.045em; + color: #f0f9ff; +} +.mem-total-line span { font-size: 9px; color: var(--muted); } +.mem-total-line em { font-family: var(--mono); font-style: normal; color: var(--text-2); } +.composition-large { height: 8px; margin-top: 14px; } +.mem-stats { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 8px 14px; + margin-top: 10px; + padding: 9px 0; + border-top: 1px solid rgba(112, 159, 204, .09); + border-bottom: 1px solid rgba(112, 159, 204, .09); +} +.mem-stats span { + display: block; + margin-bottom: 3px; + font-size: 7.5px; + letter-spacing: .015em; + color: var(--muted-2); +} +.mem-stats b { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-family: var(--mono); + font-size: 11px; + font-weight: 500; + color: var(--text-2); +} +.mem-hero .ring-hero { width: 158px; height: 158px; } +.mem-breakdown { + flex: none; + margin-top: 8px; + padding-top: 7px; + border-top: 1px solid rgba(112, 159, 204, .09); +} +.mem-bd-head { + display: flex; + align-items: baseline; + justify-content: space-between; + margin-bottom: 4px; + font-family: var(--mono); + font-size: 6.8px; + letter-spacing: .07em; + color: var(--muted-2); +} +.mem-bd-head span:last-child { letter-spacing: .11em; color: rgba(126, 147, 168, .65); } +.mem-bd-row { + display: grid; + grid-template-columns: 62px minmax(0, 1fr) 36px; + align-items: center; + gap: 8px; + height: 17px; + font-size: 7.5px; + color: var(--muted); +} +.mem-bd-row .mini-bar { height: 3px; } +.mem-bd-row b { + font-family: var(--mono); + font-size: 8px; + font-weight: 500; + text-align: right; + color: var(--text-2); +} +.mem-key { + display: inline-block; + width: 4px; + height: 4px; + margin-right: 4px; + border-radius: 1px; + vertical-align: 1px; + background: var(--blue); +} +.mem-key.cache { background: #3e8ecf; } +.mem-key.buffers { background: #305a7a; } +.mem-key.free { background: #456176; } +.spark-wrap-mem { margin-top: auto; } + +.trend-chart { flex: 1; min-height: 0; display: flex; align-items: stretch; } +.trend-chart .spark { height: 100%; min-height: 100px; } +.trend-stats { + flex: none; + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 10px; + margin-top: 7px; + padding-top: 8px; + border-top: 1px solid rgba(112, 159, 204, .08); +} +.trend-stats span { display: block; margin-bottom: 2px; font-size: 7px; color: var(--muted-2); letter-spacing: .05em; } +.trend-stats b { font-family: var(--mono); font-size: 11px; font-weight: 500; color: var(--text-2); } + +/* ------------------------------------------------------------------ */ +/* Storage page */ +/* ------------------------------------------------------------------ */ +.page-storage { + grid-template-columns: 1fr; + grid-template-rows: 256px 246px; +} +.fs-card { grid-row: 1; } +.io-card { grid-row: 2; } +.fs-table, .io-table { flex: none; } +.iface-table { flex: 1; min-height: 0; } +.fs-table th, .fs-table td { padding-left: 7px; padding-right: 7px; } +.fs-table th:nth-child(1) { width: 20%; } +.fs-table th:nth-child(2) { width: 21%; } +.fs-table th:nth-child(3) { width: 8%; } +.fs-table th:nth-child(4) { width: 10%; } +.fs-table th:nth-child(5) { width: 10%; } +.fs-table th:nth-child(6) { width: 10%; } +.fs-table th:nth-child(7) { width: 15%; } +.fs-table th:nth-child(8) { width: 6%; } +.fs-table td { height: 28px; } +.fs-mount { color: #e5f1ff; font-family: var(--mono); font-size: 10px; } +.fs-device { color: var(--muted); font-family: var(--mono); font-size: 8px; } +.fs-type { color: var(--muted-2); font-family: var(--mono); font-size: 8px; } +.fs-num { color: var(--text-2); font-family: var(--mono); font-size: 8.5px; } +.fs-usage { display: flex; align-items: center; gap: 7px; } +.fs-usage .mini-bar { flex: 1; height: 4px; } +.fs-pct { font-family: var(--mono); font-size: 9px; } +.fs-ro { margin-left: 4px; color: var(--amber); font-size: 7px; } + +.io-table th:nth-child(1) { width: 22%; } +.io-table th:nth-child(2) { width: 16%; } +.io-table th:nth-child(3) { width: 16%; } +.io-table th:nth-child(4) { width: 14%; } +.io-table th:nth-child(5) { width: 14%; } +.io-table th:nth-child(6) { width: 14%; } +.io-table th:nth-child(7) { width: 5%; } +.io-table td { height: 28px; } +.io-grid { + flex: 1; + min-height: 0; + display: grid; + grid-template-columns: minmax(0, 1fr) 300px; + gap: 18px; +} +.io-main { min-width: 0; min-height: 0; display: flex; flex-direction: column; } +.io-footer { + margin-top: auto; + display: flex; + align-items: center; + gap: 18px; + padding-top: 7px; + border-top: 1px solid rgba(112, 159, 204, .08); + font-size: 7.5px; + color: var(--muted-2); + white-space: nowrap; +} +.io-footer b { font-family: var(--mono); font-weight: 500; color: var(--text-2); margin-left: 3px; } +.io-side { + min-width: 0; + min-height: 0; + display: flex; + flex-direction: column; + padding-left: 16px; + border-left: 1px solid rgba(112, 159, 204, .09); +} +.io-side-head { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 8px; + margin-bottom: 5px; + font-family: var(--mono); + font-size: 7.5px; + letter-spacing: .07em; + color: var(--muted-2); +} +.io-side-head b { + font-size: 12px; + font-weight: 500; + letter-spacing: -.02em; + color: #e9f5ff; +} +.io-side .spark { flex: 1; width: 100%; height: auto; min-height: 56px; } +.io-legend { + display: flex; + justify-content: flex-end; + gap: 10px; + margin-top: 4px; + font-family: var(--mono); + font-size: 7px; + letter-spacing: .07em; + color: var(--muted-2); +} +.io-legend span::before { + content: ""; + display: inline-block; + width: 8px; + height: 2px; + margin-right: 3px; + vertical-align: middle; + background: currentColor; +} +.io-legend .read { color: var(--cyan); } +.io-legend .write { color: var(--violet); } + +.fs-summary { + flex: none; + margin-top: auto; + display: grid; + grid-template-columns: 88px 88px 88px minmax(0, 1fr) auto; + align-items: center; + gap: 14px; + padding-top: 8px; + border-top: 1px solid rgba(112, 159, 204, .085); +} +.fs-sum-item span { + display: block; + margin-bottom: 2px; + font-size: 7px; + letter-spacing: .04em; + color: var(--muted-2); +} +.fs-sum-item b { + font-family: var(--mono); + font-size: 10px; + font-weight: 500; + color: var(--text-2); + white-space: nowrap; +} +.fs-sum-bar { display: flex; align-items: center; gap: 8px; min-width: 0; } +.fs-sum-bar .mini-bar { flex: 1; height: 4px; --bar-color: var(--violet); --bar-glow: rgba(181, 140, 255, .35); } +.fs-sum-bar b { + flex: none; + min-width: 42px; + text-align: right; + font-family: var(--mono); + font-size: 9px; + font-weight: 500; + color: var(--text-2); +} +.fs-sum-more { + justify-self: end; + font-size: 7.5px; + color: var(--muted-2); + white-space: nowrap; +} +.io-device { color: #e5f1ff; font-family: var(--mono); font-size: 10px; } +.io-rate { font-family: var(--mono); font-size: 9px; } +.io-rate.read { color: #78f0d9; } +.io-rate.write { color: #83baff; } +.io-busy { display: flex; align-items: center; gap: 7px; } +.io-busy .mini-bar { flex: 1; height: 4px; } +.bar-col { width: 15%; } + +/* ------------------------------------------------------------------ */ +/* Network page */ +/* ------------------------------------------------------------------ */ +.page-network { + grid-template-columns: 1fr; + grid-template-rows: 246px 256px; +} +.net-hero-card { grid-row: 1; } +.iface-card { grid-row: 2; } +.net-hero-body { + flex: 1; + min-height: 0; + display: grid; + grid-template-columns: 195px minmax(0, 1fr) 195px; + align-items: center; + gap: 22px; + padding: 0 4px; +} +.net-big { min-width: 0; } +.net-big.tx { text-align: right; } +.net-direction { + display: block; + margin-bottom: 7px; + font-family: var(--mono); + font-size: 8px; + letter-spacing: .12em; + color: var(--muted-2); +} +.net-big b { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-family: var(--mono); + font-size: 33px; + line-height: 1; + font-weight: 600; + letter-spacing: -.06em; + font-variant-numeric: tabular-nums; +} +.net-big.rx b { color: #78f0d9; text-shadow: 0 0 24px rgba(82, 230, 207, .13); } +.net-big.tx b { color: #8ec1ff; text-shadow: 0 0 24px rgba(90, 169, 255, .13); } +.net-big small { + display: block; + margin-top: 8px; + font-family: var(--mono); + font-size: 8px; + color: var(--muted-2); +} +.net-big-chart { position: relative; height: 135px; min-width: 0; } +.net-big-chart .spark { height: 118px; } +.chart-legend { + display: flex; + align-items: center; + gap: 9px; + font-family: var(--mono); + font-size: 7px; + letter-spacing: .07em; + color: var(--muted-2); +} +.chart-legend .rx { color: var(--cyan); } +.chart-legend .tx { color: var(--blue); } +.chart-legend .window { margin-left: auto; } +.chart-legend span::before { + content: ""; + display: inline-block; + width: 8px; + height: 2px; + margin-right: 3px; + vertical-align: middle; + background: currentColor; +} +.chart-legend .window::before { display: none; } +.net-summary { + flex: none; + display: flex; + align-items: center; + gap: 20px; + padding-top: 8px; + border-top: 1px solid rgba(112, 159, 204, .08); + font-size: 8px; + color: var(--muted-2); +} +.net-summary b { font-family: var(--mono); font-weight: 500; color: var(--text-2); margin-left: 3px; } +.net-sum-live { + margin-left: auto; + display: inline-flex; + align-items: center; + gap: 5px; + font-family: var(--mono); + font-size: 7.5px; + letter-spacing: .1em; + color: var(--green); +} +.net-sum-live i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; box-shadow: 0 0 5px currentColor; } + +.iface-table th:nth-child(1) { width: 18%; } +.iface-table th:nth-child(2) { width: 14%; } +.iface-table th:nth-child(3) { width: 13%; } +.iface-table th:nth-child(4) { width: 13%; } +.iface-table th:nth-child(5) { width: 20%; } +.iface-table th:nth-child(6) { width: 12%; } +.iface-table th:nth-child(7) { width: 10%; } +.iface-table td { height: 28px; } +.iface-name { display: flex; align-items: center; gap: 7px; min-width: 0; } +.iface-name i { + width: 4px; + height: 4px; + flex: none; + border-radius: 50%; + background: var(--green); + box-shadow: 0 0 5px rgba(98, 230, 168, .7); +} +.iface-name i.virtual { background: var(--violet); box-shadow: 0 0 5px rgba(181, 140, 255, .5); } +.iface-name b { font-family: var(--mono); font-size: 10px; font-weight: 500; color: #e5f1ff; overflow: hidden; text-overflow: ellipsis; } +.iface-name span { + flex: none; + padding: 1px 4px; + border: 1px solid rgba(98, 230, 168, .18); + border-radius: 3px; + font-family: var(--mono); + font-size: 6px; + letter-spacing: .06em; + color: var(--green); +} +.iface-ip { color: var(--muted); font-family: var(--mono); font-size: 8.5px; } +.iface-rate { font-family: var(--mono); font-size: 9px; } +.iface-rate.rx { color: #78f0d9; } +.iface-rate.tx { color: #83baff; } +.iface-total { color: var(--muted); font-family: var(--mono); font-size: 8px; } +.iface-errors { color: var(--muted); font-family: var(--mono); font-size: 8px; } +.iface-errors.bad { color: var(--red); } +.iface-link { color: var(--muted); font-family: var(--mono); font-size: 8px; } +.iface-link b { color: var(--text-2); font-weight: 500; } + +/* ------------------------------------------------------------------ */ +/* Ticker & footer */ +/* ------------------------------------------------------------------ */ +.ticker { + position: relative; + z-index: 1; + display: grid; + grid-template-columns: auto minmax(0, 1fr) auto; + align-items: center; + gap: 12px; + min-width: 0; + padding: 0 14px; + overflow: hidden; + border: 1px solid rgba(255, 180, 92, .13); + border-radius: 10px; + background: + linear-gradient(90deg, rgba(34, 28, 21, .4), rgba(11, 19, 28, .9) 18%, rgba(9, 17, 27, .92) 82%, rgba(24, 27, 31, .5)); + box-shadow: inset 0 1px 0 rgba(255, 205, 145, .035); +} +.ticker-label { + display: flex; + align-items: center; + gap: 6px; + padding-right: 13px; + border-right: 1px solid rgba(255, 180, 92, .16); + font-family: var(--mono); + font-size: 8px; + letter-spacing: .16em; + color: var(--amber); +} +.ticker-label svg { width: 13px; height: 13px; opacity: .9; } +.ticker-window { + min-width: 0; + overflow: hidden; + mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 24px), transparent); +} +.ticker-track { + display: inline-flex; + width: max-content; + white-space: nowrap; + will-change: transform; + animation: ticker-marquee 72s linear infinite; +} +.ticker-copy { + display: inline-block; + padding-right: 80px; + font-family: var(--mono); + font-size: 9px; + letter-spacing: .02em; + color: #b9cce0; +} +.ticker-side { + display: flex; + align-items: center; + gap: 8px; + font-family: var(--mono); + font-size: 7.5px; + color: var(--muted-2); + white-space: nowrap; +} +.ticker-side .sep { height: 7px; } +@keyframes ticker-marquee { + from { transform: translateX(0); } + to { transform: translateX(-50%); } +} +@keyframes breathe { + 0%, 100% { opacity: 1; } + 50% { opacity: .35; } +} + +.footline { + display: flex; + align-items: center; + justify-content: space-between; + gap: 14px; + min-width: 0; + padding: 0 4px; + font-family: var(--mono); + font-size: 7.5px; + letter-spacing: .04em; + color: var(--muted-2); + white-space: nowrap; +} +.foot-left, .foot-hint, .foot-right { display: flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden; text-overflow: ellipsis; } +.foot-left b { color: var(--muted); font-weight: 500; } +.foot-led { + width: 4px; + height: 4px; + flex: none; + border-radius: 50%; + background: var(--green); + box-shadow: 0 0 5px rgba(98, 230, 168, .7); +} +.foot-led.offline { background: var(--red); box-shadow: 0 0 5px rgba(255, 96, 114, .7); } +.foot-led.paused { background: var(--amber); box-shadow: 0 0 5px rgba(255, 180, 92, .7); } +.foot-hint { justify-content: center; opacity: .75; } +.foot-right { justify-content: flex-end; } +.footline .sep { height: 7px; } + +.hide-cursor { cursor: none; } + +/* A hair of texture without hurting readability. */ +.stage::after { + content: ""; + position: absolute; + inset: 0; + z-index: 20; + pointer-events: none; + border-radius: 6px; + background: + linear-gradient(180deg, rgba(255, 255, 255, .018), transparent 12%), + repeating-linear-gradient(0deg, rgba(255, 255, 255, .012) 0, rgba(255, 255, 255, .012) 1px, transparent 1px, transparent 3px); + opacity: .4; + mix-blend-mode: soft-light; +} + + +/* Dynamic state helpers */ +.tone-warn { color: var(--amber) !important; } +.tone-crit { color: var(--red) !important; } +.empty-note { + display: flex; + flex: 1; + align-items: center; + justify-content: center; + min-height: 80px; + color: var(--muted-2); + font-family: var(--mono); + font-size: 8px; + letter-spacing: .06em; +} +.iface-name span.virtual-badge { + border-color: rgba(181, 140, 255, .2); + color: var(--violet); +} +.iface-name span.primary-badge { + border-color: rgba(98, 230, 168, .22); + color: var(--green); +} +@keyframes page-progress-fill { + from { transform: scaleX(0); } + to { transform: scaleX(1); } +} + +@media (prefers-reduced-motion: reduce) { + .page, .ring-value, .mini-bar > i, .core-track i, .disk-bar i, .composition .seg { + transition: none !important; + } + .ticker-track { animation: none; } + .live-pill[data-state="live"] i { animation: none; } +} \ No newline at end of file