@clize/clize 0.31.1 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +19 -17
  2. package/dist/cli.js +487 -375
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/addresses.js +12 -11
  5. package/dist/core/addresses.js.map +1 -1
  6. package/dist/core/analytics.js +6 -5
  7. package/dist/core/analytics.js.map +1 -1
  8. package/dist/core/authz.js +6 -5
  9. package/dist/core/authz.js.map +1 -1
  10. package/dist/core/billing.js +83 -12
  11. package/dist/core/billing.js.map +1 -1
  12. package/dist/core/credentials.js +3 -1
  13. package/dist/core/credentials.js.map +1 -1
  14. package/dist/core/dns.js +3 -2
  15. package/dist/core/dns.js.map +1 -1
  16. package/dist/core/domain-health.js +74 -50
  17. package/dist/core/domain-health.js.map +1 -1
  18. package/dist/core/domains.js +102 -45
  19. package/dist/core/domains.js.map +1 -1
  20. package/dist/core/email-tx.js +8 -6
  21. package/dist/core/email-tx.js.map +1 -1
  22. package/dist/core/email.js +13 -12
  23. package/dist/core/email.js.map +1 -1
  24. package/dist/core/env-detect.js +7 -14
  25. package/dist/core/env-detect.js.map +1 -1
  26. package/dist/core/handle.js +33 -30
  27. package/dist/core/handle.js.map +1 -1
  28. package/dist/core/install.js +114 -56
  29. package/dist/core/install.js.map +1 -1
  30. package/dist/core/media.js +37 -36
  31. package/dist/core/media.js.map +1 -1
  32. package/dist/core/payments.js +5 -4
  33. package/dist/core/payments.js.map +1 -1
  34. package/dist/core/projects.js +38 -26
  35. package/dist/core/projects.js.map +1 -1
  36. package/dist/core/redirect.js +4 -3
  37. package/dist/core/redirect.js.map +1 -1
  38. package/dist/core/seo-classify.js +23 -8
  39. package/dist/core/seo-classify.js.map +1 -1
  40. package/dist/core/seo.js +6 -0
  41. package/dist/core/seo.js.map +1 -1
  42. package/dist/core/serve.js +2 -1
  43. package/dist/core/serve.js.map +1 -1
  44. package/dist/core/setup.js +11 -9
  45. package/dist/core/setup.js.map +1 -1
  46. package/dist/core/shop.js +17 -16
  47. package/dist/core/shop.js.map +1 -1
  48. package/dist/core/site.js +2 -1
  49. package/dist/core/site.js.map +1 -1
  50. package/dist/core/sites.js +53 -40
  51. package/dist/core/sites.js.map +1 -1
  52. package/dist/core/triage.js +39 -5
  53. package/dist/core/triage.js.map +1 -1
  54. package/dist/core/video.js +45 -43
  55. package/dist/core/video.js.map +1 -1
  56. package/dist/github.js +4 -3
  57. package/dist/github.js.map +1 -1
  58. package/dist/i18n/t.js +65 -0
  59. package/dist/i18n/t.js.map +1 -0
  60. package/dist/i18n/zh.js +1265 -0
  61. package/dist/i18n/zh.js.map +1 -0
  62. package/dist/index.js +61 -40
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/cloudflare.js +8 -7
  65. package/dist/lib/cloudflare.js.map +1 -1
  66. package/dist/lib/crypto.js +2 -1
  67. package/dist/lib/crypto.js.map +1 -1
  68. package/dist/lib/vercel.js +2 -1
  69. package/dist/lib/vercel.js.map +1 -1
  70. package/dist/lib/zone.js +2 -1
  71. package/dist/lib/zone.js.map +1 -1
  72. package/dist/mcp-profiles.js +5 -1
  73. package/dist/mcp-profiles.js.map +1 -1
  74. package/dist/providers/deploy/cloudflare.js +3 -2
  75. package/dist/providers/deploy/cloudflare.js.map +1 -1
  76. package/dist/providers/email/cloudflare-inbound.js +4 -3
  77. package/dist/providers/email/cloudflare-inbound.js.map +1 -1
  78. package/dist/providers/email/cloudflare-outbound.js +2 -1
  79. package/dist/providers/email/cloudflare-outbound.js.map +1 -1
  80. package/dist/providers/email/resend.js +3 -2
  81. package/dist/providers/email/resend.js.map +1 -1
  82. package/dist/providers/email/ses.js +3 -2
  83. package/dist/providers/email/ses.js.map +1 -1
  84. package/dist/providers/index.js +3 -2
  85. package/dist/providers/index.js.map +1 -1
  86. package/dist/providers/media/google.js +10 -9
  87. package/dist/providers/media/google.js.map +1 -1
  88. package/dist/providers/media/kie.js +12 -11
  89. package/dist/providers/media/kie.js.map +1 -1
  90. package/dist/providers/media/kunavo.js +10 -9
  91. package/dist/providers/media/kunavo.js.map +1 -1
  92. package/dist/providers/media/openai.js +5 -4
  93. package/dist/providers/media/openai.js.map +1 -1
  94. package/dist/providers/media/suno.js +7 -6
  95. package/dist/providers/media/suno.js.map +1 -1
  96. package/dist/providers/registrar/routing.js +2 -1
  97. package/dist/providers/registrar/routing.js.map +1 -1
  98. package/dist/providers/registrar/vercel.js +2 -1
  99. package/dist/providers/registrar/vercel.js.map +1 -1
  100. package/dist/providers/seo/dataforseo.js +5 -4
  101. package/dist/providers/seo/dataforseo.js.map +1 -1
  102. package/dist/providers/seo/gsc.js +5 -4
  103. package/dist/providers/seo/gsc.js.map +1 -1
  104. package/dist/remote.js +25 -22
  105. package/dist/remote.js.map +1 -1
  106. package/dist/selfcheck.js +23 -22
  107. package/dist/selfcheck.js.map +1 -1
  108. package/dist/state/file-store.js +17 -16
  109. package/dist/state/file-store.js.map +1 -1
  110. package/package.json +4 -3
  111. package/skills/clize/SKILL.md +171 -143
  112. package/skills/clize-seo/SKILL.md +52 -3
  113. package/skills/clize-site-build/SKILL.md +97 -41
  114. package/skills/clize-site-debug/SKILL.md +73 -45
@@ -1,10 +1,11 @@
1
- import { chargedAmount, checkMonthlySpendLimit } from "./billing.js";
1
+ import { chargedAmount, checkMonthlySpendLimit, monthSpentUsd } from "./billing.js";
2
2
  import { ensureBalance } from "./autopay.js";
3
3
  import { auditScope, currentProjectId, PENDING_PROJECT_ID, projectFilter, requireProjectId, } from "./projects.js";
