@pstdio/ui 0.0.3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EquationComponent-DeDYHvqY.js +62 -0
- package/dist/EquationComponent-DeDYHvqY.js.map +1 -0
- package/dist/chat-ui.js +1366 -0
- package/dist/chat-ui.js.map +1 -0
- package/dist/components/button.stories.d.ts +18 -0
- package/dist/components/chat-ui/components/ai-conversation.d.ts +1161 -0
- package/dist/components/chat-ui/index.d.ts +13 -0
- package/{storybook-static → dist}/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
- package/dist/components/chat-ui/utils/get-icon.d.ts +34 -0
- package/{storybook-static → dist}/components/column-file-browser.d.ts +1 -2
- package/dist/components/column-file-browser.stories.d.ts +15 -0
- package/dist/components/data-table/build-columns.d.ts +3 -0
- package/dist/components/data-table/data-table.d.ts +2 -0
- package/{storybook-static/components → dist/components/data-table}/data-table.stories.d.ts +1 -1
- package/dist/components/data-table/helpers.d.ts +10 -0
- package/dist/components/data-table/index.d.ts +3 -0
- package/dist/components/data-table/pagination-footer.d.ts +5 -0
- package/dist/components/data-table/selection-toolbar.d.ts +9 -0
- package/{storybook-static/components/data-table.d.ts → dist/components/data-table/types.d.ts} +6 -4
- package/dist/components/documentation/docs-changelog.d.ts +20 -0
- package/dist/components/documentation/docs-changelog.stories.d.ts +15 -0
- package/dist/components/documentation/docs-outline.d.ts +13 -0
- package/dist/components/documentation/docs-outline.stories.d.ts +16 -0
- package/dist/components/documentation/docs-pagination.d.ts +10 -0
- package/dist/components/documentation/docs-pagination.stories.d.ts +14 -0
- package/dist/components/documentation/docs-sidebar.d.ts +14 -0
- package/dist/components/documentation/docs-sidebar.stories.d.ts +7 -0
- package/{storybook-static → dist}/components/file-selector.d.ts +1 -2
- package/dist/components/file-selector.stories.d.ts +17 -0
- package/dist/components/folder-picker-dialog.d.ts +25 -0
- package/{storybook-static/components/style-guide.stories.d.ts → dist/components/folder-picker-dialog.stories.d.ts} +2 -5
- package/{storybook-static → dist}/components/info-card.d.ts +1 -2
- package/dist/components/info-card.stories.d.ts +41 -0
- package/{storybook-static → dist}/components/menu-item.d.ts +1 -1
- package/dist/components/menu-item.stories.d.ts +72 -0
- package/dist/components/number-input.d.ts +8 -0
- package/{storybook-static → dist}/components/panel-menu.d.ts +2 -0
- package/{storybook-static → dist}/components/panel-menu.stories.d.ts +1 -0
- package/{storybook-static → dist}/components/param-editor.stories.d.ts +1 -0
- package/{storybook-static → dist}/components/rich-text/collaborative-markdown-editor/collaborative-markdown-editor.d.ts +1 -0
- package/{storybook-static → dist}/components/rich-text/markdown-editor/markdown-editor.d.ts +1 -0
- package/{storybook-static → dist}/components/rich-text/markdown-editor/markdown-editor.stories.d.ts +1 -0
- package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -0
- package/dist/components/session-indicator.d.ts +14 -0
- package/dist/components/session-indicator.stories.d.ts +11 -0
- package/dist/components/slider.stories.d.ts +15 -0
- package/dist/components/style-guide.stories.d.ts +28 -0
- package/dist/components/switch.d.ts +15 -0
- package/dist/components/switch.stories.d.ts +16 -0
- package/dist/components/tickets/ticket-board.d.ts +33 -0
- package/dist/components/tickets/ticket-board.stories.d.ts +5 -0
- package/dist/components/tickets/ticket-card.d.ts +25 -0
- package/dist/components/tickets/ticket-card.stories.d.ts +17 -0
- package/dist/components/tickets/ticket-list.d.ts +23 -0
- package/dist/components/tickets/ticket-list.stories.d.ts +10 -0
- package/dist/components/toaster.d.ts +3 -0
- package/dist/empty-state-Bu1ocnPz.js +70 -0
- package/dist/empty-state-Bu1ocnPz.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.js +1278 -0
- package/dist/index.js.map +1 -0
- package/dist/rich-message-CNDoACE7.js +1402 -0
- package/dist/rich-message-CNDoACE7.js.map +1 -0
- package/dist/rich-text.js +490 -0
- package/dist/rich-text.js.map +1 -0
- package/dist/style.css +1 -0
- package/{storybook-static → dist}/theme/primitives/colors.d.ts +12 -22
- package/dist/theme/recipes/menu.d.ts +1 -0
- package/{storybook-static → dist}/theme/tokens/borders.d.ts +6 -6
- package/{storybook-static → dist}/theme/tokens/colors.d.ts +180 -0
- package/dist/theme-C7CIuIPZ.js +2067 -0
- package/dist/theme-C7CIuIPZ.js.map +1 -0
- package/{src/theme/index.ts → dist/theme.js} +5 -2
- package/dist/theme.js.map +1 -0
- package/dist/tooltip-Gm7PLwZG.js +51 -0
- package/dist/tooltip-Gm7PLwZG.js.map +1 -0
- package/{storybook-static/theme/applyThemePreference.d.ts → dist/utils/apply-theme-preference.d.ts} +1 -1
- package/{storybook-static/theme → dist/utils}/theme-preference.d.ts +3 -3
- package/package.json +9 -8
- package/.storybook/main.ts +0 -28
- package/.storybook/preview.tsx +0 -28
- package/.storybook/vitest.setup.ts +0 -6
- package/src/components/alert.tsx +0 -27
- package/src/components/breadcrumb.stories.tsx +0 -40
- package/src/components/breadcrumb.tsx +0 -67
- package/src/components/button.stories.tsx +0 -151
- package/src/components/chat-ui/agent-types.ts +0 -231
- package/src/components/chat-ui/components/ai-conversation.stories.tsx +0 -49
- package/src/components/chat-ui/components/ai-conversation.tsx +0 -68
- package/src/components/chat-ui/components/ai-message.stories.tsx +0 -60
- package/src/components/chat-ui/components/ai-message.tsx +0 -103
- package/src/components/chat-ui/components/ai-response.stories.tsx +0 -48
- package/src/components/chat-ui/components/ai-response.tsx +0 -19
- package/src/components/chat-ui/components/approval-prompt.tsx +0 -51
- package/src/components/chat-ui/components/attachment-list.stories.tsx +0 -24
- package/src/components/chat-ui/components/attachment-list.tsx +0 -76
- package/src/components/chat-ui/components/auto-scroll.tsx +0 -42
- package/src/components/chat-ui/components/chat-input.stories.tsx +0 -114
- package/src/components/chat-ui/components/chat-input.tsx +0 -142
- package/src/components/chat-ui/components/chat-panel.stories.tsx +0 -396
- package/src/components/chat-ui/components/chat-panel.tsx +0 -97
- package/src/components/chat-ui/components/message-parts-renderer.stories.tsx +0 -59
- package/src/components/chat-ui/components/message-parts-renderer.tsx +0 -133
- package/src/components/chat-ui/components/message-types.ts +0 -40
- package/src/components/chat-ui/components/model-swap-separator.stories.tsx +0 -27
- package/src/components/chat-ui/components/model-swap-separator.tsx +0 -20
- package/src/components/chat-ui/components/send-button.tsx +0 -56
- package/src/components/chat-ui/components/timeline.tsx +0 -414
- package/src/components/chat-ui/components/tool-invocation-timeline.stories.tsx +0 -32
- package/src/components/chat-ui/components/tool-invocation-timeline.tsx +0 -16
- package/src/components/chat-ui/index.ts +0 -15
- package/src/components/chat-ui/mocks/full-conversation-normalized.json +0 -3557
- package/src/components/chat-ui/tool-rendering/build-timeline.ts +0 -127
- package/src/components/chat-ui/tool-rendering/default-renderers.ts +0 -420
- package/src/components/chat-ui/tool-rendering/index.ts +0 -3
- package/src/components/chat-ui/tool-rendering/types.ts +0 -19
- package/src/components/chat-ui/utils/diff.ts +0 -228
- package/src/components/chat-ui/utils/editor-state.ts +0 -5
- package/src/components/chat-ui/utils/get-icon.ts +0 -81
- package/src/components/code-editor.tsx +0 -147
- package/src/components/column-file-browser.stories.tsx +0 -217
- package/src/components/column-file-browser.tsx +0 -380
- package/src/components/content-placeholder.tsx +0 -21
- package/src/components/data-table/build-columns.tsx +0 -78
- package/src/components/data-table/data-table.css +0 -51
- package/src/components/data-table/data-table.stories.tsx +0 -209
- package/src/components/data-table/data-table.tsx +0 -232
- package/src/components/data-table/helpers.tsx +0 -69
- package/src/components/data-table/index.ts +0 -3
- package/src/components/data-table/pagination-footer.tsx +0 -58
- package/src/components/data-table/selection-toolbar.tsx +0 -26
- package/src/components/data-table/types.ts +0 -21
- package/src/components/delete-confirmation-modal.stories.tsx +0 -46
- package/src/components/delete-confirmation-modal.tsx +0 -56
- package/src/components/diff-bubble.stories.tsx +0 -70
- package/src/components/diff-bubble.tsx +0 -70
- package/src/components/diff-card.tsx +0 -139
- package/src/components/diff-drawer.stories.tsx +0 -106
- package/src/components/diff-drawer.tsx +0 -59
- package/src/components/diff-editor.tsx +0 -55
- package/src/components/drawer-inline.stories.tsx +0 -124
- package/src/components/drawer-inline.tsx +0 -90
- package/src/components/empty-state.stories.tsx +0 -65
- package/src/components/empty-state.tsx +0 -28
- package/src/components/error-boundary.tsx +0 -80
- package/src/components/file-selector.stories.tsx +0 -166
- package/src/components/file-selector.tsx +0 -192
- package/src/components/file-tree-helpers.ts +0 -28
- package/src/components/horizontal-menu-stack.tsx +0 -15
- package/src/components/info-card.stories.tsx +0 -120
- package/src/components/info-card.tsx +0 -60
- package/src/components/item-section.stories.tsx +0 -57
- package/src/components/item-section.tsx +0 -57
- package/src/components/layout.stories.tsx +0 -341
- package/src/components/layout.tsx +0 -67
- package/src/components/menu-item.stories.tsx +0 -162
- package/src/components/menu-item.tsx +0 -207
- package/src/components/number-input.tsx +0 -21
- package/src/components/open-source-notices-screen.stories.tsx +0 -69
- package/src/components/open-source-notices-screen.tsx +0 -154
- package/src/components/panel-menu.stories.tsx +0 -44
- package/src/components/panel-menu.tsx +0 -27
- package/src/components/param-editor-color-input.tsx +0 -98
- package/src/components/param-editor-date-input.tsx +0 -106
- package/src/components/param-editor-horizontal-text-input.tsx +0 -130
- package/src/components/param-editor-horizontal.stories.tsx +0 -545
- package/src/components/param-editor-horizontal.tsx +0 -137
- package/src/components/param-editor-input-group.tsx +0 -145
- package/src/components/param-editor-number-input.tsx +0 -145
- package/src/components/param-editor-selection-input.tsx +0 -181
- package/src/components/param-editor-text-input.tsx +0 -113
- package/src/components/param-editor.stories.tsx +0 -986
- package/src/components/param-editor.tsx +0 -142
- package/src/components/param-editor.types.ts +0 -95
- package/src/components/properties.stories.tsx +0 -108
- package/src/components/properties.tsx +0 -73
- package/src/components/pstdio-logo.tsx +0 -26
- package/src/components/resource-badge.stories.tsx +0 -26
- package/src/components/resource-badge.tsx +0 -173
- package/src/components/rich-text/collaborative-markdown-editor/awareness-cursors.tsx +0 -45
- package/src/components/rich-text/collaborative-markdown-editor/collaborative-markdown-editor.stories.tsx +0 -230
- package/src/components/rich-text/collaborative-markdown-editor/collaborative-markdown-editor.tsx +0 -131
- package/src/components/rich-text/index.ts +0 -14
- package/src/components/rich-text/markdown-editor/markdown-editor.stories.tsx +0 -147
- package/src/components/rich-text/markdown-editor/markdown-editor.tsx +0 -112
- package/src/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkNode.tsx +0 -100
- package/src/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.ts +0 -32
- package/src/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/index.ts +0 -2
- package/src/components/rich-text/prompt-input/commands.ts +0 -44
- package/src/components/rich-text/prompt-input/events.ts +0 -21
- package/src/components/rich-text/prompt-input/plugins/CommentPlugin/CommentPlugin.tsx +0 -8
- package/src/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentCommands.ts +0 -49
- package/src/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentSchema.ts +0 -30
- package/src/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.tsx +0 -127
- package/src/components/rich-text/prompt-input/plugins/ImperativeAPIPlugin.tsx +0 -32
- package/src/components/rich-text/prompt-input/plugins/KeyboardShortcutPlugin.tsx +0 -30
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuOption.ts +0 -15
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.tsx +0 -88
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenu.tsx +0 -90
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenuItem.tsx +0 -50
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/constants.ts +0 -3
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.tsx +0 -50
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/checkForTriggers.ts +0 -45
- package/src/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/getSortedMenuOptions.ts +0 -20
- package/src/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.tsx +0 -50
- package/src/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.tsx +0 -107
- package/src/components/rich-text/prompt-input/plugins/keyboard-shortcuts.ts +0 -13
- package/src/components/rich-text/prompt-input/prompt-input.stories.tsx +0 -87
- package/src/components/rich-text/prompt-input/prompt-input.tsx +0 -106
- package/src/components/rich-text/prompt-input/theme/prompt-input-theme.css +0 -3
- package/src/components/rich-text/prompt-input/theme/prompt-input-theme.ts +0 -11
- package/src/components/rich-text/prompt-input/utils.ts +0 -158
- package/src/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkNode.tsx +0 -100
- package/src/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.ts +0 -32
- package/src/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/index.ts +0 -2
- package/src/components/rich-text/rich-message/rich-message.stories.tsx +0 -146
- package/src/components/rich-text/rich-message/rich-message.tsx +0 -118
- package/src/components/rich-text/shared/components/content-editable.tsx +0 -28
- package/src/components/rich-text/shared/components/default-rich-text-components.tsx +0 -99
- package/src/components/rich-text/shared/editor-config.ts +0 -38
- package/src/components/rich-text/shared/nodes/DataTableNode.stories.tsx +0 -52
- package/src/components/rich-text/shared/nodes/DataTableNode.tsx +0 -73
- package/src/components/rich-text/shared/plugins/CodePlugin/CodeBlockPlugin.tsx +0 -22
- package/src/components/rich-text/shared/plugins/CodePlugin/CodeNode.tsx +0 -57
- package/src/components/rich-text/shared/plugins/EquationPlugin/EquationComponent.tsx +0 -46
- package/src/components/rich-text/shared/plugins/EquationPlugin/EquationNode.tsx +0 -161
- package/src/components/rich-text/shared/plugins/EquationPlugin/EquationPlugin.css +0 -16
- package/src/components/rich-text/shared/plugins/EquationPlugin/EquationPlugin.tsx +0 -45
- package/src/components/rich-text/shared/plugins/EquationPlugin/KatexRenderer.tsx +0 -40
- package/src/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatToolbarPlugin.css +0 -26
- package/src/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatToolbarPlugin.tsx +0 -414
- package/src/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/index.ts +0 -1
- package/src/components/rich-text/shared/plugins/HorizontalRulePlugin/HorizontalRuleNode.ts +0 -52
- package/src/components/rich-text/shared/plugins/HorizontalRulePlugin/horizontalRule.ts +0 -16
- package/src/components/rich-text/shared/plugins/LinkEditorPlugin/LinkEditorPlugin.css +0 -163
- package/src/components/rich-text/shared/plugins/LinkEditorPlugin/LinkEditorPlugin.tsx +0 -355
- package/src/components/rich-text/shared/plugins/LinkEditorPlugin/LinkPlugin.tsx +0 -6
- package/src/components/rich-text/shared/plugins/LinkEditorPlugin/utils/getSelectedNode.ts +0 -17
- package/src/components/rich-text/shared/plugins/LinkEditorPlugin/utils/setFloatingElemPos.ts +0 -39
- package/src/components/rich-text/shared/plugins/LinkEditorPlugin/utils/url.ts +0 -23
- package/src/components/rich-text/shared/plugins/StateUpdatePlugin.tsx +0 -21
- package/src/components/rich-text/shared/plugins/TableActionMenuPlugin/TableActionMenuPlugin.tsx +0 -224
- package/src/components/rich-text/shared/plugins/TableCellResizerPlugin/TableCellResizerPlugin.css +0 -3
- package/src/components/rich-text/shared/plugins/TableCellResizerPlugin/TableCellResizerPlugin.tsx +0 -315
- package/src/components/rich-text/shared/plugins/ToggleEditablePlugin.tsx +0 -12
- package/src/components/rich-text/shared/plugins/TreeViewPlugin/TreeViewPlugin.tsx +0 -20
- package/src/components/rich-text/shared/transformers/markdown-transformers.ts +0 -123
- package/src/components/rich-text/shared/types/rich-text-components.ts +0 -17
- package/src/components/rich-text/theme/report-theme.tsx +0 -81
- package/src/components/rich-text/theme/rich-text-theme.css +0 -773
- package/src/components/rich-text/theme/rich-text-theme.tsx +0 -81
- package/src/components/rich-text/types.ts +0 -9
- package/src/components/rich-text/utils/inferResourceType.ts +0 -17
- package/src/components/rich-text/utils/markdown.ts +0 -12
- package/src/components/rich-text/utils/mediaType.ts +0 -31
- package/src/components/session-indicator.stories.tsx +0 -46
- package/src/components/session-indicator.tsx +0 -40
- package/src/components/slider.stories.tsx +0 -38
- package/src/components/slider.tsx +0 -20
- package/src/components/style-guide-data.ts +0 -374
- package/src/components/style-guide.stories.tsx +0 -212
- package/src/components/style-guide.tsx +0 -305
- package/src/components/ticket-board.stories.tsx +0 -109
- package/src/components/ticket-board.tsx +0 -167
- package/src/components/ticket-card.stories.tsx +0 -133
- package/src/components/ticket-card.tsx +0 -126
- package/src/components/toaster.stories.tsx +0 -79
- package/src/components/toaster.tsx +0 -26
- package/src/components/tooltip.tsx +0 -43
- package/src/index.ts +0 -16
- package/src/theme/global.ts +0 -49
- package/src/theme/primitives/colors.ts +0 -209
- package/src/theme/primitives/fonts.ts +0 -33
- package/src/theme/primitives/sizes.ts +0 -49
- package/src/theme/recipes/alert.ts +0 -12
- package/src/theme/recipes/button.ts +0 -124
- package/src/theme/recipes/dialog.ts +0 -11
- package/src/theme/recipes/divider.ts +0 -7
- package/src/theme/recipes/drawer.ts +0 -16
- package/src/theme/recipes/editable.ts +0 -42
- package/src/theme/recipes/form.ts +0 -11
- package/src/theme/recipes/input.ts +0 -25
- package/src/theme/recipes/menu.ts +0 -40
- package/src/theme/recipes/popover.ts +0 -46
- package/src/theme/recipes/progress-circle.ts +0 -22
- package/src/theme/recipes/skeleton.ts +0 -8
- package/src/theme/recipes/textarea.ts +0 -29
- package/src/theme/recipes/tooltip.ts +0 -15
- package/src/theme/theme.ts +0 -70
- package/src/theme/tokens/borders.ts +0 -38
- package/src/theme/tokens/colors.ts +0 -488
- package/src/theme/tokens/layer-styles.ts +0 -15
- package/src/theme/tokens/shadows.ts +0 -47
- package/src/theme/tokens/text.ts +0 -236
- package/src/utils/apply-theme-preference.ts +0 -17
- package/src/utils/formats.ts +0 -27
- package/src/utils/get-file-type-icon.ts +0 -52
- package/src/utils/theme-preference.tsx +0 -60
- package/src/vite-env.d.ts +0 -6
- package/storybook-static/assets/CodeBlockPlugin-C3OWpvP8.js +0 -281
- package/storybook-static/assets/CodeBlockPlugin-e2vWgtYm.css +0 -1
- package/storybook-static/assets/DataTableNode.stories-DLgTftOI.js +0 -33
- package/storybook-static/assets/EquationComponent-CUFxwyNf.js +0 -1
- package/storybook-static/assets/EquationComponent-DWZwfaVI.css +0 -1
- package/storybook-static/assets/FloatingTextFormatToolbarPlugin-B6jc8xvg.js +0 -1
- package/storybook-static/assets/FloatingTextFormatToolbarPlugin-D2l3--Te.css +0 -1
- package/storybook-static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/storybook-static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/storybook-static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/storybook-static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/storybook-static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/storybook-static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/storybook-static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/storybook-static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/storybook-static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/storybook-static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/storybook-static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/storybook-static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/storybook-static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/storybook-static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/storybook-static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/storybook-static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/storybook-static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/storybook-static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/storybook-static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/storybook-static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/storybook-static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/storybook-static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/storybook-static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/storybook-static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/storybook-static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/storybook-static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/storybook-static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/storybook-static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/storybook-static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/storybook-static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/storybook-static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/storybook-static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/storybook-static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/storybook-static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/storybook-static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/storybook-static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/storybook-static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/storybook-static/assets/LexicalHistoryPlugin.prod-BQAibkDj.js +0 -1
- package/storybook-static/assets/TreeViewPlugin-CyVKCrKJ.js +0 -24
- package/storybook-static/assets/ai-conversation-DcjS--ee.js +0 -1
- package/storybook-static/assets/ai-conversation.stories-COjWuS8V.js +0 -3
- package/storybook-static/assets/ai-message-DLdAGhWH.js +0 -1
- package/storybook-static/assets/ai-message.stories-CRTyreKL.js +0 -3
- package/storybook-static/assets/ai-response-ySM6s0iN.js +0 -1
- package/storybook-static/assets/ai-response.stories-DVBYlrGf.js +0 -11
- package/storybook-static/assets/attachment-list-1p1601I5.js +0 -1
- package/storybook-static/assets/attachment-list.stories-Cydlsnio.js +0 -7
- package/storybook-static/assets/badge-CtgJasjB.js +0 -1
- package/storybook-static/assets/breadcrumb.stories-SAjB-iqH.js +0 -5
- package/storybook-static/assets/button-C7it2n8t.js +0 -1
- package/storybook-static/assets/button.stories-BMVbbb4y.js +0 -72
- package/storybook-static/assets/chat-input-B-915nCM.js +0 -1
- package/storybook-static/assets/chat-input.stories-DrxvpT9p.js +0 -32
- package/storybook-static/assets/chat-panel.stories-D0L6eIte.js +0 -96
- package/storybook-static/assets/chevron-down-BYCAGyCV.js +0 -1
- package/storybook-static/assets/chevron-right-owK1wZnx.js +0 -1
- package/storybook-static/assets/collaborative-markdown-editor-Bj0GvTvv.js +0 -41
- package/storybook-static/assets/collaborative-markdown-editor.stories-B_MUIC5s.js +0 -11
- package/storybook-static/assets/collapsible-DBDG7h1r.js +0 -1
- package/storybook-static/assets/collapsible-content-B1Uq3jUM.js +0 -1
- package/storybook-static/assets/column-file-browser.stories-DPMQnHCw.js +0 -54
- package/storybook-static/assets/compiler-runtime-BXE7OOXE.js +0 -1
- package/storybook-static/assets/computed-style-C0hzrq9-.js +0 -1
- package/storybook-static/assets/create-recipe-context-BU56IzEo.js +0 -1
- package/storybook-static/assets/create-slot-recipe-context-DAhDE6G_.js +0 -1
- package/storybook-static/assets/create-split-props-u5h9OPvL.js +0 -1
- package/storybook-static/assets/createLucideIcon-CcBBUKX8.js +0 -1
- package/storybook-static/assets/data-table-vuIeWXui.css +0 -1
- package/storybook-static/assets/data-table.stories-Cs-q7dpj.js +0 -19
- package/storybook-static/assets/delete-confirmation-modal.stories-C8vDKFRD.js +0 -14
- package/storybook-static/assets/diff-bubble-_zZypMRt.js +0 -1
- package/storybook-static/assets/diff-bubble.stories-DfonanIk.js +0 -39
- package/storybook-static/assets/diff-drawer.stories-CGDWiKD8.js +0 -38
- package/storybook-static/assets/diff-editor-DV9BXqbn.js +0 -11
- package/storybook-static/assets/dismissable-layer-Cc5dFRd8.js +0 -1
- package/storybook-static/assets/drawer-inline.stories-B3Tp7vjL.js +0 -88
- package/storybook-static/assets/empty-state-BXkyq69k.js +0 -1
- package/storybook-static/assets/empty-state.stories-6eYYBOWR.js +0 -29
- package/storybook-static/assets/factory-BR3bc_RM.js +0 -1
- package/storybook-static/assets/factory-DAJZwK4o.js +0 -1
- package/storybook-static/assets/file-selector.stories-PKIGBUd5.js +0 -31
- package/storybook-static/assets/file-text-D5m8MJlG.js +0 -1
- package/storybook-static/assets/flex-DAJL4AFZ.js +0 -1
- package/storybook-static/assets/folder-C5dba_Co.js +0 -1
- package/storybook-static/assets/form-D_Xln9tK.js +0 -1
- package/storybook-static/assets/full-conversation-normalized-LUbl1coD.js +0 -1
- package/storybook-static/assets/grid-7OIKBlfh.js +0 -1
- package/storybook-static/assets/h-stack-DWHd8f97.js +0 -1
- package/storybook-static/assets/horizontal-menu-stack-Cph6x7ui.js +0 -1
- package/storybook-static/assets/icon-C8FN9JqD.js +0 -1
- package/storybook-static/assets/icon-button-DHiUe7rR.js +0 -1
- package/storybook-static/assets/icons-WRA1cA-W.js +0 -1
- package/storybook-static/assets/iframe-2XPD_vrQ.css +0 -1
- package/storybook-static/assets/iframe-B8FSoBNY.js +0 -1075
- package/storybook-static/assets/index-B0y2_lLF.js +0 -1
- package/storybook-static/assets/index-CXwl6T4k.js +0 -1
- package/storybook-static/assets/index-DaXC_qY_.js +0 -1
- package/storybook-static/assets/index-DpB4ozcR.js +0 -1
- package/storybook-static/assets/index-cFwdnc0b.js +0 -1
- package/storybook-static/assets/info-DlgY5-DW.js +0 -1
- package/storybook-static/assets/info-card.stories-Cry0Qfrn.js +0 -55
- package/storybook-static/assets/input-ZSs5cSFQ.js +0 -1
- package/storybook-static/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/storybook-static/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/storybook-static/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
- package/storybook-static/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
- package/storybook-static/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/storybook-static/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/storybook-static/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
- package/storybook-static/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
- package/storybook-static/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/storybook-static/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/storybook-static/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
- package/storybook-static/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
- package/storybook-static/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/storybook-static/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/storybook-static/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
- package/storybook-static/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
- package/storybook-static/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/storybook-static/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/storybook-static/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- package/storybook-static/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/storybook-static/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/storybook-static/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/storybook-static/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
- package/storybook-static/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
- package/storybook-static/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/storybook-static/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/storybook-static/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
- package/storybook-static/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
- package/storybook-static/assets/item-section-AoQrVPNJ.js +0 -1
- package/storybook-static/assets/item-section.stories-kYTPHRsx.js +0 -24
- package/storybook-static/assets/layout.stories-DhSjwzU1.js +0 -3
- package/storybook-static/assets/link-DE5grRtm.js +0 -1
- package/storybook-static/assets/markdown-BLUemkxK.js +0 -1
- package/storybook-static/assets/markdown-editor-Y4eMsgVb.js +0 -1
- package/storybook-static/assets/markdown-editor.stories-DIWw-hRP.js +0 -115
- package/storybook-static/assets/menu-item-CrqDaj9K.js +0 -1
- package/storybook-static/assets/menu-item.stories-D9Isjjrf.js +0 -68
- package/storybook-static/assets/message-parts-renderer.stories-CewRvbm7.js +0 -5
- package/storybook-static/assets/message-types-CEyA7Qm7.js +0 -60
- package/storybook-static/assets/model-swap-separator.stories-DrQW2NWQ.js +0 -9
- package/storybook-static/assets/mutation-observer-CAfGweIM.js +0 -1
- package/storybook-static/assets/normalize-props-D7NI5JRu.js +0 -1
- package/storybook-static/assets/number-C92MPsRM.js +0 -1
- package/storybook-static/assets/number-input-D1aC-9ls.js +0 -7
- package/storybook-static/assets/onest-cyrillic-400-normal-BxvCLB5P.woff +0 -0
- package/storybook-static/assets/onest-cyrillic-400-normal-DH8vlB-A.woff2 +0 -0
- package/storybook-static/assets/onest-cyrillic-500-normal-CyY1vN0Q.woff +0 -0
- package/storybook-static/assets/onest-cyrillic-500-normal-DHyr8B2c.woff2 +0 -0
- package/storybook-static/assets/onest-cyrillic-700-normal-CwpXuTGk.woff2 +0 -0
- package/storybook-static/assets/onest-cyrillic-700-normal-DOtXtm0s.woff +0 -0
- package/storybook-static/assets/onest-latin-400-normal-BAzPRZHg.woff +0 -0
- package/storybook-static/assets/onest-latin-400-normal-bladozIj.woff2 +0 -0
- package/storybook-static/assets/onest-latin-500-normal-oFTiz6Nq.woff +0 -0
- package/storybook-static/assets/onest-latin-500-normal-qHiQtL66.woff2 +0 -0
- package/storybook-static/assets/onest-latin-700-normal-Bd6qVL4Q.woff2 +0 -0
- package/storybook-static/assets/onest-latin-700-normal-XTvQgpoh.woff +0 -0
- package/storybook-static/assets/onest-latin-ext-400-normal--mQR5RlC.woff2 +0 -0
- package/storybook-static/assets/onest-latin-ext-400-normal-BbXTNVXw.woff +0 -0
- package/storybook-static/assets/onest-latin-ext-500-normal-BlXa29q8.woff2 +0 -0
- package/storybook-static/assets/onest-latin-ext-500-normal-CoujUMv_.woff +0 -0
- package/storybook-static/assets/onest-latin-ext-700-normal-C-Tcltod.woff2 +0 -0
- package/storybook-static/assets/onest-latin-ext-700-normal-CSGWRWNE.woff +0 -0
- package/storybook-static/assets/open-source-notices-screen.stories-BpdJxDZC.js +0 -21
- package/storybook-static/assets/overflow-CkG1DOya.js +0 -1
- package/storybook-static/assets/panel-menu-CqLSrdTB.js +0 -1
- package/storybook-static/assets/panel-menu.stories-CxdWaWjq.js +0 -14
- package/storybook-static/assets/param-editor-horizontal.stories-C1o-VOjG.js +0 -561
- package/storybook-static/assets/param-editor-selection-input-2pJE1_W1.js +0 -1
- package/storybook-static/assets/param-editor.stories-0ae3y4Vu.js +0 -921
- package/storybook-static/assets/playfair-display-cyrillic-400-normal-CjW2EstV.woff2 +0 -0
- package/storybook-static/assets/playfair-display-cyrillic-400-normal-ZiRag6zj.woff +0 -0
- package/storybook-static/assets/playfair-display-cyrillic-600-normal-DbWAkkgN.woff +0 -0
- package/storybook-static/assets/playfair-display-cyrillic-600-normal-oLY6jnZ7.woff2 +0 -0
- package/storybook-static/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff +0 -0
- package/storybook-static/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2 +0 -0
- package/storybook-static/assets/playfair-display-latin-400-normal-CFtfchNt.woff2 +0 -0
- package/storybook-static/assets/playfair-display-latin-400-normal-DHYHbkg3.woff +0 -0
- package/storybook-static/assets/playfair-display-latin-600-normal-CZLGqjJe.woff2 +0 -0
- package/storybook-static/assets/playfair-display-latin-600-normal-CxxueQ0Z.woff +0 -0
- package/storybook-static/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff +0 -0
- package/storybook-static/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2 +0 -0
- package/storybook-static/assets/playfair-display-latin-ext-400-normal-BxlSGspa.woff2 +0 -0
- package/storybook-static/assets/playfair-display-latin-ext-400-normal-qdZwdvNS.woff +0 -0
- package/storybook-static/assets/playfair-display-latin-ext-600-normal-BumBfC1v.woff +0 -0
- package/storybook-static/assets/playfair-display-latin-ext-600-normal-CEjQclLc.woff2 +0 -0
- package/storybook-static/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2 +0 -0
- package/storybook-static/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.woff +0 -0
- package/storybook-static/assets/playfair-display-vietnamese-400-normal-BV2APVTb.woff2 +0 -0
- package/storybook-static/assets/playfair-display-vietnamese-400-normal-BbvUAu4N.woff +0 -0
- package/storybook-static/assets/playfair-display-vietnamese-600-normal-BPJkAZPN.woff +0 -0
- package/storybook-static/assets/playfair-display-vietnamese-600-normal-ICsRR-qJ.woff2 +0 -0
- package/storybook-static/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2 +0 -0
- package/storybook-static/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff +0 -0
- package/storybook-static/assets/portal-CZHfPTRw.js +0 -1
- package/storybook-static/assets/preload-helper-PPVm8Dsz.js +0 -1
- package/storybook-static/assets/prompt-input-BLCttowi.js +0 -14
- package/storybook-static/assets/prompt-input-BVbz9joI.css +0 -1
- package/storybook-static/assets/prompt-input.stories-J8-AMVXy.js +0 -9
- package/storybook-static/assets/properties.stories-Bs7ivKgb.js +0 -59
- package/storybook-static/assets/react-18-KY0R7ltw.js +0 -9
- package/storybook-static/assets/render-strategy-BebqUNCa.js +0 -1
- package/storybook-static/assets/resource-badge-Bw5UoU4J.js +0 -1
- package/storybook-static/assets/resource-badge.stories-DtSh-RX9.js +0 -9
- package/storybook-static/assets/rich-message-BIkzo1SM.js +0 -1
- package/storybook-static/assets/rich-message.stories-C9Wc4d3O.js +0 -115
- package/storybook-static/assets/rich-text-theme-Bkhh9rAZ.js +0 -14
- package/storybook-static/assets/rich-text-theme-K2MBoCbx.css +0 -1
- package/storybook-static/assets/separator-CQkMOHNm.js +0 -1
- package/storybook-static/assets/settings-DUgg22A7.js +0 -1
- package/storybook-static/assets/simple-grid-DIKjhnVI.js +0 -1
- package/storybook-static/assets/spinner-ZYH_gvW-.js +0 -1
- package/storybook-static/assets/stack-CN4X31TA.js +0 -1
- package/storybook-static/assets/star-CvcHIXRa.js +0 -1
- package/storybook-static/assets/style-guide.stories-BUvEhZov.js +0 -6
- package/storybook-static/assets/tabbable-DHAf8oAu.js +0 -1
- package/storybook-static/assets/table-BKNSzs2r.js +0 -1
- package/storybook-static/assets/textarea-rqmaWSc5.js +0 -1
- package/storybook-static/assets/toaster-d9nN0H7K.js +0 -1
- package/storybook-static/assets/toaster.stories-BRVCYyaM.js +0 -52
- package/storybook-static/assets/tool-invocation-timeline-B-cS0W6M.js +0 -59
- package/storybook-static/assets/tool-invocation-timeline.stories-DXO59O73.js +0 -5
- package/storybook-static/assets/tooltip-C_a-XGZ8.js +0 -1
- package/storybook-static/assets/tooltip-DZxUoouw.js +0 -1
- package/storybook-static/assets/trash-2-BO05slEk.js +0 -1
- package/storybook-static/assets/typeahead-CuY9WxfQ.js +0 -1
- package/storybook-static/assets/use-field-context-DoxKQlMm.js +0 -1
- package/storybook-static/assets/use-presence-context-DK2PGZth.js +0 -1
- package/storybook-static/assets/v-stack-Btoq6OB_.js +0 -1
- package/storybook-static/assets/x-D42ziktz.js +0 -1
- package/storybook-static/components/chat-ui/mocks/full-conversation-normalized.json.d.ts +0 -3560
- package/storybook-static/components/rich-text/utils/inferResourceType.d.ts +0 -1
- package/storybook-static/favicon-wrapper.svg +0 -46
- package/storybook-static/favicon.svg +0 -1
- package/storybook-static/iframe.html +0 -705
- package/storybook-static/index.d.ts +0 -14
- package/storybook-static/index.html +0 -150
- package/storybook-static/index.json +0 -1
- package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/project.json +0 -1
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -628
- package/storybook-static/sb-addons/themes-1/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/vitest-2/manager-bundle.js +0 -3
- package/storybook-static/sb-common-assets/favicon-wrapper.svg +0 -46
- package/storybook-static/sb-common-assets/favicon.svg +0 -1
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/globals-runtime.js +0 -77956
- package/storybook-static/sb-manager/globals.js +0 -24
- package/storybook-static/sb-manager/manager-stores.js +0 -23
- package/storybook-static/sb-manager/runtime.js +0 -20422
- package/storybook-static/theme/recipes/menu.d.ts +0 -1
- package/storybook-static/theme/types.d.ts +0 -1
- package/storybook-static/vite-inject-mocker-entry.js +0 -2
- package/tsconfig.json +0 -29
- package/vite.config.ts +0 -85
- package/vitest.shims.d.ts +0 -1
- /package/{storybook-static → dist}/components/alert.d.ts +0 -0
- /package/{storybook-static → dist}/components/breadcrumb.d.ts +0 -0
- /package/{storybook-static → dist}/components/breadcrumb.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/agent-types.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/ai-conversation.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/ai-message.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/ai-message.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/ai-response.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/ai-response.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/approval-prompt.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/attachment-list.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/attachment-list.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/auto-scroll.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/chat-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/chat-input.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/chat-panel.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/chat-panel.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/message-parts-renderer.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/message-parts-renderer.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/message-types.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/model-swap-separator.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/model-swap-separator.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/send-button.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/timeline.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/tool-invocation-timeline.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/components/tool-invocation-timeline.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/tool-rendering/default-renderers.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/tool-rendering/index.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/tool-rendering/types.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/utils/diff.d.ts +0 -0
- /package/{storybook-static → dist}/components/chat-ui/utils/editor-state.d.ts +0 -0
- /package/{storybook-static → dist}/components/code-editor.d.ts +0 -0
- /package/{storybook-static → dist}/components/content-placeholder.d.ts +0 -0
- /package/{storybook-static → dist}/components/delete-confirmation-modal.d.ts +0 -0
- /package/{storybook-static → dist}/components/delete-confirmation-modal.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/diff-bubble.d.ts +0 -0
- /package/{storybook-static → dist}/components/diff-bubble.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/diff-card.d.ts +0 -0
- /package/{storybook-static → dist}/components/diff-drawer.d.ts +0 -0
- /package/{storybook-static → dist}/components/diff-drawer.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/diff-editor.d.ts +0 -0
- /package/{storybook-static → dist}/components/drawer-inline.d.ts +0 -0
- /package/{storybook-static → dist}/components/drawer-inline.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/empty-state.d.ts +0 -0
- /package/{storybook-static → dist}/components/empty-state.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/error-boundary.d.ts +0 -0
- /package/{storybook-static → dist}/components/file-tree-helpers.d.ts +0 -0
- /package/{storybook-static → dist}/components/horizontal-menu-stack.d.ts +0 -0
- /package/{storybook-static → dist}/components/item-section.d.ts +0 -0
- /package/{storybook-static → dist}/components/item-section.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/layout.d.ts +0 -0
- /package/{storybook-static → dist}/components/layout.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/open-source-notices-screen.d.ts +0 -0
- /package/{storybook-static → dist}/components/open-source-notices-screen.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-color-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-date-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-horizontal-text-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-horizontal.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-horizontal.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-input-group.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-number-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-selection-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor-text-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor.d.ts +0 -0
- /package/{storybook-static → dist}/components/param-editor.types.d.ts +0 -0
- /package/{storybook-static → dist}/components/properties.d.ts +0 -0
- /package/{storybook-static → dist}/components/properties.stories.d.ts +0 -0
- /package/{storybook-static/components/schub-logo.d.ts → dist/components/pstdio-logo.d.ts} +0 -0
- /package/{storybook-static → dist}/components/resource-badge.d.ts +0 -0
- /package/{storybook-static → dist}/components/resource-badge.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/collaborative-markdown-editor/awareness-cursors.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/collaborative-markdown-editor/collaborative-markdown-editor.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/index.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/index.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/commands.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/events.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/CommentPlugin/CommentPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentCommands.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentSchema.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ImperativeAPIPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/KeyboardShortcutPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuOption.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenu.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenuItem.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/constants.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/checkForTriggers.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/getSortedMenuOptions.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/plugins/keyboard-shortcuts.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/prompt-input.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/prompt-input.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/theme/prompt-input-theme.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/prompt-input/utils.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/index.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/rich-message/rich-message.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/rich-message/rich-message.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/components/content-editable.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/components/default-rich-text-components.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/editor-config.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/nodes/DataTableNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/nodes/DataTableNode.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/CodePlugin/CodeBlockPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/CodePlugin/CodeNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/EquationPlugin/EquationComponent.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/EquationPlugin/EquationNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/EquationPlugin/EquationPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/EquationPlugin/KatexRenderer.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatToolbarPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/HorizontalRulePlugin/HorizontalRuleNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/HorizontalRulePlugin/horizontalRule.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/LinkEditorPlugin/LinkEditorPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/LinkEditorPlugin/LinkPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/LinkEditorPlugin/utils/getSelectedNode.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/LinkEditorPlugin/utils/setFloatingElemPos.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/LinkEditorPlugin/utils/url.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/StateUpdatePlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/TableActionMenuPlugin/TableActionMenuPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/TableCellResizerPlugin/TableCellResizerPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/ToggleEditablePlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/plugins/TreeViewPlugin/TreeViewPlugin.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/transformers/markdown-transformers.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/shared/types/rich-text-components.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/theme/report-theme.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/theme/rich-text-theme.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/types.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/utils/markdown.d.ts +0 -0
- /package/{storybook-static → dist}/components/rich-text/utils/mediaType.d.ts +0 -0
- /package/{storybook-static → dist}/components/slider.d.ts +0 -0
- /package/{storybook-static → dist}/components/style-guide-data.d.ts +0 -0
- /package/{storybook-static → dist}/components/style-guide.d.ts +0 -0
- /package/{storybook-static → dist}/components/toaster.stories.d.ts +0 -0
- /package/{storybook-static → dist}/components/tooltip.d.ts +0 -0
- /package/{storybook-static → dist}/theme/global.d.ts +0 -0
- /package/{storybook-static → dist}/theme/index.d.ts +0 -0
- /package/{storybook-static → dist}/theme/primitives/fonts.d.ts +0 -0
- /package/{storybook-static → dist}/theme/primitives/sizes.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/alert.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/button.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/dialog.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/divider.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/drawer.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/editable.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/form.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/input.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/popover.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/progress-circle.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/skeleton.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/textarea.d.ts +0 -0
- /package/{storybook-static → dist}/theme/recipes/tooltip.d.ts +0 -0
- /package/{storybook-static → dist}/theme/theme.d.ts +0 -0
- /package/{storybook-static → dist}/theme/tokens/layer-styles.d.ts +0 -0
- /package/{storybook-static → dist}/theme/tokens/shadows.d.ts +0 -0
- /package/{storybook-static → dist}/theme/tokens/text.d.ts +0 -0
- /package/{storybook-static → dist}/utils/formats.d.ts +0 -0
- /package/{storybook-static → dist}/utils/get-file-type-icon.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-ui.js","sources":["../src/components/chat-ui/components/ai-conversation.tsx","../src/components/chat-ui/components/ai-message.tsx","../src/components/chat-ui/components/approval-prompt.tsx","../src/components/chat-ui/components/auto-scroll.tsx","../src/components/chat-ui/components/send-button.tsx","../src/components/chat-ui/components/chat-input.tsx","../src/components/chat-ui/utils/editor-state.ts","../src/components/chat-ui/components/ai-response.tsx","../src/components/chat-ui/utils/get-icon.ts","../src/components/chat-ui/utils/diff.ts","../src/components/chat-ui/tool-rendering/default-renderers.ts","../src/components/chat-ui/tool-rendering/build-timeline.ts","../src/components/code-editor.tsx","../src/components/diff-editor.tsx","../src/components/chat-ui/components/timeline.tsx","../src/components/chat-ui/components/tool-invocation-timeline.tsx","../src/components/chat-ui/components/message-parts-renderer.tsx","../src/components/chat-ui/components/message-types.ts","../src/components/chat-ui/components/chat-panel.tsx"],"sourcesContent":["import type { HTMLChakraProps, IconButtonProps } from \"@chakra-ui/react\";\nimport { AbsoluteCenter, chakra, IconButton } from \"@chakra-ui/react\";\nimport { ArrowDownIcon } from \"lucide-react\";\nimport { StickToBottom as StickToBottomEl, useStickToBottomContext } from \"use-stick-to-bottom\";\n\nexport type ConversationRootProps = HTMLChakraProps<\"div\", React.ComponentProps<typeof StickToBottomEl>>;\n\nexport const conversationRootDefaultProps = {\n \"aria-roledescription\": \"conversation\",\n initial: \"instant\",\n resize: \"instant\",\n role: \"log\",\n} as const;\n\nexport const ConversationRoot = chakra(\n StickToBottomEl,\n {\n base: {\n position: \"relative\",\n flex: 1,\n overflowY: \"auto\",\n height: \"full\",\n },\n },\n {\n forwardProps: [\"resize\"],\n defaultProps: conversationRootDefaultProps,\n },\n);\n\nexport type ConversationContentProps = HTMLChakraProps<\"div\">;\n\nexport const ConversationContent = chakra(\n StickToBottomEl.Content,\n {\n base: {\n p: \"0\",\n },\n },\n {\n defaultProps: {\n \"aria-live\": \"polite\",\n role: \"list\",\n },\n },\n);\n\nexport type ConversationScrollButtonProps = IconButtonProps;\n\nexport const ConversationScrollButton = (props: ConversationScrollButtonProps) => {\n const { isAtBottom, scrollToBottom } = useStickToBottomContext();\n\n return (\n !isAtBottom && (\n <AbsoluteCenter axis=\"horizontal\" bottom=\"md\">\n <IconButton rounded=\"full\" onClick={() => scrollToBottom()} variant=\"outline\" size=\"xs\" {...props}>\n <ArrowDownIcon size={16} />\n </IconButton>\n </AbsoluteCenter>\n )\n );\n};\n\nexport const ChatPrimitives = {\n Root: ConversationRoot,\n Viewport: ConversationContent,\n ScrollToBottom: ConversationScrollButton,\n} as const;\n","import type { HTMLChakraProps, RecipeVariantProps } from \"@chakra-ui/react\";\nimport { createSlotRecipeContext, defineSlotRecipe } from \"@chakra-ui/react\";\n\nconst recipe = defineSlotRecipe({\n className: \"ai-message\",\n slots: [\"root\", \"content\"],\n base: {\n root: {\n display: \"flex\",\n width: \"full\",\n alignItems: \"end\",\n justifyContent: \"end\",\n gap: \"sm\",\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"sm\",\n textStyle: \"sm\",\n overflow: \"hidden\",\n },\n },\n variants: {\n from: {\n user: {\n root: {\n mb: \"md\",\n flexDirection: \"row\",\n \"& > div\": {\n marginLeft: \"lg\",\n },\n },\n content: {\n bg: \"bg.muted\",\n borderBottomRightRadius: 0,\n },\n },\n assistant: {\n root: {\n mb: \"md\",\n flexDirection: \"row\",\n justifyContent: \"start\",\n \"& > div\": {\n marginRight: \"lg\",\n },\n },\n },\n developer: {\n root: {\n width: \"full\",\n flexDirection: \"row-reverse\",\n },\n content: {\n width: \"full\",\n },\n },\n },\n size: {\n sm: {\n root: { gap: \"xs\" },\n content: { px: \"xs\", py: \"xs\", textStyle: \"xs\" },\n },\n md: {\n content: { px: \"xs\", py: \"xs\" },\n },\n lg: {\n root: { gap: \"md\" },\n content: { px: \"sm\", py: \"xs\", textStyle: \"md\" },\n },\n },\n shape: {\n rounded: {\n content: { rounded: \"lg\" },\n },\n pill: {\n content: { rounded: \"full\" },\n },\n square: {\n content: { rounded: \"none\" },\n },\n },\n },\n defaultVariants: {\n from: \"user\",\n size: \"md\",\n shape: \"rounded\",\n },\n});\n\nconst { withProvider, withContext } = createSlotRecipeContext({ recipe });\n\ntype VariantProps = RecipeVariantProps<typeof recipe>;\n\nexport interface MessageRootProps extends HTMLChakraProps<\"div\">, VariantProps {}\nexport const MessageRoot = withProvider<HTMLDivElement, MessageRootProps>(\"div\", \"root\");\n\nexport interface MessageContentProps extends HTMLChakraProps<\"div\">, VariantProps {}\nexport const MessageContent = withContext<HTMLDivElement, MessageContentProps>(\"div\", \"content\");\n\nexport const ChatMessage = {\n Root: MessageRoot,\n Content: MessageContent,\n} as const;\n","import { Box, Button, Code, Flex, HStack, Text } from \"@chakra-ui/react\";\nimport { ShieldCheck, ShieldX } from \"lucide-react\";\n\ninterface ApprovalPromptProps {\n toolName: string;\n toolInput?: unknown;\n onApprove: () => void;\n onDeny: () => void;\n}\n\nconst formatToolInput = (input: unknown) => {\n if (input == null) return null;\n\n const text = typeof input === \"string\" ? input : JSON.stringify(input, null, 2);\n if (text.length === 0) return null;\n\n const truncated = text.length > 200 ? `${text.slice(0, 200)}...` : text;\n return truncated;\n};\n\nexport const ApprovalPrompt = (props: ApprovalPromptProps) => {\n const { toolName, toolInput, onApprove, onDeny } = props;\n const formattedInput = formatToolInput(toolInput);\n\n return (\n <Box px=\"sm\" py=\"xs\" mx=\"sm\" borderWidth=\"1px\" borderColor=\"border.warning\" borderRadius=\"lg\" bg=\"bg.warning\">\n <Flex direction=\"column\" gap=\"xs\">\n <Text textStyle=\"label/S/medium\" color=\"fg\">\n Allow <Code size=\"sm\">{toolName}</Code>?\n </Text>\n\n {formattedInput ? (\n <Code size=\"sm\" whiteSpace=\"pre-wrap\" maxH=\"6rem\" overflowY=\"auto\">\n {formattedInput}\n </Code>\n ) : null}\n\n <HStack gap=\"xs\" justifyContent=\"flex-end\">\n <Button size=\"xs\" variant=\"outline\" onClick={onDeny}>\n <ShieldX size={14} />\n Deny\n </Button>\n <Button size=\"xs\" colorPalette=\"green\" onClick={onApprove}>\n <ShieldCheck size={14} />\n Allow\n </Button>\n </HStack>\n </Flex>\n </Box>\n );\n};\n","import { useEffect, useRef } from \"react\";\nimport { useStickToBottomContext } from \"use-stick-to-bottom\";\n\nexport interface AutoScrollProps {\n userMessageCount: number;\n}\n\ninterface ShouldAutoScrollArgs {\n previousUserMessageCount: number;\n userMessageCount: number;\n}\n\nexport const shouldAutoScroll = (args: ShouldAutoScrollArgs) => {\n const { previousUserMessageCount, userMessageCount } = args;\n\n if (previousUserMessageCount === 0) {\n return false;\n }\n\n return userMessageCount > previousUserMessageCount;\n};\n\nexport function AutoScroll(props: AutoScrollProps) {\n const { userMessageCount } = props;\n const { scrollToBottom } = useStickToBottomContext();\n const previousCountRef = useRef(userMessageCount);\n\n useEffect(() => {\n if (\n shouldAutoScroll({\n previousUserMessageCount: previousCountRef.current,\n userMessageCount,\n })\n ) {\n scrollToBottom();\n }\n\n previousCountRef.current = userMessageCount;\n }, [userMessageCount, scrollToBottom]);\n\n return null;\n}\n","import { IconButton, type IconButtonProps, Kbd, Portal, Tooltip } from \"@chakra-ui/react\";\nimport { ArrowUp, Square } from \"lucide-react\";\n\nexport interface SendButtonProps extends IconButtonProps {\n shortcut?: string;\n title?: string;\n canInterrupt: boolean;\n}\n\nexport const SendButton = (props: SendButtonProps) => {\n const { title, shortcut, canInterrupt, ...rest } = props;\n const ariaLabel = rest[\"aria-label\"] ?? title;\n\n const icon = canInterrupt ? (\n <Square size={16} strokeWidth={2} fill=\"currentColor\" />\n ) : (\n <ArrowUp size={16} strokeWidth={2} />\n );\n\n const button = (\n <IconButton\n size=\"sm\"\n variant=\"solid\"\n borderRadius=\"full\"\n colorPalette=\"primary\"\n aria-label={ariaLabel}\n title={title}\n {...rest}\n >\n {icon}\n </IconButton>\n );\n\n if (title) {\n const tooltipContent = shortcut ? (\n <>\n {title} <Kbd fontSize=\"xs\">{shortcut}</Kbd>\n </>\n ) : (\n title\n );\n\n return (\n <Tooltip.Root closeDelay={50} openDelay={100}>\n <Tooltip.Trigger asChild>{button}</Tooltip.Trigger>\n <Portal>\n <Tooltip.Positioner>\n <Tooltip.Content>{tooltipContent}</Tooltip.Content>\n </Tooltip.Positioner>\n </Portal>\n </Tooltip.Root>\n );\n }\n\n return button;\n};\n","import { Box, Flex, HStack, Spacer, Text } from \"@chakra-ui/react\";\nimport { type ReactNode, useEffect, useRef, useState } from \"react\";\nimport { getTextFromSerializedEditorState, PromptEditor } from \"../../rich-text\";\nimport { SendButton } from \"./send-button\";\n\ninterface ChatInputProps {\n defaultState: string;\n placeholder?: string;\n onSubmit?: (text: string, attachments: string[]) => void;\n onInterrupt?: () => void;\n streaming?: boolean;\n attachedResources?: string[];\n onClearAttachments?: () => void;\n isDisabled?: boolean;\n onChange?: (text: string) => void;\n attachmentList?: ReactNode;\n actions?: ReactNode;\n}\n\nexport const ChatInput = (props: ChatInputProps) => {\n const {\n defaultState,\n onSubmit = () => {},\n onInterrupt,\n streaming = false,\n attachedResources = [],\n onClearAttachments,\n isDisabled = false,\n onChange,\n placeholder,\n attachmentList,\n actions,\n } = props;\n\n const [isSelected, setIsSelected] = useState(false);\n const [editorState, setEditorState] = useState(defaultState);\n const [editorKey, setEditorKey] = useState(0);\n const [text, setText] = useState(() => getTextFromSerializedEditorState(defaultState));\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const resetText = getTextFromSerializedEditorState(defaultState);\n setEditorState(defaultState);\n setEditorKey((key) => key + 1);\n setText(resetText);\n onChange?.(resetText);\n }, [defaultState, onChange]);\n\n const handleContainerClick = () => {\n setIsSelected(true);\n const editable = containerRef.current?.querySelector('[contenteditable=\"true\"]');\n if (editable instanceof HTMLElement) {\n editable.focus();\n }\n };\n\n const resetEditor = () => {\n setEditorState(defaultState);\n setEditorKey((key) => key + 1);\n const resetText = getTextFromSerializedEditorState(defaultState);\n setText(resetText);\n onChange?.(resetText);\n };\n\n const handleSend = () => {\n if (isDisabled) return;\n\n if (streaming) {\n onInterrupt?.();\n return;\n }\n\n const trimmed = text.trim();\n if (!trimmed) return;\n\n onSubmit(trimmed, attachedResources);\n\n resetEditor();\n\n onClearAttachments?.();\n };\n\n const canInterrupt = streaming && Boolean(onInterrupt);\n\n const placeholderNode = placeholder ? (\n <Text textStyle=\"label/M/regular\" color=\"fg.subtle\" pointerEvents=\"none\" position=\"absolute\" top=\"0\">\n {placeholder}\n </Text>\n ) : undefined;\n\n return (\n <Box\n ref={containerRef}\n width=\"100%\"\n paddingX=\"lg\"\n paddingY=\"md\"\n bg=\"bg\"\n borderRadius=\"md\"\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isSelected ? \"blue.border\" : \"border.muted\"}\n boxShadow={isSelected ? \"mid\" : \"low\"}\n transition=\"box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out\"\n _hover={{\n borderColor: isSelected ? \"blue.border\" : \"border\",\n boxShadow: \"mid\",\n }}\n _focusWithin={{\n borderColor: \"blue.border\",\n boxShadow: \"mid\",\n }}\n onClick={handleContainerClick}\n onBlur={() => setIsSelected(false)}\n >\n <Flex direction=\"column\" color=\"fg\">\n {attachmentList}\n <PromptEditor\n key={editorKey}\n defaultState={editorState}\n isEditable={!isDisabled}\n placeholder={placeholderNode}\n onChange={(t) => {\n setText(t);\n onChange?.(t);\n }}\n onSubmit={handleSend}\n />\n <HStack gap=\"1\" mt=\"md\">\n {actions}\n <Spacer />\n <SendButton\n canInterrupt={canInterrupt}\n title={canInterrupt ? \"Stop Response\" : \"Message Sending\"}\n shortcut={streaming ? undefined : \"Enter\"}\n onClick={handleSend}\n disabled={(streaming && !canInterrupt) || (!streaming && !text.trim()) || isDisabled}\n />\n </HStack>\n </Flex>\n </Box>\n );\n};\n","import { generateEditorStateFromString } from \"../../rich-text\";\n\nexport const createSerializedPromptState = (input = \"\") => {\n return JSON.stringify(generateEditorStateFromString(input));\n};\n","import type { BoxProps } from \"@chakra-ui/react\";\nimport { Box } from \"@chakra-ui/react\";\nimport { RichMessage } from \"@/components/rich-text\";\n\nexport interface ChatRichContentProps extends Omit<BoxProps, \"children\"> {\n children: string;\n}\n\nexport const ChatRichContent = (props: ChatRichContentProps) => {\n const { children, ...rest } = props;\n\n return (\n <Box {...rest}>\n <RichMessage defaultState={children} />\n </Box>\n );\n};\n\nexport const Response = ChatRichContent;\n","import type { LucideIcon } from \"lucide-react\";\nimport {\n AlertTriangle,\n DotIcon,\n File,\n FileDiff,\n FileDown,\n FilePen,\n FileText,\n FileUp,\n Globe,\n ListTree,\n Move,\n Search,\n Terminal,\n Trash2,\n} from \"lucide-react\";\n\nconst toolIconMap = {\n shell: Terminal,\n ls: ListTree,\n read_file: FileText,\n write_file: FilePen,\n delete_file: Trash2,\n patch: FileDiff,\n upload_files: FileUp,\n download_file: FileDown,\n move_file: Move,\n} as const satisfies Record<string, LucideIcon>;\n\nconst iconMap = {\n dot: DotIcon,\n danger: AlertTriangle,\n search: Search,\n browser: Globe,\n file: File,\n terminal: Terminal,\n ...toolIconMap,\n} as const satisfies Record<string, LucideIcon>;\n\nexport type IconName = keyof typeof iconMap;\nexport type ToolIconName = keyof typeof toolIconMap;\n\nconst DEFAULT_TOOL_ICON: IconName = \"dot\";\n\nconst isToolIconName = (value: string): value is ToolIconName => Object.hasOwn(toolIconMap, value);\n\nexport const getIconComponent = (name: IconName): LucideIcon => {\n return iconMap[name];\n};\n\nexport const toolTypeToIconName = (type?: string): IconName => {\n if (!type) return DEFAULT_TOOL_ICON;\n\n const normalized = type.replace(/^tool-/, \"\");\n if (isToolIconName(normalized)) return normalized;\n\n switch (normalized) {\n case \"read\":\n return \"file\";\n case \"bash\":\n return \"terminal\";\n case \"apply_patch\":\n return \"patch\";\n case \"grep\":\n return \"search\";\n case \"glob\":\n return \"file\";\n case \"search\":\n return \"search\";\n case \"browser\":\n return \"browser\";\n case \"fs\":\n case \"file\":\n return \"file\";\n default:\n return DEFAULT_TOOL_ICON;\n }\n};\n\nexport { getFileTypeIcon } from \"../../../utils/get-file-type-icon\";\n","import type { TitleSegment } from \"../components/timeline\";\n\nexport type FileChange = { filePath: string; additions: number; deletions: number };\n\nexport function basenameSafe(path: string) {\n const idx = path.lastIndexOf(\"/\");\n return idx >= 0 ? path.slice(idx + 1) : path;\n}\n\nfunction normalizeHeaderPath(input?: string | null) {\n if (!input) return null;\n\n const token = input.split(\"\\t\")[0].trim();\n if (token === \"/dev/null\") return null;\n\n let normalized = token;\n if (normalized.startsWith(\"a/\") || normalized.startsWith(\"b/\")) {\n normalized = normalized.slice(2);\n }\n\n return normalized.replace(/^\\/+/, \"\").replace(/\\\\/g, \"/\");\n}\n\nconst isMinusHeader = (line: string) => line.startsWith(\"--- \");\nconst isPlusHeader = (line: string) => line.startsWith(\"+++ \");\nconst isHunkHeader = (line: string) => line.startsWith(\"@@\");\nconst isAddedLine = (line: string) => line.startsWith(\"+\") && !(isPlusHeader(line) || line === \"+++\");\nconst isDeletedLine = (line: string) => line.startsWith(\"-\") && !(isMinusHeader(line) || line === \"---\");\n\nconst ensureFileChange = (changes: Map<string, { additions: number; deletions: number }>, filePath: string) => {\n if (!changes.has(filePath)) {\n changes.set(filePath, { additions: 0, deletions: 0 });\n }\n};\n\nconst incrementAdditions = (changes: Map<string, { additions: number; deletions: number }>, filePath: string) => {\n const current = changes.get(filePath);\n if (!current) return;\n current.additions += 1;\n};\n\nconst incrementDeletions = (changes: Map<string, { additions: number; deletions: number }>, filePath: string) => {\n const current = changes.get(filePath);\n if (!current) return;\n current.deletions += 1;\n};\n\ntype UnifiedDiffState = {\n currentPath: string | null;\n lastMinusHeader: string | null;\n inHunk: boolean;\n};\n\nconst processUnifiedDiffLine = (\n line: string,\n state: UnifiedDiffState,\n changes: Map<string, { additions: number; deletions: number }>,\n) => {\n if (isMinusHeader(line)) {\n return { ...state, lastMinusHeader: normalizeHeaderPath(line.slice(4)), inHunk: false };\n }\n\n if (isPlusHeader(line)) {\n const plusPath = normalizeHeaderPath(line.slice(4));\n const currentPath = plusPath ?? state.lastMinusHeader;\n if (currentPath) ensureFileChange(changes, currentPath);\n return { ...state, currentPath, inHunk: false };\n }\n\n if (!state.currentPath) return state;\n\n if (isHunkHeader(line)) {\n return { ...state, inHunk: true };\n }\n\n if (!state.inHunk) return state;\n\n if (isAddedLine(line)) {\n incrementAdditions(changes, state.currentPath);\n return state;\n }\n\n if (isDeletedLine(line)) {\n incrementDeletions(changes, state.currentPath);\n }\n\n return state;\n};\n\nexport function parseUnifiedDiff(diffText?: string) {\n if (!diffText || typeof diffText !== \"string\") return [] as FileChange[];\n\n const changes = new Map<string, { additions: number; deletions: number }>();\n let state: UnifiedDiffState = {\n currentPath: null,\n lastMinusHeader: null,\n inHunk: false,\n };\n\n const lines = diffText.split(/\\r?\\n/);\n for (const line of lines) {\n state = processUnifiedDiffLine(line, state, changes);\n }\n\n return Array.from(changes.entries()).map(([filePath, { additions, deletions }]) => ({\n filePath,\n additions,\n deletions,\n }));\n}\n\nexport function buildDiffTitleSegments(diffText?: string) {\n return parseUnifiedDiff(diffText).map(\n (file) =>\n ({\n kind: \"diff\",\n fileName: basenameSafe(file.filePath),\n filePath: file.filePath,\n additions: file.additions,\n deletions: file.deletions,\n }) satisfies TitleSegment,\n );\n}\n\nexport function extractDiffFilePaths(diffText?: string) {\n return parseUnifiedDiff(diffText).map((file) => file.filePath);\n}\n\nexport type FileDiffPreview = { filePath: string; original: string; modified: string };\n\nconst isDiffFileBoundary = (line: string) => isMinusHeader(line) || line.startsWith(\"diff --git \");\n\nconst isInvalidHunkBodyLine = (line: string) => {\n if (line.startsWith(\" \")) return false;\n if (line.startsWith(\"+\")) return false;\n if (line.startsWith(\"-\")) return false;\n return line.trim() !== \"\";\n};\n\nconst appendHunkLine = (line: string, original: string[], modified: string[]) => {\n if (line.startsWith(\" \")) {\n const text = line.slice(1);\n original.push(text);\n modified.push(text);\n return;\n }\n\n if (line.startsWith(\"-\")) {\n original.push(line.slice(1));\n return;\n }\n\n if (line.startsWith(\"+\")) {\n modified.push(line.slice(1));\n }\n};\n\nconst parseHunkBody = (lines: string[], startIndex: number, original: string[], modified: string[]) => {\n let index = startIndex;\n\n while (index < lines.length) {\n const line = lines[index] || \"\";\n if (isDiffFileBoundary(line) || isHunkHeader(line) || isInvalidHunkBodyLine(line)) {\n break;\n }\n\n appendHunkLine(line, original, modified);\n index += 1;\n }\n\n if (original.length > 0 || modified.length > 0) {\n original.push(\"\");\n modified.push(\"\");\n }\n\n return index;\n};\n\nconst parsePreview = (lines: string[], startIndex: number) => {\n const oldHeader = normalizeHeaderPath((lines[startIndex] || \"\").slice(4));\n const next = lines[startIndex + 1] || \"\";\n if (!isPlusHeader(next)) return { nextIndex: startIndex + 1 } as const;\n\n const newHeader = normalizeHeaderPath(next.slice(4));\n const filePath = newHeader ?? oldHeader ?? \"\";\n const original: string[] = [];\n const modified: string[] = [];\n\n let index = startIndex + 2;\n while (index < lines.length) {\n const current = lines[index] || \"\";\n if (isDiffFileBoundary(current)) break;\n\n if (!isHunkHeader(current)) {\n index += 1;\n continue;\n }\n\n index = parseHunkBody(lines, index + 1, original, modified);\n }\n\n return {\n nextIndex: index,\n preview: { filePath, original: original.join(\"\\n\"), modified: modified.join(\"\\n\") } satisfies FileDiffPreview,\n } as const;\n};\n\nexport function buildFileDiffPreviews(diffText?: string) {\n if (!diffText || typeof diffText !== \"string\") return [] as FileDiffPreview[];\n\n const lines = diffText.split(/\\r?\\n/);\n const previews: FileDiffPreview[] = [];\n\n let i = 0;\n while (i < lines.length) {\n const line = lines[i] || \"\";\n if (!isMinusHeader(line)) {\n i += 1;\n continue;\n }\n\n const { nextIndex, preview } = parsePreview(lines, i);\n if (preview) previews.push(preview);\n i = Math.max(nextIndex, i + 1);\n }\n\n return previews;\n}\n","import type { ToolPart } from \"../agent-types\";\nimport type { Block, Item, TitleSegment } from \"../components/timeline\";\nimport { basenameSafe, buildDiffTitleSegments, buildFileDiffPreviews, extractDiffFilePaths } from \"../utils/diff\";\nimport { toolTypeToIconName } from \"../utils/get-icon\";\nimport type { ToolRenderer, ToolRenderersMap } from \"./types\";\n\nconst TOOL_LABELS: Record<string, string> = {\n apply_patch: \"Apply patch\",\n read: \"Read file\",\n bash: \"Run\",\n grep: \"Search files\",\n glob: \"Find files\",\n skill: \"Load skill\",\n};\n\nconst STATE_LABELS: Record<string, string> = {\n pending: \"queued\",\n error: \"failed\",\n \"output-error\": \"failed\",\n \"input-streaming\": \"running\",\n \"input-available\": \"queued\",\n};\n\nconst normalizeToolType = (value: string) => value.replace(/^tool-/, \"\");\n\nconst toTitleCase = (value: string) => {\n return value\n .split(\" \")\n .filter((token) => token.length > 0)\n .map((token) => token[0].toUpperCase() + token.slice(1))\n .join(\" \");\n};\n\nconst getToolType = (invocation: ToolPart) => normalizeToolType(invocation.tool ?? \"tool\");\n\nconst getToolLabel = (value: string) => {\n const normalized = normalizeToolType(value);\n return TOOL_LABELS[normalized] ?? toTitleCase(normalized.replace(/_/g, \" \"));\n};\n\nconst getStateLabel = (state?: unknown) => {\n if (!state || typeof state !== \"string\") return null;\n if (STATE_LABELS[state]) return STATE_LABELS[state];\n if (state.includes(\"stream\")) return \"running\";\n return null;\n};\n\nconst isErrorState = (state?: string) => state === \"error\" || state === \"output-error\";\n\nconst buildIndicator = (invocation: ToolPart) => {\n if (isErrorState(invocation.state?.status)) {\n return { type: \"icon\", icon: \"danger\" } as const;\n }\n\n return { type: \"icon\", icon: toolTypeToIconName(getToolType(invocation)) } as const;\n};\n\nconst buildBaseTitle = (invocation: ToolPart, detail?: string, labelOverride?: string) => {\n const label = labelOverride ?? getToolLabel(invocation.tool ?? \"tool\");\n const title: TitleSegment[] = [{ kind: \"text\", text: label, bold: true }];\n\n if (detail) {\n title.push({ kind: \"text\", text: detail, muted: true });\n }\n\n const stateLabel = getStateLabel(invocation.state?.status);\n if (stateLabel) {\n title.push({ kind: \"text\", text: stateLabel, muted: true });\n }\n\n return title;\n};\n\nconst getInputObject = (invocation: ToolPart) => {\n const input = invocation.state?.input;\n if (!input || typeof input !== \"object\" || Array.isArray(input)) return null;\n return input as Record<string, unknown>;\n};\n\nconst getOutputObject = (invocation: ToolPart) => {\n const output = invocation.state?.output;\n if (!output || typeof output !== \"object\" || Array.isArray(output)) return null;\n return output as Record<string, unknown>;\n};\n\nconst getStringValue = (value: unknown) => {\n if (typeof value === \"string\" && value.trim().length > 0) return value;\n return null;\n};\n\nconst getObjectValue = (value: unknown) => {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return null;\n return value as Record<string, unknown>;\n};\n\nconst getStateObject = (invocation: ToolPart, key: string) => {\n const state = getObjectValue(invocation.state);\n if (!state) return null;\n return getObjectValue(state[key]);\n};\n\nconst normalizeFilePath = (value: string) => value.replace(/\\\\/g, \"/\").replace(/^\\/+/, \"\");\n\nconst isUnifiedDiff = (value: string) => value.includes(\"--- \") && value.includes(\"+++ \") && value.includes(\"@@\");\n\ntype ApplyPatchMetadataFile = {\n filePath: string;\n additions: number;\n deletions: number;\n diff?: string;\n before?: string;\n after?: string;\n};\n\nconst getApplyPatchMetadataObjects = (invocation: ToolPart) => {\n const output = getOutputObject(invocation);\n return [getStateObject(invocation, \"metadata\"), getObjectValue(output?.metadata)].filter(Boolean) as Array<\n Record<string, unknown>\n >;\n};\n\nconst parseApplyPatchMetadataFile = (entry: unknown) => {\n const record = getObjectValue(entry);\n if (!record) return null;\n\n const rawPath = getStringValue(record.filePath) ?? getStringValue(record.relativePath) ?? getStringValue(record.path);\n if (!rawPath) return null;\n\n return {\n filePath: normalizeFilePath(rawPath),\n additions: typeof record.additions === \"number\" ? record.additions : 0,\n deletions: typeof record.deletions === \"number\" ? record.deletions : 0,\n diff: getStringValue(record.diff) ?? undefined,\n before: getStringValue(record.before) ?? undefined,\n after: getStringValue(record.after) ?? undefined,\n } satisfies ApplyPatchMetadataFile;\n};\n\nconst getApplyPatchMetadataFiles = (invocation: ToolPart) => {\n const files: ApplyPatchMetadataFile[] = [];\n\n for (const metadata of getApplyPatchMetadataObjects(invocation)) {\n const entries = Array.isArray(metadata.files) ? metadata.files : [];\n\n for (const entry of entries) {\n const parsedFile = parseApplyPatchMetadataFile(entry);\n if (!parsedFile) continue;\n files.push(parsedFile);\n }\n }\n\n return files;\n};\n\nconst getApplyPatchDiffText = (invocation: ToolPart) => {\n const input = getInputObject(invocation);\n const inputDiff = getStringValue(input?.diff);\n if (inputDiff) return inputDiff;\n\n for (const metadata of getApplyPatchMetadataObjects(invocation)) {\n const metadataDiff = getStringValue(metadata.diff);\n if (metadataDiff) return metadataDiff;\n }\n\n const fileDiffs = getApplyPatchMetadataFiles(invocation)\n .map((file) => file.diff)\n .filter((diff): diff is string => Boolean(diff));\n if (fileDiffs.length > 0) return fileDiffs.join(\"\\n\");\n\n const patchText = getStringValue(input?.patchText);\n if (patchText && isUnifiedDiff(patchText)) return patchText;\n\n return null;\n};\n\nconst buildApplyPatchMetadataTitleSegments = (files: ApplyPatchMetadataFile[]) => {\n const seen = new Set<string>();\n const segments: TitleSegment[] = [];\n\n for (const file of files) {\n if (seen.has(file.filePath)) continue;\n seen.add(file.filePath);\n\n segments.push({\n kind: \"diff\",\n fileName: basenameSafe(file.filePath),\n filePath: file.filePath,\n additions: file.additions,\n deletions: file.deletions,\n });\n }\n\n return segments;\n};\n\nconst getApplyPatchMetadataReferences = (files: ApplyPatchMetadataFile[]) => {\n return Array.from(new Set(files.map((file) => file.filePath)));\n};\n\nconst getOutputText = (invocation: ToolPart) => {\n const outputObject = getOutputObject(invocation);\n\n return (\n getStringValue(invocation.state?.output) ??\n getStringValue(outputObject?.returnDisplay) ??\n getStringValue(outputObject?.preview) ??\n getStringValue(outputObject?.stdout)\n );\n};\n\nconst parseSkillContentBlock = (value: string) => {\n const match = value.match(/<skill_content(?:\\s+name=\"([^\"]+)\")?>([\\s\\S]*?)<\\/skill_content>/);\n if (!match) return null;\n\n return {\n skillName: getStringValue(match[1]) ?? undefined,\n content: getStringValue(match[2]) ?? \"\",\n };\n};\n\nconst getSkillName = (invocation: ToolPart) => {\n const input = getInputObject(invocation);\n return (\n getStringValue(input?.name) ??\n getStringValue(input?.skillName) ??\n getStringValue(input?.skill) ??\n getStringValue(input?.skill_name) ??\n undefined\n );\n};\n\nconst buildFileLinkSegment = (filePath: string): TitleSegment => {\n return {\n kind: \"link\",\n text: basenameSafe(filePath),\n filePath,\n };\n};\n\nconst prependErrorBlock = (invocation: ToolPart, blocks: Block[]): Block[] => {\n if (!isErrorState(invocation.state?.status) || !invocation.state?.errorText) return blocks;\n const errorBlock: Block = { type: \"comment\", text: invocation.state.errorText };\n return [errorBlock, ...blocks];\n};\n\nconst renderApplyPatch: ToolRenderer = (invocation) => {\n const diffText = getApplyPatchDiffText(invocation);\n const metadataFiles = getApplyPatchMetadataFiles(invocation);\n\n const title = buildBaseTitle(invocation, undefined, \"Apply patch\");\n const diffSegments = buildDiffTitleSegments(diffText ?? undefined);\n if (diffSegments.length > 0) {\n title.push(...diffSegments);\n } else {\n title.push(...buildApplyPatchMetadataTitleSegments(metadataFiles));\n }\n\n const blocks: Block[] = [];\n const previews = buildFileDiffPreviews(diffText ?? undefined);\n for (const preview of previews) {\n blocks.push({\n type: \"diff\",\n language: \"diff\",\n original: preview.original,\n modified: preview.modified,\n sideBySide: false,\n });\n }\n\n if (blocks.length === 0) {\n for (const file of metadataFiles) {\n if (!file.before && !file.after) continue;\n blocks.push({\n type: \"diff\",\n language: \"diff\",\n original: file.before ?? \"\",\n modified: file.after ?? \"\",\n sideBySide: false,\n });\n }\n }\n\n if (blocks.length === 0) {\n const references = extractDiffFilePaths(diffText ?? undefined);\n if (references.length === 0) {\n references.push(...getApplyPatchMetadataReferences(metadataFiles));\n }\n if (references.length > 0) {\n blocks.push({ type: \"references\", references });\n }\n }\n\n return {\n indicator: buildIndicator(invocation),\n title,\n blocks: prependErrorBlock(invocation, blocks),\n } satisfies Item;\n};\n\nconst renderRead: ToolRenderer = (invocation) => {\n const input = getInputObject(invocation);\n const output = getOutputObject(invocation);\n\n const filePath =\n getStringValue(input?.filePath) ??\n getStringValue(input?.file) ??\n getStringValue(output?.filePath) ??\n getStringValue(output?.file) ??\n getStringValue(output?.path) ??\n undefined;\n\n const title = buildBaseTitle(invocation, undefined, \"Read file\");\n if (filePath) {\n title.push(buildFileLinkSegment(filePath));\n }\n\n return {\n indicator: buildIndicator(invocation),\n title,\n blocks: prependErrorBlock(invocation, []),\n } satisfies Item;\n};\n\nconst renderBash: ToolRenderer = (invocation) => {\n const input = getInputObject(invocation);\n const output = getOutputObject(invocation);\n const command = getStringValue(input?.command) ?? undefined;\n\n const title = buildBaseTitle(invocation, command, \"Run command\");\n const blocks: Block[] = [];\n\n const outputText = getOutputText(invocation);\n if (outputText) {\n blocks.push({ type: \"code\", language: \"text\", code: outputText });\n }\n\n const stderr = getStringValue(output?.stderr);\n if (stderr && stderr !== outputText) {\n blocks.push({ type: \"code\", language: \"text\", code: stderr });\n }\n\n if (typeof output?.exitCode === \"number\") {\n blocks.push({ type: \"text\", text: `Exit code: ${output.exitCode}` });\n }\n\n return {\n indicator: buildIndicator(invocation),\n title,\n blocks: prependErrorBlock(invocation, blocks),\n } satisfies Item;\n};\n\nconst renderGrep: ToolRenderer = (invocation) => {\n const input = getInputObject(invocation);\n const outputText = getOutputText(invocation);\n const query = getStringValue(input?.pattern) ?? undefined;\n\n const title = buildBaseTitle(invocation, query, \"Search files\");\n const blocks: Block[] = outputText ? [{ type: \"code\", language: \"text\", code: outputText }] : [];\n\n return {\n indicator: buildIndicator(invocation),\n title,\n blocks: prependErrorBlock(invocation, blocks),\n } satisfies Item;\n};\n\nconst renderGlob: ToolRenderer = (invocation) => {\n const input = getInputObject(invocation);\n const outputText = getOutputText(invocation);\n const pattern = getStringValue(input?.pattern) ?? undefined;\n\n const title = buildBaseTitle(invocation, pattern, \"Find files\");\n const blocks: Block[] = [];\n\n if (outputText) {\n const references = outputText\n .split(/\\r?\\n/)\n .map((line) => line.trim())\n .filter((line) => line.length > 0);\n\n if (references.length > 0) {\n blocks.push({ type: \"references\", references });\n }\n }\n\n return {\n indicator: buildIndicator(invocation),\n title,\n blocks: prependErrorBlock(invocation, blocks),\n } satisfies Item;\n};\n\nconst renderSkill: ToolRenderer = (invocation) => {\n const outputText = getOutputText(invocation);\n const parsedOutput = outputText ? parseSkillContentBlock(outputText) : null;\n\n const skillName = getSkillName(invocation) ?? parsedOutput?.skillName;\n const title = buildBaseTitle(invocation, skillName, \"Load skill\");\n\n const renderedContent = parsedOutput?.content ?? outputText;\n const blocks: Block[] = renderedContent ? [{ type: \"code\", language: \"markdown\", code: renderedContent }] : [];\n\n return {\n indicator: buildIndicator(invocation),\n title,\n blocks: prependErrorBlock(invocation, blocks),\n } satisfies Item;\n};\n\nexport const createDefaultToolRenderers = () => {\n return {\n apply_patch: renderApplyPatch,\n read: renderRead,\n bash: renderBash,\n grep: renderGrep,\n glob: renderGlob,\n skill: renderSkill,\n } satisfies ToolRenderersMap;\n};\n","import type { ToolPart } from \"../agent-types\";\nimport type { Block, TitleSegment } from \"../components/timeline\";\nimport { toolTypeToIconName } from \"../utils/get-icon\";\nimport { createDefaultToolRenderers } from \"./default-renderers\";\nimport type { ToolRenderersMap, ToolTimelineBuilderOptions } from \"./types\";\n\nconst STATE_LABELS: Record<string, string> = {\n pending: \"queued\",\n error: \"failed\",\n \"output-error\": \"failed\",\n \"input-streaming\": \"running\",\n \"input-available\": \"queued\",\n};\n\nconst normalizeToolType = (value: string) => value.replace(/^tool-/, \"\");\n\nconst toTitleCase = (value: string) => {\n return value\n .split(\" \")\n .filter((token) => token.length > 0)\n .map((token) => token[0].toUpperCase() + token.slice(1))\n .join(\" \");\n};\n\nconst getToolLabel = (tool?: string) => {\n const normalized = normalizeToolType(tool ?? \"tool\").replace(/_/g, \" \");\n return toTitleCase(normalized);\n};\n\nconst isErrorState = (state?: string) => state === \"error\" || state === \"output-error\";\n\nconst buildIndicator = (invocation: ToolPart) => {\n if (isErrorState(invocation.state?.status)) {\n return { type: \"icon\", icon: \"danger\" } as const;\n }\n\n return { type: \"icon\", icon: toolTypeToIconName(invocation.tool ?? \"tool\") } as const;\n};\n\nconst getStateLabel = (state?: unknown) => {\n if (!state || typeof state !== \"string\") return null;\n if (STATE_LABELS[state]) return STATE_LABELS[state];\n if (state.includes(\"stream\")) return \"running\";\n return null;\n};\n\nconst stringifyValue = (value: unknown) => {\n if (typeof value === \"string\") return value;\n if (value === null || value === undefined) return null;\n\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return null;\n }\n};\n\nconst buildGenericBlocks = (invocation: ToolPart): Block[] => {\n const blocks: Block[] = [];\n\n if (isErrorState(invocation.state?.status) && invocation.state?.errorText) {\n blocks.push({ type: \"comment\", text: invocation.state.errorText });\n }\n\n const inputText = stringifyValue(invocation.state?.input);\n if (inputText) {\n blocks.push({ type: \"code\", language: \"json\", code: inputText });\n }\n\n const outputText = stringifyValue(invocation.state?.output);\n if (outputText) {\n blocks.push({ type: \"code\", language: \"json\", code: outputText });\n }\n\n return blocks;\n};\n\nconst createGenericItem = (invocation: ToolPart) => {\n const title: TitleSegment[] = [{ kind: \"text\", text: getToolLabel(invocation.tool), bold: true }];\n const stateLabel = getStateLabel(invocation.state?.status);\n if (stateLabel) {\n title.push({ kind: \"text\", text: stateLabel, muted: true });\n }\n\n return {\n indicator: buildIndicator(invocation),\n title,\n blocks: buildGenericBlocks(invocation),\n };\n};\n\nconst mergeToolRenderers = (overrides?: ToolRenderersMap) => {\n if (!overrides) return createDefaultToolRenderers();\n return { ...createDefaultToolRenderers(), ...overrides } satisfies ToolRenderersMap;\n};\n\nconst getRenderer = (invocation: ToolPart, toolRenderers: ToolRenderersMap) => {\n const rawTool = invocation.tool ?? \"tool\";\n return toolRenderers[rawTool] ?? toolRenderers[normalizeToolType(rawTool)];\n};\n\nconst renderInvocation = (\n invocation: ToolPart,\n toolRenderers: ToolRenderersMap,\n options?: ToolTimelineBuilderOptions,\n) => {\n const renderer = getRenderer(invocation, toolRenderers);\n if (renderer) {\n const rendered = renderer(invocation, options);\n if (rendered) return rendered;\n }\n\n return createGenericItem(invocation);\n};\n\nexport const buildTimelineDocFromInvocations = (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => {\n const toolRenderers = mergeToolRenderers(options?.toolRenderers);\n const items = invocations.map((invocation) => renderInvocation(invocation, toolRenderers, options));\n\n return { items };\n};\n\nexport const createToolTimelineBuilder = (toolRenderers: ToolRenderersMap) => {\n return (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => {\n return buildTimelineDocFromInvocations(invocations, { ...options, toolRenderers });\n };\n};\n","import { DiffEditor, Editor } from \"@monaco-editor/react\";\n\nexport const customTheme = {\n base: \"vs-dark\" as const,\n inherit: true,\n rules: [],\n colors: {\n \"editor.background\": \"#0a0d15\",\n \"editor.foreground\": \"#f5f5f5\",\n \"editor.lineHighlightBackground\": \"#22252C\",\n \"editorCursor.foreground\": \"#A7A7A7\",\n \"editorWhitespace.foreground\": \"#3B3B3B\",\n \"editorIndentGuide.background\": \"#404040\",\n \"editorIndentGuide.activeBackground\": \"#707070\",\n },\n};\n\ninterface CodeEditorProps {\n language: string;\n defaultCode?: string;\n code?: string;\n isEditable: boolean;\n showLineNumbers?: boolean;\n onChange?: (code: string) => void;\n disableScroll?: boolean;\n}\n\nexport const CodeEditor = (props: CodeEditorProps) => {\n const { defaultCode, code, showLineNumbers, isEditable, language = \"javascript\", onChange, disableScroll } = props;\n\n const options = {\n tabSize: 2,\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n readOnly: !isEditable,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n mouseWheelScrollSensitivity: 0,\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n\n return (\n <Editor\n width=\"100%\"\n height=\"100%\"\n language={language}\n defaultValue={defaultCode}\n value={code}\n theme={\"ps-theme\"}\n options={options}\n onChange={(value) => {\n onChange?.(value || \"\");\n }}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={async (editor, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n\n // Add JSX support\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n jsx: monaco.languages.typescript.JsxEmit.React,\n });\n\n // Format on cmd+s\n editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, async () => {\n await editor.getAction(\"editor.action.formatDocument\")?.run();\n });\n\n // Run format on the initial value\n await editor.getAction(\"editor.action.formatDocument\")?.run();\n }}\n />\n );\n};\n\ninterface CodeDiffEditorProps {\n language: string;\n original: string;\n modified: string;\n showLineNumbers?: boolean;\n disableScroll?: boolean;\n}\n\nexport const CodeDiffEditor = (props: CodeDiffEditorProps) => {\n const { original, modified, showLineNumbers, language = \"javascript\", disableScroll } = props;\n\n const options = {\n tabSize: 2,\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n readOnly: true,\n originalEditable: false,\n renderSideBySide: true,\n useInlineViewWhenSpaceIsTooSmall: true,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n mouseWheelScrollSensitivity: 0,\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n\n return (\n <DiffEditor\n width=\"100%\"\n height=\"100%\"\n language={language}\n original={original}\n modified={modified}\n theme={\"ps-theme\"}\n options={options}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={(_, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n jsx: monaco.languages.typescript.JsxEmit.React,\n });\n }}\n />\n );\n};\n","import { DiffEditor as MonacoDiffEditor } from \"@monaco-editor/react\";\nimport { useMemo } from \"react\";\nimport { customTheme } from \"./code-editor\";\n\ninterface DiffEditorProps {\n original: string;\n modified: string;\n language?: string;\n sideBySide?: boolean;\n disableScroll?: boolean;\n}\n\nexport function DiffEditor(props: DiffEditorProps) {\n const { original, modified, language = \"plaintext\", sideBySide = false, disableScroll = true } = props;\n\n const options = useMemo(() => {\n return {\n renderSideBySide: sideBySide,\n readOnly: true,\n fontSize: 11,\n minimap: { enabled: false },\n wordWrap: \"on\" as const,\n scrollBeyondLastLine: false,\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n }, [sideBySide, disableScroll]);\n\n return (\n <MonacoDiffEditor\n width=\"100%\"\n height=\"100%\"\n original={original}\n modified={modified}\n language={language}\n theme=\"ps-theme\"\n options={options}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={(_editor, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n }}\n />\n );\n}\n","import { Avatar, Box, Button, Card, Timeline as ChakraTimeline, Link, Span, Stack, Text } from \"@chakra-ui/react\";\nimport { ChevronUpIcon } from \"lucide-react\";\nimport type { MouseEvent, ReactNode } from \"react\";\nimport { useState } from \"react\";\nimport { DiffBubble } from \"@/components/diff-bubble\";\nimport { DiffEditor } from \"@/components/diff-editor\";\nimport { ResourceBadge } from \"@/components/resource-badge\";\nimport type { IconName } from \"../utils/get-icon\";\nimport { getIconComponent } from \"../utils/get-icon\";\n\nexport const Timeline = ChakraTimeline;\n\nexport type TimelineDoc = {\n items: Item[];\n};\n\nexport type Item = {\n id?: string;\n timestamp?: string;\n indicator?: Indicator;\n title: TitleSegment[];\n blocks?: Block[];\n expandable?: boolean;\n};\n\nexport type Indicator =\n | { type: \"icon\"; icon: IconName; color?: string }\n | { type: \"avatar\"; src: string; alt?: string }\n | { type: \"none\" };\n\nexport type TitleSegment =\n | { kind: \"text\"; text: string; bold?: boolean; muted?: boolean }\n | { kind: \"avatar\"; src: string; alt?: string }\n | { kind: \"diff\"; fileName: string; filePath?: string; additions?: number; deletions?: number }\n | {\n kind: \"link\";\n text: string;\n href?: string;\n filePath?: string;\n bold?: boolean;\n muted?: boolean;\n variant?: \"default\" | \"bubble\";\n };\n\nexport type Block =\n | { type: \"comment\"; text: string; reactions?: { clap?: number } }\n | { type: \"code\"; language: string; code: string; editable?: boolean }\n | { type: \"diff\"; language?: string; original: string; modified: string; sideBySide?: boolean }\n | { type: \"input\"; placeholder?: string }\n | { type: \"text\"; text: string }\n | { type: \"references\"; references: string[] }\n | { type: \"component\"; render: (ctx: { onOpenFile?: (filePath: string) => void }) => ReactNode };\n\nconst handleTitleLinkClick = (\n event: MouseEvent<HTMLAnchorElement>,\n seg: Extract<TitleSegment, { kind: \"link\" }>,\n onOpenFile?: (filePath: string) => void,\n stopPropagation = false,\n) => {\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n if (!seg.href) {\n event.preventDefault();\n }\n if (seg.filePath) {\n onOpenFile?.(seg.filePath);\n }\n};\n\nfunction AvatarTitleSegment({ seg }: { seg: Extract<TitleSegment, { kind: \"avatar\" }> }) {\n return (\n <Avatar.Root width=\"1.5rem\" height=\"1.5rem\">\n <Avatar.Image src={seg.src} alt={seg.alt} />\n <Avatar.Fallback />\n </Avatar.Root>\n );\n}\n\nfunction DiffTitleSegment({\n seg,\n onOpenFile,\n}: {\n seg: Extract<TitleSegment, { kind: \"diff\" }>;\n onOpenFile?: (filePath: string) => void;\n}) {\n return (\n <DiffBubble\n fileName={seg.fileName}\n additions={seg.additions ?? 0}\n deletions={seg.deletions ?? 0}\n onClickFileLink={() => {\n const path = seg.filePath ?? seg.fileName;\n onOpenFile?.(path);\n }}\n />\n );\n}\n\nfunction BubbleLinkTitleSegment({\n seg,\n onOpenFile,\n}: {\n seg: Extract<TitleSegment, { kind: \"link\" }>;\n onOpenFile?: (filePath: string) => void;\n}) {\n const fontWeight = seg.bold ? \"medium\" : undefined;\n const isInteractive = Boolean(seg.href || seg.filePath);\n\n return (\n <Link\n href={seg.href ?? \"#\"}\n fontWeight={fontWeight}\n color={seg.muted ? \"fg.muted\" : \"fg.muted\"}\n textDecoration=\"none\"\n cursor={isInteractive ? \"pointer\" : \"default\"}\n onClick={(event) => handleTitleLinkClick(event, seg, onOpenFile, true)}\n _hover={{\n textDecoration: \"underline\",\n color: seg.muted ? \"fg.muted\" : \"fg.blue-dark\",\n }}\n >\n {seg.text}\n </Link>\n );\n}\n\nfunction DefaultLinkTitleSegment({\n seg,\n onOpenFile,\n}: {\n seg: Extract<TitleSegment, { kind: \"link\" }>;\n onOpenFile?: (filePath: string) => void;\n}) {\n const fontWeight = seg.bold ? \"medium\" : undefined;\n\n return (\n <Link\n href={seg.href ?? \"#\"}\n fontWeight={fontWeight}\n color={seg.muted ? \"fg.muted\" : \"accent.primary\"}\n textDecoration=\"underline\"\n onClick={(event) => handleTitleLinkClick(event, seg, onOpenFile)}\n _hover={{\n color: seg.muted ? \"fg.muted\" : \"accent.primary\",\n textDecoration: \"underline\",\n }}\n >\n {seg.text}\n </Link>\n );\n}\n\nfunction TextTitleSegment({\n seg,\n isClickable,\n}: {\n seg: Extract<TitleSegment, { kind: \"text\" }>;\n isClickable?: boolean;\n}) {\n return (\n <Span\n fontWeight={seg.bold ? \"medium\" : undefined}\n color=\"fg.muted\"\n _groupHover={{\n color: isClickable && !seg.muted ? \"fg\" : \"fg.muted\",\n }}\n >\n {seg.text}\n </Span>\n );\n}\n\nfunction TitleInline({\n seg,\n isClickable,\n onOpenFile,\n}: {\n seg: TitleSegment;\n isClickable?: boolean;\n onOpenFile?: (filePath: string) => void;\n}) {\n switch (seg.kind) {\n case \"avatar\":\n return <AvatarTitleSegment seg={seg} />;\n case \"diff\":\n return <DiffTitleSegment seg={seg} onOpenFile={onOpenFile} />;\n case \"link\":\n return seg.variant === \"bubble\" ? (\n <BubbleLinkTitleSegment seg={seg} onOpenFile={onOpenFile} />\n ) : (\n <DefaultLinkTitleSegment seg={seg} onOpenFile={onOpenFile} />\n );\n case \"text\":\n return <TextTitleSegment seg={seg} isClickable={isClickable} />;\n default:\n return null;\n }\n}\n\nfunction IndicatorView({ ind }: { ind?: Indicator }) {\n if (!ind || ind.type === \"none\") return null;\n\n if (ind.type === \"icon\") {\n const IndicatorIcon = getIconComponent(ind.icon);\n return (\n <Timeline.Indicator outline=\"none\" shadow=\"none\" border=\"none\" background=\"bg\" color=\"fg\">\n <Span display=\"inline-flex\" alignItems=\"center\">\n <IndicatorIcon size={14} strokeWidth={1} />\n </Span>\n </Timeline.Indicator>\n );\n }\n\n return (\n <Timeline.Indicator>\n <Avatar.Root boxSize=\"full\">\n <Avatar.Image src={ind.src} alt={ind.alt} />\n <Avatar.Fallback />\n </Avatar.Root>\n </Timeline.Indicator>\n );\n}\n\nfunction CodeBlock({ code, language }: { code: string; language?: string }) {\n return (\n <Box\n as=\"pre\"\n background=\"bg.muted\"\n color=\"fg\"\n borderRadius=\"md\"\n padding=\"sm\"\n fontFamily=\"mono\"\n fontSize=\"xs\"\n lineHeight=\"shorter\"\n overflowX=\"auto\"\n whiteSpace=\"pre\"\n aria-label={language ? `${language} code block` : \"code block\"}\n >\n <Box as=\"code\">{code}</Box>\n </Box>\n );\n}\n\nfunction BlockView({ b, onOpenFile }: { b: Block; onOpenFile?: (filePath: string) => void }) {\n switch (b.type) {\n case \"comment\":\n return (\n <Card.Root>\n <Card.Body>{b.text}</Card.Body>\n {b.reactions?.clap ? (\n <Card.Footer>\n <Button>👏 {b.reactions.clap}</Button>\n </Card.Footer>\n ) : null}\n </Card.Root>\n );\n case \"code\":\n return (\n <Card.Root border=\"0\" padding=\"0\">\n <Card.Body padding=\"0\">\n <CodeBlock language={b.language} code={b.code} />\n </Card.Body>\n </Card.Root>\n );\n case \"diff\":\n return (\n <Card.Root border=\"0\" padding=\"0\">\n <Card.Body padding=\"0\">\n <Box height=\"240px\" minW=\"320px\" overflow=\"hidden\">\n <DiffEditor\n original={b.original}\n modified={b.modified}\n language={b.language}\n sideBySide={b.sideBySide ?? false}\n disableScroll={true}\n />\n </Box>\n </Card.Body>\n </Card.Root>\n );\n case \"text\":\n return (\n <Card.Root background=\"transparent\">\n <Card.Body padding=\"sm\">\n <Text textStyle=\"label/S/regular\">{b.text}</Text>\n </Card.Body>\n </Card.Root>\n );\n case \"references\":\n return (\n <Stack mt=\"xs\" gap=\"xs\" flexDir=\"row\" flexWrap=\"wrap\">\n {b.references.map((ref) => (\n <ResourceBadge key={ref} fileName={ref} />\n ))}\n </Stack>\n );\n case \"component\":\n return <>{b.render({ onOpenFile })}</>;\n }\n}\n\nfunction TimelineItemRow({\n item,\n itemKey,\n isOpen,\n canExpand,\n hasBlocks,\n onToggle,\n onOpenFile,\n}: {\n item: Item;\n itemKey: string;\n isOpen: boolean;\n canExpand: boolean;\n hasBlocks: boolean;\n onToggle: (key: string) => void;\n onOpenFile?: (filePath: string) => void;\n}) {\n return (\n <Timeline.Item gap=\"xs\" key={itemKey}>\n <Timeline.Connector>\n <Timeline.Separator />\n <IndicatorView ind={item.indicator} />\n </Timeline.Connector>\n <Timeline.Content pb=\"xs\">\n {item.title.length > 0 && (\n <Timeline.Title\n className=\"group\"\n fontWeight=\"normal\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n cursor={canExpand ? \"pointer\" : \"default\"}\n onClick={canExpand ? () => onToggle(itemKey) : undefined}\n >\n <Span display=\"inline-flex\" alignItems=\"center\" gap=\"sm\" flexWrap=\"wrap\">\n <Span display=\"inline-flex\" alignItems=\"center\" gap=\"xs\" flexWrap=\"wrap\">\n {item.title.map((seg, i) => (\n <TitleInline key={i} seg={seg} isClickable={canExpand} onOpenFile={onOpenFile} />\n ))}\n </Span>\n {canExpand ? (\n <Span\n display=\"inline-flex\"\n alignItems=\"center\"\n transition=\"transform 200ms ease, color 200ms ease\"\n transform={isOpen ? \"rotate(0deg)\" : \"rotate(-180deg)\"}\n color=\"transparent\"\n _groupHover={{ color: \"fg\" }}\n >\n <ChevronUpIcon size={12} />\n </Span>\n ) : null}\n </Span>\n </Timeline.Title>\n )}\n {hasBlocks ? (\n <Box display=\"grid\" gridTemplateRows={isOpen ? \"1fr\" : \"0fr\"} transition=\"grid-template-rows 220ms ease\">\n {isOpen ? (\n <Box\n overflow=\"hidden\"\n opacity={1}\n transform=\"translateY(0)\"\n transition=\"opacity 200ms ease, transform 200ms ease\"\n >\n {item.blocks!.map((block, i) => (\n <Box key={i}>\n <BlockView b={block} onOpenFile={onOpenFile} />\n </Box>\n ))}\n </Box>\n ) : null}\n </Box>\n ) : null}\n </Timeline.Content>\n </Timeline.Item>\n );\n}\n\nexport function TimelineFromJSON({ data, onOpenFile }: { data: TimelineDoc; onOpenFile?: (filePath: string) => void }) {\n const [expanded, setExpanded] = useState<Record<string, boolean>>({});\n\n const getKey = (it: Item, idx: number) => (it.id ? `id:${it.id}` : `idx:${idx}`);\n\n const toggle = (key: string) => {\n setExpanded((prev) => ({ ...prev, [key]: !prev[key] }));\n };\n\n return (\n <Timeline.Root>\n {data.items.map((item, idx) => {\n const key = getKey(item, idx);\n const hasBlocks = (item.blocks?.length ?? 0) > 0;\n const canExpand = (item.expandable ?? true) && hasBlocks;\n const isOpen = canExpand ? (expanded[key] ?? false) : hasBlocks;\n\n return (\n <TimelineItemRow\n key={key}\n item={item}\n itemKey={key}\n isOpen={isOpen}\n canExpand={canExpand}\n hasBlocks={hasBlocks}\n onToggle={toggle}\n onOpenFile={onOpenFile}\n />\n );\n })}\n </Timeline.Root>\n );\n}\n","import { buildTimelineDocFromInvocations } from \"../tool-rendering\";\nimport type { ToolPart } from \"./message-types\";\nimport { TimelineFromJSON } from \"./timeline\";\n\nexport interface ToolInvocationTimelineProps {\n invocations: ToolPart[];\n labeledBlocks?: boolean;\n onOpenFile?: (filePath: string) => void;\n}\n\nexport function ToolInvocationTimeline(props: ToolInvocationTimelineProps) {\n const { invocations, labeledBlocks, onOpenFile } = props;\n const data = buildTimelineDocFromInvocations(invocations, { labeledBlocks });\n\n return <TimelineFromJSON data={data} onOpenFile={onOpenFile} />;\n}\n","import { Box, Spinner, Text } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\nimport { RichMessage } from \"@/components/rich-text\";\nimport type { ErrorPart, SessionMessage, SessionMessagePart, ToolPart } from \"../agent-types\";\nimport { Response } from \"./ai-response\";\nimport { ToolInvocationTimeline, type ToolInvocationTimelineProps } from \"./tool-invocation-timeline\";\n\ntype ToolInvocationTimelineComponent = (props: ToolInvocationTimelineProps) => ReactNode;\n\nexport interface MessagePartsProps {\n message: SessionMessage;\n streaming?: boolean;\n onOpenFile?: (filePath: string) => void;\n toolInvocationTimeline?: ToolInvocationTimelineComponent;\n}\n\nconst isToolPart = (part: SessionMessagePart): part is ToolPart => {\n return part.type === \"tool\";\n};\n\nconst formatTokenCount = (count: number) => {\n if (count >= 1000) return `${(count / 1000).toFixed(1)}k`;\n return String(count);\n};\n\nconst getErrorMessage = (errorType: ErrorPart[\"errorType\"]) => {\n switch (errorType) {\n case \"timeout\":\n return \"Session timed out.\";\n case \"crash\":\n return \"Session crashed unexpectedly.\";\n case \"permission\":\n return \"Permission denied.\";\n default:\n return \"An error occurred.\";\n }\n};\n\nconst collectToolInvocations = (parts: SessionMessagePart[], startIndex: number) => {\n const invocations: ToolPart[] = [];\n let lookahead = startIndex;\n\n while (lookahead < parts.length) {\n const nextPart = parts[lookahead];\n if (!isToolPart(nextPart)) break;\n invocations.push(nextPart);\n lookahead += 1;\n }\n\n return { invocations, nextIndex: lookahead - 1 };\n};\n\nexport function MessagePartsRenderer(props: MessagePartsProps) {\n const { message, onOpenFile, toolInvocationTimeline } = props;\n const RenderToolInvocationTimeline = toolInvocationTimeline ?? ToolInvocationTimeline;\n const parts = message.parts ?? [];\n const nodes: ReactNode[] = [];\n\n for (let partIndex = 0; partIndex < parts.length; partIndex += 1) {\n const part = parts[partIndex];\n const key = `${message.id}-${partIndex}`;\n\n switch (part.type) {\n case \"text\":\n nodes.push(\n <div key={key}>\n <Response>{part.text}</Response>\n </div>,\n );\n break;\n case \"reasoning\":\n nodes.push(\n <Box\n key={key}\n padding=\"0\"\n css={{\n \"& .rich-text, & .rich-text *\": {\n color: \"fg.subtle !important\",\n fontSize: \".75rem !important\",\n fontWeight: \"normal !important\",\n },\n }}\n >\n <RichMessage defaultState={part.text} />\n </Box>,\n );\n break;\n case \"tool\": {\n const { invocations, nextIndex } = collectToolInvocations(parts, partIndex);\n partIndex = nextIndex;\n nodes.push(\n <Box key={key} width=\"full\">\n <RenderToolInvocationTimeline invocations={invocations} labeledBlocks onOpenFile={onOpenFile} />\n </Box>,\n );\n break;\n }\n case \"loading\":\n nodes.push(\n <Box key={key} display=\"flex\" alignItems=\"center\" gap=\"2\" py=\"2\">\n <Spinner size=\"sm\" />\n <Text fontSize=\"sm\" color=\"fg.muted\">\n Thinking...\n </Text>\n </Box>,\n );\n break;\n case \"error\":\n nodes.push(\n <Box key={key} py=\"2\">\n <Text fontSize=\"sm\" color=\"fg.error\">\n {getErrorMessage(part.errorType)}\n </Text>\n </Box>,\n );\n break;\n case \"token_usage\":\n nodes.push(\n <Box key={key} py=\"1\">\n <Text fontSize=\"xs\" color=\"fg.subtle\">\n Tokens: {formatTokenCount(part.inputTokens)} in / {formatTokenCount(part.outputTokens)} out\n {part.cacheReadTokens ? ` / ${formatTokenCount(part.cacheReadTokens)} cache read` : \"\"}\n </Text>\n </Box>,\n );\n break;\n default:\n nodes.push(null);\n }\n }\n\n return <>{nodes}</>;\n}\n","import type { SessionMessage, SessionMessagePart, ToolPart } from \"../agent-types\";\n\nexport type { SessionMessage, SessionMessagePart, ToolPart };\n\nexport type MessageOrigin = \"user\" | \"assistant\" | \"developer\";\n\nexport const getMessageOrigin = (role: string): MessageOrigin => {\n if (role === \"user\" || role === \"assistant\" || role === \"developer\") return role;\n return \"assistant\";\n};\n\nexport const isReasoningToolOnlyMessage = (message: SessionMessage) => {\n const parts = message.parts ?? [];\n if (parts.length === 0) return false;\n\n const hasTextPart = parts.some((part) => part.type === \"text\" && \"text\" in part);\n if (hasTextPart) return false;\n\n return parts.some((part) => part.type === \"reasoning\" || part.type === \"tool\");\n};\n\nexport const mergeReasoningToolOnlyMessages = (messages: SessionMessage[]) => {\n const merged: SessionMessage[] = [];\n\n for (const message of messages) {\n const previous = merged[merged.length - 1];\n\n if (previous && previous.role === message.role && isReasoningToolOnlyMessage(message)) {\n previous.parts = [...(previous.parts ?? []), ...(message.parts ?? [])];\n continue;\n }\n\n merged.push({\n ...message,\n parts: [...(message.parts ?? [])],\n });\n }\n\n return merged;\n};\n","import { Box, Flex, Stack } from \"@chakra-ui/react\";\nimport { MessageCircleIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { EmptyState } from \"@/components/empty-state\";\nimport { createSerializedPromptState } from \"../utils/editor-state\";\nimport { ChatPrimitives } from \"./ai-conversation\";\nimport { ChatMessage } from \"./ai-message\";\nimport { AutoScroll } from \"./auto-scroll\";\nimport { ChatInput } from \"./chat-input\";\nimport { MessagePartsRenderer } from \"./message-parts-renderer\";\nimport { getMessageOrigin, mergeReasoningToolOnlyMessages, type SessionMessage } from \"./message-types\";\n\nconst EMPTY_PROMPT_STATE = createSerializedPromptState();\n\ninterface ChatPanelProps {\n messages: SessionMessage[];\n streaming?: boolean;\n emptyStateTitle: string;\n emptyStateDescription: string;\n chatInputPlaceholder: string;\n onSubmitMessage?: (text: string, attachments: string[]) => void;\n actions?: ReactNode;\n repoMenu?: ReactNode;\n attachedResources?: string[];\n onClearAttachments?: () => void;\n attachmentList?: ReactNode;\n approvalPrompt?: ReactNode;\n}\n\nexport const ChatPanel = (props: ChatPanelProps) => {\n const {\n messages,\n streaming = false,\n emptyStateTitle,\n emptyStateDescription,\n chatInputPlaceholder,\n onSubmitMessage,\n actions,\n repoMenu,\n attachedResources,\n onClearAttachments,\n attachmentList,\n approvalPrompt,\n } = props;\n\n const merged = mergeReasoningToolOnlyMessages(messages);\n const hasMessages = merged.length > 0;\n const userMessageCount = merged.reduce((count, message) => count + (message.role === \"user\" ? 1 : 0), 0);\n\n return (\n <Flex position=\"relative\" direction=\"column\" w=\"full\" h=\"full\" overflow=\"hidden\">\n <ChatPrimitives.Root>\n <AutoScroll userMessageCount={userMessageCount} />\n <ChatPrimitives.Viewport>\n {hasMessages ? (\n <Stack gap=\"sm\">\n {merged.map((message) => {\n const from = getMessageOrigin(message.role);\n\n return (\n <ChatMessage.Root key={message.id} from={from}>\n <ChatMessage.Content from={from}>\n <MessagePartsRenderer message={message} streaming={streaming} />\n </ChatMessage.Content>\n </ChatMessage.Root>\n );\n })}\n </Stack>\n ) : (\n <EmptyState\n icon={<MessageCircleIcon size={48} strokeWidth={1.5} />}\n title={emptyStateTitle}\n description={emptyStateDescription}\n />\n )}\n </ChatPrimitives.Viewport>\n <ChatPrimitives.ScrollToBottom aria-label=\"Scroll to latest message\" />\n </ChatPrimitives.Root>\n {approvalPrompt}\n <Box px=\"sm\">\n <ChatInput\n placeholder={chatInputPlaceholder}\n defaultState={EMPTY_PROMPT_STATE}\n streaming={streaming}\n onSubmit={onSubmitMessage}\n actions={actions}\n attachedResources={attachedResources}\n onClearAttachments={onClearAttachments}\n attachmentList={attachmentList}\n />\n </Box>\n <Flex p=\"2xs\" justifyContent=\"flex-end\">\n {repoMenu}\n </Flex>\n </Flex>\n );\n};\n"],"names":["conversationRootDefaultProps","initial","resize","role","ConversationRoot","chakra","StickToBottomEl","base","position","flex","overflowY","height","forwardProps","defaultProps","ConversationContent","Content","p","ConversationScrollButton","props","$","_c","isAtBottom","scrollToBottom","useStickToBottomContext","t0","jsx","AbsoluteCenter","IconButton","ArrowDownIcon","ChatPrimitives","Root","Viewport","ScrollToBottom","recipe","defineSlotRecipe","className","slots","root","display","width","alignItems","justifyContent","gap","content","flexDirection","textStyle","overflow","variants","from","user","mb","marginLeft","bg","borderBottomRightRadius","assistant","marginRight","developer","size","sm","px","py","md","lg","shape","rounded","pill","square","defaultVariants","withProvider","withContext","createSlotRecipeContext","MessageRoot","MessageContent","ChatMessage","formatToolInput","input","text","JSON","stringify","length","slice","ApprovalPrompt","toolName","toolInput","onApprove","onDeny","formattedInput","t1","jsxs","Text","Code","t2","t3","Symbol","for","ShieldX","t4","Button","t5","ShieldCheck","t6","t7","HStack","t8","Box","Flex","shouldAutoScroll","args","previousUserMessageCount","userMessageCount","AutoScroll","previousCountRef","useRef","current","useEffect","SendButton","canInterrupt","rest","shortcut","title","ariaLabel","Square","ArrowUp","icon","button","Fragment","Kbd","tooltipContent","Tooltip","Portal","ChatInput","defaultState","onSubmit","onInterrupt","streaming","attachedResources","onClearAttachments","isDisabled","onChange","placeholder","attachmentList","actions","undefined","_temp","isSelected","setIsSelected","useState","editorState","setEditorState","editorKey","setEditorKey","getTextFromSerializedEditorState","setText","containerRef","resetText","_temp2","editable","querySelector","HTMLElement","focus","handleContainerClick","t9","_temp3","resetText_0","resetEditor","t10","trimmed","trim","handleSend","Boolean","t11","placeholderNode","t12","t13","t14","t15","borderColor","boxShadow","t16","t17","t18","t19","t","t20","PromptEditor","t21","Spacer","t22","t23","t24","t25","t26","t27","t28","key","key_0","createSerializedPromptState","generateEditorStateFromString","ChatRichContent","children","RichMessage","Response","toolIconMap","shell","Terminal","ls","ListTree","read_file","FileText","write_file","FilePen","delete_file","Trash2","patch","FileDiff","upload_files","FileUp","download_file","FileDown","move_file","Move","iconMap","dot","DotIcon","danger","AlertTriangle","search","Search","browser","Globe","file","File","terminal","DEFAULT_TOOL_ICON","isToolIconName","value","Object","hasOwn","getIconComponent","name","toolTypeToIconName","type","normalized","replace","basenameSafe","path","idx","lastIndexOf","normalizeHeaderPath","token","split","startsWith","isMinusHeader","line","isPlusHeader","isHunkHeader","isAddedLine","isDeletedLine","ensureFileChange","changes","filePath","has","set","additions","deletions","incrementAdditions","get","incrementDeletions","processUnifiedDiffLine","state","lastMinusHeader","inHunk","currentPath","parseUnifiedDiff","diffText","Map","lines","Array","entries","map","buildDiffTitleSegments","kind","fileName","extractDiffFilePaths","isDiffFileBoundary","isInvalidHunkBodyLine","appendHunkLine","original","modified","push","parseHunkBody","startIndex","index","parsePreview","oldHeader","next","nextIndex","preview","join","buildFileDiffPreviews","previews","i","Math","max","TOOL_LABELS","apply_patch","read","bash","grep","glob","skill","STATE_LABELS","pending","error","normalizeToolType","toTitleCase","filter","toUpperCase","getToolType","invocation","tool","getToolLabel","getStateLabel","includes","isErrorState","buildIndicator","status","buildBaseTitle","detail","labelOverride","bold","muted","stateLabel","getInputObject","isArray","getOutputObject","output","getStringValue","getObjectValue","getStateObject","normalizeFilePath","isUnifiedDiff","getApplyPatchMetadataObjects","metadata","parseApplyPatchMetadataFile","entry","record","rawPath","relativePath","diff","before","after","getApplyPatchMetadataFiles","files","parsedFile","getApplyPatchDiffText","inputDiff","metadataDiff","fileDiffs","patchText","buildApplyPatchMetadataTitleSegments","seen","Set","segments","add","getApplyPatchMetadataReferences","getOutputText","outputObject","returnDisplay","stdout","parseSkillContentBlock","match","skillName","getSkillName","skill_name","buildFileLinkSegment","prependErrorBlock","blocks","errorText","renderApplyPatch","metadataFiles","diffSegments","language","sideBySide","references","indicator","renderRead","renderBash","command","outputText","code","stderr","exitCode","renderGrep","query","pattern","renderGlob","renderSkill","parsedOutput","renderedContent","createDefaultToolRenderers","stringifyValue","buildGenericBlocks","inputText","createGenericItem","mergeToolRenderers","overrides","getRenderer","toolRenderers","rawTool","renderInvocation","options","renderer","rendered","buildTimelineDocFromInvocations","invocations","items","customTheme","inherit","rules","colors","DiffEditor","disableScroll","enabled","scrollbar","vertical","horizontal","useShadows","alwaysConsumeMouseWheel","overviewRulerLanes","renderSideBySide","readOnly","fontSize","minimap","wordWrap","scrollBeyondLastLine","MonacoDiffEditor","_editor","monaco_0","monaco","editor","setTheme","defineTheme","Timeline","ChakraTimeline","handleTitleLinkClick","event","seg","onOpenFile","stopPropagation","href","preventDefault","AvatarTitleSegment","alt","src","Avatar","DiffTitleSegment","DiffBubble","BubbleLinkTitleSegment","fontWeight","isInteractive","textDecoration","color","Link","DefaultLinkTitleSegment","TextTitleSegment","isClickable","Span","TitleInline","variant","IndicatorView","ind","IndicatorIcon","CodeBlock","BlockView","b","reactions","clap","Card","Stack","render","ref","ResourceBadge","TimelineItemRow","item","itemKey","isOpen","canExpand","hasBlocks","onToggle","ChevronUpIcon","block","i_0","TimelineFromJSON","data","expanded","setExpanded","getKey","prev","toggle","idx_0","expandable","it","id","ToolInvocationTimeline","labeledBlocks","isToolPart","part","formatTokenCount","count","toFixed","String","getErrorMessage","errorType","collectToolInvocations","parts","lookahead","nextPart","MessagePartsRenderer","message","toolInvocationTimeline","RenderToolInvocationTimeline","nodes","partIndex","bb0","Spinner","inputTokens","outputTokens","cacheReadTokens","getMessageOrigin","isReasoningToolOnlyMessage","some","mergeReasoningToolOnlyMessages","messages","merged","previous","EMPTY_PROMPT_STATE","ChatPanel","emptyStateTitle","emptyStateDescription","chatInputPlaceholder","onSubmitMessage","repoMenu","approvalPrompt","T0","T1","T2","hasMessages","reduce","message_0","EmptyState","MessageCircleIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,KAA+B;AAAA,EAC1C,wBAAwB;AAAA,EACxBC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,MAAM;AACR,GAEaC,KAAmBC,GAC9BC,IACA;AAAA,EACEC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVC,MAAM;AAAA,IACNC,WAAW;AAAA,IACXC,QAAQ;AAAA,EAAA;AAEZ,GACA;AAAA,EACEC,cAAc,CAAC,QAAQ;AAAA,EACvBC,cAAcb;AAChB,CACF,GAIac,KAAsBT,GACjCC,GAAgBS,SAChB;AAAA,EACER,MAAM;AAAA,IACJS,GAAG;AAAA,EAAA;AAEP,GACA;AAAA,EACEH,cAAc;AAAA,IACZ,aAAa;AAAA,IACbV,MAAM;AAAA,EAAA;AAEV,CACF,GAIac,KAA2BC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GACtC;AAAA,IAAAC,YAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,EAAAA,IAAuCC,GAAAA;AAA0B,MAAAC;AAAA,SAAAL,EAAA,CAAA,MAAAE,KAAAF,SAAAD,KAAAC,EAAA,CAAA,MAAAG,KAG/DE,IAAA,CAACH,KACC,gBAAAI,EAACC,IAAA,EAAoB,MAAA,cAAoB,QAAA,MACvC,UAAA,gBAAAD,EAACE,IAAA,EAAmB,SAAA,QAAgB,SAAA,MAAML,EAAAA,GAA0B,SAAA,WAAe,MAAA,MAAI,GAAKJ,GAC1F,UAAA,gBAAAO,EAACG,IAAA,EAAoB,MAAA,GAAA,CAAE,EAAA,CACzB,GACF,GACDT,OAAAE,GAAAF,OAAAD,GAAAC,OAAAG,GAAAH,OAAAK,KAAAA,IAAAL,EAAA,CAAA,GANDK;AAMC,GAIQK,KAAiB;AAAA,EAC5BC,MAAM1B;AAAAA,EACN2B,UAAUjB;AAAAA,EACVkB,gBAAgBf;AAClB,GChEMgB,KAASC,GAAiB;AAAA,EAC9BC,WAAW;AAAA,EACXC,OAAO,CAAC,QAAQ,SAAS;AAAA,EACzB7B,MAAM;AAAA,IACJ8B,MAAM;AAAA,MACJC,SAAS;AAAA,MACTC,OAAO;AAAA,MACPC,YAAY;AAAA,MACZC,gBAAgB;AAAA,MAChBC,KAAK;AAAA,IAAA;AAAA,IAEPC,SAAS;AAAA,MACPL,SAAS;AAAA,MACTM,eAAe;AAAA,MACfF,KAAK;AAAA,MACLG,WAAW;AAAA,MACXC,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEFC,UAAU;AAAA,IACRC,MAAM;AAAA,MACJC,MAAM;AAAA,QACJZ,MAAM;AAAA,UACJa,IAAI;AAAA,UACJN,eAAe;AAAA,UACf,WAAW;AAAA,YACTO,YAAY;AAAA,UAAA;AAAA,QACd;AAAA,QAEFR,SAAS;AAAA,UACPS,IAAI;AAAA,UACJC,yBAAyB;AAAA,QAAA;AAAA,MAC3B;AAAA,MAEFC,WAAW;AAAA,QACTjB,MAAM;AAAA,UACJa,IAAI;AAAA,UACJN,eAAe;AAAA,UACfH,gBAAgB;AAAA,UAChB,WAAW;AAAA,YACTc,aAAa;AAAA,UAAA;AAAA,QACf;AAAA,MACF;AAAA,MAEFC,WAAW;AAAA,QACTnB,MAAM;AAAA,UACJE,OAAO;AAAA,UACPK,eAAe;AAAA,QAAA;AAAA,QAEjBD,SAAS;AAAA,UACPJ,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IACF;AAAA,IAEFkB,MAAM;AAAA,MACJC,IAAI;AAAA,QACFrB,MAAM;AAAA,UAAEK,KAAK;AAAA,QAAA;AAAA,QACbC,SAAS;AAAA,UAAEgB,IAAI;AAAA,UAAMC,IAAI;AAAA,UAAMf,WAAW;AAAA,QAAA;AAAA,MAAK;AAAA,MAEjDgB,IAAI;AAAA,QACFlB,SAAS;AAAA,UAAEgB,IAAI;AAAA,UAAMC,IAAI;AAAA,QAAA;AAAA,MAAK;AAAA,MAEhCE,IAAI;AAAA,QACFzB,MAAM;AAAA,UAAEK,KAAK;AAAA,QAAA;AAAA,QACbC,SAAS;AAAA,UAAEgB,IAAI;AAAA,UAAMC,IAAI;AAAA,UAAMf,WAAW;AAAA,QAAA;AAAA,MAAK;AAAA,IACjD;AAAA,IAEFkB,OAAO;AAAA,MACLC,SAAS;AAAA,QACPrB,SAAS;AAAA,UAAEqB,SAAS;AAAA,QAAA;AAAA,MAAK;AAAA,MAE3BC,MAAM;AAAA,QACJtB,SAAS;AAAA,UAAEqB,SAAS;AAAA,QAAA;AAAA,MAAO;AAAA,MAE7BE,QAAQ;AAAA,QACNvB,SAAS;AAAA,UAAEqB,SAAS;AAAA,QAAA;AAAA,MAAO;AAAA,IAC7B;AAAA,EACF;AAAA,EAEFG,iBAAiB;AAAA,IACfnB,MAAM;AAAA,IACNS,MAAM;AAAA,IACNM,OAAO;AAAA,EAAA;AAEX,CAAC,GAEK;AAAA,EAAEK,cAAAA;AAAAA,EAAcC,aAAAA;AAAY,IAAIC,GAAwB;AAAA,EAAErC,QAAAA;AAAO,CAAC,GAK3DsC,KAAcH,GAA+C,OAAO,MAAM,GAG1EI,KAAiBH,GAAiD,OAAO,SAAS,GAElFI,KAAc;AAAA,EACzB3C,MAAMyC;AAAAA,EACNxD,SAASyD;AACX,GC5FME,KAAkBA,CAACC,MAAmB;AAC1C,MAAIA,KAAS,KAAM,QAAO;AAE1B,QAAMC,IAAO,OAAOD,KAAU,WAAWA,IAAQE,KAAKC,UAAUH,GAAO,MAAM,CAAC;AAC9E,SAAIC,EAAKG,WAAW,IAAU,OAEZH,EAAKG,SAAS,MAAM,GAAGH,EAAKI,MAAM,GAAG,GAAG,CAAC,QAAQJ;AAErE,GAEaK,KAAiB/D,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAC5B;AAAA,IAAA8D,UAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,QAAAA;AAAAA,EAAAA,IAAmDnE;AAAM,MAAAM;AAAA,EAAAL,SAAAgE,KAClC3D,IAAAkD,GAAgBS,CAAS,GAAChE,OAAAgE,GAAAhE,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAjD,QAAAmE,IAAuB9D;AAA2B,MAAA+D;AAAA,EAAApE,SAAA+D,KAK5CK,IAAA,gBAAAC,EAACC,GAAA,EAAe,WAAA,kBAAuB,OAAA,MAAK,UAAA;AAAA,IAAA;AAAA,IACpC,gBAAAhE,EAACiE,IAAA,EAAU,MAAA,MAAMR,UAAAA,GAAS;AAAA,IAAO;AAAA,EAAA,GACzC,GAAO/D,OAAA+D,GAAA/D,OAAAoE,KAAAA,IAAApE,EAAA,CAAA;AAAA,MAAAwE;AAAA,EAAAxE,SAAAmE,KAENK,IAAAL,IACC,gBAAA7D,EAACiE,IAAA,EAAU,MAAA,MAAgB,YAAA,YAAgB,MAAA,QAAiB,WAAA,QACzDJ,UAAAA,EAAAA,CACH,IAHD,MAIOnE,OAAAmE,GAAAnE,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA;AAAA,MAAAyE;AAAA,EAAAzE,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAIJF,sBAACG,IAAA,EAAc,MAAA,GAAA,CAAE,GAAI5E,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA;AAAA,MAAA6E;AAAA,EAAA7E,SAAAkE,KADvBW,sBAACC,IAAA,EAAY,MAAA,MAAa,SAAA,WAAmBZ,SAAAA,GAC3CO,UAAAA;AAAAA,IAAAA;AAAAA,IAAqB;AAAA,EAAA,GAEvB,GAASzE,OAAAkE,GAAAlE,OAAA6E,KAAAA,IAAA7E,EAAA,CAAA;AAAA,MAAA+E;AAAA,EAAA/E,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAEPI,sBAACC,IAAA,EAAkB,MAAA,GAAA,CAAE,GAAIhF,OAAA+E,KAAAA,IAAA/E,EAAA,CAAA;AAAA,MAAAiF;AAAA,EAAAjF,UAAAiE,KAD3BgB,sBAACH,IAAA,EAAY,MAAA,MAAkB,cAAA,SAAiBb,SAAAA,GAC9Cc,UAAAA;AAAAA,IAAAA;AAAAA,IAAyB;AAAA,EAAA,GAE3B,GAAS/E,QAAAiE,GAAAjE,QAAAiF,KAAAA,IAAAjF,EAAA,EAAA;AAAA,MAAAkF;AAAA,EAAAlF,EAAA,EAAA,MAAA6E,KAAA7E,UAAAiF,KARXC,sBAACC,IAAA,EAAW,KAAA,MAAoB,gBAAA,YAC9BN,UAAAA;AAAAA,IAAAA;AAAAA,IAIAI;AAAAA,EAAAA,GAIF,GAASjF,QAAA6E,GAAA7E,QAAAiF,GAAAjF,QAAAkF,KAAAA,IAAAlF,EAAA,EAAA;AAAA,MAAAoF;AAAA,SAAApF,EAAA,EAAA,MAAAoE,KAAApE,UAAAwE,KAAAxE,EAAA,EAAA,MAAAkF,KArBbE,IAAA,gBAAA9E,EAAC+E,KAAO,IAAA,MAAQ,IAAA,MAAQ,IAAA,MAAiB,aAAA,OAAkB,aAAA,kBAA8B,cAAA,MAAQ,IAAA,cAC/F,4BAACC,IAAA,EAAe,WAAA,UAAa,KAAA,MAC3BlB,UAAAA;AAAAA,IAAAA;AAAAA,IAICI;AAAAA,IAMDU;AAAAA,EAAAA,EAAAA,CAUF,EAAA,CACF,GAAMlF,QAAAoE,GAAApE,QAAAwE,GAAAxE,QAAAkF,GAAAlF,QAAAoF,KAAAA,IAAApF,EAAA,EAAA,GAvBNoF;AAuBM,GCpCGG,KAAmBA,CAACC,MAA+B;AAC9D,QAAM;AAAA,IAAEC,0BAAAA;AAAAA,IAA0BC,kBAAAA;AAAAA,EAAAA,IAAqBF;AAEvD,SAAIC,MAA6B,IACxB,KAGFC,IAAmBD;AAC5B;AAEO,SAAAE,GAAA5F,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GACL;AAAA,IAAAyF,kBAAAA;AAAAA,EAAAA,IAA6B3F,GAC7B;AAAA,IAAAI,gBAAAA;AAAAA,EAAAA,IAA2BC,GAAAA,GAC3BwF,IAAyBC,GAAOH,CAAgB;AAAE,MAAArF,GAAA+D;AAAA,SAAApE,EAAA,CAAA,MAAAG,KAAAH,SAAA0F,KAExCrF,IAAAA,MAAA;AACR,IACEkF,GAAiB;AAAA,MAAAE,0BACWG,EAAgBE;AAAAA,MAAQJ,kBAAAA;AAAAA,IAAAA,CAEnD,KAEDvF,EAAAA,GAGFyF,EAAgBE,UAAWJ;AAAAA,EAAH,GACvBtB,IAAA,CAACsB,GAAkBvF,CAAc,GAACH,OAAAG,GAAAH,OAAA0F,GAAA1F,OAAAK,GAAAL,OAAAoE,MAAA/D,IAAAL,EAAA,CAAA,GAAAoE,IAAApE,EAAA,CAAA,IAXrC+F,GAAU1F,GAWP+D,CAAkC,GAE9B;AAAI;AC/BN,MAAM4B,KAAajG,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAgG,GAAAC,GAAAC,GAAAC;AAAA,EAAApG,SAAAD,KACxB;AAAA,IAAAqG,OAAAA;AAAAA,IAAAD,UAAAA;AAAAA,IAAAF,cAAAA;AAAAA,IAAA,GAAAC;AAAAA,EAAAA,IAAmDnG,GAAMC,OAAAD,GAAAC,OAAAiG,GAAAjG,OAAAkG,GAAAlG,OAAAmG,GAAAnG,OAAAoG,MAAAH,IAAAjG,EAAA,CAAA,GAAAkG,IAAAlG,EAAA,CAAA,GAAAmG,IAAAnG,EAAA,CAAA,GAAAoG,IAAApG,EAAA,CAAA;AACzD,QAAAqG,IAAkBH,EAAK,YAAY,KAAjBE;AAA4B,MAAA/F;AAAA,EAAAL,SAAAiG,KAEjC5F,IAAA4F,IACX,gBAAA3F,EAACgG,IAAA,EAAa,MAAA,IAAiB,aAAA,GAAQ,MAAA,gBAAc,IAErD,gBAAAhG,EAACiG,IAAA,EAAc,MAAA,IAAiB,gBAAC,GAClCvG,OAAAiG,GAAAjG,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAJD,QAAAwG,IAAanG;AAIX,MAAA+D;AAAA,EAAApE,EAAA,CAAA,MAAAqG,KAAArG,EAAA,CAAA,MAAAwG,KAAAxG,EAAA,CAAA,MAAAkG,KAAAlG,UAAAoG,KAGAhC,IAAA,gBAAA9D,EAACE,IAAA,EACM,MAAA,MACG,SAAA,SACK,cAAA,QACA,cAAA,WACD6F,cAAAA,GACLD,OAAAA,GAAK,GACRF,GAEHM,UAAAA,GACH,GAAaxG,OAAAqG,GAAArG,OAAAwG,GAAAxG,OAAAkG,GAAAlG,QAAAoG,GAAApG,QAAAoE,KAAAA,IAAApE,EAAA,EAAA;AAXf,QAAAyG,IACErC;AAaF,MAAIgC,GAAK;AAAA,QAAA5B;AAAA,IAAAxE,EAAA,EAAA,MAAAmG,KAAAnG,UAAAoG,KACgB5B,IAAA2B,IAAA,gBAAA9B,EAAAqC,IAAA;;MAEZ;AAAA,MAAC,gBAAApG,EAACqG,IAAA,EAAa,UAAA,MAAMR,UAAAA,EAAAA,CAAS;AAAA,IAAA,EAAA,CAAM,IAFxBC,GAMtBpG,QAAAmG,GAAAnG,QAAAoG,GAAApG,QAAAwE,KAAAA,IAAAxE,EAAA,EAAA;AAND,UAAA4G,IAAuBpC;AAMrB,QAAAC;AAAA,IAAAzE,UAAAyG,KAIEhC,sBAAAoC,GAAA,SAAA,EAAiB,SAAA,IAASJ,UAAAA,GAAO,GAAkBzG,QAAAyG,GAAAzG,QAAAyE,KAAAA,IAAAzE,EAAA,EAAA;AAAA,QAAA6E;AAAA,IAAA7E,UAAA4G,KACnD/B,IAAA,gBAAAvE,EAACwG,IAAA,EACC,UAAA,gBAAAxG,EAAAuG,GAAA,YAAA,EACE,UAAA,gBAAAvG,EAAAuG,GAAA,SAAA,EAAkBD,UAAAA,EAAAA,CAAe,EAAA,CACnC,GACF,GAAS5G,QAAA4G,GAAA5G,QAAA6E,KAAAA,IAAA7E,EAAA,EAAA;AAAA,QAAA+E;AAAA,WAAA/E,EAAA,EAAA,MAAAyE,KAAAzE,UAAA6E,KANXE,iCAA0B,YAAA,IAAe,WAAA,KACvCN,UAAAA;AAAAA,MAAAA;AAAAA,MACAI;AAAAA,IAAAA,GAKF,GAAe7E,QAAAyE,GAAAzE,QAAA6E,GAAA7E,QAAA+E,KAAAA,IAAA/E,EAAA,EAAA,GAPf+E;AAAAA,EAOe;AAElB,SAEM0B;AAAM,GCnCFM,KAAYhH,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GACvB;AAAA,IAAA+G,cAAAA;AAAAA,IAAAC,UAAA5G;AAAAA,IAAA6G,aAAAA;AAAAA,IAAAC,WAAA/C;AAAAA,IAAAgD,mBAAA5C;AAAAA,IAAA6C,oBAAAA;AAAAA,IAAAC,YAAA7C;AAAAA,IAAA8C,UAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAYI3H,GAVFkH,IAAA5G,MAAAsH,SAAAC,KAAAvH,GAEA8G,IAAA/C,MAAAuD,SAAA,KAAAvD;AAAiB,MAAAS;AAAA,EAAA7E,SAAAwE,KACjBK,IAAAL,MAAAmD,SAAA,CAAA,IAAAnD,GAAsBxE,OAAAwE,GAAAxE,OAAA6E,KAAAA,IAAA7E,EAAA,CAAA;AAAtB,QAAAoH,IAAAvC,GAEAyC,IAAA7C,MAAAkD,SAAA,KAAAlD,GAOF,CAAAoD,GAAAC,CAAA,IAAoCC,GAAS,EAAK,GAClD,CAAAC,GAAAC,CAAA,IAAsCF,GAASf,CAAY,GAC3D,CAAAkB,GAAAC,CAAA,IAAkCJ,GAAS,CAAC;AAAE,MAAAhD;AAAA,EAAA/E,SAAAgH,KACbjC,IAAAA,MAAMqD,GAAiCpB,CAAY,GAAChH,OAAAgH,GAAAhH,OAAA+E,KAAAA,IAAA/E,EAAA,CAAA;AAArF,QAAA,CAAAyD,GAAA4E,CAAA,IAAwBN,GAAShD,CAAoD,GACrFuD,IAAqBzC,GAA8B,IAAI;AAAE,MAAAZ,GAAAC;AAAA,EAAAlF,EAAA,CAAA,MAAAgH,KAAAhH,SAAAuH,KAE/CtC,IAAAA,MAAA;AACR,UAAAsD,IAAkBH,GAAiCpB,CAAY;AAC/DiB,IAAAA,EAAejB,CAAY,GAC3BmB,EAAaK,EAAgB,GAC7BH,EAAQE,CAAS,GACjBhB,IAAWgB,CAAS;AAAA,EAAC,GACpBrD,IAAA,CAAC8B,GAAcO,CAAQ,GAACvH,OAAAgH,GAAAhH,OAAAuH,GAAAvH,OAAAiF,GAAAjF,OAAAkF,MAAAD,IAAAjF,EAAA,CAAA,GAAAkF,IAAAlF,EAAA,CAAA,IAN3B+F,GAAUd,GAMPC,CAAwB;AAAC,MAAAE;AAAA,EAAApF,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAECS,IAAAA,MAAA;AAC3B0C,IAAAA,EAAc,EAAI;AAClB,UAAAW,IAAiBH,EAAYxC,SAAuB4C,cAAC,0BAA0B;AAC/E,IAAID,aAAoBE,eACtBF,EAAQG,MAAAA;AAAAA,EACT,GACF5I,OAAAoF,KAAAA,IAAApF,EAAA,CAAA;AAND,QAAA6I,KAA6BzD;AAM3B,MAAA0D;AAAA,EAAA9I,EAAA,CAAA,MAAAgH,KAAAhH,UAAAuH,KAEkBuB,IAAAA,MAAA;AAClBb,IAAAA,EAAejB,CAAY,GAC3BmB,EAAaY,EAAgB;AAC7B,UAAAC,IAAkBZ,GAAiCpB,CAAY;AAC/DqB,IAAAA,EAAQE,CAAS,GACjBhB,IAAWgB,CAAS;AAAA,EAAC,GACtBvI,OAAAgH,GAAAhH,QAAAuH,GAAAvH,QAAA8I,KAAAA,IAAA9I,EAAA,EAAA;AAND,QAAAiJ,KAAoBH;AAMlB,MAAAI;AAAA,EAAAlJ,EAAA,EAAA,MAAAoH,KAAApH,EAAA,EAAA,MAAAsH,KAAAtH,EAAA,EAAA,MAAAqH,KAAArH,EAAA,EAAA,MAAAkH,KAAAlH,EAAA,EAAA,MAAAiH,KAAAjH,EAAA,EAAA,MAAAiJ,MAAAjJ,EAAA,EAAA,MAAAmH,KAAAnH,UAAAyD,KAEiByF,IAAAA,MAAA;AACjB,QAAI5B;AAAU;AAEd,QAAIH,GAAS;AACXD,MAAAA,IAAAA;AAAe;AAAA,IAAA;AAIjB,UAAAiC,IAAgB1F,EAAI2F,KAAAA;AACpB,IAAKD,MAELlC,EAASkC,GAAS/B,CAAiB,GAEnC6B,GAAAA,GAEA5B,IAAAA;AAAAA,EAAsB,GACvBrH,QAAAoH,GAAApH,QAAAsH,GAAAtH,QAAAqH,GAAArH,QAAAkH,GAAAlH,QAAAiH,GAAAjH,QAAAiJ,IAAAjJ,QAAAmH,GAAAnH,QAAAyD,GAAAzD,QAAAkJ,KAAAA,IAAAlJ,EAAA,EAAA;AAhBD,QAAAqJ,IAAmBH,GAkBnBjD,IAAqBkB,KAAamC,EAAQpC;AAAa,MAAAqC;AAAA,EAAAvJ,UAAAwH,KAE/B+B,KAAA/B,IACtB,gBAAAlH,EAACgE,GAAA,EAAe,WAAA,mBAAwB,OAAA,aAA0B,eAAA,QAAgB,UAAA,YAAe,KAAA,KAC9FkD,aACH,IAHsBG,QAIX3H,QAAAwH,GAAAxH,QAAAuJ,MAAAA,KAAAvJ,EAAA,EAAA;AAJb,QAAAwJ,KAAwBD,IAgBPE,KAAA5B,IAAA,gBAAA,gBACF6B,KAAA7B,IAAA,QAAA,OAGI8B,KAAA9B,IAAA,gBAAA;AAAqC,MAAA+B;AAAA,EAAA5J,UAAA2J,MAD5CC,IAAA;AAAA,IAAAC,aACOF;AAAAA,IAAqCG,WACvC;AAAA,EAAA,GACZ9J,QAAA2J,IAAA3J,QAAA4J,KAAAA,IAAA5J,EAAA,EAAA;AAAA,MAAA+J;AAAA,EAAA/J,EAAA,EAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KACaoF,KAAA;AAAA,IAAAF,aACC;AAAA,IAAaC,WACf;AAAA,EAAA,GACZ9J,QAAA+J,MAAAA,KAAA/J,EAAA,EAAA;AAAA,MAAAgK;AAAA,EAAAhK,EAAA,EAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAEOqF,KAAAA,MAAMlC,EAAc,EAAK,GAAC9H,QAAAgK,MAAAA,KAAAhK,EAAA,EAAA;AAOlB,QAAAiK,MAAC3C;AAAU,MAAA4C;AAAA,EAAAlK,UAAAuH,KAEb2C,IAAAC,CAAAA,MAAA;AACR9B,IAAAA,EAAQ8B,CAAC,GACT5C,IAAW4C,CAAC;AAAA,EAAC,GACdnK,QAAAuH,GAAAvH,QAAAkK,KAAAA,IAAAlK,EAAA,EAAA;AAAA,MAAAoK;AAAA,EAAApK,UAAAkI,KAAAlI,EAAA,EAAA,MAAAgI,KAAAhI,EAAA,EAAA,MAAAqJ,KAAArJ,EAAA,EAAA,MAAAwJ,MAAAxJ,UAAAiK,MAAAjK,EAAA,EAAA,MAAAkK,KARHE,IAAA,gBAAA9J,EAAC+J,IAAA,EAEerC,cAAAA,GACF,YAAAiC,IACCT,aAAAA,IACH,UAAAU,GAIAb,UAAAA,EAAAA,GARLnB,CAQe,GACpBlI,QAAAkI,GAAAlI,QAAAgI,GAAAhI,QAAAqJ,GAAArJ,QAAAwJ,IAAAxJ,QAAAiK,IAAAjK,QAAAkK,GAAAlK,QAAAoK,KAAAA,IAAApK,EAAA,EAAA;AAAA,MAAAsK;AAAA,EAAAtK,EAAA,EAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAGA2F,uBAACC,IAAA,EAAM,GAAGvK,QAAAsK,MAAAA,KAAAtK,EAAA,EAAA;AAGD,QAAAwK,KAAAvE,IAAA,kBAAA,mBACGwE,KAAAtD,IAAAQ,SAAA;AAA+B,MAAA+C;AAAA,EAAA1K,EAAA,EAAA,MAAAiG,KAAAjG,EAAA,EAAA,MAAAsH,KAAAtH,EAAA,EAAA,MAAAmH,KAAAnH,UAAAyD,KAE/BiH,IAACvD,KAAA,CAAclB,KAAkB,CAACkB,KAAD,CAAe1D,EAAI2F,UAApD9B,GAA0EtH,QAAAiG,GAAAjG,QAAAsH,GAAAtH,QAAAmH,GAAAnH,QAAAyD,GAAAzD,QAAA0K,KAAAA,IAAA1K,EAAA,EAAA;AAAA,MAAA2K;AAAA,EAAA3K,EAAA,EAAA,MAAAiG,KAAAjG,EAAA,EAAA,MAAAqJ,KAAArJ,EAAA,EAAA,MAAAwK,MAAAxK,EAAA,EAAA,MAAAyK,MAAAzK,UAAA0K,KALtFC,IAAA,gBAAArK,EAAC0F,IAAA,EACeC,cAAAA,GACP,OAAAuE,IACG,UAAAC,IACDpB,SAAAA,GACC,UAAAqB,EAAAA,CAA0E,GACpF1K,QAAAiG,GAAAjG,QAAAqJ,GAAArJ,QAAAwK,IAAAxK,QAAAyK,IAAAzK,QAAA0K,GAAA1K,QAAA2K,KAAAA,IAAA3K,EAAA,EAAA;AAAA,MAAA4K;AAAA,EAAA5K,EAAA,EAAA,MAAA0H,KAAA1H,UAAA2K,KATJC,IAAA,gBAAAvG,EAACc,IAAA,EAAW,KAAA,KAAO,IAAA,MAChBuC,UAAAA;AAAAA,IAAAA;AAAAA,IACD4C;AAAAA,IACAK;AAAAA,EAAAA,GAOF,GAAS3K,QAAA0H,GAAA1H,QAAA2K,GAAA3K,QAAA4K,KAAAA,IAAA5K,EAAA,EAAA;AAAA,MAAA6K;AAAA,EAAA7K,EAAA,EAAA,MAAAyH,KAAAzH,UAAAoK,KAAApK,EAAA,EAAA,MAAA4K,KAvBXC,IAAA,gBAAAxG,EAACiB,IAAA,EAAe,WAAA,UAAe,OAAA,MAC5BmC,UAAAA;AAAAA,IAAAA;AAAAA,IACD2C;AAAAA,IAWAQ;AAAAA,EAAAA,GAWF,GAAO5K,QAAAyH,GAAAzH,QAAAoK,GAAApK,QAAA4K,GAAA5K,QAAA6K,KAAAA,IAAA7K,EAAA,EAAA;AAAA,MAAA8K;AAAA,SAAA9K,EAAA,EAAA,MAAAyJ,MAAAzJ,EAAA,EAAA,MAAA0J,MAAA1J,EAAA,EAAA,MAAA4J,KAAA5J,UAAA6K,KA/CTC,uBAACzF,GAAA,EACMiD,QACC,OAAA,QACG,UAAA,MACA,UAAA,MACN,IAAA,MACU,cAAA,MACD,aAAA,OACA,aAAA,SACC,aAAAmB,IACF,WAAAC,IACA,YAAA,8DACH,QAAAE,GAIM,cAAAG,IAILlB,SAAAA,IACD,QAAAmB,IAERa,UAAAA,GAyBF,GAAM7K,QAAAyJ,IAAAzJ,QAAA0J,IAAA1J,QAAA4J,GAAA5J,QAAA6K,GAAA7K,QAAA8K,MAAAA,KAAA9K,EAAA,EAAA,GAhDN8K;AAgDM;AAxHe,SAAAlD,KAAA;AAAA;AAAA,SAAAY,GAAAuC,GAAA;AAAA,SAwBCA,IAAM;AAAC;AAxBR,SAAAhC,GAAAiC,GAAA;AAAA,SAuCCD,IAAM;AAAC;ACxD1B,MAAME,KAA8BA,CAACzH,IAAQ,OAC3CE,KAAKC,UAAUuH,GAA8B1H,CAAK,CAAC,GCK/C2H,KAAkBpL,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAmL,GAAAlF;AAAA,EAAAlG,SAAAD,KAC7B;AAAA,IAAAqL,UAAAA;AAAAA,IAAA,GAAAlF;AAAAA,EAAAA,IAA8BnG,GAAMC,OAAAD,GAAAC,OAAAoL,GAAApL,OAAAkG,MAAAkF,IAAApL,EAAA,CAAA,GAAAkG,IAAAlG,EAAA,CAAA;AAAA,MAAAK;AAAA,EAAAL,SAAAoL,KAIhC/K,sBAACgL,IAAA,EAA0BD,cAAAA,EAAAA,CAAQ,GAAIpL,OAAAoL,GAAApL,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAAoE;AAAA,SAAApE,EAAA,CAAA,MAAAkG,KAAAlG,SAAAK,KADzC+D,IAAA,gBAAA9D,EAAC+E,GAAA,EAAG,GAAKa,GACP7F,UAAAA,GACF,GAAML,OAAAkG,GAAAlG,OAAAK,GAAAL,OAAAoE,KAAAA,IAAApE,EAAA,CAAA,GAFNoE;AAEM,GAIGkH,KAAWH,ICAlBI,KAAc;AAAA,EAClBC,OAAOC;AAAAA,EACPC,IAAIC;AAAAA,EACJC,WAAWC;AAAAA,EACXC,YAAYC;AAAAA,EACZC,aAAaC;AAAAA,EACbC,OAAOC;AAAAA,EACPC,cAAcC;AAAAA,EACdC,eAAeC;AAAAA,EACfC,WAAWC;AACb,GAEMC,KAAU;AAAA,EACdC,KAAKC;AAAAA,EACLC,QAAQC;AAAAA,EACRC,QAAQC;AAAAA,EACRC,SAASC;AAAAA,EACTC,MAAMC;AAAAA,EACNC,UAAU5B;AAAAA,EACV,GAAGF;AACL,GAKM+B,KAA8B,OAE9BC,KAAiBA,CAACC,MAAyCC,OAAOC,OAAOnC,IAAaiC,CAAK,GAEpFG,KAAmBA,CAACC,MACxBlB,GAAQkB,CAAI,GAGRC,KAAqBA,CAACC,MAA4B;AAC7D,MAAI,CAACA,EAAM,QAAOR;AAElB,QAAMS,IAAaD,EAAKE,QAAQ,UAAU,EAAE;AAC5C,MAAIT,GAAeQ,CAAU,EAAG,QAAOA;AAEvC,UAAQA,GAAAA;AAAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAOT;AAAAA,EAAAA;AAEb;AC1EO,SAASW,GAAaC,GAAc;AACzC,QAAMC,IAAMD,EAAKE,YAAY,GAAG;AAChC,SAAOD,KAAO,IAAID,EAAKrK,MAAMsK,IAAM,CAAC,IAAID;AAC1C;AAEA,SAASG,GAAoB7K,GAAuB;AAClD,MAAI,CAACA,EAAO,QAAO;AAEnB,QAAM8K,IAAQ9K,EAAM+K,MAAM,GAAI,EAAE,CAAC,EAAEnF,KAAAA;AACnC,MAAIkF,MAAU,YAAa,QAAO;AAElC,MAAIP,IAAaO;AACjB,UAAIP,EAAWS,WAAW,IAAI,KAAKT,EAAWS,WAAW,IAAI,OAC3DT,IAAaA,EAAWlK,MAAM,CAAC,IAG1BkK,EAAWC,QAAQ,QAAQ,EAAE,EAAEA,QAAQ,OAAO,GAAG;AAC1D;AAEA,MAAMS,KAAgBA,CAACC,MAAiBA,EAAKF,WAAW,MAAM,GACxDG,KAAeA,CAACD,MAAiBA,EAAKF,WAAW,MAAM,GACvDI,KAAeA,CAACF,MAAiBA,EAAKF,WAAW,IAAI,GACrDK,KAAcA,CAACH,MAAiBA,EAAKF,WAAW,GAAG,KAAK,EAAEG,GAAaD,CAAI,KAAKA,MAAS,QACzFI,KAAgBA,CAACJ,MAAiBA,EAAKF,WAAW,GAAG,KAAK,EAAEC,GAAcC,CAAI,KAAKA,MAAS,QAE5FK,KAAmBA,CAACC,GAAgEC,MAAqB;AAC7G,EAAKD,EAAQE,IAAID,CAAQ,KACvBD,EAAQG,IAAIF,GAAU;AAAA,IAAEG,WAAW;AAAA,IAAGC,WAAW;AAAA,EAAA,CAAG;AAExD,GAEMC,KAAqBA,CAACN,GAAgEC,MAAqB;AAC/G,QAAMnJ,IAAUkJ,EAAQO,IAAIN,CAAQ;AACpC,EAAKnJ,MACLA,EAAQsJ,aAAa;AACvB,GAEMI,KAAqBA,CAACR,GAAgEC,MAAqB;AAC/G,QAAMnJ,IAAUkJ,EAAQO,IAAIN,CAAQ;AACpC,EAAKnJ,MACLA,EAAQuJ,aAAa;AACvB,GAQMI,KAAyBA,CAC7Bf,GACAgB,GACAV,MACG;AACH,MAAIP,GAAcC,CAAI;AACpB,WAAO;AAAA,MAAE,GAAGgB;AAAAA,MAAOC,iBAAiBtB,GAAoBK,EAAK7K,MAAM,CAAC,CAAC;AAAA,MAAG+L,QAAQ;AAAA,IAAA;AAGlF,MAAIjB,GAAaD,CAAI,GAAG;AAEtB,UAAMmB,IADWxB,GAAoBK,EAAK7K,MAAM,CAAC,CAAC,KAClB6L,EAAMC;AACtC,WAAIE,KAAad,GAAiBC,GAASa,CAAW,GAC/C;AAAA,MAAE,GAAGH;AAAAA,MAAOG,aAAAA;AAAAA,MAAaD,QAAQ;AAAA,IAAA;AAAA,EAC1C;AAEA,SAAKF,EAAMG,cAEPjB,GAAaF,CAAI,IACZ;AAAA,IAAE,GAAGgB;AAAAA,IAAOE,QAAQ;AAAA,EAAA,IAGxBF,EAAME,SAEPf,GAAYH,CAAI,KAClBY,GAAmBN,GAASU,EAAMG,WAAW,GACtCH,MAGLZ,GAAcJ,CAAI,KACpBc,GAAmBR,GAASU,EAAMG,WAAW,GAGxCH,KAXmBA,IANKA;AAkBjC;AAEO,SAASI,GAAiBC,GAAmB;AAClD,MAAI,CAACA,KAAY,OAAOA,KAAa,iBAAiB,CAAA;AAEtD,QAAMf,wBAAcgB,IAAAA;AACpB,MAAIN,IAA0B;AAAA,IAC5BG,aAAa;AAAA,IACbF,iBAAiB;AAAA,IACjBC,QAAQ;AAAA,EAAA;AAGV,QAAMK,IAAQF,EAASxB,MAAM,OAAO;AACpC,aAAWG,KAAQuB;AACjBP,IAAAA,IAAQD,GAAuBf,GAAMgB,GAAOV,CAAO;AAGrD,SAAOkB,MAAMrO,KAAKmN,EAAQmB,QAAAA,CAAS,EAAEC,IAAI,CAAC,CAACnB,GAAU;AAAA,IAAEG,WAAAA;AAAAA,IAAWC,WAAAA;AAAAA,EAAAA,CAAW,OAAO;AAAA,IAClFJ,UAAAA;AAAAA,IACAG,WAAAA;AAAAA,IACAC,WAAAA;AAAAA,EAAAA,EACA;AACJ;AAEO,SAASgB,GAAuBN,GAAmB;AACxD,SAAOD,GAAiBC,CAAQ,EAAEK,IAC/BjD,CAAAA,OACE;AAAA,IACCmD,MAAM;AAAA,IACNC,UAAUtC,GAAad,EAAK8B,QAAQ;AAAA,IACpCA,UAAU9B,EAAK8B;AAAAA,IACfG,WAAWjC,EAAKiC;AAAAA,IAChBC,WAAWlC,EAAKkC;AAAAA,EAAAA,EAEtB;AACF;AAEO,SAASmB,GAAqBT,GAAmB;AACtD,SAAOD,GAAiBC,CAAQ,EAAEK,IAAKjD,CAAAA,MAASA,EAAK8B,QAAQ;AAC/D;AAIA,MAAMwB,KAAqBA,CAAC/B,MAAiBD,GAAcC,CAAI,KAAKA,EAAKF,WAAW,aAAa,GAE3FkC,KAAwBA,CAAChC,MACzBA,EAAKF,WAAW,GAAG,KACnBE,EAAKF,WAAW,GAAG,KACnBE,EAAKF,WAAW,GAAG,IAAU,KAC1BE,EAAKtF,WAAW,IAGnBuH,KAAiBA,CAACjC,GAAckC,GAAoBC,MAAuB;AAC/E,MAAInC,EAAKF,WAAW,GAAG,GAAG;AACxB,UAAM/K,IAAOiL,EAAK7K,MAAM,CAAC;AACzB+M,IAAAA,EAASE,KAAKrN,CAAI,GAClBoN,EAASC,KAAKrN,CAAI;AAClB;AAAA,EACF;AAEA,MAAIiL,EAAKF,WAAW,GAAG,GAAG;AACxBoC,IAAAA,EAASE,KAAKpC,EAAK7K,MAAM,CAAC,CAAC;AAC3B;AAAA,EACF;AAEA,EAAI6K,EAAKF,WAAW,GAAG,KACrBqC,EAASC,KAAKpC,EAAK7K,MAAM,CAAC,CAAC;AAE/B,GAEMkN,KAAgBA,CAACd,GAAiBe,GAAoBJ,GAAoBC,MAAuB;AACrG,MAAII,IAAQD;AAEZ,SAAOC,IAAQhB,EAAMrM,UAAQ;AAC3B,UAAM8K,IAAOuB,EAAMgB,CAAK,KAAK;AAC7B,QAAIR,GAAmB/B,CAAI,KAAKE,GAAaF,CAAI,KAAKgC,GAAsBhC,CAAI;AAC9E;AAGFiC,IAAAA,GAAejC,GAAMkC,GAAUC,CAAQ,GACvCI,KAAS;AAAA,EACX;AAEA,UAAIL,EAAShN,SAAS,KAAKiN,EAASjN,SAAS,OAC3CgN,EAASE,KAAK,EAAE,GAChBD,EAASC,KAAK,EAAE,IAGXG;AACT,GAEMC,KAAeA,CAACjB,GAAiBe,MAAuB;AAC5D,QAAMG,IAAY9C,IAAqB4B,EAAMe,CAAU,KAAK,IAAInN,MAAM,CAAC,CAAC,GAClEuN,IAAOnB,EAAMe,IAAa,CAAC,KAAK;AACtC,MAAI,CAACrC,GAAayC,CAAI,EAAG,QAAO;AAAA,IAAEC,WAAWL,IAAa;AAAA,EAAA;AAG1D,QAAM/B,IADYZ,GAAoB+C,EAAKvN,MAAM,CAAC,CAAC,KACrBsN,KAAa,IACrCP,IAAqB,CAAA,GACrBC,IAAqB,CAAA;AAE3B,MAAII,IAAQD,IAAa;AACzB,SAAOC,IAAQhB,EAAMrM,UAAQ;AAC3B,UAAMkC,IAAUmK,EAAMgB,CAAK,KAAK;AAChC,QAAIR,GAAmB3K,CAAO,EAAG;AAEjC,QAAI,CAAC8I,GAAa9I,CAAO,GAAG;AAC1BmL,MAAAA,KAAS;AACT;AAAA,IACF;AAEAA,IAAAA,IAAQF,GAAcd,GAAOgB,IAAQ,GAAGL,GAAUC,CAAQ;AAAA,EAC5D;AAEA,SAAO;AAAA,IACLQ,WAAWJ;AAAAA,IACXK,SAAS;AAAA,MAAErC,UAAAA;AAAAA,MAAU2B,UAAUA,EAASW,KAAK;AAAA,CAAI;AAAA,MAAGV,UAAUA,EAASU,KAAK;AAAA,CAAI;AAAA,IAAA;AAAA,EAAE;AAEtF;AAEO,SAASC,GAAsBzB,GAAmB;AACvD,MAAI,CAACA,KAAY,OAAOA,KAAa,iBAAiB,CAAA;AAEtD,QAAME,IAAQF,EAASxB,MAAM,OAAO,GAC9BkD,IAA8B,CAAA;AAEpC,MAAIC,IAAI;AACR,SAAOA,IAAIzB,EAAMrM,UAAQ;AACvB,UAAM8K,IAAOuB,EAAMyB,CAAC,KAAK;AACzB,QAAI,CAACjD,GAAcC,CAAI,GAAG;AACxBgD,WAAK;AACL;AAAA,IACF;AAEA,UAAM;AAAA,MAAEL,WAAAA;AAAAA,MAAWC,SAAAA;AAAAA,IAAAA,IAAYJ,GAAajB,GAAOyB,CAAC;AACpD,IAAIJ,KAASG,EAASX,KAAKQ,CAAO,GAClCI,IAAIC,KAAKC,IAAIP,GAAWK,IAAI,CAAC;AAAA,EAC/B;AAEA,SAAOD;AACT;AC7NA,MAAMI,KAAsC;AAAA,EAC1CC,aAAa;AAAA,EACbC,MAAM;AAAA,EACNC,MAAM;AAAA,EACNC,MAAM;AAAA,EACNC,MAAM;AAAA,EACNC,OAAO;AACT,GAEMC,KAAuC;AAAA,EAC3CC,SAAS;AAAA,EACTC,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,mBAAmB;AACrB,GAEMC,KAAoBA,CAAC/E,MAAkBA,EAAMQ,QAAQ,UAAU,EAAE,GAEjEwE,KAAcA,CAAChF,MACZA,EACJe,MAAM,GAAG,EACTkE,OAAQnE,CAAAA,MAAUA,EAAM1K,SAAS,CAAC,EAClCwM,IAAK9B,OAAUA,EAAM,CAAC,EAAEoE,gBAAgBpE,EAAMzK,MAAM,CAAC,CAAC,EACtD0N,KAAK,GAAG,GAGPoB,KAAcA,CAACC,MAAyBL,GAAkBK,EAAWC,QAAQ,MAAM,GAEnFC,KAAeA,CAACtF,MAAkB;AACtC,QAAMO,IAAawE,GAAkB/E,CAAK;AAC1C,SAAOqE,GAAY9D,CAAU,KAAKyE,GAAYzE,EAAWC,QAAQ,MAAM,GAAG,CAAC;AAC7E,GAEM+E,KAAgBA,CAACrD,MACjB,CAACA,KAAS,OAAOA,KAAU,WAAiB,OAC5C0C,GAAa1C,CAAK,IAAU0C,GAAa1C,CAAK,IAC9CA,EAAMsD,SAAS,QAAQ,IAAU,YAC9B,MAGHC,KAAeA,CAACvD,MAAmBA,MAAU,WAAWA,MAAU,gBAElEwD,IAAiBA,CAACN,MAClBK,GAAaL,EAAWlD,OAAOyD,MAAM,IAChC;AAAA,EAAErF,MAAM;AAAA,EAAQtH,MAAM;AAAA,IAGxB;AAAA,EAAEsH,MAAM;AAAA,EAAQtH,MAAMqH,GAAmB8E,GAAYC,CAAU,CAAC;AAAA,GAGnEQ,IAAiBA,CAACR,GAAsBS,GAAiBC,MAA2B;AAExF,QAAMlN,IAAwB,CAAC;AAAA,IAAEkK,MAAM;AAAA,IAAQ7M,MADjC6P,KAAiBR,GAAaF,EAAWC,QAAQ,MAAM;AAAA,IACTU,MAAM;AAAA,EAAA,CAAM;AAExE,EAAIF,KACFjN,EAAM0K,KAAK;AAAA,IAAER,MAAM;AAAA,IAAQ7M,MAAM4P;AAAAA,IAAQG,OAAO;AAAA,EAAA,CAAM;AAGxD,QAAMC,IAAaV,GAAcH,EAAWlD,OAAOyD,MAAM;AACzD,SAAIM,KACFrN,EAAM0K,KAAK;AAAA,IAAER,MAAM;AAAA,IAAQ7M,MAAMgQ;AAAAA,IAAYD,OAAO;AAAA,EAAA,CAAM,GAGrDpN;AACT,GAEMsN,KAAiBA,CAACd,MAAyB;AAC/C,QAAMpP,IAAQoP,EAAWlD,OAAOlM;AAChC,SAAI,CAACA,KAAS,OAAOA,KAAU,YAAY0M,MAAMyD,QAAQnQ,CAAK,IAAU,OACjEA;AACT,GAEMoQ,KAAkBA,CAAChB,MAAyB;AAChD,QAAMiB,IAASjB,EAAWlD,OAAOmE;AACjC,SAAI,CAACA,KAAU,OAAOA,KAAW,YAAY3D,MAAMyD,QAAQE,CAAM,IAAU,OACpEA;AACT,GAEMC,IAAiBA,CAACtG,MAClB,OAAOA,KAAU,YAAYA,EAAMpE,OAAOxF,SAAS,IAAU4J,IAC1D,MAGHuG,KAAiBA,CAACvG,MAClB,CAACA,KAAS,OAAOA,KAAU,YAAY0C,MAAMyD,QAAQnG,CAAK,IAAU,OACjEA,GAGHwG,KAAiBA,CAACpB,GAAsB7H,MAAgB;AAC5D,QAAM2E,IAAQqE,GAAenB,EAAWlD,KAAK;AAC7C,SAAKA,IACEqE,GAAerE,EAAM3E,CAAG,CAAC,IADb;AAErB,GAEMkJ,KAAoBA,CAACzG,MAAkBA,EAAMQ,QAAQ,OAAO,GAAG,EAAEA,QAAQ,QAAQ,EAAE,GAEnFkG,KAAgBA,CAAC1G,MAAkBA,EAAMwF,SAAS,MAAM,KAAKxF,EAAMwF,SAAS,MAAM,KAAKxF,EAAMwF,SAAS,IAAI,GAW1GmB,KAA+BA,CAACvB,MAAyB;AAC7D,QAAMiB,IAASD,GAAgBhB,CAAU;AACzC,SAAO,CAACoB,GAAepB,GAAY,UAAU,GAAGmB,GAAeF,GAAQO,QAAQ,CAAC,EAAE3B,OAAOnJ,OAAO;AAGlG,GAEM+K,KAA8BA,CAACC,MAAmB;AACtD,QAAMC,IAASR,GAAeO,CAAK;AACnC,MAAI,CAACC,EAAQ,QAAO;AAEpB,QAAMC,IAAUV,EAAeS,EAAOtF,QAAQ,KAAK6E,EAAeS,EAAOE,YAAY,KAAKX,EAAeS,EAAOrG,IAAI;AACpH,SAAKsG,IAEE;AAAA,IACLvF,UAAUgF,GAAkBO,CAAO;AAAA,IACnCpF,WAAW,OAAOmF,EAAOnF,aAAc,WAAWmF,EAAOnF,YAAY;AAAA,IACrEC,WAAW,OAAOkF,EAAOlF,aAAc,WAAWkF,EAAOlF,YAAY;AAAA,IACrEqF,MAAMZ,EAAeS,EAAOG,IAAI,KAAK/M;AAAAA,IACrCgN,QAAQb,EAAeS,EAAOI,MAAM,KAAKhN;AAAAA,IACzCiN,OAAOd,EAAeS,EAAOK,KAAK,KAAKjN;AAAAA,EAAAA,IARpB;AAUvB,GAEMkN,KAA6BA,CAACjC,MAAyB;AAC3D,QAAMkC,IAAkC,CAAA;AAExC,aAAWV,KAAYD,GAA6BvB,CAAU,GAAG;AAC/D,UAAMzC,IAAUD,MAAMyD,QAAQS,EAASU,KAAK,IAAIV,EAASU,QAAQ,CAAA;AAEjE,eAAWR,KAASnE,GAAS;AAC3B,YAAM4E,IAAaV,GAA4BC,CAAK;AACpD,MAAKS,KACLD,EAAMhE,KAAKiE,CAAU;AAAA,IACvB;AAAA,EACF;AAEA,SAAOD;AACT,GAEME,KAAwBA,CAACpC,MAAyB;AACtD,QAAMpP,IAAQkQ,GAAed,CAAU,GACjCqC,IAAYnB,EAAetQ,GAAOkR,IAAI;AAC5C,MAAIO,EAAW,QAAOA;AAEtB,aAAWb,KAAYD,GAA6BvB,CAAU,GAAG;AAC/D,UAAMsC,IAAepB,EAAeM,EAASM,IAAI;AACjD,QAAIQ,EAAc,QAAOA;AAAAA,EAC3B;AAEA,QAAMC,IAAYN,GAA2BjC,CAAU,EACpDxC,IAAKjD,CAAAA,MAASA,EAAKuH,IAAI,EACvBjC,OAAO,CAACiC,MAAyBpL,EAAQoL,CAAK;AACjD,MAAIS,EAAUvR,SAAS,EAAG,QAAOuR,EAAU5D,KAAK;AAAA,CAAI;AAEpD,QAAM6D,IAAYtB,EAAetQ,GAAO4R,SAAS;AACjD,SAAIA,KAAalB,GAAckB,CAAS,IAAUA,IAE3C;AACT,GAEMC,KAAuCA,CAACP,MAAoC;AAChF,QAAMQ,wBAAWC,IAAAA,GACXC,IAA2B,CAAA;AAEjC,aAAWrI,KAAQ2H;AACjB,IAAIQ,EAAKpG,IAAI/B,EAAK8B,QAAQ,MAC1BqG,EAAKG,IAAItI,EAAK8B,QAAQ,GAEtBuG,EAAS1E,KAAK;AAAA,MACZR,MAAM;AAAA,MACNC,UAAUtC,GAAad,EAAK8B,QAAQ;AAAA,MACpCA,UAAU9B,EAAK8B;AAAAA,MACfG,WAAWjC,EAAKiC;AAAAA,MAChBC,WAAWlC,EAAKkC;AAAAA,IAAAA,CACjB;AAGH,SAAOmG;AACT,GAEME,KAAkCA,CAACZ,MAChC5E,MAAMrO,KAAK,IAAI0T,IAAIT,EAAM1E,IAAKjD,CAAAA,MAASA,EAAK8B,QAAQ,CAAC,CAAC,GAGzD0G,KAAgBA,CAAC/C,MAAyB;AAC9C,QAAMgD,IAAehC,GAAgBhB,CAAU;AAE/C,SACEkB,EAAelB,EAAWlD,OAAOmE,MAAM,KACvCC,EAAe8B,GAAcC,aAAa,KAC1C/B,EAAe8B,GAActE,OAAO,KACpCwC,EAAe8B,GAAcE,MAAM;AAEvC,GAEMC,KAAyBA,CAACvI,MAAkB;AAChD,QAAMwI,IAAQxI,EAAMwI,MAAM,kEAAkE;AAC5F,SAAKA,IAEE;AAAA,IACLC,WAAWnC,EAAekC,EAAM,CAAC,CAAC,KAAKrO;AAAAA,IACvCnG,SAASsS,EAAekC,EAAM,CAAC,CAAC,KAAK;AAAA,EAAA,IAJpB;AAMrB,GAEME,KAAeA,CAACtD,MAAyB;AAC7C,QAAMpP,IAAQkQ,GAAed,CAAU;AACvC,SACEkB,EAAetQ,GAAOoK,IAAI,KAC1BkG,EAAetQ,GAAOyS,SAAS,KAC/BnC,EAAetQ,GAAO2O,KAAK,KAC3B2B,EAAetQ,GAAO2S,UAAU,KAChCxO;AAEJ,GAEMyO,KAAuBA,CAACnH,OACrB;AAAA,EACLqB,MAAM;AAAA,EACN7M,MAAMwK,GAAagB,CAAQ;AAAA,EAC3BA,UAAAA;AAAAA,IAIEoH,KAAoBA,CAACzD,GAAsB0D,MAC3C,CAACrD,GAAaL,EAAWlD,OAAOyD,MAAM,KAAK,CAACP,EAAWlD,OAAO6G,YAAkBD,IAE7E,CADmB;AAAA,EAAExI,MAAM;AAAA,EAAWrK,MAAMmP,EAAWlD,MAAM6G;AAAAA,GAChD,GAAGD,CAAM,GAGzBE,KAAkC5D,CAAAA,MAAe;AACrD,QAAM7C,IAAWiF,GAAsBpC,CAAU,GAC3C6D,IAAgB5B,GAA2BjC,CAAU,GAErDxM,IAAQgN,EAAeR,GAAYjL,QAAW,aAAa,GAC3D+O,IAAerG,GAAuBN,KAAYpI,MAAS;AACjE,EAAI+O,EAAa9S,SAAS,IACxBwC,EAAM0K,KAAK,GAAG4F,CAAY,IAE1BtQ,EAAM0K,KAAK,GAAGuE,GAAqCoB,CAAa,CAAC;AAGnE,QAAMH,IAAkB,CAAA,GAClB7E,IAAWD,GAAsBzB,KAAYpI,MAAS;AAC5D,aAAW2J,KAAWG;AACpB6E,IAAAA,EAAOxF,KAAK;AAAA,MACVhD,MAAM;AAAA,MACN6I,UAAU;AAAA,MACV/F,UAAUU,EAAQV;AAAAA,MAClBC,UAAUS,EAAQT;AAAAA,MAClB+F,YAAY;AAAA,IAAA,CACb;AAGH,MAAIN,EAAO1S,WAAW;AACpB,eAAWuJ,KAAQsJ;AACjB,MAAI,CAACtJ,EAAKwH,UAAU,CAACxH,EAAKyH,SAC1B0B,EAAOxF,KAAK;AAAA,QACVhD,MAAM;AAAA,QACN6I,UAAU;AAAA,QACV/F,UAAUzD,EAAKwH,UAAU;AAAA,QACzB9D,UAAU1D,EAAKyH,SAAS;AAAA,QACxBgC,YAAY;AAAA,MAAA,CACb;AAIL,MAAIN,EAAO1S,WAAW,GAAG;AACvB,UAAMiT,IAAarG,GAAqBT,KAAYpI,MAAS;AAC7D,IAAIkP,EAAWjT,WAAW,KACxBiT,EAAW/F,KAAK,GAAG4E,GAAgCe,CAAa,CAAC,GAE/DI,EAAWjT,SAAS,KACtB0S,EAAOxF,KAAK;AAAA,MAAEhD,MAAM;AAAA,MAAc+I,YAAAA;AAAAA,IAAAA,CAAY;AAAA,EAElD;AAEA,SAAO;AAAA,IACLC,WAAW5D,EAAeN,CAAU;AAAA,IACpCxM,OAAAA;AAAAA,IACAkQ,QAAQD,GAAkBzD,GAAY0D,CAAM;AAAA,EAAA;AAEhD,GAEMS,KAA4BnE,CAAAA,MAAe;AAC/C,QAAMpP,IAAQkQ,GAAed,CAAU,GACjCiB,IAASD,GAAgBhB,CAAU,GAEnC3D,IACJ6E,EAAetQ,GAAOyL,QAAQ,KAC9B6E,EAAetQ,GAAO2J,IAAI,KAC1B2G,EAAeD,GAAQ5E,QAAQ,KAC/B6E,EAAeD,GAAQ1G,IAAI,KAC3B2G,EAAeD,GAAQ3F,IAAI,KAC3BvG,QAEIvB,IAAQgN,EAAeR,GAAYjL,QAAW,WAAW;AAC/D,SAAIsH,KACF7I,EAAM0K,KAAKsF,GAAqBnH,CAAQ,CAAC,GAGpC;AAAA,IACL6H,WAAW5D,EAAeN,CAAU;AAAA,IACpCxM,OAAAA;AAAAA,IACAkQ,QAAQD,GAAkBzD,GAAY,CAAA,CAAE;AAAA,EAAA;AAE5C,GAEMoE,KAA4BpE,CAAAA,MAAe;AAC/C,QAAMpP,IAAQkQ,GAAed,CAAU,GACjCiB,IAASD,GAAgBhB,CAAU,GACnCqE,IAAUnD,EAAetQ,GAAOyT,OAAO,KAAKtP,QAE5CvB,IAAQgN,EAAeR,GAAYqE,GAAS,aAAa,GACzDX,IAAkB,CAAA,GAElBY,IAAavB,GAAc/C,CAAU;AAC3C,EAAIsE,KACFZ,EAAOxF,KAAK;AAAA,IAAEhD,MAAM;AAAA,IAAQ6I,UAAU;AAAA,IAAQQ,MAAMD;AAAAA,EAAAA,CAAY;AAGlE,QAAME,IAAStD,EAAeD,GAAQuD,MAAM;AAC5C,SAAIA,KAAUA,MAAWF,KACvBZ,EAAOxF,KAAK;AAAA,IAAEhD,MAAM;AAAA,IAAQ6I,UAAU;AAAA,IAAQQ,MAAMC;AAAAA,EAAAA,CAAQ,GAG1D,OAAOvD,GAAQwD,YAAa,YAC9Bf,EAAOxF,KAAK;AAAA,IAAEhD,MAAM;AAAA,IAAQrK,MAAM,cAAcoQ,EAAOwD,QAAQ;AAAA,EAAA,CAAI,GAG9D;AAAA,IACLP,WAAW5D,EAAeN,CAAU;AAAA,IACpCxM,OAAAA;AAAAA,IACAkQ,QAAQD,GAAkBzD,GAAY0D,CAAM;AAAA,EAAA;AAEhD,GAEMgB,KAA4B1E,CAAAA,MAAe;AAC/C,QAAMpP,IAAQkQ,GAAed,CAAU,GACjCsE,IAAavB,GAAc/C,CAAU,GACrC2E,IAAQzD,EAAetQ,GAAOgU,OAAO,KAAK7P,QAE1CvB,IAAQgN,EAAeR,GAAY2E,GAAO,cAAc,GACxDjB,IAAkBY,IAAa,CAAC;AAAA,IAAEpJ,MAAM;AAAA,IAAQ6I,UAAU;AAAA,IAAQQ,MAAMD;AAAAA,EAAAA,CAAY,IAAI,CAAA;AAE9F,SAAO;AAAA,IACLJ,WAAW5D,EAAeN,CAAU;AAAA,IACpCxM,OAAAA;AAAAA,IACAkQ,QAAQD,GAAkBzD,GAAY0D,CAAM;AAAA,EAAA;AAEhD,GAEMmB,KAA4B7E,CAAAA,MAAe;AAC/C,QAAMpP,IAAQkQ,GAAed,CAAU,GACjCsE,IAAavB,GAAc/C,CAAU,GACrC4E,IAAU1D,EAAetQ,GAAOgU,OAAO,KAAK7P,QAE5CvB,IAAQgN,EAAeR,GAAY4E,GAAS,YAAY,GACxDlB,IAAkB,CAAA;AAExB,MAAIY,GAAY;AACd,UAAML,IAAaK,EAChB3I,MAAM,OAAO,EACb6B,IAAK1B,CAAAA,MAASA,EAAKtF,KAAAA,CAAM,EACzBqJ,OAAQ/D,CAAAA,MAASA,EAAK9K,SAAS,CAAC;AAEnC,IAAIiT,EAAWjT,SAAS,KACtB0S,EAAOxF,KAAK;AAAA,MAAEhD,MAAM;AAAA,MAAc+I,YAAAA;AAAAA,IAAAA,CAAY;AAAA,EAElD;AAEA,SAAO;AAAA,IACLC,WAAW5D,EAAeN,CAAU;AAAA,IACpCxM,OAAAA;AAAAA,IACAkQ,QAAQD,GAAkBzD,GAAY0D,CAAM;AAAA,EAAA;AAEhD,GAEMoB,KAA6B9E,CAAAA,MAAe;AAChD,QAAMsE,IAAavB,GAAc/C,CAAU,GACrC+E,IAAeT,IAAanB,GAAuBmB,CAAU,IAAI,MAEjEjB,IAAYC,GAAatD,CAAU,KAAK+E,GAAc1B,WACtD7P,IAAQgN,EAAeR,GAAYqD,GAAW,YAAY,GAE1D2B,IAAkBD,GAAcnW,WAAW0V,GAC3CZ,IAAkBsB,IAAkB,CAAC;AAAA,IAAE9J,MAAM;AAAA,IAAQ6I,UAAU;AAAA,IAAYQ,MAAMS;AAAAA,EAAAA,CAAiB,IAAI,CAAA;AAE5G,SAAO;AAAA,IACLd,WAAW5D,EAAeN,CAAU;AAAA,IACpCxM,OAAAA;AAAAA,IACAkQ,QAAQD,GAAkBzD,GAAY0D,CAAM;AAAA,EAAA;AAEhD,GAEauB,KAA6BA,OACjC;AAAA,EACL/F,aAAa0E;AAAAA,EACbzE,MAAMgF;AAAAA,EACN/E,MAAMgF;AAAAA,EACN/E,MAAMqF;AAAAA,EACNpF,MAAMuF;AAAAA,EACNtF,OAAOuF;AAAAA,IC3ZLtF,KAAuC;AAAA,EAC3CC,SAAS;AAAA,EACTC,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,mBAAmB;AACrB,GAEMC,KAAoBA,CAAC/E,MAAkBA,EAAMQ,QAAQ,UAAU,EAAE,GAEjEwE,KAAcA,CAAChF,MACZA,EACJe,MAAM,GAAG,EACTkE,OAAQnE,CAAAA,MAAUA,EAAM1K,SAAS,CAAC,EAClCwM,IAAK9B,OAAUA,EAAM,CAAC,EAAEoE,gBAAgBpE,EAAMzK,MAAM,CAAC,CAAC,EACtD0N,KAAK,GAAG,GAGPuB,KAAeA,CAACD,MAAkB;AACtC,QAAM9E,IAAawE,GAAkBM,KAAQ,MAAM,EAAE7E,QAAQ,MAAM,GAAG;AACtE,SAAOwE,GAAYzE,CAAU;AAC/B,GAEMkF,KAAeA,CAACvD,MAAmBA,MAAU,WAAWA,MAAU,gBAElEwD,KAAiBA,CAACN,MAClBK,GAAaL,EAAWlD,OAAOyD,MAAM,IAChC;AAAA,EAAErF,MAAM;AAAA,EAAQtH,MAAM;AAAA,IAGxB;AAAA,EAAEsH,MAAM;AAAA,EAAQtH,MAAMqH,GAAmB+E,EAAWC,QAAQ,MAAM;AAAA,GAGrEE,KAAgBA,CAACrD,MACjB,CAACA,KAAS,OAAOA,KAAU,WAAiB,OAC5C0C,GAAa1C,CAAK,IAAU0C,GAAa1C,CAAK,IAC9CA,EAAMsD,SAAS,QAAQ,IAAU,YAC9B,MAGH8E,KAAiBA,CAACtK,MAAmB;AACzC,MAAI,OAAOA,KAAU,SAAU,QAAOA;AACtC,MAAIA,KAAU,KAA6B,QAAO;AAElD,MAAI;AACF,WAAO9J,KAAKC,UAAU6J,GAAO,MAAM,CAAC;AAAA,EACtC,QAAQ;AACN,WAAO;AAAA,EACT;AACF,GAEMuK,KAAqBA,CAACnF,MAAkC;AAC5D,QAAM0D,IAAkB,CAAA;AAExB,EAAIrD,GAAaL,EAAWlD,OAAOyD,MAAM,KAAKP,EAAWlD,OAAO6G,aAC9DD,EAAOxF,KAAK;AAAA,IAAEhD,MAAM;AAAA,IAAWrK,MAAMmP,EAAWlD,MAAM6G;AAAAA,EAAAA,CAAW;AAGnE,QAAMyB,IAAYF,GAAelF,EAAWlD,OAAOlM,KAAK;AACxD,EAAIwU,KACF1B,EAAOxF,KAAK;AAAA,IAAEhD,MAAM;AAAA,IAAQ6I,UAAU;AAAA,IAAQQ,MAAMa;AAAAA,EAAAA,CAAW;AAGjE,QAAMd,IAAaY,GAAelF,EAAWlD,OAAOmE,MAAM;AAC1D,SAAIqD,KACFZ,EAAOxF,KAAK;AAAA,IAAEhD,MAAM;AAAA,IAAQ6I,UAAU;AAAA,IAAQQ,MAAMD;AAAAA,EAAAA,CAAY,GAG3DZ;AACT,GAEM2B,KAAoBA,CAACrF,MAAyB;AAClD,QAAMxM,IAAwB,CAAC;AAAA,IAAEkK,MAAM;AAAA,IAAQ7M,MAAMqP,GAAaF,EAAWC,IAAI;AAAA,IAAGU,MAAM;AAAA,EAAA,CAAM,GAC1FE,IAAaV,GAAcH,EAAWlD,OAAOyD,MAAM;AACzD,SAAIM,KACFrN,EAAM0K,KAAK;AAAA,IAAER,MAAM;AAAA,IAAQ7M,MAAMgQ;AAAAA,IAAYD,OAAO;AAAA,EAAA,CAAM,GAGrD;AAAA,IACLsD,WAAW5D,GAAeN,CAAU;AAAA,IACpCxM,OAAAA;AAAAA,IACAkQ,QAAQyB,GAAmBnF,CAAU;AAAA,EAAA;AAEzC,GAEMsF,KAAqBA,CAACC,MACrBA,IACE;AAAA,EAAE,GAAGN,GAAAA;AAAAA,EAA8B,GAAGM;AAAAA,IADtBN,GAAAA,GAInBO,KAAcA,CAACxF,GAAsByF,MAAoC;AAC7E,QAAMC,IAAU1F,EAAWC,QAAQ;AACnC,SAAOwF,EAAcC,CAAO,KAAKD,EAAc9F,GAAkB+F,CAAO,CAAC;AAC3E,GAEMC,KAAmBA,CACvB3F,GACAyF,GACAG,MACG;AACH,QAAMC,IAAWL,GAAYxF,GAAYyF,CAAa;AACtD,MAAII,GAAU;AACZ,UAAMC,IAAWD,EAAS7F,GAAY4F,CAAO;AAC7C,QAAIE,EAAU,QAAOA;AAAAA,EACvB;AAEA,SAAOT,GAAkBrF,CAAU;AACrC,GAEa+F,KAAkCA,CAACC,GAAyBJ,MAAyC;AAChH,QAAMH,IAAgBH,GAAmBM,GAASH,aAAa;AAG/D,SAAO;AAAA,IAAEQ,OAFKD,EAAYxI,IAAKwC,CAAAA,MAAe2F,GAAiB3F,GAAYyF,GAAeG,CAAO,CAAC;AAAA,EAEzFK;AACX,GCtHaC,KAAc;AAAA,EACzB1Z,MAAM;AAAA,EACN2Z,SAAS;AAAA,EACTC,OAAO,CAAA;AAAA,EACPC,QAAQ;AAAA,IACN,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,kCAAkC;AAAA,IAClC,2BAA2B;AAAA,IAC3B,+BAA+B;AAAA,IAC/B,gCAAgC;AAAA,IAChC,sCAAsC;AAAA,EAAA;AAE1C;ACHO,SAAAC,GAAAnZ,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GACL;AAAA,IAAA2Q,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAA8F,UAAAtW;AAAAA,IAAAuW,YAAAxS;AAAAA,IAAA+U,eAAA3U;AAAAA,EAAAA,IAAiGzE,GAArE4W,IAAAtW,MAAAsH,SAAA,cAAAtH,GAAwBuW,IAAAxS,MAAAuD,SAAA,KAAAvD,GAAoB+U,IAAA3U,MAAAmD,SAAA,KAAAnD;AAAoB,MAAAC;AAAA,EAAAzE,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAO/EF,IAAA;AAAA,IAAA2U,SAAW;AAAA,EAAA,GAAOpZ,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA;AAAA,MAAA6E;AAAA,EAAA7E,SAAAmZ,KAGvBtU,IAAAsU,IAAA;AAAA,IAAAE,WAEa;AAAA,MAAAC,UACC;AAAA,MAAiBC,YACf;AAAA,MAAiBC,YACjB;AAAA,MAAKC,yBACQ;AAAA,IAAA;AAAA,IAC1BC,oBACmB;AAAA,EAAA,IARtB,CAAA,GAUE1Z,OAAAmZ,GAAAnZ,OAAA6E,KAAAA,IAAA7E,EAAA,CAAA;AAAA,MAAA+E;AAAA,EAAA/E,EAAA,CAAA,MAAA4W,KAAA5W,SAAA6E,KAjBDE,IAAA;AAAA,IAAA4U,kBACa/C;AAAAA,IAAUgD,UAClB;AAAA,IAAIC,UACJ;AAAA,IAAEC,SACHrV;AAAAA,IAAkBsV,UACjB;AAAA,IAAaC,sBACD;AAAA,IAAK,GACvBnV;AAAAA,EAAAA,GAWL7E,OAAA4W,GAAA5W,OAAA6E,GAAA7E,OAAA+E,KAAAA,IAAA/E,EAAA,CAAA;AAnBH,QAAAwY,IACSzT;AAmBuB,MAAAE;AAAA,SAAAjF,EAAA,CAAA,MAAA2W,KAAA3W,EAAA,CAAA,MAAA6Q,KAAA7Q,EAAA,CAAA,MAAAwY,KAAAxY,SAAA4Q,KAG9B3L,IAAA,gBAAA3E,EAAC2Z,IAAA,EACO,OAAA,QACC,QAAA,QACGrJ,UAAAA,GACAC,UAAAA,GACA8F,UAAAA,GACJ,OAAA,YACG6B,SAAAA,GACI,aAAA5Q,IAGJ,SAAAY,IAER,GACDxI,OAAA2W,GAAA3W,OAAA6Q,GAAA7Q,OAAAwY,GAAAxY,OAAA4Q,GAAA5Q,QAAAiF,KAAAA,IAAAjF,EAAA,EAAA,GAdFiF;AAcE;AAxCC,SAAAuD,GAAA0R,GAAAC,GAAA;AAsCCC,EAAAA,EAAMC,OAAOC,SAAU,UAAU;AAAC;AAtCnC,SAAA1S,GAAAwS,GAAA;AAmCCA,EAAAA,EAAMC,OAAOE,YAAa,YAAYzB,EAAW;AAAC;ACrCnD,MAAM0B,IAAWC,IA2ClBC,KAAuBA,CAC3BC,GACAC,GACAC,GACAC,IAAkB,OACf;AACH,EAAIA,KACFH,EAAMG,gBAAAA,GAGHF,EAAIG,QACPJ,EAAMK,eAAAA,GAEJJ,EAAI3L,YACN4L,IAAaD,EAAI3L,QAAQ;AAE7B;AAEA,SAAAgM,GAAA5a,GAAA;AAAA,QAAAL,IAAAC,EAAA,CAAA,GAA4B;AAAA,IAAA2a,KAAAA;AAAAA,EAAAA,IAAAva;AAA2D,MAAA+D;AAAA,EAAApE,EAAA,CAAA,MAAA4a,EAAAM,OAAAlb,EAAA,CAAA,MAAA4a,EAAAO,OAGjF/W,iCAAmB,KAAAwW,EAAGO,KAAW,KAAAP,EAAGM,IAAAA,CAAI,GAAIlb,EAAA,CAAA,IAAA4a,EAAAM,KAAAlb,EAAA,CAAA,IAAA4a,EAAAO,KAAAnb,OAAAoE,KAAAA,IAAApE,EAAA,CAAA;AAAA,MAAAwE;AAAA,EAAAxE,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAC5CH,IAAA,gBAAAlE,EAAA8a,EAAA,UAAA,CAAA,CAAA,GAAmBpb,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA;AAAA,MAAAyE;AAAA,SAAAzE,SAAAoE,KAFrBK,sBAAA2W,EAAA,MAAA,EAAmB,OAAA,UAAgB,QAAA,UACjChX,UAAAA;AAAAA,IAAAA;AAAAA,IACAI;AAAAA,EAAAA,GACF,GAAcxE,OAAAoE,GAAApE,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA,GAHdyE;AAGc;AAIlB,SAAA4W,GAAAhb,GAAA;AAAA,QAAAL,IAAAC,EAAA,CAAA,GAA0B;AAAA,IAAA2a,KAAAA;AAAAA,IAAAC,YAAAA;AAAAA,EAAAA,IAAAxa,GAUT+D,IAAAwW,EAAGxL,aAAH,GACA5K,IAAAoW,EAAGvL,aAAH;AAAkB,MAAA5K;AAAA,EAAAzE,EAAA,CAAA,MAAA6a,KAAA7a,EAAA,CAAA,MAAA4a,EAAArK,YAAAvQ,EAAA,CAAA,MAAA4a,EAAA3L,YACZxK,IAAAA,MAAA;AACf,UAAAyJ,IAAa0M,EAAG3L,YAAa2L,EAAGrK;AAChCsK,IAAAA,IAAa3M,CAAI;AAAA,EAAC,GACnBlO,OAAA6a,GAAA7a,EAAA,CAAA,IAAA4a,EAAArK,UAAAvQ,EAAA,CAAA,IAAA4a,EAAA3L,UAAAjP,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA;AAAA,MAAA6E;AAAA,SAAA7E,EAAA,CAAA,MAAA4a,EAAArK,YAAAvQ,EAAA,CAAA,MAAAoE,KAAApE,EAAA,CAAA,MAAAwE,KAAAxE,SAAAyE,KAPHI,IAAA,gBAAAvE,EAACgb,IAAA,EACW,UAAAV,EAAGrK,UACF,WAAAnM,GACA,WAAAI,GACM,iBAAAC,EAAAA,CAGhB,GACDzE,EAAA,CAAA,IAAA4a,EAAArK,UAAAvQ,OAAAoE,GAAApE,OAAAwE,GAAAxE,OAAAyE,GAAAzE,OAAA6E,KAAAA,IAAA7E,EAAA,CAAA,GARF6E;AAQE;AAIN,SAAA0W,GAAAlb,GAAA;AAAA,QAAAL,IAAAC,EAAA,EAAA,GAAgC;AAAA,IAAA2a,KAAAA;AAAAA,IAAAC,YAAAA;AAAAA,EAAAA,IAAAxa,GAO9Bmb,IAAmBZ,EAAGrH,OAAH,WAAA5L,QACnB8T,IAAsBnS,GAAQsR,EAAGG,QAASH,EAAG3L,WAInC7K,IAAAwW,EAAGG,QAAH,KAECvW,KAAAoW,EAAGpH,OAAH,aAEC/O,IAAAgX,IAAA,YAAA;AAAqC,MAAA5W;AAAA,EAAA7E,EAAA,CAAA,MAAA6a,KAAA7a,SAAA4a,KACpC/V,IAAA8V,CAAAA,MAAWD,GAAqBC,GAAOC,GAAKC,GAAY,EAAI,GAAC7a,OAAA6a,GAAA7a,OAAA4a,GAAA5a,OAAA6E,KAAAA,IAAA7E,EAAA,CAAA;AAG7D,QAAA+E,IAAA6V,EAAGpH,QAAH,aAAA;AAAuC,MAAAvO;AAAA,EAAAjF,SAAA+E,KAFxCE,IAAA;AAAA,IAAAyW,gBACU;AAAA,IAAWC,OACpB5W;AAAAA,EAAAA,GACR/E,OAAA+E,GAAA/E,OAAAiF,KAAAA,IAAAjF,EAAA,CAAA;AAAA,MAAAkF;AAAA,SAAAlF,EAAA,CAAA,MAAAwb,KAAAxb,EAAA,CAAA,MAAA4a,EAAAnX,QAAAzD,EAAA,CAAA,MAAAoE,KAAApE,EAAA,CAAA,MAAAwE,KAAAxE,EAAA,CAAA,MAAAyE,KAAAzE,EAAA,EAAA,MAAA6E,KAAA7E,EAAA,EAAA,MAAAiF,KAVHC,sBAAC0W,IAAA,EACO,MAAAxX,GACMoX,YAAAA,GACL,OAAAhX,GACQ,gBAAA,QACP,QAAAC,GACC,SAAAI,GACD,QAAAI,GAKP2V,YAAGnX,MACN,GAAOzD,OAAAwb,GAAAxb,EAAA,CAAA,IAAA4a,EAAAnX,MAAAzD,OAAAoE,GAAApE,OAAAwE,GAAAxE,OAAAyE,GAAAzE,QAAA6E,GAAA7E,QAAAiF,GAAAjF,QAAAkF,KAAAA,IAAAlF,EAAA,EAAA,GAbPkF;AAaO;AAIX,SAAA2W,GAAAxb,GAAA;AAAA,QAAAL,IAAAC,EAAA,EAAA,GAAiC;AAAA,IAAA2a,KAAAA;AAAAA,IAAAC,YAAAA;AAAAA,EAAAA,IAAAxa,GAO/Bmb,IAAmBZ,EAAGrH,OAAH,WAAA5L,QAITvD,IAAAwW,EAAGG,QAAH,KAECvW,IAAAoW,EAAGpH,QAAH,aAAA;AAAyC,MAAA/O;AAAA,EAAAzE,EAAA,CAAA,MAAA6a,KAAA7a,SAAA4a,KAEvCnW,IAAAkW,CAAAA,MAAWD,GAAqBC,GAAOC,GAAKC,CAAU,GAAC7a,OAAA6a,GAAA7a,OAAA4a,GAAA5a,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA;AAEvD,QAAA6E,IAAA+V,EAAGpH,QAAH,aAAA;AAAyC,MAAAzO;AAAA,EAAA/E,SAAA6E,KAD1CE,IAAA;AAAA,IAAA4W,OACC9W;AAAAA,IAAyC6W,gBAChC;AAAA,EAAA,GACjB1b,OAAA6E,GAAA7E,OAAA+E,KAAAA,IAAA/E,EAAA,CAAA;AAAA,MAAAiF;AAAA,SAAAjF,EAAA,CAAA,MAAAwb,KAAAxb,SAAA4a,EAAAnX,QAAAzD,EAAA,CAAA,MAAAoE,KAAApE,EAAA,CAAA,MAAAwE,KAAAxE,SAAAyE,KAAAzE,EAAA,EAAA,MAAA+E,KATHE,sBAAC2W,IAAA,EACO,MAAAxX,GACMoX,YAAAA,GACL,OAAAhX,GACQ,gBAAA,aACN,SAAAC,GACD,QAAAM,GAKP6V,YAAGnX,MACN,GAAOzD,OAAAwb,GAAAxb,EAAA,CAAA,IAAA4a,EAAAnX,MAAAzD,OAAAoE,GAAApE,OAAAwE,GAAAxE,OAAAyE,GAAAzE,QAAA+E,GAAA/E,QAAAiF,KAAAA,IAAAjF,EAAA,EAAA,GAZPiF;AAYO;AAIX,SAAA6W,GAAAzb,GAAA;AAAA,QAAAL,IAAAC,EAAA,CAAA,GAA0B;AAAA,IAAA2a,KAAAA;AAAAA,IAAAmB,aAAAA;AAAAA,EAAAA,IAAA1b,GASR+D,IAAAwW,EAAGrH,OAAH,WAAA5L,QAGHnD,IAAAuX,KAAA,CAAgBnB,EAAGpH,QAAnB,OAAA;AAA6C,MAAA/O;AAAA,EAAAzE,SAAAwE,KADzCC,IAAA;AAAA,IAAAkX,OACJnX;AAAAA,EAAAA,GACRxE,OAAAwE,GAAAxE,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA;AAAA,MAAA6E;AAAA,SAAA7E,EAAA,CAAA,MAAA4a,EAAAnX,QAAAzD,EAAA,CAAA,MAAAoE,KAAApE,EAAA,CAAA,MAAAyE,KALHI,IAAA,gBAAAvE,EAAC0b,MACa,YAAA5X,GACN,OAAA,YACO,aAAAK,GAIZmW,UAAAA,EAAGnX,KAAAA,CACN,GAAOzD,EAAA,CAAA,IAAA4a,EAAAnX,MAAAzD,OAAAoE,GAAApE,OAAAyE,GAAAzE,OAAA6E,KAAAA,IAAA7E,EAAA,CAAA,GARP6E;AAQO;AAIX,SAAAoX,GAAA5b,GAAA;AAAA,QAAAL,IAAAC,EAAA,EAAA,GAAqB;AAAA,IAAA2a,KAAAA;AAAAA,IAAAmB,aAAAA;AAAAA,IAAAlB,YAAAA;AAAAA,EAAAA,IAAAxa;AASnB,UAAQua,EAAGtK,MAAAA;AAAAA,IAAK,KACT,UAAQ;AAAA,UAAAlM;AAAA,aAAApE,SAAA4a,KACJxW,sBAAC6W,MAAwBL,KAAAA,EAAAA,CAAG,GAAI5a,OAAA4a,GAAA5a,OAAAoE,KAAAA,IAAApE,EAAA,CAAA,GAAhCoE;AAAAA,IAAgC;AAAA,IAAA,KACpC,QAAM;AAAA,UAAAA;AAAA,aAAApE,EAAA,CAAA,MAAA6a,KAAA7a,SAAA4a,KACFxW,IAAA,gBAAA9D,EAAC+a,IAAA,EAAsBT,KAAAA,GAAiBC,YAAAA,EAAAA,CAAU,GAAI7a,OAAA6a,GAAA7a,OAAA4a,GAAA5a,OAAAoE,KAAAA,IAAApE,EAAA,CAAA,GAAtDoE;AAAAA,IAAsD;AAAA,IAAA,KAC1D,QAAM;AAAA,UAAAA;AAAA,aAAApE,EAAA,CAAA,MAAA6a,KAAA7a,SAAA4a,KACFxW,IAAAwW,EAAGsB,YAAa,WACrB,gBAAA5b,EAACib,IAAA,EAA4BX,KAAAA,GAAiBC,YAAAA,EAAAA,CAAU,IAExD,gBAAAva,EAACub,IAAA,EAA6BjB,KAAAA,GAAiBC,YAAAA,EAAAA,CAAU,GAC1D7a,OAAA6a,GAAA7a,OAAA4a,GAAA5a,OAAAoE,KAAAA,IAAApE,EAAA,CAAA,GAJMoE;AAAAA,IAIN;AAAA,IAAA,KACE,QAAM;AAAA,UAAAA;AAAA,aAAApE,EAAA,CAAA,MAAA+b,KAAA/b,SAAA4a,KACFxW,IAAA,gBAAA9D,EAACwb,IAAA,EAAsBlB,KAAAA,GAAkBmB,aAAAA,EAAAA,CAAW,GAAI/b,OAAA+b,GAAA/b,OAAA4a,GAAA5a,QAAAoE,KAAAA,IAAApE,EAAA,EAAA,GAAxDoE;AAAAA,IAAwD;AAAA,IAAA;AAAA,aAExD;AAAA,EAAI;AACd;AAGH,SAAA+X,GAAA9b,GAAA;AAAA,QAAAL,IAAAC,EAAA,EAAA,GAAuB;AAAA,IAAAmc,KAAAA;AAAAA,EAAAA,IAAA/b;AACrB,MAAI,CAAC+b,KAAOA,EAAGtO,SAAU;AAAM,WAAS;AAExC,MAAIsO,EAAGtO,SAAU,QAAM;AAAA,QAAA1J;AAAA,IAAApE,EAAA,CAAA,MAAAoc,EAAA5V,QACCpC,IAAAuJ,GAAiByO,EAAG5V,IAAK,GAACxG,EAAA,CAAA,IAAAoc,EAAA5V,MAAAxG,OAAAoE,KAAAA,IAAApE,EAAA,CAAA;AAAhD,UAAAqc,IAAsBjY;AAA2B,QAAAI;AAAA,WAAAxE,SAAAqc,KAE/C7X,IAAA,gBAAAlE,EAAAka,EAAA,WAAA,EAA4B,SAAA,QAAc,QAAA,QAAc,QAAA,QAAkB,YAAA,MAAW,OAAA,MACnF,UAAA,gBAAAla,EAAC0b,IAAA,EAAa,SAAA,eAAyB,YAAA,UACrC,UAAA,gBAAA1b,EAAC+b,GAAA,EAAoB,MAAA,IAAiB,gBAAC,EAAA,CACzC,GACF,GAAqBrc,OAAAqc,GAAArc,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA,GAJrBwE;AAAAA,EAIqB;AAExB,MAAAJ;AAAA,EAAApE,EAAA,CAAA,MAAAoc,EAAAlB,OAAAlb,EAAA,CAAA,MAAAoc,EAAAjB,OAKK/W,iCAAmB,KAAAgY,EAAGjB,KAAW,KAAAiB,EAAGlB,IAAAA,CAAI,GAAIlb,EAAA,CAAA,IAAAoc,EAAAlB,KAAAlb,EAAA,CAAA,IAAAoc,EAAAjB,KAAAnb,OAAAoE,KAAAA,IAAApE,EAAA,CAAA;AAAA,MAAAwE;AAAA,EAAAxE,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAC5CH,IAAA,gBAAAlE,EAAA8a,EAAA,UAAA,CAAA,CAAA,GAAmBpb,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA;AAAA,MAAAyE;AAAA,SAAAzE,SAAAoE,KAHvBK,IAAA,gBAAAnE,EAAAka,EAAA,WAAA,EACE,4BAAAY,EAAA,MAAA,EAAqB,SAAA,QACnBhX,UAAAA;AAAAA,IAAAA;AAAAA,IACAI;AAAAA,EAAAA,EAAAA,CACF,EAAA,CACF,GAAqBxE,OAAAoE,GAAApE,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA,GALrByE;AAKqB;AAIzB,SAAA6X,GAAAjc,GAAA;AAAA,QAAAL,IAAAC,EAAA,CAAA,GAAmB;AAAA,IAAAkX,MAAAA;AAAAA,IAAAR,UAAAA;AAAAA,EAAAA,IAAAtW,GAaD+D,IAAAuS,IAAA,GAAcA,CAAQ,gBAAtB;AAAkD,MAAAnS;AAAA,EAAAxE,SAAAmX,KAE9D3S,IAAA,gBAAAlE,EAAC+E,GAAA,EAAO,IAAA,QAAQ8R,UAAAA,GAAK,GAAMnX,OAAAmX,GAAAnX,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA;AAAA,MAAAyE;AAAA,SAAAzE,EAAA,CAAA,MAAAoE,KAAApE,SAAAwE,KAb7BC,IAAA,gBAAAnE,EAAC+E,GAAA,EACI,IAAA,OACQ,YAAA,YACL,OAAA,MACO,cAAA,MACL,SAAA,MACG,YAAA,QACF,UAAA,MACE,YAAA,WACD,WAAA,QACC,YAAA,OACC,cAAAjB,GAEZI,UAAAA,EAAAA,CACF,GAAMxE,OAAAoE,GAAApE,OAAAwE,GAAAxE,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA,GAdNyE;AAcM;AAIV,SAAA8X,GAAAlc,GAAA;AAAA,QAAAL,IAAAC,EAAA,EAAA,GAAmB;AAAA,IAAAuc,GAAAA;AAAAA,IAAA3B,YAAAA;AAAAA,EAAAA,IAAAxa;AACjB,UAAQmc,EAAC1O,MAAAA;AAAAA,IAAK,KACP,WAAS;AAAA,UAAA1J;AAAA,MAAApE,EAAA,CAAA,MAAAwc,EAAA/Y,QAGRW,gCAAYoY,YAAC/Y,MAAM,GAAYzD,EAAA,CAAA,IAAAwc,EAAA/Y,MAAAzD,OAAAoE,KAAAA,IAAApE,EAAA,CAAA;AAAA,UAAAwE;AAAA,MAAAxE,EAAA,CAAA,MAAAwc,EAAAC,aAC9BjY,IAAAgY,EAACC,WAAgBC,OAChB,gBAAApc,EAAAqc,EAAA,QAAA,EACE,4BAAC7X,IAAA,EAAO,UAAA;AAAA,QAAA;AAAA,QAAI0X,EAACC,UAAUC;AAAAA,MAAAA,EAAAA,CAAM,GAC/B,IAHD,MAIO1c,EAAA,CAAA,IAAAwc,EAAAC,WAAAzc,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA;AAAA,UAAAyE;AAAA,aAAAzE,EAAA,CAAA,MAAAoE,KAAApE,SAAAwE,KANVC,gCACEL,UAAAA;AAAAA,QAAAA;AAAAA,QACCI;AAAAA,MAAAA,GAKH,GAAYxE,OAAAoE,GAAApE,OAAAwE,GAAAxE,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA,GAPZyE;AAAAA,IAOY;AAAA,IAAA,KAEX,QAAM;AAAA,UAAAL;AAAA,aAAApE,EAAA,CAAA,MAAAwc,EAAArF,QAAAnX,EAAA,CAAA,MAAAwc,EAAA7F,YAEPvS,IAAA,gBAAA9D,EAAAqc,EAAA,MAAA,EAAkB,QAAA,KAAY,SAAA,KAC5B,UAAA,gBAAArc,YAAmB,SAAA,KACjB,UAAA,gBAAAA,EAACgc,IAAA,EAAoB,UAAAE,EAAC7F,UAAiB,MAAA6F,EAACrF,KAAAA,CAAK,EAAA,CAC/C,EAAA,CACF,GAAYnX,EAAA,CAAA,IAAAwc,EAAArF,MAAAnX,EAAA,CAAA,IAAAwc,EAAA7F,UAAA3W,OAAAoE,KAAAA,IAAApE,EAAA,CAAA,GAJZoE;AAAAA,IAIY;AAAA,IAAA,KAEX,QAAM;AASa,YAAAA,IAAAoY,EAAC5F,cAAD;AAAqB,UAAApS;AAAA,aAAAxE,UAAAwc,EAAA7F,YAAA3W,UAAAwc,EAAA3L,YAAA7Q,UAAAwc,EAAA5L,YAAA5Q,UAAAoE,KAPzCI,sBAAAmY,EAAA,MAAA,EAAkB,QAAA,KAAY,SAAA,KAC5B,UAAA,gBAAArc,EAAAqc,EAAA,MAAA,EAAmB,SAAA,KACjB,UAAA,gBAAArc,EAAC+E,GAAA,EAAW,QAAA,SAAa,MAAA,SAAiB,UAAA,UACxC,UAAA,gBAAA/E,EAAC4Y,IAAA,EACW,UAAAsD,EAAC5L,UACD,UAAA4L,EAAC3L,UACD,UAAA2L,EAAC7F,UACC,YAAAvS,GACG,eAAA,IAAI,EAAA,CAEvB,GACF,GACF,GAAYpE,EAAA,EAAA,IAAAwc,EAAA7F,UAAA3W,EAAA,EAAA,IAAAwc,EAAA3L,UAAA7Q,EAAA,EAAA,IAAAwc,EAAA5L,UAAA5Q,QAAAoE,GAAApE,QAAAwE,KAAAA,IAAAxE,EAAA,EAAA,GAZZwE;AAAAA,IAYY;AAAA,IAAA,KAEX,QAAM;AAAA,UAAAJ;AAAA,aAAApE,EAAA,EAAA,MAAAwc,EAAA/Y,QAEPW,sBAAAuY,EAAA,MAAA,EAAsB,YAAA,eACpB,4BAAAA,EAAA,MAAA,EAAmB,SAAA,MACjB,4BAACrY,GAAA,EAAe,WAAA,mBAAmBkY,UAAAA,EAAC/Y,MAAM,GAC5C,EAAA,CACF,GAAYzD,EAAA,EAAA,IAAAwc,EAAA/Y,MAAAzD,QAAAoE,KAAAA,IAAApE,EAAA,EAAA,GAJZoE;AAAAA,IAIY;AAAA,IAAA,KAEX,cAAY;AAAA,UAAAA;AAAA,MAAApE,EAAA,EAAA,MAAAwc,EAAA3F,cAGVzS,IAAAoY,EAAC3F,WAAWzG,IAAKxI,EAEjB,GAAC5H,EAAA,EAAA,IAAAwc,EAAA3F,YAAA7W,QAAAoE,KAAAA,IAAApE,EAAA,EAAA;AAAA,UAAAwE;AAAA,aAAAxE,UAAAoE,KAHJI,IAAA,gBAAAlE,EAACsc,IAAA,EAAS,IAAA,MAAS,KAAA,MAAa,SAAA,OAAe,UAAA,QAC5CxY,UAAAA,EAAAA,CAGH,GAAQpE,QAAAoE,GAAApE,QAAAwE,KAAAA,IAAAxE,EAAA,EAAA,GAJRwE;AAAAA,IAIQ;AAAA,IAAA,KAEP,aAAW;AAAA,UAAAJ;AAAA,MAAApE,EAAA,EAAA,MAAAwc,KAAAxc,UAAA6a,KACJzW,IAAAoY,EAACK,OAAQ;AAAA,QAAAhC,YAAAA;AAAAA,MAAAA,CAAc,GAAC7a,QAAAwc,GAAAxc,QAAA6a,GAAA7a,QAAAoE,KAAAA,IAAApE,EAAA,EAAA;AAAA,UAAAwE;AAAA,aAAAxE,UAAAoE,KAA3BI,4BAAGJ,UAAAA,EAAAA,CAAwB,GAAIpE,QAAAoE,GAAApE,QAAAwE,KAAAA,IAAAxE,EAAA,EAAA,GAA/BwE;AAAAA,IAA+B;AAAA,EAAA;AACzC;AAvDH,SAAAoD,GAAAkV,GAAA;AAAA,SAiDY,gBAAAxc,EAACyc,IAAA,EAAkCD,UAAAA,EAAAA,GAAfA,CAAkB;AAAI;AAStD,SAAAE,GAAA3c,GAAA;AAAA,QAAAL,IAAAC,EAAA,EAAA,GAAyB;AAAA,IAAAgd,MAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAzC,YAAAA;AAAAA,EAAAA,IAAAxa;AAgBxB,MAAA+D;AAAA,EAAApE,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAIOP,IAAA,gBAAA9D,EAAAka,EAAA,WAAA,CAAA,CAAA,GAAsBxa,OAAAoE,KAAAA,IAAApE,EAAA,CAAA;AAAA,MAAAwE;AAAA,EAAAxE,EAAA,CAAA,MAAAid,EAAAnG,aADxBtS,IAAA,gBAAAH,EAAAmW,EAAA,WAAA,EACEpW,UAAAA;AAAAA,IAAAA;AAAAA,IACA,gBAAA9D,EAAC6b,IAAA,EAAmB,KAAAc,EAAInG,UAAAA;KAC1B,GAAqB9W,EAAA,CAAA,IAAAid,EAAAnG,WAAA9W,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA;AAAA,MAAAyE;AAAA,EAAAzE,EAAA,CAAA,MAAAod,KAAApd,SAAAmd,KAAAnd,EAAA,CAAA,MAAAid,EAAA7W,SAAApG,EAAA,CAAA,MAAAkd,KAAAld,SAAA6a,KAAA7a,EAAA,CAAA,MAAAsd,KAElB7Y,IAAAwY,EAAI7W,MAAMxC,SAAU,KACnB,gBAAAtD,EAAAka,EAAA,OAAA,EACY,WAAA,SACC,YAAA,UACH,SAAA,QACG,YAAA,UACI,gBAAA,iBACP,QAAA4C,IAAA,YAAA,WACC,SAAAA,IAAA,MAAkBE,EAASJ,CAAO,IAAlCvV,QAET,UAAA,gBAAAtD,EAAC2X,IAAA,EAAa,SAAA,eAAyB,YAAA,UAAa,KAAA,MAAc,UAAA,QAChE,UAAA;AAAA,IAAA,gBAAA1b,EAAC0b,IAAA,EAAa,SAAA,eAAyB,YAAA,UAAa,KAAA,MAAc,UAAA,QAC/DiB,UAAAA,EAAI7W,MAAMgK,IAAK,CAAAwK,GAAAlJ,MACd,gBAAApR,EAAC2b,IAAA,EAAyBrB,KAAAA,GAAkBwC,aAAAA,GAAuBvC,YAAAA,EAAAA,GAAjDnJ,EACnB,EAAA,CACH;AAAA,IACC0L,IACC,gBAAA9c,EAAC0b,IAAA,EACS,SAAA,eACG,YAAA,UACA,YAAA,0CACA,WAAAmB,IAAA,iBAAA,mBACL,OAAA,eACO,aAAA;AAAA,MAAAxB,OAAS;AAAA,IAAA,GAEtB,UAAA,gBAAArb,EAACid,IAAA,EAAoB,UAAE,GACzB,IAVD;AAAA,EAAA,EAAA,CAYH,EAAA,CACF,GACDvd,OAAAod,GAAApd,OAAAmd,GAAAnd,EAAA,CAAA,IAAAid,EAAA7W,OAAApG,OAAAkd,GAAAld,OAAA6a,GAAA7a,OAAAsd,GAAAtd,OAAAyE,KAAAA,IAAAzE,EAAA,CAAA;AAAA,MAAA6E;AAAA,EAAA7E,EAAA,EAAA,MAAAqd,KAAArd,UAAAmd,KAAAnd,EAAA,EAAA,MAAAid,EAAA3G,UAAAtW,UAAA6a,KACAhW,IAAAwY,IACC,gBAAA/c,EAAC+E,GAAA,EAAY,SAAA,QAAyB,kBAAA8X,IAAA,QAAA,OAAmC,YAAA,iCACtEA,cACC,gBAAA7c,EAAC+E,GAAA,EACU,UAAA,UACA,SAAA,GACC,WAAA,iBACC,YAAA,4CAEV4X,YAAI3G,OAAOlG,IAAM,CAAAoN,GAAAC,wBACfpY,GAAA,EACC,UAAA,gBAAA/E,EAACic,MAAaiB,GAAAA,GAAmB3C,YAAAA,GAAU,EAAA,GADnCnJ,CAEV,CACD,EAAA,CACH,IAZD,MAcH,IAhBD,MAiBO1R,QAAAqd,GAAArd,QAAAmd,GAAAnd,EAAA,EAAA,IAAAid,EAAA3G,QAAAtW,QAAA6a,GAAA7a,QAAA6E,KAAAA,IAAA7E,EAAA,EAAA;AAAA,MAAA+E;AAAA,EAAA/E,EAAA,EAAA,MAAAyE,KAAAzE,UAAA6E,KAjDVE,IAAA,gBAAAV,EAAAmW,EAAA,SAAA,EAAqB,IAAA,MAClB/V,UAAAA;AAAAA,IAAAA;AAAAA,IA+BAI;AAAAA,EAAAA,GAkBH,GAAmB7E,QAAAyE,GAAAzE,QAAA6E,GAAA7E,QAAA+E,KAAAA,IAAA/E,EAAA,EAAA;AAAA,MAAAiF;AAAA,SAAAjF,EAAA,EAAA,MAAAkd,KAAAld,UAAAwE,KAAAxE,EAAA,EAAA,MAAA+E,KAvDrBE,gCAAmB,KAAA,MACjBT,UAAAA;AAAAA,IAAAA;AAAAA,IAIAO;AAAAA,EAAAA,EAAAA,GAL2BmY,CAwD7B,GAAgBld,QAAAkd,GAAAld,QAAAwE,GAAAxE,QAAA+E,GAAA/E,QAAAiF,KAAAA,IAAAjF,EAAA,EAAA,GAxDhBiF;AAwDgB;AAIb,SAAAyY,GAAArd,GAAA;AAAA,QAAAL,IAAAC,EAAA,EAAA,GAA0B;AAAA,IAAA0d,MAAAA;AAAAA,IAAA9C,YAAAA;AAAAA,EAAAA,IAAAxa;AAAoF,MAAA+D;AAAA,EAAApE,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KACjDP,QAAEpE,OAAAoE,KAAAA,IAAApE,EAAA,CAAA;AAApE,QAAA,CAAA4d,GAAAC,CAAA,IAAgC9V,GAAkC3D,CAAE,GAEpE0Z,IAAetV;AAAkE,MAAAhE;AAAA,EAAAxE,EAAA,CAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAElEH,IAAAuG,CAAAA,MAAA;AACb8S,IAAAA,EAAYE,CAAAA,OAAW;AAAA,MAAA,GAAKA;AAAAA,MAAI,CAAGhT,CAAG,GAAG,CAACgT,EAAKhT,CAAG;AAAA,IAAA,EAAI;AAAA,EAAC,GACxD/K,OAAAwE,KAAAA,IAAAxE,EAAA,CAAA;AAFD,QAAAge,IAAexZ;AAEb,MAAAC;AAAA,MAAAzE,EAAA,CAAA,MAAA2d,EAAA9E,SAAA7Y,EAAA,CAAA,MAAA4d,KAAA5d,EAAA,CAAA,MAAA6a,GAAA;AAAA,QAAAhW;AAAA,IAAA7E,EAAA,CAAA,MAAA4d,KAAA5d,SAAA6a,KAIkBhW,IAAAA,CAAAoY,GAAAgB,MAAA;AACd,YAAAjT,IAAY8S,EAAOb,GAAM9O,CAAG,GAC5BkP,KAAmBJ,EAAI3G,QAAe1S,UAAnB,KAA4B,GAC/CwZ,KAAmBH,EAAIiB,cAAJ,OAADb,GAClBF,IAAeC,IAAaQ,EAAS7S,CAAG,KAAZ,KAAbsS;AAAiD,aAG9D,gBAAA/c,EAAC0c,IAAA,EAEOC,MAAAA,GACGlS,YACDoS,QAAAA,GACGC,WAAAA,GACAC,WAAAA,GACDW,aACEnD,YAAAA,EAAAA,GAPP9P,CAOiB;AAAA,IACtB,GAEL/K,OAAA4d,GAAA5d,OAAA6a,GAAA7a,OAAA6E,KAAAA,IAAA7E,EAAA,CAAA,GAlBAyE,IAAAkZ,EAAI9E,MAAMzI,IAAKvL,CAkBf,GAAC7E,EAAA,CAAA,IAAA2d,EAAA9E,OAAA7Y,OAAA4d,GAAA5d,OAAA6a,GAAA7a,OAAAyE;AAAAA,EAAA;AAAAA,IAAAA,IAAAzE,EAAA,CAAA;AAAA,MAAA6E;AAAA,SAAA7E,SAAAyE,KAnBJI,IAAA,gBAAAvE,EAAAka,EAAA,MAAA,EACG/V,UAAAA,GAmBH,GAAgBzE,OAAAyE,GAAAzE,QAAA6E,KAAAA,IAAA7E,EAAA,EAAA,GApBhB6E;AAoBgB;AA9Bb,SAAA2D,GAAA2V,GAAAhQ,GAAA;AAAA,SAGsCgQ,EAAEC,KAAF,MAAcD,EAAEC,EAAG,KAAnB,OAA+BjQ,CAAG;AAAE;ACtX1E,SAAAkQ,GAAAte,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GACL;AAAA,IAAA2Y,aAAAA;AAAAA,IAAA0F,eAAAA;AAAAA,IAAAzD,YAAAA;AAAAA,EAAAA,IAAmD9a;AAAM,MAAAM;AAAA,EAAAL,EAAA,CAAA,MAAA4Y,KAAA5Y,SAAAse,KAC5Cje,IAAAsY,GAAgCC,GAAa;AAAA,IAAA0F,eAAAA;AAAAA,EAAAA,CAAiB,GAACte,OAAA4Y,GAAA5Y,OAAAse,GAAAte,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAA5E,QAAA2d,IAAatd;AAAgE,MAAA+D;AAAA,SAAApE,EAAA,CAAA,MAAA2d,KAAA3d,SAAA6a,KAEtEzW,IAAA,gBAAA9D,EAACod,IAAA,EAAuBC,MAAAA,GAAkB9C,YAAAA,EAAAA,CAAU,GAAI7a,OAAA2d,GAAA3d,OAAA6a,GAAA7a,OAAAoE,KAAAA,IAAApE,EAAA,CAAA,GAAxDoE;AAAwD;ACEjE,MAAMma,KAAaA,CAACC,MACXA,EAAK1Q,SAAS,QAGjB2Q,KAAmBA,CAACC,MACpBA,KAAS,MAAa,IAAIA,IAAQ,KAAMC,QAAQ,CAAC,CAAC,MAC/CC,OAAOF,CAAK,GAGfG,KAAkBA,CAACC,MAAsC;AAC7D,UAAQA,GAAAA;AAAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb,GAEMC,KAAyBA,CAACC,GAA6BhO,MAAuB;AAClF,QAAM4H,IAA0B,CAAA;AAChC,MAAIqG,IAAYjO;AAEhB,SAAOiO,IAAYD,EAAMpb,UAAQ;AAC/B,UAAMsb,IAAWF,EAAMC,CAAS;AAChC,QAAI,CAACV,GAAWW,CAAQ,EAAG;AAC3BtG,IAAAA,EAAY9H,KAAKoO,CAAQ,GACzBD,KAAa;AAAA,EACf;AAEA,SAAO;AAAA,IAAErG,aAAAA;AAAAA,IAAavH,WAAW4N,IAAY;AAAA,EAAA;AAC/C;AAEO,SAAAE,GAAApf,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GACL;AAAA,IAAAmf,SAAAA;AAAAA,IAAAvE,YAAAA;AAAAA,IAAAwE,wBAAAA;AAAAA,EAAAA,IAAwDtf,GACxDuf,IAAqCD,KAAAhB;AAAiD,MAAAhe;AAAA,EAAAL,EAAA,CAAA,MAAAof,EAAAJ,SACxE3e,IAAA+e,EAAOJ,SAAP,CAAA,GAAmBhf,EAAA,CAAA,IAAAof,EAAAJ,OAAAhf,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAjC,QAAAgf,IAAc3e;AAAoB,MAAA+D;AAAA,MAAApE,EAAA,CAAA,MAAAsf,KAAAtf,SAAAof,EAAAhB,MAAApe,EAAA,CAAA,MAAA6a,KAAA7a,SAAAgf,GAAA;AAClC,UAAAO,IAA2B,CAAA;AAE3B,aAAAC,IAAqB,GAAGA,IAAYR,EAAKpb,QAAzC4b,IAAkDA,IAAa,GAAbA,GAuEjD;AAtEC,YAAAhB,IAAaQ,EAAMQ,CAAS,GAC5BzU,IAAY,GAAGqU,EAAOhB,EAAG,IAAIoB,CAAS;AAAGC,MAAAA,EAEzC,SAAQjB,EAAI1Q,MAAAA;AAAAA,QAAK,KACV,QAAM;AACTyR,UAAAA,EAAKzO,uBACH,OAAA,EACE,UAAA,gBAAAxQ,EAACgL,MAAUkT,UAAAA,EAAI/a,KAAAA,CAAM,EAAA,GADbsH,CAEV,CACF;AACA,gBAAA0U;AAAAA,QAAM;AAAA,QAAA,KACH,aAAW;AACdF,UAAAA,EAAKzO,KACH,gBAAAxQ,EAAC+E,GAAA,EAES,SAAA,KACH,KAAA;AAAA,YAAA,gCAC6B;AAAA,cAAAsW,OACvB;AAAA,cAAsB9B,UACnB;AAAA,cAAmB2B,YACjB;AAAA,YAAA;AAAA,UACd,GAGF,4BAACnQ,IAAA,EAA0B,cAAAmT,EAAI/a,KAAAA,CAAK,KAV/BsH,CAWP,CACF;AACA,gBAAA0U;AAAAA,QAAM;AAAA,QAAA,KACH,QAAM;AACT,gBAAA;AAAA,YAAA7G,aAAAA;AAAAA,YAAAvH,WAAAA;AAAAA,UAAAA,IAAmC0N,GAAuBC,GAAOQ,CAAS;AAC1EA,UAAAA,IAAYnO,GACZkO,EAAKzO,KACH,gBAAAxQ,EAAC+E,GAAA,EAAoB,OAAA,QACnB,UAAA,gBAAA/E,EAACgf,GAAA,EAA0C1G,aAAAA,GAAa,mBAA0BiC,YAAAA,GAAU,EAAA,GADpF9P,CAEV,CACF;AACA,gBAAA0U;AAAAA,QAAM;AAAA,QAAA,KAEH,WAAS;AACZF,UAAAA,EAAKzO,KACH,gBAAAzM,EAACgB,GAAA,EAAsB,SAAA,QAAkB,YAAA,UAAa,KAAA,KAAO,IAAA,KAC3D,UAAA;AAAA,YAAA,gBAAA/E,EAACof,IAAA,EAAa,MAAA,KAAA;8BACbpb,GAAA,EAAc,UAAA,MAAW,OAAA,YAAW,UAAA,cAAA,CAErC;AAAA,UAAA,EAAA,GAJQyG,CAKV,CACF;AACA,gBAAA0U;AAAAA,QAAM;AAAA,QAAA,KACH,SAAO;AACVF,UAAAA,EAAKzO,KACH,gBAAAxQ,EAAC+E,GAAA,EAAiB,IAAA,KAChB,4BAACf,GAAA,EAAc,UAAA,MAAW,OAAA,YACvBua,UAAAA,GAAgBL,EAAIM,SAAU,EAAA,CACjC,KAHQ/T,CAIV,CACF;AACA,gBAAA0U;AAAAA,QAAM;AAAA,QAAA,KACH,eAAa;AAChBF,UAAAA,EAAKzO,KACH,gBAAAxQ,EAAC+E,GAAA,EAAiB,IAAA,KAChB,4BAACf,GAAA,EAAc,UAAA,MAAW,OAAA,aAAY,UAAA;AAAA,YAAA;AAAA,YAC3Bma,GAAiBD,EAAImB,WAAY;AAAA,YAAE;AAAA,YAAOlB,GAAiBD,EAAIoB,YAAa;AAAA,YAAE;AAAA,YACtFpB,EAAIqB,kBAAJ,MAA6BpB,GAAiBD,EAAIqB,eAAgB,CAAC,gBAAnE;AAAA,UAAA,GACH,EAAA,GAJQ9U,CAKV,CACF;AACA,gBAAA0U;AAAAA,QAAM;AAAA,QAAA;AAENF,UAAAA,EAAKzO,KAAM,IAAI;AAAA,MAAC;AAAA,IACnB;AAGI1M,IAAAA,4BAAGmb,UAAAA,EAAAA,CAAK,GAAIvf,OAAAsf,GAAAtf,EAAA,CAAA,IAAAof,EAAAhB,IAAApe,OAAA6a,GAAA7a,OAAAgf,GAAAhf,OAAAoE;AAAAA,EAAA;AAAAA,IAAAA,IAAApE,EAAA,CAAA;AAAA,SAAZoE;AAAY;AC7Hd,MAAM0b,KAAmBA,CAAC9gB,MAC3BA,MAAS,UAAUA,MAAS,eAAeA,MAAS,cAAoBA,IACrE,aAGI+gB,KAA6BA,CAACX,MAA4B;AACrE,QAAMJ,IAAQI,EAAQJ,SAAS,CAAA;AAI/B,SAHIA,EAAMpb,WAAW,KAEDob,EAAMgB,KAAMxB,CAAAA,MAASA,EAAK1Q,SAAS,UAAU,UAAU0Q,CAAI,IACvD,KAEjBQ,EAAMgB,KAAMxB,CAAAA,MAASA,EAAK1Q,SAAS,eAAe0Q,EAAK1Q,SAAS,MAAM;AAC/E,GAEamS,KAAiCA,CAACC,MAA+B;AAC5E,QAAMC,IAA2B,CAAA;AAEjC,aAAWf,KAAWc,GAAU;AAC9B,UAAME,IAAWD,EAAOA,EAAOvc,SAAS,CAAC;AAEzC,QAAIwc,KAAYA,EAASphB,SAASogB,EAAQpgB,QAAQ+gB,GAA2BX,CAAO,GAAG;AACrFgB,MAAAA,EAASpB,QAAQ,CAAC,GAAIoB,EAASpB,SAAS,CAAA,GAAK,GAAII,EAAQJ,SAAS,EAAG;AACrE;AAAA,IACF;AAEAmB,IAAAA,EAAOrP,KAAK;AAAA,MACV,GAAGsO;AAAAA,MACHJ,OAAO,CAAC,GAAII,EAAQJ,SAAS,CAAA,CAAG;AAAA,IAAA,CACjC;AAAA,EACH;AAEA,SAAOmB;AACT,GC3BME,KAAqBpV,GAAAA,GAiBdqV,KAAYvgB,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GACvB;AAAA,IAAAigB,UAAAA;AAAAA,IAAA/Y,WAAA9G;AAAAA,IAAAkgB,iBAAAA;AAAAA,IAAAC,uBAAAA;AAAAA,IAAAC,sBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAhZ,SAAAA;AAAAA,IAAAiZ,UAAAA;AAAAA,IAAAvZ,mBAAAA;AAAAA,IAAAC,oBAAAA;AAAAA,IAAAI,gBAAAA;AAAAA,IAAAmZ,gBAAAA;AAAAA,EAAAA,IAaI7gB,GAXFoH,IAAA9G,MAAAsH,SAAA,KAAAtH;AAAiB,MAAAwgB,GAAAC,GAAAC,GAAA3c,GAAAI,GAAAC,GAAAI,GAAAE,GAAAE,GAAAC;AAAA,MAAAlF,EAAA,CAAA,MAAAwgB,KAAAxgB,EAAA,CAAA,MAAAugB,KAAAvgB,EAAA,CAAA,MAAAkgB,KAAAlgB,SAAAmH,GAAA;AAanB,UAAAgZ,KAAeF,GAA+BC,CAAQ,GACtDc,IAAoBb,GAAMvc,SAAU,GACpC8B,KAAyBya,GAAMc,OAAQrZ,IAA+D,CAAC;AAGpGmZ,IAAAA,IAAAzb,IAAcb,IAAA,YAAqBI,IAAA,UAAWE,IAAA,QAASE,IAAA,QAAgBC,IAAA,UACrE4b,IAAApgB,GAAcC,MACb6D,sBAACmB,MAA6BD,kBAAAA,GAAAA,CAAgB,GAC7Cmb,IAAAngB,GAAcE,UACZwD,IAAA4c,IACC,gBAAA1gB,EAACsc,IAAA,EAAU,KAAA,MACRuD,UAAAA,GAAM/P,IAAK8Q,CAAAA,MAAA;AACV,YAAArf,IAAaie,GAAiBV,EAAOpgB,IAAK;AAAE,+BAG1CsE,GAAA,MAAA,EAAyCzB,MAAAA,GACvC,UAAA,gBAAAvB,gBAA2BuB,MAAAA,GACzB,UAAA,gBAAAvB,EAAC6e,MAA8BC,SAAAA,GAAoBjY,WAAAA,GAAS,GAC9D,EAAA,GAHqBiY,EAAOhB,EAI9B;AAAA,IAAmB,CAEtB,EAAA,CACH,IAEA,gBAAA9d,EAAC6gB,IAAA,EACO,MAAA,gBAAA7gB,EAAC8gB,IAAA,EAAwB,MAAA,IAAiB,aAAA,KAAG,GAC5Cb,OAAAA,GACMC,aAAAA,GAAqB,GAErCxgB,OAAAwgB,GAAAxgB,OAAAugB,GAAAvgB,OAAAkgB,GAAAlgB,OAAAmH,GAAAnH,OAAA6gB,GAAA7gB,OAAA8gB,GAAA9gB,OAAA+gB,GAAA/gB,OAAAoE,GAAApE,OAAAwE,GAAAxE,OAAAyE,GAAAzE,QAAA6E,GAAA7E,QAAA+E,GAAA/E,QAAAiF,GAAAjF,QAAAkF;AAAAA,EAAA;AAAA2b,IAAAA,IAAA7gB,EAAA,CAAA,GAAA8gB,IAAA9gB,EAAA,CAAA,GAAA+gB,IAAA/gB,EAAA,CAAA,GAAAoE,IAAApE,EAAA,CAAA,GAAAwE,IAAAxE,EAAA,CAAA,GAAAyE,IAAAzE,EAAA,CAAA,GAAA6E,IAAA7E,EAAA,EAAA,GAAA+E,IAAA/E,EAAA,EAAA,GAAAiF,IAAAjF,EAAA,EAAA,GAAAkF,IAAAlF,EAAA,EAAA;AAAA,MAAAoF;AAAA,EAAApF,EAAA,EAAA,MAAA6gB,KAAA7gB,UAAAoE,KArBHgB,IAAA,gBAAA9E,EAACugB,KACEzc,UAAAA,EAAAA,CAqBH,GAA0BpE,QAAA6gB,GAAA7gB,QAAAoE,GAAApE,QAAAoF,KAAAA,IAAApF,EAAA,EAAA;AAAA,MAAA8I;AAAA,EAAA9I,EAAA,EAAA,MAAA0E,uBAAAC,IAAA,2BAAA,KAC1BmE,IAAA,gBAAAxI,EAAAI,GAAA,gBAAA,EAA0C,cAAA,4BAA0B,GAAGV,QAAA8I,KAAAA,IAAA9I,EAAA,EAAA;AAAA,MAAAkJ;AAAA,EAAAlJ,EAAA,EAAA,MAAA8gB,KAAA9gB,UAAAwE,KAAAxE,EAAA,EAAA,MAAAoF,KAzBzE8D,sBAAC4X,GAAA,EACCtc,UAAAA;AAAAA,IAAAA;AAAAA,IACAY;AAAAA,IAuBA0D;AAAAA,EAAAA,GACF,GAAsB9I,QAAA8gB,GAAA9gB,QAAAwE,GAAAxE,QAAAoF,GAAApF,QAAAkJ,KAAAA,IAAAlJ,EAAA,EAAA;AAAA,MAAAuJ;AAAA,EAAAvJ,EAAA,EAAA,MAAA0H,KAAA1H,EAAA,EAAA,MAAAoH,KAAApH,EAAA,EAAA,MAAAyH,KAAAzH,UAAAygB,KAAAzgB,EAAA,EAAA,MAAAqH,KAAArH,EAAA,EAAA,MAAA0gB,KAAA1gB,EAAA,EAAA,MAAAmH,KAEtBoC,sBAAClE,GAAA,EAAO,IAAA,MACN,UAAA,gBAAA/E,EAACyG,MACc0Z,gBACCJ,cAAAA,IACHlZ,WAAAA,GACDuZ,UAAAA,GACDhZ,SAAAA,GACUN,mBAAAA,GACCC,oBAAAA,GACJI,gBAAAA,GAAc,GAElC,GAAMzH,QAAA0H,GAAA1H,QAAAoH,GAAApH,QAAAyH,GAAAzH,QAAAygB,GAAAzgB,QAAAqH,GAAArH,QAAA0gB,GAAA1gB,QAAAmH,GAAAnH,QAAAuJ,KAAAA,IAAAvJ,EAAA,EAAA;AAAA,MAAAyJ;AAAA,EAAAzJ,UAAA2gB,KACNlX,sBAACnE,IAAA,EAAO,GAAA,OAAqB,gBAAA,YAC1Bqb,UAAAA,GACH,GAAO3gB,QAAA2gB,GAAA3gB,QAAAyJ,KAAAA,IAAAzJ,EAAA,EAAA;AAAA,MAAA0J;AAAA,SAAA1J,EAAA,EAAA,MAAA+gB,KAAA/gB,UAAA4gB,KAAA5gB,EAAA,EAAA,MAAAkJ,KAAAlJ,UAAAuJ,KAAAvJ,EAAA,EAAA,MAAAyJ,KAAAzJ,UAAAyE,KAAAzE,EAAA,EAAA,MAAA6E,KAAA7E,EAAA,EAAA,MAAA+E,KAAA/E,EAAA,EAAA,MAAAiF,KAAAjF,UAAAkF,KA3CTwE,IAAA,gBAAArF,EAAC0c,GAAA,EAAc,UAAAtc,GAAqB,WAAAI,GAAW,GAAAE,GAAS,GAAAE,GAAgB,UAAAC,GACtEgE,UAAAA;AAAAA,IAAAA;AAAAA,IA2BC0X;AAAAA,IACDrX;AAAAA,IAYAE;AAAAA,EAAAA,GAGF,GAAOzJ,QAAA+gB,GAAA/gB,QAAA4gB,GAAA5gB,QAAAkJ,GAAAlJ,QAAAuJ,GAAAvJ,QAAAyJ,GAAAzJ,QAAAyE,GAAAzE,QAAA6E,GAAA7E,QAAA+E,GAAA/E,QAAAiF,GAAAjF,QAAAkF,GAAAlF,QAAA0J,KAAAA,IAAA1J,EAAA,EAAA,GA5CP0J;AA4CO;AAjEc,SAAA9B,GAAA8W,GAAAU,GAAA;AAAA,SAkBoCV,KAASU,EAAOpgB,SAAU,SAAjB,IAAA;AAAgC;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ButtonProps } from '@chakra-ui/react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
type StoryFn = () => ReactNode;
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
7
|
+
decorators: ((Story: StoryFn) => import("react/jsx-runtime").JSX.Element)[];
|
|
8
|
+
};
|
|
9
|
+
export default meta;
|
|
10
|
+
export declare const Variants: {
|
|
11
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
};
|
|
13
|
+
export declare const Sizes: {
|
|
14
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
};
|
|
16
|
+
export declare const IconOnly: {
|
|
17
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
};
|