@inf-monkeys-tech/monkeys-design 1.0.38 → 1.0.39
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/dist/components/agent-workbench/index.js +9 -0
- package/dist/components/agent-workbench/index.js.map +1 -1
- package/dist/components/agent-workbench/index.mjs +9 -0
- package/dist/components/agent-workbench/index.mjs.map +1 -1
- package/dist/components/base/index.js +9 -0
- package/dist/components/base/index.js.map +1 -1
- package/dist/components/base/index.mjs +9 -0
- package/dist/components/base/index.mjs.map +1 -1
- package/dist/components/data-explorer/index.js +9 -0
- package/dist/components/data-explorer/index.js.map +1 -1
- package/dist/components/data-explorer/index.mjs +9 -0
- package/dist/components/data-explorer/index.mjs.map +1 -1
- package/dist/components/layout/index.js +9 -0
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/index.mjs +9 -0
- package/dist/components/layout/index.mjs.map +1 -1
- package/dist/components/runtime/index.js +9 -0
- package/dist/components/runtime/index.js.map +1 -1
- package/dist/components/runtime/index.mjs +9 -0
- package/dist/components/runtime/index.mjs.map +1 -1
- package/dist/components/toast/index.d.mts +1 -1
- package/dist/components/toast/index.d.ts +1 -1
- package/dist/components/toast/index.js +9 -0
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toast/index.mjs +9 -0
- package/dist/components/toast/index.mjs.map +1 -1
- package/dist/components/toolbar/index.js +9 -0
- package/dist/components/toolbar/index.js.map +1 -1
- package/dist/components/toolbar/index.mjs +9 -0
- package/dist/components/toolbar/index.mjs.map +1 -1
- package/dist/components/workbench/index.d.mts +218 -6
- package/dist/components/workbench/index.d.ts +218 -6
- package/dist/components/workbench/index.js +1088 -97
- package/dist/components/workbench/index.js.map +1 -1
- package/dist/components/workbench/index.mjs +1089 -99
- package/dist/components/workbench/index.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +838 -100
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +838 -101
- package/dist/index.mjs.map +1 -1
- package/dist/locale/index.d.mts +20 -2
- package/dist/locale/index.d.ts +20 -2
- package/dist/locale/index.js +22 -0
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/index.mjs +22 -0
- package/dist/locale/index.mjs.map +1 -1
- package/dist/provider/index.d.mts +2 -2
- package/dist/provider/index.d.ts +2 -2
- package/dist/provider/index.js +22 -0
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +22 -0
- package/dist/provider/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/{types-b8d18b1454c2.d.mts → types-453d18eab188.d.mts} +10 -0
- package/dist/{types-b8d18b1454c2.d.ts → types-453d18eab188.d.ts} +10 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/locale/en-US.ts","../../src/locale/zh-CN.ts","../../src/locale/resolve-locale.ts","../../src/theme-system/theme-tokens.ts","../../src/provider/context.ts","../../src/provider/MonkeysProvider.tsx"],"names":["locale","isRecord","hue","saturation","lightness","resolveThemeTokens","createContext","useContext","useMemo","jsx"],"mappings":"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","file":"index.js","sourcesContent":["import type { MonkeysLocale } from './types';\n\nexport const enUS = {\n locale: 'en-US',\n messages: {\n pagination: {\n navigation: 'Pagination',\n first: 'First',\n previous: 'Previous',\n next: 'Next',\n last: 'Last',\n page: ({ page, pageCount }) => `Page ${page} of ${pageCount}`,\n currentPage: ({ page, pageCount }) =>\n `Page ${page} of ${pageCount}, current page`,\n emptyResults: '0 results',\n range: ({ start, end, total }) => `${start}-${end} of ${total}`,\n },\n dialog: {\n close: 'Close dialog',\n },\n dropdownMenu: {\n actions: 'Actions',\n },\n loading: {\n spinner: 'Loading',\n },\n layout: {\n resizePanels: 'Resize panels',\n },\n steps: {\n label: 'Progress',\n current: 'Current',\n completed: 'Completed',\n error: 'Error',\n disabled: 'Disabled',\n },\n numberInput: {\n increment: 'Increase value',\n decrement: 'Decrease value',\n },\n passwordInput: {\n showPassword: 'Show password',\n hidePassword: 'Hide password',\n },\n multiSelect: {\n placeholder: 'Select options',\n empty: 'No options',\n removeOption: ({ value }) => `Remove ${value}`,\n },\n table: {\n dragColumn: ({ columnId }) => `Drag column ${columnId}`,\n resizeColumn: ({ columnId }) => `Resize column ${columnId}`,\n sortColumn: ({ columnId }) =>\n columnId ? `Sort column ${columnId}` : 'Sort column',\n loadingRow: 'Loading table row',\n },\n toolbar: {\n theme: {\n label: 'Appearance',\n toggle: 'Toggle theme',\n auto: 'Auto',\n light: 'Light',\n dark: 'Dark',\n },\n language: {\n label: 'Language',\n switch: 'Switch language',\n },\n },\n toast: {\n errorTitle: 'Error',\n warningTitle: 'Warning',\n defaultErrorDescription: 'Something went wrong.',\n defaultWarningDescription: 'Please check and try again.',\n },\n dataExplorer: {\n viewTree: {\n actions: 'More actions',\n expand: 'Expand',\n collapse: 'Collapse',\n loading: 'Loading...',\n empty: 'No views',\n error: 'Unable to load views',\n },\n },\n workbench: {\n interactiveTable: {\n columnActions: 'Column actions',\n freezeColumn: 'Freeze to left',\n freezeEndColumn: 'Freeze to right',\n unfreezeColumn: 'Unfreeze from left',\n unfreezeEndColumn: 'Unfreeze from right',\n unfreezeAllColumns: 'Unfreeze all columns',\n resetColumnWidth: 'Reset column width',\n frozenColumnTitle: 'Frozen column',\n },\n },\n agentWorkbench: {\n label: 'Session activity',\n reasoning: 'Reasoning',\n plan: 'Plan',\n taskNoDetail: 'No additional details',\n modes: { chat: 'Chat', work: 'Work' },\n composer: {\n send: 'Send message',\n stop: 'Stop generating',\n queue: 'Queue message',\n attach: 'Add photos or files',\n voice: 'Start voice input',\n webSearch: 'Web search',\n chatMode: 'Chat mode',\n model: 'Model',\n reasoning: 'Reasoning effort',\n permissions: 'Permissions',\n removeAttachment: 'Remove attachment',\n editQueued: 'Edit queued message',\n deleteQueued: 'Delete queued message',\n moveUp: 'Move message up',\n moveDown: 'Move message down',\n queued: 'Queued messages',\n uploading: 'Uploading',\n noModels: 'No models available',\n message: 'Message',\n attachmentOnly: 'Attachment',\n reasoningOptions: { low: 'Low', medium: 'Medium', high: 'High', xhigh: 'Extra high' },\n permissionOptions: { 'approval-required': 'Approval required', 'auto-approve': 'Auto approve', 'full-access': 'Full access' },\n },\n quickStart: {\n label: 'Quick start',\n back: 'Back',\n addFile: 'Add file',\n },\n tool: {\n input: 'Input',\n output: 'Output',\n status: {\n pending: 'Pending',\n running: 'Running',\n completed: 'Completed',\n failed: 'Error',\n denied: 'Denied',\n },\n },\n approval: {\n approve: 'Approve',\n reject: 'Reject',\n approved: 'Approved',\n rejected: 'Rejected',\n },\n artifact: {\n pending: 'Preparing',\n ready: 'Ready',\n failed: 'Failed',\n open: ({ name }) => `Open ${name}`,\n },\n run: {\n stopping: 'Stopping...',\n stoppedAfter: ({ duration }) => `You stopped after ${duration}`,\n },\n process: {\n running: 'Working',\n processed: 'Processed',\n processedFor: ({ duration }) => `Worked for ${duration}`,\n completedCount: ({ completed, total }) => `${completed}/${total} completed`,\n },\n artifactWorkspace: {\n outputs: 'Outputs',\n sources: 'Sources',\n viewAll: 'View all',\n toggleSummary: 'Toggle files',\n tabs: 'Open files',\n closeTab: ({ name }) => `Close ${name}`,\n closeWorkspace: 'Close workspace',\n download: ({ name }) => `Download ${name}`,\n openExternal: ({ name }) => `Open ${name} in a new window`,\n },\n usage: {\n label: 'Context usage',\n context: ({ used, total }) => `${used} / ${total} tokens`,\n },\n navigation: {\n search: 'Search agents and sessions',\n searchSessions: 'Search sessions',\n searchShortcut: 'Focus search',\n clearSearch: 'Clear search',\n tabsLabel: 'Agent workbench navigation',\n agents: 'Agents',\n sessions: 'Sessions',\n newAgent: 'New Agent',\n newSession: 'New Session',\n capabilities: 'Capabilities & Extensions',\n settings: 'Agent Settings',\n allAgents: 'All Agents',\n recentSessions: 'Recent Sessions',\n chat: 'Chat',\n work: 'Work',\n chats: 'Chats',\n builtIn: 'Built-in',\n noDescription: 'No description',\n loading: 'Loading...',\n emptyAgents: 'No agents yet',\n emptySessions: 'No sessions yet',\n noResults: 'No matching results',\n retry: 'Retry',\n pin: 'Pin',\n unpin: 'Unpin',\n rename: 'Rename',\n delete: 'Delete',\n actions: 'Actions',\n save: 'Save',\n cancel: 'Cancel',\n running: 'Running',\n completed: 'Completed',\n failed: 'Failed',\n contextUsage: ({ percent }) => `${percent}% context used`,\n },\n details: {\n title: 'Task details',\n description: 'Summary and workspace activity',\n duration: 'Duration',\n updated: 'Updated',\n model: 'Model',\n mode: 'Mode',\n permissions: 'Permissions',\n tokenUsage: 'Token usage',\n summary: 'Summary',\n summaryEmpty: 'No summary is available yet.',\n summaryFailed: 'The summary could not be generated.',\n highlights: 'Highlights',\n pendingItems: 'Pending items',\n tabs: {\n label: 'Task detail views',\n summary: 'Summary',\n workspace: 'Workspace',\n },\n status: {\n queued: 'Queued',\n running: 'Running',\n waiting_approval: 'Waiting for approval',\n stopping: 'Stopping',\n stopped: 'Stopped',\n completed: 'Completed',\n failed: 'Failed',\n },\n state: {\n loading: { title: 'Loading task details', description: 'Restoring the latest session activity.' },\n empty: { title: 'No task selected', description: 'Select a task to inspect its details.' },\n error: { title: 'Unable to load task details', description: 'Try again after the session is available.' },\n },\n actions: {\n close: 'Close task details',\n copySummary: 'Copy summary',\n retry: 'Retry',\n retrySummary: 'Retry summary',\n resume: 'Resume',\n continueInNewTask: 'Continue in new task',\n editAndRerun: 'Edit and rerun',\n export: 'Export',\n },\n workspace: {\n diffs: 'Code changes',\n files: 'Files',\n terminals: 'Terminals',\n tests: 'Tests',\n artifacts: 'Artifacts',\n exitCode: ({ code }) => `Exit code ${code}`,\n diffStatus: { added: 'Added', modified: 'Modified', deleted: 'Deleted', renamed: 'Renamed' },\n fileOperation: { upsert: 'Updated', delete: 'Deleted' },\n },\n },\n },\n },\n} satisfies MonkeysLocale;\n","import type { MonkeysLocale } from './types';\n\nexport const zhCN = {\n locale: 'zh-CN',\n messages: {\n pagination: {\n navigation: '分页导航',\n first: '首页',\n previous: '上一页',\n next: '下一页',\n last: '末页',\n page: ({ page, pageCount }) => `第 ${page} 页,共 ${pageCount} 页`,\n currentPage: ({ page, pageCount }) =>\n `第 ${page} 页,共 ${pageCount} 页,当前页`,\n emptyResults: '共 0 条',\n range: ({ start, end, total }) => `第 ${start}-${end} 条,共 ${total} 条`,\n },\n dialog: {\n close: '关闭对话框',\n },\n dropdownMenu: {\n actions: '操作',\n },\n loading: {\n spinner: '正在加载',\n },\n layout: {\n resizePanels: '调整面板大小',\n },\n steps: {\n label: '进度',\n current: '当前步骤',\n completed: '已完成',\n error: '错误',\n disabled: '已禁用',\n },\n numberInput: {\n increment: '增加数值',\n decrement: '减少数值',\n },\n passwordInput: {\n showPassword: '显示密码',\n hidePassword: '隐藏密码',\n },\n multiSelect: {\n placeholder: '请选择',\n empty: '暂无选项',\n removeOption: ({ value }) => `移除 ${value}`,\n },\n table: {\n dragColumn: ({ columnId }) => `拖动列 ${columnId}`,\n resizeColumn: ({ columnId }) => `调整列宽 ${columnId}`,\n sortColumn: ({ columnId }) =>\n columnId ? `排序列 ${columnId}` : '排序列',\n loadingRow: '正在加载表格行',\n },\n toolbar: {\n theme: {\n label: '外观',\n toggle: '切换主题',\n auto: '跟随系统',\n light: '浅色模式',\n dark: '深色模式',\n },\n language: {\n label: '语言',\n switch: '切换语言',\n },\n },\n toast: {\n errorTitle: '错误',\n warningTitle: '提示',\n defaultErrorDescription: '发生错误,请稍后重试。',\n defaultWarningDescription: '请检查后重试。',\n },\n dataExplorer: {\n viewTree: {\n actions: '更多操作',\n expand: '展开',\n collapse: '收起',\n loading: '正在加载...',\n empty: '暂无视图',\n error: '无法加载视图',\n },\n },\n workbench: {\n interactiveTable: {\n columnActions: '列操作',\n freezeColumn: '固定到左侧',\n freezeEndColumn: '固定到右侧',\n unfreezeColumn: '取消左侧固定',\n unfreezeEndColumn: '取消右侧固定',\n unfreezeAllColumns: '取消全部固定',\n resetColumnWidth: '重置列宽',\n frozenColumnTitle: '已固定列',\n },\n },\n agentWorkbench: {\n label: '会话活动',\n reasoning: '思考过程',\n plan: '执行计划',\n taskNoDetail: '暂无更多详情',\n modes: { chat: '对话', work: '工作' },\n composer: {\n send: '发送消息',\n stop: '停止生成',\n queue: '排队发送',\n attach: '添加照片或文件',\n voice: '开始语音输入',\n webSearch: '联网搜索',\n chatMode: '对话模式',\n model: '模型',\n reasoning: '思考强度',\n permissions: '权限',\n removeAttachment: '移除附件',\n editQueued: '编辑排队消息',\n deleteQueued: '删除排队消息',\n moveUp: '上移消息',\n moveDown: '下移消息',\n queued: '排队消息',\n uploading: '上传中',\n noModels: '暂无可用模型',\n message: '消息',\n attachmentOnly: '附件',\n reasoningOptions: { low: '低', medium: '中', high: '高', xhigh: '最高' },\n permissionOptions: { 'approval-required': '需要批准', 'auto-approve': '自动批准', 'full-access': '完全访问' },\n },\n quickStart: {\n label: '快速开始',\n back: '返回',\n addFile: '添加文件',\n },\n tool: {\n input: '输入',\n output: '输出',\n status: {\n pending: '等待中',\n running: '运行中',\n completed: '已完成',\n failed: '错误',\n denied: '已拒绝',\n },\n },\n approval: {\n approve: '允许',\n reject: '拒绝',\n approved: '已允许',\n rejected: '已拒绝',\n },\n artifact: {\n pending: '准备中',\n ready: '已就绪',\n failed: '失败',\n open: ({ name }) => `打开 ${name}`,\n },\n run: {\n stopping: '正在停止...',\n stoppedAfter: ({ duration }) => `你在 ${duration} 后停止了任务`,\n },\n process: {\n running: '执行过程',\n processed: '已处理',\n processedFor: ({ duration }) =>\n `耗时 ${duration\n .replace(/(\\d+)h/g, '$1小时')\n .replace(/(\\d+)m/g, '$1分钟')\n .replace(/(\\d+)s/g, '$1秒')\n .replace(/\\s+/g, '')}`,\n completedCount: ({ completed, total }) => `${completed}/${total} 已完成`,\n },\n artifactWorkspace: {\n outputs: '输出',\n sources: '来源',\n viewAll: '查看全部',\n toggleSummary: '切换文件摘要',\n tabs: '已打开文件',\n closeTab: ({ name }) => `关闭 ${name}`,\n closeWorkspace: '关闭工作区',\n download: ({ name }) => `下载 ${name}`,\n openExternal: ({ name }) => `在新窗口打开 ${name}`,\n },\n usage: {\n label: '上下文用量',\n context: ({ used, total }) => `${used} / ${total} tokens`,\n },\n navigation: {\n search: '搜索智能体和会话',\n searchSessions: '搜索会话',\n searchShortcut: '聚焦搜索框',\n clearSearch: '清除搜索',\n tabsLabel: '智能体工作台导航',\n agents: '智能体',\n sessions: '会话',\n newAgent: '新建智能体',\n newSession: '新建会话',\n capabilities: '能力与扩展',\n settings: '智能体设置',\n allAgents: '全部智能体',\n recentSessions: '最近会话',\n chat: '对话',\n work: '工作',\n chats: '聊天',\n builtIn: '内置',\n noDescription: '暂无描述',\n loading: '加载中...',\n emptyAgents: '暂无智能体',\n emptySessions: '暂无会话',\n noResults: '没有匹配结果',\n retry: '重试',\n pin: '置顶',\n unpin: '取消置顶',\n rename: '重命名',\n delete: '删除',\n actions: '操作',\n save: '保存',\n cancel: '取消',\n running: '运行中',\n completed: '已完成',\n failed: '失败',\n contextUsage: ({ percent }) => `已使用 ${percent}% 上下文`,\n },\n details: {\n title: '任务详情',\n description: '摘要与工作区活动',\n duration: '耗时',\n updated: '更新时间',\n model: '模型',\n mode: '模式',\n permissions: '权限',\n tokenUsage: 'Token 用量',\n summary: '摘要',\n summaryEmpty: '暂时没有可用摘要。',\n summaryFailed: '摘要生成失败。',\n highlights: '重点',\n pendingItems: '待处理事项',\n tabs: {\n label: '任务详情视图',\n summary: '摘要',\n workspace: '工作区',\n },\n status: {\n queued: '排队中',\n running: '运行中',\n waiting_approval: '等待审批',\n stopping: '正在停止',\n stopped: '已停止',\n completed: '已完成',\n failed: '失败',\n },\n state: {\n loading: { title: '正在加载任务详情', description: '正在恢复最新的会话活动。' },\n empty: { title: '未选择任务', description: '选择任务后查看详细信息。' },\n error: { title: '无法加载任务详情', description: '会话恢复可用后请重试。' },\n },\n actions: {\n close: '关闭任务详情',\n copySummary: '复制摘要',\n retry: '重试',\n retrySummary: '重新生成摘要',\n resume: '继续运行',\n continueInNewTask: '在新任务中继续',\n editAndRerun: '编辑并重新运行',\n export: '导出',\n },\n workspace: {\n diffs: '代码变更',\n files: '文件',\n terminals: '终端',\n tests: '测试',\n artifacts: '产物',\n exitCode: ({ code }) => `退出码 ${code}`,\n diffStatus: { added: '新增', modified: '修改', deleted: '删除', renamed: '重命名' },\n fileOperation: { upsert: '已更新', delete: '已删除' },\n },\n },\n },\n },\n} satisfies MonkeysLocale;\n","import { enUS } from './en-US';\nimport type {\n MonkeysBuiltInLocaleId,\n MonkeysLocale,\n MonkeysLocaleInput,\n MonkeysLocaleMessages,\n MonkeysLocaleMessagesOverride,\n MonkeysResolvedLocale,\n} from './types';\nimport { zhCN } from './zh-CN';\n\nconst BUILT_IN_LOCALES: Record<MonkeysBuiltInLocaleId, MonkeysLocale> = {\n 'en-US': enUS,\n 'zh-CN': zhCN,\n};\n\nfunction normalizeLocaleId(locale: unknown): string {\n if (typeof locale !== 'string' || !locale.trim()) {\n throw new TypeError('Monkeys locale must be a non-empty BCP 47 string.');\n }\n\n try {\n return Intl.getCanonicalLocales(locale)[0];\n } catch {\n throw new RangeError(\n `Monkeys locale \"${locale}\" is not a valid BCP 47 identifier.`,\n );\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction validateMessageOverride(\n value: unknown,\n schema: unknown,\n path: string,\n) {\n if (!isRecord(value) || !isRecord(schema)) {\n throw new TypeError(`${path} must be an object.`);\n }\n\n for (const [key, candidate] of Object.entries(value)) {\n if (candidate === undefined) continue;\n if (!(key in schema)) {\n throw new TypeError(`${path}.${key} is not a supported Monkeys message.`);\n }\n\n const expected = schema[key];\n const candidatePath = `${path}.${key}`;\n if (typeof expected === 'function') {\n if (typeof candidate !== 'function') {\n throw new TypeError(`${candidatePath} must be a function.`);\n }\n } else if (typeof expected === 'string') {\n if (typeof candidate !== 'string') {\n throw new TypeError(`${candidatePath} must be a string.`);\n }\n } else {\n validateMessageOverride(candidate, expected, candidatePath);\n }\n }\n}\n\nfunction assertMessagesOverride(\n value: unknown,\n path: string,\n): asserts value is MonkeysLocaleMessagesOverride {\n validateMessageOverride(value, enUS.messages, path);\n}\n\nfunction isBuiltInLocale(locale: string): locale is MonkeysBuiltInLocaleId {\n return locale === 'en-US' || locale === 'zh-CN';\n}\n\nfunction normalizeLocaleInput(input: MonkeysLocaleInput | undefined): {\n locale: string | undefined;\n messages: MonkeysLocaleMessagesOverride | undefined;\n hasExplicitLocale: boolean;\n} {\n if (input === undefined) {\n return {\n locale: undefined,\n messages: undefined,\n hasExplicitLocale: false,\n };\n }\n\n if (typeof input === 'string') {\n const locale = normalizeLocaleId(input);\n if (!isBuiltInLocale(locale)) {\n throw new RangeError(\n `Unsupported built-in Monkeys locale \"${locale}\". Provide a locale pack object for custom locales.`,\n );\n }\n return { locale, messages: undefined, hasExplicitLocale: true };\n }\n\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n throw new TypeError('Monkeys locale must be a locale id or locale pack object.');\n }\n\n const locale = normalizeLocaleId(input.locale);\n assertMessagesOverride(input.messages, 'Monkeys locale messages');\n\n return {\n locale,\n messages: input.messages,\n hasExplicitLocale: true,\n };\n}\n\nexport function mergeMonkeysLocaleMessages(\n base: MonkeysLocaleMessages,\n override?: MonkeysLocaleMessagesOverride,\n): MonkeysLocaleMessages {\n if (!override) return base;\n\n return {\n pagination: { ...base.pagination, ...override.pagination },\n dialog: { ...base.dialog, ...override.dialog },\n dropdownMenu: { ...base.dropdownMenu, ...override.dropdownMenu },\n loading: { ...base.loading, ...override.loading },\n layout: { ...base.layout, ...override.layout },\n steps: { ...base.steps, ...override.steps },\n numberInput: { ...base.numberInput, ...override.numberInput },\n passwordInput: { ...base.passwordInput, ...override.passwordInput },\n multiSelect: { ...base.multiSelect, ...override.multiSelect },\n table: { ...base.table, ...override.table },\n toolbar: {\n theme: { ...base.toolbar.theme, ...override.toolbar?.theme },\n language: { ...base.toolbar.language, ...override.toolbar?.language },\n },\n toast: { ...base.toast, ...override.toast },\n dataExplorer: {\n viewTree: {\n ...base.dataExplorer.viewTree,\n ...override.dataExplorer?.viewTree,\n },\n },\n workbench: {\n interactiveTable: {\n ...base.workbench.interactiveTable,\n ...override.workbench?.interactiveTable,\n },\n },\n agentWorkbench: {\n ...base.agentWorkbench,\n ...override.agentWorkbench,\n modes: {\n ...base.agentWorkbench.modes,\n ...override.agentWorkbench?.modes,\n },\n composer: {\n ...base.agentWorkbench.composer,\n ...override.agentWorkbench?.composer,\n },\n quickStart: {\n ...base.agentWorkbench.quickStart,\n ...override.agentWorkbench?.quickStart,\n },\n tool: {\n ...base.agentWorkbench.tool,\n ...override.agentWorkbench?.tool,\n status: {\n ...base.agentWorkbench.tool.status,\n ...override.agentWorkbench?.tool?.status,\n },\n },\n approval: {\n ...base.agentWorkbench.approval,\n ...override.agentWorkbench?.approval,\n },\n artifact: {\n ...base.agentWorkbench.artifact,\n ...override.agentWorkbench?.artifact,\n },\n run: {\n ...base.agentWorkbench.run,\n ...override.agentWorkbench?.run,\n },\n process: {\n ...base.agentWorkbench.process,\n ...override.agentWorkbench?.process,\n },\n artifactWorkspace: {\n ...base.agentWorkbench.artifactWorkspace,\n ...override.agentWorkbench?.artifactWorkspace,\n },\n usage: {\n ...base.agentWorkbench.usage,\n ...override.agentWorkbench?.usage,\n },\n navigation: {\n ...base.agentWorkbench.navigation,\n ...override.agentWorkbench?.navigation,\n },\n details: {\n ...base.agentWorkbench.details,\n ...override.agentWorkbench?.details,\n tabs: {\n ...base.agentWorkbench.details.tabs,\n ...override.agentWorkbench?.details?.tabs,\n },\n status: {\n ...base.agentWorkbench.details.status,\n ...override.agentWorkbench?.details?.status,\n },\n state: {\n loading: {\n ...base.agentWorkbench.details.state.loading,\n ...override.agentWorkbench?.details?.state?.loading,\n },\n empty: {\n ...base.agentWorkbench.details.state.empty,\n ...override.agentWorkbench?.details?.state?.empty,\n },\n error: {\n ...base.agentWorkbench.details.state.error,\n ...override.agentWorkbench?.details?.state?.error,\n },\n },\n actions: {\n ...base.agentWorkbench.details.actions,\n ...override.agentWorkbench?.details?.actions,\n },\n workspace: {\n ...base.agentWorkbench.details.workspace,\n ...override.agentWorkbench?.details?.workspace,\n diffStatus: {\n ...base.agentWorkbench.details.workspace.diffStatus,\n ...override.agentWorkbench?.details?.workspace?.diffStatus,\n },\n fileOperation: {\n ...base.agentWorkbench.details.workspace.fileOperation,\n ...override.agentWorkbench?.details?.workspace?.fileOperation,\n },\n },\n },\n },\n };\n}\n\nexport const defaultMonkeysLocale: MonkeysResolvedLocale = {\n locale: enUS.locale,\n messages: mergeMonkeysLocaleMessages(\n enUS.messages as MonkeysLocaleMessages,\n ),\n};\n\nexport function resolveMonkeysLocale(\n input?: MonkeysLocaleInput,\n override?: MonkeysLocaleMessagesOverride,\n parent?: MonkeysResolvedLocale,\n): MonkeysResolvedLocale {\n if (override !== undefined) {\n assertMessagesOverride(override, 'MonkeysProvider messages');\n }\n const normalized = normalizeLocaleInput(input);\n const locale = normalized.locale ?? parent?.locale ?? enUS.locale;\n const builtInMessages = isBuiltInLocale(locale)\n ? BUILT_IN_LOCALES[locale].messages\n : undefined;\n let messages = mergeMonkeysLocaleMessages(\n enUS.messages as MonkeysLocaleMessages,\n builtInMessages,\n );\n\n if (parent && (!normalized.hasExplicitLocale || parent.locale === locale)) {\n messages = mergeMonkeysLocaleMessages(messages, parent.messages);\n }\n\n messages = mergeMonkeysLocaleMessages(messages, normalized.messages);\n messages = mergeMonkeysLocaleMessages(messages, override);\n\n return { locale, messages };\n}\n","import type {\n ResolvedThemeToken,\n ThemeColorValue,\n ThemeDimensionValue,\n ThemeDurationValue,\n ThemeTokenExtensions,\n ThemeTokens,\n} from '@inf-monkeys-tech/monkeys/contracts';\nimport { resolveThemeTokens } from '@inf-monkeys-tech/monkeys/runtime';\n\nexport type MonkeysThemeColorMode = 'light' | 'dark' | (string & {});\nexport type MonkeysThemeDensity = 'compact' | 'default' | 'comfortable';\n\nexport interface CompileThemeTokensOptions {\n colorMode?: MonkeysThemeColorMode;\n density?: MonkeysThemeDensity;\n variablePrefix?: string;\n}\n\nexport interface CompiledThemeTokens {\n contract: ThemeTokens;\n colorMode: MonkeysThemeColorMode;\n density: MonkeysThemeDensity;\n values: Readonly<Record<string, unknown>>;\n cssValues: Readonly<Record<string, string>>;\n cssVariables: Readonly<Record<string, string>>;\n cssText: string;\n}\n\nexport interface ApplyThemeTokensOptions extends CompileThemeTokensOptions {\n target?: HTMLElement | null;\n themeId?: string;\n}\n\ntype CssExtension = {\n gradient?: {\n kind?: 'linear' | 'radial';\n angle?: number;\n };\n};\n\nconst CSS_EXTENSION_KEY = 'com.infmonkeys.css';\nconst APPLIED_VARIABLES = new WeakMap<object, Set<string>>();\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction readCssExtension(extensions?: ThemeTokenExtensions): CssExtension | undefined {\n const extension = extensions?.[CSS_EXTENSION_KEY];\n return isRecord(extension) ? extension as CssExtension : undefined;\n}\n\nfunction formatNumber(value: number): string {\n return Number.isInteger(value) ? String(value) : String(Number(value.toFixed(6)));\n}\n\nfunction formatDimension(value: ThemeDimensionValue): string {\n return `${formatNumber(value.value)}${value.unit}`;\n}\n\nfunction formatDuration(value: ThemeDurationValue): string {\n return `${formatNumber(value.value)}${value.unit}`;\n}\n\nfunction formatColorComponent(value: number | 'none'): string {\n return value === 'none' ? value : formatNumber(value);\n}\n\nfunction hexToSrgb(hex: string): [number, number, number] {\n return [\n Number.parseInt(hex.slice(1, 3), 16) / 255,\n Number.parseInt(hex.slice(3, 5), 16) / 255,\n Number.parseInt(hex.slice(5, 7), 16) / 255,\n ];\n}\n\nfunction colorSrgbComponents(value: ThemeColorValue): [number, number, number] {\n if (value.colorSpace === 'srgb' && value.components.every((component) => typeof component === 'number')) {\n return value.components as [number, number, number];\n }\n if (value.hex) return hexToSrgb(value.hex);\n throw new TypeError(\n `Web semantic colors in ${value.colorSpace} require a six-digit hex fallback for hsl(var(--token)) consumers.`,\n );\n}\n\nfunction srgbToHsl([red, green, blue]: [number, number, number]): [number, number, number] {\n const maximum = Math.max(red, green, blue);\n const minimum = Math.min(red, green, blue);\n const lightness = (maximum + minimum) / 2;\n if (maximum === minimum) return [0, 0, lightness * 100];\n const delta = maximum - minimum;\n const saturation = lightness > 0.5\n ? delta / (2 - maximum - minimum)\n : delta / (maximum + minimum);\n let hue: number;\n if (maximum === red) hue = (green - blue) / delta + (green < blue ? 6 : 0);\n else if (maximum === green) hue = (blue - red) / delta + 2;\n else hue = (red - green) / delta + 4;\n return [(hue / 6) * 360, saturation * 100, lightness * 100];\n}\n\nfunction formatHslTriplet(value: ThemeColorValue): string {\n if (value.colorSpace === 'hsl' && value.components.every((component) => typeof component === 'number')) {\n const [hue, saturation, lightness] = value.components as [number, number, number];\n return `${formatNumber(hue)} ${formatNumber(saturation)}% ${formatNumber(lightness)}%`;\n }\n const [hue, saturation, lightness] = srgbToHsl(colorSrgbComponents(value));\n return `${formatNumber(hue)} ${formatNumber(saturation)}% ${formatNumber(lightness)}%`;\n}\n\nfunction formatColor(value: ThemeColorValue): string {\n const alpha = value.alpha ?? 1;\n if (value.hex && alpha === 1) return value.hex;\n const components = value.components.map(formatColorComponent).join(' ');\n const alphaSuffix = alpha === 1 ? '' : ` / ${formatNumber(alpha)}`;\n switch (value.colorSpace) {\n case 'srgb': {\n const rgb = value.components.map((component) => component === 'none' ? 'none' : formatNumber(component * 255));\n return `rgb(${rgb.join(' ')}${alphaSuffix})`;\n }\n case 'hsl':\n return `hsl(${formatColorComponent(value.components[0])} ${formatColorComponent(value.components[1])}% ${formatColorComponent(value.components[2])}%${alphaSuffix})`;\n case 'hwb':\n return `hwb(${formatColorComponent(value.components[0])} ${formatColorComponent(value.components[1])}% ${formatColorComponent(value.components[2])}%${alphaSuffix})`;\n case 'lab':\n case 'lch':\n case 'oklab':\n case 'oklch':\n return `${value.colorSpace}(${components}${alphaSuffix})`;\n default:\n return `color(${value.colorSpace} ${components}${alphaSuffix})`;\n }\n}\n\nfunction formatFontFamily(value: string | string[]): string {\n const families = Array.isArray(value) ? value : [value];\n const genericFamilies = new Set([\n 'serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui',\n 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong',\n ]);\n return families.map((family) => {\n if (genericFamilies.has(family) || /^[a-zA-Z][\\w-]*$/.test(family)) return family;\n return `\"${family.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"')}\"`;\n }).join(', ');\n}\n\nfunction formatShadow(value: unknown): string {\n const shadows = Array.isArray(value) ? value : [value];\n return shadows.map((shadow) => {\n if (!isRecord(shadow)) throw new TypeError('DTCG shadow values must be objects.');\n return [\n formatDimension(shadow.offsetX as ThemeDimensionValue),\n formatDimension(shadow.offsetY as ThemeDimensionValue),\n formatDimension(shadow.blur as ThemeDimensionValue),\n formatDimension(shadow.spread as ThemeDimensionValue),\n formatColor(shadow.color as ThemeColorValue),\n shadow.inset === true ? 'inset' : '',\n ].filter(Boolean).join(' ');\n }).join(', ');\n}\n\nfunction formatGradient(value: unknown, extensions?: ThemeTokenExtensions): string {\n if (!Array.isArray(value)) throw new TypeError('DTCG gradient values must be arrays.');\n const stops = value.map((stop) => {\n if (!isRecord(stop)) throw new TypeError('DTCG gradient stops must be objects.');\n return `${formatColor(stop.color as ThemeColorValue)} ${formatNumber(Number(stop.position) * 100)}%`;\n }).join(', ');\n const gradient = readCssExtension(extensions)?.gradient;\n if (gradient?.kind === 'radial') return `radial-gradient(${stops})`;\n return `linear-gradient(${formatNumber(gradient?.angle ?? 90)}deg, ${stops})`;\n}\n\nfunction formatTokenValue(token: ResolvedThemeToken): string {\n switch (token.type) {\n case 'color':\n return formatColor(token.value as ThemeColorValue);\n case 'dimension':\n return formatDimension(token.value as ThemeDimensionValue);\n case 'fontFamily':\n return formatFontFamily(token.value as string | string[]);\n case 'fontWeight':\n case 'number':\n return String(token.value);\n case 'duration':\n return formatDuration(token.value as ThemeDurationValue);\n case 'cubicBezier':\n return `cubic-bezier(${(token.value as number[]).map(formatNumber).join(', ')})`;\n case 'strokeStyle': {\n if (typeof token.value === 'string') return token.value;\n const value = token.value as { dashArray: ThemeDimensionValue[] };\n return value.dashArray.map(formatDimension).join(' ');\n }\n case 'border': {\n const value = token.value as { color: ThemeColorValue; width: ThemeDimensionValue; style: unknown };\n const styleToken: ResolvedThemeToken = { ...token, type: 'strokeStyle', value: value.style };\n return `${formatDimension(value.width)} ${formatTokenValue(styleToken)} ${formatColor(value.color)}`;\n }\n case 'transition': {\n const value = token.value as { duration: ThemeDurationValue; delay: ThemeDurationValue; timingFunction: number[] };\n return `${formatDuration(value.duration)} cubic-bezier(${value.timingFunction.map(formatNumber).join(', ')}) ${formatDuration(value.delay)}`;\n }\n case 'shadow':\n return formatShadow(token.value);\n case 'gradient':\n return formatGradient(token.value, token.extensions);\n case 'typography': {\n const value = token.value as {\n fontFamily: string | string[];\n fontSize: ThemeDimensionValue;\n fontWeight: string | number;\n lineHeight: number;\n };\n return `${value.fontWeight} ${formatDimension(value.fontSize)}/${formatNumber(value.lineHeight)} ${formatFontFamily(value.fontFamily)}`;\n }\n }\n}\n\nfunction toCssVariableName(path: string, prefix: string): string {\n const normalized = path\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[^a-zA-Z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n .toLowerCase();\n return `--${prefix}-${normalized}`;\n}\n\nfunction assertCssVariablePrefix(prefix: string): void {\n if (!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(prefix)) {\n throw new TypeError(\n 'Theme token variablePrefix must start with a letter and contain only letters, numbers, or hyphens.',\n );\n }\n}\n\nfunction selectModePath(\n paths: ReadonlySet<string>,\n basePath: string,\n colorMode: MonkeysThemeColorMode,\n): string | undefined {\n const contextualPath = `${basePath}.${colorMode}`;\n if (paths.has(contextualPath)) return contextualPath;\n return paths.has(basePath) ? basePath : undefined;\n}\n\nconst HSL_SEMANTIC_ALIASES: Readonly<Record<string, string>> = {\n 'semantic.color.background': '--background',\n 'semantic.color.foreground': '--foreground',\n 'semantic.color.card': '--card',\n 'semantic.color.card-foreground': '--card-foreground',\n 'semantic.color.popover': '--popover',\n 'semantic.color.popover-foreground': '--popover-foreground',\n 'semantic.color.primary': '--primary',\n 'semantic.color.primary-foreground': '--primary-foreground',\n 'semantic.color.secondary': '--secondary',\n 'semantic.color.secondary-foreground': '--secondary-foreground',\n 'semantic.color.muted': '--muted',\n 'semantic.color.muted-foreground': '--muted-foreground',\n 'semantic.color.accent': '--accent',\n 'semantic.color.accent-foreground': '--accent-foreground',\n 'semantic.color.destructive': '--destructive',\n 'semantic.color.destructive-foreground': '--destructive-foreground',\n 'semantic.color.success': '--success',\n 'semantic.color.success-foreground': '--success-foreground',\n 'semantic.color.warning': '--warning',\n 'semantic.color.warning-foreground': '--warning-foreground',\n 'semantic.color.border': '--border',\n 'semantic.color.input': '--input',\n 'semantic.color.ring': '--ring',\n 'semantic.color.radar-canvas': '--radar-canvas',\n 'semantic.color.radar-panel': '--radar-panel',\n 'semantic.color.radar-border': '--radar-border',\n 'semantic.color.radar-shell-border': '--radar-shell-border',\n 'semantic.color.radar-grid': '--radar-grid',\n 'semantic.color.radar-axis': '--radar-axis',\n 'semantic.color.radar-series-one': '--radar-series-one',\n 'semantic.color.radar-series-two': '--radar-series-two',\n 'semantic.color.radar-series-three': '--radar-series-three',\n 'semantic.color.radar-series-four': '--radar-series-four',\n};\n\nexport function getThemeTokenCssValue(\n compiled: CompiledThemeTokens,\n basePath: string,\n): string | undefined {\n const path = selectModePath(new Set(Object.keys(compiled.cssValues)), basePath, compiled.colorMode);\n return path ? compiled.cssValues[path] : undefined;\n}\n\nexport function compileThemeTokens(\n input: ThemeTokens,\n options: CompileThemeTokensOptions = {},\n): CompiledThemeTokens {\n const resolved = resolveThemeTokens(input);\n const contract = resolved.document;\n const colorMode = options.colorMode ?? 'light';\n const density = options.density ?? 'default';\n const variablePrefix = options.variablePrefix ?? 'monkeys';\n assertCssVariablePrefix(variablePrefix);\n const values: Record<string, unknown> = {};\n const cssValues: Record<string, string> = {};\n const cssVariables: Record<string, string> = {};\n const canonicalVariableSources = new Map<string, string>();\n\n for (const [path, token] of resolved.tokens) {\n values[path] = token.value;\n const cssValue = formatTokenValue(token);\n cssValues[path] = cssValue;\n const variableName = toCssVariableName(path, variablePrefix);\n const existingPath = canonicalVariableSources.get(variableName);\n if (existingPath) {\n throw new TypeError(\n `Theme token paths ${existingPath} and ${path} both compile to ${variableName}. Rename one token.`,\n );\n }\n canonicalVariableSources.set(variableName, path);\n cssVariables[variableName] = cssValue;\n }\n\n const paths = new Set(resolved.tokens.keys());\n for (const [basePath, variableName] of Object.entries(HSL_SEMANTIC_ALIASES)) {\n const path = selectModePath(paths, basePath, colorMode);\n if (!path) continue;\n const token = resolved.tokens.get(path);\n if (!token || token.type !== 'color') {\n throw new TypeError(`${path} must be a color token to drive ${variableName}.`);\n }\n cssVariables[variableName] = formatHslTriplet(token.value as ThemeColorValue);\n }\n\n const directAliases: Array<[\n string,\n string,\n MonkeysThemeColorMode | MonkeysThemeDensity,\n ResolvedThemeToken['type'],\n ]> = [\n ['semantic.color.neocard', '--neocard', colorMode, 'color'],\n ['semantic.radius.base', '--radius', colorMode, 'dimension'],\n ['semantic.spacing.global', '--global-spacing', density, 'dimension'],\n ['semantic.gradient.brand', '--monkeys-gradient', colorMode, 'gradient'],\n ['semantic.font.body', '--font-sans', colorMode, 'fontFamily'],\n ];\n for (const [basePath, variableName, axis, expectedType] of directAliases) {\n const path = selectModePath(paths, basePath, axis);\n if (!path) continue;\n const token = resolved.tokens.get(path);\n if (!token || token.type !== expectedType) {\n throw new TypeError(`${path} must be a ${expectedType} token to drive ${variableName}.`);\n }\n cssVariables[variableName] = cssValues[path];\n }\n\n const cssText = Object.entries(cssVariables)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([name, value]) => `${name}:${value};`)\n .join('');\n\n return {\n contract,\n colorMode,\n density,\n values: Object.freeze(values),\n cssValues: Object.freeze(cssValues),\n cssVariables: Object.freeze(cssVariables),\n cssText,\n };\n}\n\nexport function applyThemeTokens(\n input: ThemeTokens,\n options: ApplyThemeTokensOptions = {},\n): CompiledThemeTokens {\n const compiled = compileThemeTokens(input, options);\n const target = options.target ?? (typeof document === 'undefined' ? null : document.documentElement);\n if (!target) return compiled;\n\n const previouslyApplied = APPLIED_VARIABLES.get(target) ?? new Set<string>();\n const nextVariables = new Set(Object.keys(compiled.cssVariables));\n for (const name of previouslyApplied) {\n if (!nextVariables.has(name)) target.style.removeProperty(name);\n }\n for (const [name, value] of Object.entries(compiled.cssVariables)) {\n target.style.setProperty(name, value);\n }\n APPLIED_VARIABLES.set(target, nextVariables);\n\n if (options.themeId) target.dataset.monkeysTheme = options.themeId;\n else delete target.dataset.monkeysTheme;\n target.dataset.monkeysColorMode = compiled.colorMode;\n target.dataset.monkeysDensity = compiled.density;\n return compiled;\n}\n","import {\n createContext,\n useContext,\n useMemo,\n type Context,\n} from 'react';\n\nimport type { BaseAppearance } from '../components/base/types';\nimport type { DataExplorerAppearance } from '../components/data-explorer/types';\nimport {\n defaultMonkeysLocale,\n type MonkeysLocaleMessages,\n type MonkeysResolvedLocale,\n} from '../locale';\nimport type { CompiledThemeTokens } from '../theme-system';\n\nexport type MonkeysDirection = 'ltr' | 'rtl';\n\nexport interface MonkeysEnvironment {\n getDocument?: () => Document | null;\n getWindow?: () => Window | null;\n}\n\nexport type MonkeysPortalContainer =\n | Element\n | null\n | (() => Element | null);\n\nexport interface MonkeysPortalOptions {\n container?: MonkeysPortalContainer;\n disabled?: boolean;\n}\n\nexport interface MonkeysComponentAttributes {\n dir?: MonkeysDirection;\n 'data-monkeys-direction'?: MonkeysDirection;\n 'data-monkeys-locale'?: string;\n 'data-monkeys-theme'?: string;\n 'data-monkeys-theme-mode'?: string;\n}\n\ninterface MonkeysLocaleContextValue extends MonkeysResolvedLocale {\n provided: boolean;\n}\n\ninterface MonkeysThemeContextValue {\n provided: boolean;\n resolvedTheme?: CompiledThemeTokens;\n themeId?: string;\n baseAppearance?: BaseAppearance;\n dataExplorerAppearance?: DataExplorerAppearance;\n}\n\ninterface MonkeysDirectionContextValue {\n provided: boolean;\n direction?: MonkeysDirection;\n}\n\ninterface MonkeysEnvironmentContextValue {\n provided: boolean;\n environment: MonkeysEnvironment;\n portal: MonkeysPortalOptions;\n}\n\nconst EMPTY_ENVIRONMENT = Object.freeze({}) satisfies MonkeysEnvironment;\nconst EMPTY_PORTAL = Object.freeze({}) satisfies MonkeysPortalOptions;\n\ninterface MonkeysProviderContexts {\n locale: Context<MonkeysLocaleContextValue>;\n theme: Context<MonkeysThemeContextValue>;\n direction: Context<MonkeysDirectionContextValue>;\n environment: Context<MonkeysEnvironmentContextValue>;\n}\n\n// Every bundled public entry contains this module. Keep only the Context\n// identities in a realm-wide registry so root, provider, and component\n// subpaths interoperate in both CJS and ESM builds. Provider values remain in\n// React trees, so SSR requests are isolated. Bump the contract key only when\n// these Context value shapes become intentionally incompatible.\nconst MONKEYS_PROVIDER_CONTEXTS_KEY = Symbol.for(\n '@inf-monkeys-tech/monkeys-design/provider-context@1',\n);\n\ntype MonkeysProviderContextHost = typeof globalThis & {\n [MONKEYS_PROVIDER_CONTEXTS_KEY]?: MonkeysProviderContexts;\n};\n\nfunction createMonkeysProviderContexts(): MonkeysProviderContexts {\n return Object.freeze({\n locale: createContext<MonkeysLocaleContextValue>({\n ...defaultMonkeysLocale,\n provided: false,\n }),\n theme: createContext<MonkeysThemeContextValue>({\n provided: false,\n }),\n direction: createContext<MonkeysDirectionContextValue>({\n provided: false,\n }),\n environment: createContext<MonkeysEnvironmentContextValue>({\n provided: false,\n environment: EMPTY_ENVIRONMENT,\n portal: EMPTY_PORTAL,\n }),\n });\n}\n\nfunction getMonkeysProviderContexts(): MonkeysProviderContexts {\n const host = globalThis as MonkeysProviderContextHost;\n const existing = host[MONKEYS_PROVIDER_CONTEXTS_KEY];\n if (existing) return existing;\n\n const contexts = createMonkeysProviderContexts();\n Object.defineProperty(host, MONKEYS_PROVIDER_CONTEXTS_KEY, {\n value: contexts,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n return contexts;\n}\n\nconst providerContexts = getMonkeysProviderContexts();\n\nexport const MonkeysLocaleContext = providerContexts.locale;\n\nexport const MonkeysThemeContext = providerContexts.theme;\n\nexport const MonkeysDirectionContext = providerContexts.direction;\n\nexport const MonkeysEnvironmentContext = providerContexts.environment;\n\nfunction mergeAppearance<T extends { slots?: object; styles?: object }>(\n inherited: T | undefined,\n explicit: T | undefined,\n): T | undefined {\n if (explicit === undefined) return inherited;\n if (inherited === undefined) return explicit;\n\n return {\n ...inherited,\n ...explicit,\n slots:\n inherited.slots || explicit.slots\n ? { ...inherited.slots, ...explicit.slots }\n : undefined,\n styles:\n inherited.styles || explicit.styles\n ? { ...inherited.styles, ...explicit.styles }\n : undefined,\n };\n}\n\nexport function useMonkeysLocale() {\n return useContext(MonkeysLocaleContext);\n}\n\nexport function useMonkeysLocaleMessages(): MonkeysLocaleMessages {\n return useContext(MonkeysLocaleContext).messages;\n}\n\nexport function useMonkeysResolvedTheme() {\n return useContext(MonkeysThemeContext).resolvedTheme;\n}\n\nexport function useMonkeysBaseAppearance(\n explicit?: BaseAppearance,\n): BaseAppearance | undefined {\n const inherited = useContext(MonkeysThemeContext).baseAppearance;\n return useMemo(\n () => mergeAppearance(inherited, explicit),\n [explicit, inherited],\n );\n}\n\nexport function useMonkeysDataExplorerAppearance(\n explicit?: DataExplorerAppearance,\n): DataExplorerAppearance | undefined {\n const inherited = useContext(MonkeysThemeContext).dataExplorerAppearance;\n return useMemo(\n () => mergeAppearance(inherited, explicit),\n [explicit, inherited],\n );\n}\n\nexport function useMonkeysDirection() {\n return useContext(MonkeysDirectionContext).direction;\n}\n\nexport function useMonkeysEnvironment() {\n return useContext(MonkeysEnvironmentContext).environment;\n}\n\nexport function useMonkeysPortalOptions() {\n return useContext(MonkeysEnvironmentContext).portal;\n}\n\nexport function useMonkeysComponentAttributes(): MonkeysComponentAttributes {\n const locale = useContext(MonkeysLocaleContext);\n const theme = useContext(MonkeysThemeContext);\n const direction = useContext(MonkeysDirectionContext);\n const providerActive = locale.provided || theme.provided || direction.provided;\n\n return useMemo(\n () =>\n providerActive\n ? {\n dir: direction.direction,\n 'data-monkeys-direction': direction.direction,\n 'data-monkeys-locale': locale.locale,\n 'data-monkeys-theme': theme.themeId,\n 'data-monkeys-theme-mode': theme.resolvedTheme?.colorMode,\n }\n : {},\n [\n direction.direction,\n locale.locale,\n providerActive,\n theme.resolvedTheme?.colorMode,\n theme.themeId,\n ],\n );\n}\n","import { useContext, useMemo, type ReactNode } from 'react';\n\nimport type { BaseAppearance } from '../components/base/types';\nimport type { DataExplorerAppearance } from '../components/data-explorer/types';\nimport {\n resolveMonkeysLocale,\n type MonkeysLocaleInput,\n type MonkeysLocaleMessagesOverride,\n} from '../locale';\nimport {\n compileThemeTokens,\n type CompiledThemeTokens,\n type MonkeysThemeColorMode,\n type MonkeysThemeDensity,\n type ThemeTokens,\n} from '../theme-system';\nimport {\n MonkeysDirectionContext,\n MonkeysEnvironmentContext,\n MonkeysLocaleContext,\n MonkeysThemeContext,\n type MonkeysDirection,\n type MonkeysEnvironment,\n type MonkeysPortalOptions,\n} from './context';\n\nexport interface MonkeysProviderAppearance {\n base?: BaseAppearance;\n dataExplorer?: DataExplorerAppearance;\n}\n\nexport interface MonkeysProviderProps {\n children?: ReactNode;\n locale?: MonkeysLocaleInput;\n messages?: MonkeysLocaleMessagesOverride;\n direction?: MonkeysDirection;\n theme?: ThemeTokens;\n themeId?: string;\n colorMode?: MonkeysThemeColorMode;\n density?: MonkeysThemeDensity;\n appearance?: MonkeysProviderAppearance;\n environment?: MonkeysEnvironment;\n portal?: MonkeysPortalOptions;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction validateDirection(direction: MonkeysDirection | undefined) {\n if (direction !== undefined && direction !== 'ltr' && direction !== 'rtl') {\n throw new TypeError('MonkeysProvider direction must be \"ltr\" or \"rtl\".');\n }\n}\n\nfunction validateEnvironment(environment: MonkeysEnvironment | undefined) {\n if (environment === undefined) return;\n if (!isRecord(environment)) {\n throw new TypeError('MonkeysProvider environment must be an object.');\n }\n if (\n environment.getDocument !== undefined &&\n typeof environment.getDocument !== 'function'\n ) {\n throw new TypeError(\n 'MonkeysProvider environment.getDocument must be a function.',\n );\n }\n if (\n environment.getWindow !== undefined &&\n typeof environment.getWindow !== 'function'\n ) {\n throw new TypeError(\n 'MonkeysProvider environment.getWindow must be a function.',\n );\n }\n}\n\nfunction validatePortal(portal: MonkeysPortalOptions | undefined) {\n if (portal === undefined) return;\n if (!isRecord(portal)) {\n throw new TypeError('MonkeysProvider portal must be an object.');\n }\n if (portal.disabled !== undefined && typeof portal.disabled !== 'boolean') {\n throw new TypeError('MonkeysProvider portal.disabled must be a boolean.');\n }\n if (portal.container == null) return;\n if (\n typeof portal.container !== 'function' &&\n typeof portal.container !== 'object'\n ) {\n throw new TypeError(\n 'MonkeysProvider portal.container must be an Element, null, or a function.',\n );\n }\n}\n\nfunction resolveProviderTheme(\n theme: ThemeTokens | undefined,\n colorMode: MonkeysThemeColorMode | undefined,\n density: MonkeysThemeDensity | undefined,\n inherited: CompiledThemeTokens | undefined,\n) {\n if (!theme) return inherited;\n return compileThemeTokens(theme, { colorMode, density });\n}\n\nexport function MonkeysProvider({\n children,\n locale,\n messages,\n direction,\n theme,\n themeId,\n colorMode,\n density,\n appearance,\n environment,\n portal,\n}: MonkeysProviderProps) {\n const parentLocale = useContext(MonkeysLocaleContext);\n const parentTheme = useContext(MonkeysThemeContext);\n const parentDirection = useContext(MonkeysDirectionContext);\n const parentEnvironment = useContext(MonkeysEnvironmentContext);\n\n validateDirection(direction);\n validateEnvironment(environment);\n validatePortal(portal);\n\n const resolvedLocale = useMemo(\n () => resolveMonkeysLocale(locale, messages, parentLocale),\n [locale, messages, parentLocale],\n );\n const localeValue = useMemo(\n () => ({ ...resolvedLocale, provided: true }),\n [resolvedLocale],\n );\n const resolvedTheme = useMemo(\n () =>\n resolveProviderTheme(\n theme,\n colorMode,\n density,\n parentTheme.resolvedTheme,\n ),\n [colorMode, density, parentTheme.resolvedTheme, theme],\n );\n const themeValue = useMemo(\n () => ({\n provided: true,\n resolvedTheme,\n themeId: themeId ?? parentTheme.themeId,\n baseAppearance: {\n ...parentTheme.baseAppearance,\n ...appearance?.base,\n ...(density ? { density } : undefined),\n slots: {\n ...parentTheme.baseAppearance?.slots,\n ...appearance?.base?.slots,\n },\n styles: {\n ...parentTheme.baseAppearance?.styles,\n ...appearance?.base?.styles,\n },\n },\n dataExplorerAppearance: {\n ...parentTheme.dataExplorerAppearance,\n ...appearance?.dataExplorer,\n ...(density ? { density } : undefined),\n slots: {\n ...parentTheme.dataExplorerAppearance?.slots,\n ...appearance?.dataExplorer?.slots,\n },\n styles: {\n ...parentTheme.dataExplorerAppearance?.styles,\n ...appearance?.dataExplorer?.styles,\n },\n },\n }),\n [\n appearance?.base,\n appearance?.dataExplorer,\n density,\n parentTheme.baseAppearance,\n parentTheme.dataExplorerAppearance,\n parentTheme.themeId,\n resolvedTheme,\n themeId,\n ],\n );\n const directionValue = useMemo(\n () => ({\n provided: true,\n direction: direction ?? parentDirection.direction ?? 'ltr',\n }),\n [direction, parentDirection.direction],\n );\n const environmentValue = useMemo(\n () => ({\n provided: true,\n environment: {\n ...parentEnvironment.environment,\n ...environment,\n },\n portal: {\n ...parentEnvironment.portal,\n ...portal,\n },\n }),\n [\n environment,\n parentEnvironment.environment,\n parentEnvironment.portal,\n portal,\n ],\n );\n\n return (\n <MonkeysLocaleContext.Provider value={localeValue}>\n <MonkeysThemeContext.Provider value={themeValue}>\n <MonkeysDirectionContext.Provider value={directionValue}>\n <MonkeysEnvironmentContext.Provider value={environmentValue}>\n {children}\n </MonkeysEnvironmentContext.Provider>\n </MonkeysDirectionContext.Provider>\n </MonkeysThemeContext.Provider>\n </MonkeysLocaleContext.Provider>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/locale/en-US.ts","../../src/locale/zh-CN.ts","../../src/locale/resolve-locale.ts","../../src/theme-system/theme-tokens.ts","../../src/provider/context.ts","../../src/provider/MonkeysProvider.tsx"],"names":["locale","isRecord","hue","saturation","lightness","resolveThemeTokens","createContext","useContext","useMemo","jsx"],"mappings":";;;;;;;;;AAEO,IAAM,IAAA,GAAO;AAAA,EAClB,MAAA,EAAQ,OAAA;AAAA,EACR,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,UAAA,EAAY,YAAA;AAAA,MACZ,KAAA,EAAO,OAAA;AAAA,MACP,QAAA,EAAU,UAAA;AAAA,MACV,IAAA,EAAM,MAAA;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,IAAA,EAAM,CAAC,EAAE,IAAA,EAAM,WAAU,KAAM,CAAA,KAAA,EAAQ,IAAI,CAAA,IAAA,EAAO,SAAS,CAAA,CAAA;AAAA,MAC3D,WAAA,EAAa,CAAC,EAAE,IAAA,EAAM,WAAU,KAC9B,CAAA,KAAA,EAAQ,IAAI,CAAA,IAAA,EAAO,SAAS,CAAA,cAAA,CAAA;AAAA,MAC9B,YAAA,EAAc,WAAA;AAAA,MACd,KAAA,EAAO,CAAC,EAAE,KAAA,EAAO,GAAA,EAAK,KAAA,EAAM,KAAM,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,IAAA,EAAO,KAAK,CAAA;AAAA,KAC/D;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS;AAAA,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,KAAA,EAAO;AAAA,MACL,KAAA,EAAO,UAAA;AAAA,MACP,OAAA,EAAS,SAAA;AAAA,MACT,SAAA,EAAW,WAAA;AAAA,MACX,KAAA,EAAO,OAAA;AAAA,MACP,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,WAAA,EAAa;AAAA,MACX,SAAA,EAAW,gBAAA;AAAA,MACX,SAAA,EAAW;AAAA,KACb;AAAA,IACA,aAAA,EAAe;AAAA,MACb,YAAA,EAAc,eAAA;AAAA,MACd,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,WAAA,EAAa;AAAA,MACX,WAAA,EAAa,gBAAA;AAAA,MACb,KAAA,EAAO,YAAA;AAAA,MACP,cAAc,CAAC,EAAE,KAAA,EAAM,KAAM,UAAU,KAAK,CAAA;AAAA,KAC9C;AAAA,IACA,KAAA,EAAO;AAAA,MACL,YAAY,CAAC,EAAE,QAAA,EAAS,KAAM,eAAe,QAAQ,CAAA,CAAA;AAAA,MACrD,cAAc,CAAC,EAAE,QAAA,EAAS,KAAM,iBAAiB,QAAQ,CAAA,CAAA;AAAA,MACzD,UAAA,EAAY,CAAC,EAAE,QAAA,OACb,QAAA,GAAW,CAAA,YAAA,EAAe,QAAQ,CAAA,CAAA,GAAK,aAAA;AAAA,MACzC,UAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAS;AAAA,MACP,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,YAAA;AAAA,QACP,MAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAM,MAAA;AAAA,QACN,KAAA,EAAO,OAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,QAAA,EAAU;AAAA,QACR,KAAA,EAAO,UAAA;AAAA,QACP,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,KAAA,EAAO;AAAA,MACL,UAAA,EAAY,OAAA;AAAA,MACZ,YAAA,EAAc,SAAA;AAAA,MACd,uBAAA,EAAyB,uBAAA;AAAA,MACzB,yBAAA,EAA2B;AAAA,KAC7B;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,QAAA,EAAU;AAAA,QACR,OAAA,EAAS,cAAA;AAAA,QACT,MAAA,EAAQ,QAAA;AAAA,QACR,QAAA,EAAU,UAAA;AAAA,QACV,OAAA,EAAS,YAAA;AAAA,QACT,KAAA,EAAO,UAAA;AAAA,QACP,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,SAAA,EAAW;AAAA,MACT,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,YAAA;AAAA,QACP,OAAA,EAAS,eAAA;AAAA,QACT,KAAA,EAAO,UAAA;AAAA,QACP,SAAA,EAAW,sBAAA;AAAA,QACX,YAAA,EAAc,yBAAA;AAAA,QACd,KAAA,EAAO,OAAA;AAAA,QACP,WAAA,EAAa;AAAA,OACf;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,aAAA,EAAe,gBAAA;AAAA,QACf,YAAA,EAAc,gBAAA;AAAA,QACd,eAAA,EAAiB,iBAAA;AAAA,QACjB,cAAA,EAAgB,oBAAA;AAAA,QAChB,iBAAA,EAAmB,qBAAA;AAAA,QACnB,kBAAA,EAAoB,sBAAA;AAAA,QACpB,gBAAA,EAAkB,oBAAA;AAAA,QAClB,iBAAA,EAAmB;AAAA;AACrB,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAO,kBAAA;AAAA,MACP,SAAA,EAAW,WAAA;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,YAAA,EAAc,uBAAA;AAAA,MACd,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAM,MAAA,EAAO;AAAA,MACpC,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,cAAA;AAAA,QACN,IAAA,EAAM,iBAAA;AAAA,QACN,KAAA,EAAO,eAAA;AAAA,QACP,MAAA,EAAQ,qBAAA;AAAA,QACR,KAAA,EAAO,mBAAA;AAAA,QACP,SAAA,EAAW,YAAA;AAAA,QACX,QAAA,EAAU,WAAA;AAAA,QACV,KAAA,EAAO,OAAA;AAAA,QACP,SAAA,EAAW,kBAAA;AAAA,QACX,WAAA,EAAa,aAAA;AAAA,QACb,gBAAA,EAAkB,mBAAA;AAAA,QAClB,UAAA,EAAY,qBAAA;AAAA,QACZ,YAAA,EAAc,uBAAA;AAAA,QACd,MAAA,EAAQ,iBAAA;AAAA,QACR,QAAA,EAAU,mBAAA;AAAA,QACV,MAAA,EAAQ,iBAAA;AAAA,QACR,SAAA,EAAW,WAAA;AAAA,QACX,QAAA,EAAU,qBAAA;AAAA,QACV,OAAA,EAAS,SAAA;AAAA,QACT,cAAA,EAAgB,YAAA;AAAA,QAChB,gBAAA,EAAkB,EAAE,GAAA,EAAK,KAAA,EAAO,QAAQ,QAAA,EAAU,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,YAAA,EAAa;AAAA,QACpF,mBAAmB,EAAE,mBAAA,EAAqB,qBAAqB,cAAA,EAAgB,cAAA,EAAgB,eAAe,aAAA;AAAc,OAC9H;AAAA,MACA,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,aAAA;AAAA,QACP,IAAA,EAAM,MAAA;AAAA,QACN,OAAA,EAAS;AAAA,OACX;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO,OAAA;AAAA,QACP,MAAA,EAAQ,QAAA;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,OAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAS,SAAA;AAAA,UACT,SAAA,EAAW,WAAA;AAAA,UACX,MAAA,EAAQ,OAAA;AAAA,UACR,MAAA,EAAQ;AAAA;AACV,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,MAAA,EAAQ,QAAA;AAAA,QACR,QAAA,EAAU,UAAA;AAAA,QACV,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,OAAA,EAAS,WAAA;AAAA,QACT,KAAA,EAAO,OAAA;AAAA,QACP,MAAA,EAAQ,QAAA;AAAA,QACR,MAAM,CAAC,EAAE,IAAA,EAAK,KAAM,QAAQ,IAAI,CAAA;AAAA,OAClC;AAAA,MACA,GAAA,EAAK;AAAA,QACH,QAAA,EAAU,aAAA;AAAA,QACV,cAAc,CAAC,EAAE,QAAA,EAAS,KAAM,qBAAqB,QAAQ,CAAA;AAAA,OAC/D;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,SAAA;AAAA,QACT,SAAA,EAAW,WAAA;AAAA,QACX,cAAc,CAAC,EAAE,QAAA,EAAS,KAAM,cAAc,QAAQ,CAAA,CAAA;AAAA,QACtD,cAAA,EAAgB,CAAC,EAAE,SAAA,EAAW,OAAM,KAAM,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,KAAK,CAAA,UAAA;AAAA,OACjE;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,OAAA,EAAS,SAAA;AAAA,QACT,OAAA,EAAS,SAAA;AAAA,QACT,OAAA,EAAS,UAAA;AAAA,QACT,aAAA,EAAe,cAAA;AAAA,QACf,IAAA,EAAM,YAAA;AAAA,QACN,UAAU,CAAC,EAAE,IAAA,EAAK,KAAM,SAAS,IAAI,CAAA,CAAA;AAAA,QACrC,cAAA,EAAgB,iBAAA;AAAA,QAChB,UAAU,CAAC,EAAE,IAAA,EAAK,KAAM,YAAY,IAAI,CAAA,CAAA;AAAA,QACxC,cAAc,CAAC,EAAE,IAAA,EAAK,KAAM,QAAQ,IAAI,CAAA,gBAAA;AAAA,OAC1C;AAAA,MACA,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,eAAA;AAAA,QACP,OAAA,EAAS,CAAC,EAAE,IAAA,EAAM,OAAM,KAAM,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,KAAK,CAAA,OAAA;AAAA,OAClD;AAAA,MACA,UAAA,EAAY;AAAA,QACV,MAAA,EAAQ,4BAAA;AAAA,QACR,cAAA,EAAgB,iBAAA;AAAA,QAChB,cAAA,EAAgB,cAAA;AAAA,QAChB,WAAA,EAAa,cAAA;AAAA,QACb,SAAA,EAAW,4BAAA;AAAA,QACX,MAAA,EAAQ,QAAA;AAAA,QACR,QAAA,EAAU,UAAA;AAAA,QACV,QAAA,EAAU,WAAA;AAAA,QACV,UAAA,EAAY,aAAA;AAAA,QACZ,YAAA,EAAc,2BAAA;AAAA,QACd,QAAA,EAAU,gBAAA;AAAA,QACV,SAAA,EAAW,YAAA;AAAA,QACX,cAAA,EAAgB,iBAAA;AAAA,QAChB,IAAA,EAAM,MAAA;AAAA,QACN,IAAA,EAAM,MAAA;AAAA,QACN,KAAA,EAAO,OAAA;AAAA,QACP,OAAA,EAAS,UAAA;AAAA,QACT,aAAA,EAAe,gBAAA;AAAA,QACf,OAAA,EAAS,YAAA;AAAA,QACT,WAAA,EAAa,eAAA;AAAA,QACb,aAAA,EAAe,iBAAA;AAAA,QACf,SAAA,EAAW,qBAAA;AAAA,QACX,KAAA,EAAO,OAAA;AAAA,QACP,GAAA,EAAK,KAAA;AAAA,QACL,KAAA,EAAO,OAAA;AAAA,QACP,MAAA,EAAQ,QAAA;AAAA,QACR,MAAA,EAAQ,QAAA;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,IAAA,EAAM,MAAA;AAAA,QACN,MAAA,EAAQ,QAAA;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,SAAA,EAAW,WAAA;AAAA,QACX,MAAA,EAAQ,QAAA;AAAA,QACR,cAAc,CAAC,EAAE,OAAA,EAAQ,KAAM,GAAG,OAAO,CAAA,cAAA;AAAA,OAC3C;AAAA,MACA,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,cAAA;AAAA,QACP,WAAA,EAAa,gCAAA;AAAA,QACb,QAAA,EAAU,UAAA;AAAA,QACV,OAAA,EAAS,SAAA;AAAA,QACT,KAAA,EAAO,OAAA;AAAA,QACP,IAAA,EAAM,MAAA;AAAA,QACN,WAAA,EAAa,aAAA;AAAA,QACb,UAAA,EAAY,aAAA;AAAA,QACZ,OAAA,EAAS,SAAA;AAAA,QACT,YAAA,EAAc,8BAAA;AAAA,QACd,aAAA,EAAe,qCAAA;AAAA,QACf,UAAA,EAAY,YAAA;AAAA,QACZ,YAAA,EAAc,eAAA;AAAA,QACd,IAAA,EAAM;AAAA,UACJ,KAAA,EAAO,mBAAA;AAAA,UACP,OAAA,EAAS,SAAA;AAAA,UACT,SAAA,EAAW;AAAA,SACb;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,MAAA,EAAQ,QAAA;AAAA,UACR,OAAA,EAAS,SAAA;AAAA,UACT,gBAAA,EAAkB,sBAAA;AAAA,UAClB,QAAA,EAAU,UAAA;AAAA,UACV,OAAA,EAAS,SAAA;AAAA,UACT,SAAA,EAAW,WAAA;AAAA,UACX,MAAA,EAAQ;AAAA,SACV;AAAA,QACA,KAAA,EAAO;AAAA,UACL,OAAA,EAAS,EAAE,KAAA,EAAO,sBAAA,EAAwB,aAAa,wCAAA,EAAyC;AAAA,UAChG,KAAA,EAAO,EAAE,KAAA,EAAO,kBAAA,EAAoB,aAAa,uCAAA,EAAwC;AAAA,UACzF,KAAA,EAAO,EAAE,KAAA,EAAO,6BAAA,EAA+B,aAAa,2CAAA;AAA4C,SAC1G;AAAA,QACA,OAAA,EAAS;AAAA,UACP,KAAA,EAAO,oBAAA;AAAA,UACP,WAAA,EAAa,cAAA;AAAA,UACb,KAAA,EAAO,OAAA;AAAA,UACP,YAAA,EAAc,eAAA;AAAA,UACd,MAAA,EAAQ,QAAA;AAAA,UACR,iBAAA,EAAmB,sBAAA;AAAA,UACnB,YAAA,EAAc,gBAAA;AAAA,UACd,MAAA,EAAQ;AAAA,SACV;AAAA,QACA,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,cAAA;AAAA,UACP,KAAA,EAAO,OAAA;AAAA,UACP,SAAA,EAAW,WAAA;AAAA,UACX,KAAA,EAAO,OAAA;AAAA,UACP,SAAA,EAAW,WAAA;AAAA,UACX,UAAU,CAAC,EAAE,IAAA,EAAK,KAAM,aAAa,IAAI,CAAA,CAAA;AAAA,UACzC,UAAA,EAAY,EAAE,KAAA,EAAO,OAAA,EAAS,UAAU,UAAA,EAAY,OAAA,EAAS,SAAA,EAAW,OAAA,EAAS,SAAA,EAAU;AAAA,UAC3F,aAAA,EAAe,EAAE,MAAA,EAAQ,SAAA,EAAW,QAAQ,SAAA;AAAU;AACxD;AACF;AACF;AAEJ,CAAA;;;ACvRO,IAAM,IAAA,GAAO;AAAA,EAClB,MAAA,EAAQ,OAAA;AAAA,EACR,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,UAAA,EAAY,0BAAA;AAAA,MACZ,KAAA,EAAO,cAAA;AAAA,MACP,QAAA,EAAU,oBAAA;AAAA,MACV,IAAA,EAAM,oBAAA;AAAA,MACN,IAAA,EAAM,cAAA;AAAA,MACN,IAAA,EAAM,CAAC,EAAE,IAAA,EAAM,WAAU,KAAM,CAAA,OAAA,EAAK,IAAI,CAAA,oBAAA,EAAQ,SAAS,CAAA,OAAA,CAAA;AAAA,MACzD,WAAA,EAAa,CAAC,EAAE,IAAA,EAAM,WAAU,KAC9B,CAAA,OAAA,EAAK,IAAI,CAAA,oBAAA,EAAQ,SAAS,CAAA,+BAAA,CAAA;AAAA,MAC5B,YAAA,EAAc,iBAAA;AAAA,MACd,KAAA,EAAO,CAAC,EAAE,KAAA,EAAO,GAAA,EAAK,KAAA,EAAM,KAAM,CAAA,OAAA,EAAK,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,oBAAA,EAAQ,KAAK,CAAA,OAAA;AAAA,KAClE;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS;AAAA,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,KAAA,EAAO;AAAA,MACL,KAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAS,0BAAA;AAAA,MACT,SAAA,EAAW,oBAAA;AAAA,MACX,KAAA,EAAO,cAAA;AAAA,MACP,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,WAAA,EAAa;AAAA,MACX,SAAA,EAAW,0BAAA;AAAA,MACX,SAAA,EAAW;AAAA,KACb;AAAA,IACA,aAAA,EAAe;AAAA,MACb,YAAA,EAAc,0BAAA;AAAA,MACd,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,WAAA,EAAa;AAAA,MACX,WAAA,EAAa,oBAAA;AAAA,MACb,KAAA,EAAO,0BAAA;AAAA,MACP,cAAc,CAAC,EAAE,KAAA,EAAM,KAAM,gBAAM,KAAK,CAAA;AAAA,KAC1C;AAAA,IACA,KAAA,EAAO;AAAA,MACL,YAAY,CAAC,EAAE,QAAA,EAAS,KAAM,sBAAO,QAAQ,CAAA,CAAA;AAAA,MAC7C,cAAc,CAAC,EAAE,QAAA,EAAS,KAAM,4BAAQ,QAAQ,CAAA,CAAA;AAAA,MAChD,UAAA,EAAY,CAAC,EAAE,QAAA,OACb,QAAA,GAAW,CAAA,mBAAA,EAAO,QAAQ,CAAA,CAAA,GAAK,oBAAA;AAAA,MACjC,UAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAS;AAAA,MACP,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,cAAA;AAAA,QACP,MAAA,EAAQ,0BAAA;AAAA,QACR,IAAA,EAAM,0BAAA;AAAA,QACN,KAAA,EAAO,0BAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,QAAA,EAAU;AAAA,QACR,KAAA,EAAO,cAAA;AAAA,QACP,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,KAAA,EAAO;AAAA,MACL,UAAA,EAAY,cAAA;AAAA,MACZ,YAAA,EAAc,cAAA;AAAA,MACd,uBAAA,EAAyB,oEAAA;AAAA,MACzB,yBAAA,EAA2B;AAAA,KAC7B;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,QAAA,EAAU;AAAA,QACR,OAAA,EAAS,0BAAA;AAAA,QACT,MAAA,EAAQ,cAAA;AAAA,QACR,QAAA,EAAU,cAAA;AAAA,QACV,OAAA,EAAS,6BAAA;AAAA,QACT,KAAA,EAAO,0BAAA;AAAA,QACP,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,SAAA,EAAW;AAAA,MACT,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,0BAAA;AAAA,QACP,OAAA,EAAS,sCAAA;AAAA,QACT,KAAA,EAAO,0BAAA;AAAA,QACP,SAAA,EAAW,sCAAA;AAAA,QACX,YAAA,EAAc,sCAAA;AAAA,QACd,KAAA,EAAO,cAAA;AAAA,QACP,WAAA,EAAa;AAAA,OACf;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,aAAA,EAAe,oBAAA;AAAA,QACf,YAAA,EAAc,gCAAA;AAAA,QACd,eAAA,EAAiB,gCAAA;AAAA,QACjB,cAAA,EAAgB,sCAAA;AAAA,QAChB,iBAAA,EAAmB,sCAAA;AAAA,QACnB,kBAAA,EAAoB,sCAAA;AAAA,QACpB,gBAAA,EAAkB,0BAAA;AAAA,QAClB,iBAAA,EAAmB;AAAA;AACrB,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAO,0BAAA;AAAA,MACP,SAAA,EAAW,0BAAA;AAAA,MACX,IAAA,EAAM,0BAAA;AAAA,MACN,YAAA,EAAc,sCAAA;AAAA,MACd,KAAA,EAAO,EAAE,IAAA,EAAM,cAAA,EAAM,MAAM,cAAA,EAAK;AAAA,MAChC,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,0BAAA;AAAA,QACN,IAAA,EAAM,0BAAA;AAAA,QACN,KAAA,EAAO,0BAAA;AAAA,QACP,MAAA,EAAQ,4CAAA;AAAA,QACR,KAAA,EAAO,sCAAA;AAAA,QACP,SAAA,EAAW,0BAAA;AAAA,QACX,QAAA,EAAU,0BAAA;AAAA,QACV,KAAA,EAAO,cAAA;AAAA,QACP,SAAA,EAAW,0BAAA;AAAA,QACX,WAAA,EAAa,cAAA;AAAA,QACb,gBAAA,EAAkB,0BAAA;AAAA,QAClB,UAAA,EAAY,sCAAA;AAAA,QACZ,YAAA,EAAc,sCAAA;AAAA,QACd,MAAA,EAAQ,0BAAA;AAAA,QACR,QAAA,EAAU,0BAAA;AAAA,QACV,MAAA,EAAQ,0BAAA;AAAA,QACR,SAAA,EAAW,oBAAA;AAAA,QACX,QAAA,EAAU,sCAAA;AAAA,QACV,OAAA,EAAS,cAAA;AAAA,QACT,cAAA,EAAgB,cAAA;AAAA,QAChB,gBAAA,EAAkB,EAAE,GAAA,EAAK,QAAA,EAAK,QAAQ,QAAA,EAAK,IAAA,EAAM,QAAA,EAAK,KAAA,EAAO,cAAA,EAAK;AAAA,QAClE,mBAAmB,EAAE,mBAAA,EAAqB,4BAAQ,cAAA,EAAgB,0BAAA,EAAQ,eAAe,0BAAA;AAAO,OAClG;AAAA,MACA,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,0BAAA;AAAA,QACP,IAAA,EAAM,cAAA;AAAA,QACN,OAAA,EAAS;AAAA,OACX;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO,cAAA;AAAA,QACP,MAAA,EAAQ,cAAA;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,OAAA,EAAS,oBAAA;AAAA,UACT,OAAA,EAAS,oBAAA;AAAA,UACT,SAAA,EAAW,oBAAA;AAAA,UACX,MAAA,EAAQ,cAAA;AAAA,UACR,MAAA,EAAQ;AAAA;AACV,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,OAAA,EAAS,cAAA;AAAA,QACT,MAAA,EAAQ,cAAA;AAAA,QACR,QAAA,EAAU,oBAAA;AAAA,QACV,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,OAAA,EAAS,oBAAA;AAAA,QACT,KAAA,EAAO,oBAAA;AAAA,QACP,MAAA,EAAQ,cAAA;AAAA,QACR,MAAM,CAAC,EAAE,IAAA,EAAK,KAAM,gBAAM,IAAI,CAAA;AAAA,OAChC;AAAA,MACA,GAAA,EAAK;AAAA,QACH,QAAA,EAAU,6BAAA;AAAA,QACV,cAAc,CAAC,EAAE,QAAA,EAAS,KAAM,gBAAM,QAAQ,CAAA,qCAAA;AAAA,OAChD;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,0BAAA;AAAA,QACT,SAAA,EAAW,oBAAA;AAAA,QACX,YAAA,EAAc,CAAC,EAAE,QAAA,OACf,CAAA,aAAA,EAAM,QAAA,CACH,OAAA,CAAQ,SAAA,EAAW,gBAAM,CAAA,CACzB,QAAQ,SAAA,EAAW,gBAAM,EACzB,OAAA,CAAQ,SAAA,EAAW,UAAK,CAAA,CACxB,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAC,CAAA,CAAA;AAAA,QACxB,cAAA,EAAgB,CAAC,EAAE,SAAA,EAAW,OAAM,KAAM,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,KAAK,CAAA,mBAAA;AAAA,OACjE;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,OAAA,EAAS,cAAA;AAAA,QACT,OAAA,EAAS,cAAA;AAAA,QACT,OAAA,EAAS,0BAAA;AAAA,QACT,aAAA,EAAe,sCAAA;AAAA,QACf,IAAA,EAAM,gCAAA;AAAA,QACN,UAAU,CAAC,EAAE,IAAA,EAAK,KAAM,gBAAM,IAAI,CAAA,CAAA;AAAA,QAClC,cAAA,EAAgB,gCAAA;AAAA,QAChB,UAAU,CAAC,EAAE,IAAA,EAAK,KAAM,gBAAM,IAAI,CAAA,CAAA;AAAA,QAClC,cAAc,CAAC,EAAE,IAAA,EAAK,KAAM,wCAAU,IAAI,CAAA;AAAA,OAC5C;AAAA,MACA,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,gCAAA;AAAA,QACP,OAAA,EAAS,CAAC,EAAE,IAAA,EAAM,OAAM,KAAM,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,KAAK,CAAA,OAAA;AAAA,OAClD;AAAA,MACA,UAAA,EAAY;AAAA,QACV,MAAA,EAAQ,kDAAA;AAAA,QACR,cAAA,EAAgB,0BAAA;AAAA,QAChB,cAAA,EAAgB,gCAAA;AAAA,QAChB,WAAA,EAAa,0BAAA;AAAA,QACb,SAAA,EAAW,kDAAA;AAAA,QACX,MAAA,EAAQ,oBAAA;AAAA,QACR,QAAA,EAAU,cAAA;AAAA,QACV,QAAA,EAAU,gCAAA;AAAA,QACV,UAAA,EAAY,0BAAA;AAAA,QACZ,YAAA,EAAc,gCAAA;AAAA,QACd,QAAA,EAAU,gCAAA;AAAA,QACV,SAAA,EAAW,gCAAA;AAAA,QACX,cAAA,EAAgB,0BAAA;AAAA,QAChB,IAAA,EAAM,cAAA;AAAA,QACN,IAAA,EAAM,cAAA;AAAA,QACN,KAAA,EAAO,cAAA;AAAA,QACP,OAAA,EAAS,cAAA;AAAA,QACT,aAAA,EAAe,0BAAA;AAAA,QACf,OAAA,EAAS,uBAAA;AAAA,QACT,WAAA,EAAa,gCAAA;AAAA,QACb,aAAA,EAAe,0BAAA;AAAA,QACf,SAAA,EAAW,sCAAA;AAAA,QACX,KAAA,EAAO,cAAA;AAAA,QACP,GAAA,EAAK,cAAA;AAAA,QACL,KAAA,EAAO,0BAAA;AAAA,QACP,MAAA,EAAQ,oBAAA;AAAA,QACR,MAAA,EAAQ,cAAA;AAAA,QACR,OAAA,EAAS,cAAA;AAAA,QACT,IAAA,EAAM,cAAA;AAAA,QACN,MAAA,EAAQ,cAAA;AAAA,QACR,OAAA,EAAS,oBAAA;AAAA,QACT,SAAA,EAAW,oBAAA;AAAA,QACX,MAAA,EAAQ,cAAA;AAAA,QACR,cAAc,CAAC,EAAE,OAAA,EAAQ,KAAM,sBAAO,OAAO,CAAA,oBAAA;AAAA,OAC/C;AAAA,MACA,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,0BAAA;AAAA,QACP,WAAA,EAAa,kDAAA;AAAA,QACb,QAAA,EAAU,cAAA;AAAA,QACV,OAAA,EAAS,0BAAA;AAAA,QACT,KAAA,EAAO,cAAA;AAAA,QACP,IAAA,EAAM,cAAA;AAAA,QACN,WAAA,EAAa,cAAA;AAAA,QACb,UAAA,EAAY,oBAAA;AAAA,QACZ,OAAA,EAAS,cAAA;AAAA,QACT,YAAA,EAAc,wDAAA;AAAA,QACd,aAAA,EAAe,4CAAA;AAAA,QACf,UAAA,EAAY,cAAA;AAAA,QACZ,YAAA,EAAc,gCAAA;AAAA,QACd,IAAA,EAAM;AAAA,UACJ,KAAA,EAAO,sCAAA;AAAA,UACP,OAAA,EAAS,cAAA;AAAA,UACT,SAAA,EAAW;AAAA,SACb;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,MAAA,EAAQ,oBAAA;AAAA,UACR,OAAA,EAAS,oBAAA;AAAA,UACT,gBAAA,EAAkB,0BAAA;AAAA,UAClB,QAAA,EAAU,0BAAA;AAAA,UACV,OAAA,EAAS,oBAAA;AAAA,UACT,SAAA,EAAW,oBAAA;AAAA,UACX,MAAA,EAAQ;AAAA,SACV;AAAA,QACA,KAAA,EAAO;AAAA,UACL,OAAA,EAAS,EAAE,KAAA,EAAO,kDAAA,EAAY,aAAa,0EAAA,EAAe;AAAA,UAC1D,KAAA,EAAO,EAAE,KAAA,EAAO,gCAAA,EAAS,aAAa,0EAAA,EAAe;AAAA,UACrD,KAAA,EAAO,EAAE,KAAA,EAAO,kDAAA,EAAY,aAAa,oEAAA;AAAc,SACzD;AAAA,QACA,OAAA,EAAS;AAAA,UACP,KAAA,EAAO,sCAAA;AAAA,UACP,WAAA,EAAa,0BAAA;AAAA,UACb,KAAA,EAAO,cAAA;AAAA,UACP,YAAA,EAAc,sCAAA;AAAA,UACd,MAAA,EAAQ,0BAAA;AAAA,UACR,iBAAA,EAAmB,4CAAA;AAAA,UACnB,YAAA,EAAc,4CAAA;AAAA,UACd,MAAA,EAAQ;AAAA,SACV;AAAA,QACA,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,0BAAA;AAAA,UACP,KAAA,EAAO,cAAA;AAAA,UACP,SAAA,EAAW,cAAA;AAAA,UACX,KAAA,EAAO,cAAA;AAAA,UACP,SAAA,EAAW,cAAA;AAAA,UACX,UAAU,CAAC,EAAE,IAAA,EAAK,KAAM,sBAAO,IAAI,CAAA,CAAA;AAAA,UACnC,UAAA,EAAY,EAAE,KAAA,EAAO,cAAA,EAAM,UAAU,cAAA,EAAM,OAAA,EAAS,cAAA,EAAM,OAAA,EAAS,oBAAA,EAAM;AAAA,UACzE,aAAA,EAAe,EAAE,MAAA,EAAQ,oBAAA,EAAO,QAAQ,oBAAA;AAAM;AAChD;AACF;AACF;AAEJ,CAAA;;;ACnRA,IAAM,gBAAA,GAAkE;AAAA,EACtE,OAAA,EAAS,IAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAA;AAEA,SAAS,kBAAkB,MAAA,EAAyB;AAClD,EAAA,IAAI,OAAO,MAAA,KAAW,QAAA,IAAY,CAAC,MAAA,CAAO,MAAK,EAAG;AAChD,IAAA,MAAM,IAAI,UAAU,mDAAmD,CAAA;AAAA,EACzE;AAEA,EAAA,IAAI;AACF,IAAA,OAAO,IAAA,CAAK,mBAAA,CAAoB,MAAM,CAAA,CAAE,CAAC,CAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,IAAI,UAAA;AAAA,MACR,mBAAmB,MAAM,CAAA,mCAAA;AAAA,KAC3B;AAAA,EACF;AACF;AAEA,SAAS,SAAS,KAAA,EAAkD;AAClE,EAAA,OAAO,OAAA,CAAQ,KAAK,CAAA,IAAK,OAAO,UAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AAC5E;AAEA,SAAS,uBAAA,CACP,KAAA,EACA,MAAA,EACA,IAAA,EACA;AACA,EAAA,IAAI,CAAC,QAAA,CAAS,KAAK,KAAK,CAAC,QAAA,CAAS,MAAM,CAAA,EAAG;AACzC,IAAA,MAAM,IAAI,SAAA,CAAU,CAAA,EAAG,IAAI,CAAA,mBAAA,CAAqB,CAAA;AAAA,EAClD;AAEA,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,SAAS,KAAK,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,EAAG;AACpD,IAAA,IAAI,cAAc,MAAA,EAAW;AAC7B,IAAA,IAAI,EAAE,OAAO,MAAA,CAAA,EAAS;AACpB,MAAA,MAAM,IAAI,SAAA,CAAU,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,oCAAA,CAAsC,CAAA;AAAA,IAC1E;AAEA,IAAA,MAAM,QAAA,GAAW,OAAO,GAAG,CAAA;AAC3B,IAAA,MAAM,aAAA,GAAgB,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA;AACpC,IAAA,IAAI,OAAO,aAAa,UAAA,EAAY;AAClC,MAAA,IAAI,OAAO,cAAc,UAAA,EAAY;AACnC,QAAA,MAAM,IAAI,SAAA,CAAU,CAAA,EAAG,aAAa,CAAA,oBAAA,CAAsB,CAAA;AAAA,MAC5D;AAAA,IACF,CAAA,MAAA,IAAW,OAAO,QAAA,KAAa,QAAA,EAAU;AACvC,MAAA,IAAI,OAAO,cAAc,QAAA,EAAU;AACjC,QAAA,MAAM,IAAI,SAAA,CAAU,CAAA,EAAG,aAAa,CAAA,kBAAA,CAAoB,CAAA;AAAA,MAC1D;AAAA,IACF,CAAA,MAAO;AACL,MAAA,uBAAA,CAAwB,SAAA,EAAW,UAAU,aAAa,CAAA;AAAA,IAC5D;AAAA,EACF;AACF;AAEA,SAAS,sBAAA,CACP,OACA,IAAA,EACgD;AAChD,EAAA,uBAAA,CAAwB,KAAA,EAAO,IAAA,CAAK,QAAA,EAAU,IAAI,CAAA;AACpD;AAEA,SAAS,gBAAgB,MAAA,EAAkD;AACzE,EAAA,OAAO,MAAA,KAAW,WAAW,MAAA,KAAW,OAAA;AAC1C;AAEA,SAAS,qBAAqB,KAAA,EAI5B;AACA,EAAA,IAAI,UAAU,MAAA,EAAW;AACvB,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAU,MAAA;AAAA,MACV,iBAAA,EAAmB;AAAA,KACrB;AAAA,EACF;AAEA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,MAAMA,OAAAA,GAAS,kBAAkB,KAAK,CAAA;AACtC,IAAA,IAAI,CAAC,eAAA,CAAgBA,OAAM,CAAA,EAAG;AAC5B,MAAA,MAAM,IAAI,UAAA;AAAA,QACR,wCAAwCA,OAAM,CAAA,mDAAA;AAAA,OAChD;AAAA,IACF;AACA,IAAA,OAAO,EAAE,MAAA,EAAAA,OAAAA,EAAQ,QAAA,EAAU,MAAA,EAAW,mBAAmB,IAAA,EAAK;AAAA,EAChE;AAEA,EAAA,IAAI,CAAC,SAAS,OAAO,KAAA,KAAU,YAAY,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AAC/D,IAAA,MAAM,IAAI,UAAU,2DAA2D,CAAA;AAAA,EACjF;AAEA,EAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,KAAA,CAAM,MAAM,CAAA;AAC7C,EAAA,sBAAA,CAAuB,KAAA,CAAM,UAAU,yBAAyB,CAAA;AAEhE,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA,UAAU,KAAA,CAAM,QAAA;AAAA,IAChB,iBAAA,EAAmB;AAAA,GACrB;AACF;AAEO,SAAS,0BAAA,CACd,MACA,QAAA,EACuB;AACvB,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AAEtB,EAAA,OAAO;AAAA,IACL,YAAY,EAAE,GAAG,KAAK,UAAA,EAAY,GAAG,SAAS,UAAA,EAAW;AAAA,IACzD,QAAQ,EAAE,GAAG,KAAK,MAAA,EAAQ,GAAG,SAAS,MAAA,EAAO;AAAA,IAC7C,cAAc,EAAE,GAAG,KAAK,YAAA,EAAc,GAAG,SAAS,YAAA,EAAa;AAAA,IAC/D,SAAS,EAAE,GAAG,KAAK,OAAA,EAAS,GAAG,SAAS,OAAA,EAAQ;AAAA,IAChD,QAAQ,EAAE,GAAG,KAAK,MAAA,EAAQ,GAAG,SAAS,MAAA,EAAO;AAAA,IAC7C,OAAO,EAAE,GAAG,KAAK,KAAA,EAAO,GAAG,SAAS,KAAA,EAAM;AAAA,IAC1C,aAAa,EAAE,GAAG,KAAK,WAAA,EAAa,GAAG,SAAS,WAAA,EAAY;AAAA,IAC5D,eAAe,EAAE,GAAG,KAAK,aAAA,EAAe,GAAG,SAAS,aAAA,EAAc;AAAA,IAClE,aAAa,EAAE,GAAG,KAAK,WAAA,EAAa,GAAG,SAAS,WAAA,EAAY;AAAA,IAC5D,OAAO,EAAE,GAAG,KAAK,KAAA,EAAO,GAAG,SAAS,KAAA,EAAM;AAAA,IAC1C,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,EAAE,GAAG,IAAA,CAAK,QAAQ,KAAA,EAAO,GAAG,QAAA,CAAS,OAAA,EAAS,KAAA,EAAM;AAAA,MAC3D,QAAA,EAAU,EAAE,GAAG,IAAA,CAAK,QAAQ,QAAA,EAAU,GAAG,QAAA,CAAS,OAAA,EAAS,QAAA;AAAS,KACtE;AAAA,IACA,OAAO,EAAE,GAAG,KAAK,KAAA,EAAO,GAAG,SAAS,KAAA,EAAM;AAAA,IAC1C,YAAA,EAAc;AAAA,MACZ,QAAA,EAAU;AAAA,QACR,GAAG,KAAK,YAAA,CAAa,QAAA;AAAA,QACrB,GAAG,SAAS,YAAA,EAAc;AAAA;AAC5B,KACF;AAAA,IACA,SAAA,EAAW;AAAA,MACT,UAAA,EAAY;AAAA,QACV,GAAG,KAAK,SAAA,CAAU,UAAA;AAAA,QAClB,GAAG,SAAS,SAAA,EAAW;AAAA,OACzB;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,GAAG,KAAK,SAAA,CAAU,gBAAA;AAAA,QAClB,GAAG,SAAS,SAAA,EAAW;AAAA;AACzB,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,GAAG,IAAA,CAAK,cAAA;AAAA,MACR,GAAG,QAAA,CAAS,cAAA;AAAA,MACZ,KAAA,EAAO;AAAA,QACL,GAAG,KAAK,cAAA,CAAe,KAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,QAAA,EAAU;AAAA,QACR,GAAG,KAAK,cAAA,CAAe,QAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,UAAA,EAAY;AAAA,QACV,GAAG,KAAK,cAAA,CAAe,UAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,GAAG,KAAK,cAAA,CAAe,IAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB,IAAA;AAAA,QAC5B,MAAA,EAAQ;AAAA,UACN,GAAG,IAAA,CAAK,cAAA,CAAe,IAAA,CAAK,MAAA;AAAA,UAC5B,GAAG,QAAA,CAAS,cAAA,EAAgB,IAAA,EAAM;AAAA;AACpC,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,GAAG,KAAK,cAAA,CAAe,QAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,QAAA,EAAU;AAAA,QACR,GAAG,KAAK,cAAA,CAAe,QAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,GAAA,EAAK;AAAA,QACH,GAAG,KAAK,cAAA,CAAe,GAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,OAAA,EAAS;AAAA,QACP,GAAG,KAAK,cAAA,CAAe,OAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,GAAG,KAAK,cAAA,CAAe,iBAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,KAAA,EAAO;AAAA,QACL,GAAG,KAAK,cAAA,CAAe,KAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,UAAA,EAAY;AAAA,QACV,GAAG,KAAK,cAAA,CAAe,UAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB;AAAA,OAC9B;AAAA,MACA,OAAA,EAAS;AAAA,QACP,GAAG,KAAK,cAAA,CAAe,OAAA;AAAA,QACvB,GAAG,SAAS,cAAA,EAAgB,OAAA;AAAA,QAC5B,IAAA,EAAM;AAAA,UACJ,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,IAAA;AAAA,UAC/B,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS;AAAA,SACvC;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,MAAA;AAAA,UAC/B,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS;AAAA,SACvC;AAAA,QACA,KAAA,EAAO;AAAA,UACL,OAAA,EAAS;AAAA,YACP,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,KAAA,CAAM,OAAA;AAAA,YACrC,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS,KAAA,EAAO;AAAA,WAC9C;AAAA,UACA,KAAA,EAAO;AAAA,YACL,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,KAAA,CAAM,KAAA;AAAA,YACrC,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS,KAAA,EAAO;AAAA,WAC9C;AAAA,UACA,KAAA,EAAO;AAAA,YACL,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,KAAA,CAAM,KAAA;AAAA,YACrC,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS,KAAA,EAAO;AAAA;AAC9C,SACF;AAAA,QACA,OAAA,EAAS;AAAA,UACP,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,OAAA;AAAA,UAC/B,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS;AAAA,SACvC;AAAA,QACA,SAAA,EAAW;AAAA,UACT,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,SAAA;AAAA,UAC/B,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS,SAAA;AAAA,UACrC,UAAA,EAAY;AAAA,YACV,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,SAAA,CAAU,UAAA;AAAA,YACzC,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS,SAAA,EAAW;AAAA,WAClD;AAAA,UACA,aAAA,EAAe;AAAA,YACb,GAAG,IAAA,CAAK,cAAA,CAAe,OAAA,CAAQ,SAAA,CAAU,aAAA;AAAA,YACzC,GAAG,QAAA,CAAS,cAAA,EAAgB,OAAA,EAAS,SAAA,EAAW;AAAA;AAClD;AACF;AACF;AACF,GACF;AACF;AAEO,IAAM,oBAAA,GAA8C;AAAA,EACzD,QAAQ,IAAA,CAAK,MAAA;AAAA,EACb,QAAA,EAAU,0BAAA;AAAA,IACR,IAAA,CAAK;AAAA;AAET,CAAA;AAEO,SAAS,oBAAA,CACd,KAAA,EACA,QAAA,EACA,MAAA,EACuB;AACvB,EAAA,IAAI,aAAa,MAAA,EAAW;AAC1B,IAAA,sBAAA,CAAuB,UAAU,0BAA0B,CAAA;AAAA,EAC7D;AACA,EAAA,MAAM,UAAA,GAAa,qBAAqB,KAAK,CAAA;AAC7C,EAAA,MAAM,MAAA,GAAS,UAAA,CAAW,MAAA,IAAU,MAAA,EAAQ,UAAU,IAAA,CAAK,MAAA;AAC3D,EAAA,MAAM,kBAAkB,eAAA,CAAgB,MAAM,IAC1C,gBAAA,CAAiB,MAAM,EAAE,QAAA,GACzB,MAAA;AACJ,EAAA,IAAI,QAAA,GAAW,0BAAA;AAAA,IACb,IAAA,CAAK,QAAA;AAAA,IACL;AAAA,GACF;AAEA,EAAA,IAAI,WAAW,CAAC,UAAA,CAAW,iBAAA,IAAqB,MAAA,CAAO,WAAW,MAAA,CAAA,EAAS;AACzE,IAAA,QAAA,GAAW,0BAAA,CAA2B,QAAA,EAAU,MAAA,CAAO,QAAQ,CAAA;AAAA,EACjE;AAEA,EAAA,QAAA,GAAW,0BAAA,CAA2B,QAAA,EAAU,UAAA,CAAW,QAAQ,CAAA;AACnE,EAAA,QAAA,GAAW,0BAAA,CAA2B,UAAU,QAAQ,CAAA;AAExD,EAAA,OAAO,EAAE,QAAQ,QAAA,EAAS;AAC5B;AChPA,IAAM,iBAAA,GAAoB,oBAAA;AAG1B,SAASC,UAAS,KAAA,EAAkD;AAClE,EAAA,OAAO,KAAA,KAAU,QAAQ,OAAO,KAAA,KAAU,YAAY,CAAC,KAAA,CAAM,QAAQ,KAAK,CAAA;AAC5E;AAEA,SAAS,iBAAiB,UAAA,EAA6D;AACrF,EAAA,MAAM,SAAA,GAAY,aAAa,iBAAiB,CAAA;AAChD,EAAA,OAAOA,SAAAA,CAAS,SAAS,CAAA,GAAI,SAAA,GAA4B,MAAA;AAC3D;AAEA,SAAS,aAAa,KAAA,EAAuB;AAC3C,EAAA,OAAO,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAC,CAAA;AAClF;AAEA,SAAS,gBAAgB,KAAA,EAAoC;AAC3D,EAAA,OAAO,GAAG,YAAA,CAAa,KAAA,CAAM,KAAK,CAAC,CAAA,EAAG,MAAM,IAAI,CAAA,CAAA;AAClD;AAEA,SAAS,eAAe,KAAA,EAAmC;AACzD,EAAA,OAAO,GAAG,YAAA,CAAa,KAAA,CAAM,KAAK,CAAC,CAAA,EAAG,MAAM,IAAI,CAAA,CAAA;AAClD;AAEA,SAAS,qBAAqB,KAAA,EAAgC;AAC5D,EAAA,OAAO,KAAA,KAAU,MAAA,GAAS,KAAA,GAAQ,YAAA,CAAa,KAAK,CAAA;AACtD;AAEA,SAAS,UAAU,GAAA,EAAuC;AACxD,EAAA,OAAO;AAAA,IACL,MAAA,CAAO,SAAS,GAAA,CAAI,KAAA,CAAM,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA,GAAI,GAAA;AAAA,IACvC,MAAA,CAAO,SAAS,GAAA,CAAI,KAAA,CAAM,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA,GAAI,GAAA;AAAA,IACvC,MAAA,CAAO,SAAS,GAAA,CAAI,KAAA,CAAM,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA,GAAI;AAAA,GACzC;AACF;AAEA,SAAS,oBAAoB,KAAA,EAAkD;AAC7E,EAAA,IAAI,KAAA,CAAM,UAAA,KAAe,MAAA,IAAU,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,CAAC,SAAA,KAAc,OAAO,SAAA,KAAc,QAAQ,CAAA,EAAG;AACvG,IAAA,OAAO,KAAA,CAAM,UAAA;AAAA,EACf;AACA,EAAA,IAAI,KAAA,CAAM,GAAA,EAAK,OAAO,SAAA,CAAU,MAAM,GAAG,CAAA;AACzC,EAAA,MAAM,IAAI,SAAA;AAAA,IACR,CAAA,uBAAA,EAA0B,MAAM,UAAU,CAAA,kEAAA;AAAA,GAC5C;AACF;AAEA,SAAS,SAAA,CAAU,CAAC,GAAA,EAAK,KAAA,EAAO,IAAI,CAAA,EAAuD;AACzF,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,OAAO,IAAI,CAAA;AACzC,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,OAAO,IAAI,CAAA;AACzC,EAAA,MAAM,SAAA,GAAA,CAAa,UAAU,OAAA,IAAW,CAAA;AACxC,EAAA,IAAI,YAAY,OAAA,EAAS,OAAO,CAAC,CAAA,EAAG,CAAA,EAAG,YAAY,GAAG,CAAA;AACtD,EAAA,MAAM,QAAQ,OAAA,GAAU,OAAA;AACxB,EAAA,MAAM,UAAA,GAAa,YAAY,GAAA,GAC3B,KAAA,IAAS,IAAI,OAAA,GAAU,OAAA,CAAA,GACvB,SAAS,OAAA,GAAU,OAAA,CAAA;AACvB,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI,OAAA,KAAY,KAAK,GAAA,GAAA,CAAO,KAAA,GAAQ,QAAQ,KAAA,IAAS,KAAA,GAAQ,OAAO,CAAA,GAAI,CAAA,CAAA;AAAA,OAAA,IAC/D,OAAA,KAAY,KAAA,EAAO,GAAA,GAAA,CAAO,IAAA,GAAO,OAAO,KAAA,GAAQ,CAAA;AAAA,OACpD,GAAA,GAAA,CAAO,GAAA,GAAM,KAAA,IAAS,KAAA,GAAQ,CAAA;AACnC,EAAA,OAAO,CAAE,GAAA,GAAM,CAAA,GAAK,KAAK,UAAA,GAAa,GAAA,EAAK,YAAY,GAAG,CAAA;AAC5D;AAEA,SAAS,iBAAiB,KAAA,EAAgC;AACxD,EAAA,IAAI,KAAA,CAAM,UAAA,KAAe,KAAA,IAAS,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,CAAC,SAAA,KAAc,OAAO,SAAA,KAAc,QAAQ,CAAA,EAAG;AACtG,IAAA,MAAM,CAACC,IAAAA,EAAKC,WAAAA,EAAYC,UAAS,IAAI,KAAA,CAAM,UAAA;AAC3C,IAAA,OAAO,CAAA,EAAG,YAAA,CAAaF,IAAG,CAAC,CAAA,CAAA,EAAI,YAAA,CAAaC,WAAU,CAAC,CAAA,EAAA,EAAK,YAAA,CAAaC,UAAS,CAAC,CAAA,CAAA,CAAA;AAAA,EACrF;AACA,EAAA,MAAM,CAAC,KAAK,UAAA,EAAY,SAAS,IAAI,SAAA,CAAU,mBAAA,CAAoB,KAAK,CAAC,CAAA;AACzE,EAAA,OAAO,CAAA,EAAG,YAAA,CAAa,GAAG,CAAC,CAAA,CAAA,EAAI,YAAA,CAAa,UAAU,CAAC,CAAA,EAAA,EAAK,YAAA,CAAa,SAAS,CAAC,CAAA,CAAA,CAAA;AACrF;AAEA,SAAS,YAAY,KAAA,EAAgC;AACnD,EAAA,MAAM,KAAA,GAAQ,MAAM,KAAA,IAAS,CAAA;AAC7B,EAAA,IAAI,KAAA,CAAM,GAAA,IAAO,KAAA,KAAU,CAAA,SAAU,KAAA,CAAM,GAAA;AAC3C,EAAA,MAAM,aAAa,KAAA,CAAM,UAAA,CAAW,IAAI,oBAAoB,CAAA,CAAE,KAAK,GAAG,CAAA;AACtE,EAAA,MAAM,cAAc,KAAA,KAAU,CAAA,GAAI,KAAK,CAAA,GAAA,EAAM,YAAA,CAAa,KAAK,CAAC,CAAA,CAAA;AAChE,EAAA,QAAQ,MAAM,UAAA;AAAY,IACxB,KAAK,MAAA,EAAQ;AACX,MAAA,MAAM,GAAA,GAAM,KAAA,CAAM,UAAA,CAAW,GAAA,CAAI,CAAC,SAAA,KAAc,SAAA,KAAc,MAAA,GAAS,MAAA,GAAS,YAAA,CAAa,SAAA,GAAY,GAAG,CAAC,CAAA;AAC7G,MAAA,OAAO,OAAO,GAAA,CAAI,IAAA,CAAK,GAAG,CAAC,GAAG,WAAW,CAAA,CAAA,CAAA;AAAA,IAC3C;AAAA,IACA,KAAK,KAAA;AACH,MAAA,OAAO,CAAA,IAAA,EAAO,qBAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,oBAAA,CAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,KAAK,oBAAA,CAAqB,KAAA,CAAM,WAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,CAAA;AAAA,IACnK,KAAK,KAAA;AACH,MAAA,OAAO,CAAA,IAAA,EAAO,qBAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,oBAAA,CAAqB,KAAA,CAAM,UAAA,CAAW,CAAC,CAAC,CAAC,KAAK,oBAAA,CAAqB,KAAA,CAAM,WAAW,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,CAAA;AAAA,IACnK,KAAK,KAAA;AAAA,IACL,KAAK,KAAA;AAAA,IACL,KAAK,OAAA;AAAA,IACL,KAAK,OAAA;AACH,MAAA,OAAO,GAAG,KAAA,CAAM,UAAU,CAAA,CAAA,EAAI,UAAU,GAAG,WAAW,CAAA,CAAA,CAAA;AAAA,IACxD;AACE,MAAA,OAAO,SAAS,KAAA,CAAM,UAAU,CAAA,CAAA,EAAI,UAAU,GAAG,WAAW,CAAA,CAAA,CAAA;AAAA;AAElE;AAEA,SAAS,iBAAiB,KAAA,EAAkC;AAC1D,EAAA,MAAM,WAAW,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,GAAQ,CAAC,KAAK,CAAA;AACtD,EAAA,MAAM,eAAA,uBAAsB,GAAA,CAAI;AAAA,IAC9B,OAAA;AAAA,IAAS,YAAA;AAAA,IAAc,WAAA;AAAA,IAAa,SAAA;AAAA,IAAW,SAAA;AAAA,IAAW,WAAA;AAAA,IAC1D,UAAA;AAAA,IAAY,eAAA;AAAA,IAAiB,cAAA;AAAA,IAAgB,YAAA;AAAA,IAAc,MAAA;AAAA,IAAQ,OAAA;AAAA,IAAS;AAAA,GAC7E,CAAA;AACD,EAAA,OAAO,QAAA,CAAS,GAAA,CAAI,CAAC,MAAA,KAAW;AAC9B,IAAA,IAAI,eAAA,CAAgB,IAAI,MAAM,CAAA,IAAK,mBAAmB,IAAA,CAAK,MAAM,GAAG,OAAO,MAAA;AAC3E,IAAA,OAAO,CAAA,CAAA,EAAI,OAAO,OAAA,CAAQ,KAAA,EAAO,MAAM,CAAA,CAAE,OAAA,CAAQ,IAAA,EAAM,KAAK,CAAC,CAAA,CAAA,CAAA;AAAA,EAC/D,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AACd;AAEA,SAAS,aAAa,KAAA,EAAwB;AAC5C,EAAA,MAAM,UAAU,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,GAAQ,CAAC,KAAK,CAAA;AACrD,EAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW;AAC7B,IAAA,IAAI,CAACH,SAAAA,CAAS,MAAM,GAAG,MAAM,IAAI,UAAU,qCAAqC,CAAA;AAChF,IAAA,OAAO;AAAA,MACL,eAAA,CAAgB,OAAO,OAA8B,CAAA;AAAA,MACrD,eAAA,CAAgB,OAAO,OAA8B,CAAA;AAAA,MACrD,eAAA,CAAgB,OAAO,IAA2B,CAAA;AAAA,MAClD,eAAA,CAAgB,OAAO,MAA6B,CAAA;AAAA,MACpD,WAAA,CAAY,OAAO,KAAwB,CAAA;AAAA,MAC3C,MAAA,CAAO,KAAA,KAAU,IAAA,GAAO,OAAA,GAAU;AAAA,KACpC,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,EAC5B,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AACd;AAEA,SAAS,cAAA,CAAe,OAAgB,UAAA,EAA2C;AACjF,EAAA,IAAI,CAAC,MAAM,OAAA,CAAQ,KAAK,GAAG,MAAM,IAAI,UAAU,sCAAsC,CAAA;AACrF,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS;AAChC,IAAA,IAAI,CAACA,SAAAA,CAAS,IAAI,GAAG,MAAM,IAAI,UAAU,sCAAsC,CAAA;AAC/E,IAAA,OAAO,CAAA,EAAG,WAAA,CAAY,IAAA,CAAK,KAAwB,CAAC,CAAA,CAAA,EAAI,YAAA,CAAa,MAAA,CAAO,IAAA,CAAK,QAAQ,CAAA,GAAI,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,EACnG,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AACZ,EAAA,MAAM,QAAA,GAAW,gBAAA,CAAiB,UAAU,CAAA,EAAG,QAAA;AAC/C,EAAA,IAAI,QAAA,EAAU,IAAA,KAAS,QAAA,EAAU,OAAO,mBAAmB,KAAK,CAAA,CAAA,CAAA;AAChE,EAAA,OAAO,mBAAmB,YAAA,CAAa,QAAA,EAAU,SAAS,EAAE,CAAC,QAAQ,KAAK,CAAA,CAAA,CAAA;AAC5E;AAEA,SAAS,iBAAiB,KAAA,EAAmC;AAC3D,EAAA,QAAQ,MAAM,IAAA;AAAM,IAClB,KAAK,OAAA;AACH,MAAA,OAAO,WAAA,CAAY,MAAM,KAAwB,CAAA;AAAA,IACnD,KAAK,WAAA;AACH,MAAA,OAAO,eAAA,CAAgB,MAAM,KAA4B,CAAA;AAAA,IAC3D,KAAK,YAAA;AACH,MAAA,OAAO,gBAAA,CAAiB,MAAM,KAA0B,CAAA;AAAA,IAC1D,KAAK,YAAA;AAAA,IACL,KAAK,QAAA;AACH,MAAA,OAAO,MAAA,CAAO,MAAM,KAAK,CAAA;AAAA,IAC3B,KAAK,UAAA;AACH,MAAA,OAAO,cAAA,CAAe,MAAM,KAA2B,CAAA;AAAA,IACzD,KAAK,aAAA;AACH,MAAA,OAAO,CAAA,aAAA,EAAiB,MAAM,KAAA,CAAmB,GAAA,CAAI,YAAY,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,IAC/E,KAAK,aAAA,EAAe;AAClB,MAAA,IAAI,OAAO,KAAA,CAAM,KAAA,KAAU,QAAA,SAAiB,KAAA,CAAM,KAAA;AAClD,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,MAAA,OAAO,MAAM,SAAA,CAAU,GAAA,CAAI,eAAe,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,IACtD;AAAA,IACA,KAAK,QAAA,EAAU;AACb,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,MAAA,MAAM,UAAA,GAAiC,EAAE,GAAG,KAAA,EAAO,MAAM,aAAA,EAAe,KAAA,EAAO,MAAM,KAAA,EAAM;AAC3F,MAAA,OAAO,CAAA,EAAG,eAAA,CAAgB,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA,EAAI,gBAAA,CAAiB,UAAU,CAAC,CAAA,CAAA,EAAI,WAAA,CAAY,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,IACpG;AAAA,IACA,KAAK,YAAA,EAAc;AACjB,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,MAAA,OAAO,GAAG,cAAA,CAAe,KAAA,CAAM,QAAQ,CAAC,CAAA,cAAA,EAAiB,MAAM,cAAA,CAAe,GAAA,CAAI,YAAY,CAAA,CAAE,KAAK,IAAI,CAAC,KAAK,cAAA,CAAe,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,IAC5I;AAAA,IACA,KAAK,QAAA;AACH,MAAA,OAAO,YAAA,CAAa,MAAM,KAAK,CAAA;AAAA,IACjC,KAAK,UAAA;AACH,MAAA,OAAO,cAAA,CAAe,KAAA,CAAM,KAAA,EAAO,KAAA,CAAM,UAAU,CAAA;AAAA,IACrD,KAAK,YAAA,EAAc;AACjB,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AAMpB,MAAA,OAAO,GAAG,KAAA,CAAM,UAAU,CAAA,CAAA,EAAI,eAAA,CAAgB,MAAM,QAAQ,CAAC,CAAA,CAAA,EAAI,YAAA,CAAa,MAAM,UAAU,CAAC,IAAI,gBAAA,CAAiB,KAAA,CAAM,UAAU,CAAC,CAAA,CAAA;AAAA,IACvI;AAAA;AAEJ;AAEA,SAAS,iBAAA,CAAkB,MAAc,MAAA,EAAwB;AAC/D,EAAA,MAAM,UAAA,GAAa,IAAA,CAChB,OAAA,CAAQ,oBAAA,EAAsB,OAAO,CAAA,CACrC,OAAA,CAAQ,gBAAA,EAAkB,GAAG,CAAA,CAC7B,OAAA,CAAQ,UAAA,EAAY,EAAE,EACtB,WAAA,EAAY;AACf,EAAA,OAAO,CAAA,EAAA,EAAK,MAAM,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA;AAClC;AAEA,SAAS,wBAAwB,MAAA,EAAsB;AACrD,EAAA,IAAI,CAAC,yBAAA,CAA0B,IAAA,CAAK,MAAM,CAAA,EAAG;AAC3C,IAAA,MAAM,IAAI,SAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACF;AAEA,SAAS,cAAA,CACP,KAAA,EACA,QAAA,EACA,SAAA,EACoB;AACpB,EAAA,MAAM,cAAA,GAAiB,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AAC/C,EAAA,IAAI,KAAA,CAAM,GAAA,CAAI,cAAc,CAAA,EAAG,OAAO,cAAA;AACtC,EAAA,OAAO,KAAA,CAAM,GAAA,CAAI,QAAQ,CAAA,GAAI,QAAA,GAAW,MAAA;AAC1C;AAEA,IAAM,oBAAA,GAAyD;AAAA,EAC7D,2BAAA,EAA6B,cAAA;AAAA,EAC7B,2BAAA,EAA6B,cAAA;AAAA,EAC7B,qBAAA,EAAuB,QAAA;AAAA,EACvB,gCAAA,EAAkC,mBAAA;AAAA,EAClC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,0BAAA,EAA4B,aAAA;AAAA,EAC5B,qCAAA,EAAuC,wBAAA;AAAA,EACvC,sBAAA,EAAwB,SAAA;AAAA,EACxB,iCAAA,EAAmC,oBAAA;AAAA,EACnC,uBAAA,EAAyB,UAAA;AAAA,EACzB,kCAAA,EAAoC,qBAAA;AAAA,EACpC,4BAAA,EAA8B,eAAA;AAAA,EAC9B,uCAAA,EAAyC,0BAAA;AAAA,EACzC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,wBAAA,EAA0B,WAAA;AAAA,EAC1B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,uBAAA,EAAyB,UAAA;AAAA,EACzB,sBAAA,EAAwB,SAAA;AAAA,EACxB,qBAAA,EAAuB,QAAA;AAAA,EACvB,6BAAA,EAA+B,gBAAA;AAAA,EAC/B,4BAAA,EAA8B,eAAA;AAAA,EAC9B,6BAAA,EAA+B,gBAAA;AAAA,EAC/B,mCAAA,EAAqC,sBAAA;AAAA,EACrC,2BAAA,EAA6B,cAAA;AAAA,EAC7B,2BAAA,EAA6B,cAAA;AAAA,EAC7B,iCAAA,EAAmC,oBAAA;AAAA,EACnC,iCAAA,EAAmC,oBAAA;AAAA,EACnC,mCAAA,EAAqC,sBAAA;AAAA,EACrC,kCAAA,EAAoC;AACtC,CAAA;AAUO,SAAS,kBAAA,CACd,KAAA,EACA,OAAA,GAAqC,EAAC,EACjB;AACrB,EAAA,MAAM,QAAA,GAAWI,2BAAmB,KAAK,CAAA;AACzC,EAAA,MAAM,WAAW,QAAA,CAAS,QAAA;AAC1B,EAAA,MAAM,SAAA,GAAY,QAAQ,SAAA,IAAa,OAAA;AACvC,EAAA,MAAM,OAAA,GAAU,QAAQ,OAAA,IAAW,SAAA;AACnC,EAAA,MAAM,cAAA,GAAiB,QAAQ,cAAA,IAAkB,SAAA;AACjD,EAAA,uBAAA,CAAwB,cAAc,CAAA;AACtC,EAAA,MAAM,SAAkC,EAAC;AACzC,EAAA,MAAM,YAAoC,EAAC;AAC3C,EAAA,MAAM,eAAuC,EAAC;AAC9C,EAAA,MAAM,wBAAA,uBAA+B,GAAA,EAAoB;AAEzD,EAAA,KAAA,MAAW,CAAC,IAAA,EAAM,KAAK,CAAA,IAAK,SAAS,MAAA,EAAQ;AAC3C,IAAA,MAAA,CAAO,IAAI,IAAI,KAAA,CAAM,KAAA;AACrB,IAAA,MAAM,QAAA,GAAW,iBAAiB,KAAK,CAAA;AACvC,IAAA,SAAA,CAAU,IAAI,CAAA,GAAI,QAAA;AAClB,IAAA,MAAM,YAAA,GAAe,iBAAA,CAAkB,IAAA,EAAM,cAAc,CAAA;AAC3D,IAAA,MAAM,YAAA,GAAe,wBAAA,CAAyB,GAAA,CAAI,YAAY,CAAA;AAC9D,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,MAAM,IAAI,SAAA;AAAA,QACR,CAAA,kBAAA,EAAqB,YAAY,CAAA,KAAA,EAAQ,IAAI,oBAAoB,YAAY,CAAA,mBAAA;AAAA,OAC/E;AAAA,IACF;AACA,IAAA,wBAAA,CAAyB,GAAA,CAAI,cAAc,IAAI,CAAA;AAC/C,IAAA,YAAA,CAAa,YAAY,CAAA,GAAI,QAAA;AAAA,EAC/B;AAEA,EAAA,MAAM,QAAQ,IAAI,GAAA,CAAI,QAAA,CAAS,MAAA,CAAO,MAAM,CAAA;AAC5C,EAAA,KAAA,MAAW,CAAC,QAAA,EAAU,YAAY,KAAK,MAAA,CAAO,OAAA,CAAQ,oBAAoB,CAAA,EAAG;AAC3E,IAAA,MAAM,IAAA,GAAO,cAAA,CAAe,KAAA,EAAO,QAAA,EAAU,SAAS,CAAA;AACtD,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AACtC,IAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,IAAA,KAAS,OAAA,EAAS;AACpC,MAAA,MAAM,IAAI,SAAA,CAAU,CAAA,EAAG,IAAI,CAAA,gCAAA,EAAmC,YAAY,CAAA,CAAA,CAAG,CAAA;AAAA,IAC/E;AACA,IAAA,YAAA,CAAa,YAAY,CAAA,GAAI,gBAAA,CAAiB,KAAA,CAAM,KAAwB,CAAA;AAAA,EAC9E;AAEA,EAAA,MAAM,aAAA,GAKD;AAAA,IACH,CAAC,wBAAA,EAA0B,WAAA,EAAa,SAAA,EAAW,OAAO,CAAA;AAAA,IAC1D,CAAC,sBAAA,EAAwB,UAAA,EAAY,SAAA,EAAW,WAAW,CAAA;AAAA,IAC3D,CAAC,yBAAA,EAA2B,kBAAA,EAAoB,OAAA,EAAS,WAAW,CAAA;AAAA,IACpE,CAAC,yBAAA,EAA2B,oBAAA,EAAsB,SAAA,EAAW,UAAU,CAAA;AAAA,IACvE,CAAC,oBAAA,EAAsB,aAAA,EAAe,SAAA,EAAW,YAAY;AAAA,GAC/D;AACA,EAAA,KAAA,MAAW,CAAC,QAAA,EAAU,YAAA,EAAc,IAAA,EAAM,YAAY,KAAK,aAAA,EAAe;AACxE,IAAA,MAAM,IAAA,GAAO,cAAA,CAAe,KAAA,EAAO,QAAA,EAAU,IAAI,CAAA;AACjD,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AACtC,IAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,IAAA,KAAS,YAAA,EAAc;AACzC,MAAA,MAAM,IAAI,UAAU,CAAA,EAAG,IAAI,cAAc,YAAY,CAAA,gBAAA,EAAmB,YAAY,CAAA,CAAA,CAAG,CAAA;AAAA,IACzF;AACA,IAAA,YAAA,CAAa,YAAY,CAAA,GAAI,SAAA,CAAU,IAAI,CAAA;AAAA,EAC7C;AAEA,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,CACxC,IAAA,CAAK,CAAC,CAAC,IAAI,CAAA,EAAG,CAAC,KAAK,MAAM,IAAA,CAAK,aAAA,CAAc,KAAK,CAAC,CAAA,CACnD,GAAA,CAAI,CAAC,CAAC,MAAM,KAAK,CAAA,KAAM,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAA,CAC1C,KAAK,EAAE,CAAA;AAEV,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,MAAM,CAAA;AAAA,IAC5B,SAAA,EAAW,MAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,IAClC,YAAA,EAAc,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA;AAAA,IACxC;AAAA,GACF;AACF;AC/SA,IAAM,iBAAA,GAAoB,MAAA,CAAO,MAAA,CAAO,EAAE,CAAA;AAC1C,IAAM,YAAA,GAAe,MAAA,CAAO,MAAA,CAAO,EAAE,CAAA;AAcrC,IAAM,gDAAgC,MAAA,CAAO,GAAA;AAAA,EAC3C;AACF,CAAA;AAMA,SAAS,6BAAA,GAAyD;AAChE,EAAA,OAAO,OAAO,MAAA,CAAO;AAAA,IACnB,QAAQC,mBAAA,CAAyC;AAAA,MAC/C,GAAG,oBAAA;AAAA,MACH,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,IACD,OAAOA,mBAAA,CAAwC;AAAA,MAC7C,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,IACD,WAAWA,mBAAA,CAA4C;AAAA,MACrD,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,IACD,aAAaA,mBAAA,CAA8C;AAAA,MACzD,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,iBAAA;AAAA,MACb,MAAA,EAAQ;AAAA,KACT;AAAA,GACF,CAAA;AACH;AAEA,SAAS,0BAAA,GAAsD;AAC7D,EAAA,MAAM,IAAA,GAAO,UAAA;AACb,EAAA,MAAM,QAAA,GAAW,KAAK,6BAA6B,CAAA;AACnD,EAAA,IAAI,UAAU,OAAO,QAAA;AAErB,EAAA,MAAM,WAAW,6BAAA,EAA8B;AAC/C,EAAA,MAAA,CAAO,cAAA,CAAe,MAAM,6BAAA,EAA+B;AAAA,IACzD,KAAA,EAAO,QAAA;AAAA,IACP,UAAA,EAAY,KAAA;AAAA,IACZ,YAAA,EAAc,KAAA;AAAA,IACd,QAAA,EAAU;AAAA,GACX,CAAA;AACD,EAAA,OAAO,QAAA;AACT;AAEA,IAAM,mBAAmB,0BAAA,EAA2B;AAE7C,IAAM,uBAAuB,gBAAA,CAAiB,MAAA;AAE9C,IAAM,sBAAsB,gBAAA,CAAiB,KAAA;AAE7C,IAAM,0BAA0B,gBAAA,CAAiB,SAAA;AAEjD,IAAM,4BAA4B,gBAAA,CAAiB,WAAA;AAE1D,SAAS,eAAA,CACP,WACA,QAAA,EACe;AACf,EAAA,IAAI,QAAA,KAAa,QAAW,OAAO,SAAA;AACnC,EAAA,IAAI,SAAA,KAAc,QAAW,OAAO,QAAA;AAEpC,EAAA,OAAO;AAAA,IACL,GAAG,SAAA;AAAA,IACH,GAAG,QAAA;AAAA,IACH,KAAA,EACE,SAAA,CAAU,KAAA,IAAS,QAAA,CAAS,KAAA,GACxB,EAAE,GAAG,SAAA,CAAU,KAAA,EAAO,GAAG,QAAA,CAAS,KAAA,EAAM,GACxC,MAAA;AAAA,IACN,MAAA,EACE,SAAA,CAAU,MAAA,IAAU,QAAA,CAAS,MAAA,GACzB,EAAE,GAAG,SAAA,CAAU,MAAA,EAAQ,GAAG,QAAA,CAAS,MAAA,EAAO,GAC1C;AAAA,GACR;AACF;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,OAAOC,iBAAW,oBAAoB,CAAA;AACxC;AAEO,SAAS,wBAAA,GAAkD;AAChE,EAAA,OAAOA,gBAAA,CAAW,oBAAoB,CAAA,CAAE,QAAA;AAC1C;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,OAAOA,gBAAA,CAAW,mBAAmB,CAAA,CAAE,aAAA;AACzC;AAEO,SAAS,yBACd,QAAA,EAC4B;AAC5B,EAAA,MAAM,SAAA,GAAYA,gBAAA,CAAW,mBAAmB,CAAA,CAAE,cAAA;AAClD,EAAA,OAAOC,aAAA;AAAA,IACL,MAAM,eAAA,CAAgB,SAAA,EAAW,QAAQ,CAAA;AAAA,IACzC,CAAC,UAAU,SAAS;AAAA,GACtB;AACF;AAEO,SAAS,iCACd,QAAA,EACoC;AACpC,EAAA,MAAM,SAAA,GAAYD,gBAAA,CAAW,mBAAmB,CAAA,CAAE,sBAAA;AAClD,EAAA,OAAOC,aAAA;AAAA,IACL,MAAM,eAAA,CAAgB,SAAA,EAAW,QAAQ,CAAA;AAAA,IACzC,CAAC,UAAU,SAAS;AAAA,GACtB;AACF;AAEO,SAAS,mBAAA,GAAsB;AACpC,EAAA,OAAOD,gBAAA,CAAW,uBAAuB,CAAA,CAAE,SAAA;AAC7C;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,OAAOA,gBAAA,CAAW,yBAAyB,CAAA,CAAE,WAAA;AAC/C;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,OAAOA,gBAAA,CAAW,yBAAyB,CAAA,CAAE,MAAA;AAC/C;AAEO,SAAS,6BAAA,GAA4D;AAC1E,EAAA,MAAM,MAAA,GAASA,iBAAW,oBAAoB,CAAA;AAC9C,EAAA,MAAM,KAAA,GAAQA,iBAAW,mBAAmB,CAAA;AAC5C,EAAA,MAAM,SAAA,GAAYA,iBAAW,uBAAuB,CAAA;AACpD,EAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,QAAA,IAAY,KAAA,CAAM,YAAY,SAAA,CAAU,QAAA;AAEtE,EAAA,OAAOC,aAAA;AAAA,IACL,MACE,cAAA,GACI;AAAA,MACE,KAAK,SAAA,CAAU,SAAA;AAAA,MACf,0BAA0B,SAAA,CAAU,SAAA;AAAA,MACpC,uBAAuB,MAAA,CAAO,MAAA;AAAA,MAC9B,sBAAsB,KAAA,CAAM,OAAA;AAAA,MAC5B,yBAAA,EAA2B,MAAM,aAAA,EAAe;AAAA,QAElD,EAAC;AAAA,IACP;AAAA,MACE,SAAA,CAAU,SAAA;AAAA,MACV,MAAA,CAAO,MAAA;AAAA,MACP,cAAA;AAAA,MACA,MAAM,aAAA,EAAe,SAAA;AAAA,MACrB,KAAA,CAAM;AAAA;AACR,GACF;AACF;ACjLA,SAASP,UAAS,KAAA,EAAkD;AAClE,EAAA,OAAO,OAAA,CAAQ,KAAK,CAAA,IAAK,OAAO,UAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AAC5E;AAEA,SAAS,kBAAkB,SAAA,EAAyC;AAClE,EAAA,IAAI,SAAA,KAAc,MAAA,IAAa,SAAA,KAAc,KAAA,IAAS,cAAc,KAAA,EAAO;AACzE,IAAA,MAAM,IAAI,UAAU,mDAAmD,CAAA;AAAA,EACzE;AACF;AAEA,SAAS,oBAAoB,WAAA,EAA6C;AACxE,EAAA,IAAI,gBAAgB,MAAA,EAAW;AAC/B,EAAA,IAAI,CAACA,SAAAA,CAAS,WAAW,CAAA,EAAG;AAC1B,IAAA,MAAM,IAAI,UAAU,gDAAgD,CAAA;AAAA,EACtE;AACA,EAAA,IACE,YAAY,WAAA,KAAgB,MAAA,IAC5B,OAAO,WAAA,CAAY,gBAAgB,UAAA,EACnC;AACA,IAAA,MAAM,IAAI,SAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,IACE,YAAY,SAAA,KAAc,MAAA,IAC1B,OAAO,WAAA,CAAY,cAAc,UAAA,EACjC;AACA,IAAA,MAAM,IAAI,SAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACF;AAEA,SAAS,eAAe,MAAA,EAA0C;AAChE,EAAA,IAAI,WAAW,MAAA,EAAW;AAC1B,EAAA,IAAI,CAACA,SAAAA,CAAS,MAAM,CAAA,EAAG;AACrB,IAAA,MAAM,IAAI,UAAU,2CAA2C,CAAA;AAAA,EACjE;AACA,EAAA,IAAI,OAAO,QAAA,KAAa,MAAA,IAAa,OAAO,MAAA,CAAO,aAAa,SAAA,EAAW;AACzE,IAAA,MAAM,IAAI,UAAU,oDAAoD,CAAA;AAAA,EAC1E;AACA,EAAA,IAAI,MAAA,CAAO,aAAa,IAAA,EAAM;AAC9B,EAAA,IACE,OAAO,MAAA,CAAO,SAAA,KAAc,cAC5B,OAAO,MAAA,CAAO,cAAc,QAAA,EAC5B;AACA,IAAA,MAAM,IAAI,SAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACF;AAEA,SAAS,oBAAA,CACP,KAAA,EACA,SAAA,EACA,OAAA,EACA,SAAA,EACA;AACA,EAAA,IAAI,CAAC,OAAO,OAAO,SAAA;AACnB,EAAA,OAAO,kBAAA,CAAmB,KAAA,EAAO,EAAE,SAAA,EAAW,SAAS,CAAA;AACzD;AAEO,SAAS,eAAA,CAAgB;AAAA,EAC9B,QAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,EAAyB;AACvB,EAAA,MAAM,YAAA,GAAeM,iBAAW,oBAAoB,CAAA;AACpD,EAAA,MAAM,WAAA,GAAcA,iBAAW,mBAAmB,CAAA;AAClD,EAAA,MAAM,eAAA,GAAkBA,iBAAW,uBAAuB,CAAA;AAC1D,EAAA,MAAM,iBAAA,GAAoBA,iBAAW,yBAAyB,CAAA;AAE9D,EAAA,iBAAA,CAAkB,SAAS,CAAA;AAC3B,EAAA,mBAAA,CAAoB,WAAW,CAAA;AAC/B,EAAA,cAAA,CAAe,MAAM,CAAA;AAErB,EAAA,MAAM,cAAA,GAAiBC,aAAAA;AAAA,IACrB,MAAM,oBAAA,CAAqB,MAAA,EAAQ,QAAA,EAAU,YAAY,CAAA;AAAA,IACzD,CAAC,MAAA,EAAQ,QAAA,EAAU,YAAY;AAAA,GACjC;AACA,EAAA,MAAM,WAAA,GAAcA,aAAAA;AAAA,IAClB,OAAO,EAAE,GAAG,cAAA,EAAgB,UAAU,IAAA,EAAK,CAAA;AAAA,IAC3C,CAAC,cAAc;AAAA,GACjB;AACA,EAAA,MAAM,aAAA,GAAgBA,aAAAA;AAAA,IACpB,MACE,oBAAA;AAAA,MACE,KAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA,CAAY;AAAA,KACd;AAAA,IACF,CAAC,SAAA,EAAW,OAAA,EAAS,WAAA,CAAY,eAAe,KAAK;AAAA,GACvD;AACA,EAAA,MAAM,UAAA,GAAaA,aAAAA;AAAA,IACjB,OAAO;AAAA,MACL,QAAA,EAAU,IAAA;AAAA,MACV,aAAA;AAAA,MACA,OAAA,EAAS,WAAW,WAAA,CAAY,OAAA;AAAA,MAChC,cAAA,EAAgB;AAAA,QACd,GAAG,WAAA,CAAY,cAAA;AAAA,QACf,GAAG,UAAA,EAAY,IAAA;AAAA,QACf,GAAI,OAAA,GAAU,EAAE,OAAA,EAAQ,GAAI,MAAA;AAAA,QAC5B,KAAA,EAAO;AAAA,UACL,GAAG,YAAY,cAAA,EAAgB,KAAA;AAAA,UAC/B,GAAG,YAAY,IAAA,EAAM;AAAA,SACvB;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,GAAG,YAAY,cAAA,EAAgB,MAAA;AAAA,UAC/B,GAAG,YAAY,IAAA,EAAM;AAAA;AACvB,OACF;AAAA,MACA,sBAAA,EAAwB;AAAA,QACtB,GAAG,WAAA,CAAY,sBAAA;AAAA,QACf,GAAG,UAAA,EAAY,YAAA;AAAA,QACf,GAAI,OAAA,GAAU,EAAE,OAAA,EAAQ,GAAI,MAAA;AAAA,QAC5B,KAAA,EAAO;AAAA,UACL,GAAG,YAAY,sBAAA,EAAwB,KAAA;AAAA,UACvC,GAAG,YAAY,YAAA,EAAc;AAAA,SAC/B;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,GAAG,YAAY,sBAAA,EAAwB,MAAA;AAAA,UACvC,GAAG,YAAY,YAAA,EAAc;AAAA;AAC/B;AACF,KACF,CAAA;AAAA,IACA;AAAA,MACE,UAAA,EAAY,IAAA;AAAA,MACZ,UAAA,EAAY,YAAA;AAAA,MACZ,OAAA;AAAA,MACA,WAAA,CAAY,cAAA;AAAA,MACZ,WAAA,CAAY,sBAAA;AAAA,MACZ,WAAA,CAAY,OAAA;AAAA,MACZ,aAAA;AAAA,MACA;AAAA;AACF,GACF;AACA,EAAA,MAAM,cAAA,GAAiBA,aAAAA;AAAA,IACrB,OAAO;AAAA,MACL,QAAA,EAAU,IAAA;AAAA,MACV,SAAA,EAAW,SAAA,IAAa,eAAA,CAAgB,SAAA,IAAa;AAAA,KACvD,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,eAAA,CAAgB,SAAS;AAAA,GACvC;AACA,EAAA,MAAM,gBAAA,GAAmBA,aAAAA;AAAA,IACvB,OAAO;AAAA,MACL,QAAA,EAAU,IAAA;AAAA,MACV,WAAA,EAAa;AAAA,QACX,GAAG,iBAAA,CAAkB,WAAA;AAAA,QACrB,GAAG;AAAA,OACL;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,GAAG,iBAAA,CAAkB,MAAA;AAAA,QACrB,GAAG;AAAA;AACL,KACF,CAAA;AAAA,IACA;AAAA,MACE,WAAA;AAAA,MACA,iBAAA,CAAkB,WAAA;AAAA,MAClB,iBAAA,CAAkB,MAAA;AAAA,MAClB;AAAA;AACF,GACF;AAEA,EAAA,uBACEC,cAAA,CAAC,oBAAA,CAAqB,QAAA,EAArB,EAA8B,KAAA,EAAO,WAAA,EACpC,QAAA,kBAAAA,cAAA,CAAC,mBAAA,CAAoB,QAAA,EAApB,EAA6B,KAAA,EAAO,UAAA,EACnC,QAAA,kBAAAA,cAAA,CAAC,uBAAA,CAAwB,QAAA,EAAxB,EAAiC,KAAA,EAAO,cAAA,EACvC,QAAA,kBAAAA,cAAA,CAAC,yBAAA,CAA0B,QAAA,EAA1B,EAAmC,KAAA,EAAO,gBAAA,EACxC,QAAA,EACH,CAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA;AAEJ","file":"index.js","sourcesContent":["import type { MonkeysLocale } from './types';\n\nexport const enUS = {\n locale: 'en-US',\n messages: {\n pagination: {\n navigation: 'Pagination',\n first: 'First',\n previous: 'Previous',\n next: 'Next',\n last: 'Last',\n page: ({ page, pageCount }) => `Page ${page} of ${pageCount}`,\n currentPage: ({ page, pageCount }) =>\n `Page ${page} of ${pageCount}, current page`,\n emptyResults: '0 results',\n range: ({ start, end, total }) => `${start}-${end} of ${total}`,\n },\n dialog: {\n close: 'Close dialog',\n },\n dropdownMenu: {\n actions: 'Actions',\n },\n loading: {\n spinner: 'Loading',\n },\n layout: {\n resizePanels: 'Resize panels',\n },\n steps: {\n label: 'Progress',\n current: 'Current',\n completed: 'Completed',\n error: 'Error',\n disabled: 'Disabled',\n },\n numberInput: {\n increment: 'Increase value',\n decrement: 'Decrease value',\n },\n passwordInput: {\n showPassword: 'Show password',\n hidePassword: 'Hide password',\n },\n multiSelect: {\n placeholder: 'Select options',\n empty: 'No options',\n removeOption: ({ value }) => `Remove ${value}`,\n },\n table: {\n dragColumn: ({ columnId }) => `Drag column ${columnId}`,\n resizeColumn: ({ columnId }) => `Resize column ${columnId}`,\n sortColumn: ({ columnId }) =>\n columnId ? `Sort column ${columnId}` : 'Sort column',\n loadingRow: 'Loading table row',\n },\n toolbar: {\n theme: {\n label: 'Appearance',\n toggle: 'Toggle theme',\n auto: 'Auto',\n light: 'Light',\n dark: 'Dark',\n },\n language: {\n label: 'Language',\n switch: 'Switch language',\n },\n },\n toast: {\n errorTitle: 'Error',\n warningTitle: 'Warning',\n defaultErrorDescription: 'Something went wrong.',\n defaultWarningDescription: 'Please check and try again.',\n },\n dataExplorer: {\n viewTree: {\n actions: 'More actions',\n expand: 'Expand',\n collapse: 'Collapse',\n loading: 'Loading...',\n empty: 'No views',\n error: 'Unable to load views',\n },\n },\n workbench: {\n collection: {\n label: 'Collection',\n loading: 'Loading items',\n empty: 'No items',\n loadError: 'Unable to load items',\n refreshError: 'Unable to refresh items',\n retry: 'Retry',\n loadingMore: 'Loading more items',\n },\n interactiveTable: {\n columnActions: 'Column actions',\n freezeColumn: 'Freeze to left',\n freezeEndColumn: 'Freeze to right',\n unfreezeColumn: 'Unfreeze from left',\n unfreezeEndColumn: 'Unfreeze from right',\n unfreezeAllColumns: 'Unfreeze all columns',\n resetColumnWidth: 'Reset column width',\n frozenColumnTitle: 'Frozen column',\n },\n },\n agentWorkbench: {\n label: 'Session activity',\n reasoning: 'Reasoning',\n plan: 'Plan',\n taskNoDetail: 'No additional details',\n modes: { chat: 'Chat', work: 'Work' },\n composer: {\n send: 'Send message',\n stop: 'Stop generating',\n queue: 'Queue message',\n attach: 'Add photos or files',\n voice: 'Start voice input',\n webSearch: 'Web search',\n chatMode: 'Chat mode',\n model: 'Model',\n reasoning: 'Reasoning effort',\n permissions: 'Permissions',\n removeAttachment: 'Remove attachment',\n editQueued: 'Edit queued message',\n deleteQueued: 'Delete queued message',\n moveUp: 'Move message up',\n moveDown: 'Move message down',\n queued: 'Queued messages',\n uploading: 'Uploading',\n noModels: 'No models available',\n message: 'Message',\n attachmentOnly: 'Attachment',\n reasoningOptions: { low: 'Low', medium: 'Medium', high: 'High', xhigh: 'Extra high' },\n permissionOptions: { 'approval-required': 'Approval required', 'auto-approve': 'Auto approve', 'full-access': 'Full access' },\n },\n quickStart: {\n label: 'Quick start',\n back: 'Back',\n addFile: 'Add file',\n },\n tool: {\n input: 'Input',\n output: 'Output',\n status: {\n pending: 'Pending',\n running: 'Running',\n completed: 'Completed',\n failed: 'Error',\n denied: 'Denied',\n },\n },\n approval: {\n approve: 'Approve',\n reject: 'Reject',\n approved: 'Approved',\n rejected: 'Rejected',\n },\n artifact: {\n pending: 'Preparing',\n ready: 'Ready',\n failed: 'Failed',\n open: ({ name }) => `Open ${name}`,\n },\n run: {\n stopping: 'Stopping...',\n stoppedAfter: ({ duration }) => `You stopped after ${duration}`,\n },\n process: {\n running: 'Working',\n processed: 'Processed',\n processedFor: ({ duration }) => `Worked for ${duration}`,\n completedCount: ({ completed, total }) => `${completed}/${total} completed`,\n },\n artifactWorkspace: {\n outputs: 'Outputs',\n sources: 'Sources',\n viewAll: 'View all',\n toggleSummary: 'Toggle files',\n tabs: 'Open files',\n closeTab: ({ name }) => `Close ${name}`,\n closeWorkspace: 'Close workspace',\n download: ({ name }) => `Download ${name}`,\n openExternal: ({ name }) => `Open ${name} in a new window`,\n },\n usage: {\n label: 'Context usage',\n context: ({ used, total }) => `${used} / ${total} tokens`,\n },\n navigation: {\n search: 'Search agents and sessions',\n searchSessions: 'Search sessions',\n searchShortcut: 'Focus search',\n clearSearch: 'Clear search',\n tabsLabel: 'Agent workbench navigation',\n agents: 'Agents',\n sessions: 'Sessions',\n newAgent: 'New Agent',\n newSession: 'New Session',\n capabilities: 'Capabilities & Extensions',\n settings: 'Agent Settings',\n allAgents: 'All Agents',\n recentSessions: 'Recent Sessions',\n chat: 'Chat',\n work: 'Work',\n chats: 'Chats',\n builtIn: 'Built-in',\n noDescription: 'No description',\n loading: 'Loading...',\n emptyAgents: 'No agents yet',\n emptySessions: 'No sessions yet',\n noResults: 'No matching results',\n retry: 'Retry',\n pin: 'Pin',\n unpin: 'Unpin',\n rename: 'Rename',\n delete: 'Delete',\n actions: 'Actions',\n save: 'Save',\n cancel: 'Cancel',\n running: 'Running',\n completed: 'Completed',\n failed: 'Failed',\n contextUsage: ({ percent }) => `${percent}% context used`,\n },\n details: {\n title: 'Task details',\n description: 'Summary and workspace activity',\n duration: 'Duration',\n updated: 'Updated',\n model: 'Model',\n mode: 'Mode',\n permissions: 'Permissions',\n tokenUsage: 'Token usage',\n summary: 'Summary',\n summaryEmpty: 'No summary is available yet.',\n summaryFailed: 'The summary could not be generated.',\n highlights: 'Highlights',\n pendingItems: 'Pending items',\n tabs: {\n label: 'Task detail views',\n summary: 'Summary',\n workspace: 'Workspace',\n },\n status: {\n queued: 'Queued',\n running: 'Running',\n waiting_approval: 'Waiting for approval',\n stopping: 'Stopping',\n stopped: 'Stopped',\n completed: 'Completed',\n failed: 'Failed',\n },\n state: {\n loading: { title: 'Loading task details', description: 'Restoring the latest session activity.' },\n empty: { title: 'No task selected', description: 'Select a task to inspect its details.' },\n error: { title: 'Unable to load task details', description: 'Try again after the session is available.' },\n },\n actions: {\n close: 'Close task details',\n copySummary: 'Copy summary',\n retry: 'Retry',\n retrySummary: 'Retry summary',\n resume: 'Resume',\n continueInNewTask: 'Continue in new task',\n editAndRerun: 'Edit and rerun',\n export: 'Export',\n },\n workspace: {\n diffs: 'Code changes',\n files: 'Files',\n terminals: 'Terminals',\n tests: 'Tests',\n artifacts: 'Artifacts',\n exitCode: ({ code }) => `Exit code ${code}`,\n diffStatus: { added: 'Added', modified: 'Modified', deleted: 'Deleted', renamed: 'Renamed' },\n fileOperation: { upsert: 'Updated', delete: 'Deleted' },\n },\n },\n },\n },\n} satisfies MonkeysLocale;\n","import type { MonkeysLocale } from './types';\n\nexport const zhCN = {\n locale: 'zh-CN',\n messages: {\n pagination: {\n navigation: '分页导航',\n first: '首页',\n previous: '上一页',\n next: '下一页',\n last: '末页',\n page: ({ page, pageCount }) => `第 ${page} 页,共 ${pageCount} 页`,\n currentPage: ({ page, pageCount }) =>\n `第 ${page} 页,共 ${pageCount} 页,当前页`,\n emptyResults: '共 0 条',\n range: ({ start, end, total }) => `第 ${start}-${end} 条,共 ${total} 条`,\n },\n dialog: {\n close: '关闭对话框',\n },\n dropdownMenu: {\n actions: '操作',\n },\n loading: {\n spinner: '正在加载',\n },\n layout: {\n resizePanels: '调整面板大小',\n },\n steps: {\n label: '进度',\n current: '当前步骤',\n completed: '已完成',\n error: '错误',\n disabled: '已禁用',\n },\n numberInput: {\n increment: '增加数值',\n decrement: '减少数值',\n },\n passwordInput: {\n showPassword: '显示密码',\n hidePassword: '隐藏密码',\n },\n multiSelect: {\n placeholder: '请选择',\n empty: '暂无选项',\n removeOption: ({ value }) => `移除 ${value}`,\n },\n table: {\n dragColumn: ({ columnId }) => `拖动列 ${columnId}`,\n resizeColumn: ({ columnId }) => `调整列宽 ${columnId}`,\n sortColumn: ({ columnId }) =>\n columnId ? `排序列 ${columnId}` : '排序列',\n loadingRow: '正在加载表格行',\n },\n toolbar: {\n theme: {\n label: '外观',\n toggle: '切换主题',\n auto: '跟随系统',\n light: '浅色模式',\n dark: '深色模式',\n },\n language: {\n label: '语言',\n switch: '切换语言',\n },\n },\n toast: {\n errorTitle: '错误',\n warningTitle: '提示',\n defaultErrorDescription: '发生错误,请稍后重试。',\n defaultWarningDescription: '请检查后重试。',\n },\n dataExplorer: {\n viewTree: {\n actions: '更多操作',\n expand: '展开',\n collapse: '收起',\n loading: '正在加载...',\n empty: '暂无视图',\n error: '无法加载视图',\n },\n },\n workbench: {\n collection: {\n label: '内容集合',\n loading: '正在加载内容',\n empty: '暂无内容',\n loadError: '无法加载内容',\n refreshError: '无法刷新内容',\n retry: '重试',\n loadingMore: '正在加载更多内容',\n },\n interactiveTable: {\n columnActions: '列操作',\n freezeColumn: '固定到左侧',\n freezeEndColumn: '固定到右侧',\n unfreezeColumn: '取消左侧固定',\n unfreezeEndColumn: '取消右侧固定',\n unfreezeAllColumns: '取消全部固定',\n resetColumnWidth: '重置列宽',\n frozenColumnTitle: '已固定列',\n },\n },\n agentWorkbench: {\n label: '会话活动',\n reasoning: '思考过程',\n plan: '执行计划',\n taskNoDetail: '暂无更多详情',\n modes: { chat: '对话', work: '工作' },\n composer: {\n send: '发送消息',\n stop: '停止生成',\n queue: '排队发送',\n attach: '添加照片或文件',\n voice: '开始语音输入',\n webSearch: '联网搜索',\n chatMode: '对话模式',\n model: '模型',\n reasoning: '思考强度',\n permissions: '权限',\n removeAttachment: '移除附件',\n editQueued: '编辑排队消息',\n deleteQueued: '删除排队消息',\n moveUp: '上移消息',\n moveDown: '下移消息',\n queued: '排队消息',\n uploading: '上传中',\n noModels: '暂无可用模型',\n message: '消息',\n attachmentOnly: '附件',\n reasoningOptions: { low: '低', medium: '中', high: '高', xhigh: '最高' },\n permissionOptions: { 'approval-required': '需要批准', 'auto-approve': '自动批准', 'full-access': '完全访问' },\n },\n quickStart: {\n label: '快速开始',\n back: '返回',\n addFile: '添加文件',\n },\n tool: {\n input: '输入',\n output: '输出',\n status: {\n pending: '等待中',\n running: '运行中',\n completed: '已完成',\n failed: '错误',\n denied: '已拒绝',\n },\n },\n approval: {\n approve: '允许',\n reject: '拒绝',\n approved: '已允许',\n rejected: '已拒绝',\n },\n artifact: {\n pending: '准备中',\n ready: '已就绪',\n failed: '失败',\n open: ({ name }) => `打开 ${name}`,\n },\n run: {\n stopping: '正在停止...',\n stoppedAfter: ({ duration }) => `你在 ${duration} 后停止了任务`,\n },\n process: {\n running: '执行过程',\n processed: '已处理',\n processedFor: ({ duration }) =>\n `耗时 ${duration\n .replace(/(\\d+)h/g, '$1小时')\n .replace(/(\\d+)m/g, '$1分钟')\n .replace(/(\\d+)s/g, '$1秒')\n .replace(/\\s+/g, '')}`,\n completedCount: ({ completed, total }) => `${completed}/${total} 已完成`,\n },\n artifactWorkspace: {\n outputs: '输出',\n sources: '来源',\n viewAll: '查看全部',\n toggleSummary: '切换文件摘要',\n tabs: '已打开文件',\n closeTab: ({ name }) => `关闭 ${name}`,\n closeWorkspace: '关闭工作区',\n download: ({ name }) => `下载 ${name}`,\n openExternal: ({ name }) => `在新窗口打开 ${name}`,\n },\n usage: {\n label: '上下文用量',\n context: ({ used, total }) => `${used} / ${total} tokens`,\n },\n navigation: {\n search: '搜索智能体和会话',\n searchSessions: '搜索会话',\n searchShortcut: '聚焦搜索框',\n clearSearch: '清除搜索',\n tabsLabel: '智能体工作台导航',\n agents: '智能体',\n sessions: '会话',\n newAgent: '新建智能体',\n newSession: '新建会话',\n capabilities: '能力与扩展',\n settings: '智能体设置',\n allAgents: '全部智能体',\n recentSessions: '最近会话',\n chat: '对话',\n work: '工作',\n chats: '聊天',\n builtIn: '内置',\n noDescription: '暂无描述',\n loading: '加载中...',\n emptyAgents: '暂无智能体',\n emptySessions: '暂无会话',\n noResults: '没有匹配结果',\n retry: '重试',\n pin: '置顶',\n unpin: '取消置顶',\n rename: '重命名',\n delete: '删除',\n actions: '操作',\n save: '保存',\n cancel: '取消',\n running: '运行中',\n completed: '已完成',\n failed: '失败',\n contextUsage: ({ percent }) => `已使用 ${percent}% 上下文`,\n },\n details: {\n title: '任务详情',\n description: '摘要与工作区活动',\n duration: '耗时',\n updated: '更新时间',\n model: '模型',\n mode: '模式',\n permissions: '权限',\n tokenUsage: 'Token 用量',\n summary: '摘要',\n summaryEmpty: '暂时没有可用摘要。',\n summaryFailed: '摘要生成失败。',\n highlights: '重点',\n pendingItems: '待处理事项',\n tabs: {\n label: '任务详情视图',\n summary: '摘要',\n workspace: '工作区',\n },\n status: {\n queued: '排队中',\n running: '运行中',\n waiting_approval: '等待审批',\n stopping: '正在停止',\n stopped: '已停止',\n completed: '已完成',\n failed: '失败',\n },\n state: {\n loading: { title: '正在加载任务详情', description: '正在恢复最新的会话活动。' },\n empty: { title: '未选择任务', description: '选择任务后查看详细信息。' },\n error: { title: '无法加载任务详情', description: '会话恢复可用后请重试。' },\n },\n actions: {\n close: '关闭任务详情',\n copySummary: '复制摘要',\n retry: '重试',\n retrySummary: '重新生成摘要',\n resume: '继续运行',\n continueInNewTask: '在新任务中继续',\n editAndRerun: '编辑并重新运行',\n export: '导出',\n },\n workspace: {\n diffs: '代码变更',\n files: '文件',\n terminals: '终端',\n tests: '测试',\n artifacts: '产物',\n exitCode: ({ code }) => `退出码 ${code}`,\n diffStatus: { added: '新增', modified: '修改', deleted: '删除', renamed: '重命名' },\n fileOperation: { upsert: '已更新', delete: '已删除' },\n },\n },\n },\n },\n} satisfies MonkeysLocale;\n","import { enUS } from './en-US';\nimport type {\n MonkeysBuiltInLocaleId,\n MonkeysLocale,\n MonkeysLocaleInput,\n MonkeysLocaleMessages,\n MonkeysLocaleMessagesOverride,\n MonkeysResolvedLocale,\n} from './types';\nimport { zhCN } from './zh-CN';\n\nconst BUILT_IN_LOCALES: Record<MonkeysBuiltInLocaleId, MonkeysLocale> = {\n 'en-US': enUS,\n 'zh-CN': zhCN,\n};\n\nfunction normalizeLocaleId(locale: unknown): string {\n if (typeof locale !== 'string' || !locale.trim()) {\n throw new TypeError('Monkeys locale must be a non-empty BCP 47 string.');\n }\n\n try {\n return Intl.getCanonicalLocales(locale)[0];\n } catch {\n throw new RangeError(\n `Monkeys locale \"${locale}\" is not a valid BCP 47 identifier.`,\n );\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction validateMessageOverride(\n value: unknown,\n schema: unknown,\n path: string,\n) {\n if (!isRecord(value) || !isRecord(schema)) {\n throw new TypeError(`${path} must be an object.`);\n }\n\n for (const [key, candidate] of Object.entries(value)) {\n if (candidate === undefined) continue;\n if (!(key in schema)) {\n throw new TypeError(`${path}.${key} is not a supported Monkeys message.`);\n }\n\n const expected = schema[key];\n const candidatePath = `${path}.${key}`;\n if (typeof expected === 'function') {\n if (typeof candidate !== 'function') {\n throw new TypeError(`${candidatePath} must be a function.`);\n }\n } else if (typeof expected === 'string') {\n if (typeof candidate !== 'string') {\n throw new TypeError(`${candidatePath} must be a string.`);\n }\n } else {\n validateMessageOverride(candidate, expected, candidatePath);\n }\n }\n}\n\nfunction assertMessagesOverride(\n value: unknown,\n path: string,\n): asserts value is MonkeysLocaleMessagesOverride {\n validateMessageOverride(value, enUS.messages, path);\n}\n\nfunction isBuiltInLocale(locale: string): locale is MonkeysBuiltInLocaleId {\n return locale === 'en-US' || locale === 'zh-CN';\n}\n\nfunction normalizeLocaleInput(input: MonkeysLocaleInput | undefined): {\n locale: string | undefined;\n messages: MonkeysLocaleMessagesOverride | undefined;\n hasExplicitLocale: boolean;\n} {\n if (input === undefined) {\n return {\n locale: undefined,\n messages: undefined,\n hasExplicitLocale: false,\n };\n }\n\n if (typeof input === 'string') {\n const locale = normalizeLocaleId(input);\n if (!isBuiltInLocale(locale)) {\n throw new RangeError(\n `Unsupported built-in Monkeys locale \"${locale}\". Provide a locale pack object for custom locales.`,\n );\n }\n return { locale, messages: undefined, hasExplicitLocale: true };\n }\n\n if (!input || typeof input !== 'object' || Array.isArray(input)) {\n throw new TypeError('Monkeys locale must be a locale id or locale pack object.');\n }\n\n const locale = normalizeLocaleId(input.locale);\n assertMessagesOverride(input.messages, 'Monkeys locale messages');\n\n return {\n locale,\n messages: input.messages,\n hasExplicitLocale: true,\n };\n}\n\nexport function mergeMonkeysLocaleMessages(\n base: MonkeysLocaleMessages,\n override?: MonkeysLocaleMessagesOverride,\n): MonkeysLocaleMessages {\n if (!override) return base;\n\n return {\n pagination: { ...base.pagination, ...override.pagination },\n dialog: { ...base.dialog, ...override.dialog },\n dropdownMenu: { ...base.dropdownMenu, ...override.dropdownMenu },\n loading: { ...base.loading, ...override.loading },\n layout: { ...base.layout, ...override.layout },\n steps: { ...base.steps, ...override.steps },\n numberInput: { ...base.numberInput, ...override.numberInput },\n passwordInput: { ...base.passwordInput, ...override.passwordInput },\n multiSelect: { ...base.multiSelect, ...override.multiSelect },\n table: { ...base.table, ...override.table },\n toolbar: {\n theme: { ...base.toolbar.theme, ...override.toolbar?.theme },\n language: { ...base.toolbar.language, ...override.toolbar?.language },\n },\n toast: { ...base.toast, ...override.toast },\n dataExplorer: {\n viewTree: {\n ...base.dataExplorer.viewTree,\n ...override.dataExplorer?.viewTree,\n },\n },\n workbench: {\n collection: {\n ...base.workbench.collection,\n ...override.workbench?.collection,\n },\n interactiveTable: {\n ...base.workbench.interactiveTable,\n ...override.workbench?.interactiveTable,\n },\n },\n agentWorkbench: {\n ...base.agentWorkbench,\n ...override.agentWorkbench,\n modes: {\n ...base.agentWorkbench.modes,\n ...override.agentWorkbench?.modes,\n },\n composer: {\n ...base.agentWorkbench.composer,\n ...override.agentWorkbench?.composer,\n },\n quickStart: {\n ...base.agentWorkbench.quickStart,\n ...override.agentWorkbench?.quickStart,\n },\n tool: {\n ...base.agentWorkbench.tool,\n ...override.agentWorkbench?.tool,\n status: {\n ...base.agentWorkbench.tool.status,\n ...override.agentWorkbench?.tool?.status,\n },\n },\n approval: {\n ...base.agentWorkbench.approval,\n ...override.agentWorkbench?.approval,\n },\n artifact: {\n ...base.agentWorkbench.artifact,\n ...override.agentWorkbench?.artifact,\n },\n run: {\n ...base.agentWorkbench.run,\n ...override.agentWorkbench?.run,\n },\n process: {\n ...base.agentWorkbench.process,\n ...override.agentWorkbench?.process,\n },\n artifactWorkspace: {\n ...base.agentWorkbench.artifactWorkspace,\n ...override.agentWorkbench?.artifactWorkspace,\n },\n usage: {\n ...base.agentWorkbench.usage,\n ...override.agentWorkbench?.usage,\n },\n navigation: {\n ...base.agentWorkbench.navigation,\n ...override.agentWorkbench?.navigation,\n },\n details: {\n ...base.agentWorkbench.details,\n ...override.agentWorkbench?.details,\n tabs: {\n ...base.agentWorkbench.details.tabs,\n ...override.agentWorkbench?.details?.tabs,\n },\n status: {\n ...base.agentWorkbench.details.status,\n ...override.agentWorkbench?.details?.status,\n },\n state: {\n loading: {\n ...base.agentWorkbench.details.state.loading,\n ...override.agentWorkbench?.details?.state?.loading,\n },\n empty: {\n ...base.agentWorkbench.details.state.empty,\n ...override.agentWorkbench?.details?.state?.empty,\n },\n error: {\n ...base.agentWorkbench.details.state.error,\n ...override.agentWorkbench?.details?.state?.error,\n },\n },\n actions: {\n ...base.agentWorkbench.details.actions,\n ...override.agentWorkbench?.details?.actions,\n },\n workspace: {\n ...base.agentWorkbench.details.workspace,\n ...override.agentWorkbench?.details?.workspace,\n diffStatus: {\n ...base.agentWorkbench.details.workspace.diffStatus,\n ...override.agentWorkbench?.details?.workspace?.diffStatus,\n },\n fileOperation: {\n ...base.agentWorkbench.details.workspace.fileOperation,\n ...override.agentWorkbench?.details?.workspace?.fileOperation,\n },\n },\n },\n },\n };\n}\n\nexport const defaultMonkeysLocale: MonkeysResolvedLocale = {\n locale: enUS.locale,\n messages: mergeMonkeysLocaleMessages(\n enUS.messages as MonkeysLocaleMessages,\n ),\n};\n\nexport function resolveMonkeysLocale(\n input?: MonkeysLocaleInput,\n override?: MonkeysLocaleMessagesOverride,\n parent?: MonkeysResolvedLocale,\n): MonkeysResolvedLocale {\n if (override !== undefined) {\n assertMessagesOverride(override, 'MonkeysProvider messages');\n }\n const normalized = normalizeLocaleInput(input);\n const locale = normalized.locale ?? parent?.locale ?? enUS.locale;\n const builtInMessages = isBuiltInLocale(locale)\n ? BUILT_IN_LOCALES[locale].messages\n : undefined;\n let messages = mergeMonkeysLocaleMessages(\n enUS.messages as MonkeysLocaleMessages,\n builtInMessages,\n );\n\n if (parent && (!normalized.hasExplicitLocale || parent.locale === locale)) {\n messages = mergeMonkeysLocaleMessages(messages, parent.messages);\n }\n\n messages = mergeMonkeysLocaleMessages(messages, normalized.messages);\n messages = mergeMonkeysLocaleMessages(messages, override);\n\n return { locale, messages };\n}\n","import type {\n ResolvedThemeToken,\n ThemeColorValue,\n ThemeDimensionValue,\n ThemeDurationValue,\n ThemeTokenExtensions,\n ThemeTokens,\n} from '@inf-monkeys-tech/monkeys/contracts';\nimport { resolveThemeTokens } from '@inf-monkeys-tech/monkeys/runtime';\n\nexport type MonkeysThemeColorMode = 'light' | 'dark' | (string & {});\nexport type MonkeysThemeDensity = 'compact' | 'default' | 'comfortable';\n\nexport interface CompileThemeTokensOptions {\n colorMode?: MonkeysThemeColorMode;\n density?: MonkeysThemeDensity;\n variablePrefix?: string;\n}\n\nexport interface CompiledThemeTokens {\n contract: ThemeTokens;\n colorMode: MonkeysThemeColorMode;\n density: MonkeysThemeDensity;\n values: Readonly<Record<string, unknown>>;\n cssValues: Readonly<Record<string, string>>;\n cssVariables: Readonly<Record<string, string>>;\n cssText: string;\n}\n\nexport interface ApplyThemeTokensOptions extends CompileThemeTokensOptions {\n target?: HTMLElement | null;\n themeId?: string;\n}\n\ntype CssExtension = {\n gradient?: {\n kind?: 'linear' | 'radial';\n angle?: number;\n };\n};\n\nconst CSS_EXTENSION_KEY = 'com.infmonkeys.css';\nconst APPLIED_VARIABLES = new WeakMap<object, Set<string>>();\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction readCssExtension(extensions?: ThemeTokenExtensions): CssExtension | undefined {\n const extension = extensions?.[CSS_EXTENSION_KEY];\n return isRecord(extension) ? extension as CssExtension : undefined;\n}\n\nfunction formatNumber(value: number): string {\n return Number.isInteger(value) ? String(value) : String(Number(value.toFixed(6)));\n}\n\nfunction formatDimension(value: ThemeDimensionValue): string {\n return `${formatNumber(value.value)}${value.unit}`;\n}\n\nfunction formatDuration(value: ThemeDurationValue): string {\n return `${formatNumber(value.value)}${value.unit}`;\n}\n\nfunction formatColorComponent(value: number | 'none'): string {\n return value === 'none' ? value : formatNumber(value);\n}\n\nfunction hexToSrgb(hex: string): [number, number, number] {\n return [\n Number.parseInt(hex.slice(1, 3), 16) / 255,\n Number.parseInt(hex.slice(3, 5), 16) / 255,\n Number.parseInt(hex.slice(5, 7), 16) / 255,\n ];\n}\n\nfunction colorSrgbComponents(value: ThemeColorValue): [number, number, number] {\n if (value.colorSpace === 'srgb' && value.components.every((component) => typeof component === 'number')) {\n return value.components as [number, number, number];\n }\n if (value.hex) return hexToSrgb(value.hex);\n throw new TypeError(\n `Web semantic colors in ${value.colorSpace} require a six-digit hex fallback for hsl(var(--token)) consumers.`,\n );\n}\n\nfunction srgbToHsl([red, green, blue]: [number, number, number]): [number, number, number] {\n const maximum = Math.max(red, green, blue);\n const minimum = Math.min(red, green, blue);\n const lightness = (maximum + minimum) / 2;\n if (maximum === minimum) return [0, 0, lightness * 100];\n const delta = maximum - minimum;\n const saturation = lightness > 0.5\n ? delta / (2 - maximum - minimum)\n : delta / (maximum + minimum);\n let hue: number;\n if (maximum === red) hue = (green - blue) / delta + (green < blue ? 6 : 0);\n else if (maximum === green) hue = (blue - red) / delta + 2;\n else hue = (red - green) / delta + 4;\n return [(hue / 6) * 360, saturation * 100, lightness * 100];\n}\n\nfunction formatHslTriplet(value: ThemeColorValue): string {\n if (value.colorSpace === 'hsl' && value.components.every((component) => typeof component === 'number')) {\n const [hue, saturation, lightness] = value.components as [number, number, number];\n return `${formatNumber(hue)} ${formatNumber(saturation)}% ${formatNumber(lightness)}%`;\n }\n const [hue, saturation, lightness] = srgbToHsl(colorSrgbComponents(value));\n return `${formatNumber(hue)} ${formatNumber(saturation)}% ${formatNumber(lightness)}%`;\n}\n\nfunction formatColor(value: ThemeColorValue): string {\n const alpha = value.alpha ?? 1;\n if (value.hex && alpha === 1) return value.hex;\n const components = value.components.map(formatColorComponent).join(' ');\n const alphaSuffix = alpha === 1 ? '' : ` / ${formatNumber(alpha)}`;\n switch (value.colorSpace) {\n case 'srgb': {\n const rgb = value.components.map((component) => component === 'none' ? 'none' : formatNumber(component * 255));\n return `rgb(${rgb.join(' ')}${alphaSuffix})`;\n }\n case 'hsl':\n return `hsl(${formatColorComponent(value.components[0])} ${formatColorComponent(value.components[1])}% ${formatColorComponent(value.components[2])}%${alphaSuffix})`;\n case 'hwb':\n return `hwb(${formatColorComponent(value.components[0])} ${formatColorComponent(value.components[1])}% ${formatColorComponent(value.components[2])}%${alphaSuffix})`;\n case 'lab':\n case 'lch':\n case 'oklab':\n case 'oklch':\n return `${value.colorSpace}(${components}${alphaSuffix})`;\n default:\n return `color(${value.colorSpace} ${components}${alphaSuffix})`;\n }\n}\n\nfunction formatFontFamily(value: string | string[]): string {\n const families = Array.isArray(value) ? value : [value];\n const genericFamilies = new Set([\n 'serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui',\n 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong',\n ]);\n return families.map((family) => {\n if (genericFamilies.has(family) || /^[a-zA-Z][\\w-]*$/.test(family)) return family;\n return `\"${family.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"')}\"`;\n }).join(', ');\n}\n\nfunction formatShadow(value: unknown): string {\n const shadows = Array.isArray(value) ? value : [value];\n return shadows.map((shadow) => {\n if (!isRecord(shadow)) throw new TypeError('DTCG shadow values must be objects.');\n return [\n formatDimension(shadow.offsetX as ThemeDimensionValue),\n formatDimension(shadow.offsetY as ThemeDimensionValue),\n formatDimension(shadow.blur as ThemeDimensionValue),\n formatDimension(shadow.spread as ThemeDimensionValue),\n formatColor(shadow.color as ThemeColorValue),\n shadow.inset === true ? 'inset' : '',\n ].filter(Boolean).join(' ');\n }).join(', ');\n}\n\nfunction formatGradient(value: unknown, extensions?: ThemeTokenExtensions): string {\n if (!Array.isArray(value)) throw new TypeError('DTCG gradient values must be arrays.');\n const stops = value.map((stop) => {\n if (!isRecord(stop)) throw new TypeError('DTCG gradient stops must be objects.');\n return `${formatColor(stop.color as ThemeColorValue)} ${formatNumber(Number(stop.position) * 100)}%`;\n }).join(', ');\n const gradient = readCssExtension(extensions)?.gradient;\n if (gradient?.kind === 'radial') return `radial-gradient(${stops})`;\n return `linear-gradient(${formatNumber(gradient?.angle ?? 90)}deg, ${stops})`;\n}\n\nfunction formatTokenValue(token: ResolvedThemeToken): string {\n switch (token.type) {\n case 'color':\n return formatColor(token.value as ThemeColorValue);\n case 'dimension':\n return formatDimension(token.value as ThemeDimensionValue);\n case 'fontFamily':\n return formatFontFamily(token.value as string | string[]);\n case 'fontWeight':\n case 'number':\n return String(token.value);\n case 'duration':\n return formatDuration(token.value as ThemeDurationValue);\n case 'cubicBezier':\n return `cubic-bezier(${(token.value as number[]).map(formatNumber).join(', ')})`;\n case 'strokeStyle': {\n if (typeof token.value === 'string') return token.value;\n const value = token.value as { dashArray: ThemeDimensionValue[] };\n return value.dashArray.map(formatDimension).join(' ');\n }\n case 'border': {\n const value = token.value as { color: ThemeColorValue; width: ThemeDimensionValue; style: unknown };\n const styleToken: ResolvedThemeToken = { ...token, type: 'strokeStyle', value: value.style };\n return `${formatDimension(value.width)} ${formatTokenValue(styleToken)} ${formatColor(value.color)}`;\n }\n case 'transition': {\n const value = token.value as { duration: ThemeDurationValue; delay: ThemeDurationValue; timingFunction: number[] };\n return `${formatDuration(value.duration)} cubic-bezier(${value.timingFunction.map(formatNumber).join(', ')}) ${formatDuration(value.delay)}`;\n }\n case 'shadow':\n return formatShadow(token.value);\n case 'gradient':\n return formatGradient(token.value, token.extensions);\n case 'typography': {\n const value = token.value as {\n fontFamily: string | string[];\n fontSize: ThemeDimensionValue;\n fontWeight: string | number;\n lineHeight: number;\n };\n return `${value.fontWeight} ${formatDimension(value.fontSize)}/${formatNumber(value.lineHeight)} ${formatFontFamily(value.fontFamily)}`;\n }\n }\n}\n\nfunction toCssVariableName(path: string, prefix: string): string {\n const normalized = path\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[^a-zA-Z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n .toLowerCase();\n return `--${prefix}-${normalized}`;\n}\n\nfunction assertCssVariablePrefix(prefix: string): void {\n if (!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(prefix)) {\n throw new TypeError(\n 'Theme token variablePrefix must start with a letter and contain only letters, numbers, or hyphens.',\n );\n }\n}\n\nfunction selectModePath(\n paths: ReadonlySet<string>,\n basePath: string,\n colorMode: MonkeysThemeColorMode,\n): string | undefined {\n const contextualPath = `${basePath}.${colorMode}`;\n if (paths.has(contextualPath)) return contextualPath;\n return paths.has(basePath) ? basePath : undefined;\n}\n\nconst HSL_SEMANTIC_ALIASES: Readonly<Record<string, string>> = {\n 'semantic.color.background': '--background',\n 'semantic.color.foreground': '--foreground',\n 'semantic.color.card': '--card',\n 'semantic.color.card-foreground': '--card-foreground',\n 'semantic.color.popover': '--popover',\n 'semantic.color.popover-foreground': '--popover-foreground',\n 'semantic.color.primary': '--primary',\n 'semantic.color.primary-foreground': '--primary-foreground',\n 'semantic.color.secondary': '--secondary',\n 'semantic.color.secondary-foreground': '--secondary-foreground',\n 'semantic.color.muted': '--muted',\n 'semantic.color.muted-foreground': '--muted-foreground',\n 'semantic.color.accent': '--accent',\n 'semantic.color.accent-foreground': '--accent-foreground',\n 'semantic.color.destructive': '--destructive',\n 'semantic.color.destructive-foreground': '--destructive-foreground',\n 'semantic.color.success': '--success',\n 'semantic.color.success-foreground': '--success-foreground',\n 'semantic.color.warning': '--warning',\n 'semantic.color.warning-foreground': '--warning-foreground',\n 'semantic.color.border': '--border',\n 'semantic.color.input': '--input',\n 'semantic.color.ring': '--ring',\n 'semantic.color.radar-canvas': '--radar-canvas',\n 'semantic.color.radar-panel': '--radar-panel',\n 'semantic.color.radar-border': '--radar-border',\n 'semantic.color.radar-shell-border': '--radar-shell-border',\n 'semantic.color.radar-grid': '--radar-grid',\n 'semantic.color.radar-axis': '--radar-axis',\n 'semantic.color.radar-series-one': '--radar-series-one',\n 'semantic.color.radar-series-two': '--radar-series-two',\n 'semantic.color.radar-series-three': '--radar-series-three',\n 'semantic.color.radar-series-four': '--radar-series-four',\n};\n\nexport function getThemeTokenCssValue(\n compiled: CompiledThemeTokens,\n basePath: string,\n): string | undefined {\n const path = selectModePath(new Set(Object.keys(compiled.cssValues)), basePath, compiled.colorMode);\n return path ? compiled.cssValues[path] : undefined;\n}\n\nexport function compileThemeTokens(\n input: ThemeTokens,\n options: CompileThemeTokensOptions = {},\n): CompiledThemeTokens {\n const resolved = resolveThemeTokens(input);\n const contract = resolved.document;\n const colorMode = options.colorMode ?? 'light';\n const density = options.density ?? 'default';\n const variablePrefix = options.variablePrefix ?? 'monkeys';\n assertCssVariablePrefix(variablePrefix);\n const values: Record<string, unknown> = {};\n const cssValues: Record<string, string> = {};\n const cssVariables: Record<string, string> = {};\n const canonicalVariableSources = new Map<string, string>();\n\n for (const [path, token] of resolved.tokens) {\n values[path] = token.value;\n const cssValue = formatTokenValue(token);\n cssValues[path] = cssValue;\n const variableName = toCssVariableName(path, variablePrefix);\n const existingPath = canonicalVariableSources.get(variableName);\n if (existingPath) {\n throw new TypeError(\n `Theme token paths ${existingPath} and ${path} both compile to ${variableName}. Rename one token.`,\n );\n }\n canonicalVariableSources.set(variableName, path);\n cssVariables[variableName] = cssValue;\n }\n\n const paths = new Set(resolved.tokens.keys());\n for (const [basePath, variableName] of Object.entries(HSL_SEMANTIC_ALIASES)) {\n const path = selectModePath(paths, basePath, colorMode);\n if (!path) continue;\n const token = resolved.tokens.get(path);\n if (!token || token.type !== 'color') {\n throw new TypeError(`${path} must be a color token to drive ${variableName}.`);\n }\n cssVariables[variableName] = formatHslTriplet(token.value as ThemeColorValue);\n }\n\n const directAliases: Array<[\n string,\n string,\n MonkeysThemeColorMode | MonkeysThemeDensity,\n ResolvedThemeToken['type'],\n ]> = [\n ['semantic.color.neocard', '--neocard', colorMode, 'color'],\n ['semantic.radius.base', '--radius', colorMode, 'dimension'],\n ['semantic.spacing.global', '--global-spacing', density, 'dimension'],\n ['semantic.gradient.brand', '--monkeys-gradient', colorMode, 'gradient'],\n ['semantic.font.body', '--font-sans', colorMode, 'fontFamily'],\n ];\n for (const [basePath, variableName, axis, expectedType] of directAliases) {\n const path = selectModePath(paths, basePath, axis);\n if (!path) continue;\n const token = resolved.tokens.get(path);\n if (!token || token.type !== expectedType) {\n throw new TypeError(`${path} must be a ${expectedType} token to drive ${variableName}.`);\n }\n cssVariables[variableName] = cssValues[path];\n }\n\n const cssText = Object.entries(cssVariables)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([name, value]) => `${name}:${value};`)\n .join('');\n\n return {\n contract,\n colorMode,\n density,\n values: Object.freeze(values),\n cssValues: Object.freeze(cssValues),\n cssVariables: Object.freeze(cssVariables),\n cssText,\n };\n}\n\nexport function applyThemeTokens(\n input: ThemeTokens,\n options: ApplyThemeTokensOptions = {},\n): CompiledThemeTokens {\n const compiled = compileThemeTokens(input, options);\n const target = options.target ?? (typeof document === 'undefined' ? null : document.documentElement);\n if (!target) return compiled;\n\n const previouslyApplied = APPLIED_VARIABLES.get(target) ?? new Set<string>();\n const nextVariables = new Set(Object.keys(compiled.cssVariables));\n for (const name of previouslyApplied) {\n if (!nextVariables.has(name)) target.style.removeProperty(name);\n }\n for (const [name, value] of Object.entries(compiled.cssVariables)) {\n target.style.setProperty(name, value);\n }\n APPLIED_VARIABLES.set(target, nextVariables);\n\n if (options.themeId) target.dataset.monkeysTheme = options.themeId;\n else delete target.dataset.monkeysTheme;\n target.dataset.monkeysColorMode = compiled.colorMode;\n target.dataset.monkeysDensity = compiled.density;\n return compiled;\n}\n","import {\n createContext,\n useContext,\n useMemo,\n type Context,\n} from 'react';\n\nimport type { BaseAppearance } from '../components/base/types';\nimport type { DataExplorerAppearance } from '../components/data-explorer/types';\nimport {\n defaultMonkeysLocale,\n type MonkeysLocaleMessages,\n type MonkeysResolvedLocale,\n} from '../locale';\nimport type { CompiledThemeTokens } from '../theme-system';\n\nexport type MonkeysDirection = 'ltr' | 'rtl';\n\nexport interface MonkeysEnvironment {\n getDocument?: () => Document | null;\n getWindow?: () => Window | null;\n}\n\nexport type MonkeysPortalContainer =\n | Element\n | null\n | (() => Element | null);\n\nexport interface MonkeysPortalOptions {\n container?: MonkeysPortalContainer;\n disabled?: boolean;\n}\n\nexport interface MonkeysComponentAttributes {\n dir?: MonkeysDirection;\n 'data-monkeys-direction'?: MonkeysDirection;\n 'data-monkeys-locale'?: string;\n 'data-monkeys-theme'?: string;\n 'data-monkeys-theme-mode'?: string;\n}\n\ninterface MonkeysLocaleContextValue extends MonkeysResolvedLocale {\n provided: boolean;\n}\n\ninterface MonkeysThemeContextValue {\n provided: boolean;\n resolvedTheme?: CompiledThemeTokens;\n themeId?: string;\n baseAppearance?: BaseAppearance;\n dataExplorerAppearance?: DataExplorerAppearance;\n}\n\ninterface MonkeysDirectionContextValue {\n provided: boolean;\n direction?: MonkeysDirection;\n}\n\ninterface MonkeysEnvironmentContextValue {\n provided: boolean;\n environment: MonkeysEnvironment;\n portal: MonkeysPortalOptions;\n}\n\nconst EMPTY_ENVIRONMENT = Object.freeze({}) satisfies MonkeysEnvironment;\nconst EMPTY_PORTAL = Object.freeze({}) satisfies MonkeysPortalOptions;\n\ninterface MonkeysProviderContexts {\n locale: Context<MonkeysLocaleContextValue>;\n theme: Context<MonkeysThemeContextValue>;\n direction: Context<MonkeysDirectionContextValue>;\n environment: Context<MonkeysEnvironmentContextValue>;\n}\n\n// Every bundled public entry contains this module. Keep only the Context\n// identities in a realm-wide registry so root, provider, and component\n// subpaths interoperate in both CJS and ESM builds. Provider values remain in\n// React trees, so SSR requests are isolated. Bump the contract key only when\n// these Context value shapes become intentionally incompatible.\nconst MONKEYS_PROVIDER_CONTEXTS_KEY = Symbol.for(\n '@inf-monkeys-tech/monkeys-design/provider-context@1',\n);\n\ntype MonkeysProviderContextHost = typeof globalThis & {\n [MONKEYS_PROVIDER_CONTEXTS_KEY]?: MonkeysProviderContexts;\n};\n\nfunction createMonkeysProviderContexts(): MonkeysProviderContexts {\n return Object.freeze({\n locale: createContext<MonkeysLocaleContextValue>({\n ...defaultMonkeysLocale,\n provided: false,\n }),\n theme: createContext<MonkeysThemeContextValue>({\n provided: false,\n }),\n direction: createContext<MonkeysDirectionContextValue>({\n provided: false,\n }),\n environment: createContext<MonkeysEnvironmentContextValue>({\n provided: false,\n environment: EMPTY_ENVIRONMENT,\n portal: EMPTY_PORTAL,\n }),\n });\n}\n\nfunction getMonkeysProviderContexts(): MonkeysProviderContexts {\n const host = globalThis as MonkeysProviderContextHost;\n const existing = host[MONKEYS_PROVIDER_CONTEXTS_KEY];\n if (existing) return existing;\n\n const contexts = createMonkeysProviderContexts();\n Object.defineProperty(host, MONKEYS_PROVIDER_CONTEXTS_KEY, {\n value: contexts,\n enumerable: false,\n configurable: false,\n writable: false,\n });\n return contexts;\n}\n\nconst providerContexts = getMonkeysProviderContexts();\n\nexport const MonkeysLocaleContext = providerContexts.locale;\n\nexport const MonkeysThemeContext = providerContexts.theme;\n\nexport const MonkeysDirectionContext = providerContexts.direction;\n\nexport const MonkeysEnvironmentContext = providerContexts.environment;\n\nfunction mergeAppearance<T extends { slots?: object; styles?: object }>(\n inherited: T | undefined,\n explicit: T | undefined,\n): T | undefined {\n if (explicit === undefined) return inherited;\n if (inherited === undefined) return explicit;\n\n return {\n ...inherited,\n ...explicit,\n slots:\n inherited.slots || explicit.slots\n ? { ...inherited.slots, ...explicit.slots }\n : undefined,\n styles:\n inherited.styles || explicit.styles\n ? { ...inherited.styles, ...explicit.styles }\n : undefined,\n };\n}\n\nexport function useMonkeysLocale() {\n return useContext(MonkeysLocaleContext);\n}\n\nexport function useMonkeysLocaleMessages(): MonkeysLocaleMessages {\n return useContext(MonkeysLocaleContext).messages;\n}\n\nexport function useMonkeysResolvedTheme() {\n return useContext(MonkeysThemeContext).resolvedTheme;\n}\n\nexport function useMonkeysBaseAppearance(\n explicit?: BaseAppearance,\n): BaseAppearance | undefined {\n const inherited = useContext(MonkeysThemeContext).baseAppearance;\n return useMemo(\n () => mergeAppearance(inherited, explicit),\n [explicit, inherited],\n );\n}\n\nexport function useMonkeysDataExplorerAppearance(\n explicit?: DataExplorerAppearance,\n): DataExplorerAppearance | undefined {\n const inherited = useContext(MonkeysThemeContext).dataExplorerAppearance;\n return useMemo(\n () => mergeAppearance(inherited, explicit),\n [explicit, inherited],\n );\n}\n\nexport function useMonkeysDirection() {\n return useContext(MonkeysDirectionContext).direction;\n}\n\nexport function useMonkeysEnvironment() {\n return useContext(MonkeysEnvironmentContext).environment;\n}\n\nexport function useMonkeysPortalOptions() {\n return useContext(MonkeysEnvironmentContext).portal;\n}\n\nexport function useMonkeysComponentAttributes(): MonkeysComponentAttributes {\n const locale = useContext(MonkeysLocaleContext);\n const theme = useContext(MonkeysThemeContext);\n const direction = useContext(MonkeysDirectionContext);\n const providerActive = locale.provided || theme.provided || direction.provided;\n\n return useMemo(\n () =>\n providerActive\n ? {\n dir: direction.direction,\n 'data-monkeys-direction': direction.direction,\n 'data-monkeys-locale': locale.locale,\n 'data-monkeys-theme': theme.themeId,\n 'data-monkeys-theme-mode': theme.resolvedTheme?.colorMode,\n }\n : {},\n [\n direction.direction,\n locale.locale,\n providerActive,\n theme.resolvedTheme?.colorMode,\n theme.themeId,\n ],\n );\n}\n","import { useContext, useMemo, type ReactNode } from 'react';\n\nimport type { BaseAppearance } from '../components/base/types';\nimport type { DataExplorerAppearance } from '../components/data-explorer/types';\nimport {\n resolveMonkeysLocale,\n type MonkeysLocaleInput,\n type MonkeysLocaleMessagesOverride,\n} from '../locale';\nimport {\n compileThemeTokens,\n type CompiledThemeTokens,\n type MonkeysThemeColorMode,\n type MonkeysThemeDensity,\n type ThemeTokens,\n} from '../theme-system';\nimport {\n MonkeysDirectionContext,\n MonkeysEnvironmentContext,\n MonkeysLocaleContext,\n MonkeysThemeContext,\n type MonkeysDirection,\n type MonkeysEnvironment,\n type MonkeysPortalOptions,\n} from './context';\n\nexport interface MonkeysProviderAppearance {\n base?: BaseAppearance;\n dataExplorer?: DataExplorerAppearance;\n}\n\nexport interface MonkeysProviderProps {\n children?: ReactNode;\n locale?: MonkeysLocaleInput;\n messages?: MonkeysLocaleMessagesOverride;\n direction?: MonkeysDirection;\n theme?: ThemeTokens;\n themeId?: string;\n colorMode?: MonkeysThemeColorMode;\n density?: MonkeysThemeDensity;\n appearance?: MonkeysProviderAppearance;\n environment?: MonkeysEnvironment;\n portal?: MonkeysPortalOptions;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction validateDirection(direction: MonkeysDirection | undefined) {\n if (direction !== undefined && direction !== 'ltr' && direction !== 'rtl') {\n throw new TypeError('MonkeysProvider direction must be \"ltr\" or \"rtl\".');\n }\n}\n\nfunction validateEnvironment(environment: MonkeysEnvironment | undefined) {\n if (environment === undefined) return;\n if (!isRecord(environment)) {\n throw new TypeError('MonkeysProvider environment must be an object.');\n }\n if (\n environment.getDocument !== undefined &&\n typeof environment.getDocument !== 'function'\n ) {\n throw new TypeError(\n 'MonkeysProvider environment.getDocument must be a function.',\n );\n }\n if (\n environment.getWindow !== undefined &&\n typeof environment.getWindow !== 'function'\n ) {\n throw new TypeError(\n 'MonkeysProvider environment.getWindow must be a function.',\n );\n }\n}\n\nfunction validatePortal(portal: MonkeysPortalOptions | undefined) {\n if (portal === undefined) return;\n if (!isRecord(portal)) {\n throw new TypeError('MonkeysProvider portal must be an object.');\n }\n if (portal.disabled !== undefined && typeof portal.disabled !== 'boolean') {\n throw new TypeError('MonkeysProvider portal.disabled must be a boolean.');\n }\n if (portal.container == null) return;\n if (\n typeof portal.container !== 'function' &&\n typeof portal.container !== 'object'\n ) {\n throw new TypeError(\n 'MonkeysProvider portal.container must be an Element, null, or a function.',\n );\n }\n}\n\nfunction resolveProviderTheme(\n theme: ThemeTokens | undefined,\n colorMode: MonkeysThemeColorMode | undefined,\n density: MonkeysThemeDensity | undefined,\n inherited: CompiledThemeTokens | undefined,\n) {\n if (!theme) return inherited;\n return compileThemeTokens(theme, { colorMode, density });\n}\n\nexport function MonkeysProvider({\n children,\n locale,\n messages,\n direction,\n theme,\n themeId,\n colorMode,\n density,\n appearance,\n environment,\n portal,\n}: MonkeysProviderProps) {\n const parentLocale = useContext(MonkeysLocaleContext);\n const parentTheme = useContext(MonkeysThemeContext);\n const parentDirection = useContext(MonkeysDirectionContext);\n const parentEnvironment = useContext(MonkeysEnvironmentContext);\n\n validateDirection(direction);\n validateEnvironment(environment);\n validatePortal(portal);\n\n const resolvedLocale = useMemo(\n () => resolveMonkeysLocale(locale, messages, parentLocale),\n [locale, messages, parentLocale],\n );\n const localeValue = useMemo(\n () => ({ ...resolvedLocale, provided: true }),\n [resolvedLocale],\n );\n const resolvedTheme = useMemo(\n () =>\n resolveProviderTheme(\n theme,\n colorMode,\n density,\n parentTheme.resolvedTheme,\n ),\n [colorMode, density, parentTheme.resolvedTheme, theme],\n );\n const themeValue = useMemo(\n () => ({\n provided: true,\n resolvedTheme,\n themeId: themeId ?? parentTheme.themeId,\n baseAppearance: {\n ...parentTheme.baseAppearance,\n ...appearance?.base,\n ...(density ? { density } : undefined),\n slots: {\n ...parentTheme.baseAppearance?.slots,\n ...appearance?.base?.slots,\n },\n styles: {\n ...parentTheme.baseAppearance?.styles,\n ...appearance?.base?.styles,\n },\n },\n dataExplorerAppearance: {\n ...parentTheme.dataExplorerAppearance,\n ...appearance?.dataExplorer,\n ...(density ? { density } : undefined),\n slots: {\n ...parentTheme.dataExplorerAppearance?.slots,\n ...appearance?.dataExplorer?.slots,\n },\n styles: {\n ...parentTheme.dataExplorerAppearance?.styles,\n ...appearance?.dataExplorer?.styles,\n },\n },\n }),\n [\n appearance?.base,\n appearance?.dataExplorer,\n density,\n parentTheme.baseAppearance,\n parentTheme.dataExplorerAppearance,\n parentTheme.themeId,\n resolvedTheme,\n themeId,\n ],\n );\n const directionValue = useMemo(\n () => ({\n provided: true,\n direction: direction ?? parentDirection.direction ?? 'ltr',\n }),\n [direction, parentDirection.direction],\n );\n const environmentValue = useMemo(\n () => ({\n provided: true,\n environment: {\n ...parentEnvironment.environment,\n ...environment,\n },\n portal: {\n ...parentEnvironment.portal,\n ...portal,\n },\n }),\n [\n environment,\n parentEnvironment.environment,\n parentEnvironment.portal,\n portal,\n ],\n );\n\n return (\n <MonkeysLocaleContext.Provider value={localeValue}>\n <MonkeysThemeContext.Provider value={themeValue}>\n <MonkeysDirectionContext.Provider value={directionValue}>\n <MonkeysEnvironmentContext.Provider value={environmentValue}>\n {children}\n </MonkeysEnvironmentContext.Provider>\n </MonkeysDirectionContext.Provider>\n </MonkeysThemeContext.Provider>\n </MonkeysLocaleContext.Provider>\n );\n}\n"]}
|
package/dist/provider/index.mjs
CHANGED
|
@@ -87,6 +87,15 @@ var enUS = {
|
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
89
|
workbench: {
|
|
90
|
+
collection: {
|
|
91
|
+
label: "Collection",
|
|
92
|
+
loading: "Loading items",
|
|
93
|
+
empty: "No items",
|
|
94
|
+
loadError: "Unable to load items",
|
|
95
|
+
refreshError: "Unable to refresh items",
|
|
96
|
+
retry: "Retry",
|
|
97
|
+
loadingMore: "Loading more items"
|
|
98
|
+
},
|
|
90
99
|
interactiveTable: {
|
|
91
100
|
columnActions: "Column actions",
|
|
92
101
|
freezeColumn: "Freeze to left",
|
|
@@ -358,6 +367,15 @@ var zhCN = {
|
|
|
358
367
|
}
|
|
359
368
|
},
|
|
360
369
|
workbench: {
|
|
370
|
+
collection: {
|
|
371
|
+
label: "\u5185\u5BB9\u96C6\u5408",
|
|
372
|
+
loading: "\u6B63\u5728\u52A0\u8F7D\u5185\u5BB9",
|
|
373
|
+
empty: "\u6682\u65E0\u5185\u5BB9",
|
|
374
|
+
loadError: "\u65E0\u6CD5\u52A0\u8F7D\u5185\u5BB9",
|
|
375
|
+
refreshError: "\u65E0\u6CD5\u5237\u65B0\u5185\u5BB9",
|
|
376
|
+
retry: "\u91CD\u8BD5",
|
|
377
|
+
loadingMore: "\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u5185\u5BB9"
|
|
378
|
+
},
|
|
361
379
|
interactiveTable: {
|
|
362
380
|
columnActions: "\u5217\u64CD\u4F5C",
|
|
363
381
|
freezeColumn: "\u56FA\u5B9A\u5230\u5DE6\u4FA7",
|
|
@@ -649,6 +667,10 @@ function mergeMonkeysLocaleMessages(base, override) {
|
|
|
649
667
|
}
|
|
650
668
|
},
|
|
651
669
|
workbench: {
|
|
670
|
+
collection: {
|
|
671
|
+
...base.workbench.collection,
|
|
672
|
+
...override.workbench?.collection
|
|
673
|
+
},
|
|
652
674
|
interactiveTable: {
|
|
653
675
|
...base.workbench.interactiveTable,
|
|
654
676
|
...override.workbench?.interactiveTable
|