dsh-coding-subscription-oauth 0.6.5 → 0.7.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.
- package/CHANGELOG.md +13 -2
- package/CONTRIBUTING.md +1 -1
- package/INSTALL.md +12 -8
- package/README.de.md +5 -5
- package/README.es.md +5 -5
- package/README.fr.md +5 -5
- package/README.ja.md +5 -5
- package/README.ko.md +5 -5
- package/README.md +7 -6
- package/README.pt-BR.md +5 -5
- package/README.ru.md +5 -5
- package/README.zh-CN.md +7 -6
- package/compatibility/dsh-bom.json +8 -2
- package/docs/00-project-rules.md +3 -2
- package/docs/02-architecture.md +5 -5
- package/docs/02-architecture.zh-CN.md +5 -5
- package/lib/auth-routes.d.ts +10 -1
- package/lib/auth-routes.d.ts.map +1 -1
- package/lib/bin.js +483 -50
- package/lib/bin.js.map +4 -4
- package/lib/client.js +5 -5
- package/lib/client.js.map +4 -4
- package/lib/compatibility.d.ts +0 -1
- package/lib/compatibility.d.ts.map +1 -1
- package/lib/gateway-protocol.d.ts +3 -3
- package/lib/gateway-protocol.d.ts.map +1 -1
- package/lib/grok-errors.d.ts +2 -2
- package/lib/grok-errors.d.ts.map +1 -1
- package/lib/http-json.d.ts +2 -2
- package/lib/http-json.d.ts.map +1 -1
- package/lib/ids.d.ts +4 -0
- package/lib/ids.d.ts.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +677 -163
- package/lib/index.js.map +4 -4
- package/lib/kimi-errors.d.ts +2 -2
- package/lib/kimi-errors.d.ts.map +1 -1
- package/lib/oauth-session.d.ts +2 -0
- package/lib/oauth-session.d.ts.map +1 -1
- package/lib/session.d.ts +2 -0
- package/lib/session.d.ts.map +1 -1
- package/lib/store.d.ts +73 -1
- package/lib/store.d.ts.map +1 -1
- package/package.json +6 -8
- package/lib/runtime/gateway-protocol.d.ts +0 -47
- package/lib/runtime/gateway-protocol.d.ts.map +0 -1
- package/lib/runtime/grok-errors.d.ts +0 -13
- package/lib/runtime/grok-errors.d.ts.map +0 -1
- package/lib/runtime/http-json.d.ts +0 -10
- package/lib/runtime/http-json.d.ts.map +0 -1
- package/lib/runtime/kimi-errors.d.ts +0 -13
- package/lib/runtime/kimi-errors.d.ts.map +0 -1
package/docs/02-architecture.md
CHANGED
|
@@ -61,7 +61,7 @@ ctx.llm route
|
|
|
61
61
|
- `oauth-sources.ts`: allowlisted official Grok/Codex/Kimi/Claude CLI discovery; hardened lstat/`O_NOFOLLOW`/owner/mode/regular-file/size reads; one-use preview tickets (five minutes, max 32); never writes official CLI files.
|
|
62
62
|
- `oauth-import-routes.ts`: same-origin Pull HTTP API (discover → preview → commit/cancel) into the destination store lock.
|
|
63
63
|
- `alias-adapter.ts`: translates Harness routes, does not modify pi-ai `model.provider`, and runs a credential gate before `listModels()`; unauthenticated or unreadable credentials return an empty catalog, and the provider group name is `(OAuth)`. On an AUTH finish it invalidates the stored token so the harness retry can refresh first. The finish pipeline also remaps Kimi misclassified AUTH context overflow and xAI capacity wording → `RATE_LIMIT`.
|
|
64
|
-
- `grok-errors.ts`
|
|
64
|
+
- `grok-errors.ts` (re-export of `dsh-coding-oauth-core/grok-errors`): detects xAI “at capacity / high demand / priority processing / overloaded” messages and rewrites them to `RATE_LIMIT` so they are not skipped as `PI_AI_ERROR`.
|
|
65
65
|
- `adapter.ts`: composes Grok with the three subscription profiles; asks pi-ai for a 60 s remaining-validity floor and registers a retry policy that includes AUTH plus transient codes (default 5 retries, 5 s → 80 s stacked exponential). Optionally wraps `codex-oauth-fast` as **Fast requested**.
|
|
66
66
|
- `auth-routes.ts`: legacy Grok API + the unified `/plugins/dsh-grok-build/oauth/*`; JSON writes use a 64 KiB bounded reader and return 400/413 for malformed/oversized bodies.
|
|
67
67
|
- `capability-settings.ts`: default-off live flags and limits (search 1–20, image count 1–4, artifact TTL 1 h–7 d).
|
|
@@ -118,11 +118,11 @@ The legacy `/plugins/dsh-grok-build/auth/*` endpoints remain registered and reus
|
|
|
118
118
|
|
|
119
119
|
## 5. Antigravity
|
|
120
120
|
|
|
121
|
-
This project does not replicate the private Google Antigravity protocol. The profile separately installs `dsh-agy@0.1.2`, which provides the `agy` route. Because the `/agy` dashboard in that version includes an export API with no authentication of its own, trusted-host deployments should disable `dsh-agy-web` in the profile's final `cordis.patch.yml` (see `INSTALL.md`) and keep only the host adapter and CLI. The profile uses a pnpm patch with a lockfile hash: with no Google session, `listModels()` returns empty; after authentication the provider group name is `Google Antigravity (OAuth)`.
|
|
121
|
+
This project does not replicate the private Google Antigravity protocol. The profile separately installs `dsh-agy@0.1.2`, which provides the `agy` route. Because the `/agy` dashboard in that version includes an export API with no authentication of its own, trusted-host deployments should disable `dsh-agy-web` in the profile's final `cordis.patch.yml` (see `INSTALL.md`) and keep only the host adapter and CLI. The profile uses a pnpm patch with a lockfile hash: with no Google session, `listModels()` returns empty; after authentication the provider group name is `Google Antigravity (OAuth)`. Decision to **keep** `patches/dsh-agy@0.1.2.patch` (upstream not absorbed as of 0.2.4): [`docs/research/adr-dsh-agy-patch.md`](research/adr-dsh-agy-patch.md).
|
|
122
122
|
|
|
123
123
|
## 6. Compatibility
|
|
124
124
|
|
|
125
|
-
The canonical package and repository name is **`dsh-coding-subscription-oauth`**. The previous GitHub URL still resolves to the same `main`, so old `dsh plugin add github:lninghaha/dsh-grok-build` commands continue to install the renamed package. The first public npm/GitHub Release was **`0.4.1`**. The current release is **`0.
|
|
125
|
+
The canonical package and repository name is **`dsh-coding-subscription-oauth`**. The previous GitHub URL still resolves to the same `main`, so old `dsh plugin add github:lninghaha/dsh-grok-build` commands continue to install the renamed package. The first public npm/GitHub Release was **`0.4.1`**. The current release is **`0.7.0`** (`dsh plugin --profile web add dsh-coding-subscription-oauth@0.7.0`), verified against DSH **`0.1.1-rc.2`**. `0.1.5-rc.1` is recorded only as an unverified BOM candidate; client inject no longer requires `@deepseek-ai/dsh-client-runtime` (absent on that candidate). GitHub and local tarball installs remain valid.
|
|
126
126
|
|
|
127
127
|
Stable on-disk / in-process identifiers (do not rename without a migration):
|
|
128
128
|
|
|
@@ -135,8 +135,8 @@ Stable on-disk / in-process identifiers (do not rename without a migration):
|
|
|
135
135
|
|
|
136
136
|
New routes use the `*-oauth` alias and do not occupy `openai`, `xai` or `kimi-coding`. In v0.3.0 the `grok-build` fallback/default advances to `grok-4.6`; saved user defaults still win.
|
|
137
137
|
|
|
138
|
-
Hub and this standalone participant pin the same `dsh-coding-oauth-core@0.1.
|
|
138
|
+
Hub and this standalone participant pin the same `dsh-coding-oauth-core@0.1.2` and `undici@7.29.0`. The core owns root-scoped owner election, reference-counted proxy policy, atomic registration helpers, provider/route/credential identifiers, the capability namespace, Gateway state filename, and all legacy/current management paths. Hub has priority while installed; this participant remains standby and resumes without renaming routes or resetting credentials after Hub unloads. Grok Imagine keeps its explicit pinned dispatcher and does not use the shared proxy lease.
|
|
139
139
|
|
|
140
140
|
### Shared runtime extract (first slice)
|
|
141
141
|
|
|
142
|
-
Hub
|
|
142
|
+
Hub and this participant share four pure helpers via published `dsh-coding-oauth-core@0.1.2`: `http-json`, `grok-errors`, `kimi-errors`, and `gateway-protocol`. Thin facades remain at the historical `src/*.ts` paths and re-export those subpaths. `pnpm run assert:oauth-core` pins the registry version and verifies the subpath exports resolve.
|
|
@@ -61,7 +61,7 @@ ctx.llm route
|
|
|
61
61
|
- `oauth-sources.ts`:白名单官方 Grok/Codex/Kimi/Claude CLI 发现;加固的 lstat/`O_NOFOLLOW`/属主/权限/普通文件/大小读取;一次性预览票据(五分钟、最多 32 张);从不写入官方 CLI 文件。
|
|
62
62
|
- `oauth-import-routes.ts`:同源拉取 HTTP API(发现 → 预览 → 提交/取消),写入发生在目标 store 锁内。
|
|
63
63
|
- `alias-adapter.ts`:转换 Harness route、不修改 pi-ai model.provider,并在 `listModels()` 前执行 credential gate;未认证或凭据读取失败返回空目录,provider group 名使用 `(OAuth)`。AUTH finish 时作废本地令牌,让 harness 重试先刷新。finish 管道还会重映射 Kimi 误标 AUTH 的上下文溢出,以及 xAI capacity 文案 → `RATE_LIMIT`。
|
|
64
|
-
- `grok-errors.ts
|
|
64
|
+
- `grok-errors.ts`(再导出 `dsh-coding-oauth-core/grok-errors`):识别 xAI「at capacity / high demand / priority processing / overloaded」并改为 `RATE_LIMIT`,避免 `PI_AI_ERROR` 跳过退避。
|
|
65
65
|
- `adapter.ts`:组合 Grok 与三个 subscription profile;向 pi-ai 要求至少 60 秒剩余有效期,并注册包含 AUTH 与瞬时故障码的 retryPolicy(默认 5 次,5 s → 80 s 指数叠加)。可选包装 `codex-oauth-fast`,显示为 **已请求 Fast**。
|
|
66
66
|
- `auth-routes.ts`:旧 Grok API + 新统一 `/plugins/dsh-grok-build/oauth/*`;JSON 写请求使用 64 KiB 有界读取器,无效/超限 body 分别返回 400/413。
|
|
67
67
|
- `capability-settings.ts`:默认关闭、立即生效的开关与限制(搜索 1–20、图像 1–4、产物 TTL 1 小时–7 天)。
|
|
@@ -118,11 +118,11 @@ POST /plugins/dsh-grok-build/gateway/rotate
|
|
|
118
118
|
|
|
119
119
|
## 5. Antigravity
|
|
120
120
|
|
|
121
|
-
本项目不复制 Google Antigravity 私有协议。profile 单独安装 `dsh-agy@0.1.2`,提供 `agy` route。由于该版本的 `/agy` dashboard 含无自身认证的 export API,trusted-host 部署应在 profile 最终 `cordis.patch.yml` 中禁用 `dsh-agy-web`(见 `INSTALL.md`),只保留 host adapter 和 CLI。profile 使用带 lockfile hash 的 pnpm patch:无 Google session 时 `listModels()` 返回空,认证后 provider group 名为 `Google Antigravity (OAuth)
|
|
121
|
+
本项目不复制 Google Antigravity 私有协议。profile 单独安装 `dsh-agy@0.1.2`,提供 `agy` route。由于该版本的 `/agy` dashboard 含无自身认证的 export API,trusted-host 部署应在 profile 最终 `cordis.patch.yml` 中禁用 `dsh-agy-web`(见 `INSTALL.md`),只保留 host adapter 和 CLI。profile 使用带 lockfile hash 的 pnpm patch:无 Google session 时 `listModels()` 返回空,认证后 provider group 名为 `Google Antigravity (OAuth)`。**保留** `patches/dsh-agy@0.1.2.patch` 的结论见 [`docs/research/adr-dsh-agy-patch.md`](research/adr-dsh-agy-patch.md)(至 0.2.4 上游仍未等价吸收)。
|
|
122
122
|
|
|
123
123
|
## 6. 兼容性
|
|
124
124
|
|
|
125
|
-
正式包名与仓库名是 **`dsh-coding-subscription-oauth`**。旧 GitHub 地址仍指向同一条 `main`,因此旧的 `dsh plugin add github:lninghaha/dsh-grok-build` 仍会安装更名后的包。第一次公开 npm / GitHub Release 是 **`0.4.1`**。当前版本是 **`0.
|
|
125
|
+
正式包名与仓库名是 **`dsh-coding-subscription-oauth`**。旧 GitHub 地址仍指向同一条 `main`,因此旧的 `dsh plugin add github:lninghaha/dsh-grok-build` 仍会安装更名后的包。第一次公开 npm / GitHub Release 是 **`0.4.1`**。当前版本是 **`0.7.0`**(`dsh plugin --profile web add dsh-coding-subscription-oauth@0.7.0`),精确验证 DSH **`0.1.1-rc.2`**。`0.1.5-rc.1` 仅作为未验证 BOM 候选记录;客户端 inject 不再要求 `@deepseek-ai/dsh-client-runtime`(该候选宿主上不存在此包)。GitHub 与本地 tarball 安装仍然有效。
|
|
126
126
|
|
|
127
127
|
以下标识保持稳定(无迁移方案前不要改名):
|
|
128
128
|
|
|
@@ -135,8 +135,8 @@ POST /plugins/dsh-grok-build/gateway/rotate
|
|
|
135
135
|
|
|
136
136
|
新 route 使用 `*-oauth` alias,不占用 `openai`、`xai`、`kimi-coding`。v0.3.0 将 `grok-build` fallback/default 更新为 `grok-4.6`,已有用户默认设置仍优先。
|
|
137
137
|
|
|
138
|
-
Hub 与本独立 participant 精确依赖同一个 `dsh-coding-oauth-core@0.1.
|
|
138
|
+
Hub 与本独立 participant 精确依赖同一个 `dsh-coding-oauth-core@0.1.2` 与 `undici@7.29.0`。核心统一管理 root-scoped owner 选举、引用计数代理策略、原子注册、provider/route/credential 标识、能力设置命名空间、Gateway 状态文件名,以及全部新旧管理路径。Hub 安装时优先成为 owner;Hub 卸载后本插件从 standby 自动接管,不改路由名,也不重置凭据。Grok Imagine 保留显式 pinned dispatcher,不使用共享 proxy lease。
|
|
139
139
|
|
|
140
140
|
### 共享运行时抽取(第一刀)
|
|
141
141
|
|
|
142
|
-
Hub
|
|
142
|
+
Hub 与本 participant 通过已发布的 `dsh-coding-oauth-core@0.1.2` 共享四个纯辅助模块:`http-json`、`grok-errors`、`kimi-errors`、`gateway-protocol`。历史路径 `src/*.ts` 仍为薄 facade,从上述 subpath 再导出。`pnpm run assert:oauth-core` 会钉死 registry 版本并校验 subpath 可解析。
|
package/lib/auth-routes.d.ts
CHANGED
|
@@ -6,8 +6,9 @@ import { ANTIGRAVITY_ROUTE, type CodingOAuthProviderSlug } from "./ids.js";
|
|
|
6
6
|
import type { SubscriptionLoginMethod } from "./oauth-providers.js";
|
|
7
7
|
import type { OAuthProviderSession } from "./oauth-session.js";
|
|
8
8
|
import type { GrokBuildSession } from "./session.js";
|
|
9
|
+
import type { AccountSummary } from "./store.js";
|
|
9
10
|
import { type OwnerAccessMode, type OwnerRequestPolicy } from "./web-origin.js";
|
|
10
|
-
export { CODING_OAUTH_LOGIN_CANCEL_PATH, CODING_OAUTH_LOGIN_CODE_PATH, CODING_OAUTH_LOGIN_PATH, CODING_OAUTH_LOGOUT_PATH, CODING_OAUTH_MODELS_PATH, CODING_OAUTH_STATUS_PATH, GROK_BUILD_AUTH_IMPORT_PATH, GROK_BUILD_AUTH_LOGIN_CANCEL_PATH, GROK_BUILD_AUTH_LOGIN_CODE_PATH, GROK_BUILD_AUTH_LOGIN_PATH, GROK_BUILD_AUTH_LOGOUT_PATH, GROK_BUILD_AUTH_MODELS_PATH, GROK_BUILD_AUTH_STATUS_PATH, } from "./ids.js";
|
|
11
|
+
export { CODING_OAUTH_ACCOUNTS_REMOVE_PATH, CODING_OAUTH_ACCOUNTS_SET_ACTIVE_PATH, CODING_OAUTH_LOGIN_CANCEL_PATH, CODING_OAUTH_LOGIN_CODE_PATH, CODING_OAUTH_LOGIN_PATH, CODING_OAUTH_LOGOUT_PATH, CODING_OAUTH_MODELS_PATH, CODING_OAUTH_STATUS_PATH, GROK_BUILD_AUTH_IMPORT_PATH, GROK_BUILD_AUTH_LOGIN_CANCEL_PATH, GROK_BUILD_AUTH_LOGIN_CODE_PATH, GROK_BUILD_AUTH_LOGIN_PATH, GROK_BUILD_AUTH_LOGOUT_PATH, GROK_BUILD_AUTH_MODELS_PATH, GROK_BUILD_AUTH_STATUS_PATH, } from "./ids.js";
|
|
11
12
|
export type GrokBuildLoginMethod = "pkce" | "device";
|
|
12
13
|
export type GrokBuildWebAuthStatus = {
|
|
13
14
|
status: "signed-out";
|
|
@@ -26,6 +27,8 @@ export type GrokBuildWebAuthStatus = {
|
|
|
26
27
|
catalogSource: CatalogSource;
|
|
27
28
|
catalogError?: string;
|
|
28
29
|
grokImportAvailable: boolean;
|
|
30
|
+
accounts: AccountSummary[];
|
|
31
|
+
activeAccountId: string;
|
|
29
32
|
} | {
|
|
30
33
|
status: "error";
|
|
31
34
|
message: string;
|
|
@@ -59,6 +62,8 @@ export declare class GrokBuildWebAuth {
|
|
|
59
62
|
cancel(): Promise<void>;
|
|
60
63
|
importGrok(): Promise<void>;
|
|
61
64
|
setModels(ids: readonly string[]): Promise<void>;
|
|
65
|
+
setActiveAccount(id: string): Promise<void>;
|
|
66
|
+
removeAccount(id: string): Promise<void>;
|
|
62
67
|
signOut(): Promise<void>;
|
|
63
68
|
dispose(): Promise<void>;
|
|
64
69
|
private start;
|
|
@@ -88,6 +93,8 @@ export type SubscriptionWebAuthStatus = {
|
|
|
88
93
|
} | {
|
|
89
94
|
status: "signed-in";
|
|
90
95
|
expiresAt?: number;
|
|
96
|
+
accounts: AccountSummary[];
|
|
97
|
+
activeAccountId: string;
|
|
91
98
|
} | {
|
|
92
99
|
status: "error";
|
|
93
100
|
message: string;
|
|
@@ -114,6 +121,8 @@ export declare class SubscriptionWebAuth {
|
|
|
114
121
|
submitCode(code: string): Promise<void>;
|
|
115
122
|
cancel(): Promise<void>;
|
|
116
123
|
setModels(ids: readonly string[]): Promise<void>;
|
|
124
|
+
setActiveAccount(id: string): Promise<void>;
|
|
125
|
+
removeAccount(id: string): Promise<void>;
|
|
117
126
|
signOut(): Promise<void>;
|
|
118
127
|
dispose(): Promise<void>;
|
|
119
128
|
private baseStatus;
|
package/lib/auth-routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-routes.d.ts","sourceRoot":"","sources":["../../src/auth-routes.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAG5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EACN,iBAAiB,
|
|
1
|
+
{"version":3,"file":"auth-routes.d.ts","sourceRoot":"","sources":["../../src/auth-routes.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAG5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EACN,iBAAiB,EASjB,KAAK,uBAAuB,EAS5B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAiC,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG/G,OAAO,EACN,iCAAiC,EACjC,qCAAqC,EACrC,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,UAAU,CAAC;AAClB,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAC/B;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAA;CAAE,GACtD;IACA,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;CAC5B,GACD;IACA,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACvB,GACD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAiCD;;;GAGG;AACH,qBAAa,gBAAgB;IAShB,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,KAAK,CAAgF;IAC7F,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,gBAAgB,CAAqF;IAC7G,OAAO,CAAC,YAAY,CAAuC;gBAE9B,OAAO,EAAE,gBAAgB;IAEhD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAQ/C,gFAAgF;IAC1E,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAWnE,kFAAkF;IAC5E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C,oEAAoE;IAC9D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,SAAS,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,OAAO,CAAC,KAAK;YAwBC,OAAO;YAyBP,SAAS;IAkBvB,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,eAAe;YA0BT,gBAAgB;IAkB9B,OAAO,CAAC,eAAe;CAGvB;AAED,MAAM,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACjD,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,CACD;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1F;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CACtC,CAAC;AAEF,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,uBAAuB,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAeD,+DAA+D;AAC/D,qBAAa,mBAAmB;IAW9B,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAXpC,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,gBAAgB,CACpB;IACJ,OAAO,CAAC,YAAY,CAAuC;gBAGjD,OAAO,EAAE,oBAAoB,EACrB,kBAAkB,SAAS;IAKvC,MAAM,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAK5C,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA8B5E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,SAAS,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,UAAU;YAkBJ,gBAAgB;IAiB9B,OAAO,CAAC,KAAK;YAyBC,GAAG;IAcjB,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,eAAe;CAGvB;AAgBD,8EAA8E;AAC9E,wBAAgB,2BAA2B,CAC1C,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,EACzB,YAAY,CAAC,EAAE,gBAAgB,EAC/B,kBAAkB,GAAE,kBAAkD,GACpE,IAAI,CAqGN;AAED,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE;QACV,IAAI,EAAE,sBAAsB,CAAC;QAC7B,KAAK,EAAE,yBAAyB,CAAC;QACjC,IAAI,EAAE,yBAAyB,CAAC;QAChC,MAAM,EAAE,yBAAyB,CAAC;KAClC,CAAC;IACF,WAAW,EAAE;QACZ,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,OAAO,iBAAiB,CAAC;QAChC,UAAU,EAAE,KAAK,CAAC;KAClB,CAAC;CACF;AAeD,gFAAgF;AAChF,wBAAgB,yBAAyB,CACxC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,SAAS,oBAAoB,EAAE,EACrD,kBAAkB,GAAE,kBAAkD,EACtE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,gBAAgB,GAC/D,IAAI,CA0NN"}
|