4
4
  import { CLOUDFLARE_TLDS } from "../providers/registrar/cloudflare.js";
5
5
  import { nameserversOnVercel } from "../lib/zone.js";
6
6
  import { ClizeError } from "../lib/errors.js";
7
7
  /** @deprecated 仅 Cloudflare 直注的固定后缀;真实可注册能力(含 Vercel)用 listSupportedTlds(ctx)。 */
8
+ import { t } from "../i18n/t.js";
8
9
  export const SUPPORTED_TLDS = CLOUDFLARE_TLDS;
9
10
  /** 列出真实可注册的 TLD:CF 直注的 + 配了 Vercel 时的 500+ 补充(系统按 TLD 自动选注册商)。 */
10
11
  export async function listSupportedTlds(ctx) {
@@ -18,8 +19,8 @@ export async function listSupportedTlds(ctx) {
18
19
  cloudflareDirect: CLOUDFLARE_TLDS,
19
20
  viaVercelCount: vercel.length,
20
21
  note: vercel.length
21
- ? `CF 直注 ${CLOUDFLARE_TLDS.length} (同账号、DNS 一体);其余经 Vercel,共 ${all.length} 个。直接 \`clize domain search <name>.<tld>\`,系统自动选注册商并把 NS 迁回 CF。`
22
- : `Cloudflare 注册商 beta,仅 ${CLOUDFLARE_TLDS.length} 个;配 VERCEL_TOKEN 可解锁 Vercel 500+ TLD(.ai/.io/.co…)。`,
22
+ ? t `${CLOUDFLARE_TLDS.length} TLDs register directly at Cloudflare (same account, DNS included); the rest go through Vercel, ${all.length} in total. Just run \`clize domain search <name>.<tld>\`; the registrar is chosen automatically and the NS is moved back to CF.`
23
+ : t `Cloudflare Registrar beta, only ${CLOUDFLARE_TLDS.length} TLDs; configure VERCEL_TOKEN to unlock Vercel's 500+ TLDs (.ai/.io/.co…).`,
23
24
  tlds: all,
24
25
  };
25
26
  }
