From 332d46cde7cd11e0990705d6e6a5110de18c1704 Mon Sep 17 00:00:00 2001 From: puro design Date: Sun, 19 Apr 2026 16:23:20 +0800 Subject: [PATCH 01/20] docs: PURO AI landing+auth redesign spec [CI SKIP] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stage 1 brainstorm 产出: - 风格方向:暗黑科技(cyan/purple on slate-950) - Landing 6 sections + 完整中文文案 - Auth 左右分栏 + "5→1" 数字对比叙事 - 给 claude.ai/design 的 brief(可直接复制) - Stage 3 实施约束(Vue 3 + Tailwind + i18n 对齐) 下一步:user 拿 brief 到 claude.ai/design 出视觉稿(Stage 2)。 Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 2 + .../2026-04-19-puro-ai-landing-auth-design.md | 348 ++++++++++++++++++ 2 files changed, 350 insertions(+) create mode 100644 docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md diff --git a/.gitignore b/.gitignore index 1a92ea3e..2173b7ea 100644 --- a/.gitignore +++ b/.gitignore @@ -129,6 +129,8 @@ vite.config.js docs/* !docs/PAYMENT.md !docs/PAYMENT_CN.md +!docs/superpowers/ +.superpowers/ .serena/ .codex/ frontend/coverage/ diff --git a/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md b/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md new file mode 100644 index 00000000..6e5e6916 --- /dev/null +++ b/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md @@ -0,0 +1,348 @@ +# PURO AI · Landing + Auth 重设计 + +> 2026-04-19 · 分支 `feat/design-landing-auth` + +本文档是「PURO AI 公开页面重设计」的设计 spec: +- **Stage 1(已完成 – brainstorm)**:信息架构 + 中文文案 + 风格方向 + 布局选型 +- **Stage 2(待执行 – user)**:拿本文档去 https://claude.ai/design 产出高保真视觉稿 +- **Stage 3(待执行 – Claude Code)**:把视觉稿翻译成 Vue 3 组件,对齐 Tailwind / router / i18n +- **Stage 4(待执行 – CI)**:merge → Drone CI → ai.puro.im 实机验证 + +--- + +## 1. 项目背景 + +| 项 | 值 | +|---|---| +| **公开品牌名** | **PURO AI** | +| **内部代码名** | sub2api(Wei-Shaw/sub2api fork,不改) | +| **域名** | https://ai.puro.im | +| **现状** | 登录后是 Vue 3 + Tailwind 后台;无公开首页;登录页用浅色 `AuthLayout` | +| **目标受众** | 个人开发者 / 小团队 — 已有 ChatGPT Plus / Claude Pro / Codex / Gemini 订阅,想程序化调用而不付 API 费率 | +| **核心叙事** | "你的 AI 订阅,已经付过钱了"——把已付订阅复用为 API | + +--- + +## 2. 风格方向 + +**暗黑科技**(Dark Tech)—— 对标 Linear / Vercel / Railway / Supabase / Cloudflare Workers。 + +### 配色(建议) +| 角色 | 色值 | 用途 | +|---|---|---| +| 主底 | `#0a0e1a` ~ `#0f172a` | 页面背景,slate-950 区间 | +| 卡片底 | `#0f172a` | 表单卡片、特性卡 | +| 边框 | `#334155` | 次要边框 | +| 主文 | `#f8fafc` | 标题 | +| 副文 | `#94a3b8` ~ `#cbd5e1` | 描述、菜单 | +| **主品牌色** | `#22d3ee`(cyan-400) | Logo、CTA、链接 | +| **辅品牌色** | `#a855f7`(purple-500) | 渐变叠加、装饰光晕 | +| 警示 | `#fbbf24`(amber-400) | "💡"标签、数字对比 | + +### 视觉语汇 +- 暗底上**圆形 radial gradient 光晕**(青/紫双色) +- 等宽字体(ui-monospace / SF Mono)用于 code demo +- 主体字体:sans-serif(Inter / SF Pro / 系统默认) +- 边框 1px 实线 / 关键分割用 dashed +- CTA 圆角 8px;卡片圆角 12px +- 不要拟物、不要软阴影、不要 Bootstrap 4 那种 gradient 按钮 + +### 排版氛围 +- 大量留白 +- 标题大、字距稍紧(letter-spacing -0.02em) +- 内容居中收敛(max-width ~1100px) + +--- + +## 3. Landing 页(路由 `/`,未登录态) + +### 3.1 信息架构 + +``` +NAV · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用] +① HERO · 主标 + 副标 + CTA×2 + 微文案 +② 模型墙 · 4 个支持的 AI 平台(Claude / ChatGPT / Codex / Gemini) +③ 三特性 · ⚡ 一个 key 多模型 · 🔄 账号池高可用 · 📊 用量看板 +④ Code Demo · codex config 片段 + curl 示例 +⑤ Dashboard · 真实截图 + 文案 +⑥ Footer · 4 列(品牌 / 产品 / 资源 / 联系) +``` + +### 3.2 完整中文文案 + +#### NAV +- Logo: `⬢ PURO AI` +- 菜单: 产品 · 文档 · 定价(暂隐) +- 右侧: `[登录]` `[免费试用 →]` + +#### ① HERO +- **主标**: 你的 AI 订阅,**已经付过钱了。** +- **副标**: Claude Pro · ChatGPT Plus · Codex · Gemini 订阅
聚合成统一 API,零改动接入 OpenAI / Anthropic SDK +- **CTA**: `立即开始 →` `查看文档` +- **微文案**: 无需信用卡 · 用你已有的订阅 · 5 分钟跑通 + +#### ② 模型墙 +- **小标题**: 支持的 AI 平台 +- **副标**: 通过 OAuth 直接复用你的订阅,无需申请官方 API key +- **Logos**: + - ⚪ Claude Pro / Max + - 🟢 ChatGPT Plus / Pro + - 🟡 Codex CLI + - 🔵 Gemini Code Assist + - ⚫ 更多(规划中,灰显) + +#### ③ 三大特性 +| 图标 | 标题 | 描述 | +|---|---|---| +| ⚡ | 一个 key 接所有模型 | 不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。| +| 🔄 | 账号池高可用 | 多账号自动调度。某个 ChatGPT Plus 触发限流,自动 failover 到下一个。重启、刷新 token 全自动。| +| 📊 | 用量看板 | 每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。| + +#### ④ Code Demo +- **标题**: 把 base_url 一改,就能用 +- **副**: 兼容 OpenAI / Anthropic / Gemini SDK,**零代码改动** +- **代码块**: + ```toml + # Codex CLI + # ~/.codex/config.toml + [model_providers.OpenAI] + base_url = "https://ai.puro.im" + wire_api = "responses" + ``` + ```bash + # 或直接 curl + $ curl https://ai.puro.im/responses \ + -H "Authorization: Bearer sk-xxx" \ + -d '{"model":"gpt-5.4","input":"hello"}' + ``` +- **底注**: 支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket + +#### ⑤ Dashboard +- **标题**: 每条请求都看得见 +- **副**: 不像第三方 API 池子那种"扣了多少不告诉你"。你能看到每次调用:扣了哪个账号、跑了哪个模型、用了多少 tokens、花了多少钱、上游响应几秒。 +- **图**: 截图占位 → 实施时取 ai.puro.im 实拍(模型分布饼图 + Token 趋势 + Top 模型 + 性能指标) + +#### ⑥ Footer +| 列 | 内容 | +|---|---| +| 品牌 | ⬢ PURO AI
Self-hosted on puro.im
© 2026 puro.im · MIT License
fork of Wei-Shaw/sub2api | +| 产品 | 文档 · 套餐(暂隐)· 更新日志 | +| 资源 | GitHub · API 状态 · Codex 配置示例 | +| 联系 | admin@puro.im · git.puro.im | + +--- + +## 4. Auth 页(登录 / 注册) + +### 4.1 布局选型:左右分栏 + +``` +┌─────────────────────────┬─────────────────────┐ +│ 左:品牌叙事区 │ 右:表单区 │ +│ - Logo │ - 标题(登录/注册) │ +│ - 主标语(5→1 对比) │ - 副标 │ +│ - 副文(双卖点排比) │ - email / password │ +│ - 装饰光晕 cyan/purple │ - CTA │ +│ - 底栏小字(支持平台) │ - 切换链接 │ +└─────────────────────────┴─────────────────────┘ +``` + +移动端:左侧叙事降级为顶部小 banner 或完全隐藏,单列表单。 + +### 4.2 左侧叙事文案 + +- **Logo**: `⬢ PURO AI` +- **主标语**: + > **5** 个订阅
+ > → **1** 个 key + + 数字 `5` 用 amber/orange 强调;`1` 用主品牌色 cyan 强调。 +- **副文**(三句排比): + > 省去切换账号的繁琐,
+ > 省去为多个高昂订阅重复买单。
+ > PURO(纯粹)—— 让 AI 调用回归本质。 +- **底栏小字**: `Claude · ChatGPT · Codex · Gemini` + +### 4.3 右侧表单 + +#### 登录页(`/login`) +- 标题: 登录 +- 副: 用你的 PURO AI 账户继续 +- 字段: + - 📧 邮箱(input, type=email, required) + - 🔒 密码(input, type=password, required, 带眼睛切换显示) +- 选项: + - 忘记密码?(router-link) + - Turnstile captcha(条件显示) +- CTA: `登录 →` +- 分隔: `或` +- OAuth 按钮(条件显示): + - 使用 LinuxDO 登录 + - 使用 OIDC 登录 +- 底部链接: 没有账户?**注册** + +#### 注册页(`/register`) +- 标题: 创建账户 +- 副: 5 分钟开始用 PURO AI +- 字段: + - 📧 邮箱 + - 🔒 密码 + - 🔒 确认密码 + - (可选)邮箱验证码(条件显示,配置 `email_verify_required` 时) +- Turnstile captcha(条件) +- CTA: `创建账户 →` +- 底部链接: 已有账户?**登录** + +#### 其他保留页(不重设计本期) +- `/forgot-password` +- `/reset-password` +- `/verify-email` +- OAuth 回调页 + +--- + +## 5. 给 claude.ai/design 的 brief(Stage 2 输入) + +复制下方文字到 https://claude.ai/design: + +```` +我要做两个网页设计,请帮我生成高保真 HTML/React 视觉稿。 + +## 品牌 +名字:PURO AI(拉丁语「纯粹」) +Logo:六边形 ⬢ + 文字 +域名:ai.puro.im +定位:把多个 AI 订阅(Claude Pro / ChatGPT Plus / Codex / Gemini)聚合成统一 API +核心叙事:你的 AI 订阅,已经付过钱了 + +## 风格 +暗黑科技风,对标 Linear / Vercel / Railway。 +配色: +- 主底 #0a0e1a / #0f172a(slate-950 区间) +- 主品牌色 #22d3ee(cyan-400) +- 辅品牌色 #a855f7(purple-500) +- 强调色 #fbbf24(amber-400,仅用于数字对比) +- 主文 #f8fafc,副文 #94a3b8 ~ #cbd5e1 +- 卡片/表单底 #0f172a,边框 #334155 + +视觉元素: +- 暗底上 radial gradient 光晕(青/紫双色,60% 透明度,blur) +- 大量留白,max-width 1100px +- 圆角:CTA 8px,卡片 12px +- 字体:Inter 或 SF Pro(sans-serif),代码用 ui-monospace +- 不要拟物、不要软阴影、不要 gradient 按钮 + +## 页面 1:Landing(路由 /,未登录) +6 个 section + 顶部 nav,全部中文。 + +NAV +- 左:⬢ PURO AI +- 中:产品、文档(定价灰显) +- 右:[登录](边框)[免费试用 →](cyan 实底) + +① HERO(居中,垂直 padding 大) +主标:你的 AI 订阅,**已经付过钱了。** +("已经付过钱了" 用 cyan 高亮) +副标:Claude Pro · ChatGPT Plus · Codex · Gemini 订阅 +聚合成统一 API,零改动接入 OpenAI / Anthropic SDK +CTA:[立即开始 →][查看文档] +微文案(小灰字):无需信用卡 · 用你已有的订阅 · 5 分钟跑通 + +② 模型墙 +小标题:支持的 AI 平台 +副:通过 OAuth 直接复用你的订阅,无需申请官方 API key +横排 5 个 logo 卡片:Claude Pro/Max · ChatGPT Plus/Pro · Codex CLI · Gemini Code Assist · 更多(灰显) + +③ 三特性(3 列卡片) +卡片 1:⚡ 一个 key 接所有模型 / 不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。 +卡片 2:🔄 账号池高可用 / 多账号自动调度。某个 ChatGPT Plus 触发限流,自动 failover 到下一个。重启、刷新 token 全自动。 +卡片 3:📊 用量看板 / 每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。 + +④ Code Demo +标题:把 base_url 一改,就能用 +副:兼容 OpenAI / Anthropic / Gemini SDK,零代码改动 +代码块(深色 terminal 配色,syntax highlight): +- 上方一段 toml(codex config) +- 下方一段 bash(curl 示例) +底注小字:支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket + +⑤ Dashboard +标题:每条请求都看得见 +副:不像第三方 API 池子那种"扣了多少不告诉你"。你能看到每次调用:扣了哪个账号、跑了哪个模型、用了多少 tokens、花了多少钱、上游响应几秒。 +图:dashboard 截图占位(深色饼图 + 折线图 + 表格) + +⑥ Footer +4 列: +- 品牌列:⬢ PURO AI / Self-hosted on puro.im / © 2026 puro.im · MIT / fork of Wei-Shaw/sub2api +- 产品列:文档 · 套餐(暂隐)· 更新日志 +- 资源列:GitHub · API 状态 · Codex 配置示例 +- 联系列:admin@puro.im · git.puro.im + +## 页面 2:登录页(路由 /login) +左右分栏,桌面端 50/50 分。 + +左侧(叙事区): +- 顶部 Logo:⬢ PURO AI +- 中部主标:5 个订阅 → 1 个 key + (5 用 amber #fbbf24 强调,1 用 cyan #22d3ee 强调,字号 36-48px,weight 800) +- 主标下副文(三句排比): + 省去切换账号的繁琐, + 省去为多个高昂订阅重复买单。 + PURO(纯粹)—— 让 AI 调用回归本质。 +- 底部小字:Claude · ChatGPT · Codex · Gemini +- 背景:linear-gradient(135deg, #0a0e1a, #1e1b4b) + 角落 radial gradient 光晕(cyan + purple) + +右侧(表单区): +- 标题:登录 +- 副:用你的 PURO AI 账户继续 +- 邮箱输入(带 📧 icon) +- 密码输入(带 🔒 icon + 眼睛切换显示) +- 行:忘记密码?(右对齐链接) +- 主 CTA:登录 →(cyan 实底) +- 分隔:—— 或 —— +- OAuth 按钮:使用 LinuxDO 登录(边框样式) +- 底部:没有账户?注册(链接) + +移动端:左侧叙事区收为顶部小 banner(只保留 Logo + 短主标),表单全宽。 + +## 页面 3:注册页(路由 /register) +和登录页同布局,右侧表单字段: +- 标题:创建账户 / 副:5 分钟开始用 PURO AI +- 邮箱、密码、确认密码 +- 主 CTA:创建账户 → +- 底部:已有账户?登录 + +请生成完整可预览的 HTML(含 inline CSS)或 React 组件。 +```` + +--- + +## 6. Stage 3 实施约束(给未来的我看) + +技术栈(不改动): +- Vue 3.4+ Composition API + TypeScript +- Tailwind CSS(已配 dark mode、`primary-*` 色板) +- Vite 5 +- Vue Router 4 / Pinia / vue-i18n +- 现有组件库(`@/components/common`、`@/components/layout/AuthLayout`) + +实施要点: +1. **Landing 页是新页**:新建 `frontend/src/views/landing/HomeView.vue`;改 `router/index.ts`,未登录访问 `/` 显示 landing,已登录跳 `/dashboard` +2. **Auth 页改造**:改 `frontend/src/components/layout/AuthLayout.vue` 为左右分栏;改 `LoginView.vue` / `RegisterView.vue` 适配新 layout,**保留所有现有逻辑**(OAuth、Turnstile、2FA、表单校验) +3. **i18n**:新文案进 `frontend/src/i18n/locales/zh.ts`;本期只补中文(默认语言),英文 key 留空 / 复用现有 +4. **Tailwind 配色**:如果新色值不在 `tailwind.config` 里,按需扩展 `colors.brand` / `colors.accent` +5. **Dashboard 截图**:实施时手动截 ai.puro.im 后台 → 放 `frontend/public/landing/dashboard.png` +6. **不动的**:Setup Wizard / 后台所有页面 / API 层 / store + +--- + +## 7. 验收标准 + +- [ ] 未登录访问 https://ai.puro.im/ → 看到 PURO AI Landing 页 +- [ ] 已登录访问 https://ai.puro.im/ → 跳到 /dashboard(保持现有行为) +- [ ] Landing 6 个 section 内容全部呈现,移动端可堆叠 +- [ ] /login 是左右分栏布局,文案与 spec 一致 +- [ ] /register 同上 +- [ ] 所有现有 auth 功能(OAuth、Turnstile、2FA、密码重置)仍可用 +- [ ] 后台所有页面(dashboard、账号管理、API key 等)外观不变 +- [ ] CI 构建通过,部署后 ai.puro.im 加载正常 -- 2.49.1 From 02173c8d7e529c8301660868414194806c504e95 Mon Sep 17 00:00:00 2001 From: puro design Date: Sun, 19 Apr 2026 18:05:14 +0800 Subject: [PATCH 02/20] docs: spec v2 + design drafts archive [CI SKIP] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stage 2 完成(Claude Design 产出 10 页)后的 spec 更新: - 范围决策:路径 B 分层交付(本期做 Landing/Login/Register/Docs 4 页 + puro.css 落地;二期换皮 Dashboard/API Keys;不做 Binding/Pricing) - Landing 文案精修:剔除 Pricing/FAQ/CTA banner;Hero CTA 改「登录」+「联系咨询」;微文案对齐真实能力 - Footer 删掉「套餐(暂隐)」 - 新增 §4.5 Docs 页(公开 /docs,精简版) - §5 brief 标记为历史存档(Stage 2 已完成) - §5.5 Stage 2 产出清单(10 个文件 + 本期用/二期/不做) - 归档 docs/design-drafts/v2/ 全部产出(含 puro.css、HANDOFF.md、10 个 HTML) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../2026-04-19-puro-ai-landing-auth-design.md | 124 ++++++++++++++---- 1 file changed, 99 insertions(+), 25 deletions(-) diff --git a/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md b/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md index 6e5e6916..e96b88f4 100644 --- a/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md +++ b/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md @@ -1,12 +1,30 @@ -# PURO AI · Landing + Auth 重设计 +# PURO AI · Landing + Auth 重设计(v2) -> 2026-04-19 · 分支 `feat/design-landing-auth` +> 2026-04-19 · 分支 `feat/design-landing-auth` · **v2 更新:Claude Design 产出 10 页 + puro.css 后,定了路径 B 执行** 本文档是「PURO AI 公开页面重设计」的设计 spec: -- **Stage 1(已完成 – brainstorm)**:信息架构 + 中文文案 + 风格方向 + 布局选型 -- **Stage 2(待执行 – user)**:拿本文档去 https://claude.ai/design 产出高保真视觉稿 -- **Stage 3(待执行 – Claude Code)**:把视觉稿翻译成 Vue 3 组件,对齐 Tailwind / router / i18n -- **Stage 4(待执行 – CI)**:merge → Drone CI → ai.puro.im 实机验证 +- **Stage 1(完成)**:信息架构 + 中文文案 + 风格方向 + 布局选型 +- **Stage 2(完成)**:在 claude.ai/design 出了 10 页视觉稿 + `puro.css` 设计系统,归档到 `docs/design-drafts/v2/` +- **Stage 3(本期范围)**:挑 **4 个页面** 落地 — Landing(精修版)、Login、Register、Docs(精简版)+ 设计 tokens 落地到 Tailwind +- **Stage 4**:merge → Drone CI → ai.puro.im 实机验证 + +## 本期范围决策(路径 B · 分层交付) + +### 本期做(feat/design-landing-auth) +1. **puro.css 落地为 Tailwind config + global styles**(`tailwind.config.ts` 扩展 color/radius/font;`puro.css` 挪成 `frontend/src/assets/puro.css` 全局引入) +2. **Landing 页**(路由 `/` 未登录态)· 6 段结构,**精修版文案**(见第 3 节) +3. **Login / Register 页** 套新左右分栏 + 保留现有 OAuth/Turnstile/2FA 逻辑 +4. **Docs 页精简版**(路由 `/docs`,公开访问)· 快速接入 + curl 示例 + 支持模型 + +### 二期做(另开 feat/design-dashboard 分支,不本期) +5. Dashboard 换皮(沿用 puro.css) +6. API Keys 管理页换皮 +7. Design System 页(给团队内部看的) + +### 永不做 / 远期再说 +- **Binding 页**:Claude Design 预设用户自己 BYO-Subscription 绑定,但 Sub2API 是 admin 统一管账号池,概念不符 +- **Pricing 页**:iShare 接管钱包/订阅后由 iShare 处理 +- 注册送 $5 / 充值阶梯赠送等"赠送经济"特性 --- @@ -54,17 +72,17 @@ --- -## 3. Landing 页(路由 `/`,未登录态) +## 3. Landing 页(路由 `/`,未登录态)· 精修版 -### 3.1 信息架构 +### 3.1 信息架构(6 段,剔除 Pricing/FAQ/CTA banner) ``` -NAV · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用] +NAV · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用 →] ① HERO · 主标 + 副标 + CTA×2 + 微文案 -② 模型墙 · 4 个支持的 AI 平台(Claude / ChatGPT / Codex / Gemini) +② 模型墙 · 4 个支持的 AI 平台 ③ 三特性 · ⚡ 一个 key 多模型 · 🔄 账号池高可用 · 📊 用量看板 ④ Code Demo · codex config 片段 + curl 示例 -⑤ Dashboard · 真实截图 + 文案 +⑤ Dashboard · 真实 mockup 预览(不用截图了,设计稿里是 HTML 渲染的) ⑥ Footer · 4 列(品牌 / 产品 / 资源 / 联系) ``` @@ -72,14 +90,15 @@ NAV · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用] #### NAV - Logo: `⬢ PURO AI` -- 菜单: 产品 · 文档 · 定价(暂隐) -- 右侧: `[登录]` `[免费试用 →]` +- 菜单: 产品 · 文档 +- 右侧: `[登录]`(边框)`[免费试用 →]`(cyan 实底;Nav 里保留注册入口,但 Hero CTA 不走这里) #### ① HERO - **主标**: 你的 AI 订阅,**已经付过钱了。** - **副标**: Claude Pro · ChatGPT Plus · Codex · Gemini 订阅
聚合成统一 API,零改动接入 OpenAI / Anthropic SDK -- **CTA**: `立即开始 →` `查看文档` -- **微文案**: 无需信用卡 · 用你已有的订阅 · 5 分钟跑通 +- **主 CTA**: `登录 →`(cyan 实底,已有账号用户直接进) +- **副 CTA**: `联系咨询`(边框,mailto:admin@puro.im 或未来跳 iShare 咨询页) +- **微文案**: 已验证可用 Codex CLI · Claude Code · curl · 服务器出口新加坡 #### ② 模型墙 - **小标题**: 支持的 AI 平台 @@ -95,7 +114,7 @@ NAV · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用] | 图标 | 标题 | 描述 | |---|---|---| | ⚡ | 一个 key 接所有模型 | 不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。| -| 🔄 | 账号池高可用 | 多账号自动调度。某个 ChatGPT Plus 触发限流,自动 failover 到下一个。重启、刷新 token 全自动。| +| 🔄 | 账号池高可用 | 支持多账号自动调度与 failover。某个上游触发限流 / 冷却时,流量切到下一个健康账号,token 刷新全自动。| | 📊 | 用量看板 | 每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。| #### ④ Code Demo @@ -120,13 +139,13 @@ NAV · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用] #### ⑤ Dashboard - **标题**: 每条请求都看得见 - **副**: 不像第三方 API 池子那种"扣了多少不告诉你"。你能看到每次调用:扣了哪个账号、跑了哪个模型、用了多少 tokens、花了多少钱、上游响应几秒。 -- **图**: 截图占位 → 实施时取 ai.puro.im 实拍(模型分布饼图 + Token 趋势 + Top 模型 + 性能指标) +- **图**: 使用 Claude Design v2 产出的 **纯 HTML 渲染 mockup**(stats grid + chart 卡片 + log table with provider dots),见 `docs/design-drafts/v2/Landing.html` 里 `#dashboard` 段。本期 Vue 翻译时保持静态数据,不对接真实 API。 #### ⑥ Footer | 列 | 内容 | |---|---| | 品牌 | ⬢ PURO AI
Self-hosted on puro.im
© 2026 puro.im · MIT License
fork of Wei-Shaw/sub2api | -| 产品 | 文档 · 套餐(暂隐)· 更新日志 | +| 产品 | 文档 · 更新日志 | | 资源 | GitHub · API 状态 · Codex 配置示例 | | 联系 | admin@puro.im · git.puro.im | @@ -201,7 +220,34 @@ NAV · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用] --- -## 5. 给 claude.ai/design 的 brief(Stage 2 输入) +## 4.5 Docs 页(新增 · 本期做精简版) + +路由 `/docs`,公开访问(不需登录)。沿用 puro.css 设计系统。 + +### 结构 + +``` +NAV (复用) +── HERO · "快速接入 PURO AI"(简短) +── § 1 · 获取 API key(流程说明:联系 admin / iShare) +── § 2 · Codex CLI 接入(config.toml 示例) +── § 3 · Claude Code 接入(~/.claude/settings.json 例) +── § 4 · curl 测试(/responses + /v1/messages 两段) +── § 5 · 支持的模型(列表:gpt-5.4, claude-opus-4-7, gemini-2.5-pro 等) +── § 6 · 问题反馈 mailto:admin@puro.im +FOOTER (复用) +``` + +### 文案原则 +- 代码块用 JetBrains Mono,带语法高亮 +- 每段开头 1-2 句说明,然后直接上代码,不啰嗦 +- 所有 base_url 用真实值:`https://ai.puro.im` + +--- + +## 5. 给 claude.ai/design 的 brief(Stage 2 输入,**已执行完成 · 历史参考**) + +> ⚠️ **此节是喂给 Claude Design 的原始 brief**,Claude Design 已按此产出 10 个页面。Stage 2 之后**内容精修 + 范围剪裁**以第 3/4/4.5 节为准,本节仅作历史存档。 复制下方文字到 https://claude.ai/design: @@ -317,6 +363,26 @@ CTA:[立即开始 →][查看文档] --- +## 5.5 Stage 2 产出清单(已完成,参考用) + +`docs/design-drafts/v2/` 目录下: + +| 文件 | 用途 | 本期用 | +|---|---|---| +| `puro.css` | 设计系统(tokens + primitives .btn/.card/.input 等) | ✅ 全站落地 | +| `Landing.html` | 营销首页(7 段,我们只取 6 段) | ✅ 参考翻译 | +| `Login.html` | 登录页 | ✅ 参考翻译 | +| `Register.html` | 注册页 | ✅ 参考翻译 | +| `Docs.html` | 文档页(精简版参考) | ✅ 参考翻译 | +| `Dashboard.html` | 控制台首页 | ⏳ 二期 | +| `API Keys.html` | Key 管理 | ⏳ 二期 | +| `Design System.html` | 设计系统展示页 | ⏳ 二期(给团队看)| +| `Binding.html` | 订阅绑定 | ❌ 不做(架构不符)| +| `Pricing.html` | 定价 | ❌ 不做(iShare 管) | +| `HANDOFF.md` | 交付文档(含后端契约,部分不适用) | 参考但不全部实现 | + +--- + ## 6. Stage 3 实施约束(给未来的我看) 技术栈(不改动): @@ -327,22 +393,30 @@ CTA:[立即开始 →][查看文档] - 现有组件库(`@/components/common`、`@/components/layout/AuthLayout`) 实施要点: -1. **Landing 页是新页**:新建 `frontend/src/views/landing/HomeView.vue`;改 `router/index.ts`,未登录访问 `/` 显示 landing,已登录跳 `/dashboard` -2. **Auth 页改造**:改 `frontend/src/components/layout/AuthLayout.vue` 为左右分栏;改 `LoginView.vue` / `RegisterView.vue` 适配新 layout,**保留所有现有逻辑**(OAuth、Turnstile、2FA、表单校验) -3. **i18n**:新文案进 `frontend/src/i18n/locales/zh.ts`;本期只补中文(默认语言),英文 key 留空 / 复用现有 -4. **Tailwind 配色**:如果新色值不在 `tailwind.config` 里,按需扩展 `colors.brand` / `colors.accent` -5. **Dashboard 截图**:实施时手动截 ai.puro.im 后台 → 放 `frontend/public/landing/dashboard.png` -6. **不动的**:Setup Wizard / 后台所有页面 / API 层 / store +1. **puro.css 落地**: + - CSS 变量(--bg-0 等)保留作为全局 tokens,挪到 `frontend/src/assets/puro.css` + - `main.ts` 里 `import './assets/puro.css'` + - 在 `tailwind.config.ts` 的 `theme.extend.colors` 里同步一份 cyan/purple/amber/provider 色值,方便 Vue 组件里用 Tailwind class + - primitives(.btn / .card / .input)可作为全局 class 直接用,也可以包 Vue 组件;**本期直接用 class,不抽组件** +2. **Landing 页是新页**:新建 `frontend/src/views/landing/HomeView.vue`;改 `router/index.ts`,未登录访问 `/` 显示 landing,已登录跳 `/dashboard` +3. **Auth 页改造**:改 `frontend/src/components/layout/AuthLayout.vue` 为左右分栏;改 `LoginView.vue` / `RegisterView.vue` 适配新 layout,**保留所有现有逻辑**(OAuth、Turnstile、2FA、表单校验) +4. **Docs 页是新页**:新建 `frontend/src/views/docs/DocsView.vue`,路由 `/docs`,public 可访问 +5. **i18n**:新文案进 `frontend/src/i18n/locales/zh.ts`;本期只补中文(默认语言),英文 key 留空 / 复用现有 +6. **Dashboard mockup in Landing**:直接按 Claude Design 的 HTML 翻成 Vue 静态标记(不对接真实数据,纯展示) +7. **不动的**:Setup Wizard / 后台所有页面 / API 层 / store --- ## 7. 验收标准 +- [ ] `puro.css` 已引入为全局样式,CSS 变量在 DevTools :root 可见 - [ ] 未登录访问 https://ai.puro.im/ → 看到 PURO AI Landing 页 - [ ] 已登录访问 https://ai.puro.im/ → 跳到 /dashboard(保持现有行为) - [ ] Landing 6 个 section 内容全部呈现,移动端可堆叠 +- [ ] Landing 的 ⑤ Dashboard mockup 是静态 HTML 渲染,不依赖真实数据 - [ ] /login 是左右分栏布局,文案与 spec 一致 - [ ] /register 同上 +- [ ] /docs 可公开访问,包含 curl 示例、Codex CLI 配置、Claude Code 配置 - [ ] 所有现有 auth 功能(OAuth、Turnstile、2FA、密码重置)仍可用 - [ ] 后台所有页面(dashboard、账号管理、API key 等)外观不变 - [ ] CI 构建通过,部署后 ai.puro.im 加载正常 -- 2.49.1 From 3a16b3ecdef9ace1791f2c0ca65bf91a65055548 Mon Sep 17 00:00:00 2001 From: puro design Date: Sun, 19 Apr 2026 18:05:27 +0800 Subject: [PATCH 03/20] docs: archive Claude Design v2 output [CI SKIP] 10 HTML pages + puro.css + HANDOFF.md + 2 images (~810KB total). Reference artifacts for Stage 3 Vue 3 translation. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 1 + docs/design-drafts/Landing.html | 1183 ++++++++++++++ docs/design-drafts/Login.html | 689 ++++++++ docs/design-drafts/Register.html | 734 +++++++++ docs/design-drafts/v2/API Keys.html | 637 ++++++++ docs/design-drafts/v2/Binding.html | 561 +++++++ docs/design-drafts/v2/Dashboard.html | 770 +++++++++ docs/design-drafts/v2/Design System.html | 670 ++++++++ docs/design-drafts/v2/Docs.html | 623 ++++++++ docs/design-drafts/v2/HANDOFF.md | 222 +++ docs/design-drafts/v2/Landing.html | 1423 +++++++++++++++++ docs/design-drafts/v2/Login.html | 351 ++++ docs/design-drafts/v2/Pricing.html | 472 ++++++ docs/design-drafts/v2/Register.html | 386 +++++ docs/design-drafts/v2/puro.css | 726 +++++++++ .../v2/uploads/pasted-1776589344748-0.png | Bin 0 -> 345462 bytes .../v2/uploads/pasted-1776589408607-0.png | Bin 0 -> 187592 bytes 17 files changed, 9448 insertions(+) create mode 100644 docs/design-drafts/Landing.html create mode 100644 docs/design-drafts/Login.html create mode 100644 docs/design-drafts/Register.html create mode 100644 docs/design-drafts/v2/API Keys.html create mode 100644 docs/design-drafts/v2/Binding.html create mode 100644 docs/design-drafts/v2/Dashboard.html create mode 100644 docs/design-drafts/v2/Design System.html create mode 100644 docs/design-drafts/v2/Docs.html create mode 100644 docs/design-drafts/v2/HANDOFF.md create mode 100644 docs/design-drafts/v2/Landing.html create mode 100644 docs/design-drafts/v2/Login.html create mode 100644 docs/design-drafts/v2/Pricing.html create mode 100644 docs/design-drafts/v2/Register.html create mode 100644 docs/design-drafts/v2/puro.css create mode 100644 docs/design-drafts/v2/uploads/pasted-1776589344748-0.png create mode 100644 docs/design-drafts/v2/uploads/pasted-1776589408607-0.png diff --git a/.gitignore b/.gitignore index 2173b7ea..b07cd286 100644 --- a/.gitignore +++ b/.gitignore @@ -130,6 +130,7 @@ docs/* !docs/PAYMENT.md !docs/PAYMENT_CN.md !docs/superpowers/ +!docs/design-drafts/ .superpowers/ .serena/ .codex/ diff --git a/docs/design-drafts/Landing.html b/docs/design-drafts/Landing.html new file mode 100644 index 00000000..4442b254 --- /dev/null +++ b/docs/design-drafts/Landing.html @@ -0,0 +1,1183 @@ + + + + +PURO AI — 你的 AI 订阅,已经付过钱了 + + + + + + + + +
+
+ + + + + +
+
+ NEW + 统一接入多个 AI 平台 · 零改动切换 +
+

你的 AI 订阅,
已经付过钱了。

+

+ Claude Pro · ChatGPT Plus · Codex · Gemini 订阅
+ 聚合成统一 API,零改动接入 OpenAI / Anthropic SDK +

+ +
+ 无需信用卡 + + 用你已有的订阅 + + 5 分钟跑通 +
+
+ + +
+
+
// providers
+

支持的 AI 平台

+

通过 OAuth 直接复用你的订阅,无需申请官方 API key

+
+
+
+ + +
Claude
+
Pro / Max
+
+
+ + +
ChatGPT
+
Plus / Pro
+
+
+ + +
Codex CLI
+
OpenAI
+
+
+ + +
Gemini
+
Code Assist
+
+
+ + +
更多
+
即将推出
+
+
+
+ + +
+
+
// features
+

付一次订阅,
用起一整个模型池

+

把散落在各个平台的订阅,整合成开发者真正能用的基础设施

+
+
+
+
+

一个 key 接所有模型

+

不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。

+
    +
  • OpenAI Responses API 兼容
  • +
  • Anthropic Messages API 兼容
  • +
  • 智能 model → provider 路由
  • +
+
+
+
🔄
+

账号池高可用

+

多账号自动调度。某个 ChatGPT Plus 触发限流,自动 failover 到下一个。重启、刷新 token 全自动。

+
    +
  • 限流/5xx 自动 failover
  • +
  • OAuth token 自动刷新
  • +
  • 加权轮询 · 最少连接
  • +
+
+
+
📊
+

用量看板

+

每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。

+
    +
  • 逐请求审计日志
  • +
  • 多维度 tokens / cost 统计
  • +
  • 导出 CSV / 接 Webhook
  • +
+
+
+
+ + +
+
+
// integration
+

把 base_url 一改,就能用

+

兼容 OpenAI / Anthropic / Gemini SDK,零代码改动

+
+ +
+
+
+
+
~/.codex/config.toml
+
curl.sh
+
● edited 2s ago
+
+
1# Codex CLI — 只改 base_url 就能走 PURO
2model_provider = "puro"
3model = "gpt-5-codex"
4
5[model_providers.puro]
6 name = "PURO AI"
7 base_url = "https://ai.puro.im/v1"
8 wire_api = "responses"
9 env_key = "PURO_API_KEY" # export PURO_API_KEY=sk-puro-…
+
+ +
+
+
+
curl.sh
+
zsh · puro ≈ 210ms
+
+
1$ curl https://ai.puro.im/v1/chat/completions \
2 -H "Authorization: Bearer $PURO_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "model": "claude-sonnet-4-5", # 自动路由到 Claude Pro 池
6 "stream": true,
7 "messages": [{ "role": "user", "content": "写一个斐波那契" }]
8 }'
9
10# ← event: content_block_delta · account=claude-3 · 187ms · 42 tok
+
+
+ +
+ 支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket +
+
+ + +
+
+
// observability
+

每条请求都看得见

+

+ 不像第三方 API 池子那种"扣了多少不告诉你"。你能看到每次调用:扣了哪个账号、跑了哪个模型、用了多少 tokens、花了多少钱、上游响应几秒。 +

+
+ +
+
+
+
ai.puro.im/dashboard
+
me@puro
+
+
+ +
+
+
+
Requests · 24h
+
18,294
+
▲ 12.4%
+
+
+
Tokens · 24h
+
4.7M
+
▲ 8.1%
+
+
+
Avg latency
+
312ms
+
▼ 4.2%
+
+
+
Est. savings
+
$847
+
vs. pay-as-you-go
+
+
+ +
+
+
+ Requests over time +
+ Claude + GPT + Gemini +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + 00:00 + 06:00 + 12:00 + 18:00 + now + + +
+
+
+ Model distribution + · 24h +
+ +
+ + + + + + + + + + + +
+
Claude48%
+
GPT32%
+
Gemini14%
+
Codex6%
+
+
+
+
+ +
+
+
Recent requests
+
live · 12 of 18,294
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TimeProviderModelTokensCostLatencyStatus
13:42:18claude-3sonnet-4-52,847$0.042213ms● 200
13:42:11gpt-plus-7gpt-5-codex1,204$0.018167ms● 200
13:42:03gemini-2gemini-2.5-pro4,102$0.000392ms● 200
13:41:58claude-1sonnet-4-56,318$0.095284ms● 429 → failover
13:41:49gpt-plus-2gpt-5892$0.013141ms● 200
+
+
+
+
+ + +
+

把订阅变成 API — 5 分钟

+

绑定第一个账号,生成 sk- key,把 base_url 指过来。就这些。

+ +
+
+ + + + + + diff --git a/docs/design-drafts/Login.html b/docs/design-drafts/Login.html new file mode 100644 index 00000000..36c3a207 --- /dev/null +++ b/docs/design-drafts/Login.html @@ -0,0 +1,689 @@ + + + + +登录 — PURO AI + + + + + + + + +
+ +
+
+
+ + +
+
// 你的订阅,已经付过钱了
+

+ N 个订阅 + + 1 个 key +

+
+ 省去切换账号的繁琐, + 省去为多个高昂订阅重复买单。 + PURO(纯粹)—— 让 AI 调用回归本质。 +
+ +
+
POST /v1/chat/completions
+
model claude-sonnet-4-5
+
route → claude-pool-03
+
status 200 · 213ms · 42 tok
+
+
+ +
+ Claude· + ChatGPT· + Codex· + Gemini + | + ai.puro.im · operational +
+
+
+ + +
+ ← 返回首页 + +
+

登录

+

用你的 PURO AI 账户继续

+ +
+ +
+ + + + + + + +
+
+ +
+ +
+ + + + + + + + +
+
+ + 忘记密码? +
+
+ + + +
OR
+ + + +
+ 没有账户?注册 +
+ + +
+
+
+ + + + + diff --git a/docs/design-drafts/Register.html b/docs/design-drafts/Register.html new file mode 100644 index 00000000..65b6c67c --- /dev/null +++ b/docs/design-drafts/Register.html @@ -0,0 +1,734 @@ + + + + +注册 — PURO AI + + + + + + + + +
+ +
+
+
+ + +
+
// 5 分钟开始用
+

+ N 个订阅 + + 1 个 key +

+
+ 省去切换账号的繁琐, + 省去为多个高昂订阅重复买单。 + PURO(纯粹)—— 让 AI 调用回归本质。 +
+ +
+
// 下一步
+
+
1
+
创建账户 · 邮箱 + 密码,或用 LinuxDO OAuth
+
+
+
2
+
绑定订阅 · OAuth 接入你现有的 Claude Pro / ChatGPT Plus
+
+
+
3
+
生成 key · 拿到 sk-puro-… 换掉 SDK 的 base_url
+
+
+
+ +
+ Claude· + ChatGPT· + Codex· + Gemini + | + 无需信用卡 · 永久免费 Hobby 套餐 +
+
+
+ + +
+ ← 返回首页 + +
+

创建账户

+

5 分钟开始用 PURO AI

+ +
+ +
+ + + + + + + + + + + + +
+
+ +
+ +
+ + + + + + + + +
+
+ +
+
+ // strength + +
+
+ +
+ +
+ + + + + + + + + + + + +
+
+
+ + + + + +
OR
+ + + +
+ 已有账户?登录 +
+ + +
+
+
+ + + + + diff --git a/docs/design-drafts/v2/API Keys.html b/docs/design-drafts/v2/API Keys.html new file mode 100644 index 00000000..6fff1177 --- /dev/null +++ b/docs/design-drafts/v2/API Keys.html @@ -0,0 +1,637 @@ + + + + + +API Keys — PURO AI + + + + + + + + +
+ +
+ + + +
+
+

API Keys

+
+
Zzane
+
+
+ +
+
+
+

API Keys

+
每个 key 是一张独立的"通行证",可以单独设置可用的订阅池、限速和预算,泄漏时可以直接吊销而不影响其他 key。
+
+ +
+ + +
+
+
活跃 Keys
+
3/ 10 上限
+
+
+
近 7 日调用
+
89,402
+
+
+
近 7 日花费
+
$24.18USD
+
+
+
已吊销
+
2
+
+
+ + +
+ + + +
+ +
+ + +
+ +
+
+
+ production + ACTIVE +
+
+ created 2026·03·14 + · + last used 2m ago + · + ● in use +
+
+ + + +
+
+ +
+ sk-puro- + ••••••••••••••••••••••••4f82 + 👁 显示 + 复制 +
+ +
+
+
可用订阅池
+
+ claude · 2 + gpt · 2 + gemini · 1 +
+
+
+
本月用量
+
$14.82 / $50
+
+
+
+
速率限制
+
120 RPM
+
+
+
关联应用
+
+ Claude Code + Cursor +
+
+
+
+ +
+
+
+ staging + RATE LIMITED +
+
+ created 2026·04·02 + · + last used 3h ago +
+
+ + + +
+
+
+ sk-puro- + ••••••••••••••••••••••••ae19 + 👁 显示 + 复制 +
+
+
+
可用订阅池
+
+ all pools +
+
+
+
本月用量
+
$8.24 / $10
+
+
+
+
速率限制
+
30 RPM
+
+
+
关联应用
+
+ 本地开发 +
+
+
+
+ +
+
+
+ cli-personal + ACTIVE +
+
+ created 2026·04·11 + · + last used 18h ago +
+
+ + + +
+
+
+ sk-puro- + ••••••••••••••••••••••••c3d1 + 👁 显示 + 复制 +
+
+
+
可用订阅池
+
+ claude · 1 +
+
+
+
本月用量
+
$1.12 / 无限制
+
+
+
+
速率限制
+
60 RPM
+
+
+
关联应用
+
+ Terminal +
+
+
+
+ + +
+
+
+ old-demo + REVOKED +
+
+ revoked 2026·03·02 +
+
+
+ sk-puro- + ••••••••••••••••••••••••0ab3 +
+
+
+
+
+
+ + +
+ +
+ + + diff --git a/docs/design-drafts/v2/Binding.html b/docs/design-drafts/v2/Binding.html new file mode 100644 index 00000000..a89dd567 --- /dev/null +++ b/docs/design-drafts/v2/Binding.html @@ -0,0 +1,561 @@ + + + + + +绑定订阅 — PURO AI + + + + + + + + +
+ +
+ + +
+
+ + + 返回 Dashboard + +
+
Zzane
+
+
+ +
+
+
+
// 绑定订阅 · 3 步完成
+

把你已有的 AI 订阅,变成 API

+

我们支持 OAuth 授权和 Cookie 托管两种方式接入 Claude / ChatGPT / Gemini。所有凭证使用 AES-256 加密存储,你可以随时一键解绑。

+
+ + +
+
+ + 选择平台 +
+
+
+ 2 + 授权绑定 +
+
+
+ 3 + 完成 & 加入池 +
+
+ + +
+
+ +
Claude
+
Anthropic · OAuth
+
+ Pro · $20 + Max · $100 + Team +
+
+ +
+ +
ChatGPT
+
OpenAI · OAuth + Cookie
+
+ Plus · $20 + Pro · $200 + Team +
+
+ +
+ +
Gemini
+
Google · Cookie
+
+ Advanced · $20 + Workspace +
+
+
+ + +
+
+ +
+

绑定 ChatGPT 账号

+
支持 Plus / Pro / Team · 接入后可用 gpt-5 / gpt-5-codex / gpt-4.1
+
+ + + AES-256 加密存储 + +
+ +
+ + +
+ 订阅档位 +
+
+
+
Plus
+
$20/月
+
~500k tokens · 约值 $0.08/k
+
+
+
Pro
+
$200/月
+
~5M tokens · 约值 $0.04/k
+
+
+
Team
+
$30/user
+
按席位池化,稳定性更高
+
+
+ + +
+

绑定方式 选择一种即可 · 可以在绑定后随时更换

+
+
+
+ OAuth 授权登录 + 推荐 +
+
+ 跳转到 ChatGPT 登录页,登录后自动回跳。不经过我们的密码表单,最接近"官方授权"体验。 +
+
+ 点击跳转 + ChatGPT 登录 + 授权回调 + 加入池 +
+
+ +
+
+ 粘贴 Session Cookie + 兼容模式 +
+
+ 用浏览器扩展一键导出 __Secure-next-auth.session-token 并粘贴到这里。适合多账号批量绑定。 +
+
+ 安装扩展 + 登录 chatgpt.com + 导出 cookie + 粘贴绑定 +
+
+
+ + +
+ + + + +
+ + + PURO + + chatgpt.com/oauth + + PURO +
+
约 15 秒
+
+
+ + +
+

本次绑定预览 授权成功后会自动加入池

+
+
+ + gpt-plus-7 + 加入 GPT 池 +
+
+ + gpt-plus-8 + 加入 GPT 池 +
+
+
+ + +
+
+ + 凭证仅用于代理请求,不会用于训练或泄露给第三方。 +
+
+ 稍后再说 + +
+
+
+
+ +
+
+
+
+ + diff --git a/docs/design-drafts/v2/Dashboard.html b/docs/design-drafts/v2/Dashboard.html new file mode 100644 index 00000000..3f3da566 --- /dev/null +++ b/docs/design-drafts/v2/Dashboard.html @@ -0,0 +1,770 @@ + + + + + +Dashboard — PURO AI + + + + + + + + + +
+ +
+ + + + + +
+
+ + +
+ + +
+ Z + zane + +
+
+
+ +
+ + +
+ + + + 你还有 2 个 Claude Pro 订阅未绑定 —— 绑定后立即享受多账号 failover 和请求加权调度。 + 去绑定 → + +
+ + +
+
+

Dashboard

+
欢迎回来 Zane · workspace zane-personal
+
+
+
+ + + + + +
+ +
+
+ + +
+ POST + https://ai.puro.im/v1/chat/completions + 复制 + · + 查看文档 +
+ + +
+
+ 充值 → +
余额
+
$182.40USD
+
按当前节奏约 23 天
+
+
+
今日请求
+
12,847
+
▲ 18.2% vs 昨日
+ + + +
+
+
消耗 Tokens
+
4.82M
+
▲ 12.5%
+ + + +
+
+
平均延迟
+
214ms
+
▲ 4.1% vs 昨日
+ + + +
+
+ + +
+
+
+ 请求趋势 +
+ Claude + GPT + Gemini +
+
+ + + + + + + + + + + + + + + + + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + + + + + + + Fri · 16:00 + Claude 3,824 + + +
+ +
+
+ 模型分布 + 7d +
+
+ + + + + + + +
+
Claude48%
+
GPT32%
+
Gemini14%
+
Codex6%
+
+
+
+
+ + +
+ +
+
+

订阅账号池

+ 查看全部 → +
+
+
+ +
claude-pool-01Pro · OAuth
+
+ healthy +
+
+ +
claude-pool-02Max · OAuth
+
+ healthy +
+
+ +
gpt-plus-7Plus · OAuth
+
+ near limit +
+
+ +
gpt-plus-8Pro · OAuth
+
+ healthy +
+
+ +
gemini-adv-01Advanced
+
+ healthy +
+
+ +
claude-pool-03Pro · expired
+
+ ● offline +
+ + + 绑定新订阅 + +
+
+ + +
+
+

最近请求

+ live · 12 of 18,294 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TIMEACCOUNTMODELTOKENSCOSTSTATUS
13:42:18claude-pool-01sonnet-4-52,847$0.042200 · 213ms
13:42:11gpt-plus-7gpt-5-codex1,204$0.018200 · 167ms
13:42:03gemini-adv-01gemini-2.5-pro4,102$0.000200 · 392ms
13:41:58claude-pool-02sonnet-4-56,318$0.095200 · 288ms
13:41:49gpt-plus-7gpt-5892$0.013429 · retry
13:41:42gpt-plus-8gpt-5892$0.013200 · 198ms
13:41:35claude-pool-01haiku-4-5512$0.004200 · 98ms
13:41:28gemini-adv-01gemini-2.5-flash1,824$0.000200 · 156ms
+
+
+ +
+
+
+ + + diff --git a/docs/design-drafts/v2/Design System.html b/docs/design-drafts/v2/Design System.html new file mode 100644 index 00000000..742109c0 --- /dev/null +++ b/docs/design-drafts/v2/Design System.html @@ -0,0 +1,670 @@ + + + + + +Design System — PURO AI + + + + + + + + + +
+
+ + + +
+ + +
+
// design system · v1.0
+

PURO AI Design System

+

一套用来构建 PURO AI 所有界面的原子 token 和组件。产品的视觉语言围绕「开发者工具 · 深色为主 · 青色作为行动色 · JetBrains Mono 强调技术感」展开。

+
+ tokens · 29 + components · 22 + last updated · 2026.04.19 +
+
+ +
+ + +
+ + +
+

01Brand Lockup

+

六边形 + 内部实心菱形 — 代表"订阅被聚合成一个 key"。单色在小尺寸下使用,大尺寸下保留内描边增加分量。

+
+ + + + +
PURO.
+
+
+ + +
+

02Colors

+

所有颜色都以 CSS variables 定义在 puro.css。青色 (cyan) 是唯一的品牌色,其他颜色仅承担语义职责(success / warn / danger)。

+ +
Surfaces
+
+
bg-0
#0a0e1a
page
+
bg-1
#0f172a
raised
+
bg-2
#111827
card alt
+
bg-code
#020617
code
+
border
#1e293b
hairline
+
border-2
#334155
strong
+
+ +
Text
+
+
text-0
#f8fafc
primary
+
text-1
#cbd5e1
body
+
text-2
#94a3b8
muted
+
text-3
#64748b
hint
+
+ +
Accents
+
+
cyan
#22d3ee
primary / cta
+
purple
#a855f7
secondary glow
+
amber
#fbbf24
warn / featured
+
green
#34d399
success / 200
+
red
#f87171
error / 5xx
+
orange
#fb923c
flag / highlight
+
+ +
Provider Brand Dots
+
+
claude
#d97757
Anthropic
+
gpt
#10a37f
OpenAI
+
gemini
#4285f4
Google
+
codex
#f0a030
Codex
+
+
+ + +
+

03Typography

+

主字体 Inter · 等宽 JetBrains Mono。等宽仅用于代码、数据、时间戳、状态徽标,以强化开发者语境。

+ +
+
display · 56/64 · 800
+
你的 AI 订阅
+
+
+
h1 · 40/48 · 700
+
统一接入 API
+
+
+
h2 · 28/36 · 700
+
付一次,用一池
+
+
+
h3 · 18/26 · 600
+
多账号自动调度
+
+
+
body · 14/22 · 400
+
OAuth 绑定账号,零改动切换 base_url,沿用你习惯的 SDK。
+
+
+
caption · 12/18 · 400
+
某个 ChatGPT Plus 触发限流会自动 failover。
+
+
+
mono · 13 · 500
+
curl https://ai.puro.im/v1/chat/completions
+
+
+
kicker · mono · 12 · caps
+
// section kicker
+
+
+ + +
+

04Spacing Scale

+

4px 基线的 8 / 12 / 16 / 20 / 24 / 32 / 48 / 64 scale。页面垂直节奏用 32/48/64/96,卡片内部用 16/20/24。

+
+
4px
gap-xs · pill 间隔
+
8px
gap-sm · icon 内外距
+
12px
gap · 卡片网格
+
16px
stack-sm · 主要网格
+
20px
form field
+
24px
card padding
+
32px
content padding
+
48px
section break
+
64px
section head gap
+
96px
landing section
+
+
+ + +
+

05Radius & Shadow

+
+
6px
--r-sm
+
8px
--r-md (button, input)
+
12px
--r-lg (card)
+
16px
--r-xl (hero card)
+
+
Elevation
+
+
+
--shadow-lg
+
卡片悬浮 · 代码面板
+
+
+
--shadow-xl
+
仪表盘大图 · 对话框
+
+
+
+ + +
+

06Buttons

+

唯一的主色按钮 Primary(青色),其余都是 Ghost/Subtle。没有多种 primary —— 让每个页面最重要的那个 CTA 足够显眼。

+ +
Variants
+
+
+ + + + + +
+
+ +
Sizes
+
+
+ + + + +
+
+ +
Loading
+
+
+ + +
+
+
+ + +
+

07Badges

+
+
+ NEW + BETA + LIMITED + ACTIVE + EXPIRED + DRAFT +
+
+
+ + +
+

08Chips & Status

+

chip 用于在代码块周围承载"路由/参数/标签"信息,status-chip 是一个绝对定位的单像素点,用于显示账号/节点在线状态。

+
+
+ claude-pool-03 + gpt-plus-7 + gemini-2 + codex-pool-01 + 200 · 213ms +
+
+ OpenAI SDK + Anthropic SDK + /v1/chat/completions +
+
+
+ + +
+

09Form Fields

+
+
+
+ +
+ + + + +
+
默认 · 空态
+
+
+ + +
✓ 可用
+
+
+ + +
密码至少 8 位,包含数字和字母
+
+
+ + +
+
+ +
+ + +
+
+
+ + +
+

10Cards

+
+
+
// default
+
标准卡片
+
用于所有常规内容容器,12px 圆角 + 1px border。
+
+
+
// hover
+
可交互卡片
+
hover 时向上位移 2px,border 加深。
+
+
+
// raised
+
Raised 卡片
+
不透明背景,用于浮层/仪表盘主体。
+
+
+
+ + +
+

11Tables

+

主要用于请求日志、API Key 列表、计费记录。数字列一律等宽 tabular-nums。

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TIMEACCOUNTMODELTOKENSCOSTSTATUS
13:42:18claude-3sonnet-4-52,847$0.042200
13:42:11gpt-plus-7gpt-5-codex1,204$0.018200
13:42:03gemini-2gemini-2.5-pro4,102$0.000429
+
+
+ + +
+

12Code Frame

+
+
+
+ zsh · puro ≈ 210ms +
+
1# OpenAI SDK · 零改动
2from openai import OpenAI
3
4client = OpenAI(
5 base_url="https://ai.puro.im/v1",
6 api_key="sk-puro-••••",
7)
+
+
+ + + + +
+
+ +
+ PURO AI · Design System v1.0 + © 2026 · built with puro.css +
+
+ + + diff --git a/docs/design-drafts/v2/Docs.html b/docs/design-drafts/v2/Docs.html new file mode 100644 index 00000000..6f0d793a --- /dev/null +++ b/docs/design-drafts/v2/Docs.html @@ -0,0 +1,623 @@ + + + + + +Docs — PURO AI + + + + + + + + +
+ + + +
+ + + + +
+
+ Docs / + Getting Started / + 快速开始 +
+ +

快速开始

+

+ PURO AI 提供一个统一的 OpenAI 兼容端点 —— 你已有的 SDK 代码只需要改 base_urlapi_key 两行,就能用上你绑定的 Claude / ChatGPT / Gemini 订阅。整个过程通常不超过 5 分钟。 +

+ + +
+
+
STEP 01
+

绑定订阅

+

授权你的 Claude / ChatGPT 账号加入池。

+
+
+
STEP 02
+

创建 API Key

+

为每个客户端生成独立的 sk-puro-* key。

+
+
+
STEP 03
+

切换 base_url

+

改两行代码,剩下和官方 SDK 一模一样。

+
+
+ +

① 绑定你的订阅

+

+ 进入 Dashboard → 订阅账号 → 绑定新订阅,选择平台后通过 OAuth 一键授权。每个订阅都会被加入对应的"池",同一池内的请求会自动做负载均衡、限流回退和故障转移。 +

+
+ + + +
+ 凭证通过 AES-256 加密存储在隔离的 KMS 中。我们只会用它代理你发出的请求 —— 不会进入训练数据、不会做二次分发。详见 数据隐私。 +
+
+ +

② 创建 API Key

+

+ 在 Dashboard → API Keys → 创建 Key 生成一个 sk-puro-* 的 key。建议每个客户端 / 环境单独一个 key,泄漏时可以直接吊销而不影响其他场景。 +

+ +

③ 发送第一个请求

+

PURO AI 同时兼容 OpenAI 和 Anthropic 的 API 格式。按你原来在用的 SDK 风格选择对应的代码示例即可:

+ +
+
+
+ + + + +
+ ⧉ 复制 +
+
# pip install openai
+from openai import OpenAI
+
+client = OpenAI(
+    base_url="https://ai.puro.im/v1",
+    api_key="sk-puro-YOUR_KEY",
+)
+
+resp = client.chat.completions.create(
+    model="claude-sonnet-4-5",       # 可直接写任意平台的模型名
+    messages=[
+        {"role": "user", "content": "hi, who am I talking to?"}
+    ],
+)
+
+print(resp.choices[0].message.content)
+
+
+ +

返回结构完全符合 OpenAI 格式,可以无缝对接任何基于 OpenAI SDK 的应用(Cursor / Continue / Cline / Roo Code / Open WebUI …)。

+ +

可用模型

+

绑定后,下列模型都可以直接用 model 字段调用 —— PURO 会根据模型自动路由到对应的订阅池。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MODELPROVIDER上下文状态
claude-sonnet-4-5ClaudePro / Max200kOK
claude-opus-4ClaudeMax200kOK
claude-haiku-4-5ClaudePro / Max200kOK
gpt-5ChatGPTPlus / Pro128kOK
gpt-5-codexChatGPTPlus / Pro128kOK
gemini-2.5-proGeminiAdvanced1MBETA
gemini-2.5-flashGeminiAdvanced1MOK
+ +

支持的 base_url

+

每种格式都提供独立的 base_url —— 如果你在用原生 Anthropic / Google SDK,请选择对应格式以获得最完整的字段兼容:

+ +
    +
  • https://ai.puro.im/v1 — OpenAI 兼容格式(推荐,覆盖 95% 场景)
  • +
  • https://ai.puro.im/anthropic — Anthropic Messages 格式(原生 Claude SDK)
  • +
  • https://ai.puro.im/google — Google GenAI 格式(原生 Gemini SDK)
  • +
+ +
+ + + +
+ 一个 sk-puro-* 可以同时用于三种 base_url —— 鉴权和计费是统一的,你不需要为不同 SDK 维护多个 key。 +
+
+ +

下一步

+

把 PURO 接入到你常用的工具:

+ + + + +
+ + + +
+ + diff --git a/docs/design-drafts/v2/HANDOFF.md b/docs/design-drafts/v2/HANDOFF.md new file mode 100644 index 00000000..d45b71f5 --- /dev/null +++ b/docs/design-drafts/v2/HANDOFF.md @@ -0,0 +1,222 @@ +# PURO AI · 设计交付文档 + +> 把已有的 Claude / ChatGPT / Codex / Gemini 订阅聚合成统一 API · 让"已经付过钱的订阅"真正可编程 + +本文档面向**接手实现这套设计的工程团队 / Coding Agent**,说明每个 HTML 文件的用途、数据契约、交互逻辑,以及与后端的对接点。 + +--- + +## 0. 文件清单 + +| 文件 | 类型 | 说明 | +|---|---|---| +| `Landing.html` | 营销首页 | 未登录入口 · Hero / 模型墙 / 功能 / 代码示例 / Dashboard 预览 / Pricing / FAQ | +| `Pricing.html` | 定价页 | 完整定价 + 成本估算器 + 工具兼容墙 + 10 条 FAQ | +| `Docs.html` | 文档 | 快速开始 / 模型列表 / API 参考 / 各客户端配置 | +| `Login.html` | 登录 | 左侧叙事 + 右侧表单 · 支持 LinuxDO OAuth | +| `Register.html` | 注册 | 带密码强度 · 下一步引导 · 送 $5 | +| `Binding.html` | 订阅绑定 | 核心差异化流程 · OAuth 接入 Claude Pro / ChatGPT Plus | +| `Dashboard.html` | 控制台首页 | 余额 / 用量图表 / 近期请求 / 订阅池状态 | +| `API Keys.html` | Key 管理 | 创建 / 吊销 / 预算限制 / 模型白名单 | +| `Design System.html` | 设计系统 | 色板 / 字号 / 组件索引 | +| `puro.css` | 全站样式 | 所有页面共用的 tokens + primitives(.btn / .pill / .tag / .input 等) | + +**所有页面必须首行 meta:** `` —— 防止浏览器 auto-darken 覆盖 cyan 按钮。 + +--- + +## 1. 设计 Tokens(见 `puro.css`) + +``` +--bg-0: #0a0e1a 页面底 +--bg-1: #0f172a raised +--bg-2: #111827 card alt +--bg-code: #020617 代码面板 + +--border: #1e293b +--border-2:#334155 +--border-3:#475569 + +--text-0: #f8fafc 主 +--text-1: #cbd5e1 次 +--text-2: #94a3b8 说明 +--text-3: #64748b 弱 + +--cyan: #22d3ee 主强调(primary btn / 链接 / 数据点) +--cyan-2: #67e8f9 hover +--purple: #a855f7 次强调 / 装饰 +--amber: #fbbf24 提醒 / 限时标签 +--green: #34d399 成功 / 在线 +--red: #f87171 错误 / 危险 +``` + +字体:`Inter`(正文)+ `JetBrains Mono`(所有数值 / 代码 / 元信息)。 +圆角:`--r-sm 6px / --r-md 8px / --r-lg 12px / --r-xl 16px`。 + +--- + +## 2. 页面 → 后端契约 + +### 2.1 Landing · 无后端依赖(纯营销) +锚点:`#pricing` / `#faq` / `#features` / `#code` / `#dashboard`。注册 CTA → `Register.html`。 + +### 2.2 Register +提交表单需要 **后端返回**: +``` +POST /auth/register +{ email, password, linuxdo_token? } +→ 200 { user_id, jwt, balance_credits: 5.00 /* $5 注册赠送 */ } +``` +前端验证规则: +- 邮箱格式 `^[^\s@]+@[^\s@]+\.[^\s@]+$` +- 密码强度 ≥ 2(长度 ≥ 8 + 字母大小写混合即可通过) +- 两次密码一致 + 勾选 terms +成功后跳 `Binding.html`。 + +### 2.3 Login +``` +POST /auth/login +{ email, password } 或 { linuxdo_oauth_code } +→ 200 { jwt, user, has_subscriptions: boolean } +``` +若 `has_subscriptions === false`,引导去 `Binding.html`;否则去 `Dashboard.html`。 + +### 2.4 Binding(核心差异化) +OAuth 流程,每个平台: +``` +POST /bindings/oauth/start +{ provider: 'claude' | 'chatgpt' | 'codex' | 'gemini' } +→ { auth_url, state } +``` +前端打开 `auth_url` 新窗口;OAuth 回调: +``` +GET /bindings/oauth/callback?code=...&state=... +→ 302 → /binding/success?provider=claude&account_id=... +``` +绑定列表: +``` +GET /bindings +→ [ { id, provider, account_email, plan, status: 'healthy'|'cooling'|'error', quota_remaining_pct, bound_at } ] +DELETE /bindings/:id 解绑 +POST /bindings/:id/test 发一条测试请求验证凭证有效 +``` + +### 2.5 Dashboard +``` +GET /me/overview +→ { + balance: { credits: 45.23, bonus_credits: 12.00, expires_at: null }, + usage_today: { requests: 1842, tokens_in: 2.1e6, tokens_out: 4.8e5, cost: 1.23 }, + usage_30d: [{ date, cost, requests }, ...], + recent_requests: [{ ts, model, route_to, status, latency_ms, tokens, cost }, ...], + pool_status: [{ provider, accounts: [{ status, quota_pct }] }] +} +``` +图表用 `usage_30d` 绘制折线(cyan 主线,purple 副线)。 + +### 2.6 API Keys +``` +GET /api-keys +POST /api-keys { name, models?: string[], monthly_budget?: number } +DELETE /api-keys/:id +``` +Key 前缀 `sk-puro-` + 32 字符。创建后仅显示一次完整值,之后只保留前 8 位。 + +### 2.7 Pricing +纯静态展示。充值 CTA 统一走: +``` +POST /billing/topup +{ amount_usd, payment_method: 'alipay'|'wechat'|'usdt'|'stripe' } +→ { payment_url / qr_code, order_id } +``` +阶梯赠送在前端计算并展示(见 `Pricing.html` 底部 script),**后端下单时再次校验**: +``` +阶梯 = amount >= 500 ? 120% + : amount >= 200 ? 110% + : amount >= 99 ? 100% + : amount >= 50 ? 70% + : amount >= 30 ? 50% + : amount >= 20 ? 35% + : 21% +``` + +--- + +## 3. 统一 API Gateway(产品核心) + +所有用户集成的终点: +``` +https://api.puro.im/v1/chat/completions # OpenAI 兼容 +https://api.puro.im/v1/messages # Anthropic 兼容 +https://api.puro.im/v1beta/models/:m:generateContent # Gemini 兼容 +``` +Header: `Authorization: Bearer sk-puro-xxx` + +**调度逻辑(文档化在 `Docs.html`):** +1. 根据模型解析目标 provider +2. 从该 provider 的订阅池挑一个 `status=healthy` 的账号(权重:剩余配额 × 响应时延倒数) +3. 若 429 / 限流,标记 `cooling` 60-300s,failover 到下一个 +4. 若该 provider 所有订阅都 cooling 且用户余额 > 0,fallback 到官方 API +5. 所有请求写入 `request_logs`(用户可见,保留周期按套餐) + +--- + +## 4. 套餐与限制 + +| | Starter $9.9 | Pro $29.9 ⭐ | Scale $99 | Custom | +|---|---|---|---|---| +| 赠送 | +21% | +50% | +100% | 阶梯 | +| API Keys | 1 | 3 | 10 | 按 Pro | +| RPM | 60 | 120 | 300 | 按 Pro | +| 日志保留 | 7d | 30d | 90d | 按 Pro | +| 自带订阅 | ❌ | ∞ | ∞ | ✅ | +| 多账号 failover | — | ✅ | ✅ + 优先级 | ✅ | + +**Enterprise** 走 Sales 线:私有化 / SLA / Invoice,不在普通订单流里。 + +--- + +## 5. 交互细节(容易漏) + +- **余额不足**:Gateway 返回 `402 Payment Required`,Dashboard 顶部红色 banner + 发邮件(80% / 95% 两档预警) +- **订阅 cooling** 时 Dashboard 订阅卡片上角 amber 闪烁点 +- **API Key 创建**:弹窗必须强制用户复制一次,关闭弹窗后永远看不到完整值 +- **密码强度**:评分 0-4,label 对应 `— / 弱 / 中 / 强 / 极强`,颜色 `border / red / amber / cyan / green` +- **登录成功**:按钮变 green 显示 `✓ 登录成功`,800ms 后 window.location 跳转 +- **LinuxDO OAuth** 是 PURO 的目标用户群(开发者社区),作为次要登录按钮展示 + +--- + +## 6. 响应式断点 + +- `<= 900px`:Login/Register 的 split 变单列,narrative 折叠 +- `<= 820px`:Pricing grid 从 4 列 → 1 列 +- `<= 820px`:Landing pricing-grid-landing 从 3 列 → 1 列 +- `<= 960px`:Pricing 的 calculator 从 2 列 → 1 列 + +--- + +## 7. 后端技术建议(非设计范畴,仅供参考) + +- **Gateway 层**:Go / Rust 写高吞吐代理,HTTP/2 + streaming,每 provider 起独立 worker pool +- **调度**:Redis ZSET 存每个订阅的健康分 + cooling 过期时间 +- **日志**:写 ClickHouse(列存 + 按日分区),Dashboard 直接查 +- **凭证加密**:每个订阅凭证用 AES-256-GCM 加密,key 放 KMS;解密只在 gateway worker 内存里,绝不落日志 +- **计费**:Pulsar / Redis Streams 实时扣费,最终一致性,异步对账 + +--- + +## 8. 已知 TODO(设计层面暂不处理,开发阶段补) + +- [ ] Dashboard 真实图表联动(目前是静态 SVG) +- [ ] Binding OAuth 回调 loading / 成功动效 +- [ ] 邮件模板(注册验证 / 余额预警 / 充值成功) +- [ ] 忘记密码流程 +- [ ] 团队 / 多人协作 UI(Enterprise 档需要) +- [ ] i18n:当前仅中文,英文版待出 + +--- + +生成时间:2026-04 · 设计稿版本:v1 + +联系 Sam / 产品负责人确认实现细节。 diff --git a/docs/design-drafts/v2/Landing.html b/docs/design-drafts/v2/Landing.html new file mode 100644 index 00000000..fa229224 --- /dev/null +++ b/docs/design-drafts/v2/Landing.html @@ -0,0 +1,1423 @@ + + + + + +PURO AI — 你的 AI 订阅,已经付过钱了 + + + + + + + + +
+
+ + + + + +
+
+ NEW + 统一接入多个 AI 平台 · 零改动切换 +
+

你的 AI 订阅,
已经付过钱了。

+

+ Claude Pro · ChatGPT Plus · Codex · Gemini 订阅
+ 聚合成统一 API,零改动接入 OpenAI / Anthropic SDK +

+ +
+ 无需信用卡 + + 用你已有的订阅 + + 5 分钟跑通 +
+
+ + +
+
+
// providers
+

支持的 AI 平台

+

通过 OAuth 直接复用你的订阅,无需申请官方 API key

+
+
+
+ + +
Claude
+
Pro / Max
+
+
+ + +
ChatGPT
+
Plus / Pro
+
+
+ + +
Codex CLI
+
OpenAI
+
+
+ + +
Gemini
+
Code Assist
+
+
+ + +
更多
+
即将推出
+
+
+
+ + +
+
+
// features
+

付一次订阅,
用起一整个模型池

+

把散落在各个平台的订阅,整合成开发者真正能用的基础设施

+
+
+
+
+

一个 key 接所有模型

+

不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。

+
    +
  • OpenAI Responses API 兼容
  • +
  • Anthropic Messages API 兼容
  • +
  • 智能 model → provider 路由
  • +
+
+
+
🔄
+

账号池高可用

+

多账号自动调度。某个 ChatGPT Plus 触发限流,自动 failover 到下一个。重启、刷新 token 全自动。

+
    +
  • 限流/5xx 自动 failover
  • +
  • OAuth token 自动刷新
  • +
  • 加权轮询 · 最少连接
  • +
+
+
+
📊
+

用量看板

+

每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。

+
    +
  • 逐请求审计日志
  • +
  • 多维度 tokens / cost 统计
  • +
  • 导出 CSV / 接 Webhook
  • +
+
+
+
+ + +
+
+
// integration
+

把 base_url 一改,就能用

+

兼容 OpenAI / Anthropic / Gemini SDK,零代码改动

+
+ +
+
+
+
+
~/.codex/config.toml
+
curl.sh
+
● edited 2s ago
+
+
1# Codex CLI — 只改 base_url 就能走 PURO
2model_provider = "puro"
3model = "gpt-5-codex"
4
5[model_providers.puro]
6 name = "PURO AI"
7 base_url = "https://ai.puro.im/v1"
8 wire_api = "responses"
9 env_key = "PURO_API_KEY" # export PURO_API_KEY=sk-puro-…
+
+ +
+
+
+
curl.sh
+
zsh · puro ≈ 210ms
+
+
1$ curl https://ai.puro.im/v1/chat/completions \
2 -H "Authorization: Bearer $PURO_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "model": "claude-sonnet-4-5", # 自动路由到 Claude Pro 池
6 "stream": true,
7 "messages": [{ "role": "user", "content": "写一个斐波那契" }]
8 }'
9
10# ← event: content_block_delta · account=claude-3 · 187ms · 42 tok
+
+
+ +
+ 支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket +
+
+ + +
+
+
// observability
+

每条请求都看得见

+

+ 不像第三方 API 池子那种"扣了多少不告诉你"。你能看到每次调用:扣了哪个账号、跑了哪个模型、用了多少 tokens、花了多少钱、上游响应几秒。 +

+
+ +
+
+
+
ai.puro.im/dashboard
+
me@puro
+
+
+ +
+
+
+
Requests · 24h
+
18,294
+
▲ 12.4%
+
+
+
Tokens · 24h
+
4.7M
+
▲ 8.1%
+
+
+
Avg latency
+
312ms
+
▼ 4.2%
+
+
+
Est. savings
+
$847
+
vs. pay-as-you-go
+
+
+ +
+
+
+ Requests over time +
+ Claude + GPT + Gemini +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + 00:00 + 06:00 + 12:00 + 18:00 + now + + +
+
+
+ Model distribution + · 24h +
+ +
+ + + + + + + + + + + +
+
Claude48%
+
GPT32%
+
Gemini14%
+
Codex6%
+
+
+
+
+ +
+
+
Recent requests
+
live · 12 of 18,294
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TimeProviderModelTokensCostLatencyStatus
13:42:18claude-3sonnet-4-52,847$0.042213ms● 200
13:42:11gpt-plus-7gpt-5-codex1,204$0.018167ms● 200
13:42:03gemini-2gemini-2.5-pro4,102$0.000392ms● 200
13:41:58claude-1sonnet-4-56,318$0.095284ms● 429 → failover
13:41:49gpt-plus-2gpt-5892$0.013141ms● 200
+
+
+
+
+ + +
+

把订阅变成 API — 5 分钟

+

绑定第一个账号,生成 sk- key,把 base_url 指过来。就这些。

+ +
+
+ + +
+
+
// pricing
+

充一次,全平台通用

+

积分永不过期 · 同一份余额可跑 Claude / ChatGPT / Gemini · 支付宝 / 微信 / USDT

+
+ +
+
+
STARTER
+
tier · 01
+
尝鲜测试 · 跑通接入
+
$9.9
+
充 $9.9 → 得 $12 积分 +21%
+
相当于官方 API · 0.5 折起
+
+
+
✓ 全模型 / 全池可用
+
✓ 1 个 API Key
+
✓ 60 RPM
+
— 不支持自带订阅
+
+ 充值 +
+ + + +
+
⚡ 限时 +100%
+
tier · 03
+
小团队 / 长跑项目
+
$99
+
充 $99 → 得 $198 积分 +100%
+
相当于官方 API · 2-5 折
+
+
+
✓ 10 个 API Key · 独立预算
+
✓ 300 RPM · 90 天日志
+
✓ 请求优先级调度
+
✓ Slack / Discord 群组支持
+
+ 充值 +
+
+ + +
+ + +
+
+
// frequently asked
+

你可能想问的

+

没找到答案?发邮件给我们 ↗ · 通常 2 小时内回复

+
+ +
+ 01PURO 和 API 中转站有什么不同? +
+ 中转站只是转发官方 API,价格取决于你预付的 balance。PURO 的不同是 —— 我们让你把已有的 Claude Pro / ChatGPT Plus 订阅变成 API。 + 你原本就在付的 $20/月,不再只能在官网聊天里用,而是通过统一 API 喂给 Cursor、Claude Code、任何 SDK。 + 同时也提供按量充值的官方 API 备用池,两种模式可混用。 +
+
+ +
+ 02用订阅跑 API 会不会被封号? +
+ 我们会自动控制每个订阅的请求节奏,并在触发限流时把请求 failover 到池内其他订阅。实际上 PURO 的调用模式比你在官方客户端复制粘贴大段对话更不容易触发风控。 + 所有凭证用 AES-256 加密存储,请求链路不经过第三方。 +
+
+ +
+ 03积分会过期吗?可以退款吗? +
+ 积分永不过期。首次充值 7 天内未产生任何调用可全额退款,之后按剩余积分 85% 比例退。 +
+
+ +
+ 04支持哪些支付方式? +
+ 国内:支付宝 · 微信支付。国际:Stripe 信用卡 · USDT (TRC20 / ERC20) · PayPal。企业充值支持 Invoice 对公打款,人民币开票。 +
+
+ +
+ 05数据会被用于训练吗? +
+ 不会。所有请求仅用于路由转发,不入库、不留存内容(仅保留元数据如模型、token 数、延迟,用于计费和日志)。Pro 档及以上可选开启"零日志模式"。 +
+
+ +
+ 06支持哪些模型?新模型上线多久? +
+ 当前覆盖 Claude(Sonnet 4.5 / Opus 4 / Haiku 4.5)、ChatGPT(GPT-5 / GPT-5 Codex / GPT-4.1)、Gemini(2.5 Pro / 2.5 Flash)。官方发布新模型后通常 24 小时内上线。 +
+
+ + +
+ + + + + + diff --git a/docs/design-drafts/v2/Login.html b/docs/design-drafts/v2/Login.html new file mode 100644 index 00000000..33ea8429 --- /dev/null +++ b/docs/design-drafts/v2/Login.html @@ -0,0 +1,351 @@ + + + + + +登录 — PURO AI + + + + + + + + +
+
+ +
+ +
+
+ + + + + + PURO AI + + +
+
// 你的订阅,已经付过钱了
+

+ N 个订阅 + + 1 个 key +

+
+ +
+ 省去切换账号的繁琐, + 省去为多个高昂订阅重复买单。 + PURO(纯粹)—— 让 AI 调用回归本质。 +
+ +
+
POST/v1/chat/completions
+
modelclaude-sonnet-4-5
+
route →claude-pool-03
+
status200·213ms·42 tok
+
+
+ +
+ Claude· + ChatGPT· + Codex· + Gemini + | + ai.puro.im · operational +
+
+ + +
+ ← 返回首页 + +
+

登录

+

用你的 PURO AI 账户继续

+ +
+ +
+ + + + + + + +
+
+ +
+ +
+ + + + + + + + +
+
+ + 忘记密码? +
+
+ + + +
OR
+ + + +
+ 没有账户?注册 +
+ + +
+
+
+ + + + diff --git a/docs/design-drafts/v2/Pricing.html b/docs/design-drafts/v2/Pricing.html new file mode 100644 index 00000000..f7600a62 --- /dev/null +++ b/docs/design-drafts/v2/Pricing.html @@ -0,0 +1,472 @@ + + + + + +Pricing — PURO AI + + + + + + + + +
+
+ + + +
+
// pricing · 充多少 · 用多少 · 永不过期
+

一次充值,全平台通用

+

+ 同一份积分可以用在 Claude / ChatGPT / Gemini 任意池上。我们把你的订阅额度变成真正的 API 余额 —— 相比官方 API 便宜 至多 70%。 +

+
+ + 余额永不过期 · 支持支付宝 / 微信 / USDT · 无隐藏订阅费 +
+
+ +
+
+ +
+ STARTER +
tier · 01
+
先尝尝鲜,跑通接入
+
$9.9
+
充 $9.9 $12 积分 +21%
+ 相当于官方 API · 0.5 折起 +
+
+
可用所有模型 / 所有池
+
1 个 API Key
+
60 RPM 速率限制
+
基础日志(7 天保留)
+
自带订阅接入
+
团队 / 多人协作
+
+ 充值 → +
+ + + +
+ ⚡ 限时 +100% +
tier · 03
+
小团队 / 长跑项目
+
$99
+
充 $99 $198 积分 +100%
+ 相当于官方 API · 2-5 折 +
+
+
所有 Pro 能力
+
10 个 API Key · 独立预算
+
300 RPM 速率限制
+
调用日志(90 天保留)
+
请求优先级加权调度
+
Slack / Discord 群组支持
+
+ 充值 → +
+ +
+ CUSTOM +
tier · 04
+
自定义金额 · 按需充值
+
$50
+
得约 $78 积分 +56%
+ + 根据金额阶梯自动匹配折扣 +
+
+
积分永不过期
+
Pro 全部能力
+
阶梯 +21% ~ +100%
+
支付宝 / 微信 / USDT
+
拖动滑块预览赠送
+
+ 定制充值 → +
+
+ +
+
+
+
+

Enterprise · 企业定制

+

专属订阅池、SLA、合规审计、私有化部署、发票结算。规模 >$500/月起可申请。

+
+ 联系商务 → +
+
+
+
+

已有订阅?直接接入

+

有 Claude Max / ChatGPT Pro?免费注册后绑定,只为 PURO 路由费买单 —— 按次 $0.0008/request

+
+ 接入我的订阅 → +
+
+
+ +
+
+
+
// cost estimator
+

算算你能省多少?

+

按你的使用场景,对比 PURO 和官方 API 的月度花费差。数字会根据你选的场景自动更新。

+
+
+
日均请求数5,000
+ +
+
+
平均每请求 tokens3,000
+ +
+
+
Claude 占比50%
+ +
+
+
+
+
+
月度 tokens 消耗450M
+
官方 API 价格$1,620
+
PURO 价格(含 +50% 赠送)$486
+
节省$1,134 · 70%
+
+
+
+
建议充值
+
≈ 3 天试用 + Pro 档充值
+
+
$486
+
+
+
+
+ +
+
+
// works everywhere
+

一个 key,所有工具通用

+

只要支持自定义 base_url 或 OpenAI / Anthropic API,都能直接接入 PURO。

+
+
+
Claude Code
ANTHROPIC_BASE_URL
+
Cursor
自定义模型
+
Cline
OpenAI 兼容
+
Roo Code
OpenAI 兼容
+
Continue
config.yaml
+
OpenAI SDK
Python / Node
+
Anthropic SDK
原生 Claude
+
Open WebUI
自定义 base
+
LangChain
LLM 节点
+
LlamaIndex
模型路由
+
Zed
Assistant
+
更多…
60+ 工具
+
+
+ +
+
+
// frequently asked
+

你可能想问的

+

没找到答案?发邮件给我们 ↗ · 通常 2 小时内回复。

+
+ +
+ 01PURO 和 API 中转站 / API 代理有什么不同? +
+ 中转站只是把官方 API 请求转一手,价格取决于你预付多少 balance。PURO 的不同是 —— 我们让你 把已有的 Claude Pro / ChatGPT Plus 订阅变成 API。 + 你原本就在付的 $20/月,不再只能在官网聊天里用,而是通过统一 API 喂给 Cursor、Claude Code、任何 SDK。 + 同时我们也提供按量充值的官方 API 备用池,两种模式可以混用。 +
+
+ +
+ 02用订阅跑 API 会不会被封号? +
+ 我们会自动控制每个订阅的请求节奏,并在触发限流时把请求 failover 到池子里的其他订阅。实际上 PURO 的调用模式比你在官方客户端直接复制粘贴大段对话 更不容易触发风控。 + 你绑定多个订阅时,单个账号的 RPM 会被压到足够安全的阈值内。另外所有凭证用 AES-256 加密存储,请求链路不经过第三方。 +
+
+ +
+ 03积分会过期吗?可以退款吗? +
+ 积分永不过期。你可以攒着慢慢用 —— 包括几个月都不用。首次充值 7 天内未产生任何调用可全额退款,之后按剩余积分 85% 比例退。详见 退款政策。 +
+
+ +
+ 04支持哪些支付方式? +
+ 国内:支付宝 · 微信支付。国际:Stripe 信用卡 · USDT (TRC20 / ERC20) · PayPal。企业充值支持 Invoice 对公打款,人民币开票。 +
+
+ +
+ 05一个 PURO 账号可以绑定多少个订阅? +
+
    +
  • Starter 档:不支持绑定自带订阅
  • +
  • Pro 档及以上:无限制,你可以把 10 个 ChatGPT Plus + 3 个 Claude Pro 一起绑上去,统一调度
  • +
  • Enterprise:支持跨团队共享池,按组织维度隔离
  • +
+
+
+ +
+ 06如果某个订阅触发限流了会怎样? +
+ PURO 的调度器会把受限的订阅自动标记为 cooling 状态,暂时从池子里摘除。同一请求会立刻被 failover 到池内其他健康订阅上 —— 调用方通常 感受不到中断。你可以在 Dashboard 看到每个订阅的当前状态和剩余配额。 +
+
+ +
+ 07计费精度?超量会怎么办? +
+ 按实际 token 数 + 模型单价计费,精度到 4 位小数。每个 API Key 可设置独立月度预算,达到后 402 Payment Required,不会继续扣费。账户总余额不足时同样会返回 402,且 Dashboard 有 80% / 95% 两级提醒邮件。 +
+
+ +
+ 08数据会被用于训练吗? +
+ 不会。所有请求仅用于路由转发,不入库、不留存内容(仅保留元数据如模型、token 数、延迟,用于计费和日志)。Pro 档及以上可选开启"零日志模式",我们连请求 ID 都不记录。 +
+
+ +
+ 09可以私有化部署吗? +
+ Enterprise 档支持 Docker / K8s 私有化部署,控制面和数据面可以分开。授权按年订阅,包含升级和技术支持。联系商务 → +
+
+ +
+ 10支持哪些模型?会跟进新模型吗? +
+ 当前覆盖 Claude(Sonnet 4.5 / Opus 4 / Haiku 4.5)、ChatGPT(GPT-5 / GPT-5 Codex / GPT-4.1)、Gemini(2.5 Pro / 2.5 Flash)。每当官方发布新模型,我们通常在 24 小时内上线。完整模型列表见 文档。 +
+
+
+ +
+
+
// ready to start
+

5 分钟,拿到你第一个 sk-puro-* key

+

注册送 $5 测试积分 · 绑定你的第一个订阅即可开始。

+ +
+
+ + + + diff --git a/docs/design-drafts/v2/Register.html b/docs/design-drafts/v2/Register.html new file mode 100644 index 00000000..36c204b1 --- /dev/null +++ b/docs/design-drafts/v2/Register.html @@ -0,0 +1,386 @@ + + + + + +注册 — PURO AI + + + + + + + + +
+
+ +
+
+
+ + + + + + PURO AI + + +
+
// 5 分钟开始用
+

+ N 个订阅 + + 1 个 key +

+
+ +
+ 省去切换账号的繁琐, + 省去为多个高昂订阅重复买单。 + PURO(纯粹)—— 让 AI 调用回归本质。 +
+ +
+
// 下一步
+
+
1
+
创建账户 · 邮箱 + 密码,或用 LinuxDO OAuth
+
+
+
2
+
绑定订阅 · OAuth 接入你现有的 Claude Pro / ChatGPT Plus
+
+
+
3
+
生成 key · 拿到 sk-puro-…,换掉 SDK 的 base_url
+
+
+
+ +
+ Claude· + ChatGPT· + Codex· + Gemini + | + ai.puro.im · operational +
+
+ +
+ ← 返回首页 + +
+

创建账户

+

注册即送 $5 测试积分

+ +
+ +
+ + + + + + + + + + + + +
+
+ +
+ +
+ + + + + + + + +
+
+ +
+
+ // strength + +
+
+ +
+ +
+ + + + + + + + + + + + +
+
+
+ + + + + +
OR
+ + + +
+ +$5 + 完成注册即送 $5 测试积分 —— 够你跑几万次 Claude 请求。 +
+ +
+ 已有账户?登录 +
+
+
+
+ + + + diff --git a/docs/design-drafts/v2/puro.css b/docs/design-drafts/v2/puro.css new file mode 100644 index 00000000..96c11980 --- /dev/null +++ b/docs/design-drafts/v2/puro.css @@ -0,0 +1,726 @@ +/* ========================================================================== + PURO AI — Design System + Shared tokens + primitive styles used across every page. + -------------------------------------------------------------------------- + Usage: + ========================================================================== */ + +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +:root { + /* Surfaces */ + --bg-0: #0a0e1a; /* page */ + --bg-1: #0f172a; /* raised */ + --bg-2: #111827; /* card alt */ + --bg-code: #020617; /* code canvas */ + + /* Borders */ + --border: #1e293b; + --border-2: #334155; + --border-3: #475569; + + /* Text */ + --text-0: #f8fafc; /* primary */ + --text-1: #cbd5e1; /* body */ + --text-2: #94a3b8; /* muted */ + --text-3: #64748b; /* hint */ + + /* Accents */ + --cyan: #22d3ee; + --cyan-2: #67e8f9; + --cyan-dim: #0891b2; + --purple: #a855f7; + --amber: #fbbf24; + --green: #34d399; + --red: #f87171; + --orange: #fb923c; + + /* Provider brand dots */ + --p-claude: #d97757; + --p-gpt: #10a37f; + --p-gemini: #4285f4; + --p-codex: #f0a030; + + /* Radius */ + --r-sm: 6px; + --r-md: 8px; + --r-lg: 12px; + --r-xl: 16px; + + /* Shadow */ + --shadow-lg: 0 30px 60px -30px rgba(0,0,0,0.6); + --shadow-xl: 0 40px 80px -40px rgba(0,0,0,0.8); + + /* Typography */ + --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; + --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace; +} + +html, body { + background: var(--bg-0); + color: var(--text-0); + font-family: var(--font-sans); + font-feature-settings: "cv11", "ss01", "ss03"; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + line-height: 1.5; +} + +body { overflow-x: hidden; } + +a { color: inherit; text-decoration: none; } +button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; } + +/* scrollbar — subtle */ +::-webkit-scrollbar { width: 10px; height: 10px; } +::-webkit-scrollbar-track { background: transparent; } +::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 6px; } +::-webkit-scrollbar-thumb:hover { background: var(--border-3); } + +.mono { font-family: var(--font-mono); } + +/* ========================================================================== + BACKGROUND EFFECTS + ========================================================================== */ +.bg-glow { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 0; + overflow: hidden; +} +.bg-glow::before, +.bg-glow::after { + content: ""; + position: absolute; + width: 900px; + height: 900px; + border-radius: 50%; + filter: blur(120px); + opacity: 0.35; +} +.bg-glow::before { + background: radial-gradient(circle, #22d3ee 0%, transparent 60%); + top: -300px; + left: -200px; +} +.bg-glow::after { + background: radial-gradient(circle, #a855f7 0%, transparent 60%); + top: 200px; + right: -300px; + opacity: 0.25; +} +.bg-glow.soft::before, .bg-glow.soft::after { opacity: 0.15; } + +.grain { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 1; + opacity: 0.4; + mix-blend-mode: overlay; + background-image: url("data:image/svg+xml;utf8,"); +} + +.container { + max-width: 1100px; + margin: 0 auto; + padding: 0 32px; + position: relative; + z-index: 2; +} +.container-wide { max-width: 1280px; } +.container-narrow { max-width: 860px; } + +/* ========================================================================== + NAV + ========================================================================== */ +.nav { + position: sticky; + top: 0; + z-index: 50; + backdrop-filter: blur(16px); + background: rgba(10, 14, 26, 0.72); + border-bottom: 1px solid var(--border); +} +.nav-inner { + display: flex; + align-items: center; + height: 64px; + gap: 48px; +} +.brand { + display: flex; + align-items: center; + gap: 10px; + font-weight: 700; + font-size: 15px; + letter-spacing: 0.02em; +} +.hex { + width: 22px; + height: 22px; + color: var(--cyan); +} +.nav-links { + display: flex; + gap: 28px; + font-size: 14px; + color: var(--text-2); +} +.nav-links a { transition: color .15s; } +.nav-links a:hover, .nav-links a.active { color: var(--text-0); } +.nav-links .disabled { color: var(--text-3); cursor: not-allowed; display: inline-flex; align-items: center; gap: 6px; } +.nav-links .disabled::after { + content: "即将推出"; + font-size: 10px; + padding: 2px 6px; + border: 1px solid var(--border-2); + border-radius: 4px; + color: var(--text-3); +} +.nav-cta { + margin-left: auto; + display: flex; + gap: 10px; + align-items: center; +} + +/* ========================================================================== + BUTTONS + ========================================================================== */ +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 8px 14px; + font-size: 13px; + font-weight: 500; + border-radius: var(--r-md); + transition: all .15s; + white-space: nowrap; + border: 1px solid transparent; +} +.btn-primary { + background: var(--cyan); + color: #042f2e; + font-weight: 600; +} +.btn-primary:hover { background: var(--cyan-2); } +.btn-primary:active { transform: translateY(1px); } +.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; } + +.btn-ghost { + border-color: var(--border-2); + color: var(--text-1); +} +.btn-ghost:hover { border-color: var(--border-3); color: var(--text-0); background: rgba(255,255,255,0.02); } + +.btn-subtle { + background: rgba(255,255,255,0.04); + color: var(--text-1); + border-color: transparent; +} +.btn-subtle:hover { background: rgba(255,255,255,0.08); color: var(--text-0); } + +.btn-danger { + background: rgba(248, 113, 113, 0.1); + color: var(--red); + border-color: rgba(248, 113, 113, 0.25); +} +.btn-danger:hover { background: rgba(248, 113, 113, 0.15); border-color: rgba(248, 113, 113, 0.4); } + +.btn-lg { padding: 12px 20px; font-size: 14px; } +.btn-sm { padding: 5px 10px; font-size: 12px; } +.btn-icon { padding: 7px; aspect-ratio: 1; } + +.btn .spinner { + width: 14px; height: 14px; + border: 2px solid rgba(0,0,0,0.2); + border-top-color: currentColor; + border-radius: 50%; + animation: spin .7s linear infinite; + display: none; +} +.btn.loading .spinner { display: inline-block; } +.btn.loading .label { opacity: 0.5; } +@keyframes spin { to { transform: rotate(360deg); } } + +/* ========================================================================== + BADGES / PILLS / CHIPS + ========================================================================== */ +.badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 8px; + border-radius: 100px; + font-size: 11px; + font-weight: 600; + letter-spacing: 0.02em; + background: rgba(34, 211, 238, 0.1); + color: var(--cyan); +} +.badge.amber { background: rgba(251, 191, 36, 0.12); color: var(--amber); } +.badge.purple { background: rgba(168, 85, 247, 0.12); color: var(--purple); } +.badge.green { background: rgba(52, 211, 153, 0.12); color: var(--green); } +.badge.red { background: rgba(248, 113, 113, 0.12); color: var(--red); } +.badge.muted { background: rgba(255, 255, 255, 0.04); color: var(--text-2); border: 1px solid var(--border); } + +.pill { + display: inline-block; + padding: 2px 8px; + border-radius: var(--r-sm); + background: rgba(255,255,255,0.04); + border: 1px solid var(--border); + font-family: var(--font-mono); + font-size: 12px; + color: var(--text-0); +} + +.chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 4px 10px; + border-radius: 100px; + background: rgba(15, 23, 42, 0.6); + border: 1px solid var(--border); + font-size: 12px; + color: var(--text-1); + font-family: var(--font-mono); +} +.chip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); } +.chip.claude .dot { background: var(--p-claude); } +.chip.gpt .dot { background: var(--p-gpt); } +.chip.gemini .dot { background: var(--p-gemini); } +.chip.codex .dot { background: var(--p-codex); } + +.dot-sep { width: 4px; height: 4px; border-radius: 50%; background: var(--text-3); display: inline-block; } + +/* status chip (tiny dot absolute-positioned) */ +.status-chip { + width: 6px; + height: 6px; + border-radius: 50%; + background: var(--green); + box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15); + display: inline-block; +} +.status-chip.dim { background: var(--text-3); box-shadow: none; } +.status-chip.amber { background: var(--amber); box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.15); } +.status-chip.red { background: var(--red); box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.15); } + +/* ========================================================================== + CARDS / SURFACES + ========================================================================== */ +.card { + background: rgba(15, 23, 42, 0.6); + border: 1px solid var(--border); + border-radius: var(--r-lg); + padding: 24px; +} +.card-raised { + background: var(--bg-1); + border: 1px solid var(--border); + border-radius: var(--r-lg); +} +.card-interactive { + transition: all .2s; + cursor: pointer; +} +.card-interactive:hover { + border-color: var(--border-2); + background: rgba(15, 23, 42, 0.85); + transform: translateY(-2px); +} + +.divider { height: 1px; background: var(--border); margin: 24px 0; border: 0; } +.divider-dashed { border: 0; border-top: 1px dashed var(--border); margin: 20px 0; } + +/* ========================================================================== + FORMS + ========================================================================== */ +.field { margin-bottom: 18px; } +.field-label { + display: block; + font-size: 12px; + font-weight: 500; + color: var(--text-1); + margin-bottom: 8px; +} +.field-hint { + font-size: 12px; + color: var(--text-3); + margin-top: 6px; +} +.field-error { + font-size: 12px; + color: var(--red); + margin-top: 6px; +} + +.input-wrap { position: relative; } +.input-wrap .icon { + position: absolute; + left: 14px; + top: 50%; + transform: translateY(-50%); + color: var(--text-3); + pointer-events: none; + display: inline-flex; +} +.input { + width: 100%; + height: 42px; + padding: 0 14px; + background: rgba(15, 23, 42, 0.6); + border: 1px solid var(--border-2); + border-radius: var(--r-md); + color: var(--text-0); + font-size: 14px; + font-family: inherit; + outline: none; + transition: all .15s; +} +.input.with-icon { padding-left: 40px; } +.input::placeholder { color: var(--text-3); } +.input:hover { border-color: var(--border-3); } +.input:focus { + border-color: var(--cyan); + box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.12); + background: rgba(15, 23, 42, 0.9); +} +.input.ok { border-color: rgba(52, 211, 153, 0.4); } +.input.ok:focus { box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.12); } +.input.error { border-color: var(--red); } +.input.error:focus { box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.12); } + +textarea.input { height: auto; padding: 12px 14px; resize: vertical; line-height: 1.5; } + +select.input { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: right 14px center; + padding-right: 36px; +} + +/* checkbox */ +.check { + display: inline-flex; + align-items: center; + gap: 10px; + cursor: pointer; + user-select: none; + font-size: 13px; + color: var(--text-1); +} +.check input { display: none; } +.check .box { + width: 16px; height: 16px; + border: 1px solid var(--border-2); + border-radius: 4px; + background: var(--bg-1); + display: inline-flex; + align-items: center; + justify-content: center; + transition: all .15s; + flex-shrink: 0; +} +.check input:checked + .box { + background: var(--cyan); + border-color: var(--cyan); +} +.check input:checked + .box::after { + content: "✓"; + color: #042f2e; + font-size: 11px; + font-weight: 700; +} + +/* ========================================================================== + SECTION HEADINGS + ========================================================================== */ +.section-kicker { + font-family: var(--font-mono); + font-size: 12px; + color: var(--cyan); + letter-spacing: 0.15em; + text-transform: uppercase; + margin-bottom: 12px; +} +.section-title { + font-size: clamp(28px, 3.5vw, 40px); + font-weight: 700; + letter-spacing: -0.02em; + line-height: 1.15; + margin-bottom: 16px; +} +.section-sub { + color: var(--text-2); + font-size: 16px; + line-height: 1.6; +} + +/* ========================================================================== + TABLES + ========================================================================== */ +.tbl { + width: 100%; + font-size: 13px; + border-collapse: collapse; +} +.tbl th { + text-align: left; + color: var(--text-3); + font-weight: 500; + padding: 12px 14px; + border-bottom: 1px solid var(--border); + text-transform: uppercase; + font-size: 10px; + letter-spacing: 0.1em; +} +.tbl td { + padding: 14px; + border-bottom: 1px solid rgba(30, 41, 59, 0.5); + color: var(--text-1); +} +.tbl tr:last-child td { border-bottom: none; } +.tbl tr:hover td { background: rgba(15, 23, 42, 0.4); } +.tbl td.mono, .tbl th.mono { font-family: var(--font-mono); } + +/* ========================================================================== + CODE BLOCKS + ========================================================================== */ +.code-frame { + background: var(--bg-code); + border: 1px solid var(--border); + border-radius: var(--r-lg); + overflow: hidden; + box-shadow: var(--shadow-lg); +} +.code-head { + display: flex; + align-items: center; + height: 40px; + padding: 0 16px; + border-bottom: 1px solid var(--border); + background: rgba(15, 23, 42, 0.8); + gap: 10px; +} +.traffic { + display: flex; + gap: 6px; +} +.traffic span { + width: 10px; + height: 10px; + border-radius: 50%; + background: #475569; +} +.code-body { + padding: 22px 26px; + font-family: var(--font-mono); + font-size: 13px; + line-height: 1.75; + color: var(--text-1); + overflow-x: auto; +} +.code-body .line { display: flex; gap: 20px; } +.ln { color: var(--text-3); user-select: none; min-width: 16px; text-align: right; opacity: 0.5; } + +/* syntax */ +.kw { color: #c084fc; } +.str { color: #86efac; } +.num { color: #fbbf24; } +.com { color: #64748b; font-style: italic; } +.fn { color: #22d3ee; } +.prop{ color: #f0abfc; } +.var-v { color: #f8fafc; } +.flag{ color: #fb923c; } +.bash-prompt { color: var(--cyan); user-select: none; } + +/* ========================================================================== + PROVIDER-BRAND HELPERS + ========================================================================== */ +.provider { + display: inline-flex; + align-items: center; + gap: 6px; + font-family: var(--font-mono); + font-size: 12px; +} +.provider .dot { width: 6px; height: 6px; border-radius: 50%; } +.provider.claude .dot { background: var(--p-claude); } +.provider.gpt .dot { background: var(--p-gpt); } +.provider.gemini .dot { background: var(--p-gemini); } +.provider.codex .dot { background: var(--p-codex); } + +/* ========================================================================== + UTILITIES + ========================================================================== */ +.stack-xs { display: flex; flex-direction: column; gap: 8px; } +.stack-sm { display: flex; flex-direction: column; gap: 12px; } +.stack-md { display: flex; flex-direction: column; gap: 20px; } +.stack-lg { display: flex; flex-direction: column; gap: 32px; } + +.row { display: flex; align-items: center; gap: 12px; } +.row-sm { gap: 8px; } +.row-lg { gap: 20px; } +.row-between { justify-content: space-between; } +.row-center { justify-content: center; } +.row-wrap { flex-wrap: wrap; } + +.flex-1 { flex: 1; } +.ml-auto { margin-left: auto; } +.mt-auto { margin-top: auto; } + +.text-0 { color: var(--text-0); } +.text-1 { color: var(--text-1); } +.text-2 { color: var(--text-2); } +.text-3 { color: var(--text-3); } +.text-cyan { color: var(--cyan); } +.text-purple { color: var(--purple); } +.text-amber { color: var(--amber); } +.text-green { color: var(--green); } +.text-red { color: var(--red); } + +.text-xs { font-size: 11px; } +.text-sm { font-size: 13px; } +.text-md { font-size: 14px; } +.text-lg { font-size: 16px; } +.text-xl { font-size: 20px; } +.text-2xl { font-size: 28px; } +.text-3xl { font-size: 36px; } + +.fw-400 { font-weight: 400; } +.fw-500 { font-weight: 500; } +.fw-600 { font-weight: 600; } +.fw-700 { font-weight: 700; } +.fw-800 { font-weight: 800; } + +.tabular { font-variant-numeric: tabular-nums; } +.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } + +/* ========================================================================== + APP SHELL (for dashboard-style pages) + ========================================================================== */ +.app-shell { + display: grid; + grid-template-columns: 240px 1fr; + min-height: 100vh; + position: relative; + z-index: 2; +} +.app-side { + border-right: 1px solid var(--border); + background: rgba(2, 6, 23, 0.6); + padding: 20px 14px; + display: flex; + flex-direction: column; + gap: 28px; + position: sticky; + top: 0; + height: 100vh; + overflow-y: auto; +} +.app-side .brand { padding: 6px 10px 14px; } +.side-group { display: flex; flex-direction: column; gap: 2px; } +.side-label { + font-size: 10px; + color: var(--text-3); + text-transform: uppercase; + letter-spacing: 0.12em; + padding: 0 10px 8px; + font-family: var(--font-mono); +} +.side-item { + display: flex; + align-items: center; + gap: 10px; + padding: 8px 10px; + border-radius: var(--r-sm); + font-size: 13px; + color: var(--text-2); + cursor: pointer; + transition: all .12s; +} +.side-item:hover { color: var(--text-0); background: rgba(255,255,255,0.03); } +.side-item.active { background: rgba(34, 211, 238, 0.08); color: var(--cyan); } +.side-item .ico { + width: 16px; height: 16px; opacity: 0.8; + display: inline-flex; align-items: center; justify-content: center; + flex-shrink: 0; +} +.side-item .count { + margin-left: auto; + font-size: 11px; + color: var(--text-3); + font-family: var(--font-mono); +} +.side-item.active .count { color: var(--cyan); } + +.app-main { + min-width: 0; /* allow grid children to shrink */ + display: flex; + flex-direction: column; +} +.app-topbar { + height: 60px; + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + padding: 0 32px; + gap: 16px; + position: sticky; + top: 0; + z-index: 10; + background: rgba(10, 14, 26, 0.75); + backdrop-filter: blur(12px); +} +.app-topbar h1 { + font-size: 18px; + font-weight: 600; + letter-spacing: -0.01em; +} +.app-content { + padding: 32px; + flex: 1; +} + +/* user avatar pill */ +.avatar { + width: 28px; height: 28px; + border-radius: 50%; + background: linear-gradient(135deg, #22d3ee, #a855f7); + display: inline-flex; + align-items: center; + justify-content: center; + color: #042f2e; + font-weight: 700; + font-size: 12px; + flex-shrink: 0; +} + +/* ========================================================================== + KBD + ========================================================================== */ +kbd { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 20px; + height: 20px; + padding: 0 6px; + font-family: var(--font-mono); + font-size: 11px; + font-weight: 500; + color: var(--text-1); + background: var(--bg-1); + border: 1px solid var(--border-2); + border-bottom-width: 2px; + border-radius: 4px; + line-height: 1; +} diff --git a/docs/design-drafts/v2/uploads/pasted-1776589344748-0.png b/docs/design-drafts/v2/uploads/pasted-1776589344748-0.png new file mode 100644 index 0000000000000000000000000000000000000000..2699b0a0ab6528f66d7f68477304bdccaa3073fb GIT binary patch literal 345462 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 ?ZfT<{Na)gZ3KnKchk8E7G*swVz=_ENx12qc;C_ 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 LW%IC z-CjWgmsgO)*X7MNQXwE+lk~FrhzvLU&piQHHW73AAzf~g8;tN_-8FWP0L-%_w|M!; zUij`^BI>ar0N$lJnfh@(T+7)+TyJh~`1)_JE+VKl|uSf0k^#Lxov?>FFrF}LQCsP;-~^>`eVC6#h@(&ef}R8)2@+0mwx z^NF7yfy)I*ZCOhz_w=^&`LVD*hi-(i_V|+D8dB`~HFotc0)blRE~~}bHyJIaz#GlB za|bjgu?2~E{CF|{3Ad=U$`xP|NU1L@Z45N;5RunoXo;MjY2S_oW+x9mcl&XgthKl` zMifTIwNtD6E!@%%)+?4Mw-*Z>WQEVsrihdeJgim_ZYLygdX{sTVd?wDLg%zj z>Yp)Urnf$(%@E)4-$Bx0DorjclvMM_q%~_5>vGymjodds`#!P(PKbV8MkV+?Po#Qm z-6+&rp4wLGbV5Qgw9P^fK3utbe#y#xWqlyk^&6vKtar?YK8qZ3ZH`N7dc$d2Htl_T zW%|8CE>b<@U*a2Ee2L9<_bhV(hG5mP%$I7VSdW*x=E`DdOL9KEYaTAYBM$|~!d@S# ze=L+|p3={&Av?)D7G$d7q$4!$>KI#x=ccwtN6rTe394&X5^B~Jc<+9s0-Hzg;J>ME zQcq|vy3$!1?5K^hUd}RLw2~vObFjfIpPa`USH@+wgW_f3*YA>wdn=j;@poi!h*)Ur zf-8W=sc|QXTtNVTZh8t8pI=Lu;B1jCVswH;z*CxCG|5E{=ceuLA(+|n4?^0*Omp?z z&y{5CzTimi|@jVe=Eh8f5hM(YXQqowpH84)g{33DZ zYx9I0ndURl*cXGbaX{EnEhbORQqPm)xu@sD`H+Zqc~P4E{CMR*`SyGC{H#7y-uL!s zhA>sn7hd1%*2vq_UOorz-WX%HV&khsJYJJJKSPNxD_q+K19#`TC$Z)g_+TEb7Jip@n%f7=D_VS z{|5y=4;{y_0S+_CfOqg1Pf#EH3a1Ub3Zd_X3by$ssSde!-Ts{v11s3?EYMVZIbS+I z*H)2JmG_h~+DJFb+f8?fx2iM$A}h1Hn*T}>sK8ew9-GmMvGKOZWomA|ogRLc1RRra z4288{^ST+h6uXku$sWA#2citVZ5K>*F$kwM%w=*|)2jqqj6F|PIVgOzPA^5Nx|wUS zlDR(dhZx89VAgIrH7wS4SOctgrE6ovdGDan-Gh)~S{>40{pXmk+l+u~XFhbJgt_9L z`t{!tPk(-3yTRq?1qXTN8?PSedoueb5!WSwx-L=8;EO%XB-1I&fyx10(A0V{Ag3(>8nwdYVIE!MST(5IP zQBgItTkLm;t8)zEV!-3PN1#FAHF8SarQ|f#43Y`F1Gx()qyF(k#QQ+ndm=cK5oO`HbH_0A@>7BAdNgi0> zR;3qKT_Pp+Ty#&4fUX9&vMv(#-*=H@+0xay>bL9Uu-rp<=`aZB}0Jd zC3>#FRk@%ZTk82FXB&~53rjhrnvL4B`vbls7e9a==|yfCF;KU_SI0MLsJ>bDz<_q9 z0Uv5MX^2bOCim6I^+!6o2F;q*or3?m$`^(A%m?*&sH^t6%Fnek>ett8TrL&=Ztf@b zd9|A7Qq^K{AI1to2G`z7(E87GFMHfzr*p!Oy?wIZu)DMxm|U=`k)-Bm>dCsbuG=r; zl;TYe5GOVoV>1Cgyfp$lyWKZnim-5SY=y67s;eoP~M3g*pG~)UpOo3Z6P~s(C8_YStoMW1#6; z@QM_aUCFS4p9Al!|26H<26Yq4MK(Bd%Lfa5%lQ)i#y{_$T8{(&#F$|#w!fp+Y`@0W zs7zZ?*aa-teludnNzOdiR6n>-y~f4CWKgl6=&dyH7rCN%kAM5u9wc1%NYLPaip#`VOfG_X%d?A5^%SjS?vqP=y`^bE-^o2G>26kEa zC+P1NyJCC!uGi}m)QP{70`(0IvW9$P?G)e{?01;oS}k`BqU2%i>mp|TFSYj>4tR`9 z@gGt9x4`Xyee2kr560~OBxJ#08ra1E=hcCbAr=4otN-E?{MVjRAwZ={A&1!eAGxK3 z?7bDl6@{_KpK}86_1*3ARUm!!*V0B05S_^E_K`3}N>y7*iQUTENypUeFRL4c1 zKpvUrNzG0CCq3r@@5pcf^hn4DdV*1CT3+&h-Q54Z4=k4h`^IwuZ+u?==X3nmsZ?m- z1nmFctCYGxFN=QcyKt@lgp7k3C$Hz#;yUwm9C(fd`<<3CJ}Az@MWVo*e#B&9mGXVW zlhOhlBAa)^{vRX${WDzYqK96CrAy4`-tv3Z1`FD^vH4(4!d&(IDX?KOTwFuidZ;V- z{@p+8u)w)F=c~sB^4~Y_6qVc?9FE>#lOf(@PwyupPR^ku?)}EiMyx@@v+5K1ld9y+ zABrv~>$uKuk7G16E}m0+3x@mgDxa$sqW+UgZoas@gzV@@pfveEGRfSj?>DNb4K|}G zm{PYQ|FBK|Yj%(+nnPFHYol?p#SRvXx^2Q?1uB75T~v)O|CQl%9l!y*X6vB@zA$M` zy}jSQzU@;=D#$cfg@=*Q(xN%|-v(K%PW-$(O1Q!d=xjg>dfXyb~lX~OPtjHK}`OnB-K&n=Hv%cSFM{hTy@k(%xGa2kh z!n{{7===M9!C|uw1BJ);hfqrB%;|zDG(UvW(ZHG6{fJhm|7%tSCK7Lg@$q`=thSRM zdM;TVCx&(IW@xDHMD+9+|D7)zTEV^J=Rq_f{2I8-d^1(y?k}79*xI>~1`~VHlZI96 zv$awDcY*W6!n#YiN|(%pfX7pjMXmRN`jcCAy1E^&@&6-X_UL~*)z05EHa^~zn(N(5 z4x~0dx|IVVtC8Z|9C31(z{gj@U@%rW-eP}8Iqf=BescSV7$c+wmS9ax)un$X*E`YT ze>R~ql>aa;+R*;RxbP&gx(aLjT1Ao%8=o_M-cC5ELD+qwx_5FCnp7zI_jymS*rz9t z_W0oyOV9k0e%Yl~&cSVY+Ox>@Y5d-8+Iu{-zPO8g;@CN^v!e+%?DZAm>&>F`Ez81R z9kd)#d3i*iPTxA`6>-)uiZN{xI+E#KP^6}Ig?!Ag_wcn1J}cTk62K0|Ld@jSz)Nxc z@4Nj9N%MuP_%}545XZn+^U3!xt2X$*~+*A_$1tC^wEiG)3 zBqg%i>R{aN&&YT^782nDlV8RoIoRznWON?e-QUm1@9!_*s@M?17V-8*v*FV=+-tU5 zGOV!(`$x+~eFz<@CmHnvE5m>3J@Ebu1O~(i$=8rj_su+Fu7i$mKafA)Z&V)Mn>?~r zj97Wz#5NbCYNB9J(kB_Bs&qg8S$A3d^T|wl&j%U?I=wzC%l3G+>!bUsAm&W5tnhI) z{%w=Dn?rLnDw<$s*y5sIF@rcX%tA*LZUW0oLNEUDeHt-DJanZHi?$V9>=8&Q@zKQv z;4=Fp=Lk6lyguS?u*eXoby+T~RW6}qW3rrHozN3%9mDKSg;YL&ECmzQ{%o_`s&m_C6suV^+h4)HhYM&e#u z`K5DVGVhYcr3F^i3MoX*l>e>2lL871nx;R)Y_+f=e3`11g69+5*H`h`Fqz2Qgg5Zt z7jR`Jqr;maCppe<9Y?Xof12@`=z>z}HZt*cY|iohl_GV6%RacbupU$d{~DgOOU9-g zO;#6Ty-^1rwsAxBs@3)ZhuG~Xm2g`!?0+%$l~HkYOS^$g5+u00OVHph!QF#PaCdhL zL4pN$2ov0by99R$?(Xgmx5?}0J?Hy<*P0*QGd){tS3UJq?cD>AjH-T$4L5V(>=HKK zG_$_X0yi6hic$-UiwGs2M@61GPb&&H-AA1%e>m3p*3#IgYgnUla87`?jMeC4p^i)Xz&ug6TlSvo_^`$*z`S(UEuLveKt>tf zs(#Xm-q!M{tKW30*0EgiI2GL0+xR_PF>$w7R^Yarj3bh*$Lm(eX zW#}sfDF(3YyA6ye{fZf$zY84gq@x}|ep4r0aM77LoYh;X?QvbHTI*37eT0dL`f)Ma z+gLlTskmG&b!gGkkcHNv*7DR%>Uzbq+6@k!>Fj1X;dm6)JvBZa0}}H2@q+p4 zo}sYe-Q7KpNDrME&cstRuq7DKelElnQ*nPSFR_d%5U{+2DtB0H2L_xowF2p;Ds(G@ zd~Iv?@{?0K9c;X5ApQN1x|!(p&zt++uJ<7zdar$N9574ttMMw@q%50WQQYq@znPxh zK@|%#Gtbfy;%-pBINUY9#VV3FdXIP|PZP+UB?i4SEa_3C)-yD;2y*D|8(Y>1)RS?;nR?8K@4yLUfK09tRZYoczv7Tw~=rWpq6b!&pH z^@kH}sFv+7PY^KqrB$_Q`HZ~!8P>WSGQzhEgIe=HN ze_dN{1myN;w}-VIq7j6Qr+yTLgOM-sA_2YN(vZXBiu<&$!8&tm)2~#56z1zsCrY3A ziD&)vveafFJ-ZGFhPoV#N4!xr_ktKhlMYotSZIjgKUE$dNVC-t{m zn@i*pxShOQ!EyR!_f=b`LFEP>Kwp+K>_SnGNbI%S~U~^aBAWQ z!<@fEx^QLDxM7#FAB49!^1?vJZYP4R zoy|(*t*tS=5N1LMx+}R zAJpUu-h-P8195gn7y_`{HD3TMGBDSB=xu?^$i#Hq-{wp#k1wKW zdrrGGQ9vI@pJY74%i#9$xcO?Uyks??6g*dDJ>P_4^u!O%Df+6Dn+chFvRKV1;5%p% z{;;7F>6^goSK2K~o|t7*OpjV!xB|gG+&tGm!1>f|_IG}0c5l(EH7dZ~CLWZLM<18C z=)L+7*}m|bw`UUt^0>ddlPUY0$!7d0e5y+e=)`T&7M&D_coC}ITVvDEFP=}s%>yy% zE|FG)dK$lIy-;VaWh+%?7HiU|ysI!Dx!pIby;~zcz23)&DFh}T7|wL$Dvb0&NK@D> z<`G(&Rrz+bWy&>KMuUXTtXFuWKii-i2ECFoA%ZRKev*T-KQL5(1tX{u03rRbvb( zT%tLjxPj-K)Es3#FNbS(@6mVh2wr{5z5d>#0wh*xHCpt_q50L@Am@ywFsAN+UN2lzsk&i+~P5OXD|P zh_0YtP^7whv-wOsLkgOGUU853S!Ajj;$92t=A@c*gV0MRKXB+^Q25ElI+aq~a`$_X z9PGEU*Dp&QS2?B9v!ndoVPN6x=^fr|Pt|hmOj=t=fZL7L<$F{hMdmKI*yp@&-y6+* z69I>r4tJ|c?Kteci`V)*&E#F?{MC!p^W$~MI_#IUH1ekD4GGfSo(nf>`yx;dG)&cX zTSadTsc#u+WNacW0@+C!<6SdKpO-s5{D1 z>-+n=k+xwK-5y0749ThTsyBN?-K8GR@XB0TW~jF%e4ew?%nlaz4Gk|Fwz6z`JlSAXB1^42x5SVxOR$Wh1eTu_z#3-OT32|ya+ zz0UmD#+Xd2!%e{1sIH@|-ZacA{8QaoGv9GI8?InD&s=s3^#EWD16K@p-1-STZp6(}8CV`Q0`;(at?Veb zyq?@|SbQ??OjK)BBi(d=ES4i8AsJ>XrPF7w*hhphug?rdmvrhp-Zpl5=68_%a(;eO zb}7YAv~;m?T$k`)eMj^0VL>aS@p}h)6_{bm?WS2$z;JyYozAHGuzP&oL{IIOH+?ZHATM8qNwOAt{rX55R z$xokD9refqUO*c+<-3fI*cfqEtRsNlbFoQw+OLe8%5an0Z7 z=0C1`BLM&EM1P3q@2=!uEqOwSrjkHoOx?{~Km6T1|KnQD>j@eWxF00`Rr`NbB%=ZO zn$CVEO&uTe4|@f4ldvSxpR%waa)W*3BH+Bu?sru6+aOcYL8x=1$D__Z0oDKUK}`nQ zuLsr>{Kr54nk2wg@?Aj&9DGd$i(hHw|7iE0G>n`DzF_J;{?GB{Mp*u>&*ij_tWNQfBEMWUaWAXrS($0}7G`I0o|g1cH_rYn(=R>>%@-KO5F2#% zm;V|@Ut(y@`3iC?6YMb2`27|XI`nY$oJ=rGG`*vF=nwBg>N0xS*vWY}3~W|Y-_5Q$ z^ZY~iJ=d|&;xNEG3>CSGsj_E3vcCZG-R%m>Vcah8f^Oh&GzzvR%IO6JN#vU4^)8M@FLGuZ~#;?q#m7SyHfS)ry}g*O<09vVZp`0M01ZH83_# zW-xiUkdIgesQsk^S#rIuDrp&gE+?87MKcckeN}iVy^e+e3pDIT{UY$=QW>>%E3E8X zgy5@-KEypOZg-?F-$*f|1J40q#1GHRFrPWc#hBi*axIk z*toZo6Ut>DFII**rDhE=E1JgWjSF4u}-*9vK>8AnS(j1UPPjji*0`cz-po+A> zkShMpIO#%Wt@7@)kBI{07k=%gQH9woJ{%64b79ry=3r8A#DW_V8+^0M9i_4}GXD50 z{l=RxU~i0`bxC3?NS>rc9kNc_RvNv;V|I#`ww$Q4+1{Gh)nDa|S zrFTY0Mt;is51~>Fhlcpa@z;3tcx)Bqo;@VfyA(EEhmUmjzU3J}-yat^ENG;T>u?b{7 z#61|bLtxtlMikY{^{{x|+#v@K_@MIgdO9yqABYXMS&^jV2@>I3JMaYA(@L1n2_%G zq{~!Pb04lyhoY^P0GoMYu3v$c{sF1g0Z9GM=o^8cl9FR6zJ7V@SXp{I-`X9A_tdT4 zFVYd%9IC^|*UX6b>Xu%yVJ`)cW=Q0t%S-xL`PlROa;29&GEXQc#b=hM1D3LeuRDa) zy050A%B)vPd7;5@Kr-&;gw@+vn&nrzBP9f%x6T?df*EQ~iROBSt0?|8b?t^o)FNT? z!ceuvBOfPxTW>)CSf+9UcxTE|u4A}sK~a@$N}OdZfpzUKFnbZ!Wu*I67rze=$m2N( zzd6TA&ZLA^KQ%8bN6Q?aQ1NU11JRPZIqg=ZB93N!DUBQ3p7N)wM=v*iFklJ1i9Gv) zbM+gh{gef}`43DBU!`12>Z>Twa?B?2!#cWbngs~GnFE2uI4d-OIs`OsNPdbBS6H^(@gV-f*$x&0tA+l1p&62}sn`P)OAE zw71-BKba9QG;$qK28Ko?L(~YhnVi_i^5KhB6?tJ!5DJVJ4OOKR--eHylsF?aBD|5u zjKMNR7Y55FmPJhjMO%}~(|M|NztHT=D60A7Jp~1s7-;|f)>tKl!_CDB+39epJsS!4 z&e=9cc{T~#WcQB?Y47BR#vXITWY|{-9cuS4r*;da3=CNAj*9B(#R}3Skttyz!!IHC z7abcbE_)t6ldH>L+vGcrY=%|-$I=0A*QK7Ee~R>Qvu%^$@H85t2)4VI(i%&1r*s!n zQoHc@L8q!Y0ckXdm2-<7oMV#dkm5(lVaOlXc8Mg} zS#I{Itd>09FRVU{t$g_f+Ng*Dj~?x~(B>DL`OgI`1EP5+|3bu5O)-Bw2fV@3TL}|G zCjR3GQ7)EN*J`%9bLMuHJArT)9gh$xO+wRsYjQeqzWO z+VRMn?`8egCI)s>acT>Jlieq?*49+mtTi=ED5xYDpI{=tFlmM_eBytA&wt!zC_U-- z_bGd!|H21f-|z3_jJ()`Esl-wsw|Lp%ix-GZ!gM`7_RWh6oottB z4qyOZkS-k_>QI57=%T#WQK`UFF&q%p?jaa*Hr|nF;tQ_VZQqNM(4u46JbU-ZBt2c* zVm8<|`~b5;g?w~+DNJ_~NpT71xlRQd;A-vG>8V^~g!z-fNdUqzibT z^2f|tWdq(OH8r*F{(hPpD4DVOP#I(Sm(AEfO?kYqE6OfwjhS}g`gTezckNkKbA>Gz z9jer>qW62GM>gV1%tT8r^uvO7TJ-yE29LrhMY$gA<8@o7o$CKmA%D)8FY;5Q71Ctx z0f8J>O|E8EGVU_Z~$434Td@6EZIX;3hSZMwtLO!9ZTjK8cDi*X;DO;ti zcT1{HbjVEQwo9t$7uiOHWYjs#b%q3_a@kKJ{ze;kq31tDACPak8IY2V1qxbdr><|- zJj*SKFN`FAz&W9g_Za+zXx9$W)R&a-^J7y~Lh3!N)s~ni$_4&E78r0#1qXqKGZYG6 z9^ve+z`4?XvnwXT`qSQSf4v_d6+{S!yKu&zd&sL4dL(~*g}tm*5}5TWItR?@yXZhE+?~_XHGe~WSLE%P5x+)ScmGQ(o zGM|eFN%nDn8JM1U?yLOe$Hv0f_f+h~97z(TBhM+&Q`107su8ibK}{2#Ihk5YK}dw} zgAfqq?eqm^wq2LF^Cg}VRkC|R1v2p|x*{}Gw1MQLn1NaxReEIbOnZ#<=3Xp_3K{}!{`~ynMzwz?Sx#I;i{Voq zFJ961I4T}>C&w}+)k_FTAC+VIk}rbWYG>D~3^H({Uu1n?#!XM;k1j6+YJ_ZojWS6o za`>I%NW;4=PCUa4)!zt#RIN80R?eKrOFZjqgZU3rxHC1J!d=mA-9@rYkW{U^jz9SH zJNQbm#YCcIN~%7_tymAlk=nSS44Vs-z)4S3+PM)hL=-b3Ejeo$a%u#GvhZiWe{~y@ zhyk!|J}3~4bZ0joI2oR@tuX1UiaCL_M2=(oB0lEZ$7BWC+1!X?VhPER=I05rCkN8YG>mIQE^Ap$;&_Gs%;F*dknv8be@l23M;8)bM` zummN01!;*V%Ozzhe+TGFmdmEL_lKQ=@GA%0@ocMORy}IuTtCp+&G2q}ol!oapB|na zPw-NKIBnfn3Eopnxgg-U_0@RPCqvz-<04z~08?;0#zbGqv(p34($8Bq5Y1tLXq0g& z=X!wN;90*4o$>?40Qt+p-tcGInGkMgj?$xBnK(~ty+xB^f~9SdI*kvp($C_{;i>`? zH`|9dKqW*Uv`8jc1ZhYCQs}6@h&UwxIsD!8p0@zvnm z#!gQ=A}_fcjHc4ei8KgT17t5RiSU=8G-@;FJ?qiAdKoaP@$sr`(t(s@HZO%57_LE3 zp*hgO6!TgU$aO)VMf3Hx`)`-|6yd%GGT0>ve*BKKHcRIAP0f_R*;nYe2a!95kwk&!jX2mdeP8Bx(%&xFwPa ztU3cgqRC-GG-{s#xwER6L~+0IT1v`*+NR!4JVn{11^5eJ6cV5y8*KwccASYweqE5u zd`)zz5Q-KnOyvuI8|w~aK*gv)x;3(E^A(?K{+`g_+biL-^PY^yp7%y927ts%AEA!w z-r!Ljg>L35`5m*uEBH?a#sDqpE8u755OESPzk%j#W?o&Vx`(5DRx>d zfgHbdm~St@UFwtZIN#`hd@8X0slb%K7g$Az8K)zr@hy&2yJ43xyll4SzJU&%A!og+*rfqu>#7uMYq+P_l!}avd6N0uBpV zBY=WW2gyYFjPi8QK|WJURJ%x%w)ILKZ!&8l+KD9EIDshgU+X^MsKSMTCViUu-|YV2ycyZ$7)2^1Q$E#(SmPHeZAtq{2INRe%#jVOZ+Z`m}k`(!+Y*0Hx4g# z*UdB{;T}V}BJ<>!)@`crA8C=mq$WI8Uwhj*etpC^Re@a$VvzxP_|1{{Y_4w*vr#|) zah^DrQh5g-e z+VxNJZGyTuX4qHqNh_tmC$O3_o=6r2EjPHyU+^-Ia&tpT3$KNK$q-NE7>ue7*Oy#j z$mPG$dYq7%Z7k=7Z!`}C+gHlv*lD?%Y&%&5>a9ekp=x>!gi_*fQA zs_}SIbPfpE>@7M?Hd=}z;rkRB=CSCzqpQ*4MTVNRB>qREgCsKZ%u)1*A9SoOA_?Fr zYGHG{Y6SqL@MIa@;DzsHogmuWRWbPm!}I8P*fHqkald*mLt@FLi|o-#l6sL==SUmg ze+zeBj2CM6iB*hV;@93lr3AHgW{rkHNei z*!G2EwDh(h*r$}|W*R`RyxX{uC7VTQ%f?#}nBEhYMBvx(%y?sii@cBMI{s!0xMl*Isg#G~>Y z@xW3MgKDJ%bh{cN!g6%I@tpV~YdN2sg(3GH>IAMd6M8Vpq$T~7oL#Bj{njcTAp(zG zsG~t&(1$xDj0ghf?BxVi(d=GxL67{>v z{RE=I0X&r0{ZQM6ERhd#_hJtD_#s^Dee_yQLOfaFECO%qEJHQMYhvpMl>E8W$DQ(T zbvJcMFn20^DLC0|@~O=XTYGs-z*;Qyp^^OOhF1=WB;R+8cPCxEqBIEp?RpF~;^w$ogaXS1e1!Bo zS~R4Jkqw4;c1$qsLXTUVxf7Sfq$OJ9kb>lQ1>-`>ce)1n3kW4X{8!zQ(IE-C`*lRF zr)K;gMX5XPH%Y!7&ij6H=FvqXa&2p7KihRSn&;zud2Utn%JnDPXfV?EVuJc%$`^6t z`ld3~yruG`j)uhFX?u*&FiGP=eDx|a#D!br_jiMB68znWeD&UA`Z|>63<+OF>N0A$VTAWT4w%kum)0BPJ6W2zcg3Ve1@*Usv#krbxgMaR zSd0C<4WzF`XT7KmO>wgIP~J|4Wig_=Q?rsn3<1{01(U`LizTmelEo@R$<=sbK%fX^y8zEEH0bNyQ1*qq`T*g>$8dq&FzQhR^;f>3klAI zJyNijW8sDXR6t9Aim!Qxv$rY`%4vbx;Kx$}ME9MhmkpTk_;Wz)-u_M zaurjxMw@>I%5c@p|G1IQ(eS1keaSpOlgT=x0$Wy+%xF5R+%8%WW=d&IpEix@xc*t~ z^4xZDLzQy0#TzlF-)#TN-GZC7lYr?5#8~D@+(uw&)TZg7bCvhEBXU09w2#ReC^+~AG%2C*DYLweA zJRMNlFQVuBc&;zh;2;k7iDyqiPh&i{zo^p_%DOZ`N|hHQ@fa1K$B!ygu7pUs)7Yp9 zI>E6~O;Q84DVl!-w4hm!LEC<$R{`Zdtv6qz*3K_&JlW%`j-|d^+!*?0`n{QuJRj+^ zHjQzCkLd^t=p>I&Y6C|xS05ebolI7f*cE9=`Osi{yc}B%36`(S`iLAN;Dx0b z@-Z(D(**9Bc<&FbETqIbC_Iy90~JVGFz`BtR&RGNi8PA+#|kxt#1jj|%ocsHfOQJ< z5#7SV5zik0c5aZ$%0l)X=j&T;4KiEa_Tjh=HV5Xj(t zgW6akHA-D@xio+;eSF;cyylxOOCoD*V2(kr6U%kxIF#LxlW7pP-Z3UQ-?OtrEe#~a z$>0d|C(WQJ=>zNo>q~YoXaT`oYxg^!tNOmuW(cfu|7p(nzU~F~+zp~#d3k%u%1fr< z+yi40F0$#S1J0YG65bH*>mp>-(Pxe&b#T02k*01tl94|eML_uy=-=Y#&sP=kY?*zm zJ`ArpJr~%K_vx0o964>5Uui5 z3c8Cw>g=v!?K23I;W5;BceV{myzl^HvcI;HgX=@c`OrVZjuJ{P@S1}e@&b&vySxxE zo02UhJMDxBYbbHCd}i^juTji@N|i28xg#g2o)S|(LJ*%=m!PkQ!IQ(Qohx`Nm%i&P z^G;TMY1unTA7=w_4yechgNb(9V54LxM5yYKnj5`dH7<|>>de*~QC0B>zd}Ee-L_6t zk0cZ@bVRx@Hc?%z0oP}Eq3(dDvn49y_!)Fhgp1-Llz-+;EF&`vQq88P`RX`#eMT`( zj%_=LaTtr;UWPSLf0u31%)u~!^>vPdZzTf1Kd#hZRpGeDPPqsQNM=={6VJc}oHYgb z;o3esij1nqn^z;z8@W2*n-BepTD1rb$geYu9wnD>)CNMCzuCen9kL9^S&zJHZ-2|& z(6O<|K)npL;&s#OC8P!|D(~D)n`?WJC5GG_RHZp$pT(<%Vwc zaAd}0kv{s%(V<7MgJ-u?TX^jSUAv}zPM)%Nls57YWw5Ss(4y#MOmv#rF7+a@?5?1O zBO`rR6&D|FL_e7~7dnFu2%^!de|%N9u5x1AF=sLz{25=(kQm5?zZnmH`>F1xXMyFad9gaJWL)!9X&8ok| z+mY1?;}$SXS5_!3ONIJ2bXTtNaB0wknM52;mrcX18O5JP0?@xdQyJl}44^EcOstY- zL^)w2ib$g>$R|yoXUi>+ccYq|t7JBbghZ@{=M`w#VU>_ipmE?&fU=eHP5Gbn|slU`;+H&ZxYGys#F& z_Nv&V?i{9CrzGw;8K&lgEc6y)SuK}GXy;}^CEsbnK;MhV}awd8B!jMwx}+SDN% z{U#Wi^)=mM@?`sR2?L+3nF3}|qOm~a!{nxQ(thSE?GQw00hFy-Z*7TV$nD{={q@fp^FaoeEQ| z-#tZOPC&s#A;LeTnRXIquYW>O#i0@X3}3x$o_E|W5tC_-Qs6^we^Qc%jHI9_Sm&{B zb{ensV9cQqdE~9Iky}=;!=6Q=r=#I2c0%bU<-RMf3!8kG|PbPwAx%EB13FleIWo0I#%U}N4C(G^Ha zm7;G(CHvz1bG7f4(ntl%8@$b4jDxU&OuXd8hMO-9*M|eYg`?OVpBOI3!rGh=N&ZLD zojwV8_4xPgh78aaSbQ_Qu((Nap#p5YsD{3-UI^4m9bFMVTLzO$Un&t zrB{;3kjH1xT?G7RNQ=}yeP>N=zbVU>N|X_~fk^h*!ok&Za<@2iS|g=M%wSVrirple zB@kFC<3KJnB2=g<5}X+E7n@zj7i-04i%)}IGY`xDSyw#v6QC<)VtnGKx^@bwrAYvr zreUr(qEblMxc>ZnvI(R~UY?^F&_$*fRwM4wySR`K-!$zgmo2@Cxole?)En1~U!#>R z*WAQ8fytMfo4Xx5?mlqx@>txv^2%*bk!!B7zR401;+QP(kr#>aR&w+e&IQ)HautUJ zwQAnO$9Y%G5=U!4^b-YI=q_s-TJ+xd9jL^*w}pnZ z!4;{&AS8Ac!}WE&pV|K8CDuh?KU?L8`0~ccCv$B_)Z#8t`(aatnjJ#&ZQfE_p-UUe zc#p~*lbM;zspr&nPXTb0BHA}LWc0`2tp^q0(7kQO$%z|tItYU}`nL}_yM0RA?8hSs z)bC7{T%=}er~4;zo%iRbu8$>$p~k5=&1N2!L8GGm!x~7QBP>B%6O%FZO<9&25z>b| z*7O%}3rbpRcm6^>|lyJrlFYQqAP$RLrq81K$qbU zLuYQB0DloGsS0+-(lgznCio7!E3CWxmDHomm5=<~65{+hhiCQvSAQ#Tc}W`T%eEwOpv_TV;*?Y5Ltkgj*)fP;a zmML=O@PRh}?<->Yl~_-^6k{WOEa6SaaM=T;Aj!zSGyFgwDGK%oHr*jcnqpS!Tk-Gm zj$+OAVtH+?J!{$Pm~bUALT@rT#?H;}cEK3;x!5sn;&CB9D31%CsDBdU)lb+$ddH+T z?!<);jWEf`2YIq_zj0Q;S$c8w?j@QaZVxo&;^&k(Bg(su#nbkm8LTr8VyhE9tc+eZ z+}+7F9tw+TmOgXO_IS3KyAyE#h|MBckhAd4qz}GodmO$JdyT9{mxP{R&vS1#(5qEedIR8jrpq42%@eoh67__)-(*?Memt9>T_V8q|K`}o!=kIk z0CmJk^^%nJ4X}^HP}7bbYjL05Pv=CqgT4y41rrGsr?)Vl;2XDED7_cr=hj(a#64og z92Q56^a%RT?s?2eZwOQyp3e$hDe6Qh&k)O(ib~ejrMXqQ>+5Ukj;l%P*dmPczh=?Y z34g#Ts;XP$$-^>Y;rEcc-mK3l+j);VKK)_mV5h0daae(d;E4^Vq5yIpl?P8d<fQiHH!j?yR*$fiQA0coZ|;S_qD`NZYSse^;760sEd_bk8|Gvxi5P=)0BR-t`Kc0R`Fe@Zn-# z%r;k~>sxqe>UhHZT{V-pEAj?-96pxT+@_E}Kw~seMmYjY*_(&Lqqpgzz`W}2?nX#{ zGoP&xyZzGFHkgsndGVflb$6+GgbLPr5)ErdN5Sj4>#LWofMXdwkRQQ&Xa@>e6ibbs zUfOu|^@pJX=?#mbE%cTnxS77l(6(Bi3z?Ge=x4s4`COS7x5h)gLmqyJ%4Da&3n6L6 z_AcG^&d>UHAv_`;9`ZunMtTr=J;+ewhU2QGCMkr)-;(;Ou-9i8 zgo7A5QBrrf&=VW5^|qAEyHN4A0)_RizB1L~o2Vf8>P^NMBYJr$ftciuKJ4jFBDf)*QT7z$R2xL?a#a9X#pSr_J{litwHR^qx-H%m?=}fU z#eO7>6cU33`E~Di$9cBH;=C{*>0YcM9hUv5L65@`<4AU0n?rke83l4Q#Wt zeAtCMwRRAz-9d_?1IoL)V(SV zv;*GCjfau3*#%x3;|kj44RB6>&b|)%;rGD~`mWh$%6oiskF#hPHQvmNPP=TORpd(0 zD%0LBI(nAgKbwSaJ#L>F6@4G061#tKL{U=rmf=|J_N5ghi0~~3WdECJec6F%ipaaq zamTbX-r8EjMA0nQBGnBqbYQEP(r*dCY-;JJg@??yX;%*Ro9Xve^AeuryS@uTjkgRD zY!P=4lk8oqKf|>q)Lf%Eu0*YEtP`6~R2D3BFzo|Ic~F{tjP{S7Z&WS17HOSdaaqAS zOdRJH&Bx!5m7F7&Q7CB?wSCu9;l{sRc{IM@ISAf}dc3bRvh9+o54eTbPdg?UDDEqM zYdl+RLvXX^-v71vF}HTFOWQm(;xVW8SjC%$`CY?D9|Eqya}$)j^oZUHtez|CQbBYO zHv~`e@z7pl_u_*67$?Hy0Ne$B_bV+)>#`x^v)NKU&qIb&tlQ(ssY;#uPqkA`S?V%f z8Y_7ERPOz}7>}EU&u!YMJ71RYdHlq!bR}qHx^Klcn?WlSUq=6=D9Frqu8@I zUDS8>m`9mBh2Aw8Yn+m=x14R3+lc48WNEvXeVz0ilpXmjyz33ODRV8a@BD-ce(eAhJz#MQy%ff)3|- zukP*Jl7gb=$I}sW#=I8QY#yDQNClrTwC%!Y> zUfHR9CSmb3(G0*uqX^1&ASSp%<{Z=v%-t?jC$>EvLDzF0)7jr;(^GgZEX*-F-z_$q zE`Dg7?SX$BT}*uSxb8i(KQwX}cf0Tif7==_xtHJ0wGXRJY@CJ4)rHTdA&|m z=DIcmx(Y|-T@e<~$S$GJJ?^#~8;4xxxIKHDIJoSDa39V@8}m6%YQ4o)c*`sa^ucUa zD1^WZOo0(XOt6Mz$KSlY8@=TPDQIXi)?H5T!`z?-)bBA#gtXo#Zhm#);b9}gIjFF< zAEkJ`tV1uzVGG5dF%L>mobmKB!2|tK63|@2x9X6`f`=mJsOE@Ix4+l%_sbR!l$K-m z#m)2uL7?`(|ML6u8Aw2baDIfy|7zZ^LKi{6)|FUf!e_o_AWZsk_OCB~wS83dS=Z`W zD%0f3QJB8s%!?#A-%^whbEqVN(hN9ugmOYYwu(aJQMYV)apqrOA)tbut!CYE4#Q%g zInmkPs>_7Txl$~31racv4*EY-`#)oH<{A{-SKcb>0s$Swhv<}Mpr1l5Cwc`b48mj+ zHXy#1Mi92EfH?C#}g)-cnZaD_ZqEbgbhk*J9Wzz7ykT8HW_NsF`TvDgPSX4p= z5)x4iIE(a9 zx-Lngq5yU~kz80y`$o(Q{kl_s>8bBqIn|Wg26Sf4XDS;n+{cVZ*z@`b&Lq(_9dBUz zYX>k{i&m?O&YBc=H_{1QrnqC6?oKc3|-Q9H_Oh)I0y@=IAo0}Y` z`C>OsErXGr$asp5&5u5veKlU0;dX=3v>P!TwPM>FN=OM)DN*bYq1%O`)IOlW;8pID zvJY8<%efxZniV>*Cl<_@h17zTGuUh2RNoTRokE3oy>!)gV}&wF5hAiXFvVrT;&hrl zxoEALE=v>L^r(mx7S-|Ate5^oD?Vcwuxy<=a#vf~&_%(SykXuolwdtmJ*w$Bh<|Dw z7#@#7hyiIYwj^$RXxliUI+B1T3bhG29xokH2RB7eF{8}uQq()7QD8sRj-Y1cNMec$ zQWx+!{`n}>lFLWJOt=L7R+~FG6YOX<)qFAMY&LM$VR?!1hA6OQ4rTaim_0Zx6SeMo z178}!2PZ;gC~Q2xt7`@U0upfxc{pKsO72KMD_Qb2WHg!2s%_a_V7^vCwTxxxCOwuQ zOH3MuXXJxj%4xXR<1moe1lSZG%>X@-Z!2K#1^qVXEY1Cp`Iy717Y>*5 zCiWz_J|d~P;U1!-6$#Q_mVfo#s=zAAb*vuAvTWSmRFb<1x=&T4*Y=NS_yAnmq3;Ad zli|;NT}i*&n~sD*96F3m4Pz4VXIO&bW+w<|6w_OhJas!SF0!W^`)7@IM#1egD8u=r zKw{O9r6HaL4^IEQ6XhA!V~< z7Vd`MlpE>Lo%Wwz))r;WXuBN&uPxTTWej^Y$?9?}MHWISO%1_;Gc;dnadu(WT&eCk zA|aX*KI*1y+&s^YZ@h-vS6ik_fZ90v&=G+#*xxOlh4UO`Sd!rEj-^TkA#|9-B2n?> zrfAPJaZ5@RZ+enOeMyA)W{+%HM!d3W7+G>;o6u0P#&_5#)nLeZZ^g-fqs(v1T-Lrv=Q_5NZus`kdiTWS3fj5`wDUTs8b>OkqOPr4o%n_lI@kazUCoL9ej4j z_Pf;k)G`ytxkI#jqf*;#D$0ZKAI_xW-d$#{iza!Am8e}3FEnOhkwsRu=+U0ySnQdWvm7oTjdhbXMG`3^|+)iWRwx znTg(0G!Bc9UaEL01s6YBG|CTpc=sJ=?oYDuF)!k7@c_oxw+gxCcxr-4u>Ma&+=7a1 zGl;UQ6a%XOkHLYk{=rrT#gznO-KdlrujrLgU$KwooO%W4>>xyKM$Ws=K}km~!>A7^ zc@9zUKmeLr!u9dR7#4LrlM&QY*tS>cb|f5wlg1DG^Tc z2@}2?IK3gt>>@G}$qq7Nc%KDiDuwgAiQc06dOfskafFQ|$O+dy%u|WfqM$jaySP^t zds9bBhauq2yU72r_@3CS63GLA)+Y?|VFqf+C8df<#GU95NWu>b<_*B6warU5Nr(tozQ`qZ)p-5y_H9uyHM zs?{XH)dhCM>Al`EV9lhR9Kj4SwBi=auCU9j;i<{k)nWWUs{ahtjYUiVKET?(SfGc40* z@b~e^9=4Rtx|Kx#{D(Y|83y= zpt{9ZRCqW8gBz%V%SVi|f3nKrV+Nn6E0H*ZqlJ^pwZ=Gz!3mGyy~`eF-0b1WKJ`sn zS@Q`|;=LjsnxdPkq4cU+yAMgSCn+*YdK^k7cVI`2;7KK&j*ty@&6s)V)~}N zkC;$fxeqfn23uyH*O|;#dc3uxldvZ8dihPV4`ubFY*7Z+yF=n@5IabnpRks3-VvXr zyTm4jf^i?9rb(?-+q)?D?U41csSBM@QGT0LDf*|X+z(7R{;G=Icler;B3J{Mu|a2K z(wGS*f_XF1_1Ro!ei7T)a9mp3ZOZ-EwUj!DCS<-Y5Y|6gy?e}Ffc@aL5?3yoRWk%@ zelo;PkO^ zB)&++ZZV_nv=(C{oJgrC9qxLC{PLThDkOLh7CiRPpO<`A7D6U`3kNDw$!}h(Kj`cx z+CGmOkF?!vXd0Tt#9F6^33GlC2Grt}6PiSMK{)IMDSaOEw-ObB!vUZ4nY3X4V_ z{TFg1%79kIA)4sjvFVnR)tI~l5e^5oPTll&a zuDmt+vwtUaW;>UYc>#_20j>2W^+QmJ{Gg&BvwtR{PfG&y+l#K(9w7y7$5SmmvwPov zmO>OJeB|GSrlC80D;@esZc&9#4)^gHND3IQANt0HtG3m(Cx!DQj@&yjXn;W#k74TI z(u(?j?7d}Jlx^EKs)!PjA|Q<*(p?U%(v6fzcY`o=iU>+~cOxmy(1J7!-6h?fLw*+u z-rmpqKHtx^wzX~RkK2sQTxT4$ANz5f=L`@yqt?y~aUqAuKRex8etV#w7V7d^>l}Ws z;Cr4fV|AlkzJJT>L5;$hPXlu7Mm4lX=RsU%R@7$;&aKKfl8HYq!9``Wc5@tX4 z5=Sz#la5;?Iuo~T0|qw;YDjhc@v-G9`yRL>+eZf-Zs4T=xI-xc)a=Y~YO_5Pl=vQB zhTl?#r2BjEqD%Px4{rQgun-h)Mv!Q#6?uwv%jTfC%c|2rj~^Nt0si#8ve09rEZe59 zEKY6W`=L4G_Q`kcfW{fc&!%Q)n$ z%ggR;(RFuNqL9@$%|3C3adNtdtom{+s37p0_M;!rn7q+dgF2HFK^6+JSILfWjw4xN z_wim12FURn#2O{EKw7Flwz&7HRwCr9*2~+y-)5!a>v*X}gXBNQ*`Z(;FN`ku0XyiP zHZ5a10-ZfHo=GCli4H-C0p8%thnDJ=+P`MFNh$jx>(jLF_>}CdIk>7spAU9OUU1;Y zz*|us!F8XFydz{K!AI_)&O?rnJf#w{8TP^^W*xZCtMkdUJRnPs)b&ZtpD)?)2-2<= zlW}aCj+^Jz<~8Q)C#njdOw4XsD6fNxF{1h4yz1pL3u#LoB;g~Km6Y)FO*A$wE#p}v zoO?J`2~2CIs`_YA<}r*AJTiuA4fcQBGq7cMayX-UhYd~YqD~|AMMacE_vi;TJM98V zpZzLc3006VC!Ub`_*H~Tk2sJHy@4%^kg!~>&VjoglDG!K25Zp+&Q*e*8gDD?ZXyyf zYRJ$&#h!Z|-sXnj+G!Bt-5`hrKX08-MpCu zt^a%r#BS6fC!eEekzh^S9;_VcyiEd2m?Pc2?*So|Js`+9n@Gn)8D(4^H{k0`kZ#Q@ zLI5jM!0Oe!7?$BT8-~W?JMvfUQ-V9%W_2*&=qZ8| z-|&~-uBWsros0-b{}P1Pvr=?NzxQp$(F?*d`88eLB`+4Kepzu z7{ggfYssd!FzdivWt%^0Mq&(O^O+DmKK9v0ub0D^5UN_BNZQ>K|py z8dc((-LBgs4pxn87;h)vA~8ahzGlth;MwX9{jma$Gw*@L2R;>{d$eO2nMjKfJ}CEd zix|+HcB+S5%nmGdTvT_lEAyM=B}An)xes!H3>sxLbkkcA9++1>*ee*=;ZjoDJRGS4 z?<``Qh-O;l@8(+->=yiNt@q<@U#UAuVBv~<`%!@4mwO0s&5%mF&IwC-obwVuZliPs z8%vHsym}Y{TBk@WB$@%10sB_>m%^<=GKmrWlLY3$zC5HadyyL}&d;WnezbTyLcI(F zreIIlC>Enbz?o7|it$ERHW>Ajbc+=?eiJiAR$5D0OGS%gkFU0Ejz`0G_=9AfM{x9{ zy(gC8I0qrm*#Le<7i^ZW*d1UCUYbRC&&Sb)w~z6J(_?`|le>-`+KL@5-y#(2M9QQA z*94`ubwPAW%b&4u?D1jWpU|usi1$wjvb-E_eZq?s2!wM<%DVxY0lGl;S-=i_yR7Wp zJl~n{da=fEjB*W;Tb9Ek!lz8!@ZJ{zEZoml+LPfUk2WWc*W=>iJR`SNEsTxZyQ(kp z^HEF2K;}wzvkWhKIm58FmxkLV zxOyLaAld4&`#o&Qdi`7Fq(!I8G>}=IDMfYHW({}yNQ3J!)tgQ}-hmf>^|Ns*cd1^@ ztqwMp%fPa{^_CeSD2b!~ETg*nyKdH$ua2fqywCRm{HZma#UU#eoD05P+a2y^;1`}f zR-el*a*B^Oxq)A2bBhw5Ee?)%8P2BqF^pU6-3@nYqCKj{Z42aGjvi7!>s~rVDuLM5 z#Jxm;!!Y8#dr>B1X$58sE$Xo`YdUXQ$!fQ&cZ1^_2xInrR8&qJm83Mm-y};16*5 zNFwKP+iU=jZ;C!fvZp)wZgWD`Mo*fW%##pqlZ*)p5|X~NtVbtEiu)@4so^KWz&!z@ zhf7!cLucLmQ&+*TX^9@zt99}oYp8#3ikwj>3Xo;Y!SlHS**2#=ztI+V$!ffBpYnk< zLHENDPo`4_6EjB(xvx5)dU@Y5!1J4-fJIV&`JPrad6c@i5>q9CJw7Rw*0Y(EAQBv}gI zQN#S)kdCAfBkwytIxkoX$Iriz?+{L;*|IqCsecRCdyXOBHb`!gXw$bL8$W|031{FGmkKWxTRoM$;Jdbi9;z7nV5BS z63#3xf)4){LT6Uiwv8|jbqM3Nx`Dbm_O+XJVGvU`<$Erjd}mg!7jJbB zOJQ@l{l?>((nx$^i}D(0Ct&t0n_=lHnTTGli^l}Xb74#o==M^#_@`aig`kIovjK?IbS0?I+BRmKJA82ph*HxI}$gij|D>}eBcCo}{Gr)$8`uM6*&G`D9up-J%uAH4g2? z2lkiQCX$xQ*WaXEEZ#F1hlL*pPC7mZd~{+DpX=va{`(N#rc-mFD|f)b5ZD^r#*ZAT zjFpvU+_=K$RjP}$^a$QcB9Mq+4jCt!*>SRrWH~XmNJ`_}NYsuA>)dbYlaiyw8j8#5 z#w|7ao);{oJJe}uMP=qm^(znF2Bi{UfA2+1Er>^633?D(E#pEjzNGYGya>NNqVR1x zE>ZpueLH<=?JtGd-cM0vAO9lg4HAJgA%?%%2IGdW_lO~reV@f>H9Whl=ZL3dKfy&( z<|2oXA0Aq*)5k@Bp7S+-6huAK{L%KYuxhFKB)01Nz_2zVyuR+?1gX!@| z>dgRuH3{Olcjh@tMGH)ot4J5`5-pU7f%oM|J>l6{@RvE!&~o2C5`>Mu$cRbTjVLD5 zE)yQh3DHs=khQ;ri0^6KD+Te7lCo~X>3WG>U$G4qp1g$ro%ekMQV46j>k7xO+|YxX zf|Nuc(UXz(*w{V1LPs@GaQVlV_#h}VrcWxi>#%Cd)JWWLN=klQPWxs{IoHGT__ZOR zvnWv^6ngB$W$}(E|I~zrPGulP7d&{VRUc2~(g9mgziKxUB{N=5YRU5U?=08s!!cRc z8f*X?*Z21Y=;abnOU!W7CU}TWvCBGYw`IC&giJ1j0fc^?oQ7jI?7kKL%=4$r(JKt6 zpLl1HLPLPPj`n@?T)Gm2xC|{pS-%{#St@RLT{m?|e)y}lCKov`2(&Q#UK*`ApN@va ze9X=}Pwl%R{RH0+b02hR{QQnRlMw4JiNVqV_VF%a zsrLt-`zfl7S=x9JRL1p-Vx@_~ApD9vk=Lp@Wsg{_3`Rv4mcMW)itM%prM$ygcxl!7 zG(U0wi_N<9yY!C7k391G$IY#q)0|t9x%y-q+(2(n7WQ|Q_4cywGJY9i72{-3k0df| z-zgUF2kQI-#*wK1VhTaJkpw6(9yOaYu#Vo2(Y# zy{Mm&;(8o!!yLBykS{vE-mm5{SM4OsZ+!)QU7P$W_x|E&Fg@%!Zob*XQv27ZDGR5S z>5&yEeOtrd8B$gg5T|% z$aZbhQ!VN~zSp$|t2~G=xbW>5Ei%!Ejy>sQLz{9a0}6G!=H?KGyfi0uuH`37)Y3OB z1qx6_oc{(-jsAO!f&aySPD=SQ#Jzy7a3W75zin5mejc|=l+!82Unk`C>uDrqcJ;k-Gj_yqOELpehBZsyi016RhNfi_oL8Sq=Q!r76tizMKgEt)tBAW#?vAo zK^+ra4lkiYLn4$H!=0FMQ`efYe0SRZ4w^EpP32(gp+Qs?K=kqP34@WOnG%5 z^{EwQ-tmt#>+!zBti}0Jouk&%yD3pURGO+F^)4rNH4VCB4qKb=Ibt&i5pQ-TAnIfa z??2AgFL?V9vNTO}lzh10p;5qMZB6>nN1cA499#^*c3no>YSzxudx4EmZa|owL8=#>ZFLNQ%m}v z7>w(SbBWVRjYyxa4D3vrj;AdC-zuZ zB+cjIBIHUjdPULY$C zvNgc{JBS0f=e(cDEhFo1$;e^c{-Drb+x7|*H`P$!RDn*MBI3OTreR)OgqR)cgD>r? zRLj!xch45}W(Ph8J&<#7eXy$+-;69S0&Oj5>dUQ8tL?pbtC(N4m3ID?R_wF6?|wST zmnH`;N?9`G-!_vi2Ba2JTG@YU$R5KO!C9ns7)#~UVcVfcw3dpgoa96xA{RLjd+F48 z`#k*^gGK$LtS^j&#u;%swEI0C2Y7wHFOu*tFwYhxX9tM+Lgf1bvd@K^Rk$4J12nf) z?5&avv1_1^^o7)j^dWf`=B1GO-C6_*;C3z$L;kVicdrDFuY7_S2QtkxqNQ6m zGfmd>gPR&*jCun!g2u)zZeIk44<+b~C{mmQY}HzfMRs4{<4Ha8J>avH%PkJgAEut_ zqxhx?eZ&_wKX7~+8PUYv=Yq&6 zn;?Bhb$XqfIQQjFphy8wzrG240E4)2U$iFVtKeYn+i+;n*H_EBvUG32aNFtO%H%$u zX-U&`rqBA!L!*Lrsahq%0IAr_$~REfFf=*jC6Zf%PSZXdKlkPmn-orUAhUu?vTof{ z)?+PTWmu8l?TadHCykXOL%I=)pq8V)en#kAvN%xqL?Af{$D-<4JoS(PdF-hb+`f$= zB!Q7y!)VEoraoz$hkh!kTz^tpEU+<0OPdRw362!`>hN7x=S_$#V?;_#eAnV4wkf~a zTbZwU$v|;wtWYsMlI5t=s+%*Zc%5r5vi7nQ=&Kp7aeLt%uaQ?%j31ymgwr8k{!#G6 zzb!nAxfiLYvepA7j67%=YDu1_AG;|7p0GtWc87VP{GO5d{$a`Fs!iAFsgonRcUQ9; zNZ_O)D_+2nVFcZ!11Wsj`r_uTjNb`7w04v?+9W=#najgugQ+xhqn*{4{Zr4)OU@6s zOKWhM<)8H|N41$f^J!&{3S9JEC+_J?-<-1|0`@%A;f?z{&RkMg*XS!OEl9|77@M(b z!gseVYN<~2(#mq9It9t%zR4*r?mr944J>=s{%I5v+Fw%KW+H4a*lv)YdnHv)e0IU$`E{N| zjls7Aq)PGZoz*k3){!I$!@cm0j)8QYp|?*bK9*WEMLCpP|8@^dX#nDauJ~lA-g=8J z29F<(7=G`f-|kzMU@ahSz^ahZsXXqCgI)17Y-4S# zCf$F4a5KtGw?3NM#dnM<%Zd+#YZyd@0pC|?yL(7vn7-eHmQLj3qwx~*Z02<@Gve2C z0qNgJl~h(3a0_@udw+a?!{DRfxa9Ryi8sLfRq2}#H)rgKG7^}qetMyaW)bMO!mN0$ zUTT^eQ7YLZ&>zusJUo05pj#hL=<@srW#x(=4$lJ`EAr~lXE-9EHbI#!%3Pdc*x}}O zf|2{rfhG_jbQ{D0E^>^o{s8U9k9z>2=gPx=he93Y6R`bnGoE1s-!&6}B7>e}WP5%r zBo}MNwBL!L!TnloSvWyYq&J?uMr~b_&W<3VT^~>2@~$B(3u#JjzT{0PDW+h8NvIuW z!jz3@Kd=HylNgp-WL}Q2RKc4ix&no*jeB3r{xNt(_yx8vwI6_?NArN8ZDe->UuPtA zIX>82T6;m>WqFcE*m@p{nMYcZVLz@!NT&oi=DK#F<;s!F3i z#KWl|B!Nxf8$~JeR}+w=>7jeY-zq}rPVFYXu}X^;5-2PSsmzFrCn_taGU*AH7ipqk z@->@<58&|ej=U$M0xspoF2p5qWtmzhBmnt>QcLmP+;~+!K(~+X3Ud4gLx68J0=gg& zoCw|Vw8Og)%^`xRUp}IYIgr^muF$^msUxRMUy$pT9v}FU{5}I;~ zy?6e&6ERIs*r-!1^=HS~CnjsVNb<_^vmhw$(I4;U}PH=c?HQ z5{#_ZKy zSv^I&*|Zd36@>UtAN;XKflefcy;r}Cc-w(%>3tVs!czS|Wuw0TM zYRgXhUhHn<2xHd0A9ZTeMFnn&0W5e&ohyUDu$jg+4hI<9OX5fPI1pUp|#aU zao8)^lJg-#1dta3o}k{N>%do9&+;d_sq$oKv{RU->G`Uj9CfNR8Wy{Vn~-b_E>z)HmxVu}Z(oa~eDK@q zo?N$u-u*5I@Od|eAbIaD2pc)UBc=6e+GBm8nW;RByzK3ib~2(Xl=jqf?L{CqBPOZ* z#0u>Fc&YHjA6o(0pZumetU&%@z6hVP^pC`@{Uj`6|F%hAF)H{+LVjE4b547v|CNGamGpS{r;xxb+xnV zNAE4qatDr8pn>}-4eW8P_2{vgKTCX+EBR|ga%3HUWMBS-)KsM1F&jBbVC!5-@Xy?PW zj~hx+8d1S7eGnM9oCgVr;{Ngx$=Yz8w6wGVN*)*1H9P--xNhDi!4_GODW8q>oNMqe z@)kyNZ;#0E8_w74ui9fvu_hT?R6`$bGS+j=-b=EETZEX`xkYj(1gdCiGH!nlhKw>I zAl^c_|M7g$y+su1fOLX!(>^|T~0wyUK5X<@a(i7L8P5xVUhsq3N&(uMIhgx zuJywvrS-jiVTM1u`a$46oNfHG{`@q}l+$qJTci~FNRm5A!BF%D(LR^dvT8h(|EIuz zqxOFQuje%k`6-qmajP%4f4LPN8-Uxx`0fq<#E`2YAVDzpeU@gl-1}6qGQC)#1(Rqkq=+uMa(!0wQO6&z-|R>C2xG`fDm$*Zx2L zdzg6Czh?H&hnS23jiPjYkWKQ(D*io7R#9LClthK98#e4eHtCLs*mW1~DyzW7?WF(x zeT?XrzzBvr>HQS{Ws#DxfH{dJ-Cg^~p8oZy1{9$A=!GX`1j8R*=AZdri$bd(5R~*O ziY)(s*(HN(*M`UQ)duOmEHdnxI_)?7aQY`q{%e;>nE+M5M(M)7y$j&~b+zzVjEIO3 zuJ-!xHu}F>Si;h}VeCXf$*VKN>R3w9aScA2c>)@Y_ZjgNBaE_H^ zrg4-*V(VIcN-bmGTBvsA2%bM2ft;L8AEMbWJp7l~vag{zyR^}*HZV28YaFY(8`YFB zZ)EDFoO>6#e4lh_ih7Mb_b)vXxCTQKGC-YUEKv!4lG`qCoi8EDEvIV9u07m21< zY^(iPg>E^JHEJ1f&&O~nSB)zPe%;Fpi9QMAN6nbRO3KRJ4>fk+_IYRad6%l|&#Hmn z3ObV?4k85UY*o&q?GF{Y4b^O#Te51N&*93$gnTqlyfm3)-1fq{=jKw!#>Z*ifcMfw zf?}(;>n2=*ITM4YY)4{P4WS3&kb{1SZi49@@9-Mm3k46!xw^A0*7^g9`tXp@8_xRL zNf;3T0x{<%F9q5-eml$-#I}&^9baXU9&-gAOD~+XABD0<_uLx*F;rPp8 z;sfrXNV_5W)&OrO; z%ltD&*w6mSM+CI$t`%o{UuOGOab5~YH|%r|2_>LaD4x*|IiiVxsP-2^+he|N4(Ak# z7G__vz_u^9wqup+PltGEfF_Aam;LS~3C+_`kj+Xk9@zYyX#mJTtpe3pu=;Ow!^^~K1 z?3%q-9J7(rUbFn#WHHU%Ej{rndO7*PR*AQ6O|fvzimM~#n6`e8cB$}ktuP+UXexo$ zKmrRPVdlRW;5Uzqj8rQRbl=5w*RH#msGoAVSl8^qSrs!~KOniBB{^!N=mq2V@SU0M z$1n4==3CdS<>Wr9wY(U%Wao#4@f%;R1YNd)gbpX$m{#y2fU^QVE4n0S(T**wi6QBS zlA>i{H-Y|IIhm&5ak8pmrNn=H(PJz`A}{MlChK5+k)MU?`}4d#u7e#y`LW@z<)9KI z;Yvgu=uN1azJ#$(t6kq-G8)1HW=;aaV>}ViW0(1kAxlKt4k85uavksVsSu`n&bxYI zH#axa&s7W)78B2+5g+)kEV82Wog_QXoJ}ulSc3|jz~Fjb3+U&wGLwF8M%x24(V>*{_st7Znp*|wd2bA30uy5@ zosYK!g(jlP7EiqiEJXG6Lyqf?d6#4^7i8YhFgo@5y;;@9%8~(k2rk#_6Iu2@QSy8@ zlHmATKi#hNa|SHabEBWEQlvKU(+(H5WoJ2i)3e!)v*My4<}#-@Xrd$wA6$+pFF}hR z4jes+4-M9oYv!=O&RM#jO>~dc9hHUWX_8f&!^C8qLi@x!Qn-1K=Mc6m#l=p!je%+YJ7W zVNx`ii2d1#y3L8MKq79J{uO=3`hD*Du=HGEi|S2|v##bO7GOKXeDySW!t_v{v^yhp zC-P36K46nz{%dIJYq;PmLoD^jA@JX=r>LqoNPn7@)={%O&M(D_{syhN_v>iSU6ryr zmfB9ndY*`jb{V&RLXh>3l|?#R&vG?RJmUT6*7UA*ykJ{pgG`j*zd~iS6M&k4uJHap zP-hPjAJKV$5Y|ZC%ZLW1_S$6!auXv`xSUq$K z<=#F}fwcZIl!!tXeG3hxlieWq$(rNZ?QUQBRYTr&6$4jSUJChFJ)e2r|NH>iX?)mS zl5}AP{(c`f-3E}a0T6*W)AgSH<;j=EKZ0{7roIwR#qHf#7KBA_(ReL;L)%;hEh!M>UXI7S2ge7i&J0alQ%|1SMv1(!& z+3w=ZK3xTkoa6M}F?to=B_jV~tOp>z3qSLP@H_&pgh0sIR<(RHL*2=o0?@RrY5{3J z??t}|hW$j~A1%-9BmPT0kubEH=i!s(DQ?~F{L^G?pLcyL34S^3lSlFDW!WzIS}3;9 z_O+vz*_{Y%1Fz2lUkB|lvM4ocu}3|A@qDi1gnTY97&|v6DtZ9tPR?m5o1&yOZ9AgA zMQ%9%neX6f2?PSl26f!RA;4F5J@L>tpEqU!$P0%56-L^}79^?GS=WMjazx&ZRhE|O z@tu0uXK@?E?tzwq;0m3raiy+B&yQmb;N!IwjR zUGKg{!M?DDOrU||=kJVGjlX+WWtbze=CgN{vI-;a*<#I~zwA&`$|iOm{{G;A^@X1D z&x?j!w;wBM=A*M6E%sMKNf0y%%|MY=o~^a47cn!!`M7O0m)-6gN{6sZOEa5CvKr4l z=A1kNKAL$uO23_5FQ2fGFy@_)=@H!+EUPFhiztp5$pk`0IMfrJ&j^i}Cpt8M2D6-h zqC6lVAU(-*7eg<<_FDvoRpIf_i0_BME!&9*< zM@S9&!mT&BK3Tk*#!K9QFO_F`^e?bVdkyh;SxavryhjLDu)G|apn2NSOEgj5 z>OTH@Igxx5h2Bo>g-4DwUv}h99*$^k^ZB0bx@sDPX=K>^d16p@@U@7uc{+b;p}?hO?*V0)~jwPuOEkh#b0s06%^ z`A06m@__4o@*K>3>FjP(C!_lw1a*5}=|tAV21Fj>>*QJ5)2xIP?tm|2b7U>|_u^=z zA9C|6w<$GY84NS)-Pz~A+K09~jOj;FJSV<7X^pD~P!oI7#fD)weZ{1XMeU)|FW4W? zW!s_VvfI4W7vxq7+3TR~_R~DqDY2ZXODFu-cKG`N-t<@3=S_@x{tC!wKzGYx`z*g+ z?wnm!Wznl-=_WSyS$^N5j>lZV3%#Tti^=l{Mdv*TcD&qAvYfssu#cnUg;aM~IXaH< zEQ5NilDNDVvt6#vW;C-9tNvD|Y=G?0HP?H58zzAxAx7(^%!2)L-0I4wC=*4m?=>c&8M!(%2$8!(mi!aV-X^GoUESjMfUzIcumDYJa zr|m5yAH0NiXEyE5w|1Lqp1s>&cE4O+5^+Be=>{hOkRO21kxI@Rqs;q|9#?3=`*V_| zCX!1G#&qfoq35@w0A0&e0GcACkTSbysmT-pEYk5Tl zE&D7GPBR7ue7mg*z6^3$-<&MEPE;EoQg>oc+Jpee@ex008KoK`@>BeL$I1-1RG7F(3Lhsp$yw{&om0qu5 z6&Tc9XQt-+s^t++T5;A}JY@gmv)3ZWCj~ODyV=pV)~@A*_^HP-ocv9X3rf=A+ft&5 zdPxH(;8v$wWB3KpH2}=i+8H-~8()n;cR^%jzJ2vCgmVcmkVQZQ*axYxz1m}Y41ND} zO96H*dEJ}jqm}jMHj0i*H}F^VkxWc$j3fL(VAtp1FyES~dj4bnf2-%ODO_ArQCFaJ zg#Y}@O)6nT1USTeZVEQUKY7Go_zZYCAOrAi2T8A;ZoY738Y(KrrE;T;tq=cKqUnFs>VFZvlg4#!nUGB`+ERDBLMf;v43c1f)52eP zoW=I(!BOYzO)uvEop-wVt9@+YFR~eVGik~+Y+u#QVmSs~HUCVL!06wb`j;@+0qe>` zLb1J-^ndPRGCv@o3%r!Oe~JBHF9!iqx9B<3KMdBtslq!R|AXZJ4*|)B0m>HJAbXoU z+)DP(D5n6UI+}!u|JSVl^-@3z&~sC`*F^tCg)mkC9ny6d{{J`O|NEP8ZD^~7?Ef~6 zoP8B4Wg@B(>EukL>N@7p<7az8JMGJJ89TecE2*6^v>Y8bv|lZT_b4#FQ+^1+@{&Od z7l2Q?BP?z6yM#hx8$B$7eV#ZXmMXT{0E~g-M&6 z^d+@r+8o^LN8oX@yd;j$MX$`|p68pK#;SSWlI)vp^mkT^+x)&$28k(xYD$*o+T8b?7E&&k;{T|HMMHGXd3P7+yk^cEP z>3xXf;$n~_ikhJ^s_SL17&uq`rA?u_n2k=`&}$!UGK_EVjRdObpW?J-$gZADUSZGp zKxezZ8EvX-aNusJF$aN6qa4>D)tiP%V1W)KSV7^m<>h&%^L|R8N|kO8$iQ~QtpwuM zm`74?*;OWgef5gRcO)}QVRurM(RcRH-uq|U-TiACB~|-mC3dIUC3bslKU=7O*B$R& zPnL-b89=A=WbfPS)R)R;tiP&Kr*rXJA7k#PaFf_f;Is}sSi8mmOeh{$1O!Vzd{Dt> zJ_AdZ^=>~vPm_*Uz}*jtZOhL*JLG#NET<2exx3X{DN9b}atZCXxPMvc?6>!Obb1SmIKZApWOyc=vVE7#&{ zmr#3L{GHwA^X<6jNM>x3)MsDB5bUp#iI@VVSq`j|mY6`tW%J`W_p0q^SW2t<&&zLn z&NFsij#JBMu>?W!PfQ1*lHa&{5nDe>0P)k@=}MbTf7A{QQKW36>DpVdJB z7$giP`OUnwyasTB!wdO`@T9UKA1ul*P>&hMH;0^_dd3G@UUu+e(nAL*<&^itJ%< z^=x>I**2}UF2v$=mRqhoZxf%2B_( zIu9UqDfr0_5$+-rv}eB}vA{lni#U3s@qwrF!Q03ac}pB`vlM=r(a1OC0x`#@53 z4R*?}2>V_kcCmTX5UgIEOD#kA+(+wbV{zNN4py_kfD`ckkO(^|at`GBn)L8>L=A|w zs}Nsv3^HRj&RKhX7mzlRnKDOkVGJWtztQ4ci)8ubQ&W;k*hHMEfz^I`pV}`u-0?5~ zpo3W?<1n!PM{tguz0Q$QT@M*RKgC^7pa>G;VZdEN;aJ&j+)==j=nGlfh>A}d?8EAi zUJvu@?WV+D`BbMtWWXs)Kg`=!f-#+dLaev7XqaW)EG>8g$Ky zPk5u5G+gcq0UsCq4Y1inKB$y~%HIMF7UGDHFNob*$kXb1G>?B;foHxRK6TG3o||cSO(Qt zOWe}CdGR57qP4?h{97jDNN5(t`zR&582Ym}c)&_~pToU|+P}8fe|(5;s9V{O({SfO zIX7j%KidFc8?ads&?}}ufic6o{@%+qF1IniH8sv6>L)-mM3Z{l-C7VHAD0{Czg~dq zlY38IIBb-rWrO-)LcMUi2ih;SvZlV`pWaJYx3pO)$WteRY4e!tpr ze_&H4i-y1l`!lV1z#!W2LSSukO zR8!&uPmBNcG?sZcEpAuj%!wrFL+bG`UNvLWf=rLIO*_;3{FGIn>a0f>zdSmuX=|Lb zPJDs~pXuG8M63EvHyAeu$Kc?gQlvzrS3aGVYLLEbC6eA3g1y8CM&us;@jhc6@9np< z{1~hY$9Y7+%9HT`L>M>gtB5E-3alrfXzy^W;?WdF(u$b@UGOJ?Go<&d@!+Pn%V@>2 z6-;SYLd+SQO_ZD*YBOwp#oz!Jh@!xRs<}VO`7!B`vsViXm!DaW15fV zLqjFfig(V22?8gP zq21v?d#N|jSJn$S8E;1!ZeiW#3tiUUA56ZdpG%n4j33$<-Q%Ua|2tbm5dfUvon9)y z-6~K9J9{Q#3QH8`Gm#f+Jd6bdgbkMlK_Cc-$h7pnu$c>TbCY`~T_Y#`qB!&0Pjb29 zQKYvOPVD0alcnpArHXSn)N(}~v%N=L>Y3qu@Q4;oM6 zytjCqXJYA1Yi^1+E-)0C`a3-o0<;1r(}X%km$|tG?b3 zhr&~OCq9d6T&f$D*SzH%QJ#sw@Vrh@JeaTBD1=8905|m(j<+79`!a~|9gy^|AfmWV zM9zdqPN7sA|8Q%cJ@MZ^iWyOJe3=Gq!SIcbMS!X@&p1uH?fbUI8%{e;aCR-D6WP-~ z2F~al*KsO8d51c;7C#UaA0#GCCi6^?6d=`0Pb=1%*4S+(&t(M+M$h3&7U$d|yfZrS zN!GBN_m_OQ4!Nt#9xjv`yeIIC>N0*n_A4EGLhF%pr4dvnrvQX5Nq&#XnKqAJkqbFq z4Z2$TXt(DFT6~DlRJCbslsVt%Ymc6@On5n7(4ao_zV{+rIbb=WP`*CbaH5+K8h+8w zv&XW2QoXb$641RGy;%?+e03-m#KNyNF}uV*!BEyy#+98f@J?Khd1wvy+u znA=y>te+@!gUu%od2@sx$_Mcc-~?tR)%To7wI*t2avjxdS3q02rSoEX__Zq3TcNGv z0lkyiVZlh$Ry3H@OJ7)Uo<|MB#vwIEO1L5wFyRaJ;sOc~ld^8fx~l3@SBuhd22a>J z3p>!D@6+RHAuyq|z_VWTXgow3F)f+7GT^&}5}DWUCMN%A;NCfLF#0=X)gn!|mK)yO zyw>etqMY&oaWfz#!5!ytUGDo5`l%`x3)8rzg|A2_mT5O;^a*Nobxc|Q6Pr8Ld!D;; za*Da^)_a<@OTPOwc<&~Q2Iw{?jk#Khi-{#v?Tp9F%q^muhlmW;yJCn5XbpKA&ECO= z$MM2wCemUU9flT{;}}Pmc`YV5<*Su7Rn^?qIvGPEO$zL*>E>Ul4tK4ILuUfP{!3r_ zTPTCa^@#$xg;(Cwt$!qp%N>3QF(3-g%D)%NqzZ2%%#N;rijS^;da;)~ByT|x5ht!t zk~p-++(+IPiP&#zj;vjD|~JGYH=)o#}Ay$FpP&#Srv6Wqfs`Dejh9nMo`44lo~ zdkF~ZlPJrRkB1==dCBXU5htCeXx$|wj*+gJx@82dB?WG=pksc%8JEN3OUC^#l>7r~ z2gM}JpZWLYO7=s7IP7cp(ZeJT&aV!1N=i+GK+7sK`qDFw)gaexB7+g3s2KGqzF|Vx zay@5UmP{-HAIw9ro+{Ol&n?b;#&Db4fP;N(EF#E@F}|I-Sld0<_+e4?KsmxT-+G>X zeEHOmDSB+dS|-}@S=JVpK@yvzJO+rOk8Z&@h$~7Nx2yfI`_oM2gn%nX_A7z;At`gA z4lK7Cp(>Ty{LP4T34a#$jw;~`XQ#oVR~Ay^O1wb#^YQQQ=LX93K7u4=zFpyP4N}o- zDCr+7FpF+H^*N}j`0j@Bt4Tvk-`286lxC@G3R99Dz>O5 z{P||Ax2DC9?A2X-#=tN|0~n@Z9Pf;c7iim&(H89o5ds6#S^Xk^^uxp}mXh_pD3I!e zYMg;{nr?Z1mSv|K^;RGUQ9CE?5Oszn$UX>1xvCtEWd_1x_1z3+R%H#`|4^w%0I{@n zB$F1IkuqBbQ%Q|;5C}XowUiol`3>aOwA}sG{iG69zRqeFcZ6A@sN346Ykr0U zoIqY^9*oI@tTBT`*6h*O0e|K9#9x)6btipUdB$*7PBpO5^4nhD>)BC6k5KBokW+7# z*nv?(xkZ}P;`um#g`|%rH+byq8ja3?QiL#~-@)ngpAt7G7_NnRwa&m+7&}i7rm}_?DLTztM&RgRN4uv?`d6q zJ+2+`#S=N$P{$?kM)_Lj^`*aTEd_QipKRZHr+^oNA?xG($U&bB==k?cLG=5_rx6s8c7COc2nchoLH`QfwbaQ@v z5c(@E%z{7I=DN-W1z6!tF86Z3@)dJb9A-M`5&h_GLu9)MGMHihxt;T1OAg|(H@Ozb zGE+nB%nMhjqQebbv0rR@hn^`PUM*)=C+>cAj@4lUdAG&7tlGONed)=a`z6cFGE8U0 zSKS6y#~S-zEQ@lV+Hc#TRv+IRiN&gL8Ka{sjOM=DuG9d7H=3Gubc4mNGfjr0k;aS`;}>z$F@s|N<}Vq{pB=&iKX8(TS6Lo^x^Acf&mp) z!>#&Gv#}`1iidwx&C+t05aShdb@M3~c(TB^W>cz=-Tu7Y5<-J^)q@@*Z%?$LtRA{O z!8uAdLO&EB<#s8_rHs)BiTS|_ei%DIt~7D-bkZ|}{bOd2)Qd=KZr;-6ob$Ul7hT7l zJ?3C4!a;#dwdZ)lvcy3T$CZsE*4d+TpDV!FM&TuYwIF_=Xizd`xCgB78N8F5(u0qr zwEb3{(m4SmGD-`@@XgtejUEPIOc!p^+QR7jiQ^E%f#K)-! zL}%FLr;5`b>Cb%f709aeLTlU(1E}1WALmgi5XhLbfl@`_u~;z>krryk-p#8v)rqg< z#>urk%T);J_lXZuR10nz4$p~%2V56GJ6soBBI6Nb?|O_q@4cX&4A6I0iw_$jRE&+A zlMDHQ2CoCBTZgBVUnQk@(h(xR6oYUi=K_f4eY4&_fUa^2wk!lTmm6;p-%Dr1O$nqDCHRAR-x*{{XMy+KH96jE?xUXA2E!mz9mxA<96aT6ddcE2 zNtJy3@D&MkVor3WQH$CuBpGI0p6$h@l=Vwy6MxsvgE^@B5$cfXQXBtOt;)20q>9>9 z-=-M`_m$&}CGnZ&j1hE_sMh6q8%;otx~ALCCsV_(IxjPubn4$Ygo`2}Bg=@^=v3s$ zNJM9rOFxt!AEOA4DXzl93RE;v7N!m(Oh&NgQ$ihL&wVF|{;SXc+#rn|6gDfJj}c7` z$6FBvoCAtHfW#{Kc#NwI*ra_ex0^ib8J|kO1CNZf5@~TxUib|pCY)i{EWTAf$e=b^ zOw@xv+?#Pv2C-;Fp3EOA>L%H>I zwVomRM|InQ2A!I@+n5NnYz5#2dX9gbcUWU@QT=Ml`e^6HGV zRrM>ViVQb^*ar{zlikc7&mA7?dLdu1bfAVWAA#L7)}dt)w31Ps5)hqJ-_B}7it$2J z+R7oWR6eJkkQ$wPo#mVy-NWOtwDq;dNsxB~t0&A8iK;;fEODx;N02}}Q~gm(0`xHb zfP)cFe(x&BVkY-TyBQCZcrKSaq3p`MIu&O%3&r=y*Ojo$iB#s92GQUY5lpmA^-0Zt z6f!Z=v2^&`429@(TP^tHDyUY+Bd7DpEn4tNwwE~ZZARpjq5;kos6H7Hcw}zJjSp*% z12;$e{~xBl0lLnnYr8>Xt3hMiXx!LnjK;QYJ82r*HXGZG)7ZAn|4#e7|N2(X>N+RM zI`_<;z4vTfb4@ybpvEQ)Rj!p2DtpQ@TJ$50ZY4d)N;o{aoAqwNiP3zeQyuTuTB}5! z*R8gJ-vgq@9-q-J20FZEp0_*^ThK>RG3u2Koib^@`23NuHzdsmp{i6duIx?%Gn0O_5y`o#(QNMQv#kz5wNj@waMHKW%9yHtW1@my zu^?b~%VXo#(|R6TJKDsh?8mefdYBxA-*i-@aq!D(sZN(CDz!mW!>UjJS|GG*ysRk1 z7NCov&$zCBUjAdAo~hkdD_@GoXVO?1O%+j7o@<8cq%M}VJEOep{{w5dJZHwu)TpBA z+s65>nT$?F_l7y`30m^M@XijX;)q6}`2&+8mvdlFjDNb;v39$u|HJjjc@#f9w_CuG z2|LAzj0rGI48rX=wf_6A-kX9Pb@5-O9h|VRMw9I{MqQjF);vy&tvmh9yAn_H{?tIN zHSu(1vIzCtSU;C+S@Kd;rjthd+%d`k>k`=)Jg(V|BJ^alLU*jFsE3u|crz=-FQXc| zO%{uv=whFqO*w3U=7ZX1C$C0?_@;cL`~?$SS^w=j#ov9sQ|$db60}GJpn1@~e%etV^*WZR zD0wZBt-=aVA|l({mf@m9OkMC7_KbeHuVIzDEd$&I_3^IqGQ9fZA&$IOOE{0xPfZv5 zlt%&F`q%!(lST&~e->o4IGp=dW*>#?jRnVqaV8J@9dXne4_J>ZkLQ1BT$oH-_2p6< zqvyWqQ?nv8e0BBC3;l6}P4#=;~S;n?)_=cCA`}D~ia?sCHZQ#QvdA zBRVr6#_pa}^8-CC`g=<6-(vMUQAn+`%mFfZzl2WG+FDN>t~og@)mFi;4{)0osF<%6 z^d|N^0P&E&*=5d`emfy?@g2(jBHA+?tF@MPj1x)C1|rd{8#X$Pfjqp*th@BVgI`H| zO||)#{+daBUFCXpv=j1C!fo6ATmWqgqn((@gMXP5O@(V!S`C0btWN&6@Ss$05?XOyTy$fdebCEfiUtybNdjb#KjYSCZM#KF&^P zY+?U7_|{y~I;nb0c#jaER7<_hv#?S%&Kp&4xDdANX|Nq-eZ)+48j!kq7y=puPI-Rl z_vq297r#uGYE0jjs%F_w%tU$Izflv`Lnv^173)Wr$8AV;H)wmFBn;JQ4p|jQUqdlL zET#WW)$YM~Yb@mElp?b&59p;#UMHAB1BtBvjr6&o#HQtj!3l!u=qWaZ529up#?{_m zqv(q>y!OVrbpF3HsfzEAeI_b2ph!&y6>;9^jygJ0KO}8ShY|3TjA0X}%JdhO)7|i` zd6(Nx!-<{1m%DAb*K1Wx78h1lD{LQBxjv7Rf??xK0 zFga@tZ?$l;YRB-HIK&a0Hww`Dh!_f*|Jh=-9x27K3N6Ug{*!jMX3O!1D!MGtfmd*=|oj+o=-8+~LUr+$;RbZ%X|ii)f|v!4``VGa#_ zzA8Ck?$><{(P#nn7@3bj)FL;=8OI(P>WV*0(vSYpx=y@9UY6XgOt8R>Vms^JShfpX z$mmCwWo(%(s=>h;j*V()=z$wPvLhg}%c6RV_pmL}JsQ#))U6j%<;xxF+C`nUu`L^& zB#Dkz=KD{etb=-XhnkAi8!ZJ%qF1$WzlhegsXxdN)1WPVzRgmY@mbJKWtDrd@p_3o zI%5L%Sx!UI1ERvstz*dmuRolmuCMwqSfP}JRXXHhmW=`K4)C+BNKza1aC7vjbU$SN zlq^y{vF^q%MPF6(8c4ivKA6OSDd`7DDfK74#tC zhWX9|-J=m&d?28OTq68*a7H4JNN)G%Ho!IxnuTBn7 z_mx58ix<@Kf>wMbTp$u!Mr+(Rh$yC9hSQknTG2;3`2rT``UUGt4xYQPUu#V)rHSEI z!>!^{R{30taUF=p+K?U*wF6aqOq_Xe=fnPRzhl1>QE)EG>`qZYxp&c_UQ4alxqX>3 z9Y$c80+R!0`^Vg_98vLQ~Mv6%w5|8tdY@A{;&L(A0TKm?L&oXRb)i6DZUe> zQ_(2KBEM}E2=y2@S#5b-b8x)ZF-_3lAxNCKED)fz;yM8xzT_|=shgpjnW{U>aI)j0 zRV_pH+MI5(xu0WxkZ2v5SW6MB7Syr(iIXVwf<}V?XKM8~TCa>2{9&1cn zQYz|b24KI+<9EC&M%gqk6X%UN+Akhke$wQl+i;SJg+zq<82Pl?s@6YtU)qZ3dZ~T% zLV?0&i%HLl>b^v0hWX>iIh@us-c1gl7 zb+aJ@YY`m<^Omf#$|Fra37?G!=k6}Divxd9MyIjJqqTG50XP5WFYuGt0h9C`XNZ0o ze=*7`O>%55OwS(?w4|t$RqQ<(*_GxZ(dyOrU$1nm&ME+|&u?~ZE9zrnX;G9k3h9`; zh&=5UOuG_dV&q9t5-hMaL2NPBbLDO`Ws?J5na3HIo;O#iKgEs`WfSEjbZvIq^BU0> zsGsqi+G$y&{+)e;6L{w^F^sW`9|4Zlq5s1}H^R?FzfmUDv5@YQEzkB_O}*S}e*eyh z6T1+-`mH#TzmCU7VfmJMM(XJq{)AxGbAhT+@<5{=#0+PV-z$CEg*j~p*Rnq9!vnYX zXOG*=(aMWzOl^WN0PfyTX-lt|DutUZu;^7#q)8S z-UE(6@@l=GD~?u%m7N$?d)Ok{>40VjnDo6OE&`kFa60W zNhSW<75$%XRZQG&>r%s?whcTYq0(HCO^Lkom0zuyzTL=DbV*+XbVgUJTLoh|9nF3-$=)5UI^J(gso=Ytwa^Icz~D;Xze_D;t!Q5I(_uAI z*-v3@UNSefqS5wxs(-!rpSGnLB-aY9xYG6dWTI$9_Y!(n>;yIg!q;X1lV~7pm=_~I zOu~%uM1GWbMmtG;plw|l6ij4Jn%(cgb+|U2+wkeOMtrFR@`>X= zYS=i*d)%Fp=pEk>gLKXZgW4q}`inB-U^?|M&G|7efE9(AkxAn8Mxv&feF7_Ass>_I ztlsNk6{Rh9akT2AgA;X{?g|_`9#viL1zSV~=xDY2NyxOVgH&Nx?Cz58?s6Eh9R*rX z)NbqLX>_e^X;20o6S_fc{nM&KyJ!sSLMefGC5uLdL~}P59=1-rQx*`o1NLGF?$ZB{ zw8Ym9Jg9Blk>0mR#ZaTJiPCB$8B><)Ir2QqyX{KQkcD0A!85^9Tee-KiKWt`=HmoL zd36j)M~>9TWCO2c6jRv;prK?_=|=+7VkIqSU;;otCZ5br|732PGUmv!W~4&**q#_w zYqM;O#w>1Kaarx<8ov*Jb9`SrZ(hi?v^}@=+BHla^pAg_UjXQ6s4^%(1D!xN&>OGg zgvN~2O*`J&w2{#&o|Z3ne)(JBsT-#;m^P#`2$vP33B3(vg$9&oo0wUiz>%YzTqn-q zf<*~{9yhl&r1IRYE} z!oui}NNn_@#|J&Y25jMF%+1cQnM7 zi2vQFBn=F0o<;W+lsPcMvIi#Q(AGJx)L@qAN zn7T1;{aO*(nleC|N@l#uQtzm_S6O~T;=Pac73?UgyZMpWL{G1KyfKu(xOoVf^w4Vf zhaV!=j?|R760b6)wlKLy_Amv|(CAe+2>(}x!Q}HrexY@HhA$L(w~ij9qyn5#Q?nz6 zJ%f~yLn9Z(?26*%$6T|*<9#Cz^ylw-1iz6T?V0;(C1WH2LJ73~lDNv8pXL09mm@op zwL5#HZS6bSJu|C#vVu5El9lPS=9eW$SQ}Vh$<%P(+R{1+p z=jQhW9q`^3bQz63DhVctU}A5T)=-Vzmgf-=V=`4{rdXm_;S}jFESW1LYO5e(vci*+ zfzj1cW_Sxw%6f52Vt#(`;oU}w01=C<%%+TIaSr^pI|fL(f-heHPQP5HKbaZ4I|)=M zX8pK<=|oS1fAQfun1KBTXN#&q@vj5dEOLJ!p)R@cCL7;PgBpqbk(LV;M#7wxBa5%c z4=y}uERcDD^(M>j`3Oe=17jqA4njmlktH+y%vPmtKEoCB-nh*M87G!bMhrK$vitEtExVsY7 zMVTgqyu`^h0re`6>Zl0^Yr9h_|JPY`kaSSDz&|+HDm11$X!-)M46)$A-JN1tBH;Tj zWymJVf}kW5zran<*iYL`*+xy^f-xgmf?)BtLe1cMpzBOcI06N;eHd<_PeB}tdl}=K z?O;q?K#OseuwW@j>0&afI{N(a0(1aUMNh=MCGgLdL>(qhAPa$V*G2-$ikb$6JLIMwu_D|&)OGRSIAGWaR2bBng&3h^v z=XY!W!V+ZP&vq}wNOd*FE_I7+Inm#>(Ja%_|4TBr$Hjk%!MUj+OmXWgqI%5r7IHFu zCQ`B%%Fo8UJ1SL<7_I16470v3_}K>hlR6qXpJSlIIJ<{OPSCa~p<_Nk$MDBPO`n=KZ zP^bzyAsWlGyWv};|3=XEJ_7p7vP57(HlQXbtbS=sIlxR}7BGH(%VsTb_DFz^39ENx z-`^kT!ajD1s`x0uxvgy$!;+ixsmO3ZyAj7k%7p6+- zCPb&=_mjm}<^p#<$8!ziH%k-C8Q(Qs-SlzyMuO{|L>njK%qd?yz@*Mr?xLGX)#p^f#-p z1ciU->Vp@)nj_uaO#(7Q6q(;o8A_!WNaUv*-%}uYCaPx|>kXQXY%=PF*p_Zr`nCemd!bYe7gHJ{lJMxJ52JV?MH-w%s zJ+~5QJUjsLD1mwwS+Amt=oYh5uqSL5(9eNuL%@^C=#}Rx&#&l8Ohz?{A=*qoPm$V} zs2T7%xoetRVR`uX(52SLZDzlJexL-LD*Zr7DW4+k?`I!yGEm=N@|>oN`1+}?z1=25PBVMbi{M^UKuimQ^m6TN>&_Q=ahr6@y6eP^!qCWn|S%x!b$2Y8SWr z@rLFhoNo44VSrwXb$%Zs3jO-Cpd<1rWvc}@QEP(ZE7=lyARy_*((M<^uc-EVBkub3 zT)(N2rSAG&Dm}h!qV#a}_{rD`UwKmc4bc6;d;3^su`fct-xkHgHt^y==XaEz>2cP1=r!JpPU`D7{txOqB<{~m@XkqVn z-=U2z{i~#ENJxhsEXi%8ttx?=O{gUOhE=$@QSEXiCWI}c`*^US+=L(~1Ry9TXrK<< zY{ThUc>k0MHQ_^~?pb+sjgl#x`syu;AHZ;PEPZM|| zgo-?(n_MNkGXqgflmPa`+UAZp`=<;{YqyG`JKTjf;nss+0=Xw6;`PEOlj32#^~ob& zL?rcL{`mSZd!U2k)i6P;-3OZEX;r)l9WUyoZ|RDkl;uNJu^auS9O zs7_3o!y+k|frrIDjIOyEn*5|XpIvrC?r&|3O{Ey4!L>T)yR#130cTUhotQl-*;y4s z$Fv)5muU1_1gHXEE#-Nl6B?x~zWR2F8BEZlx4&B$0w5E%l+ zL<`i07sI`Dv7yI<^aj4eHx?r9!sxCaGnuiwwTU$s@S+Dl6ep&Y^`ah?#h^m2;t(}e zzpO%htU)Jwez15D2y!4-d&?M8&sb_U8y4Y-JDWnt_$eC`iX+HN7rFi*w6n!a0{2Z9 z?ms(;;U9%2!L3$+@6#FSYEqJc0-ohk=@$!j&0&;u-?n(AKRceM{PQ*y;KMIVnkt5BU;Y~q3oHnBkC!>qD%15|0pl`F zro*8)=%_5g#M{g-aowANyCkoVZ72+-y}xNLj7PNH?alK5nPA1~rF*gUseDLmr$}Xf zR(0}4VpJ}?>K(@l}w|fDto)KrK^BO>L${S z1JOtgQOxaE#Ow20<%^W~pX^%Sc$Gc|4MiMU_gprkSh%HKF=i#wDk@UOkRr*;$-zDi z6I+WZ@&}NEejKLT{t?sSqjifO`7XeT%kzdj~=i;3_eGjB#(Mbm_aOG__4Vmx!jDLX+8dw( zdLwj5L_H#EFPl+p^wIx3j}jrUjVV=qqxesR+fWmj5W!ij68fsuy;$91`hbThO5)EK zk*R8gQ6V&KKcAYc_G*&84Ql zz0IGNS%PF-tatvTrtwfRtHs!y=A`n$`+-?48|1cIR-M1euOlr z`CWikv#9b_Y6?|j0`F&nKJUM^OFUm{9Fu_M2-h^ z_93YN;=bk(qwccm@nvkl<)xcsTjC!7K42Fv6fP7-1!Qah22^4}5V~3{5uYYyG0K7%`zhA@{@4?5)7(#uANQG&w=(6TFP zBQ~;S{QN5!l6RX%k@yW{WBj07KAol7FJ=$D6(NH=*2lU0#LUTG^~&Z1^9W4(`_^WUkaE_3l;2Dj7MEK@p@k;H1X|HWj!=(?9~xX~Tx`wa{XjLCYH+jT@^Rj>WY7Y@7HZb!oPu((iaDn~ecyRqY? zeA(@&yno@>0G@kN`>?jvP%J5^=u!_NpT*-3&$|`&80*8CV&GK1gLKxoUk@Sz$2G3J z?pA+fM&8vJm#hru0g0?;Y&fFVx&I{~1S*!JhrLXCmluG|B<7v_fNUIKK{EUtz3W{k`yC&x1$5 zh)jI8|IN6&?D+)nebGCwI3{+kzjeGl@pbK|5l3@RMTiNs&jC~rMsZQNo?8ihUm~_8 z>Dy*FVAg$vI5tCww*g9lH13Q0Ex%vc8@j0Yx3?*C?aBx|+eogPq2w?_3}fRSOG`xM znP7W3{^U@N+=SkcBFX)NOCml+_0sQ{Wh5K{ZanY$K}?Z=6SLE^zYO@ z0R{SXM0k1xs(bU{TGvDmJ@~H#E03MorL`kzOWoEkJviGhXWkvH7m?O+`q4bf&rt%Y zXPIx$g}>9jOlx681><}D!g^2*IZy8lZE`wM*Df2R)_#!qs;x#vfd5!uWYY-(iTU#M z^aP72A9Dw=BzQ}CzgWNBT3=pezG(t3!8XB_ zRX}`ARn`%C))i(bu@gR3B3EI963@)pu3G1U5zl3Jtsj~r)&P<=3}XeNf)s!@B|)*S zxc_N`#8n11ho`#rUuZoT2CT8#kG#)-&nqCc3E`|*PxJ4A&6Pl6vtFcWTy_h89`Jq+ zF4OMdoo>+O#D~+DI-?%A2$}rqq)sGqultye^G+`};{A5#omvD--#RgPdUzPyWWSff z5pn%BiOEoca7<`>OG%yir ze;Bofs9AQH9<6b^ITU!7)UvCiQLW0d;n9*Yf!jMXfYz8{%Rdh#a$nNG6Q z4tW;E_pJM!!a5Ss3TIEFo{X7~g>l|VYU#sk!;k}?`FdSwxKLyG@dqaKYv$WS<}S$S z+mrX(c!U@vq<81cO~WnQ!{(#=W&GhRd|^ynT=a-KhaSqpv`wwcR#4FULzTzx zGOHRw6bSOGMUoSs(!FF+yRd&2SPMA*cJ#QdJ{=C`#Da-b-!p;Fv zoq<)L`}TU*!9ERQ`ADsG0pp%>4>i!G(te5FMS&~z)SqH$bq{b4k`C;nbs`p5KM(M| zPDb!MPTRgh;4aiHS+xw^IjY~;wecBexE3rsEm;OyeERP2W7&S3C(t}%`*U>EfB@JP zdDWjX&s|w+$MnTGNy4mm&CaKf+@N5J#6pCe&yD6y5&I&Q>x3I^Bcw+wa4nnp@Y^^d zV!)AwCC%DJRnh8xUzAUsVrpT55|R7d=SQ^Za4MT6RURo1z&pcB6ytxes46+h)14i1 zuypGP&`b_TvajwVN6M!GM00n)i)=aYC&!<9;MtdT9>12og&=2QvPR24uzhx#*R=yS zfs})N)lE=Od=W1MuH3$!gyE_kS1FlJ&k6r;udfY?07j8Mo?VJs7HeEs^>qK2-sGm5 zgH;`K&XojO|H981f50+tvc@=p$Pe4^ zLqr!qowm$@%UF&*R$p4tJiLE<_V#*qdE40Wy-H*OU>`E9-PLJ}4~k+)*$4sFwhROU zlBBz7FGB;fIOJgR)I_*rHA(N&u4Zp@h;1&{iK2Ogm=r3*C^9jc_H9ifw8%HFeL;Mf zke){??LU(|nbT~qnb?ba2WS#=I>8aL`z*inn+bd8929p<7Ypd0=e&phaH7masrxZ! z)z8bn*=nc+Z z#`im<>9PyYhPfE`r<2Bkur*+pkXk!1@`ICF5(!D^KHd%98h5-WgqO6R|FLVO<&I!X z_DE7j*kmw-vQVY#FU^El|0?-J8zD6?XvLM&7Sr{`^~`;ZdhNcS{ddt7kWI_1zWLsz z-s+S~adQjK8>L$Q79{0ht`?!==*|x7_%zQQoP7b6=ain044b{Ij|`hum)k=| z#9$oD4Csgok;n|qNHXGO&<$^|PpLn+ZL)NQaGf;kLHhANCk^0xx9V(f<2oSBen50e;w5~8fyL=;N*JBxYM)6SClJ{B9# zLDx6;L~)BQ^@A!x~Rz%!vPqJ8 z-4`ms{ybRxBWckx$IuQCTM$VTofC-&kGEa+cFJIU z+h4XOi)SAa;Jb<>_d{4%EJkq~k7u5>rZ0 zr`OYou|pu?eSM`TZ5F!-zaEbuILG9=OYc5r1fB2nBt+U);3ycw%4igJ@1UTClTHud z&&Z3WaWC|yG3d2uI)MENCKp4OK>$N5X?XAS8_X6ef+)vh)$J!ZBaZ#5jE%(hYf@^a z%a9+;E`fpV?d?@23W+OSe;h6J+9YroP^KZIo*EQ7EI&uB!};U1s0ymsM8d{|-hR)z z9GjE2U2p9R8DTY_P0~wBfF{O?nixMCBy|26oG;5qtO03vhnW1yx<_=&YG>elzsFlkmf+@8V zA@M!r&iQu>QmyQ2MKU_hJkOYOnJ;2Sc;UECZVIt@qIhmquWVq69~d_$A)a}Tg50<9F;9U=UJbc1*y7M{C7Ce=MT9iXpCOMC1yzJ` zmQ}EGkT+tmRcMaQ0oU0^Am|J0i=!?$ipaq|*tYP;h@##_Lny%EM(UO!M^lD5H4~+U zsanH{RHnyB>V$hr}?gH71d!Pv)Uqx(T%v? zewLQg=2G%-E@^CN%z9NB9~m3Y9PNHFAt|*em{T$(HpEBsrw`z^HUjO>JM`>BHX%9q z!9UO6If-8!=1*6g>}exx1|00b_d(juoqJBW7^QKJzU$Rum4zQcaL`vn(6c3hP+Ktg z`%Ff|4MFD}SWk+o?O~bye%gpt(b7#8_!zIKN?{>ur;l%|B$H{L9&K{1+O9Ko*e z2S-hv2@PHf^IuU1>wUEZlhEE*iyK_0?zDaBRAj?$w!P-)vtAE|6qd+6pqiEQ>4h15jmRfasq=WzaSF3aP*J2#NdZH}hzS;Bk>9*k>;w{%O(KCIuD2 z-w6B>jHv|n-8S-I0_qe^EW)nae9iNY7IRSt#F*}L$*B>8>VR#g=PhFpTUzQVwuMf> z_j2#6rL`2!)k=g#UEHQcUIchc>>ie&(csq5wTZp;ufnPwfs|cNkJXl&z;^wXg6wgN zjllC}Vij@Oz8OYskuWH~90=Er%H@ZnP*ANYtXYL1!H$>~cv>W|ub&>whA%Qo4s9c$ zK0qQ8mdnds*1d*-v#!|NQ^WvCjR(_}9qt(3bx>A2#)RXm>!}BR-33@(6?%NQn_*Pu`J2=7!m~1-bXM}o1i1h5BpSd7q0SGd7c%< zb*|MeUDYYQzE}kn<@lyUh8!>f(1!n2xkjOZu-<;VECyH+d8lQ;Q}thjPPjz(97Q^w(YHw3WLJNQVwuqgOLITv477>qmJhudvG4(# zl*t$T?9gR`6A|MpIQ0kKJYwVHz-P7zU&gR{3SEYdtMoILlb$-mnb3L?#`-73=5Q7# zb;q0jUFdbRU6(qy4JgkMc&A{?hyVw$2=@R6!6%P&k(c&o&Uou-crzrCAd%m6l{R)n z9;AGW1DYg_s#3Qi9=VK~EMzBzWiyufjGAwNQJq1iThz%$t+! zy0n@W6@kc8s>~QTPiu%LEElTa z-7T=AiSi#c-XNG0upUX4_!fSB8>nLHTdhz$(DV#!uS)Z)&S~?rNQJo(ilgN|zrdhp zpj6@&C<|@iT+gZdoC#{{mn`zHM&by1a_Z1wHY4(Iq4Zs3g5#-;rsAgBY`ytjtZhkRvj>9t`oIp@w#s{;)&Q+*U*Y1rWl(7dD z4?x*yb-Uj0=SHWPb3p5gE!H=$6V&ArN<(K02QFnBIjoB#oD`(#9SZ=D5Z zkIi6Hi+yedzyd#Dar|KmPvP#^WN5DA^~Q*bS!APgFwp)AC@`@jh+}rzD84EeGU=P) z7ko)vwEfdim`2QI(%Fw()Kjr$GNLh%+Y*%`-9sS-9ud~8P$;hF#=(};#aiG;{Cp9F z!;KKJ73H41FyBwYc7PM9TgiwuRUfdrV8kB8#kmBK2uhx z@`037E&N1i5!Qffi9d_Kxqa_3@&< zXGBYMN0j^WzN0{VB&U_U5x0QQ zjBNGJvc9o#p?mUSYf8s>DJ4#1!SlU_Eblg|ECH`0k+;`kwMNmC5DT7?VR0P(c%;W5 zc?Q3S84n+yZ>GIWz{>{oiL?Xns1f6V8)J?q5&%YioYhkyjkdNkD#k?jW38>KAY?P| zg2Lvg)B)F@GvT;ET6d_$$zOK8OE)@X_?&?G)$a$T&Ask50ccv3O^z;S7CdIWKV@%B z^dzII!f*H(cu{P)DWK3e9uef59m0yWAt&@a?)_@N#nOANTecSXp>W-@afNK25u>F< z&tbP|FO9n6?d1$MN*42B0==Jk_Jd$bix%B#Ob2)X*Abbg!xv; zu?76+bx7ahcpDgk>)Tt1lD;Bxsh^q!<~-eX`xC5VG82?5R$3g0%aj);OF4nzpfxG9 ze*HERNp&JcC)(Yo#V0?17intulkD^uJZ_bJ#yKk`!^fRj+l}T#fJZngfY)a#32L?F zCCUxM!p3G1hPgQu-&i)Vtw@_b{%x+{xs5YR1q^`C$>kMtjQxm79a6)fD*$?5 zvYMC$^ik?s&8eii#Xu;DgF|pqREI|^f~Xf^Za=rWg7&pS4~9cTHRvM^zVF(&4O#a^ zh|dk$#Ro_kzUwU;?oC1z2X3GSzr&pQ5P@ZhM}{aPS{5D-sk%S@lIq)g+7#!yJP3)nh zhKNa;`8F(KO#(1;U&2mTC}JFt>6NM8OTh-X zBm|PxMb0l6ZohPbk1(sU8%@`vkP!t1(QBQ>zXxIMr79nT2K5>T(=&wk9AHjo@gxzU z)iq;bD-fudH@{hDW7tl5U6Y0?}JgWK-Og8HkU_apqs^`X<(8up?=~IjB zO-$w}%Oulv+n|>+3N}FcdP}2LBlLb<#@2lrt9gQ2BJ!B@(O|&U&&#{Bk zc@M=mKyPyN5-sX(P&4lXGvrj@96C{d0`psMA%5ej->Qn4?xbCKo8x>X=k4enm)tU?zxnZI| zg`IBOZ@`S%Gy43{OQwN&5hCyG?V{(x?eG;&QGJfx9NKO}*07y~QG5z5g%Kl`tkqyGAl_qRrx(jx&F{$gb zq=XZQ{ipY4QzTVdF1;wO4gVr3`SGqM8|o|DJ(vq2o+lx0v=`@1i%5sz6GN%6gSD|e zT6DInAaS^%MCJqQWkOZ)56=oCn`sL#>OQR&SBsQARVIJ(Mtfazn;e&aeN{PTP}*jh zc~#b6_st>Z9nm$}%TObKv`bS9Uf(runSk`!5R9aKkCair>!`7)PQ{~AnX!}e=R=$@ zh4?K>gG87;ET>=ngE$eIzS*BXF@%B3uy7D>U3Mpjn%Y$4GRV-0jCE#1_ppY)UVZAg z5B%&nBX6q|RM2%FgutdFJy_}ea%7~BW7BPdUG@<=m|Daq2*`hZ<>4SnL^jtyBY<;o zF{VHt$?6#(L>!0Hw{s9|cEi%cMGg#3=Q`FA!&!1bF?>T+Xuwy2w1_=-#Dxx%7m575 zu1bS$r{CY&6dQMyAm)W`)Vy%!fI|5$nxA5l8RVwux+j9Pq$7#HV>DIR_mt?@Ml>_* zR$hFIXHQOWnN&9vkBaRR0ggs=D7tKik1caB+slkme#kL(ec!GaU`6PX)l;94#* zzOS&7>YWc*7+GM8AvX?_g*-qi8EAo74lrLZ)ushS224-Tt@(14VF5jkHx4^AvPUKE z5B6YqpeM23^PBy_>4Nm!c_~GNrkQGIuMNvqWGvn$2Di@bX=dGzE4@3Y#u3)~M{&Y6 zwxd(`QigfT(_X~|7A!w5x2#znVr02}?`J}vAF{U?Uu(O@5UYT8_dOGRoNTt2}i~u@UjGbH^1XI>ZBprIFHIqlSIfl%xOemuWZe3 zSZV5SG18*Yv-2y@JJ_&CyPx8(_}3w)r<_`mZSC&4I)Rr-8^a5Iw$zMOxA-EPY!^sU zOhF=RvO@TPv~y@YvXGmKp}uV7fGUY$$9x4K{<0>aI=^DE9ab;8(noFnM{0|rs1a1PCh&a8N9~z;G zezprFIK0*gz~73AcHVw%c&nZh&xd&A7K)=LF*PK70KEy`z7TCXT)4d5AJ;fsj8~$f z{|^{kLk{%8Z>1=I{7t$6Fd{gJ`R^{w-VrTw%T`t**c~e5*t(h+58p?@%lllIW-~up z>*&|k{EF{t`Ik)Tz=U4GpAp>{K$#8{PiX2IJw@`r=bw~Dq)7zknS>O+GHuU0L52$z zf?qKO{mbjM-t+oTuCo9L_%AdA3mK@`BalRHI6SKYprxz^@Uj-5Fshq9UaH7Hyo+%t zOIcVWs#Q##|KT5Qgb8})lJI+S2_x5kK$RGNW@HD42Umyl-xqk<(_s!IREDDfiqH4)#iE|S zok(fLetFl3zpoOJEKU8{H^{c-OEtEDeg=~%%&|*mVKovtY0#b9M76udSrC;`w*DbJ zg^!0T`f3pI2l8sg9Ar|&f1!heQ9f^HMozJmq5plK7y&wft6>RJ@bpnl0v97-^tF4^ z=vZgjIqAVZ^0*qQ7^+v+ntMzaQRlId!W$k**QB%mhvvv51=dR4k4E-C$tjV<^d|+X zn+{K7-ma=*_h{j@68T<;WTm|_{SKijY|TtRu|~Fj!uHN6(cbfPb}Z$~^Hom#HlR7_ z0Vc2wxZC#$W_f}CYLa@HuQmD)g(D{Pq2D6u2aYo4!*jp&mz@_TT{sPeF}&|!3z;2M zb49Au*-m9R%vts)DpL{RAfPgvW zxn=FJ6couK!rFKB?d&CunTbmN6)Gzner<0NHmaFchk~ zxc_qR4zY)G=!oD#b5IDxj1sxB%==QIzN2tZ&oXNJ{%O4QJ9P0LK9BM9SYS2qqj=OJ zXKxL7ND>1wC;tBX)0EutNK^hDeAon%zbZuG|A9S`5)7mEpBlvQ=K@%WwCe-H%ZJE4 zyWyuL3-}ER`?3BdkJn52IX3T{%RvL!dvG$UGirsWktB#2Ev#7}Y(o<4yiRP;4;>07 znO=K*BwKnTJE?t9Qni(*ns-SZ*XBLMevof4ctF9DAQ4s4?r|yAg)cQw`Zwl}fFLmB z&IA5a;*@Ye2G1{HRSo6ESU;9OurHa-e<+dr2rP{%Xzt>VI1hO{j9j8Wi}0^rLq@d05U zdDhKVwB_@b&XGOkSX$wk17yAfMKmdFB+M;A`7JAFUd6tkWq#n7;D@V-adMr~c(v&& z>!(dkprL^w6PnpS0*M^CurSTyZ@^A!^z4Hza4qCWk3@pe-(f)f_NV}Su;~oHo*V>a zFr-t}I5lD{g(O#@*`Tg=nGp($@+)I9O3}b~sVy1tQtKw8l(h_8pm|UJr6zl*&IH;8 z=4RHN3d##j)AQ$_%|V~`sAmk7q@T3Mb%r)V>gb_=EhniLoJ{5*AP~&)bI3{HxB;yCPmNyk;t+eTh#R8k#5sr1ksw)4Fv9FGb zx@+4NL_sA4q)S4OE~z1vZs`W;ZiY?~P`bOMJBDr$>F(|xN^)q<4|$&V{Z9OG)|%y- zk(oVv_P+O>*M02(#0lcqVtALXCj-F&-yeJZrc@Y0-&%an6}{7%$MUm{3*c|skL z^^5b|4$I^W!@fDYZ(!~qVoN1}Mb*gQ-Nru0(6*+} z69pLpvyF9iokp6Dx2nyGKQ!w#1fQ9?ePAc%{SNlqETC?zDLAn;sAlL%_dpckQ*V-d zLmORsYG7ic+UekV@d&5>T6z5Q=lo&KS7KLrP7bwX+N}@VC!l&^)iLx?-!3;QVPn0Q zFUAv|G-EUCTtdxNe!`#cYBDac=C^!%9qc~udF9P8G|Zrp%tm6#JfBQAm-d)hAnE*n zL#W$@9lxeMdr+`aPvBL@Mx;s?Iho+p`zYB7;HJt7gkTbV?cZ7bHT~c}7yZh}Niglr z8k~`#Y-@b28NIIcwh3?J82q&yRqFou6bwkSU!n*%8}9xCuya26C} z)#de>O-V1iITfotb5v1{)J0X*Z^xoJ7;4|Ze^%_;RJzIUjVY~le*SF59l6DqKHhbK zpDvTNfqXZ=%Rj16nTkqxc>+-tqA-WJBME!*3Va{qKp zbbEU{`D7p?$Rj-N%QFPfxSpc1ztw)RdDl+8iH5$2KAG$>+!L(#QDsOD{t-#PeO{&H zLdVBZZiQFAE9`zLlIFn1AMBoeFTt4n5i*3$m^HDA0M0el!oJFl{OMN?r?_G1&AeyD zp~QElconCkRfdopR$nJM`{mvE$w_=QN)>}wYh*}HuNQqvY%Mee`?POPdz4D2)~p#B zrKY=aN6>D+YpORNXE2h3q)NtUr&$l@#^PgMqoCtKlx)f@T>xm&mcE3xY-Q2b@nx|f`)|C*8 zV?wU_^-K4sb`EOEO1V|n*KghWw=UCU`(w_Mf-+SO-OcQ)1^zsD>^SSy>?Nq~7jHy=jD93nmUc_R`fr;!?;(zA)s(ItqhJ4oM-gqo`cxL@sp4*g z*E(SH9WAFmLLR?G2#J2Gb__ubh@>{C6Rq?9t%)__MpD>_*O^em! zS$gzl@sj{gBE-Whj|lLDd@;P+%eN|TU(ODAI%hlZjFO8JhSQtZ^u~H%i+3fVhWGF{ zXk+91$t5QEQ)_TLWT-oT$DLy(& zCtl+y7VayH`2KZDECl@?d>Qe++Dpi2iyqhI*O(e|s`S;X6QMD3>BY+E^2aC3=QZFF8w*f+pIM>czy}h=v;4Csq7wQ8#6qp{5YdO zS8UgpS?8efXS&JN047Y9b~o{%?yAJmWxs8=fBCY8g#6eE{IX<$!fp;zfyNP(k!q|A zmXy^=Ym`k1^io3H`p(DUcB@;sAw0K(G@4czpwM2kG(+BC8rS^uVypFc+U>ED-TDF9 zVM~!hixaus5gxhS`BCAz#uVaAOmEVM+oy5TEWl+ConH*JM7Wlc_R*l{O)|v-G6J&^ zn|yRtEkdmB9HeZCvo&AY9{tkyK!)Oy`5|55!-9kxu$DUkl}B9ux-_q1^8qy(BHM;; zDnj1bZ85|1{*^H5-B}pJy`N#W)zUE!cviR*K!kSb4ywBSaL2M2=|1SUAY{E4j4sPZi7A!B#dF zIWHUX0gsA7KmyC*^?mfD^wZJfc~?xGkQ!G4x=BxnYxJCm#$YdXP2&I>7gkRozDi+OcI^qoyNqbj$UJ$K09Vl!0mqv+b?syz|8$qdvgffcMO$`#rJt6bpV z&+sVlcU0O)jO9gC8hSJb*c!YpOWg(6$T_^~3c6BS%DT47#_H(z`0f4o92 z^s3+~lM+q7{^hhdLGCpr=i^mtTmnLFpEC<`Ke@s?4njNa`Eh-=z1`~q-$e;kE0-b2 z`KgsspX;R`3i5CZ(m@XKy8W3!E-rj`={)$+`v zCk4}K#xs^{6`1&x5}Nay-)CeVZE!#0_!pwo7}f93zAhdL*gSc{pCc~xQIW2884Yr# znu3;>d7GnipC?s!!+^(S!mS40{K>Ml%W)m_rliYZ7DAUyX+BY2vpppHjT@283HIva zTJ_uCyd%;q!Ts*@-56k=(EPRxg;v9yTbDFR3$@I#GymieyiduYB__%G2x~kk5=~bN z0e!z--N{~s%_)h1L0q4fBpoA7z1&2U3o*fMrH5GLOIeDC^i}k6@@%*g+65ag`aj(( zvQ*k^42o8=H8Cek02c>Me)qeXezK)6R<`j=LGUG0K>3`oD|j{ z0`1&_r82_e4Z&#kIW!uEGTas^^EpFW*g$k4S{!k>gnN(`99U!bD>MmFNc%|X%nY>h zU2Ce_SjL|0)ZuC!{qm@;$*A{~2b}DAM$gNlb8F(Pi?_^}()@ApxY!DBoQ+O));dJs zfJYR8Jz++s!H(cFB@IuuDihn)Emd&@|030K;aqNy?~vI&2}Y{sOfhONAJ;YKgkh&y z+m~~aMMaCD8GhBb^}YU7{ql%VWUPSeFYRltcmD0CvcXoKYcgQQm>S_J^^hp6n7ga+ z`XUC~u6nOr1zPVrY_z0KQ}+>BeAXXy@$*NqPQ zb)Q{7SdMsU619}eIUl|D5%+s7{Vi5PQFdz(T`N>LpoT>=(N*@ z=2p_gq)v749RxAbl8crq+y|YF)TSPU-*VbOZ8xi%Wa!5iaJj)hYj95_vW^0JavjA# zg~)(GxG*)rY$UR(_2-0P#&giS@sJ{d)(S6T;I^$XhW!_R0aMLL;FLy<_-_06-s`jh zX;aS&mk5p1x}o}zVu)4Wo6F-Q_Fj!p?RWg6rYkV|B+{@(CK`SZYb$c%ZMLGJ0H(l^ z=fTUtFLlNu(wFYm@(62&%-XuU(~=wHh_#yK_#8K+TpXq2a&bje?#@H0j}v{_`w*iC zO095qJ`l{TUtFYwzUQ%awc^}zomlb*U)pCCFC`Py{iu|8Sy2`G9*GqbdYI9|K>mJ3 zgY7y=h$d@K(JsslV?vQkA;pz#?ha|+!Y-vUXgF}>F{Km>xF4|yf8lta_2GS~_DEkb zHVLxlk=q7^QfS(&>9f@C@~Ao8SV06hESR|wFThZXnC3Odh|7A@zV5F(qi$E8knMU= zd9Gdcw1XHwl54@AIjLUU-4?E_rY5S-8@LS?hYqN-s)}gvtNpq$sPyNyU#FyOuG{T& zccCtP&y}2tvfwtf)*_InH(#L0U9*<$aZmY5+>qq-!<9z7q^4XigrZQi&QbvAmYauk z>zFqA)faicj1e)t2@1!3kcRy!&sr$}f`jYWTSnh@GtfV`T17+{I?J_Qq?|(s+x|Ox&p@ zHH#Z0E62Y$kTwv~Sa}R`aE0)<`oKIFHm*7vN@K@RNn&2zmkIElN)VmZ&gEJ4vZ(PD z3}rD95v=^cTKFoh?Z8r1*GV8kc6UAEC&}ts;f%#ISHP`xzjE-*ZtYh8_>fWU-4?VW zuia6tG*r}sbMsrfqqhE}S*4t639Mg#GSPI8eb8%f$M*zMyMi)mykYEK3f(<5U`&{r zZ^2c|9_6iyaq^Lsx?5AwZlkl${Y)k-m-}o+%of4O_2vF+sArm;*&m=X03?^+%6f;2 zdcOIaXGTTn#FmO#WJQbh!(GY!`LrbxY&9RxCcrGqu%3G|jLr=$xV;@cZ+&U%rWeAH zQm9zaZ)rpQ`{tm)Q5@Wzy8tklQ7hGp+8wKT3fpO_^E{$q6pB9OxyqY}XJs zRV1kMx&Cp40QcR7N2F|tg~?EHtk_tFVPZqKyJB_CL7Xp?_=;<&pJl~V*Duy5X+(Yc z@kaPn+DmTFQIY6N^r{ZBFlFsTH-r^s83SP{CTJLyX)dQbbnFzf{S3|(*2t5E{Am3ROvv6ZuA<=>WvGm zPsr2hx~ynn?{?PIPvyBq-P=Iz_M<6oqL6dV7UWfCsXMLi7#^uNW83)g6LdrTo zl3er*ZMVrp44|w9)5Ez9{`%im4`yWu&Zk90tqUYPn%Uk(t<%3NRIH!)8L5wbtMu;7 zwKwZw4@LbfvN+*c`ThKn_U!EmFaGAP&nTB~pD9^es`5Xm8|2>mVNeHx=mO4s+yG}Aa6ngISjDk8pg&aZd!|EDtrBmPGN-v2k5e2O*5W87 za~C+JR@+rwpFhCOk(fWAvZS?l?RgeeZ7TG3M^a ztlKq>*gZU(Y^w9B0ulSB(B2U?ej@TwF^?m`ZoUmAzJyM+?F@GZNn0?u)VQ7>!$C@# zrnFtc;+k_sU3Tl^hFaCA>rMOJ!Ib`95>tgI;2o&U!iwu>M@1=461*NaktRJ}l`r5< zNr%cU!9tV@6%vZ$wIn;W%^}>;tEt}Nu%U^CuDSlx{k+Ea=v1`gt|gPbOGmt@xe9gt z5Xqds(lGEK4dk-sDhgRIr5?+WVh@Rf=qGAG9rKGGy2*s;uZ&$5JtuSfgAXLOV&=CQ zo7Cv8Xc}~5;4v(MoTWeU#`X!qTep*x3FMB62X)Jw=nEV5Yt~SM{(y4=Fgl|azikIq zSe&poep$s_Xw&FbnNwnVF(Y*P zg-5P#fflorXYf>DU2cEUDR=C7r@$(JTcem!~BYf=Ed3M!glh*2`ADVkq?gq z=QW&=?mlPx&a-FcvEx?Oz$U`Cne1Q#+FX^O<#L)W+iOr=Uo}6;Y_38gG$(Nu4%=fA zZO9a_vlpvB8xbF^sZwYzl<7irI9>F*F=(DCduECxNKSv;)@R&Sm&DmKt3E%hMEHiQ;9*(#b zO_;8eb$RmTT5D>LN3l0WmxzyMx+PL%v-bYgghU$^5vxeSJi^jQi?VJEp@)x#It0+- zU7anW;}0OjGorZLP5+Tb_#L=#Zr-O0>NlJ-A@D47fU&u;b2^2{(QOLA>} z>oGs08h*B32$83b7Lyxai3oWk`emKk>{H&>*1O!c3)dko0=IsUFB$LGoe8AFi-Yyn z_uZO-FpnwWUBdy95jOlPlHLH++m4_!Byf0@X0Gq3ZRqd_-+TLXEfyLG64t88n=SI z%5@`3ES==1_0X6sXdl{TI@8fmv+bh2YZfTEaB~P{ZQd_#=d@uQ8`-bd;P~3mHs}bI zYSNms7FFxq5T2>r36BuY(~`x^w0!wa{tfs|uSg&{)A^e!(z2le+vUHt8-O?jM4YrC zBPR>QV*aGV*<(e#E;BZL}tz9EXC*`hF2ajEe76`!v7=n7{t#{` zl@h<}U{;Hw5vr*tqq313YwfZI$FeaxXKA+(TE&+Abs+16xjU;des=NWbxJz3=Au?$ zAIcW_qzlh(EpbIorq?W3bH-~sdSOb7)2xA|?lcF_2=oWwbEQh5T|))C<b6YUK5@ zGptFz3ptqPVYi+}zq+5Rq3mh>e53%6IGc|%Flo%BKe}cCfym_&q`CfdQs*#Otg$E{ zgmvVzw@k zYC5K+7Lz(votv-Nw{162z<)iz?biF|p*m_J1W!L_Q86&R{Kd*aitWwb-rk$uFiJ_j z5sUCod?5q5CVU%b4nXB-Yvga`=xtMGg`kMPf4{42F$h|0SR`BmQrpTfbv{FZJ}K10 zoz_ovpqnCPrfzSgzDAn#IF)T+pjH+=e<1>I#?-(U7Azq-l(Vg;DrV7tHy+v@OCc*X zQl6i(LXM)_;+S7j){SUKuJl$2P0fizX#wFq|5))XyfDcHkwT__3r-cRTOC?HI24*QC%8p>d<3 zS$rj~D7b`C?HOi00IgVZ2J_|ipAMreSBxw!lKKkPEm`{wN$?F6tg10qg^P<`4``A3 z5~xgDC~*XU z6F0=tcaXk(pceFa@xd)^V()4Sc2ME?AP{+cKAkB+a<|nL&;P+yJT!@VuhEB`pmb)j zy)Vo&nh@e>xHD}%-5p;NCkkP9<&x%BjYWujo#)0M69H7B)bOa6eR+X;FI4~qhYIb~ zk_t29W3HIxU3eqaP^J3I2T+U86^02BVNAJs}LPGuvGr~zRX&sAU&{)sJ{TJ z0|*FV*r}3J5-qwu6LSPtn}3+Wo)RVIQ@aBOE(b!v*j%&^mEbd)-3k`Pw@Z8CMEYNw zv*tf1+-*$$x_LA@;xC4wG7^E8K9Ayz`w~wd1GN7##R_66!6tUkS_II{{S4?D#rW|s!fta zv@t{f5V!OIZR_#DnD#)5A($1uc(=OOB<=urKrU=;ZxF&YAkYeWyI-!Eaw}p`w=uR! zlCns>El7jnd7D{68?%J8QH@&F`--4}6IzaL^&Fgs2j?EQi(gPApsKTBY3=y3KY@p? zuL^C3CI0*PzY!3nuVH_t=w^@-`1ofV%EAHUFK0!2f7P2=Mneu(4rE{oJeA8-^(M_?N2G zw6s=P395_^+p)h;QN7VKJ)!HjYYyWzvCK*MOPfXVbIR6}=wX&n_r1u;kf&-tvXgBk zTJcq?ZlkevXI+blJE9GY0q;GkNYSzG#nksNklYEW?11 z6*T}LTqnRMj4h94##8#fY%-f;E%;Y`RL@qr7biBTw%8}8xM;m00iUZ{*X%Lbe|Ai& zP;#wt?8YW~@na+$nSyEY#WL;IVVBwLCW!j;o>^z*ZO;qUfVK5=Iko2e!Wf^kdWGgRkw1wrj_%(fq$F`7e;Va3{~X!>(Pjn!abMukO}un{gZq=n z1m~opszZG1b-#f=f!FY!V|*w3Or=qhj@nX zc{SZsFUt|>(x^i6*~S&D#Yb5b{Sd4d2m@Z8SwyxbaKLj&0j`2#k6RXyd1SE66wZ`~ zMWUOEweT*l6>af#&f--~mf~BFYf05Lb+}kVlLeOd#eHDuE_|8N5|}af?iF+I(N2{X z4K^d7ihNvOzo+w1(B0_BCZu^24pHsp$D=kkw*9N5d?X(F%c!|x0lk8&g0QS1N-N6Lpvun7;mXP0iBM`_O?PpSCzpIpsPcURM} zSjq6q2VIrU_kb@%bDI2@`iUZ(N4<=N1g#Qk6c%etgFZX>uNXULl{jDH;0Hr7|uK> z>P2468Y%OUA5Z%MkktD7?U#F0so+US%%c_r{#^@v60B?fI?2C-zH{50%M;-!ARO)G zU%mX+-#d4RKC{J7?7WWoOM=h?Vqh))iI;WQT2f!mL)P?ROd(PMedmmM)9R=Plpd1v z)jSJU##4yYm;S#IK7d9G?V@b)QB3>K&lLmkX%Wwc{-$ka5k{rba-KqFodS;kt}ip7 zF{g21KI#vH|9u!dyx*UR`Y)hR4+&_?C5=Vx#;uilSS}x10bqPv8_XGm|Cpt>00i%G zGvE4{y#|^RK2d?*7TOxW2WIGv0DTBIu9lvf{e_1_ZCB$ltzv<&l<3D8k^RkGkopu|X?$2Xuao}n zL-Y7%PC!;1zWn(s{|~?Ri#xy*#>00=tMSkl?2G`}vnD77k3VvXrE9{whbuBLZvtSk z$9UL80-i8`I=UuA0vPTCDICCD;yjke^6+hnKY;9}61?OCzVGo7A_}b1+5)B-uuV*S zFUneo(qJ*gf0xMa;Sl_91DgRqIO*zK&IMRNO0w3w>K|6vO79+)lLmbm|Nj_R@<}IC zS~L5>?N6fz0SI`K61KLb4SDx>>0SU{JMGWTzpWa7ry?y2%wufn6Z@lV|0CgTFaGFy z`7XUJ5dCMm|C#rHo(zZq`(o5+J`T_^{m;+-kLUQwPjb~cE>JRD|MMvdrc|Wh9pH{! zdMy^peU`}#eqoIZLU*2pB_lIQ$)*_T{MKpJTl{c&a74MBDIUS(;uqDhr?amaJmp#% zdJ_MNTs^`pHwaXq{&b^j?H$SS531K`>W4$J+hH=Y1_v1vcTA3>HnaJ+LuJGor|_l9 zwk*FnnhNqi1QrIy{la{mcg;bX4Xh{T{5lK7!J)cPoR4xj5U1ZB=nOPx%Q(i#^mE$+ zIs*+AlU$Tfi^=JuCT8+lctxvwr@JZ7c#%yrMOaFM;Kkok`}|U&H1#Pu$yQ7^y`GC@ z_t;FoRn>?Sn?nZkp^DEd5Z(JM#V2UiyO-%y*;miL z>I){Fnx1+GI~1JA#p#&f&8ds6z4)tB0AS{F257+JK93hT&Cd~n<>(ezo@e6nyW@$a z!y&cC7n+OZKM7uO^^b<)D2k?eH|rvJd;<;R_L6@ghKl6|pO^j|E9Y_Omxjj-eG;pU zOSC<4SFLcZk@9um@jNmy0BVer!HS&VBcNZX;q>3=zf8XyW-|{_qWS)S1@EK>lvK=u zdWAMajtW}I8Ynb|)F2-py&L*bxC5G__@$9&oB4+6nZ|W6`aXBr701)ZnV(>Ov0l7^ zh0{Nnn{a`)_r$7_nYEw%>6EqLsVzrNd$SdR^LM2&+>g;O!U6#32)da7_ywle%tE%c zmc+A81+O5!r@L(#XuAI>8BYLu%YM&m@Cuj}4F%I^K|>)R4B^B<6M+H}8XuYxsj+7O%sw|a$#pJIOBhh>F5LN0sY5VK!pLytMffJ zeuuQnN#2JS;}HO$*Wiz6Io})-M}U|}P#wOXK<^gaPEv%t&(UdmSL-<6H*?;cdsVr= zu(w303}5Ptkjr(q38e+g$xo2K{E zbqpKdT&|0J%F$x>TC`(#&;2)wKw1*n_}C>ADR)1!&|zy`;*Me*C%odb0CaGOHV?lRl9)NZOxF&~U& z9`m%q>V0A}9GJW-5SXZ$RQgUsVUD#xh&5;7V>`lY0Hs0tC|C~ydI&O7`;*I@{7ks_ z;Uye!{a^|3dA8af08{;-<7_|Xo(0S=?8 zKpW=29s=BJ6ITt$4ngY>>EBiQ*V70_1I|Kd*mbw^KlAzb4O3?5&$>K3@!5Nk+_I!MV|@NW zt+`5v?`$X+Qkve2k?UC5H{)haE1Bci_tc!D4@Lsil|v+RWFvw0{?_ign-MICU7vt> z0&4?koyg5f|5)p!AKyjqb~Dm2o|GHjS!OgcrFK>lShR6sJo5+aJK&-NtNg>EW=8p+ z6?pF}Fg6z{z2wbeHHk1#zcg1!k5dHWh;PAb4x&n{X|{^c0JeDGy3cdROkAFTSY5CXRJ zPUK`PHW2W%Tyk)mk{x&|B`wBUTs^-y?Ec-5IzK`glq>V{Lt{m82PaWPnH-U`TYn;c z_ga{075MYyIoefbc44tny~dn@gN0Nl4X*2CMjGp>idONWQg9Bqx{sQB0Bw9r1Q~fv zkcK6{SbA{Dsl4&C-nUgH+0w`m-}Yzdhyy7Muc(}Q*F%+OSfcw)T}Dyu4b0pccou7f z0pgAFw?S0@^+3WOx~D2AC0ri=3k!4F{#-GIj8o@4kxkgh!4a3s<~>iPRfXnRzuDzf z0SZ>1jC@&fl`wHL-%dp$gXY7_9DvcU*QZq@eZc(P9BnlJe zJL5CI+M)n9$JGn|u_PBP3%^f9#MNG+K9G6i4EYy0etSus$R3)S+C499Zp9Q}3`d^j z0OS*x2|!}M8`YEC{KygEWob!mhHrL`X9OKzhT@L04Wp*<3!(i+PTIFegyPCjdct%$C>P;6ryXaI?srX1Wnx5_ z)lA(&%0af2Ral~o_QkUE@kz!xkaegsJrs*#Pp=re))Keh`iDo{2;dPv`RAAZmq*-J zL1r}~CQjn=sPW&F%E<}lh1{M{C8vxKW{PZunpC}Zun7r57kN%zl_E(zjMP zklt1c>Vn$rk?waSvFo9yaot-Jd3Bb;;FK_Q8maAV%Bpuku%aIXOj%=QT@DPT3D1l6 znWRT*9x(A7a~~+)3|4JG3y`aI^dYRJL92x>=kZn!$DIVkNQyp)SZ>hmZRz&*5rJJT=N9 z4&SGK%ne2CK#>K!eXoie=<^EJ(7|yp6~>pHQg&&p-=JK}8z%8K^;q=0Jpe3AnfMy7 zk%5EMB$_iv*v@d(8>iF=4H&v4bI~CzN2M1*q4>VcB4j7bVMer#qe(07i^&8Iv1jFu zd8CYKYJo!DfaH|;ZxbP@{LW667LWSe(SkmPsh=R;D%-;Tv~lXCiG?!jaXw5qG`pg; zqs@(7OshA(jL!u#(aW5&O^L#RlOS>}^qJ&AZJNkDI7(X{nUfFaoXHA_ZkWgvmbAO@ zW|bC37sc&*B}H&w4v}R5L28@l7{;jjWLPQt#_Fj*O~RpuDwH zb;8XkIdzIm4<B#SES7y_ja8b?ey>FPer+%z-oQjh*7zd`wZ~ zVE`)a--sCKT14m67X474iAXYH8Z)_r^dbyulEYU2s<=UU=EdAl?4feoQM}L^W=-1e zh||O*T%9o(%+VyCp~8FoA&^&0zn0jkg&j=HVx73vK%z`LX-IEuseDRx=Peh4DDp8{}osLSz6-h=6Xf`;=oQ`bDE?&Rj&D(bGSr%wKKee4-N2j z$V_lWkUHaYIkJ$QnBr@gw76LLu`VqA0&p6s4-%CfrxHV0$PIq4k=C!g$>Fn}U?Vu3 z;Mw@b2ga_48>^dOg;ZJ> z4(NrpL+jkNoti}BGZY}qF>@q21@j6{$<`UxYIWMFi{X8To4)!LOSYW#raV+W>KI?V zG$dz>f*!o7PDEhWy1G0JX#cuarZ4(;j;+8)-&iAU2~s{?PA+^UciD89+8V-PcaGoM z!w4GSvvMw}F`Wsc>M%tP%WY7z=o7wIS8nW1qaWYE3+1%Rsk@pBJhRgkOBMJT|9xjL zbbR-@oq6Lgbdy}W04$I8!B_Aj_nH$_UheGm{L@9;>i4JR8$Ncb%|Dl&$Jy}ik3U%z zcM5cdf0tc6ivCh8%CX049O%C4O(gwhG;MJi>|fGn!YfrHlPXIGzh_M~d23|;5Rt#7 z_qkHFGOaQK@)HmKi>=_7*r6ZOxx2A5e|&DM<3eMV)tX%dmcLc%7Fcb2%Si}==pnHy z>mBwy6AM2Til#1dlwDc=WaK>L)!sNQ&~UpZsrl7g%XR6`GPTci%z}uE`>l6n#?f}| z(2x*!Di59Z%0sxk4wpz+MH`#UdNjGz;)2C6_*{l%SeV!g2n>ojN+}Fik1dAL6QjWE z*{H2_-+a*BG3|7}7%0xCG>#aq`T$`@*1Og__Q&uCaJmE^oG$y)8Tr53gA+c=!O7%4 zFQZtHEAzr|ZXovQrc@kURdmbIvii5tZBY*ZEP@ zih6E~%0`bcVZRg0TxU^B91M4=X|dgSOS^i;vye}fYPp4&Z^+-a!;8@9L96+1R5^+g zW|YPUr0-|Z8|veXaQ5u2Tz_MBy~4=Y9Se(NAOelUrsQZ~3J7Ziv(=B6A_D(P~tIQK$ZcLjhclgXj> zmE8nC#wLG7N#rfywv*34gFd*L;|L&bfH^0{kes|N;=`GxYLHY4pF(w>g87G)==JJq z#{uq)q-+Gy3B^qM67r#5k`Z)X+>Q@Gr89L@?qkaok&!WoJj8-8MbkvK&{Igdbh@n} zzn>&cgO;3{vnqe>C@(IJk~Yn4l#_UiVOrU7{`N@%3%Fh?fn5RHq9M}(EE~C)x&c|8 zp#mxw>CkezA1HQ1p|p%0Nv8@pj*RkMD0PM)!+ywFH#frrFBYkRvK&a+ko5bH;5-dt_D zZMYKoHO&?E*d3&DZEXm{7{?Gfo*qNrovd>%47X_9l5;4J`w;!{?{=r2gKI)cR--LPD)2<@_2jOhfwLG>ujRq7eZ!3t*`#&y ziKFq6k#`(APT6&fRy_w0(=}JMr8)f)*a*5U_d#*q#yGAZ638I#jTqQd$eB*Lgi8by5#C0%bm(x2h*JG94491oSUs@7w<+QBb zY~9llVHmG@vRl+_U_;Mr_Z1?eXg@ zW8X327L8wqxc>SOvRc=$ah_Ddp6082JI@sTkiER@PyC5M=qR4-I48XuTe==++~qZ8Wh?@ttUT6oGmD+tTG8>EDi z3IENkKb)^vU<>*qDGdSBB*g?z59Ki%v30tV4H4rEbDTMOyR!rlS1xs)EHhCOU5n^S zp@H3=$aWra>YwwtoFxrK6_#H3pVH}=^?rQ*s}iqbBa0)Me(G-3>s4r%p)4;&p<62J zj`N&lsi48+ys+K%fC|nkyJa_CZB&j_)Y#%3v)WX{Cx`9~agx0yvW7#C?=A^Q6ZVtI z!giPU?w>#n4ThypwdKQoqvVL{T)siMtw&H(FS^F->S&fIWk2->Nkd=bPKIF5#-yMe z&a>7y&K|~=us>&AZJ4u@0VN@dI$`2-G~;iTYVu5xpD!+kKOWdtpICd;xd8nA%T#~v=eSRn3!t>2X@9hd4af=n%MA5( zGUzaVLVmpZ;;^k6Cs7qVDc4}ls$^^;+LbVAdm1K_n=OMAqf8%I3x{p?`l;V|SvLmL zHv}ZOPmysU-zXSKceq+$o{X^O5T3s-RD7Sdx&(c1kF2J ztal>C-?YMa!-HYXMYS6|eJF?FN49dO9~u&-sKENX7G))`F^zAjA}pi!#Xn=(4gS ztAyjA#`1>t9Yxp&<+{Eq_q%{JPi>-_nkqRhHd<<7=c7iG89~KAmjQ~d7A+Nne`<=0 z-A0<7J7}_*7Rop11;Yv%C#xMlztnhYiq{$I4O!Mv*{f%_`W~{UEG5DJ<0R*yd>6RCc5}GR&QG_sK;glC1C(b0?jI@0W+rS!WO5hj{GY-!5icuU9r7GNBXn=T7 zy7UBw+8~m0 zu#42!$&)(xMy&nd&-3O{Z=e;i{a&{vX zI&JzzljM1FWRpKi9$uEX6}>5nh@fF#*5~({QEc%T1A(;czCq1ss4Z`htH0A_H_A>X zTou*cQ*ZdtE61f`;G`85U@tWV)+7Hgq0k*Xm%e8L^DAD|?Qo9!l4!_y zDsd^9h&h##%_X5X9%n5)1*LTY1lnHW6a0TJ>=m_@v-EfiUf#gLz5a~Qyl!zEIsYyo z=Ie=?EoXp!nTTEO^J0f+8EoZK@mmJZI0Q)Oq(qQL!Cu5JM!3pxw z3sCPKj9tc26W^|#7e@7@lH?J4!G%tQ_ff8KY5yqHL3UX#{GwLY4#GgMQ`@P=^*i9b z@Ej=FJ}ii!puxsn%LyGgPk~SPP7(ZGr95c7FT=0BS8a!R%;w)Cc?;CO_`Yh=nJny3 z-X^oE-LzbSm|t9#fNx&NMZ9VX2H94zONh&n_H4>pX*+XtP;p{uoxd_R-KsvzDM`Sz z%3ArsG2HfxN1^GIt@rm1*Is>!ev$l!T`1m;q?MR-Zmc9ue#D`0Q0;AK8mLe5C~vO4 zDsFEWX6Q(@-n0I!iEcH_{u4sP2krPFr;aaUTl4B8`<^AcJTO+#-*v3R(CR8t+OP6F zfrj$xQZ*T>o0qTzD-qYlFX!zUdfV0Wq9&S?ifl#YgED@XNzvCHf<$x#zPdAG&8o<- zXvO;-V{6;t++6c<_I}VeBgnI?_b;ps`}lgC8A)gju5}#|Z-3C|@vp&xbHA@jZ|Tmc znaVuRyguO6$c-HR?gqxPj&WZ!s}8NKsVqcLWn4EHd53!ar?}`%pka_9dQUn%29fDc zH%$_T-^X^A5hsFCl|O>OaI~L+8+84xHqEEXNv#ccrDx!O^e-uNtjUGqP?OjT{iv&e zq#kP$irDb9z z)?%`lsRGXvt~!5HMjCuPFX8~N`a)KpCR1M%4VjraUC4ZoWTBDnaHN~Q`{@>3dv7Gw z??|%yNvdd!t-Ow!=b$t4=ef|@yF{jW)3f)l{;=7zn0o9yt3KYzy6y`5PzOqD8J7?> zOFZ2;g?b9tk6|dL3C(l(R>hC&pDnf>vAl~IMt3xiTl)H*=-tRLy`*wI)?_{7`3kvr zhs}lRc~ye?j9IC7j2Yxz`6o*kbr#y2NbzWMy-VltVq}jW26cBkB^a(oj-bnm4D4Nr znH%w^U1G^YBvhw}feO;aik*ia&|lyjLEG$H{V^BBip1q&@w2}cmrlKjmQNm#sF(&R zL=GDK7Nwp#5Go1UlBT5ySqt1vIoYibs3w{eF7@C}V)VQZ($_v)HPht zA5FF_iZ9adpg}yd5 zL(5a{T~xPRX;E&Yyj#>$A*B)<%QoO(!GoI`zo*QDzw1k%Ylo3Icc`_`RurX`Thj3`LAT~SSDL727@lq!NCVPT_mK~a$=p@kX|r3g}_NU%jkF-D|Fh=LRa zk$@ruB3(iW;G(pkblC&~0-+;FTM~LFf&I}vySV4qTtC>ys68MOX1>1y9DErxh0;>$6Qa?X4h+p++_oa{c`JHuhdBZjGgd zXNm?o1tH+@b`BZdWN_GYKbd_-Ez8NMGQ9(HMvhfpWbm7v8^k&mNj1MUSK(68@?G|bj)tru z)i2bGhrRJyRPcPN$ewRPqLe&-yTKw@xV%?oSgPHIWaK|Cpef>KYJ9B(SM=!Gn5X&| z77&tkJxSr^t5VUu$J*Q;e!&_P@+{sG?Tr2yYy9v#rjFZ~I<|T##%2;befN(gmIbhuXRI3Pxzlprk)ZTDmnxGZ*4Cr;O7FK`xaoYAXoIkTwKwHb zeY4=FZ#-wn4?Jk~(jq z#bHfVN(Ft;j|%p;DScdKE&bYrRP%y9Jm-~d>k%LXa#!!;HfL8v*24DfX~cujs7Obp zD&LB>z<`Vpuga6&Rm&avF>N%5hpq};a&t<(ad;XL`6V!bd8AO|lJzv9R*d?o3!Kf3 z@!5Nnr69goLWmMr_mcS0R$Eno!!yK)FZTgu`KWMAtx6Sa7$P5KZf_+n(dl}HR&F=hAH_~u^u@r6m8&BOZeLD&oiW756)j(Aqwv) z%lMFM)p6conA=s!;!Lfye{=cu98#4tL17$FY=(%I%^`}z-IeP_Etf{|$hqIm6XPWE zhKmC!;ev@-xA3kG!B99&A=3qHDS_1+;Hi(dZLil9E}t!CJ+qUR<I(urlxgj)i7pL$9oM&D;93I&$=Z79JweM8>ECNo*U7Ud4(MnRU7i9Ju z7OlM?)Hrt6N5HMu0v7a}KC8>=YH3H+ScgdHWiC!!R6e2&L%p*vvt*h`CjKFg1OBW^ zoMgUhdBJ!JiJ*AU)RXec<8^ekXS+}_yUcXOc9~E3NUJFkv--&XD#=5GCa6)#x~)nw z85VoGQ86|kleGD#SXTXqvp{zLLJjzsDZ^@il)qj+*ZB4=V1iDkQiDDQE}=BW=4QN%QakO=hR9t8!lVN^h4gES=_9;FaG49TI(MFw{B4-k5up(P}q& zO5zQcAlZ|CWn?89W)XKdxk%t^2}Jlu+Q%{GuW>rs3FVK_I4efXC_Be3?``Q+YCHRY zM#+JQu~)ZwzKcs)9^^@9y20YuR?5m)9~Tg4Q!-cxn1m+$9(8mph{$9zZ|<+Iewklo zUoLTx&5tqj44UOTE$gEar0>wuP+8SsE1?YGw}jaB_i_p<`@x=2M>JgBFaO zS|Yy_fZvGA$&Efek(&QRjS8Kyf$rXO6L||A>eI?jr@EeZ=0hzSx z5XPr~_mf_V$b(x{)$xxk)1Cpu?3}kJkyGZNz|6e+=%YG234msy^+IXe zs_TC&0MKGI-hFnMpBcK7u#ZfEC)T>^apETq@7xg_ECfVa4-Qe@!554$=T2-B=o_sl)yg*)hfPf(>A);ra^xco-j^PgqH`9lGv4ySWiQ?E7VcD^MAOJTBXq*AluW7>`$C-_Y86!JSbCNA9>I&Vow76G-H6Fe$%HEk;m^W%wE0@`V*q9SvGH=O$ z59YS)nW~W2KX8Ye=6x7MHGWS%$}Gtw8RmUP{5*X5Qpp@xlLM0j7Tu8(R=Tg8SFc!M-y!aZd>%$CW`geI5Z#J+;_j@u{EPw#kTdTR~5~z)>^Ao{E%1f z9bX26ilu&8TB-({>IKrX9t5`bFa_O}1I^ z?9}#0pFg4M zGdVkOKxD7r&Y%mRH1W z`v2%!UNS%{Vxc8?u+p4Dy;ZwjM?94Iup-)Y1)`Jo+e8TdkFb_nNBB4PE@T13rL(}-ao#p$rBFbJ=;3ga8sW~L_mL0~zL+5(|MN3);C}=J>>CRN1OWsDq`TG#2=`wiAf+Jv>l4VnDR=(; z+6VfuJF93X_z(5HgoYgg0y+-#gE&0reg$1ZQbbVM32{5|Zasb*Nyi!zn#5G9Z$UQo z_!~TB0c@>i3X!(m)|08Zg0}&weE1LO@eu3k>e_@h6zYQ)>Nz@iT^!{*cBl4S`QD#w z%U!K;m$~d+?Rwm3O_Un-I17J7Kqf^%L=iwh!t(r|mlE_|VtzYZPrv-nTmSLbV&u4H z#6O>3luaotWXyUvI5oq$`j~leid!{$^4M$fTq1 z-#+-ONqK-tyIHeD|27#c8Zenq!iQh~YSKum!Sn;!;pcxY8xba;qoX4?Ha0P_77;9i zMNNgcYQeRk#DPp2f``N-9nLa*go_kO>3Lt#2tGpix1snFgQ0X{px*ndV|3#Pkmk}` zYkL1}bwkMq)9u#!Ls`+h|7ITqWLoi*LZhB25rzU{YfWf>DA*z)=hAa2(bAKHfj;@A z#0CcX7z`Abb<`dY37@i=pv-?UlNmBg231N``1x&x)m-iOn&B#$K&;MW0Yj@^}k zNE|Frfl`#SGYpIuI$i>iC|KUvQa{ZI{^}Dx2qYqkPf)l2pkb@knGag}Jq&`#;y!;JZ>HzT<-QSi`f)MeeG8L?KgXwR7 z{f*u1-Fg30(O!!O@qWEZ(+{4@c=nj2wJc2 za%ul%2rwbi*T}y~{rlD5qW;bOveAGUbKhnuLd&^A`SSMaFuDrS{EL7ea2sjlFmte? zt++qoac49DC*a9~h-~^v8A_(4&d6~b)+D@X#VAOK$T4|{3Y>Sr+bIZOSm>T&*x(aT z)+2n_2(J8J1M^zOCYAVb(4Ig7)(@3*u-e9u)p2(g`6z<1JrTi&8PzI==U7>k>U?o6EXz?u!2V4r81x)=1Ql0*cu;W^BgA& z0b$TQD5dirG*xu4E*c0nPr#m+Lhz!dd(QILIZZ=3b!JI=58U??P7JS$gOH0{)smQJ z4Ph1b4_$DfTxh#~cvp;$v`+?nZjn`0{jW~fEd*v;`ZhxeT9*H7JgjG6$oo&|=pnBQ zVf7+l&|FT4{)(0T0t}gLV}u>}qBOYC_^|2lBNXK?U===8kI+KaD8(@yPM6f!%Cbd? z@CUA>Op$XR#Fp1!ev-+EN6(PjaKXk&B4hi@Z4tcGalxA9f5BWL`)@SmDX@<`>8-#c zZ2phn`^<~?bauqDb|bT~tXr(*SZLeKg=9~#xe*XyKZtvJ##91E@^JZC?>F=VFS zf`4vruKN}|Zeemf`y#9+{R#KrALa6!ZZ1}v?_gTKH@iC9H$MCQ3!~reIX{v`K}FP* zMNxz0w>NTJZ8FJxyyYJ)4T&{F(En{LQbZ8qa9(!W1Nb08;&r~3%x{87j+?j=tvCOG z=r#SDsL_fUtERqLn~tX^E)#`1vK>KB-%QMYH_s~|(C{*?nsZ?7i(_M@E37ui7APMQ zBbq9FWj)Vh(wJA&=u8>_MuzTXO44VrwpqJXXfaz&U;n%1$=y^-!|l}^zDFAGu*=p{ z1LB^r8pl{SU5~ruEO$g&<}J6sAp_3(1gVWro_qxR0RR%YVqjC5ubVxFw)#2BGWpwg zrKu`;s+lTVsRR+Wbo+DDZ`zva^?+ta!|y8L1xdgN59WY=N(n&q(7 zNHtx_<21bcdhX{LHQ*jfDm%ai#*OEz(r#-hw#eOV?U7rE4FAS0UI!pQ(mvBN{|v=R zHl&eESvvR(FiR!Z&DoN)uC+2P&su_As)1DMHg$(K#+}Z`UqXL@bOK^3?Kw}uUEL#q z#Z4uEp~!IiA>Z`n^{TO3Yp=wdcCYARtb5!RrD2v4*}FYe*7xO^yQx?pq0zj@?RB~P zQ}}XdreydFmF(VAJKy*B8gqZjSfOrDs}7 zGj^&L=8tCcvosvejru0^++iz*sV}0NbgZ(P+jhvxl#P!Y;JfVo`jmUT zlPGgkGD+5dq^zCL;xXKv&1!b?>TD^vvLK~-Zu)iA?aieY>u%j1-(ereLJXr$ZOl&P zO#k#{$1{%@kY1 zY?l}~KX}4I@j>_g0a_in>`4F0VFn(opk_7B_{&p=;sktd>FoulB@9-BR+Kk-ddbFe zS#pUoMY;`^p2s~*O|wxmmSugtEIsswe79G2X`UOH{8#TaV}%-z)`x!dC+c}zkIjCV z(80)EAIS|m#A>=jmbBeUw_ceZWWRADEx&i3scioY2vd3R|-K=8sx>RGJYCE5q>hP4y zJ|o+PAZ!RJl4kLytO*W6y`)zfxe(>EM7kR{@Gu02$7dIoBX-rpGnApn(I0brf zn3Xgg_H)m?S#Uc|tl2K@*=FaB7T3n>5Kn%j{oac=aqn?nNaf9(`^=8nesPqhISrk2 zwYplN?4AjqVLsQ|#bQC4VwxC6zcd1k7%6RKL0T~1v}s-{hZ#K{v2JQsyHsk9w3c;4 zMd*5J`K)aZTTC5o)k>6B+>eLc`Ciq_o1H6fteNa>;y)s%-g(H`OkX}Iw7Qn;A%`kb z+F=t-T7NQakrg-mc#Gi!PSiaN!gubs*Qa2|uDg%KZ(T7ryy{RMX!g1zJCMXX(*67H zKQoEfdtmopmeoj5YO6#(Qae_wUC`TgICP z?I*61alR~L0}Jk{52Sw>*XWQKRE%FsaQ~u zX8m8|XheK$SKsNp^TP70$}R|BvVOw3T8Bc?=Ct@LM;Y zXL7^%`OlZb%lFRRX)+m5DdmX6U^tzb^2t_fNj$X#T9(XPHss%_sB3ES7}D&F`-r!)dkW z-)f9lPp|n^Si|BflroMQv1H;=z?$X(g8gfNz3fR`|5R{ZSV)@rW<-h#VWwqELEQIr zy3Z2`GUbQ~`CO~P*0xYGIwpJ%V;)KU?Moi?GEF?VGKuwoaJVuh-nwy0;?rYx%a~)@ z!Ae&6f~i;b-83HBD_vga4>gtaHR&*R9AsNb&6qs7sukHHwTTm!$cdgzPnRz9?iD^d)G*bG8^BqNXjQ(B9!yI=FS-<)cUa8WF~Q_L3TarqmOuRg%o~m) zPT9ELI6fPh6x%C@cFZfNEOm=Y1fe*e>txb! zM26rF3{L*9g7MK1!PUW5US{chmX=n5qG6&TA{w)6RRG<7Xf_?v`H!`n( zd)|TBFpN_6a@t5xQQGU+4~gb%CUQt_iX`1nN~d!|9c~jl?5e0EP0ALXpw^ zICO0!jFR0i%!s~FTYjC>#vn3;_f{Y6dECxCot6)*qf2)9Ce}pV7{2(3rs3vdi>5?m zf$}QBY0>X>xmmL(;_l0xH_UGJNp?8L2_Y2wC60UZX6JP0Mw<~iG&T}Dx$-6nHe%h# ze!+|zx{ezlCcpoZBM&#@{oQ;gXOCEb6cst_h)1TyX;>UZ*&7saV<~d+5PIsC5zxiV zkkeFlt|EhPO)NIXP%u4?UJguin60F6)Yau;l$1HR7p96e6UZ??X~nTQ-%!_Mtf!$D z)I4M*m}qV~|GnXKKK{UX=p@QOsYms8ra$BEWk$5_w5Ly%6}$#7e72Hgj0`hhD7^Bu zq$P^9Pf$sv42>C4B+thyNfJt&ny`@axq*xnI0KpTbLqVC0>ajP+m(+W11)x6e^Z1} z3zUnDYlrWCDK-%<{6M{sSJW^~TK7qvcYxvn9YLhDu9s>{x`^@=*&aO(a+p*KG5=+F zcbK~{sJTEj{rcdD2m)G3$VXyiaE1u-jRFnEt`QNfI2Ou1p`jJKecyyHJ_Owz#CBin zw1)>szqQbX-JOcgLqucWHpr47?QR#cHl=&9u_Mn&Qz`#V()y%30_~|`o0byVOz9d% zdqU2&W_9J&K~GjKnS5Q!E2B+3IxH^C*B(hJw$sly!#;*t$ZhcTveB%{(}XQPyi3{k zGfZGPaqGZ*WYS_Qws7NSf`28_lv-Y>jrl*E7=(&hjZj=@=$0s^iVVR4)f8=lHj*<{ z9|=l!YxzL(h3~1kD*S$r4ExCqRM@O(`38(aq9;hYR5UuG(?UZbVm34(DmLTlaC%&I&zly}!3O6j*KD$G|W z9|oyR65DIZT#+~x?g0#E2OP@Ul@Y$VaTEViUue_0(!0d4!?-7G6(qM7prlvL|yu0QI2`1v}-E)Y6vk}HjIsrdrO_BezfAh`u)SqI!ijwlL;%E8Oi2y zO3(0Y;~}#7M+CuK3xmfS$WS$Ak2FPKzERV2*;ki+Xcf9&xrxD2*G-$}#I#~x-$CLs z$w5q0rmIpo@s17#3J}pIoj%p&%YizbZk>a6qyxs~xeuos^=vH!KMs6t;N^2!vy#^L z>~gfKtagi+ll2V~V1=*uJGXe3*a|0|$`f198wA_Idg$gqY>v_tYgA#- z_5SGe^O|p&KT~l3H4@J>Q&Qz|Wl(|Q*Ew?(1tI}9ky{A9jJ@n7A~&ASz|dCS z4}uul?FHlEZ^HNO1_kd=Ia7*30R7~6fl+-egiQGB;zb0@@y1A&;0J($f*9V1arNY`S}*r~j17Z%GiV5TbtCtVF6!S5ZI(T|0cJ z({S}OkyUYixq$K&R*{-Ff$xFU6Fyg`I7d%{-3cAXM10Mo=n-(^UQ>&}MW&}N+a;BJ zkz?$5@aGYfHgmKyr@SesL>eLaI4DwfD z@ol7sE3LFi2Uu8#Q9Dc-MNe@u$0Ac$#}*sjr6%EbuW!hQX*=UaRL0dTS8mRMvT0XY zFd0PUdLiv$i`_)hbe~&aY;q;Tp9c|}hld0F@+uizs~99nwF;@;+A~U)q|s_xZFs&@ zeX$kenmq}w2VFD){rtCAqa~*Tx@K{DatYfDO-(~uh>>{Sn*iP&84qloB|6Sau1s9n zC-I||Gk#;&QqtS4UV2DmuL(bX5b`rG{Zi}nqco0>crXc!qL)^pLb{d%FMm1%pvV5F z2dKcwAYw#-0OtidVy@W6NQN_(SxXdhp z5@(9orWN}{U1%&@F>UzZvzy}J0w}0wM6*8rat_~)=GEQbI2w_!`fk&3UfFw*euQG;MC>t4xDm1gEu5KfUh9Rn0roMHYqJ8KcqftP7O>7<949 z^P2d+^|fa6g8hi>Ndz(?s_v9hqhbC9g@fq>?J$(b%VTAr&`mcG#%F0Sba(UbdLz#p zx!H6YXK-r?xQh8VqEFXGqI3nBR^=WK*DGL|aLBQUr249bDDr%3bi33fiqtz4Prg{& z9BP9&lanc9`k(w`bR~+{Hj;J{FsGUDtWaEDN=uBVuSbpK-8LIfPb3Wnr%aL)Yj>OY zUr~)VR(-8XR2F`ehd-)o1vTDWSg6(ilxLvE8&nH;KOukI!%%6oW*E#np5nfz?i@_??kJ(t zRScl6jUu2@LELj|vOpz=aND;p)9n?Y)_vSSqO-4z_oKay)6f6Coj=wa_u-5UUHkkdSsVfn_8evhR=lrEY% z3W2olU9#?v-9T#YP>aJ10s`z>%KGAG2jQNW6E1q?rKGMs&Cfh z*@T^bL#mR_wh>(Nu6E}2Wdx{#)pl8;Zq9ZokfZYX=2lTtlFjbMyaIpuT?K=P%AXq= zWMokwZ(wKpBwtGsu>uP1KLt*}+YbuSs09b%yb{O9qK*L!S^Rql`j4IU9Gm{R1R?a!8l@mPrOVUnIFFr!v=gxiT>zLT#?7F+h}P#{LQ4l=uw- z1|FbpvlVP3pmGaKAL+bR&+k3QO9qI$Mt%IQ7UV7EPe32>f18PoGWrVOtvC|h*FYYn zh!ofwF9@IhaPgEC$Oi|QG4r;oN~1gvQZ3^R+o_Njg@9i}Fch|E#RZD`UI>yt1Y@yz zOlb)!l|=z?RbnwzA~Gx(k`tDwi)-;;rR9i3a2+FYnLGa`KL3L-CY=UZD3zB_9a4Ey zNRdFOq|YYyAyqH~6OqEr0*qgZD(Y{Zg0avHJ*;dzPiM?iG*Z%knN+v1-nK=t_wh-Lj*YKZkG9fl+da@ezW!DgUmyvA{b1TyL%V9&)f zMW9x^{7gF5i}a764KDK^{Bg*8Fg;3Fq(Qg8{nb;Tl^7zF6}*vG0mLQT#@ERe1%uZl zR=Ge1E9MREV6KoQi!w?820u+G?+i)F%{Zp>^;{IBSm@xR>JMFA#KCqFD- zPViA*Osv&^m5Bc_8U!y}h~%z8eZvo}AuX2aXm;rN>UD>7@MOm(Qa(4E9OVzDc^G`eBHO zGg~{EbJQDY^0+Oxt2m=Hw`0?5f28MHvH>z&W1G^s_o^@id}{4C4DLO6{8o#V=IHKPZ5k!gb6PQiTGHMa30Fx#GesGq_kYP3_T~ew_BR2c!HMQ3+(T{}C z8SpkM$m)PB`-^SD9n+kAB<2C(tIm25tIUoiL@p+pZXzA}-89~M-TivA65evwJ+1_2 z@~H^zlCudFSHUVvvGpnc^(-yLxnYfEA0r;Kl&-T*9CrVhVZ`7$KXg9cG`jbY*pvjmj9muA)p)=tuPSuMh!SX|3*NHy&86()KI2H9Gm#4n zM+G7RdB}hrWdW%k}%&uqeAthk?s)wN}fwu~c&pNhQE|9o z4!`-DKV4zxc%VY#;u23?5@03lK;dJOzXimXa<})fmDA>QGtU@yf3*KT=waeGC{_$Z zS$>)fuvI^lJdH=Q6<7VJl3oV$p2Xz6{%zMq8T|^Nl6a%Mn>_$gGeJ#qQdi}$vGgt6`+RdNqE4iL z&YGz9jPLsBjor=pT0AHZh~~<;cdHGjt4$M}Pj_K?Tsv;iS|?f8PBPX4i~(Kjz}XxeOwE zg)wg)aD?p_D!6<_Lb%2%d)N)@smZ2y8-I!vw-)upfKKW0wr+?d{h@O zp#|?L6vdvaRN}R(xl&AT*B|z;0u`q0x>I=q!1e8u7pP292kh{@hEvPrAJe~GJm4MT zhQojww*z$c6kpQ&7Sz}{4j?jA;s2tLkyL-Z=u5t>&TcW@OAo4Ml;0&cimdsM9PkZj}%ql_y*u=pyr zp9!c`t4qQBay={yu7^*q?Ib&_lFWPJSBqA^1%WEV(dF3}Xp_BZ$c6N#3Yf>~oZ~9+ z^nurM{Um&3P=Rc7F_mn^wE)&E8&Y-uNWtJ2oImO+ss){%3Jw+pj;R+l;u?@kWCPkD zedY1B%kS^^3$RLnXoqk4wKXZ{O;#N6mmifI1hssLyd!mfg~wSu-qMRc?UJ z^ztAqEGvAXu1l||l^YespDB$&mad>Y?8$5UY=&^N2iM0=O%}}L^3168)(yu|r%K*S z7#y>M&T%qHJX2ORVFfrF@1jLe;Q@(u{anT)vK(yuz{zv30I_De7IjfOu4$3cfB)&H z{XX_*%h#_A+aFjg4DZ}Ls>{MTB+Cy>X*A-_I;ZtwouK%xtR=qU_X1H_S3Fi}@a)6- z;CF%{;wxbNUJ!XLZ_R?jf!VH5TUSgxZg|rG{h&aDBuhJnwF4qHv@1TMnCf3l=y^;@ z-t~U=Dg7) z9#=MWanuIPGL>!aRDUSt1O|WJPZz!pl_Qupq%>p38zgl?0rVH zY-tZA%tCqiEH6lg=Bst(`ES77PMKF2l@<=&PKQKm@Ev~dYb!qA+IAqZy&xI?T)5F^ zesD6Z%G^|)vvrg1Vg%}6S#E~;`IA|7+VJ|%%X3*Ad0pWWh=mQzZNs#2r<9gg5%O-1 zr=R)C0>hiE8bPWFkye;;g6d0B$}4yWVFHYOpRyHjV>Tr ztqRlZGL|6F{}*o5@^{j2!te@CU8^KVKaP$1)(5ah;aMN2A4*S0QS1@G48wGAI8@d3 zeag4x(%)0zdx#a~sd0@pjVeiNSU+p)86xUd7Ek7Lv(>%o78cgZtVg#WBi98CUajJ6 zswMM>()|yWYZp0uxpILMKhmC6wy{)@?Hjk@tChPAM!oXD`JuhG31o6(_IW2mI^^T6 ziGiSsPnc~@q15R+RtHB)^i=Qw{IHg@RhDO0J1gAJO8fL|q8vRdC2R43=`0#Su$fx@ z%G&>aiq*ZFPS&PqHvZ5avjHT_@o+gUY__Tfq@CAW`G&i-Ta0N4Tctgh#*Ha8MC|TQ z0vACaT*xCY?c^-Dij*;ch>8Fs;IPfwgVrqxG%w2}QpLshV=8K~$KyH!j7Kv-bSrGU z*o=T5yd6AYX(Jsrn1pMjvz$F_A3(>;S7%3S%)eW~VRjk4sgVEpE_Z)a`LQG-9A7}q z+F^6D#84BvNq~Y04K|{bq61T@1vxJN?AwmGNB{ZAy-VKJ7{g&6U%V7GIHfzy!;qkr z^Yru>e$8}ggdqZ+jDo89>G2|W+7N5T>(15*)y?w(__~uE8)w8%N|!|0ZmjXo?Q$}s z_x-q~ZrE)T^Uy{Mm{qV0;VYMR+wdX!zJmOb0`4|n~ zrL+=1DmB`v2qn)9<16cx0Kiqy>WUKAGsJ*}1$V zNVwBmKx|?fz=B6n3slaRiv34BZ}w9lWmd389U()|TNZmzs}xWDEDv7f#>7q|)(199 zTy&Oj32a;w4v$)Auti%=2=0(5uu0+ncew-#AkhA>**VMvd~^sIFPdTkrtEi5bS+QL zvqtlntQi3mNn)T6sUXxVod_%YIq2q7`$rEf7WE@9xbD@*t5o*Va4TrLnM;C1T$$6| zxdNRyM?i|d*EpxgMeGX>ddeO5%;Ty=hCzV=ISf$!?k7|xS62mLyj~5H#7GCe z?H`Ky z=;f=t=*(=Ey75qgoy~+^AE=_53&SoCO>+51DlBELjEn}J2hcC_!}Uy$K+(*#ainMjHGg&d^(e2|0jTRYzOlpE?2F7xUvh4ZZJMS zT7X09bt3pcwJ<*N76O-$cEX$Gg#OI+w-?|U-7Kd-+sTAB(0Erti&g1PUSmP!bhniW zgi9@ByTYkv3WUvt7k#I7Elb+|wEB4596kd+Juz8HNo>D4+C?J$ax!&-;DmFVpJ9Fv z41=A(^4bX9{ zDrc;?4}qvqL;YCoV`j<_hfX`3W|*v@Oeb*oWd9w2I7AF0}_*gve99i|0`)XXvG@NUNm0p*E8l z-OG8C88>%-$IAU;gNj^tGi^1iQ18Q-N}<#G8Ze^CC8y)A_90*%v<9+^IrSjG0Cn;t zMi&ZAFij=M>(Ca#Q!C5QMiK~qK(cr4kKL*ib_!CygHCd>Q_ohCxh$y9<{We^_5S?s zJ+kUu?-pUd=ddx{)-T+r66m*^Q+zo^fOaN-QfWCgyq*Mbf=S?N7vM3B?KYphbiZ;+ z<9O+Iv5}>kKH}p#gJK%>=3fzaSrD)#Ja0qsp#Y|hV){$1AiXWgpy%px;g(&e&VlX6 z7tAVj8wLU3Fs^mk$)L7+Vta&Tk@_jlVP|@(t(+i3bF!9VAPy)9Q%T_|-zbJeW)jLx z$D*iUKGT3b-(h3mTVeYa!{TpKw%2$`SdlRRIvhqVYgVGzlMkq$zHdf!_+D`Mg~T~q zhu#94L0@X$ks>`ikvzD&aZGkGh@iQ<$env20!ZeZlunYwlkdW1^EuN`+JxQ4;Zux6 zB>4c-qE_wUH)kPeiTFE%)u1?InMw%i|u1%qHKF^K3W|*|2kl)+mZiN0%o?XUx)0ckt zY($lTaB*{pXilduT!f`g7Gb8-` zc&Za(zKPbPC>9VD8x!vn2B;QjX;>3ScUgA?|(u!|R>WeS-c;M_b=WE`MjHW|0!E|%DI0&qB1O1tfwmX{`&J876oHV+cDt`st0C*;b;+J?Mmmj2u7w=X26EuYJNtQ@?b?-$kc=GSyKRu7p;~ zGB0@%S@bN?@T-n`hq^8OJlbNcN1%EK;hamy7piajzvQJ}8GtiFlP zTbLu4QwW#co$R3vZ|K+R9?K}Pxw=05&i!cgzIC@fzsuo@^L9hgtSik2qMB(TzJCBe zfiTpoLoM4dnn6eC4K}gnt?!C~g|%jIP*Fgtl$nr3`-L zr{^3n0|;UL25xN~!Q|K&*YlNVcB`+SsNtrj0l`Y~<1ov7k_vJ~s)-}O;A%39%>+fX zN*j_65TK$G;#w;;wF*7=TlEb1kEhVfYys{;yQAJH>OiRbx5dK{P z&lzH)ZX@{VjTOCH$fz1GZ@BAZ2X&&dro*He&Ak0AlCqoP=wib}h+s_N0#r5ZYQLo zK;l?9$gU0NBMT9M+&o!i_2>yw1=MOiE*5bE)$lRmr17RoRucW_%@yRBhzy#?7w_Rc zoinX|I5-l^6?R~x(-yHGALq^Mb380F@c-lm=)l*oZ`;#{9<;ut^)kz_BggB7aXT@1 zIZO=Q5oQstgQifRR~)Tj{DjC(RLchs`3x{Q5^d%C6FZG`tD&2UPv9hGM8VPrM}w+N zaI;RUyH?{-bnsZ}l+wxd$#|>UjTdy;)K2!55rKZ&!>QU{jXH$x9q%ut94nY?dMMl8 z;-LE(;;YLHV=R<9Zfl?hwzG0Xan{xHVjEG&%Lct=>h%II+znJmHe}| zAthcyX*a3gL)wF!xqFPBaCL6bH1x4TdMUpYr@l2cq;~XkrI3{N48W@+t5JpLdsUV& z2}>m%LJJQ0AFJM*r&%(mW&A~_b;vAmd$W1dUe*kunNDS@2~veE1NcakuU5#?sEH7&2`FP4( zd^u{-gV+1ch`#D z*IXKLV9OS`=VVwaNcsaK+0y|!0PY-tV?CnQGT_JzgodPK1iU_SJ8YX)*>?#`STkLM zLQHyAY9n`qfDQIN{88vf`tUH>W>gV>9~Bu}q|nO7nlsV1QE`ob1QpQ59{?mcSRhry zpYw=b2uKI%3JK(Ggu^HC*;EZ}lDfP#&Tm8;_$Sqf5!=+2u1Fs7=MGLU3sUWoSrcaq zZKVQD@*mN=`G>>bOZj8bob1h$jp`7=?dDV+2t$~Hj0nI5+{yB31U1)3Es0MRF5c7P1vFmH zupfgGKTgp5UhKw5=6!aCfvomGqWii_6i`KHj*H@wq&mYm4Ng5T3WKvue1<-Mjy{ow zU?Iu#?0E?x8nB2FdOFo{C4+a zx8#w!Rn5vDeQ;dcPIe?i`jLw(;IWM|ssY6?QxEcOHXPVX7L?gaMi5Ila}#cuRIXKO zFNhSe4LXIW`T$35RTW%=1hg=JIG9{7c`%Q`mgPuhVBI_Z33WpZaK>dI1_Imed(#zp zJ9V2xT(;>OqdDQc9w1G{gVJ}BB=4ag7fxtl!-*!V`6#uEuF>cMpdhCA^lzbl*VS&i zqH=@agJ2Tg*YtV3OkUDSVvDpzX&$$i3n%rPp^j0YBY(M1g?0T93$qHo#jfXe961Flie5<25hZ-O2gFs4IyayhX^^D@naud#nh{j* zUpJ|X1QJcD^VR~jhAIXsWhG`qJwFWlQB7U>FO|(X%*2-UzwWUF{ekSs7b{9@{fPy? zL0d{y4EXk35(&#Y-wG{e|4f-!gCM>OQy1NNzKb=GUg2s_U4MViv|eaDDc@Fk28mSB z48P0dllfLbFB1niF6p0At=Y)jT?@~S#cP(WfFx@@_`O%>~)vmC3O5E zmenK(s!)fKqXD}$)SJLH;tG7txS(RZRI3#_jX{nrsw-2P1rAb;KSWgzr;=ws5K#)_ z7(Uv#wOmjlg36yzfpiMQY*5Xw{*j<&fgENGD5uJa-1B6fT#8yZAcKk_#a>V-N*R_d z`qL4jzA;IHXU?rw0z@7M71nX9!{EeShysW!^6SkbFqDW8fpDC0QI&rcyb-?5U?Ghy z!X(~Ita}J{tT3lBXhTi)6$haBn>0klJ;*f!BBKUGYmDZ+c>_P-3ONlM25a(EeH&;p z6>BS~=_lGUBrwWL5K)wjAUI2R_Gv8b>$HDHff3Xy=_isq0)KK1j=AMrCMbiKNG0luYbwx^m*+4Tg;KcDZIGUxPJmU-c_V+oGaO;-E@01{zk%JQl9_%9n_OB6U8wMA=EODqapEeE%E2E zGq!7+p%~N7RO}fN3vRcGbBt@7N>}NCBhZ+~aU;-vFW950^>cY8!vQ~9VrGycg^OA8 z0XQUJSq2=iHunrV4xqpeR*i{BllHTK0SL&H#@QRxU@a+-1g#sTlx{65ig4cG#b{{N zP$267qA3#`nO_C03I{mURJ!lFJj8OkSF<`S%_OV;nAzZyTR=>u)7)$8OV!Hs=79#6 z(@L#uilBGs7p_2b(!iEr&%u~Vq4;HbRo~oSTWC?L_c5xKn9@yZ^a7Moy%iJM7NXzs z3TwObt9G3$N&HyU^xP`?F2UcX8}r;znWf}>W4Rp*G3*&aWhQjqTEx>V^H=O_|2DxM zP*K%ryVnv`oklw2zhn>OU5z3t7=v9)J$c11?My)bxp)chh>#(e zNkx*>e6?WgrjBu}QNDQK%;(hu+RBhZH^3LS*TG~aet^`pUL<~A5m~4?Q}HgZKEe0! zTPP`r5Q^kjCp>|1iIbp7M- zeEGk=iYFsrV=jT^dk1t`{ppuN@Z!Y!2`Bub*dm4^5)W=t-f@5H4~h^G@bZ-WfBEEp z-0ROvfhkn1^xAD-GiVF~E2!Y0W#rC|YUCaU!#E4LFGDb+8)z$|l>{(_(rknP**qM; zlnSoGBfuj|aC+G`T=4u--*A5d4psLcMA8BoM+66G1fBX>BUscl03n4frn5j(93o9= zdLH)wf~BZ^p|&)1T5&QI+E%KZX&13rO8I6#+98WnXY9p%k-w;8JktQtrMRq{!WJo>eiCPnj|PuVJ92@iGOE zKB1mo^8WCb`v|0LgG|sJ6mt){k#dqio@xQ@0yTqB3IafjNGXbcgc}3^EdOzSd|4D= z5+?0;f8q`%QXt{J6A*0lDeWS;ARkD11sdq0AQ6_d3t3%|0)Di?4R&!E@@jvgR+(Fx zVTC9VPPCRJt--i9LF=C;?@9RsFHJH4S2dqVUi|fO2WS-FAsk*msiC9Z|Knu;d};0j z3{~)z;u^ByPqM*svo`}A5204S-m&!{j40sM`_N%>-6fw2@GKLsl+;0J?0>Rhm;h)j z@z3{K#L9jEoWzK81PzS!5^4dwc|0PF5&=2qKReC->(-!2?W3}|tLMuZz zpGl0MT@MiT+6F&8CqOx9klgl|Lkb$F?<+5{K&N_fXU~_6zX#VM0*;b;sTOFCy)9Z-VgQ2}U(6n+0(XO+LZRyY8YYxd3BlTNr(vSMm=b#A z0&?m<9+&}2A=KVDHo6Nj12W`Q&@#yK=lT(!K|kN{`*Z>nidY0|X6b|Vkw1jV|Mjew z!C-&M{3!$e@1H!NS&6xQD#k<_0%sfWu9;hepjpBHKi1wl zDyyw)8R)(MuL{d5MiSJ9c%uh2MIJ_UNo0#AyWj(5h=XZS~1RM@UT5#uyJLhPoPV0 zpZjhxZ~^EUkllcNQ3cNc5Qt*rZ{bsTEOEs@up`4h1eHi4&Q(a>#_tI@(`ZS7*Q&En9sXuc1S^20SN<(L zG#qL*C*(OFq2qz35(8`7ycfd!KRWZD?IPY0a-K%J3q0`xAr2)=?!CV;+ z1Rh4fHsge^&PZVMDS#yqMo!(4bd@3hM#SL3jtHv{=Hn04sTe?`3M-zjKeYk2LIJ!5 zpHUaVe_eL;5W?1?afcbQ^M7CQFIGJmr=E6nM{)x2oB@1OcL1D@&jj;+!c~BPGzBqM zwaE0ZAXs#)7@&Y*&D#o+K&aTC5d^rPct1`JCO&2Tttv(^7Pyu_0=NFZ4=Dyf*%D+a z(?AAffdw==xX#bdr+NK@E|d2aO0;2 z`0TL%%?@5h0XsOKo8*LgRQ)JPz`iu;{)C;Q5bbR6$D{?^GeRCgDPfIp7ez0(Qv2$VtHh zCWgFG$ByGK5VfrHnP>nof@B<+53@)VHF0tUcqC<#!tt&<%=uECs^|VVD2? z9f;2$0j|3g3>Ye6WNuJU?@KfC7juFZ&F9P+$O(Zds&(#-%@E7df)>rw4ClK=69et3 zgBn7r5?PMGLh}u!<-y!n0}Q+TkDrqsNbzsMEHKb3-~VqT7t8@xNuTR?b`sDiF?^V| z-TL-+k$uiB3LwZaG~JJi@D7X}2OY4EZ*akv7{T{ogo7#Bk&>WQlQjiwPDVcdY7h!B zSgWUikD`tM!*M5AB(?*FIU$3A2kLN<;GLUO_rhQ&rvo?s!+?Fo)WAU3P*TEy(G9%E z6wK_~2!>RQJQDJAIL~XU1pGjkkcl0e!N&k?KRS7*07DHao#nhs9r>?g`3{T@;eVX{ z92R7C``2RkW5vNn9&T5V2>N*m28Tt|P|H`W3=0@tok-Ui6jS`m$-y8QQGhTAS4U$3DzozE`bLp2VvhN;WmPf6fC$H z^I5V8n2Q9EwK`=mTKexjT)-EEncA*nRG&>ab5WQ)J%+g;Bz=Pw)U$_%^ z0P~weryv2XqJ(%Vl8CTeq;=5{bN~qFh=XA#oH7TbXe64k0(qjElR>7`5G=X{pKOAr zKTTL{1G(0Eab|njG!vwfLMd(85ut@7#SUYDLF4*;M-ZqTc7{m2_B=*dQ<_4&|EESH z0>&7b=b3|7eu8@St6r3%x0C{y(X+VFX-bR(EV|HaC=Z`y1YcVwmmzUQqx@=6>d#S} zLWH@|cA<>%UWyx(0P2zD!Z<2_>_$kEAp{nJ55Sp8X^7$`;gKCUI0gLY-~@uT?X4E? zk-e?Q#lrB|T&ah?(QD{s7HiQRqCZ8%xk@Gd{Ox6t{=TA>VLzR_zan+=F7Zm$#L;J&0lHQ{~zy4!f z{aTT})6TWNi2*uXNaP?QzZduysN}A5Af+vt1w6XKHv=%*7~){$9uZ^9ft#MtjTOB( z5FJs|GN-8-dxElwPDe=tC_2QCWJ9?O6I9hWP*|mWr`PD;7oLH1jy0~PQOwKDbU`Q1 z$L?qBfJS4#tDS~6qvN83b#A%{GC*W*MC;t&0v8rQDQ!wP>bjLJ9%d8ug7QudFGcL2 zqA2v4Bmx-kcw}Pxeu{5EGKAZ(FOmloDio3#DK=9q%cZ^8HpEaqgKT$obdE8DLob18 zl5U%O;EWewMkfQ9QWD@0BttL-$D^gk+_pTd5QBBvtbW5f18AwJInulJJSt(ga1d4J z26@ERo#hT6#%sXous{QXJ`O`1eR(52J1fN5IwSyoGH8+>w+X+*d;xlRjFKJ8b8S4S?U81Ql$G_JR6}ezWs|#hwP> zE2~_pj;g(~PQW#C0B9OMAV&4pTK3%3eY$ja8DO)lNe&~Z20H+NYti|pD{}XoZBV(_ z6%7!H^dT1LWR0ofX)lp&62$$~eYl&+RB+1zM63=ix3>WQ+U&Yv-Xt~uq`yXdlLzsn z8|LoAAs3V48Ni=(@s$DsJu8>oQ=%pW49a=o^XnA0x<6Ih2i+F1(eh<@dJeE z%+W7+SZ>i$N+*$F-{OUrYV{HxFXc7mG#$zd7J8<*pz-tzm55@{;H42PaLu zd<$k&LKj~zJVjFZY;Cp*2e+40h*$%MpAP2(18dcOY!Krn_t zSvQf9Xr|#M;h803@XBiJvaj9o1=GRP2AJt(tCo{>NfB!d$_D z9Uyjbf9RJ&{v7~)Qkt6unUsOr)p`AFtxivXu7f~H7J46q9vPhi=#+k-SVEjx%|}F{BmmUp zdxHj{U!IXNoGe^{vcW$7hh>?Q2~f@>8v;@b`#%Tjv+S&A%hQ{{N*n@p57R(6j+Y(& z-^QUlJ47`*1@y63Hkh2OZD-1}>4=%)2RGmoKZh4#>sfA#Srcw_wJSqThhez^7|3Y= zkW_aO_AT&`Ww-+%f5$l|zRb))f<5&%5vv;mal=4}stoxKiMUu_Mq-%m3MO<|nl9Z4 zul@F#XJ1#Pg;3EAvn0K8s?Ed2GWF#1Aq3ex+nZ%$Zb43YuJ7<0)B(AHc3Z>29;Cq3 z=EA+~->bUr0rJk!uAc%ixgq%Mvx{K}#)+%zs=t@8j;AgWF|_)&J36b$6`t4LKOo0fIVDxk^Wm)kuy?JZ|Z_`c^UNh2A{cb*NfLqrVR3fR9kN zj^M`-8Mj$=9{;b2$>gV0DUek}X=v_u#In&7hzZBd|m^bOd3 z9SRGwIIH<_ZeZ9gW_eGnFitJK$^_e}R;h*fUMy~_PP1c`L99@rFr>YA^He)0FyJkg zqVTxx%oB;QJu7LH$n%+3qpY>m3fmRStUHNbEcS{*2izVqYXJcdkVPMUG`g|iX`rxZtvq#{Se`RfUTF!GU%UheB=Pep6~+0EPT9)wE?EFx_-Xcn znpehRF(2R`=bmo*-6u6uM3|=w{(DQ@t-SI#GW8CYZ)UMy~b z{(!B6hDiDa*MxwZ*a0YAsS%(3kU$*~*dlI8P(0lRH)0oGXS7r3T9@bh8js1YYC9$z zD@AGd{r38(A>$rnA_GEQVPJ8r535WXa%#gZFLn8b;DxH1*Q{60wW2{m*acOU3a>>B zGshvosd4U=)?0BDFC|=U^Z&a7PbWk#697P`145`Ds z=A`*8{2-+vVQlt2xbzHw%OLS#YPBWI^wGD(Yt=|$!w66`wHVzTKIbY$3n9j=;buGASsQPxiVI5b#&?U|S+WarA9fkWN!-xflutfX z_xatrSxxdeOcup4qy`fs?Ot+m8qtxJ!)qtAN97yeT<01sUa;x{`7={$YS%6Aq^*!L z;ZHvLDBW32^hEL8_0%H&aSkCzSO(Iggd$-XM3`(v)*6ElD#Y4IX_xxPJxi|FUr~YGjOnI?2-&b!e zWkYf4STiDV?XU6|_s+9_k}qI7LSh{Vey{qGb6k#(vJ_Id2UwlIxOmAhNB_*WCV=?p zI!aA@T4qMFS2Wtr<|vWEY)1aGXg+Q%GuT{D!ceV+2HsO+Nb}o;y-8eN7G-(XBU4YG zRg8OiGT0xF?IXE_fhmcN`pWL{S)$tw&cd~Y&NRz-f7L~=IzXe=n>GgOD3M%!Zogt; zV>|y!n0e|(b~6>AIorQJ(III{3t|wX~Q%RAp`ef1kqNs^+uIMf4w9yt95}| z*TSzEsOQYn`hSaoM>v16mLZ8^ZTLV||DfsDZ4>@f#%H3lB@!9zDRAx{>B79! z*dbMGy}@C(ZcizY`Ih1#Z!r35#HWwii0OO}Mk}VG2GTo!Fj#S|svEl7 z5TKM_X{WkOBV)n3ms$UQN1&jo;%N)+*;1a{F<{iDKn!D#=8skND$?Of6OT6z_p+Lb zSft%;7@gy+qJ3|H3*#%AOdoUTA**>d`|CnMX<3`(cC_-Ed0%&WW&%LFHPD}i^s*v6 zK2>cvd>s+gO4?Hqy>aAHuvJLJ7b0;|5{s0}(zfK2;-G&M=XERiplV+9$lvOHQjv$w zapBpi6sZ~;*xo6IU(iy*Q;)?$$8T%^3@Z9V@S#LTOqVUxBbSA6VK=V~7Lzsp45jTB zv*h$dQfY!`GtoEa>5KY2cN_-^Tj|MHR`Inr&p7-+%1=N^p-_VcGmmr)vlu2eG=ybbj~>UE!k6_M z4Vpjbp9NdJ_g&==n$Eq<2~1y@gw-8*{cQPDuWDEHw~%@?bN#ZwMr9C|YpX0%WA3nB zE?{E42Z8x#vMF5+-SknH!T`9S zzH?dZDwSe+1^4b^IOSIG(^a8o)68ncq4qfb`v$?0RHMu~#=3m@ZWy^^LIxitWwY4+yX8^E!q;Uy~=cChx}fXCXWl*A+-^iiQYdO-7!kBsyW2u;VBB)$S*idw)drB(Q(soJxGPq{&I?ji* z*w#YU=jLK&m2Ip2e%)3%g4fj|${={x4XYD9d1b4^M%h;8RtnZt;^#J%lI!VZI^g~6 zLfxpVSX3UQLQ`_iuRplhA-B$GOU5$Pc9C$!a+ISTu+P586SeVTJ7PS+oYmq(VtvCm z%A~-$9Z|9=J|EH}m)~Bv&J}}dJ>`Sv0<1Btiw^yk&&&I6x3)ltZEBNF*T|rt!aACm zb-VfMd3k-ar+4btOBtWtD0oPgC_lCA^2eFg>C!3Bvc4cl&BUjPx!-#itF9ObE7m(SO=a6nzON#`t}UZsR*394(B3NS&@MPyXwTJaUAT>tCsux}e@bt*#OO1o zVM?eT!hicR)cgMMyqv>}#VVQfw^#3rA9f7uUs$x)zn36Z7X7uJCy-r*mU1C}gSPv+ z-3fj=bti54o19w{t|)BN?U#txqm@9|x(FL&(ixwoID;KV3AV=-BT#J+;m=AGr8KDQ zNTH!TgK|>r-Q)(C|H2EMs4jKAIDWbLt&QL_4FcT3cy7>5A$ct;P{JF? zP|>;FsQBd5Hg@#jT{GZ%VQaPKZJs%kaX`?OKT~_4Y2%Ke=6d8Gd&EWyiY zp8C#yd2T6O2{0-Babkc?DBt3Iu>T?71xgAW_mM5mS^}Eap_&+kjDF{gz^G6 z-V@SvnlH=%7?S%wiDR^vst3Srg`YHlbTHtBKF)r>58#E*Dl{S1+c1!ium=2dCZ_5; zL7s0z$09iGZ@9@4UrJDij?S@wuN45kZL31)I^FU(W3ZidmGIi?s z+?+$&bQJ0ep>w$PiLxH7%1;352X)d9@%>hyO|X>{*}=tgt0cAJ>sB- z7EmB2C?NcyYDFo&0s!QEnVu&h1VGg<27k4ioS^V^Z0(H|AeWkK^v4tcjaW787$m?I z?$CH4dAYH33M94X-6265DsdW>6n6c$=UTD&G^12BZfsw{2`o9(xD8jW58!{xw)5Jp z>*r1C6`_;9t_Wc1jcOf%qp@vIepdKNx!^(Vr1EhHcA?bUQJO^U*xl5h!DW&pZc;lM z=3`mncPS3T-f#{`3w*Qm6f>oE8fYEanLt77H^9qH0fH+UsYgHq(D*OeQ>7<&l2!WF zFM-Gubqug~%;)JM666%{K)U?2Hp7Bw3W|S62dMfGWHLAm-{EjV`pu#>Z3x}dOl&z; z2FfWg2;P?fduuHn@?-(C&{`iTY{Wgj0Lda;jSn2V5MSEb8(=)AoST5sf0xZr=vIm6ttsbKqBrPH>@)!zKa{=D;b z`Zen)_4xs?<+|TC9XHM%#Q;@0W4Hs9V7M?B0b+=G&p1(Mrut&07#8A`wv}rr-5Cw! zPaaTZiMq!8E8H`9x&ny;RXJvOo=9_nx@_)&5$izQvjMi=#=Rv)w-Kql7}N0j0)`!x zs*nx&(|)R`IcwGOAxLlL{RfaLZc>3{fGWE}cE{iI--2MIu6^fZT22gFV-RqWoiq7ty%=6$9Vzrv&9Y4{nW(KfL?aMYoUG|OpU~# z)KH&PJOswv`qTmi%9@#;4t$c5Hi+HDa_I3oq3!XG4bJoVNB_h;JGvTQ00iF8AV4x{ zE7|c$x!ods4t1XKNfxMXL$9Q$ka}fd1Tp%m974^NUbRuXzGO0QNm~#FFQz!)Z2$z! zR-=L!^eF|A^T6+~Z&<&CTG&0U$i&2yC&XIO6b z-(C5Om+=tU%(Bs&?QRF6j|U4Ndjp`X!NwB`f7a{<9nt?by?cJjkH`^U6iX@p>t$ge zNe@0x=$vGRw+IIJfL^6^$>y;PQ#r4y>Oq??V>K0RWn9}y{BotWdN786xFj>do^?!Gt30{@txTFq5vA76NrEN1!v*%Mozu_w&n$ErPIEEr`apLP6M5S`@^M?|*v zd!uA3a{vCN8ZX>0uhHdeCo3OBkaeCtK-UTe?WrumFG9#sb!xJ#?CFdg=mg?j^B}F) zK~mFLQu6n&>xusJ>;H6m-xYNVc0AHWz9h#$Z<^x`(DteWJ5K|Iz5igd&$DvZ+E70O zy*l>J<3B)Y)nAWK7`lfS^z%BsW9#y|J<>ABug-E- zSEw^k3ryaJcVLdRcoLftwNUqeqQ0@L#S7UzFcG>vFL@C5$CE<+m<)V7Mw|E@_c{9N z-BG4+s+@))8qGBiT+udYjK(=?={%^v)R(*ChWdgJ=CbiM8f0PvWWsFAw1Jj(_a(@Yrw4^Bcypnwn71H(?#3Ho&-sdv^s7Hiv2p>w5pW|H3c`4I za`!LIjnBn)_YTqKfU8^p5_j%jX-egw8DE2D9LGi4QtWSg{I@l0^C0dLNUBFvoUj7x z`n%zfq5k=oUJr*7iX_uv?2PZ-hh`C@6h*oCjTG!k7rPHv8C4^|{ohFFWqD^TVU#Na zy~6#uJFD^XDrx@nCeVcbeM{)Cawjmo+ggQ+Rm(6VYJKpiJA8ZhfO>T3;n&|a=zBUXOtNr;)lR1?s-TvH z8tVaB1SV%Ip2~zCv9BMP_S|R8Ko3{048cI?`g~FUW}uhP4vpNV%nbkk?E63eYD__$ zk|?R5wZl>Sm#g`^&7Cs(S{mWGTe#AZ0DYTsChkt+Y zk7wR}sIdvPjQKgAhp>(l>hU$ip`Scx zPU4CGKXeEU>X4Jhe^$5i8$?!6gC%M0VywVNLfq9Y6Ux4`@PkicH^N^+iPss7&{kw4hB`GmNi^0|q8#Q&5)bWU z;%ssWcZ=>H8{R*x(5Xl4ao$z4LG#JqAO8EwN`KBu=lf+J1{o2Zr4SG8qCEDaom5}^ z%LR4fwSNz!{A0*I41+yQ$9k9XO&zCFhpYNtLWh1tYFP4fvYXB9ZJzo1TJxplW)t~W zHFZ2Pq{6u#32hL^pV7ZUXJ!9Aw`~B@#wpvYmLGy-% z8?=CD9i(T#k*1B>s53V(ey+bU`#4TgO}4;2m(7&l@%g~n_O-|rN{Pe0?O6}vgVOYL z{I3DUpTo}DhguW+J~=;>LWJ%4IXCTv%l9R`sgVn7c0Etj|IL|j z(ufH6WNzWf-5cFqi(e8};3SU7)W_0O505AsJ=5YOm=DwMoyQaY?v^1OFImDemQ#;L z%|{a-I!kGm6e{IP8|Lvf)R6<%h}*g_k99ALgZRm4_9G<$^Ekr7&!X_+uMw1r;=F48 zns^=rMlvZ1pU~D=(l^-Es|-H%eERX(=@9N4yB^p3-#ecuUJacEM|gkJz?c1EZMQXa zDBNQlZs+mPZ%4>>aErK{?W(o~QC77T!EN&`)-4emq8vJ*d02&J=~-~L>|gO-C*z%) zjz!V=1O;o;ePXRPqHXSEahb(O3^>WhBNQXm{A4-miDOUqJ1KC|yj&z~HzIxaEmM8( zVa<6{xS`>1)etc=cHWLe4CbBi(-M%f_xc1}Jew&Nt5q4zC+Lr@E;#gts0f zl?bYJc(YGox>fUPl1|vs#F{`qKxFBSKaX#~ljWz{rvfnSoDT9ZXsr)0KSt6Sk+wf< z4p_2@El-T)WxOvCAz=NZP*KpNKMf_CRZYkg?G16B17=WA>~mPwbNIz^K3wGF@+Se8 zUo0EmM!Q8M^X$K0#Wu|1X)n_GVx6n8WBzp1X{(d!J)h>(dkg)+j_WEIGW(n!+{o^A zLtS^SSHx|)PBk{+LGD)pWDX}%LNpx7hMj2WO;yORh;>S0q^L{@na;S44^ab=e0~`B z3T#YedKRPj$f}F1QfGwp3%WOKaag=5#4Kaf{BvV0)q_Gpgx6mPwZOJrYJ35A&Ego#Hbv&l%ht7}^LKil0MEcH-o9(~}Nt*6s?)13Q=#c!nuf*Wea5Eg9$&W-KcQL}mvxl`T*Y;VOXqE1_ zf!~YxVvkFiAMa0_8PH7tUGF1 zA+mAHUei(#HgQF(MftK7ELl}=Yka#(8k62+@5||+*G_ST5GCX<{8UHNev9IW7}bpF zen9KV=@_DD7glD82Epk=@+Uu6X=`GpD1Pg9y~Y5ta=GzO1C!aqHD zXXsrVbhcUc5eLLU7AE8c(d$MbRsp=O$yQ6^8%@cDdVqrykumua?M8osx9^E$*SmgC z*iHs(8#xQbRpr4>dyjiU5{yxXv0srIkd7i?=$uGUywI(tkeMs5vE#DS$sJwy;Rg_q z`p5EWm%|GMbm6HL$O`TF-$};f|9a- zJBH6>kD`U=3T?QVr#Q$4pYs=fvf#C}gz<{JGZU^02Fz3TdMXbCkbk3lR0&0&e@baU^n~LbOBB_2IwC(T zzJ#v@&m^OkV>mK`^(V%^S;@`YQ9j*}HrBo%M&>ArN>!b%Oq~f{casx-yOp%b-{|z4 zyKzES)BAO#d!jzG^w!DXMKI1Bl za4$F-Ijs_QFic}Vinlj!)LvOo zE_k@-i|LdHFR}fJi)gIevA;+{Tts`7XXpDf;bK32p$UGWF7xJ!&Nk#7@u^3Y;(}_k z0bj3H-8J&Zmh@r9Dc)+uke};(Xcyk*p6WSAJbE(0r?3Er(=L+da-Z`$nTH)G9?=ua zS$iWcgikX?2=hvRFU3kDH5R`l^#W+VQfw0QC{!u1d~uOWrj-pI@2> z?86T03+t+7dUM0&KC>EK&PlE3zs(B$&Wn?8sz!8MYT_Y}dpDkHtWf;Fsk=z12{{RS zL<3mvHd@g-DLI8G@<#HFhUm)#C$06Ko20csmv?q(o9aLO3||!$wA&+@ogC>%vP7Xr z5r`N#iH)vMyk^WJvQ9}cP;&nqYCsveb%`PG8$$7R#Zb#30H~i)Ib^$+-25MyRB5&vd`h|D# z)^rqliRvc(2Ge!?WfTe@_@(2&+a)OS^_j!U7s@AfBN^qt=A6yL!zlaN_axVLM2H&Z zP2-4{l&p4w{TH>dyHr(C5 zH+Zj5j-x6koMD1LA$BItu}#J%^SgQ!mdZUh80k~?l+Dq1QArwhT?GOJv}!3|U|y>< zoNYNq1<~0r&~SW;D)GoTyWr=4jYWFa)iA}MH6Ebg3lsCE+#Y76^6S2venk{Lp@h)^ zOp{Pxn56!I`_K0^^ zX4O-a>j^y7cvK5!(N|LUtsOTide*oI)IE1@O#g4LD3o#IFqr3Z7YvWrgv4f(bovZd zN}>}yUj3;BKyKF(;v5me-@1c|_tRcgsf55NErX8IY(n3&OPOPeLE#HsGaI5s78_m$ zb&W}iY6Oj-;p@k}MQT#vxmy^~j428d?Q-<3rP$u6Yjy(4jr;>NH_Aoz_mapdUl??K z;tBUgE&VG2q(O6c{%IQH83Kzz!wa>$)g+vX|x|#3LyAU6e|y#>+}2WCILz6)>Wf?=y*EJr)=~bw7!G zAgHhs*yEC7XIL9Rbb4PoEuV~Wtp_E2&xrZax4CvS#)O~9GP*e==QVgDZUrmq_A&a{ z1bv9aYe6uADodnDifjeD2M*t(+*iuD#}#Fe%RFPNYZ4-mlCHk89tncI?vJAm$S1iY zj+Zn|@r*$uY>nz_z%AX--#ypM&CufR5lVMBHg6ekHThJKn_EDZr0z#TkWkl9R(Z_@ zc3g3ww05&{pIU%CCau=F=)!zr1)aBJNdJJ{cFoQq{KPBHRqp0_omin@d%hRw%2ci0 z4^s@o`*LE&OxB6X-E$+_cO;4{5J>1+(`0P-lFA)ie`YUI5a3nCc}u436R`ZQqTTIl zeqR$PK|Uv%OU|FA*MFfpH=(lfbEqr;Z~({-QqrQvH$++SQhN*`fGn6PRUEG(MwziOscb`fwmCw(r? zXln0UGsf}G^U9TD{%jXERO>)rQ2h0I3#GO-E`i}Y=hp~31nxTB$*-5c zAD^QVpvVj@o%fS?$!fhPO{?7_EO66@f23DP@ueZ^MFPS{EqEymIA5e=vD# zeGzxd4!`0)_U1!p6Zi~RcC;z(B|8V=_1^7m0_Xa*Bm-$ZJ%UADS@ul=I#y<9N1iX4 zz5G3s`fG1{_(f5>>~!|o6;z)l5zo!WME8qNcC@baCw)k z>FDL@f{ZmEbt4`rj!~h@-hR4JPye7|!lC*DmFN6RR66T7BtwC8CBb1l~_ z_F(IVWO>fs4zx3+T~2bXtI8=(J|DLnm<|*(gzY`igZpTHggB2CZ;*~dkp z4E#d(rZ=Cc*t)S5ZL$;sk9@AJnb`Dut9E__J_!r#JUMk*YcFtM4(C_+s2OEX{>=4F z)>I7gP(*XrDsLTkPQ?+$*{6(S0R?;UU$^P+oi3p9(;;i`Xq;IE|q4_V>%jw=|#+>=fZ(@~!| zToIF@veNYmoIM)cws8^dyqZ6CGp*i7OUKY5Sm`OEcl*hl{E^{`J{Lo13oXa)g+I)I zkQbgMp>OG3uI*w;{ypj~~;L84{82P0O=|{}kcS{(F4$xmIT9)UNm~ zJ?~s|sUV{81@b@*4;IdG$zxh$_TwxyV@U9H>{MJqHEGthnfs` zr}q`z_e$jG)Qu$!U(f!DA)(%w8)hB9p6zDGm_yQP#pFD}wpB=jojpD}7jF~QL{~ai zJ(?{elhB%Hh_t&M|9VG0^%C; zrXq~B(wFutQR{u!=&WBApX~RQ_#VeGK9)mef<``ND*}a+zU1#?w-utr{qe!}b{;67uhD}V zUa>SW-zS#w^{3~HRkGXb&M*o&g7CsYbBD_}&AD>j2SUo6VJpoYkBCiw z6&DoOpZV#@PKu&GD;ThuawOgjGXDNBjX@pLkZvE}?nk!?`)dni*pE-;fC4U!jL%#y z&p;7NorLFDnw|ZVRGqC|DeiZfE}M;`%pYCW=ra!IO^YHouS)Md*Cy}ZzSs-G_%trv zQdabtol5J0<%8|WQafn@do<6CPd0h01d_e}wW^~*_772wzQSh3dVW_35j%>_ZtKfk z{ekfw=Mijs7uoKhuVz{w`&=tgp{akww~=JePtCOVyL6wN=~tGIjq`^0E!Zgjf{)g_ z33Hy6VR*$aH>bqJf4m=*N-^b6{0p8)>3c4PB}s+fBjPQ~J|e}cU`Z~UYsbN)^sMke z9>eE|TQrikAH)$1YBeOkJ8G;wCnk+~HT;jz!WSw7A>cK=(}4EEIGFaOQE5$u5anvc z$LI>)_Jn!!iG`9_uTK%Ewdjt5G<5lCn-q z&(%M=J|ImSV>pv!u=`vyMiZge*P}_FjXRdP{83ioLk)e4TbL;5}_2D zlHpXPC$mFp6n31;+sF)N+i^z~ zC1Ro#X!K1P>;mJP*sE$yKON04Yxev|^Sv9AEGuBix zXWUxt5R+rN49azxJm;LeBP{zBM|YBx3J7UGXo<^dlhMPv;0x|gjHBPLcp5GYH~$@YI1tW#7bs|lh^v}3Z7)pCrwc}~_cbH)21OTF|e zF^rv@yz5437ET9_S+Xey8JO>Xita=t_F$N{@(Iqy)H@K>o!irTZt|M-r)N)c5)O{? zXuHdQ{FR;KJ(#U1PgWlX-t{q7Jy{s}*EWj7t~C13RpEEJ1gqfiUct%06oD=~NhCj+ z(;xyPhTFlu!skr-H!GIt6ffS+;_H@ag4_gHY^ z3a#f37(?Q|G7F$2MAW?SW+CM?IWRND?hT4vrUROXV)pszSX!MNlrPE+Htk^O)~8hqie}X%6p!3$yZNuKeAN} z!c?3!JLcVv{P?Ivn3IW6hFm@`7D0W1lhpws)w$kr&qJ7he3B zd9@}*u)1ixUzD?mr4$Del1y)BW%!o)rOAh-9RZp_{%I>zDPAgplo+?}J?rMdbQq_< zDmWj4{1(J(-OHUKpn`xJ0orny;xpmgQ4h7|6D%Pg5 zSP3UJ;Q?n4JX5&HR+~j{5Z_!G%@Q!TkP&a^^iaspjH`shsVEN=pdb~ZeR{@csk_ZT z6MtVKUD zPB{_Cr)7sqn&nGm>fIOI3HN`furKlK?G7VTTt!qBhWJf9RkkvG?SVob%c~Qmv^{6~ zibqcTYwb_^vdy+x6qK`gVc!Tx`^(z0g`r!npgS=%QqgC6bXN*gOMaX}&g9%Xh@8?N z@VBKf{H&qkujTpZ-Z|Ua1ig@_D}U62dD{G@F)1vYLAZSMCVNb>K8Zt#>hTMaGT4=` z#VK&CwcYt-hpCk+*2J=Au+&x9GTi44lxoE*l6*f@up)&`g>P2;Sh1TEDPH)l*~O+a zHtm!K|HIY$L9YIxdQ;FU!CMk;4)4s@Xe#KW7Ecwclaa32>9ncu2;3}b`cWG{aEH>Tcw;2 z3?F?J{bdy-txt?{b1wQTj&5eeKb2VTy;`g#&X=*Z+LvomY(w_4YF(LL_`Ar^V?|d8L#L{+Md5e+% zFzpi;(*3RKG%K0vsESV6Bhp&e$5!YBRQjGL6Ey^##}tKo{PTveHoDpB6mjY2&k!Fh zj-P25p{wxHaEsI$Xh**r8do^x?ha`4uw11$tCH({kOXH6$B2@kui|3mU@9-jH4|wO zWH5jq51-M*?Z-+oPQ;dkA{LSU^$pR30mpAr&S~_8^v;sS`9l*7zAV4skWN&3VXb>n zHBLz++2vL(26@J5VIznR%l&}5Ic*WKF?g$Ecvk{hlfLzYHd;X=hTfv>&EbK_eX=j@ zj=RMN@nNjw;i18T4yB)0G2!@P8-2N2LSv3JxL|@Leq|q}Vt9FbMBenLb2QcyzZmsR z6*$R53<+A5<0sI~`J*HWV$2=X@1qNUB7p!d!5c>hi&WkthX;+v`RdKvP-*=3?MJaJ zQ~|n#az$rR?Jvhy*&rX*CHx>^v~Np$%0pT3cJCeE>9L&r3v z4X)s`8HOwTdOk{$mSbZHnN_g0V(Q1C$#2Sksgw+ICtZ7WP#$d~Ag2n`5LPATFe|@R zzqMbJP11aQxPl}pPL@QF9FkiosY&-MR%J=HY7DE%NrAW?i<0_$%6K@B!(ACEwQ243 zLRWHnc-XrqEu4fpeKvoWFCUmf2$!D-<*QI-XV;kg;(j;NhM=Vy$`kuXfm3f_`$TU0 z77gj=&qb5XBH4aA%p!ckwg^6Z&KEgOZ(4+v==bY6!l-b-K>HgO;~17#*!=DHTu7YA(I^g~d=Ry8rD7x21#C0!`z%zD`j%W{# z8X93kK`oI*GwjBAp6Xj5ssoEIQuFazS&3$6jkrss46#N9J^VWC|sbk8-`2_&oU$A6^N?qz!3?RbBEfstB_ZA2NaqYNl=Lt(0|U%E-v9e~p5r~{<9wO;?Y-Ap`?}6c{p-6f`t%K* zN1;!gDczs{_nPf>eu!`E+G{w)GR8k$&gpNJP6XOPduz;Ad4(Cpe>i7>QvJyrCptRq zp(c!<_tx3@_uJSeUhVMrv5Lvt%TMIhjJswqA|BPjYl(Mq@j$JXJ?Y7HtsMSasRM)`|zpI#e1;a7&U;!?y|42ci+>zhixED@%EB5X~yCm;4y#WDH! z4?aibTcRXV#uxb^#EjdznJ|T|FQfe@>Y2M|q@1duxsy!mD*WsGhZj*FQBb)w!*QEA zG$X{S6v{EYQ z4n}?EF-Oy?h}Lq_O89BE;Uz??d82i;Es4bEKCTVB-lIj;RKeYy*Rd-(wt@|NwS z5Z(pARo-2f=bJpp`G{~&!%3@l=<3wP=3P%~z)iK$hGBiUnwdKY^9)-UGy%MQ#qtc(h& zDCae)E!8IqzBBCm9VSZ;CB4cE;~mMrOhZO{`%F`>N<1O~*)I z)`e+C-OwB;_fnijE-}rJMR(3a=|xg2$b^frA!=-I^UK0TY5Et|4oXj|nGzLoqWMzU zp7}o~;4!we=JtsKRRq?VD zmb^y?zaTYQe>MjLS}fiC6FvRErtBqn4F8$5>vs~|JHGjplAEgM4=Jqk+Z67x2)uj9 z8et&jaY=MFPok|)!g->iM9evN>l>dE{Wh=iz(G%S@Mcu+w=`6Ny)ckdbf8`g=;0U0 zR(#jjnSOr&i+eo{cvEC$AOUUs-xi5FKg5LbHo?gLiw<^;IT|!_BjC)9R+Vq16(QBt zmg^qobmWB@c z@lk(gR%=e)pctjB2uV1IagNmU|K;F!)^64L1a<;$UY)fzH_u*0aY*dG6(bCG|C+FW zz5+mI6b(tCw19SIG2%*B{2DIVmF@{-AW>-$ao=tNs;5YiZVRL>!V0E+Co^A7K} z+XmTeKfbR$Lto^XjAu+7CpSJotKO@Q%w-5|8Y>ft6^*0^M9_1Uv1eWnxW|+QW5tv zA>9~h1}o~+>vSf7u=*(6EXuW`0^zLETn{pXLJmK&wK|-}#oq;9YtYQa( zvuVC6@4rp81z82P{N#^MRS3DN@s{CTNBVrvbt$(){^K4i@LSi;Lu@ZJ7Aoga&9cqy zzm3)08L8fR)?w%O_pK2-{H_}k0L}(IT6XSILsn_v(9u@PjYCC;@?1|_qsJXmAT9iY zwl(%*R6MbB1MCRKPxO|DA>yyORJr~IIaYSx|8W{Yh2Mgwy?We$2vzkSY)nb&H#Nf8 z4@RKdor2EMgXlI8RD{*MtDFPnpb7T!CTaMUv=azAB5b~UG|U~?@GSDw*$eBu-Iadc z1(ykT+rX~Nr8f`@=*~UgR=*WnwJw|=a#^>@bw*c2S}q^=`bdhmK!dF3!_!uzREH$A zAJ@M3B1`))uj?w;5rhECPlC_9I#v9J25IB`z^u6gb|tWqwT z#_O^}>EB!x2E^Ufp_^r%tMS53l(fHla<2mdaV;g#Lhs*pP`yrE?EJ%3FJh^_yhPny zL+1YZ-k5x7#+4yYOvHONGf=kSuunRC+yQyln2V;?@RNdOW^lc2$Z#ME ziCF+DLM@$00-x5d;Ko-nKk55K*_>bY=(XokJ235U84fQ!`pSji84G;yYmP6AJxy7esBUk-?jqvKo4JEoFS4kz?zA^pV1GHf51TZ z(_T$7*Ac>9h2Tb98jP&bUydHtw`S6}W?&OszYKxYxa}R>-GFuY^WBQui@?Lkz_BV% zM1tjUY|yMrNR)WyW^8M&Pc`(HQ^3h>0s8hY#X8?Fu=7ainl@I6ZOp94I4Hsa>dlGg z@wE(#T;$B`%f+Ka;K2!Z?As$Ck9vmsP z7XntIx&O#PAc=Yh5a@phy6g6WomxqQo=-JEyc;U5VpWpYg}C+_LCaTwhSA46f&PV( zdb#30L5INy13(Y#bgt*&hERY@7dGT**EzZYSxo2{-Uhqn!(CyM(gAjUV~ly<|FGx* z3x&l>0^q3&i<@mLd1KuqM&c$fu2mN!)o}bA?X7ZSTSx5IR}o&7uG?&0FRqK?BmJE( zzs09s$z!OOa4i_QRJ`3q;Z8o3(%S6uN_~4K{MT5)Rju;HU~+powDN05H9_9$^vBI! zefQM~*6^!^Dc7XJUgD2F#+Qk0Q`;U$Bm`}GK%=KYxXnRMfF~^6>e(GGHFoYf^v7wA ztMi&Km5gFEnaf3A|jJvAOdZV+5qocx$j*M3PF+#P0g-GzQj6?w9A`K#rjEtO(%CEkL{KnUdD$ zswGo!Ax5e|IxwX<;qTo$v=aV1vd<3Qo{>gukU z)CaMsVa2ph)-!(;a-if(09^Pv?#Z2WuP_$`^6HH062v|g^v`?e)qP^XRZ5Kj<;8Qe zk*A~e3_okYuQhH4mVZ`uhyKrXym9A0BMmTq0{IPEEjbGOaR$Dg2OVN&NbqQt&>D78i#d@Yc1&;t@t{j=Xq{;G64;Oi?^k*@`1#Z`}>ste3XAZ z%1rvpyK7&tZZ0gZN1td%o#8nNnw;KM!i^{Tg0}XLwElg}!PA+SbhU~hF1GP>A)~qK zuS(~9@bJrmxi{JVHGi4nHPxJWVa?jzL_xD4-2inGsfPxQ3UHS`)x&8o^~UoN3hhvU z_sMN{O3z9lc*U^F??@k!N_T||FL_#T4C-)LZ`1bsQ*Ah(ciEIrD#hxwTOwN^Lhar+ z;(2^@VE$C;@q01P{gNHL0eL#PO=Xq*id9w@ID7@%gq?2StOn)ZPFX#D@LQlXT*i@b zHj-#OOuiL{z*sb^aon38v^0!{?oMBGm02Z)mRO%Dg6BH0mimu=kjc-d(L zTo&{0H?Mklxxj`Gx?3cnvUm2}K6CuQ_pJGV1ku}}+mkv!^zodSPi|`B)VMWL&Tx-- z@fgcUgF=CFH$M?;ibPA*19l(fxvTJLp~>0bOw-kVHaVAXa#FU=Uz2N@C~_X5e;(yY zb7A)xqTXlke2WA0PI%N(dqF!VDih1)*OlXjo>Ys=`SH_?n5)T{V5#8gXkS(RA-J}}l8^h~yt{7NK$5(Bm{P}*ymUrug^n*xO zuA2jFRr=8Zwy)h&@e(c$I_Uw=fFAZe&oZqFb|SL8oRqc?U}t`3O9|4qKyU?cy(i$= zjCQ29BG#gJxBF}%@cbzSI6fMHzRB=2+IeWn>TNB?!?+q$A-|<~`D~G<^%VeA0RHa4zwJ7$ufj8#xd9A;%Yz?u z5(7yJ2CGR}lnty#c9k=J#Jy60jxH^~(e+X#9dQ+*Ume8Hpvu3T;g)aH$FkzO^w!4P zZeK_jj~vJr{|`a9;Wmh5y}|v9ov`KqNF3~@|2bpaaIgx=R=Kdx z=~Lk0;khR=r%A>bbl3!E9e)*aFuld z@d;&xnmG;P#SFNyRkfJa{RB2-sd-;q$~(7H%X54cr^hRPPXhbAv$gXYS1R-nQQ=#= zJ3n{!!ezwox~_tyEX1%n`3)a;w8stz^B=MIvTp6_9=_bbcevq*Uqkv)3upoExE&yU zq}rqy-%uJ$ug2{u-+6w=G_h$nvr#W|9k4{8D?&n4LLA9ZdE|AS%Mr zMj&UR*l)=lP3aB8=idj-O7KIuRM@XxIIDN{FebRU_x2qJ-aV`$@neR687BH?}kTsmD2HFz)i~1WtP~XnU0Gip`KF8MH$57D9-7q4QYAz3ESEuAx z?zwza-b`xZay_O8DwBlYTxHQd>}uFJ`S!a3PT)JVO|W<~(PtpY-pT)LCYWx28~-3M zzT#3?vRx}(qQ)WeS9i&V$rC#`9e1sn+WEPxuBk9gJjM0@oXpgje2wr~a^^&K*BJzyw* zK?1r>$nCc_c^xNrXF;YO+uPZ$GL8lffA3g^9mGO-J)# zr+t}>5BX2)>44q5^V8ex-Y4~;19#lAW;-uML||Ts8R_ZbmYgy7V95z$?sVofhsZzM z5W6iUHL7aOz~5o+y=+_+b${=7^mg-mE2EG_!qPOZ>*~i~ZJ#sYILaQ!Rc< z)%hHhVPMyc8^?P>^xlhfBq2%6wqmz|t#Uyy_r1Em4JKvwsZmcH*+YB-GP(ND)*Le> z^ur6$1lHHCCgQ)C2Eo_bsWNmEJAT-c@*BTS+m4 zMy0n5!9F@vI~N5?l4ZFu2I9RifcCc58{yW`U9c(c^W3Pd%b|iskgGT>j&>}ujViGR zy<|Ihc5B7C!kmq}YwPirAGcdW9FlWkON`K9Y-j(O^OEuGzGf7r2q2_FSN2>kKn^YtYLH9C>T2 zhr3GrwjB!aNN?Gffo`6e)_m3vJ0Ngypqy?i01r{?1xLf!E^;N4hkkw$Ki&PAFq~Bp zDs$#V8@|Ov3h+@T|K!V#kfZr7)*6#hNhPksGh2_&D>CHu5D+U%l&nBr&9 zc9!jE0!e-lx@ktEvw|NPW5xZYo-Y!C5-ElvS?rC2(u>|4To2HD<@KGj1BN+>C885M zHA!D=S8O?H3nbrqjL<5{U{c`BxUB${tJ|EW(Ce5<5#?o753rIX(=FuR0Xm=0HzthD zKY*jgXwUr*L&9@ZG-FICkcc@hs$@!Nz+@rp685qVW+AA(obNc zC#fDM&p%CiKXcwLbdy65APs3?SlfF(w3;C zBKCs0#pLMhZ3esFhDm;|3GJV5wJ{Fcox!gk){VX?BT>}0j@C?=zGQ$XwOJ-qWSwcg z&^q6`;dQmXoB~{lz-suDT;JxgHotc&WI(WR_ZZJWq94MX9AKs^FIoShQ@dLGZB81N z{&>O_(}@+#zUX$}xfpFG?7adx&~hweq{|hhkBmYXYyDsED$K09rwC82y|Z5opxNw^ z0}j`aW7)NKEg0-w4dwgwFu8#)6TEDdg02}aPyDl9_oJq{vc2lmY53^dUpnT>LK1Z5 z{i3DHRP&HTrwxc3TLUvwT6)0x$QPJz?9!B*2uX`=X^LI><)AkU24U$IyM#&`x*lM~ z!j`{TvWMP<5ed;vtl8@TUSXme`MkfqN*2>F76B%33Y%Jy!#%ey5MzsKQrMK0l$LmK z#TE$HU*vkn#izIPzUH0O!kA0BsnV*q>WcfKVPLk$xdZrdN3O~U23Xkvk5B@&@-9sa+}`m1Gl0jla|D|j!+6e%r5}oY3w9A4- zYB_KxI&t{vy54i8bF-b=efBx#VN6MSt@tPF_mbEJiqoBT?9QlVSyNJEoC6nXhz|r5 zR?WeC;rF*Xh;YViZI-LU*%xh=8$NMzL6SfyFn16JZP0iW?PfrvGiDrGg5l7RM4>?Z zY{C)Tfa^x@+m+$AgNr_6?|{S5{AE(mx3W)HHOLZ!VUB|lxroald=%CzD|Vy9=C87u zF+YyOTrmpb&y%eqnC^C@}GYm9K6i=X+XFd`A)A zZVdC+S*ip>fymgO6Xjg{ocR&aXrC7aN4`_71P|b(Zek1}2t19FXVKDy(?PUXV9$XI zkOTU*Nx%OOpFzu3z4gmTfaB^0o)T(ji^u9~uZ6+HzFO?A=2z$eGs9eY3+kfHxqqx) z^j}0?U>EHsAU1p7iM!^71LV^_@4-oOQt#-Om2mGLFhe|M zEX}k&)vL4L$TwPRw=&Ntnpf(p%&nf~9(|pqd9p;e_rbl;3*1)53yGrMr%;d$=rPF1 z{w`oKvAOOE*vrg)+Z^U=Yb(*C-6rG9Al32QwZLuXSKHeLb{FaC#R0?_$f39X@!Mzy zH=&cTdp;qXPTT6;4c?uo>j8x8Lyx{k8~_{!R-CQd8vW?w76#O=cb}UXJ@mzXYhMRw zd2p|Qh(iQ(!9S8wEZwr7wf1i9e*rxVV2iBMOZ4|buF}pOZ@J6+TO+R^$bqSk2x4^! zXblp0*Lj02CxxAb8+nUZAh6|sj{N7ZSCb)NmO$I%y2pvSLm#Ejm!jd??p=op-1Ftt zmvTbh=i$}TutsUE>>2Jo^l#^xF$jKDlcDvu#K`BXE!MircKOHp1h8hO%*p5fr<-&x zC6DSAt8MZVMQCgKnun1{&7f&~Jpq%55d~uQ0r)qV$V;9ywtocZA29M{w`M0J!AlFmX;mD`Q?_Y>4S0; zh1#gs`c>9H68LhL>MN6p@TfX#f@#bn7TTXq)@w zq;lq2S3>J}4g4$Un$_F+I?rKu6V?QJD!yxhNo>i!T22u8nsgyN`fkc;FwjmSHEUGw z`MewaxA%fY^br&U?ervP0dogzWCQGi?i_x@@5Mn0k&2MD&C9c1Yi_??J%9tmKmE2a z=n>{AMG~KPGeElAzi`n-c1E|;o5x05llsl%e&`zwJkF|B8`10!Y`X1kf`2*%Idz^q z8MpY(|*auO83$bj2Q-%A^=2R=!{J0+o*8n)tQCeb1fAEaNqu!RH|P#!~_CN02v z;&nDgfO@OWJ^O3nEd)&halsPr)qhsyx1%+6hM2duT01~E9m=1Co6T_aKvLaTmi{1< za^sy>T5SNzrJKjEG2eo#{k4pQhMXHykAn>y?n`@jmDq!JhgxlCOgJ9LcvzSd$=sSs z+ekF@nJ&}wuMP~lYe(<4Ov#;sV8EMgVt*A;IM;csynm;dk^4@plD{W@FEq_1sBM^G zy5-?t?lXzE^}*G5D0{WG`#RXsON%qmlL209?C`h)67hFrIQjdIEMH;hC08I`gcrM0 z9iXma`Zt0i^UqN>MXnQihi@d@d%y2ft&P1-M~;{ooE2(s*8bYLw_)*U#(ePptt&3rcTaEYtJrF@b2l?&(I2SZz^=do5C&ASf4y-!c#A^qTMdnfm> zC z;{hg7qMCn3p>?AjU8ljnh)C@lZ0~GqpwrDyXwMm;7LPLhV|B)O{>(S|J$`7XZR6Li z?I?{Gy{F``-a?c(wRNNT?&$5yN=Nybx=8`UZO@))yEyh;nX!tl7>BPsG>80Oh|p~O z#y*Y`X*)J46>t3Yqy(h5Lvx&asLsS=VJ%v;jJSywV6M;}_mA}5^x@=7{02p{hFD4I zgSkh!D0i|(r2288xL4@QS)N<6=%$2!6m-bMNINR5cBNoVZVim7k~`ix_`5pCjD?Sf z**F{A=v5l;Cb1YmFMADEAb?wdSFa}v%d_5vMB!imb8>U4D*NQ2k>;x_r{$WBQpx8Z zPr%(f$#yW@U4kE?M6)Ucxp;Hx)xpld{oNl|D&d40{CH-l@id*xa>@=wEg;^;WVo`Hb z<+@Faeha%8SomAIGgx|WQy~GZEM4~*(omwLEer6u&>k7_i=Ls{X-tBSJ4`Nlc-Z#x zwQE<+G(UMAe?X+0{1Yb7*JeXRsWrmZR@{@IBtcG*LI;rT?3=h@~75xJ>#&gmM@ELNs!b>C^o- zDPLDyAY!`RQWpT0p8Lze$!bwE*Opf*ik*y`Dz#g41ypnT9VGrdw1A?W>E<3a*J#1S z&ohynF2JGvk`vIF?^&v$y%Y&3>%)n`sH=G?u(MI*P@eUbjGN+w5~=@SQWc$he-iN}PmZ&|PhcuStU zPBc`4D~Xc5a)Ls0MXX|Q)_NkMrPk7uifK|%IC=`iL%r~DlWoG`hJUiOIqZron` z|7ykD{`nH7m2Uo1sp{}z4_!|$aB9?)^$1e&uv#_X3D8P)!}h4la@1`N$|;GGQ{F$A zyQTG_Q-Hqivv9FGj40K?BJ+#Y#qQ%g_qNenv#C90#LrLzj|mxlFwD8MHbNE}Ne{_b z%cK+OnX`qe)ji!y2=ir!?%JHuqd8|?T&y`azq>s~lTNQIb!Ey@>+A+y6Yvc0oqaDT zbXYqf++5I2z?N~QmCLY#x@Q(G&i_2R_;>@gK9}GxF7EkzSRb5=xiy0^#Qx*8$8M^~ zY1qcA+GixH31c5`a^_cY2+o?!si%P0j|*gwB#{5xFdr%$Eghe= zCMn-z=#1)G6pcobi^mLIb0<+Zirn*kpd$|Xcujv~9Zaf?squGTIZlocYEyqrxUI>Wgj+e_7nKPg=P zV-|Uv|4&bRztX1oAH8?#3-uC_jaTG^bq#gohUys))30XY_^N`6K21AIipG-O@fL=| zIdECMKdKV$#PQT3my_$BQf!5BJ$7{(pG@VG^03$->S6KnrtEd=UQZa1D&hb$cVSvI z-D!J=D_5eZ;Lx4Qv$5Wg?tx!iUq9@H@S93$A5`{TeD@~8z6EY_%8F@1M3@L`8K7XaUB9H(gZs%8xP zP#ds<>6$vNON2NQ+k%d;@UpuJt%*gbK4@@Dn=V>g0hTZo8wkH zV9SGM6x=>m5pWQO)W+!p+@s}a=Z`PlO~YtzV&ujCV2GgTjW>_sqNA9p0G8FNSpz*= zfyYSsMhfkWhtm4iLc-MOUt+X4C3WBM&|7Tl2I&z_2XPRAXdg%X_Yr3LyIK7RI^Z_5 zlHUOi1KY2o_|MkASW=YOW~lr)aOBOe|L%);&Q8~=rbu2THNMBxIV^n@AiRM7#!o3d zX3DPpaAne!X+*_{lVCWRT+V$}L3gWo@4B=Qr84U5l}cNtv>x3C_O*nTQ_WN%@z0l5 zo|ypXoSL#J9#;=YH<)fA(zm$XeKPE4ZpWrlae9AAW2m9Tr+o!{KjeDJuG6xe(s{Od zo&OVj-(%~;gEZ^>6YRqNv#sfKV;?SEMvLK1UN$1H!#2JwEc0`DqTX ztm-QG1<4JW`upMnWdWS2cBQo|0uvL~q!=83q92;TA0HR^e5+a5O0U8xBr8tP0l6h( zg(p~@E^=5B0ySD~1mOt*#hyW;uRW8G8)T2Oz7+|dl!HzUKSjuR;Sh&O9PgIYhj*Q_ z=mY%RebfGzBKQxMBGcqr=kOo!%vVvA1-lETfrW-j;;eSk1M{raza>AUa%gN2cH&K? z&`6fl)Z^Ez@+DkDvzi2*I3d=*SFQ>q$(gdCn76@SB+upr&3|j za>;+l5y|#6JYq=yQ`@RSfd&tz%v8v8H&hiIogzcQ66ouUF}TcU_UJ0yZf#{x4xzxM zCPR(J>QfafqP&S5;hHn!>e}F0=YN$!E}3X1FD%b5QGU^RHs|EqH~+I=3AxU5&$~%P zh>`6B#0sbbOpcYTYagu-Y185OWGu!KIi^Npr9b_hbbW4#nbFG{x~7oEG9B=N`l$>@ zf;%UImvKj3Cyh@Cg$39k1gkE%>43(d%C7-dg{?JF$s z=vHLrDG+(~-q=6K6_^y2jpLW{Eu#MctMv3E9~a z1xq_WNaD828_I$%moNA%K(eKW*z`D5jB*p#kRx5>L>#h>;lK=CvqhJeXOa@LBz5Zh z1?eFrSst!)#x+4_8jz#sxYeGw%%hnI33D{j-AjKD>I+`*(=$DZ1hS%~V;iqVWgget zs2hvuw)6A5km$Q7P@Np|k?#!*L+2Y+%!5GLFsz1@XNg=JS+LqURFQYMkYFP1Lx4W(#7p&MrrKi=3hWSXjsOf2*P4zE}SNRGkn1 zD*TU)!7_M~Rl*JRFES%`=?^^Pt(GR`L-Yb(aoHAwkl|{mdID zLTO3DFU-zxYBT#rpNKwSd1-JgXjx><=Jlvf-!0 zUuF-(-seV>p5(I(^7=*;zHIFYt-g}n;n9pM(D<(KBeR(EP2TA?_bZz(q^vtADu0V8 ze=B*UPUU@fNr_Nfu7j&in$=h1c00zu^y8_2X%Va=70bqtNUJDZs$n0_an< zgU!A-b}!QVzVY=&esDcfbSq4g4?%HLufRg#-TGmi1`5~l?7fI6;&qw(j2oCdqMg`M z!PH4m8zpBtrS7A7M1H5OypM6p`(1YN5`$bk=aia6m%j#=UJc7Sns3-bl)_|>_LI6} zqlmV7S){PZdF{v9HAD@G%C6-$nUD`lbYro<%spG3pDnw%$wf&%GXJRXsIfH z+A>F>%=sx6lGL&BYOMAoUX$JJfYF4}x1aXvZrF<8<~5z17>X@HPNsg@RovM&E*7%D zoaO5yV_UzVz+p?Ce!eeL17>=BH4>D<0yA$dqBA$!@tPPrTJz`| z=8J$Mas7vIhyV}M4@U3pKgL&GAv8|E!%cH2mUR&@pJQ~622}x9;i8HStk*JJ)}B9) z$<#BWTqG=g=2nWhUC}9%vIRLn8c54kSx4h2E?5D;pFE@c6bvyxKk|=Fr)x$_QpFDA zmf8NF&oA>|T|TbeI`WUcTb&h>K`<S%;r-*2i!)!CF|$M$?B(m5c19K7To+dz5)!OxDs3KK#514# zZYHB<@WM=*Ayj;1ELWem9Lp*@5>r!ZQ@=r3vDx`|kMoG=)d&}hC!zFT0d<-7X+$dP z)OxgyQ5x!^YKn~s)#>zHX`Fj0Ax=UP+^uFUTnx5&UdVC zfdf}(ZFz|$N1L-ZsNxG4C)j;Lhr2;pqTy;@06)zxD+%JR@(BeXCxa(FBe>*Q?bgx>Nz;wPBOsO zImq)7=@X{5ZH_=vI(C73{zxvACXp1mV!7GO{-MGI+5FDta!IW!cwKf+=fiQzs3y2& zgznMZU1nlcHdO?NqSK7b^z#UVCYg1Gd2TJr#XCVdCAaZ}QU&SdDMkXtP6*w^85_wi zanwr!A`&ca_l&5sR6G>{+y!mT}Hj$L+kiNh@?1W+x#fh_QGG2Tu z_!w39;~E|9!30xG%!kToKaR^I3)bTQo4CKR z2u`WIPa-UpwNXpwm75qh6PX_gB@|I_6N!w?CHN>7ZuEDhBzDte3pJDFy(!Pv`HJmP z44Sh_?E45%Q!(RXS`NSFOp4C5sWIeyEOYAzFFyGeLj?u!v|Q5WcweCv;Rhv|yPRQ) zdCzP1WMh>z%P`uM67@bkZCh-B4OP&s8Ws6rOs=xcQo+%U$b`h#>`1J~pYZzD37DvaKs`7*@X_zEeME*}-CcyTLxL(c9bT zGyzrJT@ov~KC9fM@S zX8qRpq}Px|3Fwm1;CKxDx^{H@hB)V;Q`vvChoqSQk6<y`uChpj1-PSFsQNmH7mwviM}Y=s-mpwE>bBVN5mnMw9Fxht@gk7x=?I zo8|ReS#w3t$)H7szb}47Z$y(s$rN+PnjQ%rpHAZ#Oei{QKb>YE8Kv{~nT|nIB3}tf zSr-NOa4itOin?EGi}H|Bk1=D#yHa?!=FxnBadzX(CX!~Dc=EeRQcFCKH!dz5No*8a zQaYF7@y44e512H|rs>vJ%82#B5vD^-rSqhy-lro^Pjie184sn7eE1xTNydu_cFDqv zPl~8mLOBW);4}^!F>_^5HoerLKw@^{f|U_IReacXq|FbeLRqtG!U-W~`jg!CaqR4G z&f%p5y?OO08cVZ;q9ANp@0HXOa`bAKHVcS%8k{Maavg3ew(Xo?sE{B%J6QgI<(sYX zKNsrYms;L`&u^7^UtPrLmf5Sl@p%F2R_*B=fiJ&F%Tz@1!F3O2J45Z|2jzJ>y0&~X zVXje_o>P!=iEHqJGCIY_E%zv2h8V)Oib_ZgeMLfz_%0a!Pw<%m!9<_`(ifUH$c2MnqIqu1`5ybJMRwY&S)JH;O6_zm4Zr^(g&jdF|fy{BwPd9xw z&M7v!Ha_)UdOT5YR|{H-JMN5^F=KsV9FbC@6NwU9a_ zwKEPU*epN2t$S(r(TFeLC*I0;pOkB3q2u~=CQ-{LE}`ulOSBn^WPua#3Ul=f8ao4t zccZ8-Y|I@ES}wB(%3$sPD>{z;6&)XX2LyZm6&=mkL#We(`7Dx-;W>UjfRXpIfq#9V={Y}1}1alj>o6g`NGV# z2*0TDIjDHSZVsDpJtmlX&lbP%3wx5_M80=z9BreM2d#sPcr>O70*d7@0d&ElD;XIt_W!QhGg_ZqJc6GNwOOuVdj23SZwbBLM`T7iTAM2naB$8o7P0sXUe!t?|Z&rN$-IV)`s%2Gpkwc+W{3Q$7FX#Jwar&Gub>} z6Hsh0HpP!dpJ{-1`K=BI(pHk#Ab-q2l?u3q=-=vgE%f5+)^e z-Vv90GhR?xk1BxFHJ3_iZd|Go@d5KEV+TciaA`z8{qAOtt+SD|+*aAJ$U3D%xy-Be z3Nii}`GN?DHHN+|k0ti^wq5@45(uMd+E&E8bWT~WeE)8g(f>&EOpTfO|6$nfkC#^w z19D>z{@{C@bT`viP0GUp4Kd5t6L9nGbsS$L@24=K-EpDopC;}Z?2G-F-kE(qOzH6p zscP+`E+TO3P2-%s8_&HQk5TmwG(&ZH8zWVo5!5}2QP*+IU zL#lsQ7c!P~_GB!^tRN?sI*@NmQqgkK!4mmiY4j)_>C|ADuNS>6TNu+=-6sproi7k4 zl*YiitY043t|B&TC$cAf{Z}TBl!`DYh8Ema89~8XjznX?|7E?p!I_WJZ(a5Bn~=pD z7+%ub&kN0m0r8wEa>|Lrg+8KJn`8226kod4vKjhQ9+SBZ-;?VUB)n`t1U=1n%l~i9 z_Wz%6bdaB)fU?L!VlpoOQoVo5kny2NUwETq8uRxcWGI2bm0Y>O8TDG~qUd#`l|z;? zjt`IQ5>Sn8TSyIszmKpXj*w(K3YS#UN&cL-@TyHV#>cgrnw^4gyQ%)tc=HSQXp%{0AQI-Ow-CN@J!VADv~p!A7S*~#)30HMm%N(t z?qd8dQPZ2BH42=Hoq{IFf7r~JE-c5YeFVSCJl>q3mOm_O%@K374UqPvH8LtkmoeTW z-(^-@FTdv~k}o^AIP&MQUsP&^;pg!7K=gn0()xCfjCY9lTwFiBfTVVCA>H0-t)nZa zf|M``Lm4A5>-G8YSRdf02ABn32T7$XKd05O|GXvUlrLgZNUG6&V-ah=w&Mg+@YH4e z4bdY4q?{5ks7$1tVzS#!!XKwI`Mu5pKzF`>C65HPK$84c(?SQ+cRk_h78Hy-eaAbM^GQPmqikF2(8SfB!XM4n<7&Fs-WLJ=SaEx$%!t`r;nbbQlWLMT@Dg z++H>hs1ytnR*{<|!t4svt;8I&CHaI_oNkMHgG0NZI?*&y|9!Fjq#5&y)_sFciB2q8 z|Hj7{25v2HoED1}S~U*+GJa}(5;TUQ^VP(q6z-mBNtR)Q#cdGC?qS+vYQZ_IEK_;K zpz&P}2fYgZ1ThCVfx2~QCig<$rJYeA6~%8qoYZMptY8HBhJDKnivt=)$)SWxIW;Vs z>(}CT$kSG&u3nJUVJPDixOB;gk<=dk{)87Hkm1aVeb^Wn`XaYTfDXB-=^jb2f;Aue zb*Hj5%3~^`MkzlKHL;`EO%<7m4VAXS*g_W9`WNaK1<|lElo1T1``w#1A>}Ur;%35N zb*_lzG^(4~4b>>J{6%CrU<_nt={-W%D8OGZ8OS`*$r<`}R~rv}0FM#gd8# zkqv5vL{bfXz}CAj1OfmD*I{NvsYkelOKP^`a#O_u8?omsW-&9VEx%rQjbOQq>>Op|dx@&h8D_wYLwR{8_F+_gvgs`&E% zW9lq};taNKjk~)J?(PJ4hhV|o3GVJ1oZ#;6?(VL^-3jgvcXH18s&4f^s-TLQe*4|M z)?WKr;ua#GU}amV1>Ba)t{ftD0Ou;xXT=-NWd(`m__1VU69|x^o}OfItp9!`a>L-T zoDZi}Ej9RgQq%L9FU`~`r>^V5|Iu!rN6Bx`w1;xBX7jxy)0uvzE86+;=H1V2?ag^t zTzx)&$S)G92d9w)=N?aI2w80X@o~}on;RU zj`ddVy9^WF5g|n!LZVP+T!GCy4NT>}v<~1U@EPYBdJ#ZBHCQsTbjmry z`sz!sjrL4NW~XLdUfrgYq@MaB4fbNS8M9?=UzG@i^L z3l5D`s8*#l*M3$#!NTz{`LylF)N=>?vOHmbeiz#>Rt-ZUgkbUe^aer{Mdn|amLk?; z_@6cs6uuo|;DT1i0(aPtVu`WFDdz{G#$LFqu}2J3B!VR8tZJ$e+4REqjmY=0_ZmH!H$NrX5gBuyJFz z*TWpBSDROG#2S zDs*8F>2kW7vIU!=5iWd*@zkn&Dgwa${it#@;@Z030m)Jq=-Oi=edyE73LL zM(*E|9TB0inIgl|xr;dc4koyfZC$6u8S_BqCk1Y@=3It#J*><5O8jRP$XxTftt=3W z7MdC$^f?ZPg4sfdZ`(?;>VoNwhh@^NMPwU3^uL|M zwgBXEez#e_?GKswqpmMs)BRd*f@ae=C$Y68%h)yu9cI6L4`hHIL>hDz4vTyMDT|Md z6Dq=Sr{QEV*Yp~#en5h3ceKzP5H@$RUUy6M2r>hmhUzUO|CN{BSQV;ta?V1FpQ4PP zQu(K?Vl`QNcGGQ3#&{$OqyO(8E?~j|M>HXuXvod-jhB#?5CVue<(f)miQIBGru_g? z^ZJ9pFB6f0CSf&0(YTJ_d+kAW^<uFWvvja!Op{++b{12?b`@d zU=hw!%(eN-l#dymqpN{Yq*-GCB}6SZ#?~uQac*t@&5bwg;ZrKw5Y%h@xk3OY<|hTN z^}fHO%8IqK0nPdxw7|%{EJ1i9)fcdR5IlRT*{}FKm)tI5U&esMe^Pt?aLuZQ0fpcd_`S<&*(4JE=T!N3vMBa~ zv&iZ7QlO&p*WU8k0|R!71EGlUIR2_m8#f}HsDK9%l#-u+%Cj%yM3M5+*vyrKpb$@h z*m-O|fZ%}c7<21BE?n8p9Or~g|EB0h+aQ@KjLyU5rZ#uHbg<;Q(MzmX@3zZw$CayU zMMB4sno8*l$k=G5I*XL6Me|{@^V@6&+V9*@V)F_$?XgXt+-+YkJfE8vYtNJT5ldJw zjB4}#R@BcJ8`%`Y#ip}rz9&^8Fqtf#s{*H3A|>9|<jig&@#v-s4Ul`RfTZI=NcS$mS}u_ zxPjd1jthm4@89Ho25Irxf6AS;Mzy99&E#%B$LpeS+RmpQ|6L$R{|jJ)MFgRjw~^`l&^3rf{7IZI$GbUMB1r%I%n zHXR{RNzWappX3S(M>eekmSx4#y3)cC!$}Fz@qA;M%Ess2yX9iT{nWCPGr%9OvwsLzjkSzLdgrci6jzZ{JRg8@ zVNM=MXT+34_TngotU@_EB}a%=Fb57UW;kW{1PM6tkw(D`)KJK(&fs#VZLL&ptKV3c1%67E!T+Wsp8Lp>! zuVxczRNzb=IjxrDSb6)dfeAV|20+s*5H4?de=>K!=_U=*Z90*ByT0A(U|a*EnXGM> zHK{b~2c%_p6D{Mkra`tou31eyi~%QwsGPV!+p?1ITF8D9zT7g-f ztJU;VfIFBs-5m*FIWtNra)iQoU&(H>wpf0@oZ}~L4+EpqnA>FrsT;f_Vt=CO8*KPZ z1}FFRAmRHv>M{8OnJ^wgs@ial8~|G3_g+*B+>=4rdA@f}}H;MoAmreR7g za6a*~h+wDkSX$uaz{x`g5s2c=z5~sdNupI|SmMffFhVqk7g(S=<6-uIz!Ur99&da2 zB3fl2OO4bSGcjMRc90IIJ4__l9LhwzKPT$i`)kq0+!!nUamzx># z54~B&*Rs2Je#wf3azKRS4qWLT@Ic10otOtZ8@$-y5W_W3fthoe6mWaM$rI(emc$Nc z45yofvkSTtkPQ`Oi<@c?i0WLtt=LMQb2tlk|+R=iEbvpqirHSbo~Aw#(!^-|c)^Chio9oK-=3Rn41i=)1;;so8G}%c;xs9dr|yZpvD&M3*l|72li{ zzKlJ@T9wz*1K>H4A*MR!Q3Nl&QPD?!H|OmWUh> z4#n)>46N5v#f!nFNXec6lTSa~85JetJq8>%xI~!&GfDK>xYzoh0@Q>t(kyMEEa-@M zzM9O1*glgedm_Gl&{!BMp+mx}Wd%dtFvsb`|Lec_Qne@V8zJzh-Q@!lZWqHMaZ z+o%HJs55Rm0np>$dUiwcPjP|wTST^D(Xum%V5QP7+qq7Tz7id!_hWu|OQX*q?mea@=L>m7BXoT?j zcUY=*1B=Wy{P0Jgr%lO^*N22iS{=STgZ-2IMCOT7>ib+xyRHYv-#;HE=YKSqO%> zzG0^lH4Oqe!?%E>pU`BK&!BWGGoOCNz-aWXZX3CGCm^Ti_^GyBoKW@~aY(8}@+a#f zYol5boE`+@c~XQ@!1?XrMK-Kw8+R@u|EqWnEOTnu)&#TWL_Tto1HXx==o;866#)b6 zn^Kq$T!YKVnF$_Z^0XQ>{fb(59Hkq7JU9&rBA$g8HBXQeZB~o~%}c3N8rzPG4f3YP zpI?w#pWK;Jb|j{BB52KT1$^Is=;gI#N+XRbk7n#1$Pk$Is?isF0-~!BWIeyN|KM78X%1<=zpq$XEX+_d=2XkV* zbX)>mx-{tFeQ@7|U1HAarT(~%CJPE&T;qUx-=HWkd8x3S@@9DnFwsuf0R-00-Y6eU zFQ+Dz_i3rDG;19L_7f34oxQgp7EtYZ$W<;ifjxvKo!I0Mr?WXpq9P#H5-&1r^j*C7 z*dH9}y0sP!D$F1H1IQjm|4pyX?|r~O5sokKjvzn}qjw006aeMqEMBcH@4(`g)S$`4!S^%x)g&Z6kxO>A~m>dRahh7&bM?yD> z)n8!RyK9?bikwGOwlSe?Hj{m!`FFX730ug0&>Fb6Z{1Z5jOo7|kgsW_SlJ+M%SYC% zn;Bwi$p?&JBY!Sp@iuK|Uv|EMnlTO7$*K6{_CX3>7Gk%OA)rnp(lRK*koAML`)|47 zrwQ+m&EszglVOjBWzLpiU?or??z{HOAk+dD&J1MOa)J^!H)Ng~3@4#8r#gZ~Xd2v2 zfV>NIlRKdxD4y7}KQ$?MHz^H0aZU*GoL^bWU(Y{AQO1#PQjfckd3CUwdX2wVk$C}x z?zpAeVFh2kfTfPbM6$LAgBxO7JmuZK74?S#U&wLl^he9KcaYwmH97vv)3(pRW0kO^ z!_L@v&ATqX>w>}0#X=gF3*X#a)b~@DgSq>2^jKV6zvH9%{m#<|rIPpW_B{>qTza0M zS-z(~=Bt<8ojz%6cew=(Sw?o>Xg`Q|*qMFT)7q24E#^loMlxih!o_;H<+W(PD<0V- zm5Sv$9M4*^b_zay60El=kU9GWA>#V|(WYR<>uk&Gsz@P=M=6WPMJ(86>3xLAPf7?{ zn2c|)33&CD60}7?#A6>_oGZy8O|60Cb8nzAS%YVZLo~I69)M@7+=0RY&^6rtD}{?u zwq_%GlXUef!wD%HT1i-&26hPbHUb>>l-hws$(&&rVe-~QWh-L%Z9eqBrS==z$lrqE zn?QLqVAOLb2w5O51WGy0K{$rp5u@<8-}}u-{pmfnzBdWC3EFNyBDNFtC~G>KIg;St zgz3LyPf+ZJ<4(O9%I9FncIo|Ow(ds)or+**w-7nZ+1JzBfIq0Z8-N|ijLKDlMo2v^ zL=h3KdS=-$&ZUGI0p5rh!B3piEfaJ^k)<+~$eZu;qwxh6qc$yGX?jq>cl}n|ACJY= zy1ZWZqR4{6+qVTw)OMXWlvkLGx__;zHM1#W{L+s;xnnsI0m!0MN7)ed8pYw5r6dp~ zlwGB!z_BIwEPtxBWlgxOHByH8p28=`#*-ETR)E$2ta%QFu(F}QqI#z{LMU5aZEd2s ziI9r@_3#ukY8e`_rY&yC+3QH}K^f8{>Yc)}eQ=K&}298hYG)FlhUFdT? zi2-LD`Teg09SrTImjSZpdEOgr4SCP$T7_=P?ewcV5CPq@vGR?9brhAVjlaXxX9=`sZ#S zDEb6m=YIhElb42th7`LdmXLWrCu1dhriDX9VwoxzkV|`HYjq?cEDh`GLR$B#)hjjT zA_whk3?Tzx>0l^zfmP-FAV)uN8&SJ#kOM#H9|0}dKvl@e87LIXy4Ld#hd2dfD7hzI zteWRw`kF9n`ojnp$CJ6lr0WG`@wz4V48dGmH%xJ&wbomq%?feWN7dRHaaO?Ec%lD= zXX+FZ4Mm7IfS(?@T{C>d;0oR}{B}PpdU}*$S3D#5l?m`TKz#}Rr~~}xI;g0{7kBl$ zv@wb)hRo9-=>~)`N`ZSfco9F_fNx8xc?e5;v>U8hlbmtQzRnyH+h_${im?-M%s#-n z9*;OeQQRLUwpBCW)7l=!rxhG0`4>9XIAu()uIs94{W8ek7NoW$d(d!1!kUgto?P;B3}%0r=}VV@^KDfAq_JpVqRya7t+ zX~E>%v8ou4B(4|>?(DkK#-HW8CY^l+l*>x+Z3*&SS^6q!u0ON`}rnu6?PH!pyKiVHVP1`?9+W31q3Ve=iTrX2dPBk|an@84gBjd#;F z;#X5#x-v7dUWt0%pAPLufA3795{3o)FGeix*`AbZ0A6e{Y%Bydw$u9rhTP`7!%Ejd z^hljSW6>)0JUZI7BmmXtl8+^s{R1BbT%H0hi_E2I$Oi6)0rxp5#B+55^#daBxPIde zYLGo}Nm$evGQ_6C83v17vUi-AUF1F^e0cSuhFl?u6gKhm-Jr~GD~6oyNU#UYzJu3P z-bA050DF5P&-*l%`%$)n6OCyQTK($GzwqY)4~Fq`sTcG(UwE9G8wo;B&RgeNr{Tq2 z55-s7enE&T^R>`(f%@35zSgyb>D^{SGDfl8no$&vC7IGE$e*XU^S)jKX`MIl_XG@c z?XQpmGEE-t(%NTZ8Nbcu*@`>kbDgxnkQ&+zq z!#nPRW1Ft)FofAzqsws?!TcW`KUejiN-FaQNHWm;!+$NXt+WMH@hL0<7td-9P#x#Q zu{|)r=vo&-BX#Log%E;x4L2Qj3L9IjmSZlv-)v7MBRK1`t2=LHq?rUC7F8gLkcX~7vpJO^9Cg!?_K*bEUgy;2 zT^p;3L}tUtKC_%2Uz~S@yDSH#y3XizFJ}v-MUe^{m*vogcNyQCJ4qf)!I`d2RJOb$ z72dX29oh7q>jP?UY6oHq(umIVv?ZbtYq1&Mr_#Nl-I{T;gzi}dt)0F?^wxCVqOpm5 zV)1%2dZ=Q52JWzpIznz!(5o6C!-1uwF3%qgXj%P8l;nQe>VW4c)em#s?4oMAatGP; z+D;IOec8TRX?TvdAvQ!#m=imvC{UeXiduKEV!AbiNq5|D{&bXs6D4F^k-Eq0vCTiK-!OQ zN`7EtM7TFG6eb~2J3NA^l?9GaHPMUt=LFgO)*LWl6MXM&e=lAI1Vo%j8+wzCo!g7$ zFSD@7O!GmR6V<`83dcr~-r+8XY&ErQn!%(dW#C%1Gs%H98iY5dIyyddPKi?aeQemTpC*gFpt+5)V5Ql3M&904cIxgmdTvuKEc ziR493@tHFQV6%u_;r_|RA&@s#M#oAHdod zLZ7fdQfdWljJ0&wE z`b=~JNyXla!yhQLF%VC5_}v^UK*6O9u~ycD5OA?W=BcCoT>1T;qBBaZ`_SLR^mvZs zp5}$mmYT5-&8*Cz27qXPq=s`D+x$mOyC}TB>zCSniy%d998@)Y<<6Da)8(cmaB41! z#WPB%9ot0GCdPcS>c_fW!nvwf;L_17eZsDDmL|=h4CbN;BE~A5bf;UZ0z8?RIjbDOIsJ zEP-38x1oGmoG&3`--wgWk4G_ENp9|Op18A}cu?U~b(9GR?+ zb5hk&Bq7Z~r^A7r7*5VS3H`2i7mE`cu3KMC8EzY3+-BpZM9K(^xpqdh+8?P^JQ5pK zuPmxPhRIMzhRmWbyFFrmca+)!pfG9MWfEd6w%mq%P#A90OZrJsa>{fDyX>DfYsv$ zCB9u@#9Sm&BqL5deFnc(yAeB>M+ohE4EZ1EHWI7did78Db&OlBNtl}i73qpASPM>MUNS>5;IEsLX_^Px^U6F)4_09(%g;ggjxaWf#WwVY zMQg+9G0Kf`*MqpV1_-2l_8+nMBhcrLX9Fo&GUCn*NFY?iw0Zzea=E{a3kg5-uicq* z@@n$NvFJ0KS5y36KNubt-I))GFRmTHpNwnGE%fFU^;%KWEu-&Kbk}XQd|*ccBrxEP ztmw03(1heFJu;Yy*9{zCLxytpsyDN6R+qV6%&$hmu(h8*JdQ41Zuj(bE`6q%XWukl zthYQp{I4B@ngKwqt_6iQ0yH|xy+Brl-8-a4Vh9h7Cbo=RKOUCv9@_Mp_E4ERWPM0` z%1mPUJLVe5a`H5Dd_@rd{weuD=IiYMb(^tKv5Gx_W9&cAr}7dub9SeLWdy04L7ktk zgQc);2&~MpX6ZnPb++Bm6}VvcJ^Z%rha=b=s(ww%z)QcPLefcx_c-(__yBV0d$v*6 zv6BvM0MC3WItxZe+jHGOk@gp=#TnYZgR{yKX#WM4C!jSNa?vbqUe#^e(T z{fMaUc#K#CE70rWVRuCk^hHmc;U+8HW`S8u%>`H`&T({PJpM4|p9`rKm8c)MDEu%B{W4G1W z)^;5F!S!N5j}_j`1#?tqy)u!gvBRWUpZe)GJk%-ag3EId7j!cC>Eod%Nar|6T0F8Z zx9ummOpqmngPE*@l$;QP#Hb9NsAkVBMooOe36;4ll>H)#)k|+Qv^INjpZ==YR0Hh{ z2!q3*f+@QN&94Mcqt9jOS?_G}6(Uh8hR6y}T9fBOD!yav)cAY&Y`0eHMMP|Jns~?` zSg!VmU(DW@-wH_IZLp?Z!6ZxlI+QKjL_{;Ea}C@f7|CH`WoS|CCP{N%=k4eNbAfA z3T^!KSYKpD-~r-~)ne*(gcsd+!FK~zb;5aP9K?FV%G~l|>Uj$aK62`Tbq@n5H`^wv zUf$r{3o#2tSX>hr0Lh(P9#r(R(l_*zTpMM?PVW(a1DVJURS{bTB$ipKZ;mR@s92t31){JAu3tl8TpVI!3nM<~^x{sZzj=U-vlXC*mH zJ!wxHKFGS>V?#y=TSA=9CyJh5U8jxPpPO9)Fy;GGW^`KplD*gK(c9MNZoxZz2QhdY zGOU)@rQC3=X@3{X$Uw_Qk-m|aXljNCrLK!6WT~_VAFHTtACJXY?rlY1zT43Qm}ByFheYSAHzw{6 zp>rk;4yiQn?4e^9tp>u^0DYA)D+AQ~mrNqz0dcYuR1;5N6Hcjqk8gcRL&zFy@N6ot8-V}Y zJB?mR(v7CM$RISlw-$aa7Id=7Ztq#G<2$wH#ahN(-3S5Tw-h0M22$6DZH;~$Gv)Sc z^jqP&FdtU4d`0r@7@VKeU-tBGXXt~lIy9o&es5ikba$akJ$JefaG137%iG?P55W5R z?wF~Nh^0o~Hz?-sdIGKLe3vi^``?Wsa1LA5lqX8h%!f0urChv0+D^bC3y3*66#C;g zt6Q*Ho<}gnR5?JnV(th_YPP9J0T;|SN@N#C8s1jq7z{@N6R9K;A9i$QV{8*r?$kQD zVR!s6qSkW6bavl!ZeORZ&qmX`qkNRRN{K1*xUxPH2$E{HYuE} z3t;jcNW2qN3*xfaOnK|J?OQK>FF`I*_z(0P*7K^P6N!iF5oC0wNsfXyy*~GUu6h7I-?`j&Odf!q* zxQ`MMY^8c3OGNL9TLb%7J(1vqW+Cgj-3#p`*|dMq9YtQVh#~)lOX%UE9eHjv)v7Am zzb=mWlCM5CN0sd&>ed25}s*fv=y zP!P=T{x)Of-T!+^2<|OHS&|dwk%0XJMr@abE>R*HPud?Q0DV0UZf7s{clc3`c zt)!qpYDzyAH+n~j*O3v~G4gevA@kqIS(gIuti~R_yT!eTTqkZb7IB-2S9PuQRX1Wd z|ItcnX}x-Van%o5#MTR-WkR591(6@|`?o;bu_KV+u{m13!qjJsX8?4o(ddY=29rR) zoGJDghcOripgGr3z9eJN8mkmY;rX=bc9_q&Y!*Ap)4wi9DVIu&&$V~M0pTAPgSb)4 z8#<=Ty%8cNJkF=r6nXQRV4!B9Uun+o4~d&B>5qhik+~(fY`fT0MP5B)`~xE9INJ@i z>v@mv7Uny57)md$y^46wD0FX1i)Wt4mJeq#ImXF=|jtn}abGZ4mRZ{H*7>o`1 zm{O(oC7#zpJBi1QafppQTkK~7a)x{o}-wA4KLvQ6xwl3fj-{X zqb|)mTwcRbxPa)9t{ciK>%LEJcLGE^#Hk0UnFa`h7yk#Px$FB(ke}5g)F>FQbYh3Wx0zF7nJ@79(j19;^V_ivr zN1@5#!Tc{?FPrt|q>4hf#YMR8w|`a_Me3@`1#`-rN#Qf?njC_~r4elH8T&dk}G1;{kO}e2^x$Xf(=9%*Rp7-&U zB+?l6=hAwCr$c-6vjlkLgr=p^`x1-wrcPO23xaX-RS6%|tga#8=ywYrdA=sGjk}Ud zc$`1|laS$cC*uK^Me=N+Dq~g~T|Z%`>{#cCDCF_EVuq zpby)7&W9?`BiZ0dpputc+Hy=1YuL zVI`n&<=6Yar&_i`ecyMzUj4!EcL5S7DGp`_P*Y;xhl%uZ6q&=&F<#XzSB{M^5`_z( z*M#ulltR<%|>50({?Waeg(WKt^Zhz4Xf=v=^q==sOW;No_~)EU_EgyAGBz>mG$NB#Wz zTX1u_{i#D1(Rvc_Z}sz|fQyB^Q9Vi^7xDq8yjr-o3bF?uqeBbcv0yxaK zr4+@kfxX&cs=!Qw555aJ!J1$3@cF%*)v|Av;P|hu*0`yC7v2!xSVk^k zr)Wv{%)nWuIE2QOQ`+vT@&sS2AYvz^z~TZKp_2}XjKyneyn4T6Y)Uk^rE_nPBU)Rm zX9ua=a9A#zIi6#_DGIVZpgC0xef#xTBUh1s`R}9r0Ziy3=l?jh7S~p%L*7xMH`zV# z%(QB96eF-^@gUYXgsf<`m#2!P(tCv5tnAp48E1xyul_pD@jEP(!!nVHE*Kx_S1Zcs z#z0UXpEq1fl`NO0mh#fUM=an9*a}hz1sC#iG)4~>FC$q|_ym|?&u*OQ8v9T#<<8=0 zh9jIwkV|Cn(m_VVuYlO4`cSH#QJRm-|js}oK?FCRC z!xP3`5yOO_%KfkF;Xj=ZzW=Fk1xFl$D@vgm+YZqBsgh3u_HID1_;jo(Oyq~gNwKW* zoVl<}VrChJYX>1Du-pA*fp9=xX>IY4`_5n|`Ji0XGF!yZ=t|QX(iRvtTQ4ysM5D?v zLmv1Q5L0;DQQ%eGWUc%U&9T5qkcPQN{fa86hN6ta>^hm_Yylx@XoW(iIpC7R{Cu*OlQYs4zzG$1#b7@V4%WfCJ8njTopaM!hxNh~Hq z`Pxtk&g6GvEOp3`f)itHcQ3DtewinA>p$^zwbxd()7?7^*w68-LK^yD~ z-r@&N6V@ChIC40>Q$v{p9Mus>7gC;iv5~2<5msI>1QEMUNj-$4YywV2qe4NJizc?u z3W`+6y6zvXg_y|yng{;7iq^ncgjCDF+Y#veSGQUN-+f)FiZ`(#55Ur6rZ}r9OiqrQ zr49*+h@zbW%B8x`0sW=Irjf#VEUrN!#0ao?XAMJDmVuLnt?kFh5tTCNaB;FN!k52Y z;lL6^EINAQn>s@3_pg^s)@jssVVzqQ4EmeOA!#tmpWHoWpp2E^PjJ8zdGi!V7Xl~~ zf40L5jqKg5HfOMCdJs<(>5u-IZv6PQsvzpSLx!aw$!#F0*d#kSE(1277R{Jbx!)t4uhxGOINHuM9QWWsQ5(R)8WL$Hg)3`O*NPWBKAuEmeHsHul%LwA{x01uM4 zV`hxR0bUdd3t}{JlNX6`Q{SV}r8OvU}HG|NbueAqhjZ(@!xIa9d zT8miME&$ws^j1U@wV;uRxd{zbWs=8aLayzG6(iV@Qy z30e3e==Br*q+O?% zDd{S-wfvaou2AZ1&RtrY9QqN<QkXZd%qzM8rB)m$SOdwY?2Feu|gv z(RYb}86k5GalumV6*$@16N6yZ@Hb+y6N7}+)fcM4@mn17n7503_#FcI;1Q&FvkyY( z=gljg)UZntM77iK6OM+Q(=D1bSjUYD?pR_5`86muE(pnDioE`=RBE_D<)k&Dg1X~3 zD-0T=h>^2DlHr|hcqVa!)&)2NI_g3 zIbI8EnFnE#6vQb3bC}at@3zt^DQZ z`VUUCds${Ii2v`Ht&{+S%9yINb%*$lIKVl%Ije`Kz?nK(zk`#M$%CX z24Zp$U}9NE64#)-cdDwmBF{1Kd)JCV@B9`g)Y`xj5a9OJJP(X`nGJ(%=pO`(lnKSe z;J760dts97AC*6o5VLvF?~_U8E5ZUu3T~9q-zF7)*r>wEx0_Gs2c#W|l{xYH{}d!6 zUU3NkA*X;ExFmwn}SPs&cFK9Wx`TrzH0xSQ4YsnhBT@qcIO9C$^*zjhW5?lFh( z|NgLz-=7|ie(?80Zsp7K&XRZADuJ3My{ZXc`dJ)vF@<5@&oh--9IjH6i*X#y1q!fv z4m$CUBkz;6iZ4BSd zV%82Hpvw<+a5@I8m?05W`V~JrnkUHN2FZWK3F%RKm4XD!6(QJv!c+cUG18a9BDJ25 z5;If0a}>>FISAl3taXDGjXS|+LN(AYgxF_*keO+@OD?l-%(HSaqcTigTyc+Ds+o4} z-njzK$l__TPu+XMN{56)eV_l9zQYiH^!3al&Rw#ph=U{0H>maBSI>W+ZJ{mM^m&16 z?(UO-uX5<$Lozp78Xc||dzc!N^T5QG&{PK3cj+pn0;qra3K|`2j1p*fO>(y}P)$ZZ zv{D}p?f}YwcISj4OeXRs=vL<`;2bNj@$39(QyG5niDccNpQ<&K^9Bf${h+mzc$G7| z5c!Op;76a~z9_%MNRrcyO&V`C@f}47o__NBBc3f6JuK_%Q?T-PH)z||eQQWVlnwMW ziy8?@DG3oxvyx~yt_-$ILcXx(Dm32!1 z1}}G-6Tayb3L_oGF$)|cY6*Gx)Phfh2N&^|LTILZp79mW$%8gNL7Ha@|6?Kl z;Y5<`YcvwdBTmh#8Fya=gY2Z)ZpbRn`XXT2EZtiB1fqt0vRKrmkyhRG*T)`O6h%B_ zTJ8k!B@m+7UQ0MWHDSL0=$W^EuC#9dSEfC2(aukLJu3+~?l%M7cP3IfIjoubRwNzR zTO9?I6EX9R`2Uyr%Z2&Z!%fOf^IHu09Urh_S(0_~a-36=qVJnVsgNlJ^riLkets8t zF@Nr6z&pfqAY<)?AI5=!4kTBhk)9uT>=r^n(8vm9yvLbN zC&1P)h22mDT(lqwnpg};GAZy{T4KKgTLEYxh$(1#zOXGs82@K>%lTAbEDEhEzyPI%x6**1h%GO zxtw-3NC|b^dY;WsaUtE>D7vh9Nb(#O8iV66hUM8Pn^!|XvG+!bnFv{oArAQJ{c&XB zIUH~NhC@uj+6kKymz7o+9?i4tRA0W~jLzkC4Ii)%az%frE2+ zs)zj2K)-zZLuUo)RkEoT6Ge}vu7=Nyk_?kZKE&)^pBls z-FrXvoae-EJKpAHndTT;HtI!;cwNt>z@ZQ{NVfLO+JV8VQoSxuakLJ;Msc*0aK`Ru zBVe?zomo&*zRJbRS)qL z-_&R^7YMY6k<(d>Ly28i455E+ck}cS2J!A4b&T_N(e1DP14*XHBng^slrY`9? z$$J8WdltZ816ueuAf?)3sZw*XREg{qTxGT1^z^FdixQ$DLaTQH7*u@)2Bs{>6KVR@ zntuM!^15iU%yL=E3q{1A2PPdv{XSo)fPeQFkMoJp{%~{wFoz1ufW@~X>8GL9Y%LAc zABlW!$EX7JBC*}ptsA0EaCeQKJFdD5#uBJx^}iu$30(sJYgu$|Ug8`kp)jNN9PeA{ zo9(@!$kR}K+uUV+zbwYq9k4Z{NQM*OgOk@VBap%4@>dL)nJBo~ACU$54w2X{S_@JC zA3Ao*JI)9!7#P$IBbh{oDv!QM726 zr^~@UYNcfXEj~JHgo40>x3K8hk$griKVhlTfG7JymD@?=s{TB-{$%{87Kc^sjMlOkW$KVo60NP7*Roax8Zhj3W$lLhnQbQm{*C%it}o$VCk?-J{x`axTh>lIHobN4 zn+%c#!*cmvS6+#aSKU-V@0sqS%YtRoc_E9`C3cf{F0-aPk2iGlYHF$BFhiuo9Gsgs z#F^fX1uIfNjWnaVIdfS_=v8?d>o4)Eh^{uL9i>km zUmYcTCXGofz+DQ%K!Nw4$=O~B?^RVCJFKfEx5P+XK*B=1kJ!!o0qC8?Uw5IW-YFR&-c5T+jSTMU$==A zCZ?Xb*19`j-vM4(FEAsnlESEafVT^D9A;$UeQJr)1Y6bm9$?^}-L^c;(>ZPMcAs8> zDM<|PNB_y9i{|y1wI(Y`pnaft?KJ=o`1}Z~(Rbg4{FhM*!MuO&3ajZ0vVvO#rX>Cq zu^L(bl&*@q)mY=N8Fvt20tnS=U}vNzJBgy9DKK~r?B=vT1V+e<6BKxUA@Q6Lk4^T5 zkT7NfG0tI~!tnrp&spHpHx)Ux{V(a^3Xhi$1gDCso_D`p7RwNWNw;je;z#4Mg=YJ{ zTDIZHqCz0*SZDcdz1*)J=b#ST1F6qaC>7sx1R9t1ykMEYzG;Zz%&Y7Bh?nH} z@({W#Dk=K`yE+c~v4tr*aDw4hqJ?mWV<$-=2K=>+qdCZPgW>sfCWS9o>Wsy)7+uen zYrX@2*~P$A`2y&{>);r9Q(vEs#*@JYkm`hU*{mh5HCmEs%Jv2UuwzB-@M+uQbwdmY z84qO5=O#hvPgbhN@S@J%^^tU4H2-49 zWJ2SySNm-?qU$zA{JK9QXmN=wD5KbHennDY(i|O1&PXMuwLuP8WXmoS6gq|{w45wEsDow#{T4F4-+y233kAs)tpfbey(CoQqC<*PlbQOjw}2N$@su$?vB#Htzz z9*=n2>18$tCRR}ihw_nzHQe^4KYx7=ug1Iy&SGBNJj^iy2p7n!YfT7S zIy_N6*toXQSAv?cdj=Wb=A>lPmJ`>r*q@NSp5b|1H79!Mu;`&tDN(=-NYV48;eXx< zx?K;>kbJJ{xSQs6`dlL64z>c_Anvmxw>2Xk4Lm1!FW#j@^WC0xJHj$Ju9m7YW=Y7}wEq0OpLo|l;CilV*+S!Eb#2~o zl>L8fonvq%{Tl5jm|$Xi$F^-_;z4ZNHYeu9_DpP>6Wg|J-JbV7=iK|@*8Y@Ks#3MP z``-`N`mLko21c*Jb*zNHkPyJ=#o5Hc1t_+~p{zl>xqS%LAK@?up*uQYXoyW6`!K#u zaISmyaH5PQ=wg+V+hg#>McL_lHvR}c2GdmNLV8#os6)1X*^oeHsYf~R&%%6d3vExo zCg1EwfBOHQLRc&?8yjN_fPzsSHrwadd;_tLLTUU6Wxi8Pu|8C)6$mDmdxEF92< zwN2RZUG}22x(W&z-kvPR1IZYZt-^$wkR-YRyaA0|qW$uESh9m6&F_BCW(N~F`T=X7 zzd0~ru3Xmm3n87owT*`70g*$Z;9`}8JOC}h$E-(ywh_72X|QZAfj16tBIAGd)?>*4 zN|-l95^!~x8(qyjiO8!(;mlatM%mDofJTjQBJ^s1+b({GJ-MdP-XI#~DPlMmbHDJX)0$GIoy~ov75*6#znVIm2ioj`%%$An&-IX-Hzj{T1rg3|tUg4Y1MT zvK_D>mW~v>+jUmBoClaK@p^hc%HM)K91BRFK>)qX4KwT7Wzpn*>T)1!W3K3Xy#)wD zOd}X-?xCXn4$1^7gA`1Z@9tr-C`)PfSL1RU2cy`Y3Yzx93b!T9X@ic!n?S<$$G0cd zmN{e3^1_KHO)NZz(icE9AvVkXVWPd~tU7tpEj8kH&4V!4;{jqW!`X5;TK{XIp354e zUm5B1U7^zh;>%eE@6_TxJkSJq1!%i^lRf`neOXXrY=5CKA@GtKk8o97`ks#1?hV6e zi>a(JhR$;qIITuQb}b;T!Livgy*~YAenqaPV5#2Amcox_bweRk8as>*)b*Uw|~8>S<&;zvc4Z*=urR1)=7GwHLU zsVV+RQ18cMu~2 zna6STvuH%%-5y<2PzQZB;E$e6*-EInm$eMkyLHYyusW*v~Wff|C#@B8J zz3wM68cJGety_cU_WGRb(_Q=3KtUh61TvN^Jk%Imu6+^olA57hH8oy`5yFq46yJ=$ z^RnZl<8ywqj5mFx?W9CqmmD#JW#*yUM|;{8qwRS6tZ$I6)s4izHpa$(q1I%Y<}DcF zWXmDthi&4=*=na?hxIZ?8s9)gzHUQcolR6cRd1!yZA12{oS=Tq-2%4q1)%-dm-(h~ zQ8iL@o)cSxZ%QCmdtQGG74q2(!jhRoV6llAHM|?!$R@SE2`m64GFPFVp`yXI=WA`` zrT`}BA!Ae=P5{zIdwYWp{lW03d=CK(^O3APWC9 z|E*EjX~K^NE#sk`aAunbRtSTF_wL^TW+?+`;&=9}QLSD2B*eQC(uO{a*+!#lw*VxJ z+{PFt!vpd}r+yQUV0pj>!dV2pLf1z$aFWL7V4=yf1`6S%(sZ}$y-D&UO%cvD*F3{b zAs@X0re_s=+ArSbxds3s>wjDv|>< zs1!NSS=<&lhS_uDbQsS|WVkqF2+;LVsEH2BbOWKMjlt_g&z%rR=*$lLV~HQ8x`W_8 zTT%zNPIRY6z|A>=>J4j{s_9>9sw`*69>Lvh>RX1``TMYd*A*u1{bz-|EwA zs4oEt<7u%=#hGfAh`1lG%YyJO7r}?hXPYq^99w(A=8di2^VyCVF~y zTjreZwaAtaX}x>l$?+S8z(7}FOB~HcB7-CMu#O_{f;3E!;_y?y9Gcl;$ZHvV-jyz1 zL4wZdGj<1+4w4j~J(1EshA2wH28f!TPt+3-4o~!_S;{r62+(2RiwMdT$XHA|aU$g$ zv2&`lpr1yEnh-_B(X*iAMIXZlh)VeARtUV@TUc3OqNE0}D7HgJ)Wm<>$3cwqBJiX_ zlu-;$Bksj0fFGNLrQY!yy~Mys1?4r|v1AL-?BBpq`D@oGNIiZq-Tpw=MQa4f1jyJR zWZ}@^3W=uS3#dArDDnZ*-j&zDx;#2$4042sFbB$8|E2`;ThtbmjNWcuv_PEo1@VF5 z$9bAznmdoM2nzIPJXLH$aPI5?tA+3?Olaj(B?m*I3MsRx{2x9i2=lmg$1`{O7cOA) zlK-1X7emWjm@qbT0du76Vo;|z5`%KH%elPNY(2l@U(4cw5(#vS%OZAp?(eg_a7C5>h+WKKH^2>V?X@KM%)IN190)~(ICZwi4moQ}F`Ci=H|cLw<=@W0}ZhgUm3Vg$J1f18ZaI46UI z-XF^tc&4t)`IK%{zZra-h8jCysV+tY|6NAVzS4<*treGLvcIE)Yr1H?3W6)%OhG-1 z5YBwM5W~e!?HSCb`O%r@Wf1M*`So|FM#vg{wUr)u!pQaL{JMSRnFV6R;hF)Qw+0m) z(4+KUZOds~7!(Okc_H!1L*vgR5sGSsj0xPcn77emy3lnkZaZNWAmF}H2@)0{OsDhV zP#n#fJm4d1Za_Z^(&Zwt%&;Xw;o;MG2Hu4;3KZ>A$}8duaBPggevhr&{xb}H`I5GO zc-HQK?KKoFnVYbEtz%Xe=D69H^wg2~SAYj-krX(!T_WjPg+n^bu(VmEUi_TD(+yGl z{$@Ewl47?~yl*id0?Tpa5Wuv@fOS$xJ`{$*~)~I#MQsS`CvuAl(Ytu^YaC7s6Uo?HW4dYw4@#g5QwVS2EER0 zHt={>eYBofK)_i>s-yxVP)guF8B}v<4DN)3ju8i*GrD1##`>iE2qM{DiInQUTgH|S+xRqHCc@KM>UuO zT_12h|B!G?NKdBzZkGHDQ|uShk7frkus#MpA1&p7z)4z0MTSe{=W6s%c$~KlJh!ee zf>CVi5D@9a4~s|>Aw86A_Hf5E5k~Hb(~ixLq}1#LKW`kD7Xd9t2;xEq@0a55e&gp} zp5EtiCs`@2(c}5j+ktn3q;7K8WW8<@p_bKRRs3@d}3z zZ$-JX;Q=2Az1RY3w$}8T6rRpk7&7knB*)J3ROAJI$`jbOUJQ~NkJw%#e6z3Dfp`Q( zdY>`7dr!$a_I;VZ)+RFX+%AuiqgNk11@~KvJ-Ok;Y@oZG#x0Q`)>wv)6Z}OVSo2R2csz>uBg+-4us)gfqLiIb$#4{^@1@2D z$XVoJJkBQvyZVATO@d?bLb%{vu7=RUxoUhNJuH6jYtBnX-w+{>1cc%X|8Jsh`vSK`)+X2P{adQdE#=OU1X(D9()U#HtDO)m_ zafi4wi0;<~C!cIqMWp0}Re(8U=^L$$=dg)Q@4q_lQaPlA&B(2rZ~8{+C{B_{r6i!v zW#(>#{P1Nao0_muYqrD-7hAy?ZLfpmI*F~MN!rT#eHera zS{6-tr!}b@{FLyFW8JN0wRrv8Tkd-K6Z&_(0g}*TfF6_s5cLA@Nty#Sq!(@T5Xdd8 zC)dOIQPt$|tZJFP#uvq^-weQ9djoBrD35s+%A%2okL3v|2bb~!9}x9V1G6_NUcT?l zzZ`(=pp3o18LGl@USVa%|br?M1|Aac3VwWkOTn`V;5>O1_6Fe0@3w zkJj-xb>bTS6i$Uu{}hE@rZdcWU# zBpAM7n1vu zma{3TaN;u|-q}4-YG<0hj`wBI*6KhOo@nCZIqM&-R_IC5`!!PQhDU+Bg8A0c_BO

WiIT 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 Date: Sun, 19 Apr 2026 19:04:23 +0800 Subject: [PATCH 04/20] docs: implementation plan for PURO AI landing+auth [CI SKIP] 13 tasks, ~4-6 hours total work. Each task has concrete file paths, full code blocks, verification steps. Scope: Landing + AuthLayout split + LoginView/RegisterView restyle + public Docs + puro.css design system. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../plans/2026-04-19-puro-ai-landing-auth.md | 1746 +++++++++++++++++ 1 file changed, 1746 insertions(+) create mode 100644 docs/superpowers/plans/2026-04-19-puro-ai-landing-auth.md diff --git a/docs/superpowers/plans/2026-04-19-puro-ai-landing-auth.md b/docs/superpowers/plans/2026-04-19-puro-ai-landing-auth.md new file mode 100644 index 00000000..265d2a14 --- /dev/null +++ b/docs/superpowers/plans/2026-04-19-puro-ai-landing-auth.md @@ -0,0 +1,1746 @@ +# PURO AI · Landing + Auth + Docs Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 在 `ai.puro.im` 上线 PURO AI 品牌化的 Landing、Login、Register、Docs 四个页面,落地 `puro.css` 作为全站新设计系统,保持所有后台页面和现有 Auth 逻辑不变。 + +**Architecture:** 复用 Claude Design 产出的 `docs/design-drafts/v2/` 静态 HTML,翻译成 Vue 3 SFC 组件,CSS 通过全局引入 `puro.css`(含 tokens + primitives),路由改造让 `/` 根据登录态动态展示 Landing 或 Dashboard。所有 hardcoded 中文通过 vue-i18n 的 `zh.ts` 集中管理。 + +**Tech Stack:** Vue 3.4+ (Composition API, TypeScript), Vue Router 4, vue-i18n, Pinia, Tailwind CSS(保留 legacy primary 色板不动),Vite 5, pnpm 10, vitest(router 用)。 + +**Spec:** `docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md`(第 3/4/4.5/6 节为本计划权威依据) + +**Branch:** `feat/design-landing-auth`(已创建 · 当前 HEAD `3a16b3ec`) + +--- + +## 文件结构 + +``` +frontend/ +├── index.html ← MODIFY 加 Google Fonts preconnect + link +├── src/ +│ ├── assets/ +│ │ └── puro.css ← NEW 复制 docs/design-drafts/v2/puro.css +│ ├── main.ts ← MODIFY import './assets/puro.css' +│ ├── router/ +│ │ └── index.ts ← MODIFY `/` auth-aware + `/docs` public +│ ├── views/ +│ │ ├── landing/ +│ │ │ └── LandingView.vue ← NEW 6 sections, dashboard mockup 静态 +│ │ ├── docs/ +│ │ │ └── DocsView.vue ← NEW 6 subsections, curl/codex/claude-code 示例 +│ │ └── auth/ +│ │ ├── LoginView.vue ← MODIFY 套新 narrative slot + 小幅改文案 +│ │ └── RegisterView.vue ← MODIFY 同上 +│ ├── components/ +│ │ └── layout/ +│ │ └── AuthLayout.vue ← MODIFY 加 `narrative` 命名 slot(条件渲染) +│ └── i18n/ +│ └── locales/ +│ └── zh.ts ← MODIFY 新增 `landing.*` / `docs.*` / 扩 `auth.*` +└── tailwind.config.js ← MODIFY extend color 加 puro.* 家族(给 Vue 用) +``` + +**不动的文件**:所有 `views/admin/**`、`views/user/**`、`views/setup/**`、`App.vue`、`AppHeader/AppLayout/AppSidebar.vue`、backend 全部。 + +**设计决策**: +- `puro.css` 里已有的 primitives class(`.btn-primary`, `.card`, `.input` 等)直接用 class 引用,**不抽 Vue 组件**(减少 scope 膨胀) +- Tailwind 现有 `primary`(teal #14b8a6)**不改**——admin 页还用。新加 `puro.cyan` / `puro.purple` / `puro.amber` 等命名空间,新页面用 `text-puro-cyan` 类 +- i18n 只补 `zh.ts`(本期默认中文);`en.ts` 键留空或复用 `zh` 值 + +--- + +## Task 1: 引入 puro.css 设计系统 + Google Fonts + +**Files:** +- Create: `frontend/src/assets/puro.css` +- Modify: `frontend/src/main.ts:7` +- Modify: `frontend/index.html` + +- [ ] **Step 1: 复制 puro.css 到 assets** + +```bash +cp /Users/mini/Work/dev/sub2api/docs/design-drafts/v2/puro.css \ + /Users/mini/Work/dev/sub2api/frontend/src/assets/puro.css +``` + +- [ ] **Step 2: 在 main.ts 里 import(紧接 style.css)** + +Modify `frontend/src/main.ts`,把第 7 行: + +```ts +import './style.css' +``` + +改为: + +```ts +import './style.css' +import './assets/puro.css' +``` + +- [ ] **Step 3: 在 index.html `` 里加 Google Fonts preconnect + link** + +Modify `frontend/index.html`,在 `` 里(`` 之前)插入: + +```html +<link rel="preconnect" href="https://fonts.googleapis.com"> +<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> +<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"> +``` + +- [ ] **Step 4: 启动 dev server 验证 CSS 变量可用** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +Expected: 启动成功(端口默认 5173),无 console error。 + +浏览器打开 http://localhost:5173,DevTools Console 执行: +```js +getComputedStyle(document.documentElement).getPropertyValue('--cyan') +``` +Expected: `" #22d3ee"` + +**停掉 dev server**(保留终端)。 + +- [ ] **Step 5: 扩展 tailwind.config.js 加 puro 色板** + +Modify `frontend/tailwind.config.js`,在 `theme.extend.colors` 里(`dark` 键后)加: + +```js + // PURO AI 设计系统色板(给新页面 Landing/Auth/Docs 用,不影响 admin) + puro: { + cyan: '#22d3ee', + 'cyan-2': '#67e8f9', + purple: '#a855f7', + amber: '#fbbf24', + green: '#34d399', + red: '#f87171', + // 平台品牌点色 + claude: '#d97757', + gpt: '#10a37f', + gemini: '#4285f4', + codex: '#f0a030' + } +``` + +- [ ] **Step 6: 验证 Tailwind class 生效** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +DevTools Console: +```js +// 临时在页面里插入 div +document.body.insertAdjacentHTML('afterbegin', '<div class="bg-puro-cyan" id="test-puro" style="padding:20px">test</div>') +// 读取实际背景色 +getComputedStyle(document.getElementById('test-puro')).backgroundColor +``` +Expected: `"rgb(34, 211, 238)"` + +删除测试元素,停掉 dev server。 + +- [ ] **Step 7: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/assets/puro.css frontend/src/main.ts frontend/index.html frontend/tailwind.config.js +git commit -m "$(cat <<'EOF' +feat(design): scaffold PURO AI design system + +- Add puro.css (tokens + primitives) as global stylesheet +- Load Inter + JetBrains Mono via Google Fonts +- Extend tailwind.config with puro.* color namespace (no conflict with legacy primary/accent palettes) + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> +EOF +)" +``` + +--- + +## Task 2: LandingView — 骨架 + Nav + Hero + +**Files:** +- Create: `frontend/src/views/landing/LandingView.vue` + +- [ ] **Step 1: 建 LandingView.vue 骨架** + +Create `frontend/src/views/landing/LandingView.vue`: + +```vue +<template> + <div class="puro-page"> + <div class="bg-glow"></div> + <div class="grain"></div> + + <!-- NAV --> + <nav class="nav"> + <div class="container nav-inner"> + <a href="/" class="brand"> + <span class="hex">⬢</span> + <span>PURO AI</span> + </a> + <div class="nav-links"> + <a href="#features">产品</a> + <a href="/docs">文档</a> + </div> + <div class="nav-cta"> + <router-link to="/login" class="btn btn-ghost">登录</router-link> + <router-link to="/register" class="btn btn-primary">免费试用 →</router-link> + </div> + </div> + </nav> + + <!-- HERO --> + <section class="hero container"> + <div class="hero-eyebrow"> + <span class="pill">ChatGPT Plus · Claude Pro · Codex · Gemini</span> + </div> + <h1 class="hero-title"> + 你的 AI 订阅,<br> + <span class="text-puro-cyan">已经付过钱了。</span> + </h1> + <p class="hero-sub"> + Claude Pro · ChatGPT Plus · Codex · Gemini 订阅<br> + 聚合成统一 API,零改动接入 OpenAI / Anthropic SDK + </p> + <div class="hero-cta"> + <router-link to="/login" class="btn btn-primary btn-lg">登录 →</router-link> + <a href="mailto:admin@puro.im" class="btn btn-ghost btn-lg">联系咨询</a> + </div> + <div class="hero-micro"> + 已验证可用 Codex CLI · Claude Code · curl · 服务器出口新加坡 + </div> + </section> + </div> +</template> + +<script setup lang="ts"> +// LandingView — public marketing landing page for PURO AI +// Rendered at `/` when user is unauthenticated (see router/index.ts) +</script> + +<style scoped> +.puro-page { + min-height: 100vh; + background: var(--bg-0); + color: var(--text-0); + font-family: var(--font-sans); + position: relative; + overflow-x: hidden; +} + +.hero { + text-align: center; + padding: 100px 24px 80px; + position: relative; + z-index: 2; +} +.hero-eyebrow { margin-bottom: 24px; } +.hero-title { + font-size: clamp(36px, 5.5vw, 64px); + font-weight: 800; + line-height: 1.1; + letter-spacing: -0.03em; + margin-bottom: 20px; +} +.hero-sub { + font-size: 18px; + color: var(--text-2); + line-height: 1.6; + max-width: 640px; + margin: 0 auto 36px; +} +.hero-cta { + display: flex; + gap: 12px; + justify-content: center; + flex-wrap: wrap; + margin-bottom: 20px; +} +.hero-micro { + font-size: 13px; + color: var(--text-3); + font-family: var(--font-mono); +} +</style> +``` + +- [ ] **Step 2: 临时加 /landing-preview 路由方便预览** + +Modify `frontend/src/router/index.ts`,在 `// ==================== Public Routes ====================` 注释后(靠近 `/home` 定义那里)插入: + +```ts + { + path: '/landing-preview', + name: 'LandingPreview', + component: () => import('@/views/landing/LandingView.vue'), + meta: { + requiresAuth: false, + title: 'PURO AI' + } + }, +``` + +- [ ] **Step 3: 启动 dev server 预览** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +浏览器开 http://localhost:5173/landing-preview + +Expected: +- 暗黑底 +- "⬢ PURO AI" + "登录" + "免费试用 →" 顶栏 +- 中央 "你的 AI 订阅,已经付过钱了。"("已经付过钱了" 是 cyan 色) +- "登录 →" + "联系咨询" 两个按钮 +- 底部 cyan/purple radial 光晕 + +**停掉 dev server**。 + +- [ ] **Step 4: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/views/landing/LandingView.vue frontend/src/router/index.ts +git commit -m "feat(landing): LandingView scaffold with Nav + Hero + +Temporary route /landing-preview added for dev iteration. Will flip / to +this view once all 6 sections are in place. + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 3: LandingView — ② 模型墙 + ③ 三大特性 + +**Files:** +- Modify: `frontend/src/views/landing/LandingView.vue` + +- [ ] **Step 1: 在 `<section class="hero">` 结束标签之后、script 之前,插入 ② + ③** + +```vue + <!-- ② 模型墙 --> + <section class="block container" id="models"> + <div class="section-header"> + <div class="section-kicker">支持的 AI 平台</div> + <h2 class="section-title">通过 OAuth 直接复用你的订阅</h2> + <p class="section-sub">无需申请官方 API key,也无需切换账号</p> + </div> + <div class="model-wall"> + <div class="model-card"> + <div class="model-dot" style="background: var(--p-claude)"></div> + <div class="model-name">Claude Pro / Max</div> + <div class="model-meta">Anthropic OAuth</div> + </div> + <div class="model-card"> + <div class="model-dot" style="background: var(--p-gpt)"></div> + <div class="model-name">ChatGPT Plus / Pro</div> + <div class="model-meta">OpenAI OAuth</div> + </div> + <div class="model-card"> + <div class="model-dot" style="background: var(--p-codex)"></div> + <div class="model-name">Codex CLI</div> + <div class="model-meta">OpenAI OAuth</div> + </div> + <div class="model-card"> + <div class="model-dot" style="background: var(--p-gemini)"></div> + <div class="model-name">Gemini Code Assist</div> + <div class="model-meta">Google OAuth</div> + </div> + <div class="model-card is-muted"> + <div class="model-dot" style="background: var(--text-3)"></div> + <div class="model-name">更多</div> + <div class="model-meta">规划中</div> + </div> + </div> + </section> + + <!-- ③ 三特性 --> + <section class="block container" id="features"> + <div class="section-header"> + <div class="section-kicker">核心特性</div> + <h2 class="section-title">一套 key,三件武器</h2> + </div> + <div class="features"> + <div class="feature card"> + <div class="feature-icon">⚡</div> + <h3>一个 key 接所有模型</h3> + <p>不再为每个 provider 申请 API key、配置 base_url。统一 <code class="mono">sk-</code> 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。</p> + </div> + <div class="feature card"> + <div class="feature-icon">🔄</div> + <h3>账号池高可用</h3> + <p>支持多账号自动调度与 failover。某个上游触发限流 / 冷却时,流量切到下一个健康账号,token 刷新全自动。</p> + </div> + <div class="feature card"> + <div class="feature-icon">📊</div> + <h3>用量看板</h3> + <p>每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。</p> + </div> + </div> + </section> +``` + +- [ ] **Step 2: 在 `<style scoped>` 里追加样式** + +```css +.container { + max-width: 1120px; + margin: 0 auto; + padding: 0 24px; + position: relative; + z-index: 2; +} +.block { padding: 80px 24px; } +.section-header { text-align: center; margin-bottom: 40px; } +.section-kicker { + font-size: 12px; + font-weight: 600; + color: var(--cyan); + text-transform: uppercase; + letter-spacing: 0.12em; + margin-bottom: 12px; + font-family: var(--font-mono); +} +.section-title { + font-size: clamp(28px, 3.5vw, 40px); + font-weight: 700; + letter-spacing: -0.02em; + margin-bottom: 12px; +} +.section-sub { color: var(--text-2); font-size: 15px; } + +/* model wall */ +.model-wall { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 12px; +} +.model-card { + padding: 20px; + border: 1px solid var(--border); + border-radius: var(--r-lg); + background: var(--bg-1); + display: flex; + align-items: center; + gap: 12px; +} +.model-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; } +.model-name { font-weight: 600; font-size: 14px; } +.model-meta { font-size: 11px; color: var(--text-3); font-family: var(--font-mono); margin-top: 2px; } +.model-card.is-muted { opacity: 0.5; } +.model-card.is-muted .model-name { color: var(--text-2); } + +/* features */ +.features { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 16px; +} +.feature { + padding: 28px 24px; + border: 1px solid var(--border); + border-radius: var(--r-lg); + background: var(--bg-1); +} +.feature-icon { font-size: 28px; margin-bottom: 14px; } +.feature h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; } +.feature p { color: var(--text-2); font-size: 14px; line-height: 1.6; } +.feature code { color: var(--cyan); font-size: 13px; } +``` + +- [ ] **Step 3: 验证** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +浏览器开 http://localhost:5173/landing-preview + +Expected: +- Hero 下方出现"支持的 AI 平台"section,5 张模型卡片横排 +- 再下方"一套 key,三件武器"section,3 张特性卡片 + +停掉 dev server。 + +- [ ] **Step 4: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/views/landing/LandingView.vue +git commit -m "feat(landing): add Models wall + Features sections + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 4: LandingView — ④ Code Demo + ⑤ Dashboard mockup + +**Files:** +- Modify: `frontend/src/views/landing/LandingView.vue` + +- [ ] **Step 1: 在 features section 之后插入 Code Demo + Dashboard mockup** + +```vue + <!-- ④ Code Demo --> + <section class="block container" id="code"> + <div class="section-header"> + <div class="section-kicker">快速接入</div> + <h2 class="section-title">把 base_url 一改,就能用</h2> + <p class="section-sub">兼容 OpenAI / Anthropic / Gemini SDK,<span class="text-puro-cyan">零代码改动</span></p> + </div> + <div class="code-demo"> + <div class="code-block"> + <div class="code-title mono">~/.codex/config.toml</div> + <pre class="mono"><code><span class="cm">[model_providers.OpenAI]</span> +base_url = <span class="str">"https://ai.puro.im"</span> +wire_api = <span class="str">"responses"</span> +requires_openai_auth = <span class="kw">true</span></code></pre> + </div> + <div class="code-block"> + <div class="code-title mono">curl</div> + <pre class="mono"><code><span class="cm">$</span> curl https://ai.puro.im/responses \ + -H <span class="str">"Authorization: Bearer sk-xxx"</span> \ + -d <span class="str">'{"model":"gpt-5.4","input":"hello"}'</span></code></pre> + </div> + </div> + <div class="code-foot">支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket</div> + </section> + + <!-- ⑤ Dashboard mockup --> + <section class="block container" id="dashboard"> + <div class="section-header"> + <div class="section-kicker">用量透明</div> + <h2 class="section-title">每条请求都看得见</h2> + <p class="section-sub">不像第三方 API 池子那种"扣了多少不告诉你"——扣哪个账号、跑哪个模型、用了多少 tokens、上游响应几秒,一目了然。</p> + </div> + <div class="dash-mock"> + <div class="dash-header"> + <span class="dash-title">Dashboard · 预览</span> + <div class="dash-dots"><span></span><span></span><span></span></div> + </div> + <div class="dash-body"> + <div class="stat-row"> + <div class="stat"><div class="stat-label">今日请求</div><div class="stat-value">1,842</div><div class="stat-delta">+12.3%</div></div> + <div class="stat"><div class="stat-label">输入 Tokens</div><div class="stat-value">2.1M</div><div class="stat-delta">+8.1%</div></div> + <div class="stat"><div class="stat-label">输出 Tokens</div><div class="stat-value">485K</div><div class="stat-delta">+15.6%</div></div> + <div class="stat"><div class="stat-label">今日费用</div><div class="stat-value">$1.23</div><div class="stat-delta down">-4.2%</div></div> + </div> + <div class="chart-card"> + <div class="chart-title">近 30 天用量趋势</div> + <svg viewBox="0 0 600 120" class="chart-svg"> + <polyline points="0,90 40,80 80,70 120,65 160,60 200,50 240,55 280,45 320,40 360,35 400,30 440,25 480,20 520,25 560,15 600,10" + fill="none" stroke="#22d3ee" stroke-width="2"/> + <polyline points="0,100 40,95 80,90 120,88 160,85 200,82 240,80 280,78 320,75 360,73 400,70 440,68 480,65 520,63 560,60 600,58" + fill="none" stroke="#a855f7" stroke-width="2" stroke-dasharray="4 4"/> + </svg> + </div> + <table class="log-table mono"> + <thead> + <tr><th>时间</th><th>模型</th><th>上游</th><th>状态</th><th>用量</th></tr> + </thead> + <tbody> + <tr><td>12:34:07</td><td>gpt-5.4</td><td><span class="provider gpt"><span class="dot"></span>ChatGPT #1</span></td><td class="status-200">200</td><td>2,341</td></tr> + <tr><td>12:34:02</td><td>claude-opus-4-7</td><td><span class="provider claude"><span class="dot"></span>Claude #2</span></td><td class="status-200">200</td><td>5,102</td></tr> + <tr><td>12:33:58</td><td>gemini-2.5-pro</td><td><span class="provider gemini"><span class="dot"></span>Gemini #1</span></td><td class="status-200">200</td><td>843</td></tr> + <tr><td>12:33:41</td><td>gpt-5.4</td><td><span class="provider gpt"><span class="dot"></span>ChatGPT #2</span></td><td class="status-429">429</td><td>—</td></tr> + </tbody> + </table> + </div> + </div> + </section> +``` + +- [ ] **Step 2: 追加样式到 `<style scoped>`** + +```css +/* code demo */ +.code-demo { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; +} +@media (max-width: 820px) { .code-demo { grid-template-columns: 1fr; } } +.code-block { + border: 1px solid var(--border); + border-radius: var(--r-lg); + background: var(--bg-code); + overflow: hidden; +} +.code-title { + padding: 10px 16px; + background: var(--bg-1); + font-size: 11px; + color: var(--text-3); + border-bottom: 1px solid var(--border); +} +.code-block pre { + padding: 16px; + font-size: 13px; + line-height: 1.6; + color: var(--text-1); + overflow-x: auto; +} +.cm { color: var(--text-3); } +.str { color: var(--cyan); } +.kw { color: var(--amber); } +.code-foot { + margin-top: 20px; + text-align: center; + font-size: 12px; + color: var(--text-3); + font-family: var(--font-mono); +} + +/* dash mockup */ +.dash-mock { + border: 1px solid var(--border); + border-radius: var(--r-xl); + background: var(--bg-1); + overflow: hidden; + box-shadow: 0 40px 80px -40px rgba(0,0,0,0.8); +} +.dash-header { + padding: 12px 16px; + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: space-between; +} +.dash-title { font-size: 12px; color: var(--text-2); font-family: var(--font-mono); } +.dash-dots { display: flex; gap: 6px; } +.dash-dots span { width: 10px; height: 10px; border-radius: 50%; background: var(--border-2); } +.dash-body { padding: 20px; } +.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; } +@media (max-width: 720px) { .stat-row { grid-template-columns: repeat(2, 1fr); } } +.stat { + padding: 14px; + border: 1px solid var(--border); + border-radius: var(--r-md); + background: rgba(15,23,42,0.6); +} +.stat-label { font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; } +.stat-value { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; font-family: var(--font-mono); } +.stat-delta { font-size: 11px; color: var(--green, #34d399); margin-top: 4px; font-family: var(--font-mono); } +.stat-delta.down { color: var(--red, #f87171); } + +.chart-card { + border: 1px solid var(--border); + border-radius: var(--r-md); + background: rgba(15,23,42,0.6); + padding: 16px; + margin-bottom: 20px; +} +.chart-title { font-size: 12px; color: var(--text-2); margin-bottom: 12px; } +.chart-svg { width: 100%; height: 120px; display: block; } + +.log-table { width: 100%; font-size: 12px; border-collapse: collapse; } +.log-table th { + text-align: left; color: var(--text-3); font-weight: 500; + padding: 10px 12px; border-bottom: 1px solid var(--border); + text-transform: uppercase; font-size: 10px; letter-spacing: 0.08em; +} +.log-table td { padding: 10px 12px; border-bottom: 1px solid rgba(30,41,59,0.5); color: var(--text-1); } +.log-table tr:last-child td { border-bottom: none; } +.log-table .status-200 { color: var(--green, #34d399); } +.log-table .status-429 { color: var(--amber); } +.log-table .provider { display: inline-flex; align-items: center; gap: 6px; } +.log-table .provider .dot { width: 6px; height: 6px; border-radius: 50%; } +.provider.claude .dot { background: var(--p-claude); } +.provider.gpt .dot { background: var(--p-gpt); } +.provider.gemini .dot { background: var(--p-gemini); } +``` + +- [ ] **Step 3: 验证** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +http://localhost:5173/landing-preview + +Expected: +- Code Demo 两个代码块并排(移动端堆叠) +- Dashboard mockup:4 格 stats + 折线 SVG + 4 行 log table + +停掉 dev server。 + +- [ ] **Step 4: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/views/landing/LandingView.vue +git commit -m "feat(landing): add Code Demo + Dashboard mockup sections + +Dashboard mockup uses static data (stats, SVG chart, log table) — no +backend dependency. Visually demonstrates the product's usage transparency. + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 5: LandingView — ⑥ Footer + 顶部 Nav 样式 + +**Files:** +- Modify: `frontend/src/views/landing/LandingView.vue` + +- [ ] **Step 1: 在 `⑤ Dashboard` section 后、`</template>` 前加 Footer** + +```vue + <!-- ⑥ Footer --> + <footer class="puro-footer"> + <div class="container footer-grid"> + <div class="footer-brand"> + <div class="brand"><span class="hex">⬢</span><span>PURO AI</span></div> + <p class="footer-tagline">Self-hosted on puro.im</p> + <p class="footer-meta">© 2026 puro.im · MIT License<br>fork of Wei-Shaw/sub2api</p> + </div> + <div class="footer-col"> + <div class="footer-col-title">产品</div> + <a href="/docs">文档</a> + <a href="https://git.puro.im/purovps/sub2api/releases" target="_blank" rel="noopener">更新日志</a> + </div> + <div class="footer-col"> + <div class="footer-col-title">资源</div> + <a href="https://git.puro.im/purovps/sub2api" target="_blank" rel="noopener">GitHub</a> + <a href="/docs#codex">Codex 配置示例</a> + <a href="https://status.puro.im" target="_blank" rel="noopener">API 状态</a> + </div> + <div class="footer-col"> + <div class="footer-col-title">联系</div> + <a href="mailto:admin@puro.im">admin@puro.im</a> + <a href="https://git.puro.im" target="_blank" rel="noopener">git.puro.im</a> + </div> + </div> + </footer> +``` + +- [ ] **Step 2: 追加 Nav 和 Footer 样式到 `<style scoped>`** + +```css +.nav { + position: sticky; + top: 0; + z-index: 10; + background: rgba(10,14,26,0.75); + backdrop-filter: blur(12px); + border-bottom: 1px solid var(--border); +} +.nav-inner { + display: flex; + align-items: center; + gap: 28px; + padding: 16px 24px; + max-width: 1120px; + margin: 0 auto; +} +.brand { + display: flex; + align-items: center; + gap: 8px; + font-weight: 700; + font-size: 16px; +} +.brand .hex { + color: var(--cyan); + font-size: 20px; +} +.nav-links { + display: flex; + gap: 20px; + font-size: 14px; + color: var(--text-2); +} +.nav-links a:hover { color: var(--text-0); } +.nav-cta { + display: flex; + gap: 10px; + margin-left: auto; +} +@media (max-width: 640px) { + .nav-links { display: none; } +} + +/* footer */ +.puro-footer { + margin-top: 80px; + padding: 60px 24px 40px; + border-top: 1px solid var(--border); +} +.footer-grid { + display: grid; + grid-template-columns: 2fr 1fr 1fr 1fr; + gap: 36px; +} +@media (max-width: 720px) { .footer-grid { grid-template-columns: 1fr 1fr; } } +.footer-brand .brand { margin-bottom: 12px; } +.footer-tagline { color: var(--text-2); font-size: 13px; margin-bottom: 8px; } +.footer-meta { color: var(--text-3); font-size: 12px; line-height: 1.7; } +.footer-col-title { + color: var(--text-0); + font-size: 13px; + font-weight: 600; + margin-bottom: 12px; +} +.footer-col a { + display: block; + color: var(--text-2); + font-size: 13px; + padding: 4px 0; +} +.footer-col a:hover { color: var(--cyan); } + +/* pill */ +.pill { + display: inline-block; + padding: 6px 14px; + border: 1px solid var(--border-2); + border-radius: 999px; + font-size: 12px; + color: var(--text-2); + background: rgba(15,23,42,0.6); +} +``` + +- [ ] **Step 3: 验证整页 Landing** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +http://localhost:5173/landing-preview + +Expected 整页滚动可见顺序: +1. Nav(sticky,滚动时背景半透明 blur) +2. Hero +3. 模型墙 +4. 三特性 +5. Code Demo +6. Dashboard mockup +7. Footer 4 列 + +移动端(窗口缩到 <640px):Nav 菜单折叠、footer 变 2 列、stats 变 2 列、code demo 堆叠。 + +停掉 dev server。 + +- [ ] **Step 4: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/views/landing/LandingView.vue +git commit -m "feat(landing): Footer + Nav styles (sticky blur + responsive) + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 6: 路由 `/` auth-aware + +**Files:** +- Modify: `frontend/src/router/index.ts` +- Test: `frontend/src/router/__tests__/guards.spec.ts`(若有现成的 / guard 测试,补上 Landing 分支;没有就新加) + +- [ ] **Step 1: 查看当前 `/` 的 redirect 逻辑** + +Run: +```bash +grep -n "path: '/'" /Users/mini/Work/dev/sub2api/frontend/src/router/index.ts +grep -n "path: '/landing-preview'" /Users/mini/Work/dev/sub2api/frontend/src/router/index.ts +``` +Expected: `path: '/'` 在一行(redirect 到 `/home`),`/landing-preview` 在另一行。 + +- [ ] **Step 2: 把 `/landing-preview` 改名成 `/` 的实际挂载** + +Modify `frontend/src/router/index.ts`: + +1. 删除 `/landing-preview` 那 10 行临时 route +2. 把原来的: +```ts + { + path: '/', + redirect: '/home' + }, +``` +替换为: +```ts + { + path: '/', + name: 'Landing', + component: () => import('@/views/landing/LandingView.vue'), + meta: { + requiresAuth: false, + title: 'PURO AI — 你的 AI 订阅,已经付过钱了', + redirectIfAuth: '/dashboard' // authenticated users bounce to dashboard + } + }, +``` + +- [ ] **Step 3: 在 guard 里加 redirectIfAuth 分支** + +Navigation guard 在 `frontend/src/router/index.ts:524` 的 `router.beforeEach((to, _from, next) => { ... })`。auth store 暴露 `isAuthenticated` computed(定义见 `stores/auth.ts:31`)。 + +在 `authStore.checkAuth()` 那行(line ~532)后、所有其它逻辑之前,插入: + +```ts + // Auth-aware redirects for public pages (e.g. '/' shows Landing to anons, bounces authed users) + const redirectIfAuth = to.meta.redirectIfAuth as string | undefined + if (redirectIfAuth && authStore.isAuthenticated) { + return next(redirectIfAuth) + } +``` + +- [ ] **Step 4: TypeScript meta 字段声明** + +Modify `frontend/src/router/meta.d.ts`(若存在)或 `router/index.ts` 顶部 module augmentation,为 `RouteMeta` 增加 `redirectIfAuth?: string`: + +```ts +import 'vue-router' +declare module 'vue-router' { + interface RouteMeta { + redirectIfAuth?: string + } +} +``` + +(若 `meta.d.ts` 已有 module augmentation,追加字段即可。) + +- [ ] **Step 5: 验证未登录 → Landing、登录后 → Dashboard** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +场景 1(匿名):DevTools → Application → Clear storage → 全清 localStorage/sessionStorage +- http://localhost:5173/ → **LandingView** 呈现 +- 点 Hero "登录 →" → 跳 /login + +场景 2(登录态): +- 在 /login 输 `admin@puro.im` / `fJni5YDmEY242owh` 登录(见 spec §5 "当前状态 snapshot") +- 登录后自动跳到 /dashboard(既有行为) +- 手动再访问 http://localhost:5173/ → 被 guard 跳到 /dashboard(新加的 redirectIfAuth 生效) + +停掉 dev server。 + +- [ ] **Step 6: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/router/index.ts +git commit -m "feat(router): mount Landing at / with auth-aware redirect + +Anonymous visitors see PURO AI landing page. Authenticated users are +redirected to /dashboard via meta.redirectIfAuth guard extension. + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 7: AuthLayout 改造(加 narrative slot) + +**Files:** +- Modify: `frontend/src/components/layout/AuthLayout.vue` + +- [ ] **Step 1: 读现有 AuthLayout 的 slot 结构** + +Run: +```bash +wc -l /Users/mini/Work/dev/sub2api/frontend/src/components/layout/AuthLayout.vue +``` +Expected: ~90-120 行。读它确认 slot 有默认 + `#footer`。 + +- [ ] **Step 2: 改 AuthLayout.vue template 为可选左右分栏** + +把整个 `<template>` 换成: + +```vue +<template> + <div class="auth-shell" :class="{ 'auth-shell-split': hasNarrative }"> + <div class="bg-glow soft"></div> + + <!-- LEFT: Narrative (split mode only, hidden on mobile) --> + <aside v-if="hasNarrative" class="auth-narrative"> + <slot name="narrative"></slot> + </aside> + + <!-- RIGHT: Form --> + <main class="auth-main"> + <div class="auth-main-inner"> + <div class="mb-8 text-center" v-if="!hasNarrative"> + <!-- 兼容旧调用:无 narrative slot 时退回居中品牌头 --> + <template v-if="settingsLoaded"> + <div class="mb-4 inline-flex h-14 w-14 items-center justify-center overflow-hidden rounded-2xl"> + <img :src="siteLogo || '/logo.png'" alt="Logo" class="h-full w-full object-contain" /> + </div> + <h1 class="text-2xl font-bold">{{ siteName }}</h1> + </template> + </div> + + <slot /> + + <div class="mt-6 text-center text-sm"> + <slot name="footer" /> + </div> + </div> + </main> + </div> +</template> +``` + +- [ ] **Step 3: 在 `<script setup>` 里加 `useSlots` 检测 narrative** + +在 `<script setup lang="ts">` 顶部追加: + +```ts +import { useSlots } from 'vue' +const slots = useSlots() +const hasNarrative = computed(() => !!slots.narrative) +``` + +(`computed` 如果还没 import 就加上) + +- [ ] **Step 4: 在 `<style scoped>` 里加 split layout 样式** + +把现有 `<style scoped>`(或在文件末新增)补入: + +```css +.auth-shell { + min-height: 100vh; + background: var(--bg-0); + color: var(--text-0); + font-family: var(--font-sans); + display: flex; + position: relative; + overflow: hidden; +} +.auth-shell-split { display: grid; grid-template-columns: 1fr 1fr; } +@media (max-width: 900px) { + .auth-shell-split { grid-template-columns: 1fr; } + .auth-narrative { display: none; } +} +.auth-narrative { + position: relative; + padding: 48px 56px; + background: linear-gradient(135deg, #0a0e1a 0%, #1e1b4b 100%); + border-right: 1px solid var(--border); + display: flex; + flex-direction: column; + justify-content: space-between; +} +.auth-main { + display: flex; + align-items: center; + justify-content: center; + padding: 40px 24px; + position: relative; + z-index: 2; +} +.auth-main-inner { width: 100%; max-width: 420px; } +``` + +- [ ] **Step 5: 验证无 narrative 场景(旧行为兼容)** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +http://localhost:5173/forgot-password(这个页面用 AuthLayout 但不会传 narrative) + +Expected: 居中品牌卡片,看起来像以前。 + +停掉 dev server。 + +- [ ] **Step 6: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/components/layout/AuthLayout.vue +git commit -m "refactor(auth): AuthLayout supports optional narrative slot (split mode) + +Backward-compatible: without narrative slot, falls back to centered brand +card. With narrative slot, renders 50/50 split on desktop, collapses to +single column on mobile. + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 8: LoginView 套 narrative slot + 文案微调 + +**Files:** +- Modify: `frontend/src/views/auth/LoginView.vue` + +- [ ] **Step 1: 在 `<AuthLayout>` 开标签后插入 `<template #narrative>`** + +找到 `<AuthLayout>`(第 2 行附近)后,紧跟着加: + +```vue + <template #narrative> + <div class="auth-narrative-inner"> + <div class="brand"><span class="hex">⬢</span><span>PURO AI</span></div> + <div class="auth-narrative-hero"> + <div class="auth-narrative-headline"> + <span class="num-5">5</span> 个订阅<br> + → <span class="num-1">1</span> 个 key + </div> + <p class="auth-narrative-sub"> + 省去切换账号的繁琐,<br> + 省去为多个高昂订阅重复买单。<br> + <span class="auth-narrative-tagline">PURO(纯粹)—— 让 AI 调用回归本质。</span> + </p> + </div> + <div class="auth-narrative-foot mono">Claude · ChatGPT · Codex · Gemini</div> + </div> + </template> +``` + +- [ ] **Step 2: 调登录表单的 heading 文案** + +把现有 `<h2>{{ t('auth.welcomeBack') }}</h2>` 对应的那行 heading 改为: + +```vue + <h2 class="text-2xl font-bold text-gray-900 dark:text-white">登录</h2> + <p class="mt-2 text-sm text-gray-500 dark:text-dark-400">用你的 PURO AI 账户继续</p> +``` + +(直接 hardcode 中文,避开改 i18n;Task 11 会统一补进 zh.ts。) + +- [ ] **Step 3: 在 LoginView 的 `<style scoped>` 里(如果没有就加一个)追加 narrative 内部样式** + +```vue +<style scoped> +.auth-narrative-inner { + position: relative; + z-index: 2; + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + color: var(--text-0); +} +.brand { + display: flex; + align-items: center; + gap: 8px; + font-weight: 700; + font-size: 18px; +} +.brand .hex { color: var(--cyan); font-size: 24px; } + +.auth-narrative-hero { } +.auth-narrative-headline { + font-size: clamp(40px, 5vw, 64px); + font-weight: 800; + line-height: 1.05; + letter-spacing: -0.03em; + margin-bottom: 24px; +} +.auth-narrative-headline .num-5 { color: var(--amber); } +.auth-narrative-headline .num-1 { color: var(--cyan); } +.auth-narrative-sub { + font-size: 15px; + line-height: 1.7; + color: var(--text-1); +} +.auth-narrative-tagline { + display: block; + margin-top: 12px; + font-size: 12px; + color: var(--text-3); +} +.auth-narrative-foot { + font-size: 12px; + color: var(--text-3); +} +</style> +``` + +- [ ] **Step 4: 验证** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +http://localhost:5173/login + +Expected(桌面): +- 左侧:PURO AI 品牌 + "5 个订阅 → 1 个 key"(5 橙色,1 青色)+ 三句排比副文 + 底部小字 +- 右侧:原有登录表单(邮箱/密码/CTA/OAuth),heading 改成"登录" +- 移动端(缩到 <900px):narrative 隐藏,表单居中 + +登录流程一定要验: +- 用已有账号登录一次,看是否正常跳 Dashboard(OAuth/Turnstile/2FA 逻辑未动过,应都保留) + +停掉 dev server。 + +- [ ] **Step 5: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/views/auth/LoginView.vue +git commit -m "feat(auth): LoginView with PURO narrative split layout + +- Left: ⬢ PURO AI brand + '5→1' headline + value props +- Right: unchanged form (OAuth / Turnstile / 2FA all preserved) +- Heading copy updated to Chinese (i18n key consolidation in later task) + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 9: RegisterView 套同样的 narrative + +**Files:** +- Modify: `frontend/src/views/auth/RegisterView.vue` + +- [ ] **Step 1: 读 RegisterView 当前 `<AuthLayout>` 块** + +Run: +```bash +grep -n "AuthLayout\|welcomeBack\|createAccount" /Users/mini/Work/dev/sub2api/frontend/src/views/auth/RegisterView.vue | head -10 +``` + +- [ ] **Step 2: 在 `<AuthLayout>` 开标签后插入同款 narrative slot** + +(与 LoginView 完全相同的 `<template #narrative>` 块——**复制粘贴** LoginView 的 narrative template。) + +- [ ] **Step 3: 调注册表单 heading** + +把现有 `<h2>` heading 那行替换为: + +```vue + <h2 class="text-2xl font-bold text-gray-900 dark:text-white">创建账户</h2> + <p class="mt-2 text-sm text-gray-500 dark:text-dark-400">5 分钟开始用 PURO AI</p> +``` + +- [ ] **Step 4: 把 LoginView 的 narrative `<style scoped>` 复制到 RegisterView** + +(整段 `.auth-narrative-inner / .brand / .auth-narrative-*` 的 CSS 复制一份) + +- [ ] **Step 5: 验证** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +http://localhost:5173/register + +Expected: 同 Login 的 split layout,右侧表单是注册表单(邮箱 + 密码 + 确认密码 + Turnstile + CTA),heading "创建账户"。 + +停掉 dev server。 + +- [ ] **Step 6: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/views/auth/RegisterView.vue +git commit -m "feat(auth): RegisterView with PURO narrative split layout + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 10: DocsView + +**Files:** +- Create: `frontend/src/views/docs/DocsView.vue` +- Modify: `frontend/src/router/index.ts` + +- [ ] **Step 1: 建 DocsView.vue** + +Create `frontend/src/views/docs/DocsView.vue`: + +```vue +<template> + <div class="puro-page"> + <div class="bg-glow soft"></div> + + <nav class="nav"> + <div class="container nav-inner"> + <router-link to="/" class="brand"><span class="hex">⬢</span><span>PURO AI</span></router-link> + <div class="nav-links"> + <router-link to="/">首页</router-link> + <a href="#codex">Codex</a> + <a href="#claude-code">Claude Code</a> + <a href="#curl">curl</a> + </div> + <div class="nav-cta"> + <router-link to="/login" class="btn btn-primary">登录 →</router-link> + </div> + </div> + </nav> + + <section class="docs-hero container"> + <h1>快速接入 PURO AI</h1> + <p class="subtitle">三步走:拿 key → 配 base_url → 发请求</p> + </section> + + <div class="container docs-body"> + <section id="get-key" class="docs-section"> + <h2>1. 获取 API key</h2> + <p>当前 PURO AI 不开放自助注册付费。联系管理员获取:</p> + <div class="callout"> + <a href="mailto:admin@puro.im">admin@puro.im</a> + </div> + <p class="note">未来通过 iShare 入口开放订阅购买。</p> + </section> + + <section id="codex" class="docs-section"> + <h2>2. Codex CLI 接入</h2> + <p>修改 <code class="mono">~/.codex/config.toml</code>:</p> + <pre class="mono"><code>model_provider = <span class="str">"OpenAI"</span> +model = <span class="str">"gpt-5.4"</span> +wire_api = <span class="str">"responses"</span> + +[model_providers.OpenAI] +name = <span class="str">"OpenAI"</span> +base_url = <span class="str">"https://ai.puro.im"</span> +wire_api = <span class="str">"responses"</span> +requires_openai_auth = <span class="kw">true</span></code></pre> + <p>然后 <code class="mono">~/.codex/auth.json</code>:</p> + <pre class="mono"><code>{ + <span class="str">"OPENAI_API_KEY"</span>: <span class="str">"sk-xxxxxxxxxxxxxxxx"</span> +}</code></pre> + <p>验证:</p> + <pre class="mono"><code><span class="cm">$</span> codex exec --sandbox read-only <span class="str">"say hi"</span></code></pre> + </section> + + <section id="claude-code" class="docs-section"> + <h2>3. Claude Code 接入</h2> + <p>修改 <code class="mono">~/.claude/settings.json</code>:</p> + <pre class="mono"><code>{ + <span class="str">"base_url"</span>: <span class="str">"https://ai.puro.im"</span>, + <span class="str">"api_key"</span>: <span class="str">"sk-xxxxxxxxxxxxxxxx"</span> +}</code></pre> + <p class="note">Claude Code 通过 <code class="mono">/v1/messages</code> endpoint 调用 Anthropic 兼容 API。</p> + </section> + + <section id="curl" class="docs-section"> + <h2>4. curl 直连测试</h2> + <p>OpenAI Responses API:</p> + <pre class="mono"><code><span class="cm">$</span> curl https://ai.puro.im/responses \ + -H <span class="str">"Authorization: Bearer sk-xxx"</span> \ + -H <span class="str">"Content-Type: application/json"</span> \ + -d <span class="str">'{"model":"gpt-5.4","input":"hello"}'</span></code></pre> + <p>Anthropic Messages API:</p> + <pre class="mono"><code><span class="cm">$</span> curl https://ai.puro.im/v1/messages \ + -H <span class="str">"Authorization: Bearer sk-xxx"</span> \ + -H <span class="str">"Content-Type: application/json"</span> \ + -H <span class="str">"anthropic-version: 2023-06-01"</span> \ + -d <span class="str">'{"model":"claude-opus-4-7","max_tokens":100,"messages":[{"role":"user","content":"hi"}]}'</span></code></pre> + </section> + + <section id="models" class="docs-section"> + <h2>5. 支持的模型</h2> + <ul class="model-list"> + <li><code class="mono">gpt-5.4</code> · OpenAI(via ChatGPT Plus / Codex OAuth)</li> + <li><code class="mono">gpt-5.4-codex</code> · OpenAI Codex 专用</li> + <li><code class="mono">claude-opus-4-7</code> · Anthropic(via Claude Pro / Max OAuth)</li> + <li><code class="mono">claude-sonnet-4-6</code> · Anthropic</li> + <li><code class="mono">gemini-2.5-pro</code> · Google(via Code Assist OAuth)</li> + <li><code class="mono">gemini-2.5-flash</code> · Google</li> + </ul> + <p class="note">后端 pricing 表实时跟进 <code class="mono">model-price-repo</code>,完整清单登录后在 <router-link to="/dashboard">控制台</router-link> 查看。</p> + </section> + + <section id="feedback" class="docs-section"> + <h2>6. 问题反馈</h2> + <p>遇到问题或希望补接某个平台:</p> + <div class="callout"> + <a href="mailto:admin@puro.im">admin@puro.im</a> + </div> + </section> + </div> + </div> +</template> + +<script setup lang="ts"></script> + +<style scoped> +.puro-page { + min-height: 100vh; + background: var(--bg-0); + color: var(--text-0); + font-family: var(--font-sans); + position: relative; +} +.container { max-width: 860px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 2; } +.nav { + position: sticky; + top: 0; + z-index: 10; + background: rgba(10,14,26,0.75); + backdrop-filter: blur(12px); + border-bottom: 1px solid var(--border); +} +.nav-inner { display: flex; align-items: center; gap: 28px; padding: 16px 24px; max-width: 1120px; margin: 0 auto; } +.brand { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 16px; } +.brand .hex { color: var(--cyan); font-size: 20px; } +.nav-links { display: flex; gap: 20px; font-size: 14px; color: var(--text-2); } +.nav-links a:hover { color: var(--text-0); } +.nav-cta { margin-left: auto; } + +.docs-hero { padding: 80px 24px 40px; text-align: center; } +.docs-hero h1 { font-size: clamp(32px, 4vw, 48px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 12px; } +.docs-hero .subtitle { color: var(--text-2); font-size: 16px; } + +.docs-body { padding-bottom: 80px; } +.docs-section { margin: 48px 0; scroll-margin-top: 80px; } +.docs-section h2 { + font-size: 22px; + font-weight: 700; + margin-bottom: 14px; + color: var(--text-0); + border-bottom: 1px solid var(--border); + padding-bottom: 8px; +} +.docs-section p { color: var(--text-1); font-size: 14px; line-height: 1.8; margin: 12px 0; } +.docs-section .note { color: var(--text-3); font-size: 13px; } +.docs-section code.mono { background: var(--bg-1); padding: 2px 6px; border-radius: var(--r-sm); font-size: 13px; color: var(--cyan); } +.docs-section pre.mono { + background: var(--bg-code); + border: 1px solid var(--border); + border-radius: var(--r-md); + padding: 16px; + font-size: 13px; + line-height: 1.6; + color: var(--text-1); + overflow-x: auto; + margin: 12px 0; +} +.docs-section pre .str { color: var(--cyan); } +.docs-section pre .kw { color: var(--amber); } +.docs-section pre .cm { color: var(--text-3); } + +.callout { + padding: 16px 20px; + background: var(--bg-1); + border: 1px solid var(--border-2); + border-left: 3px solid var(--cyan); + border-radius: var(--r-md); + margin: 12px 0; +} +.callout a { color: var(--cyan); font-family: var(--font-mono); font-size: 14px; } + +.model-list { list-style: none; padding: 0; } +.model-list li { padding: 8px 0; color: var(--text-1); font-size: 14px; border-bottom: 1px dashed var(--border); } +.model-list li:last-child { border-bottom: none; } +</style> +``` + +- [ ] **Step 2: 在 router/index.ts 注册 `/docs` public route** + +插入(在 `/home` 附近的 Public Routes 区): + +```ts + { + path: '/docs', + name: 'Docs', + component: () => import('@/views/docs/DocsView.vue'), + meta: { + requiresAuth: false, + title: 'PURO AI · 文档' + } + }, +``` + +- [ ] **Step 3: 验证** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +http://localhost:5173/docs + +Expected: +- 顶部 sticky nav(⬢ PURO AI / 首页 / Codex / Claude Code / curl / 登录) +- Hero:"快速接入 PURO AI" +- 6 个 numbered sections +- 代码块深色高亮 + +点 Nav 里的 "Codex" / "Claude Code" / "curl" 锚点会跳到对应段。 + +停掉 dev server。 + +- [ ] **Step 4: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/views/docs/DocsView.vue frontend/src/router/index.ts +git commit -m "feat(docs): public DocsView with Codex/Claude Code/curl quickstart + +Public route /docs, no auth required. Six sections: get key, codex CLI +config, claude code settings, curl smoke test, supported models, feedback. + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 11: i18n 整理(Login/Register heading) + +**Files:** +- Modify: `frontend/src/i18n/locales/zh.ts` +- Modify: `frontend/src/views/auth/LoginView.vue` +- Modify: `frontend/src/views/auth/RegisterView.vue` + +**Scope**:本期**只把 Login/Register 的 heading 文案**纳入 i18n(Landing 和 Docs 整页内容量大、语言只中文,暂不 i18n 化,后续英文版再说)。 + +- [ ] **Step 1: zh.ts 里查看现有 auth namespace** + +Run: +```bash +grep -n "auth:" /Users/mini/Work/dev/sub2api/frontend/src/i18n/locales/zh.ts | head -3 +``` + +- [ ] **Step 2: 在 `auth` namespace 里加 PURO 专用 keys** + +Modify `zh.ts`,在 `auth: { ... }` 里面追加(注意保留现有键): + +```ts + // PURO AI redesign + puroLoginTitle: '登录', + puroLoginSub: '用你的 PURO AI 账户继续', + puroRegisterTitle: '创建账户', + puroRegisterSub: '5 分钟开始用 PURO AI', +``` + +- [ ] **Step 3: 把 LoginView / RegisterView 里 hardcoded 的两行 heading 换成 t() 调用** + +LoginView: +```vue +<h2 class="text-2xl font-bold text-gray-900 dark:text-white">{{ t('auth.puroLoginTitle') }}</h2> +<p class="mt-2 text-sm text-gray-500 dark:text-dark-400">{{ t('auth.puroLoginSub') }}</p> +``` + +RegisterView 同理用 `auth.puroRegisterTitle` / `auth.puroRegisterSub`。 + +- [ ] **Step 4: 验证 zh.ts 没语法错误** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run type-check 2>&1 | tail -5 +``` +Expected: 无 TypeScript 错误。 + +- [ ] **Step 5: dev server 确认 heading 显示正确** + +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run dev +``` + +http://localhost:5173/login → heading "登录" +http://localhost:5173/register → heading "创建账户" + +停掉 dev server。 + +- [ ] **Step 6: 提交** + +```bash +cd /Users/mini/Work/dev/sub2api +git add frontend/src/i18n/locales/zh.ts frontend/src/views/auth/LoginView.vue frontend/src/views/auth/RegisterView.vue +git commit -m "chore(i18n): consolidate PURO auth heading keys into zh.ts + +Landing and Docs text remain hardcoded Chinese this cycle (see spec §6 +Note 5). Only Login/Register heading strings are moved into i18n. + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 12: Build check + manual smoke test + +**Files:** +- 无代码改动 + +- [ ] **Step 1: TypeScript + Vue 类型检查** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run type-check 2>&1 | tail -20 +``` +Expected: No errors. + +- [ ] **Step 2: Lint check(如果有)** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run lint 2>&1 | tail -20 +``` +Expected: No errors, 或最多 warnings(可接受)。 + +- [ ] **Step 3: 产品构建** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run build 2>&1 | tail -20 +``` +Expected: `✓ built in Xs` · 产物写到 `../backend/internal/web/dist/`。 + +- [ ] **Step 4: 本地预览 prod bundle** + +Run: +```bash +cd /Users/mini/Work/dev/sub2api/frontend && pnpm run preview 2>&1 | head -5 +``` +Expected: preview server 启动(默认 4173)。 + +开浏览器做**验收清单走一遍**(对齐 spec §7): +- [ ] http://localhost:4173/ — Landing 6 section 全在 +- [ ] 窗口缩到 <640px — Nav 菜单隐藏、Footer 2 列、stats 2 列 +- [ ] http://localhost:4173/login — 左右分栏,narrative 左,表单右 +- [ ] 窗口缩到 <900px — narrative 隐藏,表单独占 +- [ ] http://localhost:4173/register — 同 login 布局 +- [ ] http://localhost:4173/docs — 6 sections,锚点跳转工作 +- [ ] http://localhost:4173/dashboard — 后台页面**外观不变**(重要!) +- [ ] http://localhost:4173/accounts(管理员)— 外观不变 + +停掉 preview。 + +- [ ] **Step 5: 记录验收结果在 spec checklist** + +Modify `docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md`,在第 7 节验收清单里,把跑通的项目 `[ ]` 改成 `[x]`。 + +- [ ] **Step 6: 提交验收清单更新** + +```bash +cd /Users/mini/Work/dev/sub2api +git add docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md +git commit -m "docs: check off local acceptance items [CI SKIP] + +Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" +``` + +--- + +## Task 13: 合并到 main + CI 部署 + ai.puro.im 实机验证 + +**Files:** +- 无代码改动 + +- [ ] **Step 1: push 最新到 gitea** + +```bash +cd /Users/mini/Work/dev/sub2api && git push gitea feat/design-landing-auth +``` + +- [ ] **Step 2: 创建 PR** + +```bash +curl -s -u 'purovps:Qweewqzzx1' -X POST https://git.puro.im/api/v1/repos/purovps/sub2api/pulls \ + -H 'Content-Type: application/json' \ + -d '{ + "title": "feat: PURO AI landing + auth + docs redesign", + "body": "Implements docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md\n\nSee plan: docs/superpowers/plans/2026-04-19-puro-ai-landing-auth.md\n\nScope (path B):\n- Landing page at / (anon)\n- AuthLayout split mode\n- LoginView / RegisterView with PURO narrative\n- Public /docs page\n- puro.css design system\n\nNot touched: admin pages, backend, auth logic.", + "head": "feat/design-landing-auth", + "base": "main" + }' | head -c 300 +``` +Expected: JSON with `"number": N` = PR 号。 + +- [ ] **Step 3: 合并 PR(manual via Gitea UI 或 API)** + +Via Gitea UI:https://git.puro.im/purovps/sub2api/pulls/<N>/merge,点 Merge。 + +或 API(把 N 替换成上一步 PR 号): +```bash +curl -s -u 'purovps:Qweewqzzx1' -X POST https://git.puro.im/api/v1/repos/purovps/sub2api/pulls/<N>/merge \ + -H 'Content-Type: application/json' \ + -d '{"Do":"merge"}' +``` + +- [ ] **Step 4: 跟 CI 构建(预计 90-180 秒)** + +Run: +```bash +ssh vps "for i in \$(seq 1 20); do + running=\$(docker ps --filter 'name=^drone-' --format '{{.Names}} | {{.Image}}' | head -1) + if [ -z \"\$running\" ]; then echo '(build done)'; break; fi + echo \"\$running\" + sleep 10 +done +echo '--- container age ---' +docker ps --filter 'name=^sub2api$' --format '{{.Names}} {{.Status}}'" +``` + +Expected: 最后 `sub2api` 容器 status 显示 `Up (N) seconds` 的很新时间戳。 + +- [ ] **Step 5: 线上实机验证(对齐 spec §7 完整 checklist)** + +分别访问(用匿名浏览器 / 无痕窗口): + +``` +https://ai.puro.im/ → PURO AI Landing +https://ai.puro.im/docs → 精简文档 +https://ai.puro.im/login → split layout 登录 +https://ai.puro.im/register → split layout 注册 +``` + +登录后访问: +``` +https://ai.puro.im/ → 被 guard 跳到 /dashboard +https://ai.puro.im/dashboard → 后台外观不变 +``` + +发一个 AI 请求验证中转没坏: +```bash +curl -sS -X POST https://ai.puro.im/responses \ + -H 'Authorization: Bearer sk-d2132de2f0b4c1ab64ef7241a16d254cab483f1f8afd47ad4a89e39cf6e2345a' \ + -H 'Content-Type: application/json' \ + -d '{"model":"gpt-5.4","input":"say: redesign-live","stream":false}' \ + -w '\n-- HTTP %{http_code} / %{time_total}s --\n' | head -c 500 +``` +Expected: HTTP 200 + "redesign-live" 响应。 + +- [ ] **Step 6: 打 tag 标记里程碑** + +```bash +cd /Users/mini/Work/dev/sub2api +git checkout main && git pull gitea main +git tag -a v0.2.0-puro-redesign -m "feat: PURO AI landing + auth + docs redesign" +git push gitea v0.2.0-puro-redesign +``` + +--- + +## 收尾 checklist + +本计划执行完,spec §7 的 11 个验收项应全部打勾: + +- [ ] puro.css 全局引入 +- [ ] / (匿名) → Landing +- [ ] / (登录) → Dashboard +- [ ] Landing 6 section 齐 +- [ ] Dashboard mockup 纯静态 +- [ ] /login split 布局 +- [ ] /register split 布局 +- [ ] /docs 公开可访问含配置示例 +- [ ] OAuth/Turnstile/2FA 正常 +- [ ] 后台外观不变 +- [ ] CI 通过,ai.puro.im 加载正常 -- 2.49.1 From 1d7e75b82e816da632749074ae8751efadad5900 Mon Sep 17 00:00:00 2001 From: mini <afanamigo@gmail.com> Date: Sun, 19 Apr 2026 19:11:24 +0800 Subject: [PATCH 05/20] feat(design): scaffold PURO AI design system - Add puro.css (tokens + primitives) as global stylesheet - Load Inter + JetBrains Mono via Google Fonts - Extend tailwind.config with puro.* color namespace (no conflict with legacy primary/accent palettes) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --- frontend/index.html | 3 + frontend/src/assets/puro.css | 726 +++++++++++++++++++++++++++++++++++ frontend/src/main.ts | 1 + frontend/tailwind.config.js | 14 + 4 files changed, 744 insertions(+) create mode 100644 frontend/src/assets/puro.css diff --git a/frontend/index.html b/frontend/index.html index 3180a5fb..c198afdc 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,6 +4,9 @@ <meta charset="UTF-8" /> <link rel="icon" type="image/png" href="/logo.png" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"> <title>Sub2API - AI API Gateway diff --git a/frontend/src/assets/puro.css b/frontend/src/assets/puro.css new file mode 100644 index 00000000..96c11980 --- /dev/null +++ b/frontend/src/assets/puro.css @@ -0,0 +1,726 @@ +/* ========================================================================== + PURO AI — Design System + Shared tokens + primitive styles used across every page. + -------------------------------------------------------------------------- + Usage: + ========================================================================== */ + +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +:root { + /* Surfaces */ + --bg-0: #0a0e1a; /* page */ + --bg-1: #0f172a; /* raised */ + --bg-2: #111827; /* card alt */ + --bg-code: #020617; /* code canvas */ + + /* Borders */ + --border: #1e293b; + --border-2: #334155; + --border-3: #475569; + + /* Text */ + --text-0: #f8fafc; /* primary */ + --text-1: #cbd5e1; /* body */ + --text-2: #94a3b8; /* muted */ + --text-3: #64748b; /* hint */ + + /* Accents */ + --cyan: #22d3ee; + --cyan-2: #67e8f9; + --cyan-dim: #0891b2; + --purple: #a855f7; + --amber: #fbbf24; + --green: #34d399; + --red: #f87171; + --orange: #fb923c; + + /* Provider brand dots */ + --p-claude: #d97757; + --p-gpt: #10a37f; + --p-gemini: #4285f4; + --p-codex: #f0a030; + + /* Radius */ + --r-sm: 6px; + --r-md: 8px; + --r-lg: 12px; + --r-xl: 16px; + + /* Shadow */ + --shadow-lg: 0 30px 60px -30px rgba(0,0,0,0.6); + --shadow-xl: 0 40px 80px -40px rgba(0,0,0,0.8); + + /* Typography */ + --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; + --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace; +} + +html, body { + background: var(--bg-0); + color: var(--text-0); + font-family: var(--font-sans); + font-feature-settings: "cv11", "ss01", "ss03"; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + line-height: 1.5; +} + +body { overflow-x: hidden; } + +a { color: inherit; text-decoration: none; } +button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; } + +/* scrollbar — subtle */ +::-webkit-scrollbar { width: 10px; height: 10px; } +::-webkit-scrollbar-track { background: transparent; } +::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 6px; } +::-webkit-scrollbar-thumb:hover { background: var(--border-3); } + +.mono { font-family: var(--font-mono); } + +/* ========================================================================== + BACKGROUND EFFECTS + ========================================================================== */ +.bg-glow { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 0; + overflow: hidden; +} +.bg-glow::before, +.bg-glow::after { + content: ""; + position: absolute; + width: 900px; + height: 900px; + border-radius: 50%; + filter: blur(120px); + opacity: 0.35; +} +.bg-glow::before { + background: radial-gradient(circle, #22d3ee 0%, transparent 60%); + top: -300px; + left: -200px; +} +.bg-glow::after { + background: radial-gradient(circle, #a855f7 0%, transparent 60%); + top: 200px; + right: -300px; + opacity: 0.25; +} +.bg-glow.soft::before, .bg-glow.soft::after { opacity: 0.15; } + +.grain { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 1; + opacity: 0.4; + mix-blend-mode: overlay; + background-image: url("data:image/svg+xml;utf8,"); +} + +.container { + max-width: 1100px; + margin: 0 auto; + padding: 0 32px; + position: relative; + z-index: 2; +} +.container-wide { max-width: 1280px; } +.container-narrow { max-width: 860px; } + +/* ========================================================================== + NAV + ========================================================================== */ +.nav { + position: sticky; + top: 0; + z-index: 50; + backdrop-filter: blur(16px); + background: rgba(10, 14, 26, 0.72); + border-bottom: 1px solid var(--border); +} +.nav-inner { + display: flex; + align-items: center; + height: 64px; + gap: 48px; +} +.brand { + display: flex; + align-items: center; + gap: 10px; + font-weight: 700; + font-size: 15px; + letter-spacing: 0.02em; +} +.hex { + width: 22px; + height: 22px; + color: var(--cyan); +} +.nav-links { + display: flex; + gap: 28px; + font-size: 14px; + color: var(--text-2); +} +.nav-links a { transition: color .15s; } +.nav-links a:hover, .nav-links a.active { color: var(--text-0); } +.nav-links .disabled { color: var(--text-3); cursor: not-allowed; display: inline-flex; align-items: center; gap: 6px; } +.nav-links .disabled::after { + content: "即将推出"; + font-size: 10px; + padding: 2px 6px; + border: 1px solid var(--border-2); + border-radius: 4px; + color: var(--text-3); +} +.nav-cta { + margin-left: auto; + display: flex; + gap: 10px; + align-items: center; +} + +/* ========================================================================== + BUTTONS + ========================================================================== */ +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 8px 14px; + font-size: 13px; + font-weight: 500; + border-radius: var(--r-md); + transition: all .15s; + white-space: nowrap; + border: 1px solid transparent; +} +.btn-primary { + background: var(--cyan); + color: #042f2e; + font-weight: 600; +} +.btn-primary:hover { background: var(--cyan-2); } +.btn-primary:active { transform: translateY(1px); } +.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; } + +.btn-ghost { + border-color: var(--border-2); + color: var(--text-1); +} +.btn-ghost:hover { border-color: var(--border-3); color: var(--text-0); background: rgba(255,255,255,0.02); } + +.btn-subtle { + background: rgba(255,255,255,0.04); + color: var(--text-1); + border-color: transparent; +} +.btn-subtle:hover { background: rgba(255,255,255,0.08); color: var(--text-0); } + +.btn-danger { + background: rgba(248, 113, 113, 0.1); + color: var(--red); + border-color: rgba(248, 113, 113, 0.25); +} +.btn-danger:hover { background: rgba(248, 113, 113, 0.15); border-color: rgba(248, 113, 113, 0.4); } + +.btn-lg { padding: 12px 20px; font-size: 14px; } +.btn-sm { padding: 5px 10px; font-size: 12px; } +.btn-icon { padding: 7px; aspect-ratio: 1; } + +.btn .spinner { + width: 14px; height: 14px; + border: 2px solid rgba(0,0,0,0.2); + border-top-color: currentColor; + border-radius: 50%; + animation: spin .7s linear infinite; + display: none; +} +.btn.loading .spinner { display: inline-block; } +.btn.loading .label { opacity: 0.5; } +@keyframes spin { to { transform: rotate(360deg); } } + +/* ========================================================================== + BADGES / PILLS / CHIPS + ========================================================================== */ +.badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 8px; + border-radius: 100px; + font-size: 11px; + font-weight: 600; + letter-spacing: 0.02em; + background: rgba(34, 211, 238, 0.1); + color: var(--cyan); +} +.badge.amber { background: rgba(251, 191, 36, 0.12); color: var(--amber); } +.badge.purple { background: rgba(168, 85, 247, 0.12); color: var(--purple); } +.badge.green { background: rgba(52, 211, 153, 0.12); color: var(--green); } +.badge.red { background: rgba(248, 113, 113, 0.12); color: var(--red); } +.badge.muted { background: rgba(255, 255, 255, 0.04); color: var(--text-2); border: 1px solid var(--border); } + +.pill { + display: inline-block; + padding: 2px 8px; + border-radius: var(--r-sm); + background: rgba(255,255,255,0.04); + border: 1px solid var(--border); + font-family: var(--font-mono); + font-size: 12px; + color: var(--text-0); +} + +.chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 4px 10px; + border-radius: 100px; + background: rgba(15, 23, 42, 0.6); + border: 1px solid var(--border); + font-size: 12px; + color: var(--text-1); + font-family: var(--font-mono); +} +.chip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); } +.chip.claude .dot { background: var(--p-claude); } +.chip.gpt .dot { background: var(--p-gpt); } +.chip.gemini .dot { background: var(--p-gemini); } +.chip.codex .dot { background: var(--p-codex); } + +.dot-sep { width: 4px; height: 4px; border-radius: 50%; background: var(--text-3); display: inline-block; } + +/* status chip (tiny dot absolute-positioned) */ +.status-chip { + width: 6px; + height: 6px; + border-radius: 50%; + background: var(--green); + box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15); + display: inline-block; +} +.status-chip.dim { background: var(--text-3); box-shadow: none; } +.status-chip.amber { background: var(--amber); box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.15); } +.status-chip.red { background: var(--red); box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.15); } + +/* ========================================================================== + CARDS / SURFACES + ========================================================================== */ +.card { + background: rgba(15, 23, 42, 0.6); + border: 1px solid var(--border); + border-radius: var(--r-lg); + padding: 24px; +} +.card-raised { + background: var(--bg-1); + border: 1px solid var(--border); + border-radius: var(--r-lg); +} +.card-interactive { + transition: all .2s; + cursor: pointer; +} +.card-interactive:hover { + border-color: var(--border-2); + background: rgba(15, 23, 42, 0.85); + transform: translateY(-2px); +} + +.divider { height: 1px; background: var(--border); margin: 24px 0; border: 0; } +.divider-dashed { border: 0; border-top: 1px dashed var(--border); margin: 20px 0; } + +/* ========================================================================== + FORMS + ========================================================================== */ +.field { margin-bottom: 18px; } +.field-label { + display: block; + font-size: 12px; + font-weight: 500; + color: var(--text-1); + margin-bottom: 8px; +} +.field-hint { + font-size: 12px; + color: var(--text-3); + margin-top: 6px; +} +.field-error { + font-size: 12px; + color: var(--red); + margin-top: 6px; +} + +.input-wrap { position: relative; } +.input-wrap .icon { + position: absolute; + left: 14px; + top: 50%; + transform: translateY(-50%); + color: var(--text-3); + pointer-events: none; + display: inline-flex; +} +.input { + width: 100%; + height: 42px; + padding: 0 14px; + background: rgba(15, 23, 42, 0.6); + border: 1px solid var(--border-2); + border-radius: var(--r-md); + color: var(--text-0); + font-size: 14px; + font-family: inherit; + outline: none; + transition: all .15s; +} +.input.with-icon { padding-left: 40px; } +.input::placeholder { color: var(--text-3); } +.input:hover { border-color: var(--border-3); } +.input:focus { + border-color: var(--cyan); + box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.12); + background: rgba(15, 23, 42, 0.9); +} +.input.ok { border-color: rgba(52, 211, 153, 0.4); } +.input.ok:focus { box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.12); } +.input.error { border-color: var(--red); } +.input.error:focus { box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.12); } + +textarea.input { height: auto; padding: 12px 14px; resize: vertical; line-height: 1.5; } + +select.input { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: right 14px center; + padding-right: 36px; +} + +/* checkbox */ +.check { + display: inline-flex; + align-items: center; + gap: 10px; + cursor: pointer; + user-select: none; + font-size: 13px; + color: var(--text-1); +} +.check input { display: none; } +.check .box { + width: 16px; height: 16px; + border: 1px solid var(--border-2); + border-radius: 4px; + background: var(--bg-1); + display: inline-flex; + align-items: center; + justify-content: center; + transition: all .15s; + flex-shrink: 0; +} +.check input:checked + .box { + background: var(--cyan); + border-color: var(--cyan); +} +.check input:checked + .box::after { + content: "✓"; + color: #042f2e; + font-size: 11px; + font-weight: 700; +} + +/* ========================================================================== + SECTION HEADINGS + ========================================================================== */ +.section-kicker { + font-family: var(--font-mono); + font-size: 12px; + color: var(--cyan); + letter-spacing: 0.15em; + text-transform: uppercase; + margin-bottom: 12px; +} +.section-title { + font-size: clamp(28px, 3.5vw, 40px); + font-weight: 700; + letter-spacing: -0.02em; + line-height: 1.15; + margin-bottom: 16px; +} +.section-sub { + color: var(--text-2); + font-size: 16px; + line-height: 1.6; +} + +/* ========================================================================== + TABLES + ========================================================================== */ +.tbl { + width: 100%; + font-size: 13px; + border-collapse: collapse; +} +.tbl th { + text-align: left; + color: var(--text-3); + font-weight: 500; + padding: 12px 14px; + border-bottom: 1px solid var(--border); + text-transform: uppercase; + font-size: 10px; + letter-spacing: 0.1em; +} +.tbl td { + padding: 14px; + border-bottom: 1px solid rgba(30, 41, 59, 0.5); + color: var(--text-1); +} +.tbl tr:last-child td { border-bottom: none; } +.tbl tr:hover td { background: rgba(15, 23, 42, 0.4); } +.tbl td.mono, .tbl th.mono { font-family: var(--font-mono); } + +/* ========================================================================== + CODE BLOCKS + ========================================================================== */ +.code-frame { + background: var(--bg-code); + border: 1px solid var(--border); + border-radius: var(--r-lg); + overflow: hidden; + box-shadow: var(--shadow-lg); +} +.code-head { + display: flex; + align-items: center; + height: 40px; + padding: 0 16px; + border-bottom: 1px solid var(--border); + background: rgba(15, 23, 42, 0.8); + gap: 10px; +} +.traffic { + display: flex; + gap: 6px; +} +.traffic span { + width: 10px; + height: 10px; + border-radius: 50%; + background: #475569; +} +.code-body { + padding: 22px 26px; + font-family: var(--font-mono); + font-size: 13px; + line-height: 1.75; + color: var(--text-1); + overflow-x: auto; +} +.code-body .line { display: flex; gap: 20px; } +.ln { color: var(--text-3); user-select: none; min-width: 16px; text-align: right; opacity: 0.5; } + +/* syntax */ +.kw { color: #c084fc; } +.str { color: #86efac; } +.num { color: #fbbf24; } +.com { color: #64748b; font-style: italic; } +.fn { color: #22d3ee; } +.prop{ color: #f0abfc; } +.var-v { color: #f8fafc; } +.flag{ color: #fb923c; } +.bash-prompt { color: var(--cyan); user-select: none; } + +/* ========================================================================== + PROVIDER-BRAND HELPERS + ========================================================================== */ +.provider { + display: inline-flex; + align-items: center; + gap: 6px; + font-family: var(--font-mono); + font-size: 12px; +} +.provider .dot { width: 6px; height: 6px; border-radius: 50%; } +.provider.claude .dot { background: var(--p-claude); } +.provider.gpt .dot { background: var(--p-gpt); } +.provider.gemini .dot { background: var(--p-gemini); } +.provider.codex .dot { background: var(--p-codex); } + +/* ========================================================================== + UTILITIES + ========================================================================== */ +.stack-xs { display: flex; flex-direction: column; gap: 8px; } +.stack-sm { display: flex; flex-direction: column; gap: 12px; } +.stack-md { display: flex; flex-direction: column; gap: 20px; } +.stack-lg { display: flex; flex-direction: column; gap: 32px; } + +.row { display: flex; align-items: center; gap: 12px; } +.row-sm { gap: 8px; } +.row-lg { gap: 20px; } +.row-between { justify-content: space-between; } +.row-center { justify-content: center; } +.row-wrap { flex-wrap: wrap; } + +.flex-1 { flex: 1; } +.ml-auto { margin-left: auto; } +.mt-auto { margin-top: auto; } + +.text-0 { color: var(--text-0); } +.text-1 { color: var(--text-1); } +.text-2 { color: var(--text-2); } +.text-3 { color: var(--text-3); } +.text-cyan { color: var(--cyan); } +.text-purple { color: var(--purple); } +.text-amber { color: var(--amber); } +.text-green { color: var(--green); } +.text-red { color: var(--red); } + +.text-xs { font-size: 11px; } +.text-sm { font-size: 13px; } +.text-md { font-size: 14px; } +.text-lg { font-size: 16px; } +.text-xl { font-size: 20px; } +.text-2xl { font-size: 28px; } +.text-3xl { font-size: 36px; } + +.fw-400 { font-weight: 400; } +.fw-500 { font-weight: 500; } +.fw-600 { font-weight: 600; } +.fw-700 { font-weight: 700; } +.fw-800 { font-weight: 800; } + +.tabular { font-variant-numeric: tabular-nums; } +.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } + +/* ========================================================================== + APP SHELL (for dashboard-style pages) + ========================================================================== */ +.app-shell { + display: grid; + grid-template-columns: 240px 1fr; + min-height: 100vh; + position: relative; + z-index: 2; +} +.app-side { + border-right: 1px solid var(--border); + background: rgba(2, 6, 23, 0.6); + padding: 20px 14px; + display: flex; + flex-direction: column; + gap: 28px; + position: sticky; + top: 0; + height: 100vh; + overflow-y: auto; +} +.app-side .brand { padding: 6px 10px 14px; } +.side-group { display: flex; flex-direction: column; gap: 2px; } +.side-label { + font-size: 10px; + color: var(--text-3); + text-transform: uppercase; + letter-spacing: 0.12em; + padding: 0 10px 8px; + font-family: var(--font-mono); +} +.side-item { + display: flex; + align-items: center; + gap: 10px; + padding: 8px 10px; + border-radius: var(--r-sm); + font-size: 13px; + color: var(--text-2); + cursor: pointer; + transition: all .12s; +} +.side-item:hover { color: var(--text-0); background: rgba(255,255,255,0.03); } +.side-item.active { background: rgba(34, 211, 238, 0.08); color: var(--cyan); } +.side-item .ico { + width: 16px; height: 16px; opacity: 0.8; + display: inline-flex; align-items: center; justify-content: center; + flex-shrink: 0; +} +.side-item .count { + margin-left: auto; + font-size: 11px; + color: var(--text-3); + font-family: var(--font-mono); +} +.side-item.active .count { color: var(--cyan); } + +.app-main { + min-width: 0; /* allow grid children to shrink */ + display: flex; + flex-direction: column; +} +.app-topbar { + height: 60px; + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + padding: 0 32px; + gap: 16px; + position: sticky; + top: 0; + z-index: 10; + background: rgba(10, 14, 26, 0.75); + backdrop-filter: blur(12px); +} +.app-topbar h1 { + font-size: 18px; + font-weight: 600; + letter-spacing: -0.01em; +} +.app-content { + padding: 32px; + flex: 1; +} + +/* user avatar pill */ +.avatar { + width: 28px; height: 28px; + border-radius: 50%; + background: linear-gradient(135deg, #22d3ee, #a855f7); + display: inline-flex; + align-items: center; + justify-content: center; + color: #042f2e; + font-weight: 700; + font-size: 12px; + flex-shrink: 0; +} + +/* ========================================================================== + KBD + ========================================================================== */ +kbd { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 20px; + height: 20px; + padding: 0 6px; + font-family: var(--font-mono); + font-size: 11px; + font-weight: 500; + color: var(--text-1); + background: var(--bg-1); + border: 1px solid var(--border-2); + border-bottom-width: 2px; + border-radius: 4px; + line-height: 1; +} diff --git a/frontend/src/main.ts b/frontend/src/main.ts index 68ace885..aa94e14b 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -5,6 +5,7 @@ import router from './router' import i18n, { initI18n } from './i18n' import { useAppStore } from '@/stores/app' import './style.css' +import './assets/puro.css' function initThemeClass() { const savedTheme = localStorage.getItem('theme') diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js index 70e3a7ed..ea4c2bc5 100644 --- a/frontend/tailwind.config.js +++ b/frontend/tailwind.config.js @@ -46,6 +46,20 @@ export default { 800: '#1e293b', 900: '#0f172a', 950: '#020617' + }, + // PURO AI 设计系统色板(给新页面 Landing/Auth/Docs 用,不影响 admin) + puro: { + cyan: '#22d3ee', + 'cyan-2': '#67e8f9', + purple: '#a855f7', + amber: '#fbbf24', + green: '#34d399', + red: '#f87171', + // 平台品牌点色 + claude: '#d97757', + gpt: '#10a37f', + gemini: '#4285f4', + codex: '#f0a030' } }, fontFamily: { -- 2.49.1 From 41664efedee442fca846302e3ebb1e4babf3d136 Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 20:03:22 +0800 Subject: [PATCH 06/20] fix(design): scope puro.css to .puro-page container Code review flagged two critical issues with the initial scaffold: - html/body bg + universal reset applied globally, overriding admin Tailwind styles - Shared class names (.btn, .card, .input, .badge, .divider) collided with style.css, breaking 25+ admin views Fix: all non-:root rules now scoped under .puro-page descendant selector. @keyframes and global box-sizing preserved. html/body props merged into .puro-page root. Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/assets/puro.css | 357 ++++++++++++++++++----------------- 1 file changed, 180 insertions(+), 177 deletions(-) diff --git a/frontend/src/assets/puro.css b/frontend/src/assets/puro.css index 96c11980..d343ca0d 100644 --- a/frontend/src/assets/puro.css +++ b/frontend/src/assets/puro.css @@ -5,7 +5,9 @@ Usage: ========================================================================== */ -*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } +*, *::before, *::after { box-sizing: border-box; } +.puro-page, .puro-page *, .puro-page *::before, .puro-page *::after { margin: 0; padding: 0; } + :root { /* Surfaces */ @@ -55,8 +57,8 @@ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace; } - -html, body { +/* Merged from original html/body rules — applied to .puro-page container root */ +.puro-page { background: var(--bg-0); color: var(--text-0); font-family: var(--font-sans); @@ -64,25 +66,26 @@ html, body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; line-height: 1.5; + overflow-x: hidden; } -body { overflow-x: hidden; } -a { color: inherit; text-decoration: none; } -button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; } + +.puro-page a { color: inherit; text-decoration: none; } +.puro-page button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; } /* scrollbar — subtle */ -::-webkit-scrollbar { width: 10px; height: 10px; } -::-webkit-scrollbar-track { background: transparent; } -::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 6px; } -::-webkit-scrollbar-thumb:hover { background: var(--border-3); } +.puro-page::-webkit-scrollbar { width: 10px; height: 10px; } +.puro-page::-webkit-scrollbar-track { background: transparent; } +.puro-page::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 6px; } +.puro-page::-webkit-scrollbar-thumb:hover { background: var(--border-3); } -.mono { font-family: var(--font-mono); } +.puro-page .mono { font-family: var(--font-mono); } /* ========================================================================== BACKGROUND EFFECTS ========================================================================== */ -.bg-glow { +.puro-page .bg-glow { position: fixed; inset: 0; pointer-events: none; @@ -90,7 +93,7 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; overflow: hidden; } .bg-glow::before, -.bg-glow::after { +.puro-page .bg-glow::after { content: ""; position: absolute; width: 900px; @@ -99,20 +102,20 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; filter: blur(120px); opacity: 0.35; } -.bg-glow::before { +.puro-page .bg-glow::before { background: radial-gradient(circle, #22d3ee 0%, transparent 60%); top: -300px; left: -200px; } -.bg-glow::after { +.puro-page .bg-glow::after { background: radial-gradient(circle, #a855f7 0%, transparent 60%); top: 200px; right: -300px; opacity: 0.25; } -.bg-glow.soft::before, .bg-glow.soft::after { opacity: 0.15; } +.puro-page .bg-glow.soft::before, .puro-page .bg-glow.soft::after { opacity: 0.15; } -.grain { +.puro-page .grain { position: fixed; inset: 0; pointer-events: none; @@ -122,20 +125,20 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; background-image: url("data:image/svg+xml;utf8,"); } -.container { +.puro-page .container { max-width: 1100px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 2; } -.container-wide { max-width: 1280px; } -.container-narrow { max-width: 860px; } +.puro-page .container-wide { max-width: 1280px; } +.puro-page .container-narrow { max-width: 860px; } /* ========================================================================== NAV ========================================================================== */ -.nav { +.puro-page .nav { position: sticky; top: 0; z-index: 50; @@ -143,13 +146,13 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; background: rgba(10, 14, 26, 0.72); border-bottom: 1px solid var(--border); } -.nav-inner { +.puro-page .nav-inner { display: flex; align-items: center; height: 64px; gap: 48px; } -.brand { +.puro-page .brand { display: flex; align-items: center; gap: 10px; @@ -157,21 +160,21 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; font-size: 15px; letter-spacing: 0.02em; } -.hex { +.puro-page .hex { width: 22px; height: 22px; color: var(--cyan); } -.nav-links { +.puro-page .nav-links { display: flex; gap: 28px; font-size: 14px; color: var(--text-2); } -.nav-links a { transition: color .15s; } -.nav-links a:hover, .nav-links a.active { color: var(--text-0); } -.nav-links .disabled { color: var(--text-3); cursor: not-allowed; display: inline-flex; align-items: center; gap: 6px; } -.nav-links .disabled::after { +.puro-page .nav-links a { transition: color .15s; } +.puro-page .nav-links a:hover, .puro-page .nav-links a.active { color: var(--text-0); } +.puro-page .nav-links .disabled { color: var(--text-3); cursor: not-allowed; display: inline-flex; align-items: center; gap: 6px; } +.puro-page .nav-links .disabled::after { content: "即将推出"; font-size: 10px; padding: 2px 6px; @@ -179,7 +182,7 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; border-radius: 4px; color: var(--text-3); } -.nav-cta { +.puro-page .nav-cta { margin-left: auto; display: flex; gap: 10px; @@ -189,7 +192,7 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; /* ========================================================================== BUTTONS ========================================================================== */ -.btn { +.puro-page .btn { display: inline-flex; align-items: center; justify-content: center; @@ -202,40 +205,40 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; white-space: nowrap; border: 1px solid transparent; } -.btn-primary { +.puro-page .btn-primary { background: var(--cyan); color: #042f2e; font-weight: 600; } -.btn-primary:hover { background: var(--cyan-2); } -.btn-primary:active { transform: translateY(1px); } -.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; } +.puro-page .btn-primary:hover { background: var(--cyan-2); } +.puro-page .btn-primary:active { transform: translateY(1px); } +.puro-page .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; } -.btn-ghost { +.puro-page .btn-ghost { border-color: var(--border-2); color: var(--text-1); } -.btn-ghost:hover { border-color: var(--border-3); color: var(--text-0); background: rgba(255,255,255,0.02); } +.puro-page .btn-ghost:hover { border-color: var(--border-3); color: var(--text-0); background: rgba(255,255,255,0.02); } -.btn-subtle { +.puro-page .btn-subtle { background: rgba(255,255,255,0.04); color: var(--text-1); border-color: transparent; } -.btn-subtle:hover { background: rgba(255,255,255,0.08); color: var(--text-0); } +.puro-page .btn-subtle:hover { background: rgba(255,255,255,0.08); color: var(--text-0); } -.btn-danger { +.puro-page .btn-danger { background: rgba(248, 113, 113, 0.1); color: var(--red); border-color: rgba(248, 113, 113, 0.25); } -.btn-danger:hover { background: rgba(248, 113, 113, 0.15); border-color: rgba(248, 113, 113, 0.4); } +.puro-page .btn-danger:hover { background: rgba(248, 113, 113, 0.15); border-color: rgba(248, 113, 113, 0.4); } -.btn-lg { padding: 12px 20px; font-size: 14px; } -.btn-sm { padding: 5px 10px; font-size: 12px; } -.btn-icon { padding: 7px; aspect-ratio: 1; } +.puro-page .btn-lg { padding: 12px 20px; font-size: 14px; } +.puro-page .btn-sm { padding: 5px 10px; font-size: 12px; } +.puro-page .btn-icon { padding: 7px; aspect-ratio: 1; } -.btn .spinner { +.puro-page .btn .spinner { width: 14px; height: 14px; border: 2px solid rgba(0,0,0,0.2); border-top-color: currentColor; @@ -243,14 +246,14 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; animation: spin .7s linear infinite; display: none; } -.btn.loading .spinner { display: inline-block; } -.btn.loading .label { opacity: 0.5; } +.puro-page .btn.loading .spinner { display: inline-block; } +.puro-page .btn.loading .label { opacity: 0.5; } @keyframes spin { to { transform: rotate(360deg); } } /* ========================================================================== BADGES / PILLS / CHIPS ========================================================================== */ -.badge { +.puro-page .badge { display: inline-flex; align-items: center; gap: 4px; @@ -262,13 +265,13 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; background: rgba(34, 211, 238, 0.1); color: var(--cyan); } -.badge.amber { background: rgba(251, 191, 36, 0.12); color: var(--amber); } -.badge.purple { background: rgba(168, 85, 247, 0.12); color: var(--purple); } -.badge.green { background: rgba(52, 211, 153, 0.12); color: var(--green); } -.badge.red { background: rgba(248, 113, 113, 0.12); color: var(--red); } -.badge.muted { background: rgba(255, 255, 255, 0.04); color: var(--text-2); border: 1px solid var(--border); } +.puro-page .badge.amber { background: rgba(251, 191, 36, 0.12); color: var(--amber); } +.puro-page .badge.purple { background: rgba(168, 85, 247, 0.12); color: var(--purple); } +.puro-page .badge.green { background: rgba(52, 211, 153, 0.12); color: var(--green); } +.puro-page .badge.red { background: rgba(248, 113, 113, 0.12); color: var(--red); } +.puro-page .badge.muted { background: rgba(255, 255, 255, 0.04); color: var(--text-2); border: 1px solid var(--border); } -.pill { +.puro-page .pill { display: inline-block; padding: 2px 8px; border-radius: var(--r-sm); @@ -279,7 +282,7 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; color: var(--text-0); } -.chip { +.puro-page .chip { display: inline-flex; align-items: center; gap: 6px; @@ -291,16 +294,16 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; color: var(--text-1); font-family: var(--font-mono); } -.chip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); } -.chip.claude .dot { background: var(--p-claude); } -.chip.gpt .dot { background: var(--p-gpt); } -.chip.gemini .dot { background: var(--p-gemini); } -.chip.codex .dot { background: var(--p-codex); } +.puro-page .chip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); } +.puro-page .chip.claude .dot { background: var(--p-claude); } +.puro-page .chip.gpt .dot { background: var(--p-gpt); } +.puro-page .chip.gemini .dot { background: var(--p-gemini); } +.puro-page .chip.codex .dot { background: var(--p-codex); } -.dot-sep { width: 4px; height: 4px; border-radius: 50%; background: var(--text-3); display: inline-block; } +.puro-page .dot-sep { width: 4px; height: 4px; border-radius: 50%; background: var(--text-3); display: inline-block; } /* status chip (tiny dot absolute-positioned) */ -.status-chip { +.puro-page .status-chip { width: 6px; height: 6px; border-radius: 50%; @@ -308,61 +311,61 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15); display: inline-block; } -.status-chip.dim { background: var(--text-3); box-shadow: none; } -.status-chip.amber { background: var(--amber); box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.15); } -.status-chip.red { background: var(--red); box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.15); } +.puro-page .status-chip.dim { background: var(--text-3); box-shadow: none; } +.puro-page .status-chip.amber { background: var(--amber); box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.15); } +.puro-page .status-chip.red { background: var(--red); box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.15); } /* ========================================================================== CARDS / SURFACES ========================================================================== */ -.card { +.puro-page .card { background: rgba(15, 23, 42, 0.6); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 24px; } -.card-raised { +.puro-page .card-raised { background: var(--bg-1); border: 1px solid var(--border); border-radius: var(--r-lg); } -.card-interactive { +.puro-page .card-interactive { transition: all .2s; cursor: pointer; } -.card-interactive:hover { +.puro-page .card-interactive:hover { border-color: var(--border-2); background: rgba(15, 23, 42, 0.85); transform: translateY(-2px); } -.divider { height: 1px; background: var(--border); margin: 24px 0; border: 0; } -.divider-dashed { border: 0; border-top: 1px dashed var(--border); margin: 20px 0; } +.puro-page .divider { height: 1px; background: var(--border); margin: 24px 0; border: 0; } +.puro-page .divider-dashed { border: 0; border-top: 1px dashed var(--border); margin: 20px 0; } /* ========================================================================== FORMS ========================================================================== */ -.field { margin-bottom: 18px; } -.field-label { +.puro-page .field { margin-bottom: 18px; } +.puro-page .field-label { display: block; font-size: 12px; font-weight: 500; color: var(--text-1); margin-bottom: 8px; } -.field-hint { +.puro-page .field-hint { font-size: 12px; color: var(--text-3); margin-top: 6px; } -.field-error { +.puro-page .field-error { font-size: 12px; color: var(--red); margin-top: 6px; } -.input-wrap { position: relative; } -.input-wrap .icon { +.puro-page .input-wrap { position: relative; } +.puro-page .input-wrap .icon { position: absolute; left: 14px; top: 50%; @@ -371,7 +374,7 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; pointer-events: none; display: inline-flex; } -.input { +.puro-page .input { width: 100%; height: 42px; padding: 0 14px; @@ -384,22 +387,22 @@ button { font-family: inherit; cursor: pointer; border: none; background: none; outline: none; transition: all .15s; } -.input.with-icon { padding-left: 40px; } -.input::placeholder { color: var(--text-3); } -.input:hover { border-color: var(--border-3); } -.input:focus { +.puro-page .input.with-icon { padding-left: 40px; } +.puro-page .input::placeholder { color: var(--text-3); } +.puro-page .input:hover { border-color: var(--border-3); } +.puro-page .input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.12); background: rgba(15, 23, 42, 0.9); } -.input.ok { border-color: rgba(52, 211, 153, 0.4); } -.input.ok:focus { box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.12); } -.input.error { border-color: var(--red); } -.input.error:focus { box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.12); } +.puro-page .input.ok { border-color: rgba(52, 211, 153, 0.4); } +.puro-page .input.ok:focus { box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.12); } +.puro-page .input.error { border-color: var(--red); } +.puro-page .input.error:focus { box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.12); } -textarea.input { height: auto; padding: 12px 14px; resize: vertical; line-height: 1.5; } +.puro-page textarea.input { height: auto; padding: 12px 14px; resize: vertical; line-height: 1.5; } -select.input { +.puro-page select.input { appearance: none; background-image: url("data:image/svg+xml;utf8,"); background-repeat: no-repeat; @@ -408,7 +411,7 @@ select.input { } /* checkbox */ -.check { +.puro-page .check { display: inline-flex; align-items: center; gap: 10px; @@ -417,8 +420,8 @@ select.input { font-size: 13px; color: var(--text-1); } -.check input { display: none; } -.check .box { +.puro-page .check input { display: none; } +.puro-page .check .box { width: 16px; height: 16px; border: 1px solid var(--border-2); border-radius: 4px; @@ -429,11 +432,11 @@ select.input { transition: all .15s; flex-shrink: 0; } -.check input:checked + .box { +.puro-page .check input:checked + .box { background: var(--cyan); border-color: var(--cyan); } -.check input:checked + .box::after { +.puro-page .check input:checked + .box::after { content: "✓"; color: #042f2e; font-size: 11px; @@ -443,7 +446,7 @@ select.input { /* ========================================================================== SECTION HEADINGS ========================================================================== */ -.section-kicker { +.puro-page .section-kicker { font-family: var(--font-mono); font-size: 12px; color: var(--cyan); @@ -451,14 +454,14 @@ select.input { text-transform: uppercase; margin-bottom: 12px; } -.section-title { +.puro-page .section-title { font-size: clamp(28px, 3.5vw, 40px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 16px; } -.section-sub { +.puro-page .section-sub { color: var(--text-2); font-size: 16px; line-height: 1.6; @@ -467,12 +470,12 @@ select.input { /* ========================================================================== TABLES ========================================================================== */ -.tbl { +.puro-page .tbl { width: 100%; font-size: 13px; border-collapse: collapse; } -.tbl th { +.puro-page .tbl th { text-align: left; color: var(--text-3); font-weight: 500; @@ -482,26 +485,26 @@ select.input { font-size: 10px; letter-spacing: 0.1em; } -.tbl td { +.puro-page .tbl td { padding: 14px; border-bottom: 1px solid rgba(30, 41, 59, 0.5); color: var(--text-1); } -.tbl tr:last-child td { border-bottom: none; } -.tbl tr:hover td { background: rgba(15, 23, 42, 0.4); } -.tbl td.mono, .tbl th.mono { font-family: var(--font-mono); } +.puro-page .tbl tr:last-child td { border-bottom: none; } +.puro-page .tbl tr:hover td { background: rgba(15, 23, 42, 0.4); } +.puro-page .tbl td.mono, .puro-page .tbl th.mono { font-family: var(--font-mono); } /* ========================================================================== CODE BLOCKS ========================================================================== */ -.code-frame { +.puro-page .code-frame { background: var(--bg-code); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); } -.code-head { +.puro-page .code-head { display: flex; align-items: center; height: 40px; @@ -510,17 +513,17 @@ select.input { background: rgba(15, 23, 42, 0.8); gap: 10px; } -.traffic { +.puro-page .traffic { display: flex; gap: 6px; } -.traffic span { +.puro-page .traffic span { width: 10px; height: 10px; border-radius: 50%; background: #475569; } -.code-body { +.puro-page .code-body { padding: 22px 26px; font-family: var(--font-mono); font-size: 13px; @@ -528,93 +531,93 @@ select.input { color: var(--text-1); overflow-x: auto; } -.code-body .line { display: flex; gap: 20px; } -.ln { color: var(--text-3); user-select: none; min-width: 16px; text-align: right; opacity: 0.5; } +.puro-page .code-body .line { display: flex; gap: 20px; } +.puro-page .ln { color: var(--text-3); user-select: none; min-width: 16px; text-align: right; opacity: 0.5; } /* syntax */ -.kw { color: #c084fc; } -.str { color: #86efac; } -.num { color: #fbbf24; } -.com { color: #64748b; font-style: italic; } -.fn { color: #22d3ee; } -.prop{ color: #f0abfc; } -.var-v { color: #f8fafc; } -.flag{ color: #fb923c; } -.bash-prompt { color: var(--cyan); user-select: none; } +.puro-page .kw { color: #c084fc; } +.puro-page .str { color: #86efac; } +.puro-page .num { color: #fbbf24; } +.puro-page .com { color: #64748b; font-style: italic; } +.puro-page .fn { color: #22d3ee; } +.puro-page .prop { color: #f0abfc; } +.puro-page .var-v { color: #f8fafc; } +.puro-page .flag { color: #fb923c; } +.puro-page .bash-prompt { color: var(--cyan); user-select: none; } /* ========================================================================== PROVIDER-BRAND HELPERS ========================================================================== */ -.provider { +.puro-page .provider { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 12px; } -.provider .dot { width: 6px; height: 6px; border-radius: 50%; } -.provider.claude .dot { background: var(--p-claude); } -.provider.gpt .dot { background: var(--p-gpt); } -.provider.gemini .dot { background: var(--p-gemini); } -.provider.codex .dot { background: var(--p-codex); } +.puro-page .provider .dot { width: 6px; height: 6px; border-radius: 50%; } +.puro-page .provider.claude .dot { background: var(--p-claude); } +.puro-page .provider.gpt .dot { background: var(--p-gpt); } +.puro-page .provider.gemini .dot { background: var(--p-gemini); } +.puro-page .provider.codex .dot { background: var(--p-codex); } /* ========================================================================== UTILITIES ========================================================================== */ -.stack-xs { display: flex; flex-direction: column; gap: 8px; } -.stack-sm { display: flex; flex-direction: column; gap: 12px; } -.stack-md { display: flex; flex-direction: column; gap: 20px; } -.stack-lg { display: flex; flex-direction: column; gap: 32px; } +.puro-page .stack-xs { display: flex; flex-direction: column; gap: 8px; } +.puro-page .stack-sm { display: flex; flex-direction: column; gap: 12px; } +.puro-page .stack-md { display: flex; flex-direction: column; gap: 20px; } +.puro-page .stack-lg { display: flex; flex-direction: column; gap: 32px; } -.row { display: flex; align-items: center; gap: 12px; } -.row-sm { gap: 8px; } -.row-lg { gap: 20px; } -.row-between { justify-content: space-between; } -.row-center { justify-content: center; } -.row-wrap { flex-wrap: wrap; } +.puro-page .row { display: flex; align-items: center; gap: 12px; } +.puro-page .row-sm { gap: 8px; } +.puro-page .row-lg { gap: 20px; } +.puro-page .row-between { justify-content: space-between; } +.puro-page .row-center { justify-content: center; } +.puro-page .row-wrap { flex-wrap: wrap; } -.flex-1 { flex: 1; } -.ml-auto { margin-left: auto; } -.mt-auto { margin-top: auto; } +.puro-page .flex-1 { flex: 1; } +.puro-page .ml-auto { margin-left: auto; } +.puro-page .mt-auto { margin-top: auto; } -.text-0 { color: var(--text-0); } -.text-1 { color: var(--text-1); } -.text-2 { color: var(--text-2); } -.text-3 { color: var(--text-3); } -.text-cyan { color: var(--cyan); } -.text-purple { color: var(--purple); } -.text-amber { color: var(--amber); } -.text-green { color: var(--green); } -.text-red { color: var(--red); } +.puro-page .text-0 { color: var(--text-0); } +.puro-page .text-1 { color: var(--text-1); } +.puro-page .text-2 { color: var(--text-2); } +.puro-page .text-3 { color: var(--text-3); } +.puro-page .text-cyan { color: var(--cyan); } +.puro-page .text-purple { color: var(--purple); } +.puro-page .text-amber { color: var(--amber); } +.puro-page .text-green { color: var(--green); } +.puro-page .text-red { color: var(--red); } -.text-xs { font-size: 11px; } -.text-sm { font-size: 13px; } -.text-md { font-size: 14px; } -.text-lg { font-size: 16px; } -.text-xl { font-size: 20px; } -.text-2xl { font-size: 28px; } -.text-3xl { font-size: 36px; } +.puro-page .text-xs { font-size: 11px; } +.puro-page .text-sm { font-size: 13px; } +.puro-page .text-md { font-size: 14px; } +.puro-page .text-lg { font-size: 16px; } +.puro-page .text-xl { font-size: 20px; } +.puro-page .text-2xl { font-size: 28px; } +.puro-page .text-3xl { font-size: 36px; } -.fw-400 { font-weight: 400; } -.fw-500 { font-weight: 500; } -.fw-600 { font-weight: 600; } -.fw-700 { font-weight: 700; } -.fw-800 { font-weight: 800; } +.puro-page .fw-400 { font-weight: 400; } +.puro-page .fw-500 { font-weight: 500; } +.puro-page .fw-600 { font-weight: 600; } +.puro-page .fw-700 { font-weight: 700; } +.puro-page .fw-800 { font-weight: 800; } -.tabular { font-variant-numeric: tabular-nums; } -.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.puro-page .tabular { font-variant-numeric: tabular-nums; } +.puro-page .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* ========================================================================== APP SHELL (for dashboard-style pages) ========================================================================== */ -.app-shell { +.puro-page .app-shell { display: grid; grid-template-columns: 240px 1fr; min-height: 100vh; position: relative; z-index: 2; } -.app-side { +.puro-page .app-side { border-right: 1px solid var(--border); background: rgba(2, 6, 23, 0.6); padding: 20px 14px; @@ -626,9 +629,9 @@ select.input { height: 100vh; overflow-y: auto; } -.app-side .brand { padding: 6px 10px 14px; } -.side-group { display: flex; flex-direction: column; gap: 2px; } -.side-label { +.puro-page .app-side .brand { padding: 6px 10px 14px; } +.puro-page .side-group { display: flex; flex-direction: column; gap: 2px; } +.puro-page .side-label { font-size: 10px; color: var(--text-3); text-transform: uppercase; @@ -636,7 +639,7 @@ select.input { padding: 0 10px 8px; font-family: var(--font-mono); } -.side-item { +.puro-page .side-item { display: flex; align-items: center; gap: 10px; @@ -647,27 +650,27 @@ select.input { cursor: pointer; transition: all .12s; } -.side-item:hover { color: var(--text-0); background: rgba(255,255,255,0.03); } -.side-item.active { background: rgba(34, 211, 238, 0.08); color: var(--cyan); } -.side-item .ico { +.puro-page .side-item:hover { color: var(--text-0); background: rgba(255,255,255,0.03); } +.puro-page .side-item.active { background: rgba(34, 211, 238, 0.08); color: var(--cyan); } +.puro-page .side-item .ico { width: 16px; height: 16px; opacity: 0.8; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; } -.side-item .count { +.puro-page .side-item .count { margin-left: auto; font-size: 11px; color: var(--text-3); font-family: var(--font-mono); } -.side-item.active .count { color: var(--cyan); } +.puro-page .side-item.active .count { color: var(--cyan); } -.app-main { +.puro-page .app-main { min-width: 0; /* allow grid children to shrink */ display: flex; flex-direction: column; } -.app-topbar { +.puro-page .app-topbar { height: 60px; border-bottom: 1px solid var(--border); display: flex; @@ -680,18 +683,18 @@ select.input { background: rgba(10, 14, 26, 0.75); backdrop-filter: blur(12px); } -.app-topbar h1 { +.puro-page .app-topbar h1 { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; } -.app-content { +.puro-page .app-content { padding: 32px; flex: 1; } /* user avatar pill */ -.avatar { +.puro-page .avatar { width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, #22d3ee, #a855f7); @@ -707,7 +710,7 @@ select.input { /* ========================================================================== KBD ========================================================================== */ -kbd { +.puro-page kbd { display: inline-flex; align-items: center; justify-content: center; -- 2.49.1 From 064a4b7614516c9cbcaa7344d8dfb9c186e0e5c4 Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 20:06:21 +0800 Subject: [PATCH 07/20] fix(design): scope .bg-glow::before selector to .puro-page One missed prefix from the automated transform. Aligns with the scoping contract established in 41664efe. Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/assets/puro.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/assets/puro.css b/frontend/src/assets/puro.css index d343ca0d..3251383e 100644 --- a/frontend/src/assets/puro.css +++ b/frontend/src/assets/puro.css @@ -92,7 +92,7 @@ z-index: 0; overflow: hidden; } -.bg-glow::before, +.puro-page .bg-glow::before, .puro-page .bg-glow::after { content: ""; position: absolute; -- 2.49.1 From 9dae8724e3d025021e3710d9b93db96693f2e38c Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 20:11:06 +0800 Subject: [PATCH 08/20] feat(landing): LandingView scaffold with Nav + Hero Temporary route /landing-preview added for dev iteration. Will flip / to this view once all 6 sections are in place (Task 6). Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/router/index.ts | 9 ++ frontend/src/views/landing/LandingView.vue | 96 ++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 frontend/src/views/landing/LandingView.vue diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index ad6e71c4..81065847 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -36,6 +36,15 @@ const routes: RouteRecordRaw[] = [ title: 'Home' } }, + { + path: '/landing-preview', + name: 'LandingPreview', + component: () => import('@/views/landing/LandingView.vue'), + meta: { + requiresAuth: false, + title: 'PURO AI' + } + }, { path: '/login', name: 'Login', diff --git a/frontend/src/views/landing/LandingView.vue b/frontend/src/views/landing/LandingView.vue new file mode 100644 index 00000000..f1e10ced --- /dev/null +++ b/frontend/src/views/landing/LandingView.vue @@ -0,0 +1,96 @@ + + + + + -- 2.49.1 From cfcdd988dbdc752422944fdb3bb71c858cad61f1 Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 20:18:56 +0800 Subject: [PATCH 09/20] feat(landing): add Models wall + Features sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added Models section (② 模型墙) with 5 platform cards (Claude, GPT, Codex, Gemini, More) - Added Features section (③ 三特性) with 3 feature cards (unified key, account pool failover, analytics dashboard) - Implemented responsive grid layouts with scoped CSS rules - Used existing design tokens and brand colors from puro.css Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/views/landing/LandingView.vue | 125 +++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/frontend/src/views/landing/LandingView.vue b/frontend/src/views/landing/LandingView.vue index f1e10ced..570a18aa 100644 --- a/frontend/src/views/landing/LandingView.vue +++ b/frontend/src/views/landing/LandingView.vue @@ -42,6 +42,67 @@ 已验证可用 Codex CLI · Claude Code · curl · 服务器出口新加坡 + + +

+
+
支持的 AI 平台
+

通过 OAuth 直接复用你的订阅

+

无需申请官方 API key,也无需切换账号

+
+
+
+
+
Claude Pro / Max
+
Anthropic OAuth
+
+
+
+
ChatGPT Plus / Pro
+
OpenAI OAuth
+
+
+
+
Codex CLI
+
OpenAI OAuth
+
+
+
+
Gemini Code Assist
+
Google OAuth
+
+
+
+
更多
+
规划中
+
+
+
+ + +
+
+
核心特性
+

一套 key,三件武器

+
+
+
+
+

一个 key 接所有模型

+

不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。

+
+
+
🔄
+

账号池高可用

+

支持多账号自动调度与 failover。某个上游触发限流 / 冷却时,流量切到下一个健康账号,token 刷新全自动。

+
+
+
📊
+

用量看板

+

每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。

+
+
+
@@ -93,4 +154,68 @@ color: var(--text-3); font-family: var(--font-mono); } + +.container { + max-width: 1120px; + margin: 0 auto; + padding: 0 24px; + position: relative; + z-index: 2; +} +.block { padding: 80px 24px; } +.section-header { text-align: center; margin-bottom: 40px; } +.section-kicker { + font-size: 12px; + font-weight: 600; + color: var(--cyan); + text-transform: uppercase; + letter-spacing: 0.12em; + margin-bottom: 12px; + font-family: var(--font-mono); +} +.section-title { + font-size: clamp(28px, 3.5vw, 40px); + font-weight: 700; + letter-spacing: -0.02em; + margin-bottom: 12px; +} +.section-sub { color: var(--text-2); font-size: 15px; } + +/* model wall */ +.model-wall { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 12px; +} +.model-card { + padding: 20px; + border: 1px solid var(--border); + border-radius: var(--r-lg); + background: var(--bg-1); + display: flex; + align-items: center; + gap: 12px; +} +.model-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; } +.model-name { font-weight: 600; font-size: 14px; } +.model-meta { font-size: 11px; color: var(--text-3); font-family: var(--font-mono); margin-top: 2px; } +.model-card.is-muted { opacity: 0.5; } +.model-card.is-muted .model-name { color: var(--text-2); } + +/* features */ +.features { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 16px; +} +.feature { + padding: 28px 24px; + border: 1px solid var(--border); + border-radius: var(--r-lg); + background: var(--bg-1); +} +.feature-icon { font-size: 28px; margin-bottom: 14px; } +.feature h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; } +.feature p { color: var(--text-2); font-size: 14px; line-height: 1.6; } +.feature code { color: var(--cyan); font-size: 13px; } -- 2.49.1 From 158f2a8d53b846a13a625addd32d2835f6c29880 Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 20:26:50 +0800 Subject: [PATCH 10/20] fix(landing): resolve Task 3 CSS specificity issues Code review flagged: - .feature.card caused padding/background specificity race; .feature already defines all card properties, so drop .card - model-card flex row misaligned name/meta (should stack in column); wrap in div to get dot | [name/meta] layout - .container and .section-* scoped rules silently shadow puro.css defaults; add comment explaining intentional override Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/views/landing/LandingView.vue | 41 +++++++++++++++------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/frontend/src/views/landing/LandingView.vue b/frontend/src/views/landing/LandingView.vue index 570a18aa..0097e336 100644 --- a/frontend/src/views/landing/LandingView.vue +++ b/frontend/src/views/landing/LandingView.vue @@ -53,28 +53,38 @@
-
Claude Pro / Max
-
Anthropic OAuth
+
+
Claude Pro / Max
+
Anthropic OAuth
+
-
ChatGPT Plus / Pro
-
OpenAI OAuth
+
+
ChatGPT Plus / Pro
+
OpenAI OAuth
+
-
Codex CLI
-
OpenAI OAuth
+
+
Codex CLI
+
OpenAI OAuth
+
-
Gemini Code Assist
-
Google OAuth
+
+
Gemini Code Assist
+
Google OAuth
+
-
更多
-
规划中
+
+
更多
+
规划中
+
@@ -86,17 +96,17 @@

一套 key,三件武器

-
+

一个 key 接所有模型

不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini,按 model 自动路由到对应账号池。

-
+
🔄

账号池高可用

支持多账号自动调度与 failover。某个上游触发限流 / 冷却时,流量切到下一个健康账号,token 刷新全自动。

-
+
📊

用量看板

每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。

@@ -155,6 +165,11 @@ font-family: var(--font-mono); } +/* Note: these rules (.container / .section-*) intentionally override + * puro.css defaults with landing-page-specific values. + * puro.css has global defaults of: container max-width 1100px/padding 32px, + * section-title margin-bottom 16px, section-kicker letter-spacing 0.15em. + * Source-order ensures the scoped values below win. */ .container { max-width: 1120px; margin: 0 auto; -- 2.49.1 From c099cd5d97f9d5ad62f2cf2cf807345ad23e16a1 Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 20:29:14 +0800 Subject: [PATCH 11/20] feat(landing): add Code Demo + Dashboard mockup sections Dashboard mockup is pure static (SVG chart + stats grid + log table). No backend dependency. Reuses puro.css .log-table / .provider / .status-* (scoped to .puro-page). Only adds component-local styles for .code-demo, .dash-mock, .stat-row, .chart-card and friends. Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/views/landing/LandingView.vue | 148 +++++++++++++++++++++ 1 file changed, 148 insertions(+) diff --git a/frontend/src/views/landing/LandingView.vue b/frontend/src/views/landing/LandingView.vue index 0097e336..eef5eb6d 100644 --- a/frontend/src/views/landing/LandingView.vue +++ b/frontend/src/views/landing/LandingView.vue @@ -113,6 +113,74 @@
+ + +
+
+
快速接入
+

把 base_url 一改,就能用

+

兼容 OpenAI / Anthropic / Gemini SDK,零代码改动

+
+
+
+
~/.codex/config.toml
+
[model_providers.OpenAI]
+base_url = "https://ai.puro.im"
+wire_api = "responses"
+requires_openai_auth = true
+
+
+
curl
+
$ curl https://ai.puro.im/responses \
+  -H "Authorization: Bearer sk-xxx" \
+  -d '{"model":"gpt-5.4","input":"hello"}'
+
+
+
支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket
+
+ + +
+
+
用量透明
+

每条请求都看得见

+

不像第三方 API 池子那种"扣了多少不告诉你"——扣哪个账号、跑哪个模型、用了多少 tokens、上游响应几秒,一目了然。

+
+
+
+ Dashboard · 预览 +
+
+
+
+
今日请求
1,842
+12.3%
+
输入 Tokens
2.1M
+8.1%
+
输出 Tokens
485K
+15.6%
+
今日费用
$1.23
-4.2%
+
+
+
近 30 天用量趋势
+ + + + +
+ + + + + + + + + + +
时间模型上游状态用量
12:34:07gpt-5.4ChatGPT #12002,341
12:34:02claude-opus-4-7Claude #22005,102
12:33:58gemini-2.5-proGemini #1200843
12:33:41gpt-5.4ChatGPT #2429
+
+
+
@@ -233,4 +301,84 @@ .feature h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; } .feature p { color: var(--text-2); font-size: 14px; line-height: 1.6; } .feature code { color: var(--cyan); font-size: 13px; } + +/* code demo */ +.code-demo { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; +} +@media (max-width: 820px) { .code-demo { grid-template-columns: 1fr; } } +.code-block { + border: 1px solid var(--border); + border-radius: var(--r-lg); + background: var(--bg-code); + overflow: hidden; +} +.code-title { + padding: 10px 16px; + background: var(--bg-1); + font-size: 11px; + color: var(--text-3); + border-bottom: 1px solid var(--border); +} +.code-block pre { + padding: 16px; + font-size: 13px; + line-height: 1.6; + color: var(--text-1); + overflow-x: auto; +} +.cm { color: var(--text-3); } +.str { color: var(--cyan); } +.kw { color: var(--amber); } +.code-foot { + margin-top: 20px; + text-align: center; + font-size: 12px; + color: var(--text-3); + font-family: var(--font-mono); +} + +/* dash mockup */ +.dash-mock { + border: 1px solid var(--border); + border-radius: var(--r-xl); + background: var(--bg-1); + overflow: hidden; + box-shadow: 0 40px 80px -40px rgba(0,0,0,0.8); +} +.dash-header { + padding: 12px 16px; + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: space-between; +} +.dash-title { font-size: 12px; color: var(--text-2); font-family: var(--font-mono); } +.dash-dots { display: flex; gap: 6px; } +.dash-dots span { width: 10px; height: 10px; border-radius: 50%; background: var(--border-2); } +.dash-body { padding: 20px; } +.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; } +@media (max-width: 720px) { .stat-row { grid-template-columns: repeat(2, 1fr); } } +.stat { + padding: 14px; + border: 1px solid var(--border); + border-radius: var(--r-md); + background: rgba(15,23,42,0.6); +} +.stat-label { font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; } +.stat-value { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; font-family: var(--font-mono); } +.stat-delta { font-size: 11px; color: var(--green); margin-top: 4px; font-family: var(--font-mono); } +.stat-delta.down { color: var(--red); } + +.chart-card { + border: 1px solid var(--border); + border-radius: var(--r-md); + background: rgba(15,23,42,0.6); + padding: 16px; + margin-bottom: 20px; +} +.chart-title { font-size: 12px; color: var(--text-2); margin-bottom: 12px; } +.chart-svg { width: 100%; height: 120px; display: block; } -- 2.49.1 From 4e675d70c13aeed0db9cd5f81a589d95058ae516 Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 21:01:10 +0800 Subject: [PATCH 12/20] feat(landing): Footer + sticky Nav styles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 4-column footer (brand/产品/资源/联系), responsive 2-col on mobile - Nav sticky with blur background, border-bottom - nav-links hidden on mobile (<640px) Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/views/landing/LandingView.vue | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/frontend/src/views/landing/LandingView.vue b/frontend/src/views/landing/LandingView.vue index eef5eb6d..9fb8e46b 100644 --- a/frontend/src/views/landing/LandingView.vue +++ b/frontend/src/views/landing/LandingView.vue @@ -181,6 +181,33 @@ requires_openai_auth = true
+ + +
@@ -381,4 +408,88 @@ requires_openai_auth = true } .chart-title { font-size: 12px; color: var(--text-2); margin-bottom: 12px; } .chart-svg { width: 100%; height: 120px; display: block; } + +/* Nav sticky + responsive tweaks (augments puro.css defaults) */ +.nav { + position: sticky; + top: 0; + z-index: 10; + background: rgba(10,14,26,0.75); + backdrop-filter: blur(12px); + border-bottom: 1px solid var(--border); +} +.nav-inner { + display: flex; + align-items: center; + gap: 28px; + padding: 16px 24px; + max-width: 1120px; + margin: 0 auto; +} +.brand { + display: flex; + align-items: center; + gap: 8px; + font-weight: 700; + font-size: 16px; +} +.brand .hex { + color: var(--cyan); + font-size: 20px; +} +.nav-links { + display: flex; + gap: 20px; + font-size: 14px; + color: var(--text-2); +} +.nav-links a:hover { color: var(--text-0); } +.nav-cta { + display: flex; + gap: 10px; + margin-left: auto; +} +@media (max-width: 640px) { + .nav-links { display: none; } +} + +/* Footer */ +.puro-footer { + margin-top: 80px; + padding: 60px 24px 40px; + border-top: 1px solid var(--border); +} +.footer-grid { + display: grid; + grid-template-columns: 2fr 1fr 1fr 1fr; + gap: 36px; +} +@media (max-width: 720px) { .footer-grid { grid-template-columns: 1fr 1fr; } } +.footer-brand .brand { margin-bottom: 12px; } +.footer-tagline { color: var(--text-2); font-size: 13px; margin-bottom: 8px; } +.footer-meta { color: var(--text-3); font-size: 12px; line-height: 1.7; } +.footer-col-title { + color: var(--text-0); + font-size: 13px; + font-weight: 600; + margin-bottom: 12px; +} +.footer-col a { + display: block; + color: var(--text-2); + font-size: 13px; + padding: 4px 0; +} +.footer-col a:hover { color: var(--cyan); } + +/* pill */ +.pill { + display: inline-block; + padding: 6px 14px; + border: 1px solid var(--border-2); + border-radius: 999px; + font-size: 12px; + color: var(--text-2); + background: rgba(15,23,42,0.6); +} -- 2.49.1 From 4832534232fc7ac7aa64da0c4a48e02841986d3b Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 21:11:13 +0800 Subject: [PATCH 13/20] fix(landing): Polish items from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add noreferrer to all external rel attributes (4 anchors) - Change 更新日志 link from /releases (may 404) to /commits/branch/main - Remove dead CSS overridden by puro.css: .nav z-index:10, .nav-links gap:20px - Document puro.css global dependency at top of scoped style block Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/views/landing/LandingView.vue | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/frontend/src/views/landing/LandingView.vue b/frontend/src/views/landing/LandingView.vue index 9fb8e46b..b7b758d7 100644 --- a/frontend/src/views/landing/LandingView.vue +++ b/frontend/src/views/landing/LandingView.vue @@ -193,18 +193,18 @@ requires_openai_auth = true @@ -217,6 +217,14 @@ requires_openai_auth = true -- 2.49.1 From 91b9ae7e2156e5ee95109f0dbff82bf4b230431b Mon Sep 17 00:00:00 2001 From: mini Date: Sun, 19 Apr 2026 21:27:23 +0800 Subject: [PATCH 16/20] feat(auth): LoginView with PURO narrative split layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Left: ⬢ PURO AI brand + '5→1' headline + three-line value props - Right: existing form (OAuth, Turnstile, 2FA all preserved unchanged) - Heading changed from t('auth.welcomeBack') to '登录' — i18n key consolidation in Task 11 Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/views/auth/LoginView.vue | 73 ++++++++++++++++++++++++--- 1 file changed, 67 insertions(+), 6 deletions(-) diff --git a/frontend/src/views/auth/LoginView.vue b/frontend/src/views/auth/LoginView.vue index 70b64e3f..7d2f4a75 100644 --- a/frontend/src/views/auth/LoginView.vue +++ b/frontend/src/views/auth/LoginView.vue @@ -1,14 +1,28 @@