@withbuddi/buddi 0.1.0-pre.19 → 0.1.0-pre.21
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/README.md +1 -1
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/args.d.ts +6 -0
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +15 -0
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +18 -1
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +19 -2
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/cli/dist/status.d.ts +10 -0
- package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/status.js +4 -0
- package/node_modules/@buddi/cli/dist/status.js.map +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js +7 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.js +33 -16
- package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts +17 -0
- package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.js +1 -0
- package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.js.map +1 -1
- package/node_modules/@buddi/core/dist/pages.d.ts +74 -0
- package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.js +27 -1
- package/node_modules/@buddi/core/dist/pages.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +2 -2
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts +15 -1
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js +22 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/core/dist/provider.d.ts +6 -0
- package/node_modules/@buddi/core/dist/provider.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider.js.map +1 -1
- package/node_modules/@buddi/core/dist/surfaces.d.ts +11 -0
- package/node_modules/@buddi/core/dist/surfaces.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/surfaces.js +4 -0
- package/node_modules/@buddi/core/dist/surfaces.js.map +1 -1
- package/node_modules/@buddi/core/migrations/046_ollama_device_key.sql +7 -0
- package/node_modules/@buddi/core/migrations/047_reported_context_windows.sql +5 -0
- package/node_modules/@buddi/core/migrations/048_surface_chat_voice.sql +13 -0
- package/node_modules/@buddi/core/migrations/049_surface_chat_voice_form.sql +8 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents-cli.js +5 -3
- package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.js +2 -2
- package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/usage.d.ts +16 -0
- package/node_modules/@buddi/gateway/dist/chat/usage.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/usage.js +53 -11
- package/node_modules/@buddi/gateway/dist/chat/usage.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts +24 -11
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.js +151 -215
- package/node_modules/@buddi/gateway/dist/codex-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.js +2 -0
- package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts +87 -0
- package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/ollama-accounts.js +179 -0
- package/node_modules/@buddi/gateway/dist/ollama-accounts.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +51 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.js +184 -25
- package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/speech-cli.d.ts +43 -0
- package/node_modules/@buddi/gateway/dist/speech-cli.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/speech-cli.js +105 -0
- package/node_modules/@buddi/gateway/dist/speech-cli.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js +10 -3
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +10 -0
- package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/api.js +12 -0
- package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts +2 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +4 -2
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.js +10 -2
- package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +25 -0
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js +212 -10
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/voice.d.ts +112 -0
- package/node_modules/@buddi/gateway/dist/telegram/voice.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/voice.js +220 -0
- package/node_modules/@buddi/gateway/dist/telegram/voice.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts +31 -8
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.js +3 -2
- package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts +13 -2
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +24 -3
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/read.d.ts +15 -12
- package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/read.js +9 -10
- package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +29 -13
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/speech.d.ts +47 -0
- package/node_modules/@buddi/gateway/dist/web/speech.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/speech.js +83 -0
- package/node_modules/@buddi/gateway/dist/web/speech.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/stream.d.ts +0 -24
- package/node_modules/@buddi/gateway/dist/web/stream.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/stream.js +26 -2
- package/node_modules/@buddi/gateway/dist/web/stream.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/usage-view.d.ts +15 -0
- package/node_modules/@buddi/gateway/dist/web/usage-view.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/usage-view.js +20 -0
- package/node_modules/@buddi/gateway/dist/web/usage-view.js.map +1 -0
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts +18 -0
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.js +65 -13
- package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +55 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.js +342 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts +66 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.js +210 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.d.ts +19 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.js +99 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/context-window.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/context-window.js +17 -4
- package/node_modules/@buddi/runtime/dist/context-window.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.d.ts +24 -0
- package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.js +87 -11
- package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.d.ts +4 -4
- package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.js +5 -5
- package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.d.ts +7 -0
- package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.js +54 -8
- package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts +52 -0
- package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/ollama-signing.js +154 -0
- package/node_modules/@buddi/runtime/dist/ollama-signing.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/openai.d.ts +16 -4
- package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.js +44 -11
- package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts +2 -0
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.js +13 -4
- package/node_modules/@buddi/runtime/dist/provider-models.js.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/computer.d.ts +53 -1
- package/node_modules/@buddi/tool-browser/dist/computer.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/computer.js +154 -5
- package/node_modules/@buddi/tool-browser/dist/computer.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts +20 -3
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js +170 -5
- package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js +9 -1
- package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.d.ts +14 -1
- package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.js +28 -5
- package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.d.ts +11 -0
- package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.js +16 -3
- package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
- package/node_modules/@buddi/tool-browser/package.json +1 -1
- package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
- package/node_modules/imapflow/CHANGELOG.md +29 -0
- package/node_modules/imapflow/dist/cjs/commands/append.js +12 -12
- package/node_modules/imapflow/dist/cjs/commands/authenticate.d.ts +3 -8
- package/node_modules/imapflow/dist/cjs/commands/close.js +2 -1
- package/node_modules/imapflow/dist/cjs/commands/copy.js +4 -4
- package/node_modules/imapflow/dist/cjs/commands/create.js +2 -3
- package/node_modules/imapflow/dist/cjs/commands/delete.js +4 -4
- package/node_modules/imapflow/dist/cjs/commands/expunge.js +8 -5
- package/node_modules/imapflow/dist/cjs/commands/fetch.js +12 -10
- package/node_modules/imapflow/dist/cjs/commands/idle.js +6 -2
- package/node_modules/imapflow/dist/cjs/commands/list.js +22 -18
- package/node_modules/imapflow/dist/cjs/commands/move.js +11 -6
- package/node_modules/imapflow/dist/cjs/commands/namespace.js +1 -1
- package/node_modules/imapflow/dist/cjs/commands/quota.js +10 -9
- package/node_modules/imapflow/dist/cjs/commands/rename.js +4 -4
- package/node_modules/imapflow/dist/cjs/commands/search.js +7 -8
- package/node_modules/imapflow/dist/cjs/commands/select.js +12 -9
- package/node_modules/imapflow/dist/cjs/commands/status.js +11 -11
- package/node_modules/imapflow/dist/cjs/commands/store.js +5 -5
- package/node_modules/imapflow/dist/cjs/commands/subscribe.js +2 -17
- package/node_modules/imapflow/dist/cjs/commands/subscription.d.ts +10 -0
- package/node_modules/imapflow/dist/cjs/commands/subscription.js +29 -0
- package/node_modules/imapflow/dist/cjs/commands/unsubscribe.js +2 -17
- package/node_modules/imapflow/dist/cjs/download.d.ts +22 -0
- package/node_modules/imapflow/dist/cjs/download.js +588 -0
- package/node_modules/imapflow/dist/cjs/errors.d.ts +50 -1
- package/node_modules/imapflow/dist/cjs/errors.js +53 -1
- package/node_modules/imapflow/dist/cjs/handler/imap-compiler.js +1 -1
- package/node_modules/imapflow/dist/cjs/handler/imap-stream.d.ts +13 -2
- package/node_modules/imapflow/dist/cjs/handler/imap-stream.js +51 -30
- package/node_modules/imapflow/dist/cjs/handler/parser-instance.js +2 -2
- package/node_modules/imapflow/dist/cjs/handler/token-parser.js +15 -9
- package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +30 -84
- package/node_modules/imapflow/dist/cjs/imap-flow.js +282 -734
- package/node_modules/imapflow/dist/cjs/jp-decoder.js +1 -1
- package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/cjs/package-info.js +3 -3
- package/node_modules/imapflow/dist/cjs/search-compiler.js +5 -12
- package/node_modules/imapflow/dist/cjs/tools.d.ts +52 -11
- package/node_modules/imapflow/dist/cjs/tools.js +86 -23
- package/node_modules/imapflow/dist/cjs/types.d.ts +30 -16
- package/node_modules/imapflow/dist/esm/commands/append.js +13 -13
- package/node_modules/imapflow/dist/esm/commands/authenticate.d.ts +3 -8
- package/node_modules/imapflow/dist/esm/commands/close.js +2 -1
- package/node_modules/imapflow/dist/esm/commands/copy.js +5 -5
- package/node_modules/imapflow/dist/esm/commands/create.js +3 -4
- package/node_modules/imapflow/dist/esm/commands/delete.js +5 -5
- package/node_modules/imapflow/dist/esm/commands/expunge.js +9 -6
- package/node_modules/imapflow/dist/esm/commands/fetch.js +13 -11
- package/node_modules/imapflow/dist/esm/commands/idle.js +7 -3
- package/node_modules/imapflow/dist/esm/commands/list.js +22 -18
- package/node_modules/imapflow/dist/esm/commands/move.js +12 -7
- package/node_modules/imapflow/dist/esm/commands/namespace.js +2 -2
- package/node_modules/imapflow/dist/esm/commands/quota.js +11 -10
- package/node_modules/imapflow/dist/esm/commands/rename.js +5 -5
- package/node_modules/imapflow/dist/esm/commands/search.js +8 -9
- package/node_modules/imapflow/dist/esm/commands/select.js +13 -10
- package/node_modules/imapflow/dist/esm/commands/status.js +12 -12
- package/node_modules/imapflow/dist/esm/commands/store.js +6 -6
- package/node_modules/imapflow/dist/esm/commands/subscribe.js +2 -17
- package/node_modules/imapflow/dist/esm/commands/subscription.d.ts +10 -0
- package/node_modules/imapflow/dist/esm/commands/subscription.js +26 -0
- package/node_modules/imapflow/dist/esm/commands/unsubscribe.js +2 -17
- package/node_modules/imapflow/dist/esm/download.d.ts +22 -0
- package/node_modules/imapflow/dist/esm/download.js +581 -0
- package/node_modules/imapflow/dist/esm/errors.d.ts +50 -1
- package/node_modules/imapflow/dist/esm/errors.js +52 -0
- package/node_modules/imapflow/dist/esm/handler/imap-compiler.js +1 -1
- package/node_modules/imapflow/dist/esm/handler/imap-stream.d.ts +13 -2
- package/node_modules/imapflow/dist/esm/handler/imap-stream.js +51 -30
- package/node_modules/imapflow/dist/esm/handler/parser-instance.js +2 -2
- package/node_modules/imapflow/dist/esm/handler/token-parser.js +15 -9
- package/node_modules/imapflow/dist/esm/imap-flow.d.ts +30 -84
- package/node_modules/imapflow/dist/esm/imap-flow.js +282 -735
- package/node_modules/imapflow/dist/esm/jp-decoder.js +1 -1
- package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/esm/package-info.js +3 -3
- package/node_modules/imapflow/dist/esm/search-compiler.js +5 -12
- package/node_modules/imapflow/dist/esm/tools.d.ts +52 -11
- package/node_modules/imapflow/dist/esm/tools.js +79 -21
- package/node_modules/imapflow/dist/esm/types.d.ts +30 -16
- package/node_modules/imapflow/package.json +4 -4
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/args.d.ts +6 -0
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +15 -0
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +18 -1
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +19 -2
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/dist/status.d.ts +10 -0
- package/packages/cli/dist/status.d.ts.map +1 -1
- package/packages/cli/dist/status.js +4 -0
- package/packages/cli/dist/status.js.map +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/agents/catalog.d.ts.map +1 -1
- package/packages/core/dist/agents/catalog.js +7 -1
- package/packages/core/dist/agents/catalog.js.map +1 -1
- package/packages/core/dist/host/build.d.ts.map +1 -1
- package/packages/core/dist/host/build.js +33 -16
- package/packages/core/dist/host/build.js.map +1 -1
- package/packages/core/dist/host/types.d.ts +17 -0
- package/packages/core/dist/host/types.d.ts.map +1 -1
- package/packages/core/dist/pages/__fixtures__/demo.d.ts.map +1 -1
- package/packages/core/dist/pages/__fixtures__/demo.js +1 -0
- package/packages/core/dist/pages/__fixtures__/demo.js.map +1 -1
- package/packages/core/dist/pages.d.ts +74 -0
- package/packages/core/dist/pages.d.ts.map +1 -1
- package/packages/core/dist/pages.js +27 -1
- package/packages/core/dist/pages.js.map +1 -1
- package/packages/core/dist/plugin/index.d.ts +2 -2
- package/packages/core/dist/plugin/index.d.ts.map +1 -1
- package/packages/core/dist/plugin/version.d.ts +1 -1
- package/packages/core/dist/plugin/version.js +1 -1
- package/packages/core/dist/provider-accounts.d.ts +15 -1
- package/packages/core/dist/provider-accounts.d.ts.map +1 -1
- package/packages/core/dist/provider-accounts.js +22 -1
- package/packages/core/dist/provider-accounts.js.map +1 -1
- package/packages/core/dist/provider.d.ts +6 -0
- package/packages/core/dist/provider.d.ts.map +1 -1
- package/packages/core/dist/provider.js.map +1 -1
- package/packages/core/dist/surfaces.d.ts +11 -0
- package/packages/core/dist/surfaces.d.ts.map +1 -1
- package/packages/core/dist/surfaces.js +4 -0
- package/packages/core/dist/surfaces.js.map +1 -1
- package/packages/core/migrations/046_ollama_device_key.sql +7 -0
- package/packages/core/migrations/047_reported_context_windows.sql +5 -0
- package/packages/core/migrations/048_surface_chat_voice.sql +13 -0
- package/packages/core/migrations/049_surface_chat_voice_form.sql +8 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/agents-cli.d.ts +2 -0
- package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
- package/packages/gateway/dist/agents-cli.js +5 -3
- package/packages/gateway/dist/agents-cli.js.map +1 -1
- package/packages/gateway/dist/chat/session.d.ts.map +1 -1
- package/packages/gateway/dist/chat/session.js +2 -2
- package/packages/gateway/dist/chat/session.js.map +1 -1
- package/packages/gateway/dist/chat/usage.d.ts +16 -0
- package/packages/gateway/dist/chat/usage.d.ts.map +1 -1
- package/packages/gateway/dist/chat/usage.js +53 -11
- package/packages/gateway/dist/chat/usage.js.map +1 -1
- package/packages/gateway/dist/codex-accounts.d.ts +24 -11
- package/packages/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/codex-accounts.js +151 -215
- package/packages/gateway/dist/codex-accounts.js.map +1 -1
- package/packages/gateway/dist/index.d.ts +2 -0
- package/packages/gateway/dist/index.d.ts.map +1 -1
- package/packages/gateway/dist/index.js +2 -0
- package/packages/gateway/dist/index.js.map +1 -1
- package/packages/gateway/dist/ollama-accounts.d.ts +87 -0
- package/packages/gateway/dist/ollama-accounts.d.ts.map +1 -0
- package/packages/gateway/dist/ollama-accounts.js +179 -0
- package/packages/gateway/dist/ollama-accounts.js.map +1 -0
- package/packages/gateway/dist/provider-accounts.d.ts +51 -1
- package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/provider-accounts.js +184 -25
- package/packages/gateway/dist/provider-accounts.js.map +1 -1
- package/packages/gateway/dist/speech-cli.d.ts +43 -0
- package/packages/gateway/dist/speech-cli.d.ts.map +1 -0
- package/packages/gateway/dist/speech-cli.js +105 -0
- package/packages/gateway/dist/speech-cli.js.map +1 -0
- package/packages/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/context-budget.js +10 -3
- package/packages/gateway/dist/surfaces/context-budget.js.map +1 -1
- package/packages/gateway/dist/telegram/api.d.ts +10 -0
- package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/api.js +12 -0
- package/packages/gateway/dist/telegram/api.js.map +1 -1
- package/packages/gateway/dist/telegram/browser-view.d.ts +2 -1
- package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/browser-view.js +4 -2
- package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
- package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/main.js +10 -2
- package/packages/gateway/dist/telegram/main.js.map +1 -1
- package/packages/gateway/dist/telegram/surface.d.ts +25 -0
- package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/surface.js +212 -10
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/telegram/voice.d.ts +112 -0
- package/packages/gateway/dist/telegram/voice.d.ts.map +1 -0
- package/packages/gateway/dist/telegram/voice.js +220 -0
- package/packages/gateway/dist/telegram/voice.js.map +1 -0
- package/packages/gateway/dist/web/chat.d.ts +31 -8
- package/packages/gateway/dist/web/chat.d.ts.map +1 -1
- package/packages/gateway/dist/web/chat.js +3 -2
- package/packages/gateway/dist/web/chat.js.map +1 -1
- package/packages/gateway/dist/web/onboarding.d.ts +13 -2
- package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +24 -3
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/read.d.ts +15 -12
- package/packages/gateway/dist/web/read.d.ts.map +1 -1
- package/packages/gateway/dist/web/read.js +9 -10
- package/packages/gateway/dist/web/read.js.map +1 -1
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +29 -13
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/speech.d.ts +47 -0
- package/packages/gateway/dist/web/speech.d.ts.map +1 -0
- package/packages/gateway/dist/web/speech.js +83 -0
- package/packages/gateway/dist/web/speech.js.map +1 -0
- package/packages/gateway/dist/web/stream.d.ts +0 -24
- package/packages/gateway/dist/web/stream.d.ts.map +1 -1
- package/packages/gateway/dist/web/stream.js +26 -2
- package/packages/gateway/dist/web/stream.js.map +1 -1
- package/packages/gateway/dist/web/usage-view.d.ts +15 -0
- package/packages/gateway/dist/web/usage-view.d.ts.map +1 -0
- package/packages/gateway/dist/web/usage-view.js +20 -0
- package/packages/gateway/dist/web/usage-view.js.map +1 -0
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/anthropic.d.ts +18 -0
- package/packages/runtime/dist/anthropic.d.ts.map +1 -1
- package/packages/runtime/dist/anthropic.js +65 -13
- package/packages/runtime/dist/anthropic.js.map +1 -1
- package/packages/runtime/dist/codex-direct.d.ts +55 -0
- package/packages/runtime/dist/codex-direct.d.ts.map +1 -0
- package/packages/runtime/dist/codex-direct.js +342 -0
- package/packages/runtime/dist/codex-direct.js.map +1 -0
- package/packages/runtime/dist/codex-oauth.d.ts +66 -0
- package/packages/runtime/dist/codex-oauth.d.ts.map +1 -0
- package/packages/runtime/dist/codex-oauth.js +210 -0
- package/packages/runtime/dist/codex-oauth.js.map +1 -0
- package/packages/runtime/dist/codex-profile.d.ts +19 -0
- package/packages/runtime/dist/codex-profile.d.ts.map +1 -0
- package/packages/runtime/dist/codex-profile.js +99 -0
- package/packages/runtime/dist/codex-profile.js.map +1 -0
- package/packages/runtime/dist/context-window.d.ts.map +1 -1
- package/packages/runtime/dist/context-window.js +17 -4
- package/packages/runtime/dist/context-window.js.map +1 -1
- package/packages/runtime/dist/delegate.d.ts +24 -0
- package/packages/runtime/dist/delegate.d.ts.map +1 -1
- package/packages/runtime/dist/delegate.js +87 -11
- package/packages/runtime/dist/delegate.js.map +1 -1
- package/packages/runtime/dist/index.d.ts +4 -4
- package/packages/runtime/dist/index.d.ts.map +1 -1
- package/packages/runtime/dist/index.js +5 -5
- package/packages/runtime/dist/index.js.map +1 -1
- package/packages/runtime/dist/loop.d.ts +7 -0
- package/packages/runtime/dist/loop.d.ts.map +1 -1
- package/packages/runtime/dist/loop.js +54 -8
- package/packages/runtime/dist/loop.js.map +1 -1
- package/packages/runtime/dist/ollama-signing.d.ts +52 -0
- package/packages/runtime/dist/ollama-signing.d.ts.map +1 -0
- package/packages/runtime/dist/ollama-signing.js +154 -0
- package/packages/runtime/dist/ollama-signing.js.map +1 -0
- package/packages/runtime/dist/openai.d.ts +16 -4
- package/packages/runtime/dist/openai.d.ts.map +1 -1
- package/packages/runtime/dist/openai.js +44 -11
- package/packages/runtime/dist/openai.js.map +1 -1
- package/packages/runtime/dist/provider-models.d.ts +2 -0
- package/packages/runtime/dist/provider-models.d.ts.map +1 -1
- package/packages/runtime/dist/provider-models.js +13 -4
- package/packages/runtime/dist/provider-models.js.map +1 -1
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/computer.d.ts +53 -1
- package/packages/tools/browser/dist/computer.d.ts.map +1 -1
- package/packages/tools/browser/dist/computer.js +154 -5
- package/packages/tools/browser/dist/computer.js.map +1 -1
- package/packages/tools/browser/dist/controller.d.ts +20 -3
- package/packages/tools/browser/dist/controller.d.ts.map +1 -1
- package/packages/tools/browser/dist/controller.js +170 -5
- package/packages/tools/browser/dist/controller.js.map +1 -1
- package/packages/tools/browser/dist/index.d.ts.map +1 -1
- package/packages/tools/browser/dist/index.js +9 -1
- package/packages/tools/browser/dist/index.js.map +1 -1
- package/packages/tools/browser/dist/service.d.ts +14 -1
- package/packages/tools/browser/dist/service.d.ts.map +1 -1
- package/packages/tools/browser/dist/service.js +28 -5
- package/packages/tools/browser/dist/service.js.map +1 -1
- package/packages/tools/browser/dist/types.d.ts +11 -0
- package/packages/tools/browser/dist/types.d.ts.map +1 -1
- package/packages/tools/browser/dist/types.js +16 -3
- package/packages/tools/browser/dist/types.js.map +1 -1
- package/packages/tools/browser/package.json +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/assets/index-D5cRFcgm.css +1 -0
- package/packages/web/dist/assets/index-GCFB1vBV.js +125 -0
- package/packages/web/dist/index.html +2 -2
- package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts +0 -20
- package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-app-server.js +0 -172
- package/node_modules/@buddi/runtime/dist/codex-app-server.js.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-policy.d.ts +0 -6
- package/node_modules/@buddi/runtime/dist/codex-policy.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-policy.js +0 -79
- package/node_modules/@buddi/runtime/dist/codex-policy.js.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts +0 -34
- package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-rpc.js +0 -152
- package/node_modules/@buddi/runtime/dist/codex-rpc.js.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-session.d.ts +0 -30
- package/node_modules/@buddi/runtime/dist/codex-session.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-session.js +0 -169
- package/node_modules/@buddi/runtime/dist/codex-session.js.map +0 -1
- package/packages/runtime/dist/codex-app-server.d.ts +0 -20
- package/packages/runtime/dist/codex-app-server.d.ts.map +0 -1
- package/packages/runtime/dist/codex-app-server.js +0 -172
- package/packages/runtime/dist/codex-app-server.js.map +0 -1
- package/packages/runtime/dist/codex-policy.d.ts +0 -6
- package/packages/runtime/dist/codex-policy.d.ts.map +0 -1
- package/packages/runtime/dist/codex-policy.js +0 -79
- package/packages/runtime/dist/codex-policy.js.map +0 -1
- package/packages/runtime/dist/codex-rpc.d.ts +0 -34
- package/packages/runtime/dist/codex-rpc.d.ts.map +0 -1
- package/packages/runtime/dist/codex-rpc.js +0 -152
- package/packages/runtime/dist/codex-rpc.js.map +0 -1
- package/packages/runtime/dist/codex-session.d.ts +0 -30
- package/packages/runtime/dist/codex-session.d.ts.map +0 -1
- package/packages/runtime/dist/codex-session.js +0 -169
- package/packages/runtime/dist/codex-session.js.map +0 -1
- package/packages/web/dist/assets/index-B727JQsO.css +0 -1
- package/packages/web/dist/assets/index-OA0xgibo.js +0 -123
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
3
|
-
import { accountBaseUrl, accountModelProblem, accountProtocol, createVault, providerFromEnv, putOwnerSecret, registerSecretDestination, resolveProviderAccount, useOwnerSecret, vaultState, } from '@buddi/core';
|
|
4
|
-
import { contextWindowTokens, createProvider, providerCapabilities, listProviderModels, readAnthropicTokens } from '@buddi/runtime';
|
|
3
|
+
import { GEMINI_BASE_URL, GEMINI_KEY_URL, OLLAMA_CLOUD_ACCOUNT_URL, accountBaseUrl, accountModelProblem, accountProtocol, createVault, providerFromEnv, putOwnerSecret, registerSecretDestination, resolveProviderAccount, useOwnerSecret, vaultState, } from '@buddi/core';
|
|
4
|
+
import { contextWindowTokens, createProvider, providerCapabilities, listProviderModels, readAnthropicTokens, readCodexTokens } from '@buddi/runtime';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { providerDiagnostic } from './provider-diagnostics.js';
|
|
7
7
|
import { CodexAccounts } from './codex-accounts.js';
|
|
8
8
|
import { AnthropicAccounts } from './anthropic-accounts.js';
|
|
9
|
+
import { OllamaAccounts, deviceView, readOllamaDevice } from './ollama-accounts.js';
|
|
9
10
|
import { SIGNIN_HIDDEN, subscriptionSignIns } from './subscription-signins.js';
|
|
10
11
|
import { ACCOUNTS_PROVIDER_KIND, accountsProviderDestination, deleteAccountSecret, ownerSecretVault } from './owner-secrets.js';
|
|
12
|
+
/** At most this many models' windows are kept per account. */
|
|
13
|
+
const REPORTED_WINDOWS_MAX = 1000;
|
|
14
|
+
/** The provider's reported window for a model, when it said a usable one. */
|
|
15
|
+
function reportedWindow(map, model) {
|
|
16
|
+
const tokens = map && Object.hasOwn(map, model) ? map[model] : undefined;
|
|
17
|
+
return typeof tokens === 'number' && Number.isInteger(tokens) && tokens >= 8_000 && tokens <= 2_000_000 ? tokens : undefined;
|
|
18
|
+
}
|
|
11
19
|
const columns = `id, label, kind, auth, base_url as "baseUrl", default_model as "defaultModel",
|
|
12
|
-
context_window_tokens as "contextWindowTokens",
|
|
20
|
+
context_window_tokens as "contextWindowTokens", reported_context_windows as "reportedContextWindows",
|
|
13
21
|
enabled, deleting, revision, secret_ref as "secretRef", legacy_env as "legacyEnv"`;
|
|
14
22
|
const saveSchema = z.object({
|
|
15
23
|
id: z.string().min(1).max(100).optional(), revision: z.number().int().positive().optional(),
|
|
16
24
|
label: z.string().trim().min(1).max(100), kind: z.enum(['anthropic', 'openai', 'openai-compatible', 'codex']),
|
|
17
|
-
auth: z.enum(['api-key', 'none', 'legacy-subscription-token', 'chatgpt', 'anthropic-oauth']),
|
|
25
|
+
auth: z.enum(['api-key', 'none', 'legacy-subscription-token', 'chatgpt', 'anthropic-oauth', 'device-key']),
|
|
18
26
|
baseUrl: z.string().trim().max(2048).optional(), defaultModel: z.string().trim().min(1).max(150),
|
|
19
27
|
enabled: z.boolean(), secret: z.string().trim().min(1).max(16384).optional(),
|
|
20
28
|
/**
|
|
@@ -63,6 +71,8 @@ export class ProviderAccounts {
|
|
|
63
71
|
vault;
|
|
64
72
|
codex;
|
|
65
73
|
anthropic;
|
|
74
|
+
ollama;
|
|
75
|
+
#devices = new Map();
|
|
66
76
|
#tokenInfo = new Map();
|
|
67
77
|
#rows = new Map();
|
|
68
78
|
#bindings = new Map();
|
|
@@ -97,6 +107,8 @@ export class ProviderAccounts {
|
|
|
97
107
|
this.codex = new CodexAccounts({ vault: this.accountVault });
|
|
98
108
|
if (this.accountVault)
|
|
99
109
|
this.anthropic = new AnthropicAccounts(this.accountVault);
|
|
110
|
+
if (this.accountVault)
|
|
111
|
+
this.ollama = new OllamaAccounts(this.accountVault, deps.ollama?.protocol, deps.ollama?.now, deps.ollama?.deviceName);
|
|
100
112
|
}
|
|
101
113
|
get anthropicOAuthEnabled() { return subscriptionSignIns(this.deps.env).claude && !!this.anthropic; }
|
|
102
114
|
async initialize() {
|
|
@@ -161,14 +173,26 @@ export class ProviderAccounts {
|
|
|
161
173
|
const bindings = await this.deps.pool.query('select agent_id as "agentId", account_id as "accountId", model from core.agent_provider_accounts');
|
|
162
174
|
const configured = new Map();
|
|
163
175
|
this.#tokenInfo.clear();
|
|
176
|
+
this.#devices.clear();
|
|
164
177
|
for (const row of result.rows) {
|
|
165
178
|
try {
|
|
166
179
|
const raw = await this.#secret(row);
|
|
167
180
|
configured.set(row.id, row.auth === 'none' || !!raw);
|
|
181
|
+
if (row.auth === 'device-key') {
|
|
182
|
+
// Configured means connected: a key nobody pressed Connect for signs nothing useful.
|
|
183
|
+
const device = raw ? readOllamaDevice(raw) : null;
|
|
184
|
+
configured.set(row.id, !!device?.connectedAt);
|
|
185
|
+
if (device)
|
|
186
|
+
this.#devices.set(row.id, deviceView(device));
|
|
187
|
+
}
|
|
168
188
|
if (row.auth === 'anthropic-oauth' && raw) {
|
|
169
189
|
const tokens = readAnthropicTokens(raw);
|
|
170
190
|
this.#tokenInfo.set(row.id, { tokenExpiresAt: new Date(tokens.expiresAt).toISOString(), reconnectRequired: tokens.state !== 'ready' });
|
|
171
191
|
}
|
|
192
|
+
if (row.kind === 'codex' && raw) {
|
|
193
|
+
const tokens = readCodexTokens(raw);
|
|
194
|
+
this.#tokenInfo.set(row.id, { tokenExpiresAt: new Date(tokens.expiresAt).toISOString(), reconnectRequired: tokens.state !== 'ready' });
|
|
195
|
+
}
|
|
172
196
|
}
|
|
173
197
|
catch {
|
|
174
198
|
configured.set(row.id, false);
|
|
@@ -191,8 +215,9 @@ export class ProviderAccounts {
|
|
|
191
215
|
: row.kind === 'codex' && !this.codex ? SIGNIN_HIDDEN.codex
|
|
192
216
|
: row.auth === 'anthropic-oauth' && !this.anthropicOAuthEnabled ? SIGNIN_HIDDEN.claude
|
|
193
217
|
: !row.enabled ? `Provider account “${row.label}” is disabled.`
|
|
194
|
-
: !this.#configured.get(row.id) ? `
|
|
195
|
-
:
|
|
218
|
+
: row.auth === 'device-key' && !this.#configured.get(row.id) ? `Connect Ollama for “${row.label}” in Settings → Model accounts.`
|
|
219
|
+
: !this.#configured.get(row.id) ? `Provider account “${row.label}” needs a credential or vault access.`
|
|
220
|
+
: accountModelProblem(row.kind, binding.model);
|
|
196
221
|
return { provider, availability: issue ? { ok: false, problem: { code: 'missing-credential', message: issue } } : { ok: true } };
|
|
197
222
|
};
|
|
198
223
|
view(ownerSession) {
|
|
@@ -200,19 +225,26 @@ export class ProviderAccounts {
|
|
|
200
225
|
vault: { kind: this.vault?.kind ?? 'none', ...vaultState({ env: this.deps.env }) },
|
|
201
226
|
codexEnabled: !!this.codex,
|
|
202
227
|
anthropicOAuthEnabled: this.anthropicOAuthEnabled,
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
//
|
|
207
|
-
//
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
228
|
+
// The Gemini preset's address and key page, as data: the bundle names no host.
|
|
229
|
+
gemini: { baseUrl: GEMINI_BASE_URL, keyUrl: GEMINI_KEY_URL },
|
|
230
|
+
accounts: [...this.#rows.values()].map(({ secretRef: _secret, legacyEnv: _env, deleting, reportedContextWindows, ...row }) => {
|
|
231
|
+
// The provider's own number for the default model when its model list
|
|
232
|
+
// said one, else what the runtime would assume from the name, so the
|
|
233
|
+
// field can show it as a placeholder instead of a blank.
|
|
234
|
+
const reported = reportedWindow(reportedContextWindows, row.defaultModel);
|
|
235
|
+
return {
|
|
236
|
+
...row, configured: this.#configured.get(row.id) ?? false,
|
|
237
|
+
detectedContextWindowTokens: reported ?? contextWindowTokens(row.defaultModel, row.kind === 'codex' ? 'openai' : row.kind),
|
|
238
|
+
detectedContextWindowSource: (reported ? 'provider' : 'table'),
|
|
239
|
+
removalPending: deleting,
|
|
240
|
+
refreshable: row.kind === 'codex' || row.auth === 'anthropic-oauth', tokenExpiresAt: null, subscriptionRenewsAt: null,
|
|
241
|
+
...(row.auth === 'anthropic-oauth' ? { ...this.#tokenInfo.get(row.id), login: this.anthropic?.view(row.id, row.revision, ownerSession) ?? null } : {}),
|
|
242
|
+
...(row.kind === 'codex' ? { ...this.#tokenInfo.get(row.id), login: this.codex?.view(row.id) ?? null } : {}),
|
|
243
|
+
...(row.auth === 'device-key' ? { device: this.#devices.get(row.id) ?? null, login: this.ollama?.view(row.id, row.revision, ownerSession) ?? null } : {}),
|
|
244
|
+
assignedAgents: [...this.#bindings.values()].filter(b => b.accountId === row.id).map(b => b.agentId),
|
|
245
|
+
test: this.#tests.get(row.id) ?? null,
|
|
246
|
+
};
|
|
247
|
+
}),
|
|
216
248
|
bindings: [...this.#bindings.values()],
|
|
217
249
|
};
|
|
218
250
|
}
|
|
@@ -262,6 +294,7 @@ export class ProviderAccounts {
|
|
|
262
294
|
if (current.revision !== row.revision || !current.enabled || current.deleting)
|
|
263
295
|
throw new ProviderAccountError(409, 'Account changed. Refresh models again.');
|
|
264
296
|
this.#modelLists.set(id, { revision: row.revision, until: Date.now() + 60_000, value });
|
|
297
|
+
await this.#rememberWindows(current, value).catch(() => { });
|
|
265
298
|
return value;
|
|
266
299
|
}
|
|
267
300
|
catch (error) {
|
|
@@ -277,6 +310,32 @@ export class ProviderAccounts {
|
|
|
277
310
|
this.#modelRequests.set(key, pending);
|
|
278
311
|
return pending;
|
|
279
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Keep the windows the provider's own model list reported, merged over what
|
|
315
|
+
* earlier fetches said, so the account page and the transcript budget can
|
|
316
|
+
* use the provider's number instead of a guess from the model name.
|
|
317
|
+
*/
|
|
318
|
+
async #rememberWindows(row, list) {
|
|
319
|
+
const found = list.models.filter(m => typeof m.contextWindow === 'number');
|
|
320
|
+
if (!found.length)
|
|
321
|
+
return;
|
|
322
|
+
const merged = new Map();
|
|
323
|
+
for (const [model, tokens] of Object.entries(row.reportedContextWindows ?? {})) {
|
|
324
|
+
if (typeof tokens === 'number' && Number.isFinite(tokens))
|
|
325
|
+
merged.set(model, tokens);
|
|
326
|
+
}
|
|
327
|
+
// Fresh entries go last, so the cap drops the oldest.
|
|
328
|
+
for (const m of found) {
|
|
329
|
+
merged.delete(m.id);
|
|
330
|
+
merged.set(m.id, m.contextWindow);
|
|
331
|
+
}
|
|
332
|
+
const entries = [...merged.entries()];
|
|
333
|
+
const capped = Object.fromEntries(entries.slice(Math.max(0, entries.length - REPORTED_WINDOWS_MAX)));
|
|
334
|
+
const { rows } = await this.deps.pool.query(`update core.provider_accounts set reported_context_windows=$2::jsonb where id=$1 returning reported_context_windows as "reportedContextWindows"`, [row.id, JSON.stringify(capped)]);
|
|
335
|
+
const live = this.#rows.get(row.id);
|
|
336
|
+
if (rows[0] && live)
|
|
337
|
+
this.#rows.set(row.id, { ...live, reportedContextWindows: rows[0].reportedContextWindows });
|
|
338
|
+
}
|
|
280
339
|
/**
|
|
281
340
|
* List the models a credential can reach, before anything is saved.
|
|
282
341
|
*
|
|
@@ -318,6 +377,14 @@ export class ProviderAccounts {
|
|
|
318
377
|
throw new ProviderAccountError(400, 'ChatGPT accounts use device sign-in, not a pasted token.');
|
|
319
378
|
if (input.auth === 'anthropic-oauth' && (input.kind !== 'anthropic' || input.secret))
|
|
320
379
|
throw new ProviderAccountError(400, 'Claude OAuth requires an Anthropic account and browser sign-in, not a pasted token.');
|
|
380
|
+
if (input.auth === 'device-key') {
|
|
381
|
+
if (input.kind !== 'openai-compatible' || input.secret)
|
|
382
|
+
throw new ProviderAccountError(400, 'An Ollama device key is made by buddi and connected on ollama.com, not pasted.');
|
|
383
|
+
if (input.baseUrl && input.baseUrl.replace(/\/+$/, '') !== OLLAMA_CLOUD_ACCOUNT_URL)
|
|
384
|
+
throw new ProviderAccountError(400, 'A device key only connects to Ollama Cloud. Use a key for another address.');
|
|
385
|
+
if (!this.ollama)
|
|
386
|
+
throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
|
|
387
|
+
}
|
|
321
388
|
const old = input.id ? await this.#row(input.id) : undefined;
|
|
322
389
|
if (input.auth === 'anthropic-oauth' && !old && !this.anthropicOAuthEnabled)
|
|
323
390
|
throw new ProviderAccountError(400, SIGNIN_HIDDEN.claude);
|
|
@@ -335,7 +402,7 @@ export class ProviderAccounts {
|
|
|
335
402
|
throw new ProviderAccountError(400, 'Credential cannot contain control characters.');
|
|
336
403
|
let baseUrl;
|
|
337
404
|
try {
|
|
338
|
-
baseUrl = accountBaseUrl(input.kind, input.baseUrl);
|
|
405
|
+
baseUrl = accountBaseUrl(input.kind, input.auth === 'device-key' ? OLLAMA_CLOUD_ACCOUNT_URL : input.baseUrl);
|
|
339
406
|
}
|
|
340
407
|
catch (e) {
|
|
341
408
|
throw new ProviderAccountError(400, e.message);
|
|
@@ -355,7 +422,8 @@ export class ProviderAccounts {
|
|
|
355
422
|
try {
|
|
356
423
|
if (old?.auth === 'anthropic-oauth')
|
|
357
424
|
this.anthropic?.forget(id);
|
|
358
|
-
let secretRef = old?.secretRef ?? (input.auth === 'anthropic-oauth' ? `ANTHROPIC_ACCOUNT_${randomUUID().replaceAll('-', '_')}` : input.kind === 'codex' ? `CODEX_ACCOUNT_${randomUUID().replaceAll('-', '_')}`
|
|
425
|
+
let secretRef = old?.secretRef ?? (input.auth === 'anthropic-oauth' ? `ANTHROPIC_ACCOUNT_${randomUUID().replaceAll('-', '_')}` : input.kind === 'codex' ? `CODEX_ACCOUNT_${randomUUID().replaceAll('-', '_')}`
|
|
426
|
+
: input.auth === 'device-key' ? `OLLAMA_DEVICE_${randomUUID().replaceAll('-', '_')}` : null);
|
|
359
427
|
if (input.secret) {
|
|
360
428
|
if (!this.vault)
|
|
361
429
|
throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
|
|
@@ -449,6 +517,7 @@ export class ProviderAccounts {
|
|
|
449
517
|
const oauthLease = row.auth === 'anthropic-oauth' ? await this.#anthropicAccess(row, false) : undefined;
|
|
450
518
|
try {
|
|
451
519
|
this.anthropic?.forget(id);
|
|
520
|
+
this.ollama?.forget(id);
|
|
452
521
|
// A tombstone prevents reactivation even if vault deletion is denied.
|
|
453
522
|
const disabled = await this.deps.pool.query(`update core.provider_accounts set enabled=false,deleting=true,revision=revision+1
|
|
454
523
|
where id=$1 and revision=$2 returning id`, [id, revision]);
|
|
@@ -482,7 +551,9 @@ export class ProviderAccounts {
|
|
|
482
551
|
if (!snapshot)
|
|
483
552
|
throw new ProviderAccountError(409, 'Provider account is no longer available.');
|
|
484
553
|
return {
|
|
485
|
-
|
|
554
|
+
// A ChatGPT account speaks the Responses API, whose row matches OpenAI's:
|
|
555
|
+
// parallel tool calls, usage reported, no native search, no documents.
|
|
556
|
+
capabilities: providerCapabilities(accountProtocol(snapshot.kind)),
|
|
486
557
|
complete: async (request) => {
|
|
487
558
|
const row = await this.#row(id);
|
|
488
559
|
if (row.revision !== snapshot.revision)
|
|
@@ -510,7 +581,7 @@ export class ProviderAccounts {
|
|
|
510
581
|
try {
|
|
511
582
|
const row = await this.#row(id);
|
|
512
583
|
if (row.kind === 'codex')
|
|
513
|
-
throw new ProviderAccountError(400, '
|
|
584
|
+
throw new ProviderAccountError(400, 'A ChatGPT subscription has no output-token cap for a connection test. Connect and send a test chat instead.');
|
|
514
585
|
let diagnostic = { state: 'connected', message: 'Connection succeeded.', httpStatus: null, retryAt: null };
|
|
515
586
|
try {
|
|
516
587
|
const resolved = resolveProviderAccount(row, row.defaultModel, await this.#usableSecret(row));
|
|
@@ -574,6 +645,18 @@ export class ProviderAccounts {
|
|
|
574
645
|
await this.#codexReleased.get(id);
|
|
575
646
|
}
|
|
576
647
|
async #usableSecret(row, signal) {
|
|
648
|
+
if (row.auth === 'device-key') {
|
|
649
|
+
if (!this.ollama || !row.secretRef)
|
|
650
|
+
throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
|
|
651
|
+
try {
|
|
652
|
+
return await this.ollama.credential(row.secretRef);
|
|
653
|
+
}
|
|
654
|
+
catch (error) {
|
|
655
|
+
// Never propagate vault errors, which may carry key material.
|
|
656
|
+
throw new ProviderAccountError(409, error instanceof Error && /^(Connect this Ollama|Invalid Ollama device key|The credential vault)/.test(error.message)
|
|
657
|
+
? error.message : 'Could not read the Ollama device key. Check the vault and connect again.');
|
|
658
|
+
}
|
|
659
|
+
}
|
|
577
660
|
if (row.auth !== 'anthropic-oauth') {
|
|
578
661
|
if (row.auth === 'none' || row.secretRef === null)
|
|
579
662
|
return this.#secret(row);
|
|
@@ -705,6 +788,75 @@ export class ProviderAccounts {
|
|
|
705
788
|
}
|
|
706
789
|
});
|
|
707
790
|
}
|
|
791
|
+
/**
|
|
792
|
+
* Ollama Cloud with a device key: `connect` makes a key pair in the vault and
|
|
793
|
+
* answers with the page to press Connect on; `poll` asks ollama.com once
|
|
794
|
+
* whether that happened; `disconnect` removes the key from the vault. The
|
|
795
|
+
* device stays listed on ollama.com until the owner removes it there.
|
|
796
|
+
*/
|
|
797
|
+
ollamaAction(id, action, body, owner) {
|
|
798
|
+
return this.#serial(async () => {
|
|
799
|
+
const row = await this.#row(id);
|
|
800
|
+
if (!owner || row.auth !== 'device-key' || !row.secretRef)
|
|
801
|
+
throw new ProviderAccountError(409, 'This is not an Ollama Cloud account connected with a device key.');
|
|
802
|
+
if (!this.ollama)
|
|
803
|
+
throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
|
|
804
|
+
if (row.deleting)
|
|
805
|
+
throw new ProviderAccountError(409, 'Removal is pending. Unlock the vault and finish removing this account.');
|
|
806
|
+
if (action === 'poll') {
|
|
807
|
+
if (typeof body.attemptId !== 'string')
|
|
808
|
+
throw new ProviderAccountError(400, 'Connect first.');
|
|
809
|
+
let answer;
|
|
810
|
+
try {
|
|
811
|
+
answer = await this.ollama.poll(id, row.revision, owner, body.attemptId, row.secretRef);
|
|
812
|
+
}
|
|
813
|
+
catch (error) {
|
|
814
|
+
throw new ProviderAccountError(409, error.message);
|
|
815
|
+
}
|
|
816
|
+
if (answer.state === 'connected') {
|
|
817
|
+
this.#modelLists.delete(id);
|
|
818
|
+
this.#tests.delete(id);
|
|
819
|
+
await this.load();
|
|
820
|
+
}
|
|
821
|
+
return answer;
|
|
822
|
+
}
|
|
823
|
+
if (row.revision !== body.revision)
|
|
824
|
+
throw new ProviderAccountError(409, 'Account changed. Refresh before continuing.');
|
|
825
|
+
if (action === 'connect' && !row.enabled)
|
|
826
|
+
throw new ProviderAccountError(409, 'Enable this account before connecting it.');
|
|
827
|
+
this.ollama.forget(id);
|
|
828
|
+
let unpaired = false;
|
|
829
|
+
if (action === 'disconnect') {
|
|
830
|
+
unpaired = await this.ollama.unpair(row.secretRef);
|
|
831
|
+
try {
|
|
832
|
+
await deleteAccountSecret(this.deps.pool, this.vault, row.secretRef);
|
|
833
|
+
}
|
|
834
|
+
catch {
|
|
835
|
+
throw new ProviderAccountError(409, 'Could not remove the Ollama device key. Unlock the vault and retry.');
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
// A new key, or none: runs that started on the old one stop at their next call.
|
|
839
|
+
await this.deps.pool.query('update core.provider_accounts set revision=revision+1,updated_at=now() where id=$1', [id]);
|
|
840
|
+
this.#modelLists.delete(id);
|
|
841
|
+
this.#tests.delete(id);
|
|
842
|
+
if (action === 'disconnect') {
|
|
843
|
+
await this.load();
|
|
844
|
+
return { removed: true, unpaired, note: unpaired
|
|
845
|
+
? 'Disconnected. The key is gone from buddi, and ollama.com no longer lists this device.'
|
|
846
|
+
: 'Disconnected. The key is gone from buddi. ollama.com did not confirm it forgot this device; if it is still listed in your ollama.com settings, remove it there.' };
|
|
847
|
+
}
|
|
848
|
+
let started;
|
|
849
|
+
try {
|
|
850
|
+
started = await this.ollama.start(id, row.revision + 1, owner, row.secretRef);
|
|
851
|
+
}
|
|
852
|
+
catch (error) {
|
|
853
|
+
await this.load();
|
|
854
|
+
throw new ProviderAccountError(409, error.message);
|
|
855
|
+
}
|
|
856
|
+
await this.load();
|
|
857
|
+
return started;
|
|
858
|
+
});
|
|
859
|
+
}
|
|
708
860
|
async #codexCompletionAccess(row, signal) {
|
|
709
861
|
const deadline = Date.now() + 120_000;
|
|
710
862
|
while (true) {
|
|
@@ -791,12 +943,19 @@ export class ProviderAccounts {
|
|
|
791
943
|
const lease = await this.#codexAccess(row);
|
|
792
944
|
try {
|
|
793
945
|
const started = await this.codex.login(lease.access);
|
|
794
|
-
void started.finished.then(() => lease.release()).
|
|
946
|
+
void started.finished.then(() => lease.release()).then(() => {
|
|
947
|
+
if (this.codex?.view(id)?.state !== 'connected')
|
|
948
|
+
return;
|
|
949
|
+
// Fill the provider's windows now, not when the owner next opens the picker.
|
|
950
|
+
this.#modelLists.delete(id);
|
|
951
|
+
void this.models(id, true).catch(() => { });
|
|
952
|
+
}).catch(() => { });
|
|
795
953
|
return started.view;
|
|
796
954
|
}
|
|
797
955
|
catch {
|
|
798
956
|
await lease.release();
|
|
799
|
-
|
|
957
|
+
const view = this.codex.view(id);
|
|
958
|
+
throw new ProviderAccountError(409, view?.state === 'failed' && view.message ? view.message : 'Could not start ChatGPT sign-in. Check the host vault and try again.');
|
|
800
959
|
}
|
|
801
960
|
});
|
|
802
961
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-accounts.js","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAClF,cAAc,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,GAG9F,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAA4C,MAAM,gBAAgB,CAAC;AAE9K,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAA2B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,aAAa,EAA2B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKhI,MAAM,OAAO,GAAG;;oFAEoE,CAAC;AACrF,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAC7G,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC5F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IAC5E;;;;;OAKG;IACH,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACtF,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;IACpI,EAAE,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE;IAC7K,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;CAChH,CAAC;AAIX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAsB;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACxB;IAArB,YAAqB,MAAc,EAAE,OAAe;QAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAAlD,WAAM,GAAN,MAAM,CAAQ;IAAqC,CAAC;CAC1E;AAED,qFAAqF;AACrF,MAAM,OAAO,gBAAgB;IAgBN;IAfZ,KAAK,CAAoB;IACzB,KAAK,CAA4B;IACjC,SAAS,CAAgC;IAClD,UAAU,GAAG,IAAI,GAAG,EAAkE,CAAC;IACvF,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;IAC/B,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IACvC,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7B,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,KAAK,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,WAAW,GAAG,IAAI,GAAG,EAAqE,CAAC;IAC3F,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3D,0FAA0F;IACjF,YAAY,CAAoB;IACzC,YAAqB,IAKpB;QALoB,SAAI,GAAJ,IAAI,CAKxB;QACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,yBAAyB,CAAC,UAAU,EAAE,2BAA2B,CAC/D,KAAK,EAAE,EAAE,EAAE,EAAE;gBACX,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oDAAoD,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxG,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,CAAC,EACD,CAAC,EAAE,EAAE,EAAE;gBACL,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,KAAK,GAAG,CAAC;YACvF,CAAC,CACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3H,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,qBAAqB,KAAK,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAErG,KAAK,CAAC,UAAU;QACd,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;YAClG,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC5G,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACzG,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjE,MAAM,MAAM,CAAC,KAAK,CAAC;;4EAE+C,EAClE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI;wBACzF,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpD,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC;oBACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC5E,IAAI,OAAO;wBAAE,MAAM,MAAM,CAAC,KAAK,CAAC;gEACsB,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/F,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;gBACxD,CAAC;YAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,GAAQ;QACpB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,sEAAsE;YACtE,2EAA2E;YAC3E,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,iFAAiF,CAAC,CAAC;QAAC,CAAC;IACrI,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,OAAO,qDAAqD,CAAC,CAAC;QAClH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAC;QAChJ,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAa,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,GAAG,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;gBACzI,CAAC;YACH,CAAC;YACD,MAAM,CAAC;gBAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpE,SAAS,GAA8D,CAAC,KAAuB,EAAE,EAAE;QACjG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAgB,GAAG,CAAC,CAAC,CAAC;YAClC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE;YACzE,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,2BAA2B,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,IAAI,eAAe,EAAE;SAC5J,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;QAC3H,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gEAAgE;YACnF,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK;gBAC3D,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM;oBACtF,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,KAAK,gBAAgB;wBAC/D,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,KAAK,uCAAuC;4BACvG,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IACnI,CAAC,CAAC;IAEF,IAAI,CAAC,YAAqB;QACxB,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;YAClF,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;YAC1B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrG,GAAG,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK;gBACzD,qEAAqE;gBACrE,sEAAsE;gBACtE,mBAAmB;gBACnB,2BAA2B,EAAE,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC9G,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI;gBACrH,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtJ,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpG,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;aACtC,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IAED,OAAO,CAAI,EAAoB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAAC,OAAO,OAAO,CAAC;IAChG,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,OAAO,0CAA0C,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;QACxF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAO,GAAG,KAAK;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;QACpH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,QAAQ,KAAK,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACpG,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,IAAI,KAAoB,CAAC;gBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAC3C,IAAI,CAAC;wBAAC,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAAC,CAAC;4BAAS,CAAC;wBAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;gBAC3F,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,kEAAkE,CAAC,CAAC;oBAC5I,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBACpH,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ;oBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,wCAAwC,CAAC,CAAC;gBAC7J,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,oBAAoB;oBAAE,MAAM,KAAK,CAAC;gBACvD,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,0BAA0B,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC;YAC1H,CAAC;oBAAS,CAAC;gBAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,IAAa;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;QAC3I,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;QAC/G,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACjH,MAAM,GAAG,GAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtL,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;QAC5H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,0BAA0B,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAa;QAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;YACtF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,sDAAsD,CAAC,CAAC;YACzJ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YACpG,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,0DAA0D,CAAC,CAAC;YAC5I,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,qFAAqF,CAAC,CAAC;YACjN,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACvI,IAAI,GAAG,EAAE,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,wEAAwE,CAAC,CAAC;YACjI,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;YAC/H,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,sEAAsE,CAAC,CAAC;YAC7K,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6GAA6G,CAAC,CAAC;YAC7N,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,mEAAmE,CAAC,CAAC;YAC5L,IAAI,KAAK,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,+CAA+C,CAAC,CAAC;YAC/I,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YACxE,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,wDAAwD,CAAC,CAAC;YAC5K,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACvE,IAAI,UAAU;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,UAAU,GAAG,GAAG,EAAE,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzG,IAAI,CAAC;gBACL,IAAI,GAAG,EAAE,IAAI,KAAK,iBAAiB;oBAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChE,IAAI,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvN,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,iDAAiD,CAAC,CAAC;oBACxG,8DAA8D;oBAC9D,oEAAoE;oBACpE,SAAS,GAAG,oBAAoB,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBACpE,IAAI,CAAC;wBACH,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAY,EAAE,IAAI,CAAC,KAAK,EAAE;4BACvD,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM;4BACpC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;yBAC/E,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;oBAAC,CAAC;gBACjG,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wJACsG,EAChJ,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,EAAC,OAAO,EAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC,OAAO,EAAC,SAAS,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,GAAG,CAAC,QAAQ;4BACjH,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC;wBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;4BAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;oBAC9G,CAAC;;wBAAM,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;4CACI,EAAE,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,EAAC,KAAK,CAAC,IAAI,EAAC,KAAK,CAAC,IAAI,EAAC,OAAO,EAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC,OAAO,EAAC,SAAS;4BAC5H,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,0EAA0E;oBAC1E,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;wBAAE,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAY,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACxG,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,OAA2B,CAAC;gBAChC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;oBACrD,IAAI,CAAC;wBAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAY,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;oBACrF,MAAM,CAAC;wBAAC,OAAO,GAAG,4EAA4E,CAAC;oBAAC,CAAC;gBACnG,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;YACvB,CAAC;oBAAS,CAAC;gBAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC;gBAAC,MAAM,UAAU,EAAE,OAAO,EAAE,CAAC;YAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IAAC,CAAC;IAEL,MAAM,CAAC,OAAe,EAAE,IAAa;QAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7H,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;YACzF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,KAAK;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;YAClG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;uGAGyD,EAAE,CAAC,OAAO,EAAC,GAAG,CAAC,EAAE,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACzI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,8DAA8D,CAAC,CAAC;YAC7H,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,+EAA+E,EAAE,CAAC;QAClI,CAAC,CAAC,CAAC;IAAC,CAAC;IAEL,MAAM,CAAC,EAAU,EAAE,QAAgB;QAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACpE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;YACvH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uEAAuE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3H,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,wFAAwF,CAAC,CAAC;YACxJ,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxG,IAAI,CAAC;gBACL,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;+CACD,EAAE,CAAC,EAAE,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;gBACnH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC;oBAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAY,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAClG,MAAM,CAAC;oBAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,gGAAgG,CAAC,CAAC;gBAAC,CAAC;gBAChJ,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kFAAkF,EAAE,CAAC,EAAE,EAAC,QAAQ,GAAC,CAAC,CAAC,CAAC,CAAC;gBAChI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzB,CAAC;oBAAS,CAAC;gBAAC,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC;gBAAC,MAAM,UAAU,EAAE,OAAO,EAAE,CAAC;YAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IAAC,CAAC;IAEL,kFAAkF;IAClF,QAAQ,CAAC,GAAgB;QACvB,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;QACzB,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,gEAAgE,CAAC,CAAC;QAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;QAC/F,OAAO;YACL,YAAY,EAAE,EAAE,GAAG,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACpK,QAAQ,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;oBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6GAA6G,CAAC,CAAC;gBAC3L,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACrE,IAAI,CAAC;wBAAC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAAC,CAAC;4BACnE,CAAC;wBAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvG,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,wDAAwD,CAAC,CAAC;QACzH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,kGAAkG,CAAC,CAAC;YAClK,IAAI,UAAU,GAAuB,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC/H,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9F,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;oBAC9C,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;wBACnF,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,EAAE,CAAC;wBACvH,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;qBAC/C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,iDAAiD,CAAC,CAAC;YAC5I,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAAC,OAAO,MAAM,CAAC;QAC7C,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY;aACnH,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,GAAG,CAAC,QAAQ;oBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;gBACxF,OAAO,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YACnF,CAAC;YACD,gBAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;oBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;gBAC9F,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1E,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ;oBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,GAAG,CAAC,KAAK,gBAAgB,CAAC,CAAC;gBACtH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC7D,IAAI,CAAC;oBAAC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAAC,CAAC;wBACvD,CAAC;oBAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAQ,EAAE,MAAoB;QAChD,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5E,qEAAqE;YACrE,0EAA0E;YAC1E,wEAAwE;YACxE,0EAA0E;YAC1E,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrD;;;;;;eAMG;YACH,IAAI,KAAgC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAY;gBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAA0B;gBACrE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;gBACrB,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;oBACzB,KAAK,GAAG,SAAS,CAAC;gBACpB,CAAC;aACF,EACD,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CACtE,CAAC;YACF,IAAI,MAAM,IAAI,MAAM;gBAAE,OAAO,KAAK,IAAI,IAAI,CAAC;YAC3C,IAAI,SAAS,IAAI,MAAM;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,oEAAoE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACrJ,IAAI,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,uEAAuE;gBACvE,wDAAwD;gBACxD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC;YAAC,OAAO,MAAM,IAAI,CAAC,SAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAU,CAAC,CAAC;QAAC,CAAC;QAChE,OAAO,KAAK,EAAE,CAAC;YACb,wEAAwE;YACxE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,IAAI,uHAAuH,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACvM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2FAA2F,CAAC,CAAC;QACnH,CAAC;gBAAS,CAAC;YAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,MAAoB;QAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;QACrJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACrC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,yFAAyF,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;gBAChK,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,0CAA0C,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAoB,CAAC;oBACvI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,+DAA+D,CAAC,CAAC;oBACtN,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;4BAC3B,IAAI,CAAC;gCAAC,MAAM,MAAM,CAAC,KAAK,CAAC,2EAA2E,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;4BAAC,CAAC;oCAC1G,CAAC;gCAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BAAC,CAAC;wBAC/B,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,QAAQ;oBAAE,MAAM,MAAM,CAAC,KAAK,CAAC,2EAA2E,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACxI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,KAAK,CAAC;YAChC,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;YAC9G,MAAM,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,MAA8D,EAAE,IAAiE,EAAE,KAAa;QAC1K,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;YACnK,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YAClJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,gBAAgB,CAAC,CAAC;YAClG,IAAI,CAAC;gBACH,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;oBAChC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;oBAC9K,IAAI,CAAC;wBAAC,MAAM,IAAI,CAAC,SAAU,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,SAAU,CAAC,CAAC;oBAAC,CAAC;oBACzG,OAAO,KAAK,EAAE,CAAC;wBAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;oBAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC3B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACxB,IAAI,CAAC;4BAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAY,EAAE,IAAI,CAAC,KAAM,EAAE,GAAG,CAAC,SAAU,CAAC,CAAC;wBAAC,CAAC;wBACvF,MAAM,CAAC;4BAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,kEAAkE,CAAC,CAAC;wBAAC,CAAC;oBACpH,CAAC;gBACH,CAAC;gBACD,0EAA0E;gBAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oFAAoF,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAU,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACvG,CAAC;oBAAS,CAAC;gBAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAQ,EAAE,MAAoB;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QACtC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC;gBAAC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAC5C,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;oBAAE,MAAM,KAAK,CAAC;gBAC5G,uEAAuE;gBACvE,yEAAyE;gBACzE,MAAM,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAQ,EAAE,cAAc,GAAG,IAAI;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;QAChI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,+EAA+E,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7H,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,wEAAwE,CAAC,CAAC;YAC7H,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,MAAM,MAAM,GAAuB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;oBAC3F,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,0CAA0C,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAoB,CAAC;oBACvI,IAAI,CAAC,OAAO;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;oBAChF,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;wBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,yDAAyD,CAAC,CAAC;gBACtM,CAAC,EAAE,CAAC;YACJ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;oBACnC,IAAI,CAAC;wBAAC,MAAM,MAAM,CAAC,KAAK,CAAC,iEAAiE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;4BAChG,CAAC;wBAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAAC,QAAQ,EAAE,CAAC;oBAAC,CAAC;gBAC/E,CAAC,EAAE,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,QAAQ;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC,iEAAiE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9G,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,IAAI,QAAQ,EAAE,CAAC;gBAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,QAAQ,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,KAAK,CAAC;QAClG,CAAC;IACH,CAAC;IAED,WAAW,CAAC,EAAU,EAAE,MAA2C,EAAE,QAAiB;QAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACvH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;YAChI,IAAI,QAAQ,KAAK,GAAG,CAAC,QAAQ;gBAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;YAClH,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAAC,CAAC;YAC3F,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC;oBAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAY,EAAE,IAAI,CAAC,KAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;wBAC9E,CAAC;oBAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrD,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAClE,OAAO,OAAO,CAAC,IAAI,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,iFAAiF,CAAC,CAAC;YACzH,CAAC;QACH,CAAC,CAAC,CAAC;IAAC,CAAC;CACN"}
|
|
1
|
+
{"version":3,"file":"provider-accounts.js","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type SpeechModel = 'whisper' | 'kokoro';
|
|
2
|
+
export declare const SPEECH_MODELS: readonly SpeechModel[];
|
|
3
|
+
interface InstallProgress {
|
|
4
|
+
fraction: number;
|
|
5
|
+
bytes: number;
|
|
6
|
+
total: number;
|
|
7
|
+
}
|
|
8
|
+
interface SpeechModule {
|
|
9
|
+
installLocal?: (kind: SpeechModel, options: {
|
|
10
|
+
dir: string;
|
|
11
|
+
onProgress?: (p: InstallProgress) => void;
|
|
12
|
+
}) => Promise<{
|
|
13
|
+
bytes: number;
|
|
14
|
+
fetched: boolean;
|
|
15
|
+
path: string;
|
|
16
|
+
}>;
|
|
17
|
+
installedLocal?: (dir: string) => Record<SpeechModel, {
|
|
18
|
+
label: string;
|
|
19
|
+
installed: boolean;
|
|
20
|
+
bytes: number;
|
|
21
|
+
path: string;
|
|
22
|
+
missing?: number;
|
|
23
|
+
}>;
|
|
24
|
+
LOCAL_MODELS?: Record<SpeechModel, {
|
|
25
|
+
label: string;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
export interface SpeechCliIo {
|
|
29
|
+
out: (line: string) => void;
|
|
30
|
+
err: (line: string) => void;
|
|
31
|
+
/** Rewrite the current line (a TTY); absent, progress prints every tenth. */
|
|
32
|
+
progress?: (line: string) => void;
|
|
33
|
+
}
|
|
34
|
+
/** The speech plugin's module, from the installed record, or the sentence saying why not. */
|
|
35
|
+
export declare function loadSpeechPlugin(env: NodeJS.ProcessEnv): Promise<{
|
|
36
|
+
mod: SpeechModule;
|
|
37
|
+
} | {
|
|
38
|
+
problem: string;
|
|
39
|
+
}>;
|
|
40
|
+
export declare function speechDir(env: NodeJS.ProcessEnv): string;
|
|
41
|
+
export declare function runSpeechCli(action: 'install' | 'status', model: SpeechModel | undefined, env?: NodeJS.ProcessEnv, io?: SpeechCliIo): Promise<number>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=speech-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speech-cli.d.ts","sourceRoot":"","sources":["../src/speech-cli.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA0B,CAAC;AAE3E,UAAU,eAAe;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAC5E,UAAU,YAAY;IACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtK,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5I,YAAY,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAID,6FAA6F;AAC7F,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAanH;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAExD;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAC5B,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,EAAE,GAAE,WAIH,GACA,OAAO,CAAC,MAAM,CAAC,CAyDjB"}
|