@@ -53,7 +54,7 @@ export async function listDomains(ctx) {
53
54
  export async function getDomain(ctx, domain) {
54
55
  const id = await ctx.store.getIdentity(ctx.tenantId, domain);
55
56
  if (!id)
56
- throw new Error(`未找到域名 ${domain}(尚未注册或纳入管理)`);
57
+ throw new Error(t `Domain ${domain} not found (not registered or not managed yet)`);
57
58
  return id;
58
59
  }
59
60
  export async function registerDomain(ctx, domain, opts = {}) {
@@ -65,7 +66,7 @@ export async function registerDomain(ctx, domain, opts = {}) {
65
66
  // 1) 查价 + 可用性(注册商由 RoutingRegistrar 自动选)
66
67
  const [check] = await ctx.providers.registrar.checkAvailability([domain]);
67
68
  if (!check?.available)
68
- throw new Error(`域名 ${domain} 不可注册${check?.reason ? `(${check.reason})` : ""}`);
69
+ throw new Error(t `Domain ${domain} is not available${check?.reason ? `(${check.reason})` : ""}`);
69
70
  const cost = check.registrationCost;
70
71
  // selfPaid:按 checkAvailability 自动选中的注册商判定(平台代付重叠会比首年价选低的那家)。
71
72
  const selfPaid = selfPaidFor(ctx, domain, check.registrar);
@@ -85,7 +86,7 @@ export async function registerDomain(ctx, domain, opts = {}) {
85
86
  await ctx.store.upsertIdentity(ctx.tenantId, {
86
87
  domain,
87
88
  status: "pending",
88
- notes: "DRY_RUN 演练,未真正注册",
89
+ notes: t("DRY_RUN rehearsal, nothing was registered"),
89
90
  projectId,
90
91
  });
91
92
  return {
@@ -95,7 +96,7 @@ export async function registerDomain(ctx, domain, opts = {}) {
95
96
  currency: check.currency,
96
97
  autoRenew,
97
98
  registrar: check.registrar,
98
- message: "演练模式:未真正注册。设 DRY_RUN=false 后执行。",
99
+ message: t("Rehearsal mode: nothing was registered. Set DRY_RUN=false to execute."),
99
100
  };
100
101
  }
101
102
  // 4) 计费闸(仅「托管 + 平台代付」:预付余额 + 加价,先扣后注册;self-host / BYO 自付跳过)
@@ -120,7 +121,7 @@ export async function registerDomain(ctx, domain, opts = {}) {
120
121
  catch (e) {
121
122
  if (charged != null)
122
123
  await ctx.store
123
- .creditBalance(ctx.tenantId, charged, { action: "refund", detail: { domain, reason: "注册失败退款" } })
124
+ .creditBalance(ctx.tenantId, charged, { action: "refund", detail: { domain, reason: t("refund for failed registration") } })
124
125
  .catch(() => {
125
126
  /* 退款失败不掩盖原始错误 */
126
127
  });
@@ -162,7 +163,7 @@ export async function registerDomain(ctx, domain, opts = {}) {
162
163
  autoRenew,
163
164
  ...(viaVercel
164
165
  ? {
165
- note: "域名注册在 VercelDNS 也在 Vercel。要 support@ 邮箱 CF 直注的 TLD,或在 Vercel dashboard 手动关 CDN/设 custom NS 后再 `clize domain import`(API 不支持自动迁)",
166
+ note: t("The domain is registered at Vercel with DNS at Vercel too. For a support@ mailboxuse a TLD Cloudflare registers directly, or turn off the CDN / set custom NS in the Vercel dashboard and then `clize domain import` (the API cannot migrate it automatically)."),
166
167
  }
167
168
  : {}),
168
169
  };
@@ -200,7 +201,7 @@ export async function importDomain(ctx, domain) {
200
201
  domain,
201
202
  zoneId: zone.id,
202
203
  status: "active",
203
- message: `✅ 该域名已在 Cloudflare NS 已生效,可直接 \`clize email setup ${domain}\` 配收发信、\`clize site deploy\` 部署。`,
204
+ message: t `✅ The domain is on Cloudflare with its NS active; run \`clize email setup ${domain}\` for email and \`clize deploy\` to ship a site.`,
204
205
  };
205
206
  }
206
207
  return {
@@ -208,8 +209,8 @@ export async function importDomain(ctx, domain) {
208
209
  zoneId: zone.id,
209
210
  status: zone.status,
210
211
  nameservers: zone.name_servers,
211
- actionRequired: `去你的域名注册商把 NS 改成上面的 nameservers,改完反复跑 \`clize domain import ${domain}\` 直到 status active。`,
212
- warning: `迁 NS 会接管该域名全部 DNSCF full zone 时会尽量自动导入现有记录,但改 NS 前请在你原 DNS 服务商处核对网站 / 邮箱 / 验证记录是否齐全,确认无误再改。`,
212
+ actionRequired: t `Change the NS at your registrar to the nameservers above, then rerun \`clize domain import ${domain}\` until status becomes active.`,
213
+ warning: t("Moving the NS takes over all DNS for the domain. CF tries to import existing records when creating the full zone, but check your current DNS provider for website / email / verification records first and change the NS only once everything is accounted for."),
213
214
  };
214
215
  }
215
216
  // 2) 不在 CF:需新建 zone 接入(演练模式只说明,不真正建)
@@ -217,7 +218,7 @@ export async function importDomain(ctx, domain) {
217
218
  return {
218
219
  dryRun: true,
219
220
  domain,
220
- message: "演练模式:将为该域名在 CF 创建 zone 并返回需配置的 nameserver。设 DRY_RUN=false 后执行。",
221
+ message: t("Rehearsal mode: would create a CF zone for the domain and return the nameservers to configure. Set DRY_RUN=false to execute."),
221
222
  };
222
223
  }
223
224
  const zone = await ctx.cf.createZone(domain);
@@ -238,9 +239,9 @@ export async function importDomain(ctx, domain) {
238
239
  status: zone.status, // 通常 "pending"(等 NS 生效)
239
240
  nameservers: zone.name_servers,
240
241
  nextSteps: [
241
- `1) 到你的域名注册商(GoDaddy / 阿里云 / Namecheap …) NS 改成上面的 nameservers。`,
242
- `2) ⚠️ NS 会接管该域名全部 DNSCF 已尝试自动导入现有记录;改 NS 前请在原 DNS 服务商处核对网站 / 邮箱 / 验证记录是否齐全,确认无误再改 NS。`,
243
- `3) 改完 NS 后反复跑 \`clize domain import ${domain}\` 直到 status active,即可 \`clize email setup ${domain}\` 配收发信。`,
242
+ t("1) At your registrar (GoDaddy / Aliyun / Namecheap …) change the NS to the nameservers above."),
243
+ t("2) ⚠️ Moving the NS takes over all DNS for the domain. CF tried to import existing records; check your current DNS provider for website / email / verification records before changing the NS."),
244
+ t `3) After changing the NS, rerun \`clize domain import ${domain}\` until status becomes active; then \`clize email setup ${domain}\` sets up email.`,
244
245
  ],
245
246
  };
246
247
  }
@@ -298,8 +299,8 @@ export async function workspaceStatus(ctx, opts = {}) {
298
299
  if (ownerId !== projectId) {
299
300
  const ownerSlug = (await ctx.store.listProjects(ctx.tenantId)).find((p) => p.id === ownerId)?.slug ?? "default";
300
301
  drift =
301
- `本地 clize.json 检出 "${ctx.projectSlug}",但其域 ${opts.localDomain} 实际属于项目 "${ownerSlug}" —— ` +
302
- `deploy 会自动按域所属部署;要对齐本地检出就 clize use ${ownerSlug}`;
302
+ t `The local clize.json checks out "${ctx.projectSlug}", but its domain ${opts.localDomain} actually belongs to project "${ownerSlug}" ` +
303
+ t `deploy follows the domain's real project automatically; to align the local checkout run clize use ${ownerSlug}`;
303
304
  }
304
305
  }
305
306
  }
@@ -315,12 +316,12 @@ export async function workspaceStatus(ctx, opts = {}) {
315
316
  ...(drift ? { drift } : {}),
316
317
  ...(projectId === PENDING_PROJECT_ID
317
318
  ? {
318
- projectNote: `项目 "${ctx.projectSlug}" 尚未创建(首次 claim / domain buy 时自动建);当前为空项目视图`,
319
+ projectNote: t `Project "${ctx.projectSlug}" does not exist yet (created automatically on the first claim / domain buy); this is an empty project view`,
319
320
  }
320
321
  : {}),
321
322
  ...(!ctx.projectSlug && projectCount > 1
322
323
  ? {
323
- projectHint: `本租户有 ${projectCount} 个项目,当前未检出(全租户视图)cd 到项目目录( clize use <slug> / 单次 -p <slug>)只看某项目;clize projects 看列表`,
324
+ projectHint: t `This tenant has ${projectCount} projects and none is checked out (tenant-wide view). cd into a project directory (or clize use <slug> / -p <slug> for one call) to see one project; clize projects lists them`,
324
325
  }
325
326
  : {}),
326
327
  ...(opts.identity ? { identity: opts.identity } : {}),
@@ -329,19 +330,30 @@ export async function workspaceStatus(ctx, opts = {}) {
329
330
  // / 未分类,带 class + mailbox);仅在租户 D1 里还没有信时才落到下面的 KV 扫描(未分流)。
330
331
  waiting: waiting.slice(0, STATUS_WAITING_CAP),
331
332
  ...(waiting.length > STATUS_WAITING_CAP
332
- ? { waitingTruncated: `仅列等最久的 ${STATUS_WAITING_CAP}/${waiting.length};按域看全量:clize email inbox <domain>` }
333
+ ? { waitingTruncated: t `Only the ${STATUS_WAITING_CAP} longest-waiting of ${waiting.length} are listed; see everything per domain with clize email inbox <domain>` }
333
334
  : {}),
334
335
  // config 正常态压一行:status 是 agent 每次续上必跑的高频命令,正常值反复进 transcript
335
336
  // 零信息量;只有「会改变行为语义」的状态(dryRun / 缺凭证 / 有限额 / 发信未就绪)才展开。
336
337
  config: configHealth(ctx),
337
338
  // 开销口径随检出走:检出项目 → 本项目本月开销(无归属旧记录归 default);未检出 → 全租户。
338
339
  // 语义细节(月度限额闸仍按全租户)在 SPEC「开销口径」,这里只标口径名,省高频 token。
340
+ //
341
+ // 全租户口径读 **ledger**(余额出入的唯一记录),不读 audit.cost:audit 只在部分调用点
342
+ // 手写 cost,seo / storage 是直接 chargeBalance 的、从不补审计 —— 2026-09-01 实测本租户
343
+ // 「本月花费」显示 $0.00,而余额当月实际走掉 $4.97(101 次 seo 查询)。console 首屏的钱行
344
+ // 与 Billing 的花费构成必须同源,否则就是同一个事实两个数字打架。
345
+ // 项目口径仍用 audit(ledger 没有 project 维度;seo / storage 本就是租户级开销)。
339
346
  spentThisMonthUsd: await (async () => {
347
+ if (!projectId)
348
+ return monthSpentUsd(ctx); // 全租户 = ledger 口径,与月度上限闸同源
340
349
  const scope = await auditScope(ctx);
341
350
  return ctx.store.spentThisMonth(ctx.tenantId, scope[0], scope[1]);
342
351
  })(),
343
352
  ...(projectId ? { spentScope: "project" } : {}),
344
353
  domainCount: identities.length,
354
+ // 全量站点数(服务端数,不受下面 domains 摘要 cap 影响)—— console / agent 判断
355
+ // 「有多少站在线」一律用这个数,别拿截断的 domains[] 自己 filter(cap=50 必漏)。
356
+ siteCount: identities.filter((i) => i.site?.url || i.site?.customDomain).length,
345
357
  domains: identities.slice(0, STATUS_DOMAINS_CAP).map((i) => ({
346
358
  domain: i.domain,
347
359
  status: i.status,
@@ -349,7 +361,7 @@ export async function workspaceStatus(ctx, opts = {}) {
349
361
  site: Boolean(i.site?.url),
350
362
  })),
351
363
  ...(identities.length > STATUS_DOMAINS_CAP
352
- ? { domainsTruncated: `仅列 ${STATUS_DOMAINS_CAP}/${identities.length};全量:clize domain list` }
364
+ ? { domainsTruncated: t `Only ${STATUS_DOMAINS_CAP}/${identities.length} listed; all: clize domain list` }
353
365
  : {}),
354
366
  };
355
367
  }
@@ -363,7 +375,7 @@ function configHealth(ctx) {
363
375
  if (ctx.tenant.monthlySpendLimitUsd != null)
364
376
  issues.monthlySpendLimitUsd = ctx.tenant.monthlySpendLimitUsd;
365
377
  if (ctx.tenant.outboundProvider === "resend" && !ctx.platform.resend.apiKey)
366
- issues.outbound = "resend 已选但未配 RESEND_API_KEY(发信会失败)";
378
+ issues.outbound = t("resend is selected but RESEND_API_KEY is not configured (sending will fail)");
367
379
  return Object.keys(issues).length ? issues : "ok";
368
380
  }
369
381
  export async function auditLog(ctx, limit = 20) {
@@ -378,7 +390,7 @@ export async function setAutoRenew(ctx, domain, enabled) {
378
390
  detail: { domain, enabled },
379
391
  dryRun: true,
380
392
  });
381
- return { dryRun: true, domain, autoRenew: enabled, message: "演练模式:未真正修改。" };
393
+ return { dryRun: true, domain, autoRenew: enabled, message: t("Rehearsal mode: nothing was changed.") };
382
394
  }
383
395
  // 落到真实注册商:从 Identity.registrar(注册时回填的权威来源)取 hint 传给 routing,
384
396
  // 替代它的 TLD 静态猜测 —— 重叠 TLD 在 Vercel 注册时会猜错家,CF 不认该域、开关失效。
@@ -390,7 +402,7 @@ export async function setAutoRenew(ctx, domain, enabled) {
390
402
  detail: { domain, enabled },
391
403
  });
392
404
  await ctx.store.upsertIdentity(ctx.tenantId, { domain, autoRenew: enabled });
393
- return { domain, autoRenew: enabled, message: enabled ? "已开启自动续费" : "已关闭自动续费" };
405
+ return { domain, autoRenew: enabled, message: enabled ? t("Auto-renew turned on") : t("Auto-renew turned off") };
394
406
  }
395
407
  /** 读某域 NS 现状:注册商 + 当前委派(zone 源 NS)+ CF 分配的目标 NS。供 `domain ns`(无参)查看 / 排障。 */
396
408
  export async function getDomainNameservers(ctx, domain) {
@@ -402,7 +414,11 @@ export async function getDomainNameservers(ctx, domain) {
402
414
  const active = zone?.status === "active";
403
415
  return {
404
416
  domain: d,
405
- registrar: id?.status === "external" ? "(外部接入,注册商在别处)" : (id?.registrar ?? "(未知/未纳管)"),
417
+ registrar: id?.status === "handle"
418
+ ? t("(free handle, platform subdomain)")
419
+ : id?.status === "external"
420
+ ? t("(imported; registrar elsewhere)")
421
+ : (id?.registrar ?? t("(unknown / not managed)")),
406
422
  status: id?.status,
407
423
  zoneStatus: zone?.status,
408
424
  // 委派真相以 zoneStatus 为准:active = CF 已在注册局委派里确认到自己的 NS(即已在 CF)。
@@ -411,8 +427,8 @@ export async function getDomainNameservers(ctx, domain) {
411
427
  // ⚠️ original_name_servers 是「建 zone 时 CF 看到的旧 NS」—— 历史值,zone active 后即过时,别当「当前 NS」(正是 §9 那个坑)。
412
428
  originalNameservers: zone?.original_name_servers ?? id?.nameservers,
413
429
  hint: active
414
- ? "zoneStatus=active → 该域已委派给 Cloudflare(当前 NS = cloudflareNameservers);originalNameservers 是迁移前旧值,仅参考。"
415
- : "zoneStatus≠active → NS 尚未生效到 CF。验真实委派查权威 DNS(dns.google),别信原始字段。改 NS:`clize domain ns <域名> <ns…>`。",
430
+ ? t("zoneStatus=active → the domain is delegated to Cloudflare (current NS = cloudflareNameservers); originalNameservers is the pre-migration value, for reference only.")
431
+ : t("zoneStatus≠active → the NS has not taken effect on CF yet. Verify real delegation against authoritative DNS (dns.google); do not trust the raw fields. Change the NS: `clize domain ns <domain> <ns…>`."),
416
432
  };
417
433
  }
418
434
  /**
@@ -424,12 +440,15 @@ export async function getDomainNameservers(ctx, domain) {
424
440
  export async function setDomainNameservers(ctx, domain, nameservers) {
425
441
  const d = domain.toLowerCase();
426
442
  if (!nameservers.length)
427
- throw new Error("需至少一个 nameserver(只想看现状就别带 ns 参数)");
443
+ throw new Error(t("At least one nameserver is required (omit the ns argument to only view the current state)"));
428
444
  const id = await ctx.store.getIdentity(ctx.tenantId, d);
429
445
  const reg = ctx.providers.registrar;
446
+ // 免费 handle:平台子域,NS 由平台 zone 决定,没有「改 NS」这回事。
447
+ if (id?.status === "handle")
448
+ throw new Error(t `${d} is a free handle (platform subdomain); its NS is set by the platform zone and cannot change. For custom NS use your own domain (clize domain buy / import).`);
430
449
  // 外部接入域:clize 没有原注册商权限,改不了 —— 给出目标 NS、引导用户去原注册商改。
431
450
  if (id?.status === "external")
432
- throw new Error(`${d} 是外部接入域,clize 没有它原注册商的权限、无法程序化改 NS。请到你注册该域名的服务商处把 nameservers 改成:${nameservers.join(", ")}。`);
451
+ throw new Error(t `${d} is an imported domain; clize has no access to its registrar and cannot change the NS programmatically. Change the nameservers at the registrar where you bought it to: ${nameservers.join(", ")}.`);
433
452
  // 判真实注册商:registrar 字段(注册时回填 / 对账校正)优先,zone 源 NS 指向 vercel-dns 兜底。
434
453
  const apex = d.split(".").slice(-2).join(".");
435
454
  const zoneId = await ctx.cf.findZoneId(apex).catch(() => undefined);
@@ -438,9 +457,9 @@ export async function setDomainNameservers(ctx, domain, nameservers) {
438
457
  : false;
439
458
  const isVercel = id?.registrar === "vercel" || onVercelNs;
440
459
  if (id?.registrar === "cloudflare" && !isVercel)
441
- throw new Error(`${d} 注册在 Cloudflare Registrar,其 NS 锁定在 Cloudflare、不能指向第三方(CF Registrar 硬限制)。要自管 DNS \`clize dns\` 直接在 CF 上配记录。`);
460
+ throw new Error(t `${d} is registered at Cloudflare Registrar; its NS is locked to Cloudflare and cannot point to a third party (a CF Registrar restriction). To manage DNS yourself, set records directly on CF with \`clize dns\`.`);
442
461
  if (!reg.setNameservers)
443
- throw new Error(`${d} 的注册商不支持程序化改 NS(可能是修复前的存量记录)——先跑注册商对账,或确认它确属 clize 注册。`);
462
+ throw new Error(t `${d}'s registrar does not support changing the NS programmatically (possibly a record from before the fix) — run the registrar reconciliation first, or confirm it was really registered through clize.`);
444
463
  await reg.setNameservers(d, nameservers);
445
464
  await ctx.store
446
465
  .appendAudit(ctx.tenantId, {
@@ -455,10 +474,10 @@ export async function setDomainNameservers(ctx, domain, nameservers) {
455
474
  domain: d,
456
475
  nameservers,
457
476
  registrar: id?.registrar ?? "vercel",
458
- message: `已把 ${d} NS 设为:${nameservers.join(", ")}(注册局生效 + 传播需几分钟;验证查 dns.google,别信注册商自家字段)。`,
477
+ message: t `Set the NS of ${d} to: ${nameservers.join(", ")} (registry update + propagation take a few minutes; verify against dns.google, not the registrar's own fields).`,
459
478
  ...(offCloudflare
460
479
  ? {
461
- warning: "⚠️ NS 已指离 Cloudflare —— 该域上的 clize 邮箱(收信)和站点会停止工作,直到把 NS 指回 CF nameservers",
480
+ warning: t("⚠️ The NS now points away from Cloudflare the domain's clize mailboxes (inbound) and site stop working until the NS points back at CF's nameservers."),
462
481
  }
463
482
  : {}),
464
483
  };
@@ -479,20 +498,20 @@ export async function removeDomain(ctx, domain, opts = {}) {
479
498
  const d = domain.toLowerCase();
480
499
  const id = await ctx.store.getIdentity(ctx.tenantId, d);
481
500
  if (!id)
482
- throw new ClizeError(`${d} 不在你的 clize 账户里(clize domain list 看列表)`, 404);
501
+ throw new ClizeError(t `${d} is not in your clize account (see clize domain list)`, 404);
483
502
  const mailboxes = (await ctx.store.listMailboxesOnDomain?.(ctx.tenantId, d)) ?? [];
484
503
  const carrying = [];
485
504
  if (id.site?.url || id.site?.customDomain)
486
- carrying.push(`站点(${id.site.customDomain || id.site.url})`);
505
+ carrying.push(t `a site (${id.site.customDomain || id.site.url})`);
487
506
  if (id.email?.inboundReady)
488
- carrying.push("收信链路");
507
+ carrying.push(t("inbound email"));
489
508
  if (id.email?.outboundReady)
490
- carrying.push("发信域");
509
+ carrying.push(t("sending domain"));
491
510
  if (mailboxes.length)
492
- carrying.push(`${mailboxes.length} 个邮箱(${mailboxes.map((m) => m.address).join(", ")})`);
511
+ carrying.push(t `${mailboxes.length} mailbox(es) (${mailboxes.map((m) => m.address).join(", ")})`);
493
512
  if (carrying.length && !opts.force)
494
- throw new ClizeError(`${d} 上还跑着:${carrying.join(" · ")}。摘掉后 clize 不再认识这个域 —— 巡检和断链告警也一起没了,` +
495
- `站点 / 邮箱却还在跑,等于亲手造一次静默断链。先拆干净再摘;确认要连着摘就加 --force。`, 409);
513
+ throw new ClizeError(t `${d} still runs: ${carrying.join(" · ")}. Once removed, clize no longer knows this domain — the health check and outage alerts go with it,` +
514
+ t("while the site / mailboxes keep running, which is a silent outage of your own making. Tear them down first, then remove; to remove regardless add --force."), 409);
496
515
  const addresses = await ctx.store.listAddresses(ctx.tenantId, d);
497
516
  for (const a of addresses)
498
517
  await ctx.store.removeAddress(ctx.tenantId, a.address);
@@ -509,8 +528,9 @@ export async function removeDomain(ctx, domain, opts = {}) {
509
528
  removed: true,
510
529
  ...(addresses.length ? { addressesRemoved: addresses.length } : {}),
511
530
  ...(carrying.length ? { wasCarrying: carrying } : {}),
512
- message: `✓ ${d} 已从 clize 摘掉:身份 / 地址档案 / 健康巡检记录都清了,不再出现在 status domain list,也不再发巡检告警。\n` +
513
- `域名本身没动 —— NS 没改、DNS 没删、注册没退、CF zone 没动。要再接回来:clize domain import ${d}。`,
531
+ message: t `✓ ${d} removed from clize: identity / address records / health records cleared; it no longer appears in status or domain list and no longer alerts.
532
+ ` +
533
+ t `The domain itself is untouched — NS unchanged, DNS kept, registration kept, CF zone kept. To add it back: clize domain import ${d}.`,
514
534
  };
515
535
  }
516
536
  /** 从注册商拉取真实已注册域名列表(含到期时间,用于防过期巡检)。 */
@@ -521,12 +541,49 @@ export function listRegistered(ctx) {
521
541
  * opts 原样透给 workspaceStatus —— 收件箱 v2 的 waiting / identity 由 worker 按权限算好传进来,
522
542
  * 这里绝不能少传:少传一次就退回 KV 全量扫描,--assets 与裸 status 的待办数会打架。 */
523
543
  export async function assetsHealth(ctx, opts = {}) {
524
- const [overview, registered, gen] = await Promise.all([
544
+ const [overview, registered, gen, health] = await Promise.all([
525
545
  workspaceStatus(ctx, opts),
526
546
  listRegistered(ctx).catch(() => []),
527
547
  genAssetsHealth(ctx),
548
+ domainHealthSummary(ctx),
528
549
  ]);
529
- return { ...overview, registered, gen };
550
+ // 覆盖口径:巡检账是全租户的,domainCount 在检出项目时是项目口径 —— 只有全租户视图下
551
+ // 「巡了几个 / 一共几个」才可比,对不上才解释(对得上时一个数字自明,不占 token)。
552
+ const scoped = Boolean(overview.spentScope);
553
+ const domainCount = Number(overview.domainCount ?? 0);
554
+ const checked = health ? Number(health.checkedCount ?? 0) : 0;
555
+ const health2 = health && !scoped && checked < domainCount
556
+ ? {
557
+ ...health,
558
+ checkedScope: t `${checked}/${domainCount} — the sweep runs every 30 minutes; newly added domains join the next round (nothing is skipped)`,
559
+ }
560
+ : health;
561
+ return { ...overview, registered, gen, ...(health2 ? { health: health2 } : {}) };
562
+ }
563
+ /** 巡检健康汇总:读 domain_health 账(平台 cron 每 30 分钟写),零探测零网络成本。
564
+ * 正常态只回 checkedCount;有异常才展开 issues —— 与 configHealth 同哲学(高频响应省 token)。
565
+ * 巡检范围 = 全部纳管域(2026-09-01 起含平台 handle 与 pending;见 worker.sweepDomainHealth),
566
+ * 所以正常态 checkedCount 应当等于 domainCount;对不上由 assetsHealth 补一句 checkedScope。
567
+ * 本地 File store 无巡检表 → undefined,字段整个不出现。 */
568
+ async function domainHealthSummary(ctx) {
569
+ if (!ctx.store.listDomainHealth)
570
+ return undefined;
571
+ const rows = await ctx.store.listDomainHealth(ctx.tenantId).catch(() => []);
572
+ if (!rows.length)
573
+ return undefined;
574
+ const issues = rows.filter((r) => !r.ok);
575
+ return {
576
+ checkedCount: rows.length,
577
+ ...(issues.length
578
+ ? {
579
+ issues: issues.map((r) => ({
580
+ domain: r.domain,
581
+ checkedAt: r.checkedAt,
582
+ ...(r.failedSince ? { failedSince: r.failedSince } : {}),
583
+ })),
584
+ }
585
+ : {}),
586
+ };
530
587
  }
531
588
  /** 生成式媒体资产健康:数量 / 存储占用 / 按模态 / 预批额度 / 最近几条(与域名 / 邮箱并列)。 */
532
589
  async function genAssetsHealth(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/core/domains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/core/domains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,kFAAkF;AAClF,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;AAE9C,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAY;IAClD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,SAE/B,CAAC;IACF,MAAM,MAAM,GACV,OAAO,SAAS,CAAC,mBAAmB,KAAK,UAAU;QACjD,CAAC,CAAC,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,gBAAgB,EAAE,eAAe;QACjC,cAAc,EAAE,MAAM,CAAC,MAAM;QAC7B,IAAI,EAAE,MAAM,CAAC,MAAM;YACjB,CAAC,CAAC,CAAC,CAAA,GAAG,eAAe,CAAC,MAAM,mGAAmG,GAAG,CAAC,MAAM,iIAAiI;YAC1Q,CAAC,CAAC,CAAC,CAAA,mCAAmC,eAAe,CAAC,MAAM,4EAA4E;QAC1I,IAAI,EAAE,GAAG;KACV,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,SAAS,WAAW,CAAC,GAAY,EAAE,MAAc,EAAE,SAAmC;IACpF,MAAM,EAAE,GAAG,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;IACzE,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,0CAA0C;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAY,EAAE,OAAiB;IACjE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzE,yBAAyB;IACzB,yDAAyD;IACzD,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,CAAC,4BAA4B;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAgD,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,CAAC,CAAC;YACE,GAAG,CAAC;YACJ,gBAAgB,EACd,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAC1F,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;SACvF,CACN,CAAC;AACJ,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAY;IAC5C,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAY,EAAE,MAAc;IAC1D,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAA,UAAU,MAAM,gDAAgD,CAAC,CAAC;IAC5F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAY,EACZ,MAAc,EACd,OAAgC,EAAE;IAElC,uDAAuD;IACvD,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IAEzC,sDAAsD;IACtD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAE9C,yCAAyC;IACzC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,EAAE,SAAS;QACnB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAA,UAAU,MAAM,oBAAoB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnG,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACpC,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,SAAgD,CAAC,CAAC;IAElG,sDAAsD;IACtD,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClF,MAAM,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE5C,UAAU;IACV,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;YACxC,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;YAC7B,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,SAAS;SACV,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC3C,MAAM;YACN,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,CAAC,CAAC,2CAA2C,CAAC;YACrD,SAAS;SACV,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,CAAC,CAAC,uEAAuE,CAAC;SACpF,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,MAAM,UAAU,GAAG,eAAe,CAAC;IACnC,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACrD,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,uDAAuD;QACvD,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACrF,wCAAwC;QACxC,uDAAuD;QACvD,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE;YACnD,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,EAAE,MAAM,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,OAAO,IAAI,IAAI;YACjB,MAAM,GAAG,CAAC,KAAK;iBACZ,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,gCAAgC,CAAC,EAAE,EAAE,CAAC;iBAC3H,KAAK,CAAC,GAAG,EAAE;gBACV,iBAAiB;YACnB,CAAC,CAAC,CAAC;QACP,MAAM,CAAC,CAAC;IACV,CAAC;IACD,qDAAqD;IACrD,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;QAC/E,IAAI,EAAE,OAAO,IAAI,IAAI;QACrB,SAAS;KACV,CAAC,CAAC;IAEH,qBAAqB;IACrB,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtE,MAAM,MAAM,GAA6B,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC3C,MAAM;QACN,MAAM;QACN,MAAM;QACN,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS;QACT,sDAAsD;QACtD,kEAAkE;QAClE,sEAAsE;QACtE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,SAAS;KACV,CAAC,CAAC;IAEH,yCAAyC;IACzC,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,OAAO,IAAI,IAAI;QAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM;QACN,SAAS;QACT,GAAG,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,IAAI,EAAE,CAAC,CAAC,oQAAoQ,CAAC;aAC9Q;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAY,EACZ,MAAc;IAEd,2CAA2C;IAC3C,+CAA+C;IAC/C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE,mBAAmB;IACnB,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC3C,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,yDAAyD;YACzD,yDAAyD;YACzD,wDAAwD;YACxD,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,UAAU;YACnC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,SAAS;SACV,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,CAAC,CAAA,6EAA6E,MAAM,mDAAmD;aACjJ,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,cAAc,EAAE,CAAC,CAAA,8FAA8F,MAAM,iCAAiC;YACtJ,OAAO,EAAE,CAAC,CAAC,iQAAiQ,CAAC;SAC9Q,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,OAAO,EACL,CAAC,CAAC,8HAA8H,CAAC;SACpI,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;KACpC,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC3C,MAAM;QACN,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,qBAAqB;QAC1D,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,SAAS;KACV,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,wBAAwB;QAC7C,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,SAAS,EAAE;YACT,CAAC,CAAC,+FAA+F,CAAC;YAClG,CAAC,CAAC,gMAAgM,CAAC;YACnM,CAAC,CAAA,yDAAyD,MAAM,4DAA4D,MAAM,mBAAmB;SACtJ;KACF,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAY,EACZ,UAAuB;IAEvB,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,GAA0E,EAAE,CAAC;IAC1F,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY;YAAE,SAAS;QACtC,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,4DAA4D;YAC5D,kCAAkC;YAClC,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,2BAA2B;QACvC,CAAC;QACD,sBAAsB;QACtB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmD,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU;gBACjD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CACnF,CAAC;YACF,IAAI,CAAC,OAAO;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;IAC/E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAY,EACZ,OAMI,EAAE;IAEN,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAExE,iDAAiD;IACjD,2DAA2D;IAC3D,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACzF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,SAAS,GACb,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;gBAChG,KAAK;oBACH,CAAC,CAAA,oCAAoC,GAAG,CAAC,WAAW,qBAAqB,IAAI,CAAC,WAAW,iCAAiC,SAAS,MAAM;wBACzI,CAAC,CAAA,qGAAqG,SAAS,EAAE,CAAC;YACtH,CAAC;QACH,CAAC;IACH,CAAC;IACD,qDAAqD;IACrD,2DAA2D;IAC3D,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW;QAClC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,OAAO;QACL,6CAA6C;QAC7C,wDAAwD;QACxD,OAAO,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;QAChC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,KAAK,kBAAkB;YAClC,CAAC,CAAC;gBACE,WAAW,EAAE,CAAC,CAAA,YAAY,GAAG,CAAC,WAAW,6GAA6G;aACvJ;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,YAAY,GAAG,CAAC;YACtC,CAAC,CAAC;gBACE,WAAW,EAAE,CAAC,CAAA,mBAAmB,YAAY,gLAAgL;aAC9N;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,kEAAkE;QAClE,4DAA4D;QAC5D,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB;YACrC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAA,YAAY,kBAAkB,uBAAuB,OAAO,CAAC,MAAM,wEAAwE,EAAE;YACpK,CAAC,CAAC,EAAE,CAAC;QACP,6DAA6D;QAC7D,sDAAsD;QACtD,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;QACzB,sDAAsD;QACtD,kDAAkD;QAClD,EAAE;QACF,2DAA2D;QAC3D,sEAAsE;QACtE,6DAA6D;QAC7D,uCAAuC;QACvC,6DAA6D;QAC7D,iBAAiB,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,SAAS;gBAAE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B;YACtE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,EAAE;QACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,WAAW,EAAE,UAAU,CAAC,MAAM;QAC9B,0DAA0D;QAC1D,uDAAuD;QACvD,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,MAAM;QAC/E,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC;YAC/D,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;SAC3B,CAAC,CAAC;QACH,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,kBAAkB;YACxC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAA,QAAQ,kBAAkB,IAAI,UAAU,CAAC,MAAM,iCAAiC,EAAE;YACzG,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,SAAS,YAAY,CAAC,GAAY;IAChC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;IAChE,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,uBAAuB;IACpE,IAAI,GAAG,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzC,MAAM,CAAC,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAChE,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;QACzE,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,6EAA6E,CAAC,CAAC;IACrG,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAY,EAAE,KAAK,GAAG,EAAE;IACrD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAY,EACZ,MAAc,EACd,OAAgB;IAEhB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;YACxC,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;YAC3B,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,sCAAsC,CAAC,EAAE,CAAC;IAC1G,CAAC;IACD,6DAA6D;IAC7D,yDAAyD;IACzD,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAChG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;KAC5B,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC;AACnH,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAY,EACZ,MAAc;IAEd,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,CAAC;QACT,SAAS,EACP,EAAE,EAAE,MAAM,KAAK,QAAQ;YACrB,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC;YACxC,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,UAAU;gBACzB,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC;gBACtC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACvD,MAAM,EAAE,EAAE,EAAE,MAAM;QAClB,UAAU,EAAE,IAAI,EAAE,MAAM;QACxB,6DAA6D;QAC7D,qBAAqB,EAAE,MAAM;QAC7B,qBAAqB,EAAE,IAAI,EAAE,YAAY;QACzC,+FAA+F;QAC/F,mBAAmB,EAAE,IAAI,EAAE,qBAAqB,IAAI,EAAE,EAAE,WAAW;QACnE,IAAI,EAAE,MAAM;YACV,CAAC,CAAC,CAAC,CAAC,qKAAqK,CAAC;YAC1K,CAAC,CAAC,CAAC,CAAC,yMAAyM,CAAC;KACjN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAY,EACZ,MAAc,EACd,WAAqB;IAErB,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,2FAA2F,CAAC,CAAC,CAAC;IACzI,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;IAEpC,6CAA6C;IAC7C,IAAI,EAAE,EAAE,MAAM,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAA,GAAG,CAAC,8JAA8J,CAAC,CAAC;IACvL,kDAAkD;IAClD,IAAI,EAAE,EAAE,MAAM,KAAK,UAAU;QAC3B,MAAM,IAAI,KAAK,CACb,CAAC,CAAA,GAAG,CAAC,2KAA2K,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1M,CAAC;IAEJ,kEAAkE;IAClE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,qBAAqB,CAAC;QACnG,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,EAAE,EAAE,SAAS,KAAK,QAAQ,IAAI,UAAU,CAAC;IAE1D,IAAI,EAAE,EAAE,SAAS,KAAK,YAAY,IAAI,CAAC,QAAQ;QAC7C,MAAM,IAAI,KAAK,CACb,CAAC,CAAA,GAAG,CAAC,+MAA+M,CACrN,CAAC;IACJ,IAAI,CAAC,GAAG,CAAC,cAAc;QACrB,MAAM,IAAI,KAAK,CACb,CAAC,CAAA,GAAG,CAAC,qMAAqM,CAC3M,CAAC;IAEJ,MAAM,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,GAAG,CAAC,KAAK;SACZ,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACzB,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;KACrD,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnB,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEzE,qEAAqE;IACrE,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,OAAO;QACL,MAAM,EAAE,CAAC;QACT,WAAW;QACX,SAAS,EAAE,EAAE,EAAE,SAAS,IAAI,QAAQ;QACpC,OAAO,EAAE,CAAC,CAAA,iBAAiB,CAAC,QAAQ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iHAAiH;QAC3K,GAAG,CAAC,aAAa;YACf,CAAC,CAAC;gBACE,OAAO,EACL,CAAC,CAAC,wJAAwJ,CAAC;aAC9J;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAY,EACZ,MAAc,EACd,OAA4B,EAAE;IAE9B,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,CAAC,CAAA,GAAG,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;IAEjG,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,WAAW,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IAC7G,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChE,IAAI,SAAS,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,GAAG,SAAS,CAAC,MAAM,iBAAiB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxH,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;QAChC,MAAM,IAAI,UAAU,CAClB,CAAC,CAAA,GAAG,CAAC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,oGAAoG;YAC3I,CAAC,CAAC,4JAA4J,CAAC,EACjK,GAAG,CACJ,CAAC;IAEJ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAClF,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,GAAG,CAAC,KAAK;SACZ,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACzB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,QAAQ,EAAE;KAC7G,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEnB,OAAO;QACL,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,EACL,CAAC,CAAA,KAAK,CAAC;CACZ;YACK,CAAC,CAAA,iIAAiI,CAAC,GAAG;KACzI,CAAC;AACJ,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;AAClD,CAAC;AAED;;0DAE0D;AAC1D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAY,EACZ,OAA8C,EAAE;IAEhD,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5D,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC;QAC1B,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAgD,CAAC;QACjF,eAAe,CAAC,GAAG,CAAC;QACpB,mBAAmB,CAAC,GAAG,CAAC;KACzB,CAAC,CAAC;IACH,oDAAoD;IACpD,gDAAgD;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,WAAW;QACxC,CAAC,CAAC;YACE,GAAG,MAAM;YACT,YAAY,EAAE,CAAC,CAAA,GAAG,OAAO,IAAI,WAAW,kGAAkG;SAC3I;QACH,CAAC,CAAC,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACnF,CAAC;AAED;;;;8CAI8C;AAC9C,KAAK,UAAU,mBAAmB,CAChC,GAAY;IAEZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAC/D,GAAG,EAAE,CAAC,EAAyE,CAChF,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzC,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,MAAM;QACzB,GAAG,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC;gBACE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,KAAK,UAAU,eAAe,CAAC,GAAY;IACzC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACvB,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EACrE,CAAC,CACF,CAAC;IACF,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,MAAM;QACvB,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC;QACjC,UAAU;QACV,MAAM,EAAE,MAAM;YACZ,CAAC,CAAC;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG;gBACjD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;aACnF;YACH,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC;YAClD,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAChD,CAAC"}
@@ -5,6 +5,8 @@
5
5
  // 在 worker 里(需要 exec.waitUntil / D1Store)。这样这部分可脱离 D1 单测。
6
6
  // ============================================================
7
7
  import { ClizeError } from "../lib/errors.js";
8
+ /** 一次事务性发信请求(worker 从 body 收,归一后交给发送)。 */
9
+ import { t } from "../i18n/t.js";
8
10
  const EMAIL_RE = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;
9
11
  function asArray(v) {
10
12
  if (!v)
@@ -18,20 +20,20 @@ function asArray(v) {
18
20
  export function normalizeTransactional(input) {
19
21
  const from = (input.from || "").trim();
20
22
  if (!EMAIL_RE.test(from))
21
- throw new ClizeError("from 不是合法邮箱地址", 400);
23
+ throw new ClizeError(t("from is not a valid email address"), 400);
22
24
  const recipients = asArray(input.to).map((s) => s.toLowerCase());
23
25
  if (!recipients.length)
24
- throw new ClizeError("需至少一个 to 收件人", 400);
26
+ throw new ClizeError(t("At least one to recipient is required"), 400);
25
27
  const bad = recipients.find((r) => !EMAIL_RE.test(r));
26
28
  if (bad)
27
- throw new ClizeError(`收件人地址不合法:${bad}`, 400);
29
+ throw new ClizeError(t `Recipient address is not valid: ${bad}`, 400);
28
30
  if (recipients.length > 50)
29
- throw new ClizeError("单次 to 收件人不超过 50 (批量请分多次调用)", 400);
31
+ throw new ClizeError(t("At most 50 to recipients per call (split larger batches into several calls)"), 400);
30
32
  const subject = (input.subject || "").trim();
31
33
  if (!subject)
32
- throw new ClizeError(" subject", 400);
34
+ throw new ClizeError(t("subject required"), 400);
33
35
  if (!input.html && !input.text)
34
- throw new ClizeError("html text 至少提供一个", 400);
36
+ throw new ClizeError(t("Provide at least one of html or text"), 400);
35
37
  const listId = (input.list || "").trim().slice(0, 120);
36
38
  const msg = {
37
39
  from,
@@ -1 +1 @@
1
- {"version":3,"file":"email-tx.js","sourceRoot":"","sources":["../../src/core/email-tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-tx.js","sourceRoot":"","sources":["../../src/core/email-tx.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uCAAuC;AACvC,6CAA6C;AAC7C,2EAA2E;AAC3E,2DAA2D;AAC3D,+DAA+D;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,0CAA0C;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAyBjC,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAE9C,SAAS,OAAO,CAAC,CAAgC;IAC/C,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,mCAAmC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5F,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,uCAAuC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,CAAC,CAAA,mCAAmC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,6EAA6E,CAAC,EAAE,GAAG,CAAC,CAAC;IACxI,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrG,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvD,MAAM,GAAG,GAAkB;QACzB,IAAI;QACJ,EAAE,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;QACxD,OAAO;QACP,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS;QAC3C,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5D,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;KAC/F,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACtE,CAAC;AAED,sBAAsB;AACtB,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AACD,SAAS,aAAa,CAAC,CAAS;IAC9B,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,IAAI,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAChC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,8BAA8B;AAC9B,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS;IAC3C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAAe;IACnE,OAAO,UAAU,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AASD,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,CAAe;IAClE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,KAAa;IAEb,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAiB,CAAC;QACpF,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1E,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CACvC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAkB,EAAE,QAAgB;IACpE,MAAM,OAAO,GAA2B;QACtC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QACtB,kBAAkB,EAAE,IAAI,QAAQ,GAAG;QACnC,uBAAuB,EAAE,4BAA4B;KACtD,CAAC;IACF,MAAM,GAAG,GAAkB,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC;IAC/C,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,GAAG,CAAC,IAAI;YACN,GAAG,CAAC,IAAI;gBACR,6IAA6I;gBAC7I,iDAAiD;gBACjD,YAAY,UAAU,CAAC,QAAQ,CAAC,oEAAoE;gBACpG,QAAQ,CAAC;IACb,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,uBAAuB,QAAQ,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}