diff --git a/README.md b/README.md index 389f657..943de75 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,29 @@ widget ![Demo](imgs/widget_example.gif) +## Features + +- **Interactive Node Graphs**: Build visual workflows with drag-and-drop nodes +- **No JavaScript Required**: Pure Python API for defining node types and layouts +- **JSON Schema Integration**: Automatically generate node UIs from JSON schemas +- **Static HTML Export**: Export workflows as standalone HTML files for documentation and sharing + - Interactive or view-only modes + - Self-contained files that work without Python/Jupyter + - Perfect for visualizing DAGs and data pipelines +- **Jupyter & Marimo Support**: Works seamlessly in Jupyter notebooks and Marimo apps +- **Flexible Layouts**: Customizable grid-based node layouts with various components +- **Type-Safe**: Built with Pydantic for robust type validation + +## Export Workflows + +```python +# Export as standalone HTML (no Python required to view) +widget.export_html("workflow.html", interactive=True) + +# Export as JSON for persistence +widget.export_json("workflow.json") +``` + ## Development diff --git a/docs/guides/import-export.md b/docs/guides/import-export.md index ad373cf..abcb640 100644 --- a/docs/guides/import-export.md +++ b/docs/guides/import-export.md @@ -1,24 +1,26 @@ # Import and Export -Save and load workflows with JSON serialization. +Save and load workflows with JSON serialization, or export as standalone HTML for visualization. ## Overview -PyNodeWidget workflows can be **exported to JSON** for: +PyNodeWidget workflows can be **exported** in multiple formats: -- **Persistence**: Save workflows between sessions -- **Sharing**: Share workflows with others -- **Version control**: Track workflow changes in git -- **Templates**: Create reusable workflow templates -- **Backup**: Archive workflow configurations - -The exported JSON includes: +### JSON Export +For **persistence, sharing, and version control**: - Nodes (configuration, position, type) - Edges (connections between nodes) - Node values (current field values) - Viewport (zoom and pan state) - Node templates (registered node types) +### HTML Export +For **visualization and documentation** (no Python/Jupyter required): +- Standalone HTML files that work in any web browser +- Interactive or static (view-only) modes +- Self-contained with embedded JavaScript and CSS +- Perfect for sharing DAG visualizations, documentation, and reports + ## Basic Export/Import ### Export to File @@ -522,6 +524,254 @@ with open("subgraph.json", "w") as f: json.dump(subgraph, f, indent=2) ``` +## HTML Export (Static Visualization) + +Export workflows as **standalone HTML files** for visualization without Python or Jupyter. Perfect for: + +- **Documentation**: Include interactive DAG visualizations in reports +- **Sharing**: Send workflow visualizations to non-technical stakeholders +- **Publishing**: Embed on websites or wikis +- **Presentations**: Show workflow architecture in presentations + +### Basic HTML Export + +```python +from pynodewidget import NodeFlowWidget + +flow = NodeFlowWidget() + +# Build workflow... +# ... + +# Export as interactive HTML +flow.export_html("workflow.html") +# ✓ HTML exported to workflow.html + +# Open in any web browser - no Python required! +``` + +### Interactive vs Static + +**Interactive Mode** (default): Users can pan, zoom, and interact with the visualization. + +```python +# Interactive: users can pan, zoom, select nodes +flow.export_html( + "workflow_interactive.html", + interactive=True # Default +) +``` + +**Static Mode**: View-only visualization, no interaction. + +```python +# Static: view-only, no interaction +flow.export_html( + "workflow_static.html", + interactive=False +) +``` + +### Customization Options + +#### Custom Title + +```python +flow.export_html( + "data_pipeline.html", + title="Data Processing Pipeline v2.0" +) +``` + +#### Custom Height + +```python +# Fixed height +flow.export_html( + "workflow.html", + height="800px" +) + +# Full viewport height +flow.export_html( + "workflow.html", + height="100vh" +) +``` + +#### Asset Embedding + +**Embedded Assets** (default): All JavaScript and CSS inline in single file. + +```python +# Single self-contained HTML file +flow.export_html( + "workflow.html", + embed_assets=True # Default +) +``` + +**Separate Assets**: JavaScript and CSS in separate files. + +```python +# Creates: workflow.html, standalone.iife.js, standalone.css +flow.export_html( + "workflow.html", + embed_assets=False +) +``` + +### Complete Example + +```python +from pynodewidget import NodeFlowWidget + +# Create workflow +flow = NodeFlowWidget() + +# Add node types +flow.add_node_type_from_schema( + json_schema={ + "type": "object", + "properties": { + "input": {"type": "string", "default": "data.csv"} + } + }, + type_name="data_source", + label="Data Source", + icon="📂" +) + +flow.add_node_type_from_schema( + json_schema={ + "type": "object", + "properties": { + "operation": { + "type": "string", + "enum": ["filter", "transform", "aggregate"] + } + } + }, + type_name="processor", + label="Processor", + icon="⚙️" +) + +# Add nodes +flow.nodes = { + "source-1": { + "type": "data_source", + "position": {"x": 100, "y": 100}, + "data": {} + }, + "processor-1": { + "type": "processor", + "position": {"x": 400, "y": 100}, + "data": {} + } +} + +# Add edge +flow.edges = [{ + "id": "e1", + "source": "source-1", + "target": "processor-1" +}] + +# Export multiple formats +flow.export_html( + "pipeline_interactive.html", + title="Interactive Pipeline", + interactive=True +) + +flow.export_html( + "pipeline_static.html", + title="Static Pipeline View", + interactive=False +) + +flow.export_html( + "pipeline_fullscreen.html", + title="Fullscreen Pipeline", + height="100vh" +) +``` + +### Use Cases + +#### Documentation + +```python +# Export workflow for technical documentation +flow.export_html( + "architecture/data_pipeline.html", + title="Data Pipeline Architecture", + height="800px", + interactive=True +) +``` + +#### Presentations + +```python +# Full-screen view for presentations +flow.export_html( + "presentation/workflow_demo.html", + title="Workflow Demo", + height="100vh", + interactive=True # Allow zoom during presentation +) +``` + +#### Reports + +```python +# Static view for PDF conversion +flow.export_html( + "report/workflow_snapshot.html", + title="Workflow Snapshot - 2024-12-16", + interactive=False # Static for consistent screenshots +) +``` + +### Generic Export Method + +The `export()` method auto-detects format from file extension: + +```python +# Auto-detects HTML format +flow.export("workflow.html") # → calls export_html() + +# Auto-detects JSON format +flow.export("workflow.json") # → calls export_json() + +# Explicit format +flow.export("workflow.xyz", format="html") +``` + +### Browser Compatibility + +HTML exports work in all modern browsers: + +- ✅ Chrome/Edge (Chromium) +- ✅ Firefox +- ✅ Safari +- ✅ Mobile browsers (iOS Safari, Chrome Mobile) + +**Requirements**: JavaScript must be enabled (standard for all modern browsers). + +### File Size + +| Mode | Typical Size | +|------|-------------| +| Interactive (embedded) | ~900KB - 1.5MB | +| Interactive (separate) | ~10KB HTML + ~900KB JS | +| Static (embedded) | ~900KB - 1.5MB | + +Size includes React, ReactFlow, and all dependencies bundled as single file. +``` + ## Best Practices - **Version filenames**: Include version or date in filename diff --git a/examples/export_standalone_demo.py b/examples/export_standalone_demo.py new file mode 100644 index 0000000..a8e3acc --- /dev/null +++ b/examples/export_standalone_demo.py @@ -0,0 +1,336 @@ +#%% +""" +Example demonstrating how to export PyNodeWidget workflows as standalone HTML files. + +This example shows how to: +1. Create a workflow with multiple node types +2. Add nodes and connections to form a DAG +3. Export the workflow as a standalone HTML file that can be viewed in any browser + +The exported HTML files are self-contained and don't require Python or Jupyter. +""" + +from pynodewidget import NodeFlowWidget, GridBuilder +from pynodewidget.models import ( + TextField, NumberField, BoolField, SelectField, + LabeledHandle, HeaderComponent, DividerComponent +) + + +def create_data_processing_workflow(): + """Create a data processing workflow to demonstrate HTML export.""" + + # Initialize widget + widget = NodeFlowWidget(height="700px") + + # Define a Data Source node type using GridBuilder + grid_source = ( + GridBuilder() + .rows("auto", "1fr") + .cols("auto", "1fr", "auto") + .cell(1, 1, + components=[HeaderComponent(id="header", label="Data Source", icon="📂", bgColor="#3b82f6")], + col_span=3, + layout_type="flex", + direction="row", + justify="center" + ) + .cell(2, 2, [ + SelectField(id="source_type", value="file", options=["file", "database", "api"]), + TextField(id="path", value="/data/input.csv"), + NumberField(id="refresh_interval", value=60, min=1, max=3600), + ]) + .cell(2, 3, [ + LabeledHandle(id="output", handle_type="output", label="Out"), + ], + layout_type="flex", + direction="column", + align="center") + .gap("8px") + .build() + ) + + widget.add_node_type( + type_name="default", + label="Data Source", + icon="📂", + grid_layout=grid_source + ) + + # Define a Processor node type using GridBuilder + grid_processor = ( + GridBuilder() + .rows("auto", "1fr") + .cols("auto", "1fr", "auto") + .cell(1, 1, + components=[HeaderComponent(id="header", label="Processor", icon="⚙️", bgColor="#8b5cf6")], + col_span=3, + layout_type="flex", + direction="row", + justify="center" + ) + .cell(2, 1, [ + LabeledHandle(id="input", handle_type="input", label="In"), + ], + layout_type="flex", + direction="column", + align="center") + .cell(2, 2, [ + SelectField(id="operation", value="filter", options=["filter", "transform", "aggregate"]), + NumberField(id="threshold", value=0.5, min=0, max=1, step=0.1), + BoolField(id="enabled", value=True), + ]) + .cell(2, 3, [ + LabeledHandle(id="output", handle_type="output", label="Out"), + ], + layout_type="flex", + direction="column", + align="center") + .build() + ) + + widget.add_node_type( + type_name="processor", + label="Processor", + icon="⚙️", + grid_layout=grid_processor + ) + + # Define an Analyzer node type using GridBuilder + grid_analyzer = ( + GridBuilder() + .rows("auto", "1fr") + .cols("auto", "1fr", "auto") + .cell(1, 1, + components=[HeaderComponent(id="header", label="Analyzer", icon="📊", bgColor="#059669")], + col_span=3, + layout_type="flex", + direction="row", + justify="center" + ) + .cell(2, 1, [ + LabeledHandle(id="input", handle_type="input", label="In"), + ], + layout_type="flex", + direction="column", + align="center") + .cell(2, 2, [ + SelectField(id="analysis_type", value="statistics", options=["statistics", "trends", "anomalies"]), + NumberField(id="confidence", value=0.95, min=0.5, max=1, step=0.05), + BoolField(id="detailed", value=False), + ]) + .cell(2, 3, [ + LabeledHandle(id="output", handle_type="output", label="Out"), + ], + layout_type="flex", + direction="column", + align="center") + .build() + ) + + widget.add_node_type( + type_name="analyzer", + label="Analyzer", + icon="📊", + grid_layout=grid_analyzer + ) + + # Define an Output node type using GridBuilder + grid_output = ( + GridBuilder() + .rows("auto", "1fr") + .cols("auto", "1fr") + .cell(1, 1, + components=[HeaderComponent(id="header", label="Output", icon="💾", bgColor="#dc2626")], + col_span=2, + layout_type="flex", + direction="row", + justify="center" + ) + .cell(2, 1, [ + LabeledHandle(id="input", handle_type="input", label="In"), + ], + layout_type="flex", + direction="column", + align="center") + .cell(2, 2, [ + SelectField(id="format", value="json", options=["json", "csv", "parquet"]), + TextField(id="destination", value="/output/results.json"), + BoolField(id="compress", value=False), + ]) + .build() + ) + + widget.add_node_type( + type_name="outputNode", + label="Output", + icon="💾", + grid_layout=grid_output + ) + + # Add nodes to create a workflow DAG + widget.nodes = { + "source-1": { + "type": "data_source", + "position": {"x": 100, "y": 100}, + "data": {} + }, + "processor-1": { + "type": "processor", + "position": {"x": 400, "y": 50}, + "data": {} + }, + "processor-2": { + "type": "processor", + "position": {"x": 400, "y": 200}, + "data": {} + }, + "analyzer-1": { + "type": "analyzer", + "position": {"x": 700, "y": 100}, + "data": {} + }, + "output-1": { + "type": "outputNode", + "position": {"x": 1000, "y": 100}, + "data": {} + } + } + + # Add edges to connect the nodes + widget.edges = [ + { + "id": "e1", + "source": "source-1", + "target": "processor-1", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e2", + "source": "source-1", + "target": "processor-2", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e3", + "source": "processor-1", + "target": "analyzer-1", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e4", + "source": "processor-2", + "target": "analyzer-1", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e5", + "source": "analyzer-1", + "target": "output-1", + "sourceHandle": "output", + "targetHandle": "input" + } + ] + + # Set some initial values + widget.values["source-1"] = { + "source_type": "database", + "path": "postgresql://localhost/mydb", + "refresh_interval": 30 + } + + widget.values["processor-1"] = { + "operation": "filter", + "threshold": 0.7, + "enabled": True + } + + widget.values["processor-2"] = { + "operation": "transform", + "threshold": 0.8, + "enabled": True + } + + widget.values["analyzer-1"] = { + "analysis_type": "trends", + "confidence": 0.95, + "detailed": True + } + + widget.values["output-1"] = { + "format": "parquet", + "destination": "/output/results.parquet", + "compress": True + } + + return widget + +"""Main function to demonstrate HTML export capabilities.""" + +print("=" * 70) +print("PyNodeWidget - Standalone HTML Export Demo") +print("=" * 70) +print() + +# Create the workflow +print("Creating data processing workflow...") +widget = create_data_processing_workflow() +widget + +#%% +print(f"✓ Created workflow with {len(widget.nodes)} nodes and {len(widget.edges)} edges") +print() + +# Export as interactive HTML (default) +print("Exporting as interactive HTML...") +widget.export_html( + "workflow_interactive.html", + title="Data Processing Pipeline - Interactive", + interactive=True, + embed_assets=True +) +print() + +# Export as static view-only HTML +print("Exporting as static view-only HTML...") +widget.export_html( + "workflow_static.html", + title="Data Processing Pipeline - View Only", + interactive=False, + embed_assets=True +) +print() + +# Export with full-screen height +print("Exporting with full-screen height...") +widget.export_html( + "workflow_fullscreen.html", + title="Data Processing Pipeline - Full Screen", + height="100vh", + interactive=True, + embed_assets=True +) +print() + +# Export with separate asset files +print("Exporting with separate asset files...") +widget.export_html( + "workflow_separate_assets.html", + title="Data Processing Pipeline - Separate Assets", + interactive=True, + embed_assets=False # Creates separate JS/CSS files +) +print() + +# Also export as JSON for comparison +print("Exporting workflow as JSON...") +widget.export_json("workflow.json") + + + + +# %% diff --git a/examples/gridbuilder_custom_demo.py b/examples/gridbuilder_custom_demo.py index 8c8abef..eb97cc6 100644 --- a/examples/gridbuilder_custom_demo.py +++ b/examples/gridbuilder_custom_demo.py @@ -171,7 +171,7 @@ LabeledHandle(id="out2", handle_type="output"), ], layout_type="flex", direction="column", align="stretch", gap="8px") .cell(3, 1, - components=[ButtonComponent(id="btn1", label="Action", action="execute", variant="default")], + components=[ButtonComponent(id="btn1", label="Action", variant="default")], col_span=3, # Footer button spans all columns layout_type="flex", direction="row", @@ -268,7 +268,7 @@ .cell(3, 1, components=[ DividerComponent(id="div2"), - ButtonComponent(id="apply", label="Apply Settings", action="apply", variant="default"), + ButtonComponent(id="apply", label="Apply Settings", variant="default"), ], layout_type="flex", direction="column", diff --git a/examples/gridbuilder_row_col_demo.py b/examples/gridbuilder_row_col_demo.py index 0094987..f6de6d7 100644 --- a/examples/gridbuilder_row_col_demo.py +++ b/examples/gridbuilder_row_col_demo.py @@ -107,7 +107,7 @@ SelectField(id="format", value="png", options=["png", "jpg", "webp"]), BoolField(id="compress", value=True) ) - .row(4, ButtonComponent(id="process_btn", label="Process Image", action="process", variant="default")) + .row(4, ButtonComponent(id="process_btn", label="Process Image", variant="default")) .gap("10px") .build() ) @@ -132,7 +132,7 @@ .row(5, NumberField(id="age", value=18, min=13, max=120)) .row(6, SelectField(id="country", value="US", options=["US", "UK", "DE", "FR", "JP"])) .row(7, BoolField(id="terms", value=False)) - .row(8, ButtonComponent(id="submit", label="Register", action="register", variant="default")) + .row(8, ButtonComponent(id="submit", label="Register", variant="default")) .gap("6px") .build() ) diff --git a/hatch_build.py b/hatch_build.py index d26cfa7..643c7f3 100644 --- a/hatch_build.py +++ b/hatch_build.py @@ -42,6 +42,14 @@ def initialize(self, version, build_data): check=True, ) + # Run bun build for standalone bundle + print("Building standalone IIFE bundle with bun...") + subprocess.run( + ["bun", "run", "vite", "build", "--config", "vite.config.standalone.ts"], + cwd=js_dir, + check=True, + ) + # Create static directory if it doesn't exist static_dir.mkdir(parents=True, exist_ok=True) diff --git a/js/dev/components/NodePreviewCard.tsx b/js/dev/components/NodePreviewCard.tsx index 456aa46..2173adc 100644 --- a/js/dev/components/NodePreviewCard.tsx +++ b/js/dev/components/NodePreviewCard.tsx @@ -82,34 +82,34 @@ export function NodePreviewCard({ combo, sampleNodeData, showSelected }: NodePre
- - - + + +
diff --git a/js/dev/constants-improved.ts b/js/dev/constants-improved.ts index 78b815c..3b222d0 100644 --- a/js/dev/constants-improved.ts +++ b/js/dev/constants-improved.ts @@ -239,10 +239,9 @@ function createHeader( function createButton( id: string, label: string, - action: string, variant: 'primary' | 'secondary' = 'primary' ): ButtonComponent { - return { type: 'button', id, label, action, variant }; + return { type: 'button', id, label, variant }; } /** @@ -485,7 +484,7 @@ function createComplexGrid(): NodeGrid { createFlexLayout('row', { justify: 'space-between', align: 'center' }), [ createHeader('title', 'Advanced Processor', '🚀', COLORS.sky), - createButton('run', 'Run', 'execute', 'primary'), + createButton('run', 'Run', 'primary'), ] ), // Left: Input handles @@ -527,7 +526,7 @@ function createComplexGrid(): NodeGrid { createCoordinates(3, 1, 1, 3), createFlexLayout('row', { justify: 'center' }), [ - createButton('reset', 'Reset', 'reset', 'secondary'), + createButton('reset', 'Reset', 'secondary'), ] ), ], diff --git a/js/dev/constants.original.ts b/js/dev/constants.original.ts index 1ed84b1..804a5ce 100644 --- a/js/dev/constants.original.ts +++ b/js/dev/constants.original.ts @@ -238,7 +238,6 @@ function createHeader( function createButton( id: string, label: string, - action: string, variant: 'primary' | 'secondary' = 'primary' ): ButtonComponent { return { type: 'button', id, label, action, variant }; @@ -484,7 +483,7 @@ function createComplexGrid(): NodeGrid { createFlexLayout('row', { justify: 'space-between', align: 'center' }), [ createHeader('title', 'Advanced Processor', '🚀', COLORS.sky), - createButton('run', 'Run', 'execute', 'primary'), + createButton('run', 'Run', 'primary'), ] ), // Left: Input handles @@ -526,7 +525,7 @@ function createComplexGrid(): NodeGrid { createCoordinates(3, 1, 1, 3), createFlexLayout('row', { justify: 'center' }), [ - createButton('reset', 'Reset', 'reset', 'secondary'), + createButton('reset', 'Reset', 'secondary'), ] ), ], diff --git a/js/dev/constants.ts b/js/dev/constants.ts index 379bed7..46d34f3 100644 --- a/js/dev/constants.ts +++ b/js/dev/constants.ts @@ -234,10 +234,9 @@ function createHeader( function createButton( id: string, label: string, - action: string, variant: 'primary' | 'secondary' = 'primary' ): ButtonComponent { - return { type: 'button', id, label, action, variant }; + return { type: 'button', id, label, variant }; } /** diff --git a/js/dev/export_demo_workflow.json b/js/dev/export_demo_workflow.json new file mode 100644 index 0000000..6187239 --- /dev/null +++ b/js/dev/export_demo_workflow.json @@ -0,0 +1,663 @@ +{ + "nodes": { + "source-1": { + "type": "data_source", + "position": { + "x": 100, + "y": 100 + }, + "data": {} + }, + "processor-1": { + "type": "processor", + "position": { + "x": 400, + "y": 50 + }, + "data": {} + }, + "processor-2": { + "type": "processor", + "position": { + "x": 400, + "y": 200 + }, + "data": {} + }, + "analyzer-1": { + "type": "analyzer", + "position": { + "x": 700, + "y": 100 + }, + "data": {} + }, + "output-1": { + "type": "output", + "position": { + "x": 1000, + "y": 100 + }, + "data": {} + } + }, + "edges": [ + { + "id": "e1", + "source": "source-1", + "target": "processor-1", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e2", + "source": "source-1", + "target": "processor-2", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e3", + "source": "processor-1", + "target": "analyzer-1", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e4", + "source": "processor-2", + "target": "analyzer-1", + "sourceHandle": "output", + "targetHandle": "input" + }, + { + "id": "e5", + "source": "analyzer-1", + "target": "output-1", + "sourceHandle": "output", + "targetHandle": "input" + } + ], + "viewport": { + "x": 0, + "y": 0, + "zoom": 1 + }, + "node_templates": [ + { + "type": "data_source", + "label": "Data Source", + "description": "", + "icon": "\ud83d\udcc2", + "category": "general", + "definition": { + "grid": { + "rows": [ + "auto", + "1fr" + ], + "columns": [ + "auto", + "1fr", + "auto" + ], + "gap": "8px", + "cells": [ + { + "id": "cell-0", + "coordinates": { + "row": 1, + "col": 1, + "row_span": 1, + "col_span": 3 + }, + "layout": { + "type": "flex", + "direction": "row", + "align": "start", + "justify": "center", + "gap": "4px" + }, + "components": [ + { + "id": "header", + "type": "header", + "label": "Data Source", + "icon": "\ud83d\udcc2", + "bgColor": "#3b82f6", + "textColor": null + } + ] + }, + { + "id": "cell-1", + "coordinates": { + "row": 2, + "col": 2, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "start", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "source_type", + "type": "select", + "label": "source_type", + "value": "file", + "options": [ + "file", + "database", + "api" + ] + }, + { + "id": "path", + "type": "text", + "label": "path", + "value": "/data/input.csv", + "placeholder": "" + }, + { + "id": "refresh_interval", + "type": "number", + "label": "refresh_interval", + "value": 60.0, + "min": 1.0, + "max": 3600.0 + } + ] + }, + { + "id": "cell-2", + "coordinates": { + "row": 2, + "col": 3, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "center", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "output", + "type": "labeled-handle", + "handle_type": "output", + "label": "Out", + "dataType": null, + "required": false + } + ] + } + ] + }, + "style": null + }, + "defaultValues": { + "source_type": "file", + "path": "/data/input.csv", + "refresh_interval": 60.0 + } + }, + { + "type": "processor", + "label": "Processor", + "description": "", + "icon": "\u2699\ufe0f", + "category": "general", + "definition": { + "grid": { + "rows": [ + "auto", + "1fr" + ], + "columns": [ + "auto", + "1fr", + "auto" + ], + "gap": "8px", + "cells": [ + { + "id": "cell-0", + "coordinates": { + "row": 1, + "col": 1, + "row_span": 1, + "col_span": 3 + }, + "layout": { + "type": "flex", + "direction": "row", + "align": "start", + "justify": "center", + "gap": "4px" + }, + "components": [ + { + "id": "header", + "type": "header", + "label": "Processor", + "icon": "\u2699\ufe0f", + "bgColor": "#8b5cf6", + "textColor": null + } + ] + }, + { + "id": "cell-1", + "coordinates": { + "row": 2, + "col": 1, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "center", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "input", + "type": "labeled-handle", + "handle_type": "input", + "label": "In", + "dataType": null, + "required": false + } + ] + }, + { + "id": "cell-2", + "coordinates": { + "row": 2, + "col": 2, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "start", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "operation", + "type": "select", + "label": "operation", + "value": "filter", + "options": [ + "filter", + "transform", + "aggregate" + ] + }, + { + "id": "threshold", + "type": "number", + "label": "threshold", + "value": 0.5, + "min": 0.0, + "max": 1.0 + }, + { + "id": "enabled", + "type": "bool", + "label": "enabled", + "value": true + } + ] + }, + { + "id": "cell-3", + "coordinates": { + "row": 2, + "col": 3, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "center", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "output", + "type": "labeled-handle", + "handle_type": "output", + "label": "Out", + "dataType": null, + "required": false + } + ] + } + ] + }, + "style": null + }, + "defaultValues": { + "operation": "filter", + "threshold": 0.5, + "enabled": true + } + }, + { + "type": "analyzer", + "label": "Analyzer", + "description": "", + "icon": "\ud83d\udcca", + "category": "general", + "definition": { + "grid": { + "rows": [ + "auto", + "1fr" + ], + "columns": [ + "auto", + "1fr", + "auto" + ], + "gap": "8px", + "cells": [ + { + "id": "cell-0", + "coordinates": { + "row": 1, + "col": 1, + "row_span": 1, + "col_span": 3 + }, + "layout": { + "type": "flex", + "direction": "row", + "align": "start", + "justify": "center", + "gap": "4px" + }, + "components": [ + { + "id": "header", + "type": "header", + "label": "Analyzer", + "icon": "\ud83d\udcca", + "bgColor": "#059669", + "textColor": null + } + ] + }, + { + "id": "cell-1", + "coordinates": { + "row": 2, + "col": 1, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "center", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "input", + "type": "labeled-handle", + "handle_type": "input", + "label": "In", + "dataType": null, + "required": false + } + ] + }, + { + "id": "cell-2", + "coordinates": { + "row": 2, + "col": 2, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "start", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "analysis_type", + "type": "select", + "label": "analysis_type", + "value": "statistics", + "options": [ + "statistics", + "trends", + "anomalies" + ] + }, + { + "id": "confidence", + "type": "number", + "label": "confidence", + "value": 0.95, + "min": 0.5, + "max": 1.0 + }, + { + "id": "detailed", + "type": "bool", + "label": "detailed", + "value": false + } + ] + }, + { + "id": "cell-3", + "coordinates": { + "row": 2, + "col": 3, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "center", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "output", + "type": "labeled-handle", + "handle_type": "output", + "label": "Out", + "dataType": null, + "required": false + } + ] + } + ] + }, + "style": null + }, + "defaultValues": { + "analysis_type": "statistics", + "confidence": 0.95, + "detailed": false + } + }, + { + "type": "output", + "label": "Output", + "description": "", + "icon": "\ud83d\udcbe", + "category": "general", + "definition": { + "grid": { + "rows": [ + "auto", + "1fr" + ], + "columns": [ + "auto", + "1fr", + "auto" + ], + "gap": "8px", + "cells": [ + { + "id": "cell-0", + "coordinates": { + "row": 1, + "col": 1, + "row_span": 1, + "col_span": 3 + }, + "layout": { + "type": "flex", + "direction": "row", + "align": "start", + "justify": "center", + "gap": "4px" + }, + "components": [ + { + "id": "header", + "type": "header", + "label": "Output", + "icon": "\ud83d\udcbe", + "bgColor": "#dc2626", + "textColor": null + } + ] + }, + { + "id": "cell-1", + "coordinates": { + "row": 2, + "col": 1, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "center", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "input", + "type": "labeled-handle", + "handle_type": "input", + "label": "In", + "dataType": null, + "required": false + } + ] + }, + { + "id": "cell-2", + "coordinates": { + "row": 2, + "col": 2, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "start", + "justify": "start", + "gap": "4px" + }, + "components": [ + { + "id": "format", + "type": "select", + "label": "format", + "value": "json", + "options": [ + "json", + "csv", + "parquet" + ] + }, + { + "id": "destination", + "type": "text", + "label": "destination", + "value": "/output/results.json", + "placeholder": "" + }, + { + "id": "compress", + "type": "bool", + "label": "compress", + "value": false + } + ] + } + ] + }, + "style": null + }, + "defaultValues": { + "format": "json", + "destination": "/output/results.json", + "compress": false + } + } + ], + "node_values": { + "source-1": { + "source_type": "database", + "path": "postgresql://localhost/mydb", + "refresh_interval": 30 + }, + "processor-1": { + "operation": "filter", + "threshold": 0.7, + "enabled": true + }, + "processor-2": { + "operation": "transform", + "threshold": 0.8, + "enabled": true + }, + "analyzer-1": { + "analysis_type": "trends", + "confidence": 0.95, + "detailed": true + }, + "output-1": { + "format": "parquet", + "destination": "/output/results.parquet", + "compress": true + } + } +} \ No newline at end of file diff --git a/js/dev/test-export-workflow.html b/js/dev/test-export-workflow.html new file mode 100644 index 0000000..dd84efc --- /dev/null +++ b/js/dev/test-export-workflow.html @@ -0,0 +1,27 @@ + + + + + + Test Export Workflow - Dev + + + +

Export Workflow Test

+

Testing the data processing workflow from export_standalone_demo.py

+
+ + + diff --git a/js/dev/test-export-workflow.tsx b/js/dev/test-export-workflow.tsx new file mode 100644 index 0000000..6a63da0 --- /dev/null +++ b/js/dev/test-export-workflow.tsx @@ -0,0 +1,10 @@ +import { createRoot } from 'react-dom/client'; +import { renderStandalone } from '../src/standalone_entry'; +import workflowData from './export_demo_workflow.json'; +import '../src/style.css'; + +const container = document.getElementById('container'); +if (container) { + const root = createRoot(container); + root.render(renderStandalone(workflowData)); +} diff --git a/js/package.json b/js/package.json index 223005b..7b6ac0a 100644 --- a/js/package.json +++ b/js/package.json @@ -5,6 +5,7 @@ "private": true, "scripts": { "build": "vite build --config vite.config.index.ts && vite build --config vite.config.json_schema.ts", + "build:standalone": "vite build --config vite.config.standalone.ts", "dev": "vite --open /dev/app.html", "preview": "vite preview", "test": "vitest run", diff --git a/js/src/components/ButtonComponent.tsx b/js/src/components/ButtonComponent.tsx index 345e242..0bd50d6 100644 --- a/js/src/components/ButtonComponent.tsx +++ b/js/src/components/ButtonComponent.tsx @@ -8,7 +8,6 @@ export const ButtonComponentSchema = v.object({ id: v.string(), type: v.literal("button"), label: v.string(), - action: v.string(), value: v.optional(v.number()), variant: v.optional(v.union([ v.literal("default"), @@ -43,7 +42,7 @@ export function ButtonComponent({ component, onValueChange }: ButtonComponentPro const currentCount = (context?.nodeData.values?.[component.id] as number) ?? component.value ?? 0; const handleClick = () => { - // Increment the counter + // Increment counter const newCount = currentCount + 1; onValueChange?.(component.id, newCount); }; diff --git a/js/src/contexts/StandaloneContexts.tsx b/js/src/contexts/StandaloneContexts.tsx new file mode 100644 index 0000000..4c172c2 --- /dev/null +++ b/js/src/contexts/StandaloneContexts.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; +import type { NodesDict, NodeValues } from "../types/schema"; + +// Context to provide setNodesDict +export const SetNodesDictContext = React.createContext> | null>(null); +export const SetNodeValuesContext = React.createContext> | null>(null); + +export const useSetNodesDict = () => { + const setNodesDict = React.useContext(SetNodesDictContext); + if (!setNodesDict) { + throw new Error('useSetNodesDict must be used within SetNodesDictContext.Provider'); + } + return setNodesDict; +}; + +export const useSetNodeValues = () => { + const setNodeValues = React.useContext(SetNodeValuesContext); + if (!setNodeValues) { + throw new Error('useSetNodeValues must be used within SetNodeValuesContext.Provider'); + } + return setNodeValues; +}; diff --git a/js/src/index.tsx b/js/src/index.tsx index e47b061..231d305 100644 --- a/js/src/index.tsx +++ b/js/src/index.tsx @@ -18,31 +18,16 @@ import { useExport } from "./hooks/useExport"; import { useContextMenu } from "./hooks/useContextMenu"; import { useImageExport, type ImageExportTrigger } from "./hooks/useImageExport"; import { SidebarProvider, Sidebar, SidebarHeader, SidebarTrigger } from "@/components/ui/sidebar"; - -// Context to provide setNodesDict from useModelState to nodes -const SetNodesDictContext = React.createContext> | null>(null); - -// Context to provide setNodeValues for syncing values separately -const SetNodeValuesContext = React.createContext> | null>(null); +import { + SetNodesDictContext, + SetNodeValuesContext, + useSetNodesDict, + useSetNodeValues, +} from "./contexts/StandaloneContexts"; // Export contexts for testing export { SetNodesDictContext, SetNodeValuesContext }; - -export const useSetNodesDict = () => { - const setNodesDict = React.useContext(SetNodesDictContext); - if (!setNodesDict) { - throw new Error('useSetNodesDict must be used within SetNodesDictContext.Provider'); - } - return setNodesDict; -}; - -export const useSetNodeValues = () => { - const setNodeValues = React.useContext(SetNodeValuesContext); - if (!setNodeValues) { - throw new Error('useSetNodeValues must be used within SetNodeValuesContext.Provider'); - } - return setNodeValues; -}; +export { useSetNodesDict, useSetNodeValues }; // Export context export { NodeDataContext } from "./contexts/NodeDataContext"; @@ -266,37 +251,37 @@ function NodeFlowComponent() {
- - - - - Add Nodes - - - - -
- onLayout("TB")} - onLayoutHorizontal={() => onLayout("LR")} - /> -
-
-
+ + + + + Add Nodes + + + + +
+ onLayout("TB")} + onLayoutHorizontal={() => onLayout("LR")} + /> +
+
+
diff --git a/js/src/standalone_entry.tsx b/js/src/standalone_entry.tsx new file mode 100644 index 0000000..4b1ee3e --- /dev/null +++ b/js/src/standalone_entry.tsx @@ -0,0 +1,304 @@ +import * as React from "react"; +import { createRoot } from "react-dom/client"; +import { + applyNodeChanges, + applyEdgeChanges, + addEdge, + ReactFlowProvider, +} from "@xyflow/react"; +import type { Node, Edge, NodeChange, EdgeChange, Connection } from "@xyflow/react"; +import "@xyflow/react/dist/style.css"; +import "./style.css"; +import { buildNodeTypes } from "./utils/NodeComponentBuilder"; +import type { NodeTemplate, NodesDict, NodeValues } from "./types/schema"; +import { FlowCanvas } from "./components/FlowCanvas"; +import { NodeSidebar } from "./NodeSidebar"; +import { useAutoLayout } from "./hooks/useAutoLayout"; +import { SidebarProvider, Sidebar, SidebarHeader, SidebarTrigger } from "@/components/ui/sidebar"; +import { + SetNodesDictContext, + SetNodeValuesContext, + useSetNodesDict, + useSetNodeValues, +} from "./contexts/StandaloneContexts"; + +export { useSetNodesDict, useSetNodeValues }; + +interface StandaloneFlowData { + nodes: NodesDict; + edges: Edge[]; + viewport?: { x: number; y: number; zoom: number }; + node_templates: NodeTemplate[]; + node_values: NodeValues; + height?: string; + interactive?: boolean; +} + +function StandaloneFlow({ data }: { data: StandaloneFlowData }) { + const [nodesDict, setNodesDict] = React.useState(data.nodes); + const [nodeValues, setNodeValues] = React.useState(data.node_values); + const [edges, setEdges] = React.useState(data.edges); + const [contextMenu, setContextMenu] = React.useState(null); + + const height = data.height || "600px"; + const interactive = data.interactive !== false; + + // Build node types from templates + const nodeTypes = React.useMemo(() => { + return buildNodeTypes(data.node_templates); + }, [data.node_templates]); + + // Convert nodesDict to nodes array for ReactFlow + const nodes = React.useMemo(() => { + return Object.entries(nodesDict).map(([id, nodeData]) => ({ + id, + ...nodeData, + })); + }, [nodesDict]); + + const onNodesChange = React.useCallback( + (changes: NodeChange[]) => { + if (!interactive) return; + + const updatedNodes = applyNodeChanges(changes, nodes); + const newNodesDict: NodesDict = {}; + updatedNodes.forEach((node) => { + const { id, ...rest } = node; + newNodesDict[id] = rest as any; + }); + setNodesDict(newNodesDict); + }, + [nodes, interactive] + ); + + const onEdgesChange = React.useCallback( + (changes: EdgeChange[]) => { + if (!interactive) return; + setEdges((eds) => applyEdgeChanges(changes, eds)); + }, + [interactive] + ); + + const onConnect = React.useCallback( + (connection: Connection) => { + if (!interactive) return; + setEdges((eds) => addEdge(connection, eds)); + }, + [interactive] + ); + + const onNodeContextMenu = React.useCallback( + (event: React.MouseEvent, node: Node) => { + if (!interactive) return; + event.preventDefault(); + setContextMenu({ + id: node.id, + type: "node", + x: event.clientX, + y: event.clientY, + }); + }, + [interactive] + ); + + const onEdgeContextMenu = React.useCallback( + (event: React.MouseEvent, edge: Edge) => { + if (!interactive) return; + event.preventDefault(); + setContextMenu({ + id: edge.id, + type: "edge", + x: event.clientX, + y: event.clientY, + }); + }, + [interactive] + ); + + const onPaneClick = React.useCallback(() => { + setContextMenu(null); + }, []); + + const onDelete = React.useCallback(() => { + if (!interactive || !contextMenu) return; + + if (contextMenu.type === "node") { + setNodesDict((prev) => { + const newDict = { ...prev }; + delete newDict[contextMenu.id]; + return newDict; + }); + setEdges((eds) => + eds.filter( + (edge) => + edge.source !== contextMenu.id && edge.target !== contextMenu.id + ) + ); + } else if (contextMenu.type === "edge") { + setEdges((eds) => eds.filter((edge) => edge.id !== contextMenu.id)); + } + setContextMenu(null); + }, [contextMenu, interactive]); + + const onAddNode = React.useCallback( + (template: NodeTemplate) => { + if (!interactive) return; + + const nodeId = `${template.type}-${Date.now()}`; + const newNode = { + type: template.type, + position: { x: 250, y: 250 }, + data: {}, + }; + + setNodesDict((prev) => ({ + ...prev, + [nodeId]: newNode, + })); + }, + [interactive] + ); + + // Adapter to convert nodes array updates to nodesDict updates + const setNodesArray = React.useCallback( + (updater: Node[] | ((nodes: Node[]) => Node[])) => { + setNodesDict((prev) => { + const nodesArray = Object.entries(prev).map(([id, nodeData]) => ({ + id, + ...nodeData, + })); + const updated = + typeof updater === "function" ? updater(nodesArray) : updater; + const newDict: NodesDict = {}; + updated.forEach((node) => { + const { id, ...nodeData } = node; + newDict[id] = nodeData; + }); + return newDict; + }); + }, + [setNodesDict] + ); + + const { onLayout } = useAutoLayout(nodes, edges, setNodesArray); + + const layoutVertical = React.useCallback(() => { + onLayout("TB"); + }, [onLayout]); + + const layoutHorizontal = React.useCallback(() => { + onLayout("LR"); + }, [onLayout]); + + // Auto-layout on initial load + React.useEffect(() => { + if (nodes.length > 0) { + // Delay to ensure layout is ready + setTimeout(() => { + layoutVertical(); + }, 100); + } + }, []); // Run once on mount + + const onExport = React.useCallback(() => { + const exportData = { + nodes: nodesDict, + edges, + node_values: nodeValues, + node_templates: data.node_templates, + }; + + const jsonString = JSON.stringify(exportData, null, 2); + const blob = new Blob([jsonString], { type: "application/json" }); + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + link.download = "workflow.json"; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + }, [nodesDict, edges, nodeValues, data.node_templates]); + + return ( +
+ + + + + {interactive && ( + + + Add Nodes + + + + + )} +
+ setContextMenu(null)} + onExport={onExport} + onLayoutVertical={layoutVertical} + onLayoutHorizontal={layoutHorizontal} + /> +
+
+
+
+
+
+ ); +} + +// Initialize the standalone flow when DOM is ready +export function initStandaloneFlow(containerId: string, data: StandaloneFlowData) { + const container = document.getElementById(containerId); + if (!container) { + console.error(`Container with id "${containerId}" not found`); + return; + } + + const root = createRoot(container); + root.render(); +} + +// Auto-initialize if data is embedded in the page +if (typeof window !== "undefined") { + const initialize = () => { + const dataElement = document.getElementById("pynodewidget-data"); + if (dataElement && dataElement.textContent) { + try { + const data = JSON.parse(dataElement.textContent); + initStandaloneFlow("pynodewidget-root", data); + } catch (error) { + console.error("Failed to parse pynodewidget data:", error); + } + } + }; + + // If DOM is already loaded (script loaded after DOMContentLoaded), run immediately + if (document.readyState === "loading") { + window.addEventListener("DOMContentLoaded", initialize); + } else { + // DOM already loaded, run immediately + initialize(); + } +} + +// Export for manual initialization +(window as any).PyNodeWidget = { + initStandaloneFlow, +}; diff --git a/js/src/style.css b/js/src/style.css index ad8fcd8..857f7f6 100644 --- a/js/src/style.css +++ b/js/src/style.css @@ -126,15 +126,34 @@ min-height: 400px; } -/* React Flow Custom Handles */ -.react-flow__handle { - width: 12px; - height: 12px; +/* React Flow Node Wrapper - remove default sizing */ +.react-flow .react-flow__node { + width: auto !important; + height: auto !important; + padding: 0 !important; +} + +/* Ensure Card fills the node */ +.react-flow .react-flow__node > * { + display: block; +} + +/* React Flow Custom Handles - positioned within grid */ +/* Use high specificity to override ReactFlow defaults */ +.react-flow .react-flow__node .react-flow__handle { background: hsl(var(--primary)); border: 2px solid white; + width: 12px; + height: 12px; +} + +/* CRITICAL: Override positioning - must come after all other handle styles */ +.react-flow .react-flow__nodes .react-flow__node .react-flow__handle { + position: static !important; + transform: none !important; } -.react-flow__handle:hover { +.react-flow .react-flow__node .react-flow__handle:hover { background: hsl(var(--primary) / 0.8); } diff --git a/js/src/utils/NodeComponentBuilder.tsx b/js/src/utils/NodeComponentBuilder.tsx index cd0150a..34b0e30 100644 --- a/js/src/utils/NodeComponentBuilder.tsx +++ b/js/src/utils/NodeComponentBuilder.tsx @@ -24,7 +24,7 @@ import { NodeGridRenderer } from "../components/GridRenderer"; import { NodeDataContext, type NodeData } from "../contexts/NodeDataContext"; import { Card } from "@/components/ui/card"; import { cn } from "@/lib/utils"; -import { useSetNodeValues } from "../index"; +import { useSetNodeValues } from "../contexts/StandaloneContexts"; /** * NodeComponentBuilder class diff --git a/js/tests/components/UIComponents.test.tsx b/js/tests/components/UIComponents.test.tsx index 68c3f76..ee494f9 100644 --- a/js/tests/components/UIComponents.test.tsx +++ b/js/tests/components/UIComponents.test.tsx @@ -119,7 +119,6 @@ describe("UI Components", () => { id: "button1", type: "button", label: "Click Me", - action: "click", variant: "primary", }; @@ -139,7 +138,6 @@ describe("UI Components", () => { id: "button-secondary", type: "button", label: "Secondary", - action: "action", variant: "secondary", }; diff --git a/js/vite.config.standalone.ts b/js/vite.config.standalone.ts new file mode 100644 index 0000000..23fcba7 --- /dev/null +++ b/js/vite.config.standalone.ts @@ -0,0 +1,40 @@ +import path from "path" +import tailwindcss from "@tailwindcss/vite" +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react(), tailwindcss()], + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, + define: { + // Define process.env for browser environment + 'process.env.NODE_ENV': JSON.stringify('production'), + 'process.env': JSON.stringify({}), + }, + build: { + outDir: 'dist', + lib: { + entry: path.resolve(__dirname, 'src/standalone_entry.tsx'), + name: 'PyNodeWidget', + formats: ['iife'], + fileName: () => 'standalone.iife.js', + }, + rollupOptions: { + output: { + // Inline all dependencies including React and ReactFlow + inlineDynamicImports: true, + // No externals - bundle everything + globals: {}, + }, + }, + minify: 'esbuild', // Use esbuild instead of terser + sourcemap: false, + cssCodeSplit: false, + // Increase chunk size warning limit for large bundle + chunkSizeWarningLimit: 3000, + }, +}) diff --git a/pyproject.toml b/pyproject.toml index b7eb344..f026344 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,8 +6,8 @@ readme = "README.md" requires-python = ">=3.10" dependencies = [ "anywidget>=0.9.0", - "pydantic>=2.12.4", - "traitlets>=5.14.0", + "pydantic>=2.0.0", + "traitlets>=5.0.0", ] authors = [ { name = "Henning", email = "henning.scheufler@web.de" } diff --git a/src/pynodewidget/models/components/ui.py b/src/pynodewidget/models/components/ui.py index 23fd33a..0f484b9 100644 --- a/src/pynodewidget/models/components/ui.py +++ b/src/pynodewidget/models/components/ui.py @@ -18,7 +18,6 @@ class ButtonComponent(Component): """Action button.""" type: Literal["button"] = "button" label: Optional[str] = Field(None, description="Button text (inferred from id if not provided)") - action: str = Field(..., description="Action identifier") value: int = Field(default=0, description="Click counter value") variant: Literal["default", "destructive", "outline", "secondary", "ghost", "link"] = Field( default="default", diff --git a/src/pynodewidget/static/pynodewidget-js.css b/src/pynodewidget/static/pynodewidget-js.css new file mode 100644 index 0000000..6fcdf12 --- /dev/null +++ b/src/pynodewidget/static/pynodewidget-js.css @@ -0,0 +1 @@ +.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-xl:80rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!relative{position:relative!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.\!inset-auto{inset:auto!important}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\!h-full{height:100%!important}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[11px\]{height:11px}.h-\[450px\]{height:450px}.h-\[600px\]{height:600px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.\!w-full{width:100%!important}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-\[11px\]{width:11px}.w-\[180px\]{width:180px}.w-\[300px\]{width:300px}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-screen-xl{max-width:var(--breakpoint-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[100px\]{min-width:100px}.min-w-\[150px\]{min-width:150px}.min-w-\[200px\]{min-width:200px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[10px\]{--tw-translate-x:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[10px\]{--tw-translate-y:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-b-primary{border-bottom-color:var(--primary)}.border-b-transparent{border-bottom-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.fill-foreground{fill:var(--foreground)}.\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-10{padding:calc(var(--spacing)*10)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-\[116px\]{padding-left:116px}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-secondary:is(.dark *){border-color:var(--secondary)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-secondary:is(.dark *){background-color:var(--secondary)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.pynodeflow-container{width:100%;height:100%;min-height:400px}.react-flow__node,.react-flow__node>div{padding:0!important}.react-flow__handle{background:hsl(var(--primary));border:2px solid #fff;width:12px;height:12px}.react-flow__handle:hover{background:hsl(var(--primary)/.8)}.handle-wrapper{align-items:center;gap:8px;padding:4px 8px;display:flex;position:relative}.handle-input{flex-direction:row;justify-content:flex-start}.handle-output{flex-direction:row-reverse;justify-content:flex-end}.handle-base .handle-connector{flex-shrink:0}.handle-base .handle-label{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500}.handle-labeled .handle-connector{flex-shrink:0}.handle-labeled .handle-label{color:hsl(var(--foreground));white-space:nowrap;min-width:fit-content;font-size:.875rem;font-weight:500}.handle-button{background:hsl(var(--secondary));border:2px solid hsl(var(--border));cursor:pointer;border-radius:6px;min-width:120px;padding:8px 16px;transition:all .2s}.handle-button:hover{background:hsl(var(--accent));border-color:hsl(var(--primary));box-shadow:0 2px 4px #0000001a}.handle-button .handle-connector{flex-shrink:0}.handle-button .handle-label{color:hsl(var(--foreground));-webkit-user-select:none;user-select:none;text-align:center;flex:1;font-size:.875rem;font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/src/pynodewidget/static/standalone.css b/src/pynodewidget/static/standalone.css index 8489364..a8bc0d8 100644 --- a/src/pynodewidget/static/standalone.css +++ b/src/pynodewidget/static/standalone.css @@ -1 +1 @@ -.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-xl:80rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!relative{position:relative!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.\!inset-auto{inset:auto!important}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\!h-full{height:100%!important}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[11px\]{height:11px}.h-\[450px\]{height:450px}.h-\[600px\]{height:600px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-\[11px\]{width:11px}.w-\[180px\]{width:180px}.w-\[300px\]{width:300px}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-screen-xl{max-width:var(--breakpoint-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[100px\]{min-width:100px}.min-w-\[150px\]{min-width:150px}.min-w-\[200px\]{min-width:200px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[10px\]{--tw-translate-x:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[10px\]{--tw-translate-y:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-b-primary{border-bottom-color:var(--primary)}.border-b-transparent{border-bottom-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-10{padding:calc(var(--spacing)*10)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-\[116px\]{padding-left:116px}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-secondary:is(.dark *){border-color:var(--secondary)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-secondary:is(.dark *){background-color:var(--secondary)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.pynodeflow-container{width:100%;height:100%;min-height:400px}.react-flow__handle{background:hsl(var(--primary));border:2px solid #fff;width:12px;height:12px}.react-flow__handle:hover{background:hsl(var(--primary)/.8)}.handle-wrapper{align-items:center;gap:8px;padding:4px 8px;display:flex;position:relative}.handle-input{flex-direction:row;justify-content:flex-start}.handle-output{flex-direction:row-reverse;justify-content:flex-end}.handle-base .handle-connector{flex-shrink:0}.handle-base .handle-label{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500}.handle-labeled .handle-connector{flex-shrink:0}.handle-labeled .handle-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.handle-button{background:hsl(var(--secondary));border:2px solid hsl(var(--border));cursor:pointer;border-radius:6px;min-width:120px;padding:8px 16px;transition:all .2s}.handle-button:hover{background:hsl(var(--accent));border-color:hsl(var(--primary));box-shadow:0 2px 4px #0000001a}.handle-button .handle-connector{flex-shrink:0}.handle-button .handle-label{color:hsl(var(--foreground));-webkit-user-select:none;user-select:none;text-align:center;flex:1;font-size:.875rem;font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} +.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-xl:80rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!relative{position:relative!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.\!inset-auto{inset:auto!important}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\!h-full{height:100%!important}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[11px\]{height:11px}.h-\[450px\]{height:450px}.h-\[600px\]{height:600px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-\[11px\]{width:11px}.w-\[180px\]{width:180px}.w-\[300px\]{width:300px}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-screen-xl{max-width:var(--breakpoint-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[100px\]{min-width:100px}.min-w-\[150px\]{min-width:150px}.min-w-\[200px\]{min-width:200px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[10px\]{--tw-translate-x:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[10px\]{--tw-translate-y:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-b-primary{border-bottom-color:var(--primary)}.border-b-transparent{border-bottom-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-10{padding:calc(var(--spacing)*10)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-\[116px\]{padding-left:116px}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-secondary:is(.dark *){border-color:var(--secondary)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-secondary:is(.dark *){background-color:var(--secondary)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.pynodeflow-container{width:100%;height:100%;min-height:400px}.react-flow__handle{background:hsl(var(--primary));border:2px solid #fff;width:12px;height:12px}.react-flow__handle:hover{background:hsl(var(--primary)/.8)}.handle-wrapper{align-items:center;gap:8px;padding:4px 8px;display:flex;position:relative}.handle-input{flex-direction:row;justify-content:flex-start}.handle-output{flex-direction:row-reverse;justify-content:flex-end}.handle-base .handle-connector{flex-shrink:0}.handle-base .handle-label{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500}.handle-labeled .handle-connector{flex-shrink:0}.handle-labeled .handle-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.handle-button{background:hsl(var(--secondary));border:2px solid hsl(var(--border));cursor:pointer;border-radius:6px;min-width:120px;padding:8px 16px;transition:all .2s}.handle-button:hover{background:hsl(var(--accent));border-color:hsl(var(--primary));box-shadow:0 2px 4px #0000001a}.handle-button .handle-connector{flex-shrink:0}.handle-button .handle-label{color:hsl(var(--foreground));-webkit-user-select:none;user-select:none;text-align:center;flex:1;font-size:.875rem;font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/src/pynodewidget/static/standalone.iife.js b/src/pynodewidget/static/standalone.iife.js index 6725312..3f4494b 100644 --- a/src/pynodewidget/static/standalone.iife.js +++ b/src/pynodewidget/static/standalone.iife.js @@ -1,4 +1,4 @@ -var x8=Object.defineProperty;var _8=(Dr,Ft,tr)=>Ft in Dr?x8(Dr,Ft,{enumerable:!0,configurable:!0,writable:!0,value:tr}):Dr[Ft]=tr;var Gu=(Dr,Ft,tr)=>_8(Dr,typeof Ft!="symbol"?Ft+"":Ft,tr);(function(){"use strict";function Dr(e,t){for(var r=0;ro[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Ft=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function tr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yu={exports:{}},Ei={},Ku={exports:{}},Ae={};/** +var PyNodeWidget=(function(Ft){"use strict";var QW=Object.defineProperty;var ZW=(Ft,zn,Fn)=>zn in Ft?QW(Ft,zn,{enumerable:!0,configurable:!0,writable:!0,value:Fn}):Ft[zn]=Fn;var uc=(Ft,zn,Fn)=>ZW(Ft,typeof zn!="symbol"?zn+"":zn,Fn);function zn(e,t){for(var n=0;no[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Fn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ca(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cc={exports:{}},Ii={},fc={exports:{}},Ae={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var x8=Object.defineProperty;var _8=(Dr,Ft,tr)=>Ft in Dr?x8(Dr,Ft,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var n0;function OA(){if(n0)return Ae;n0=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator;function m(D){return D===null||typeof D!="object"?null:(D=p&&D[p]||D["@@iterator"],typeof D=="function"?D:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,y={};function x(D,W,ie){this.props=D,this.context=W,this.refs=y,this.updater=ie||w}x.prototype.isReactComponent={},x.prototype.setState=function(D,W){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,W,"setState")},x.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function b(){}b.prototype=x.prototype;function C(D,W,ie){this.props=D,this.context=W,this.refs=y,this.updater=ie||w}var _=C.prototype=new b;_.constructor=C,E(_,x.prototype),_.isPureReactComponent=!0;var k=Array.isArray,R=Object.prototype.hasOwnProperty,T={current:null},A={key:!0,ref:!0,__self:!0,__source:!0};function O(D,W,ie){var $,Z={},ee=null,K=null;if(W!=null)for($ in W.ref!==void 0&&(K=W.ref),W.key!==void 0&&(ee=""+W.key),W)R.call(W,$)&&!A.hasOwnProperty($)&&(Z[$]=W[$]);var te=arguments.length-2;if(te===1)Z.children=ie;else if(1Ft in Dr?x8(Dr,Ft,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var o0;function LA(){if(o0)return Ei;o0=1;var e=Ci(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,s=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function l(u,f,d){var h,p={},m=null,w=null;d!==void 0&&(m=""+d),f.key!==void 0&&(m=""+f.key),f.ref!==void 0&&(w=f.ref);for(h in f)o.call(f,h)&&!a.hasOwnProperty(h)&&(p[h]=f[h]);if(u&&u.defaultProps)for(h in f=u.defaultProps,f)p[h]===void 0&&(p[h]=f[h]);return{$$typeof:t,type:u,key:m,ref:w,props:p,_owner:s.current}}return Ei.Fragment=r,Ei.jsx=l,Ei.jsxs=l,Ei}var i0;function DA(){return i0||(i0=1,Yu.exports=LA()),Yu.exports}var I=DA(),ta={},Xu={exports:{}},_t={},Qu={exports:{}},Zu={};/** + */var T0;function FI(){if(T0)return Ii;T0=1;var e=Mi(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function l(u,f,d){var h,p={},m=null,v=null;d!==void 0&&(m=""+d),f.key!==void 0&&(m=""+f.key),f.ref!==void 0&&(v=f.ref);for(h in f)o.call(f,h)&&!a.hasOwnProperty(h)&&(p[h]=f[h]);if(u&&u.defaultProps)for(h in f=u.defaultProps,f)p[h]===void 0&&(p[h]=f[h]);return{$$typeof:t,type:u,key:m,ref:v,props:p,_owner:i.current}}return Ii.Fragment=n,Ii.jsx=l,Ii.jsxs=l,Ii}var A0;function $I(){return A0||(A0=1,cc.exports=FI()),cc.exports}var R=$I(),k=Mi();const $t=ca(k),dc=zn({__proto__:null,default:$t},[k]);var fa={},hc={exports:{}},_t={},pc={exports:{}},gc={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var x8=Object.defineProperty;var _8=(Dr,Ft,tr)=>Ft in Dr?x8(Dr,Ft,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var s0;function jA(){return s0||(s0=1,(function(e){function t(M,z){var Q=M.length;M.push(z);e:for(;0>>1,W=M[D];if(0>>1;Ds(Z,Q))ees(K,Z)?(M[D]=K,M[ee]=Q,D=ee):(M[D]=Z,M[$]=Q,D=$);else if(ees(K,Q))M[D]=K,M[ee]=Q,D=ee;else break e}}return z}function s(M,z){var Q=M.sortIndex-z.sortIndex;return Q!==0?Q:M.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var f=[],d=[],h=1,p=null,m=3,w=!1,E=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(M){for(var z=r(d);z!==null;){if(z.callback===null)o(d);else if(z.startTime<=M)o(d),z.sortIndex=z.expirationTime,t(f,z);else break;z=r(d)}}function k(M){if(y=!1,_(M),!E)if(r(f)!==null)E=!0,B(R);else{var z=r(d);z!==null&&Y(k,z.startTime-M)}}function R(M,z){E=!1,y&&(y=!1,b(O),O=-1),w=!0;var Q=m;try{for(_(z),p=r(f);p!==null&&(!(p.expirationTime>z)||M&&!q());){var D=p.callback;if(typeof D=="function"){p.callback=null,m=p.priorityLevel;var W=D(p.expirationTime<=z);z=e.unstable_now(),typeof W=="function"?p.callback=W:p===r(f)&&o(f),_(z)}else o(f);p=r(f)}if(p!==null)var ie=!0;else{var $=r(d);$!==null&&Y(k,$.startTime-z),ie=!1}return ie}finally{p=null,m=Q,w=!1}}var T=!1,A=null,O=-1,j=5,U=-1;function q(){return!(e.unstable_now()-UM||125D?(M.sortIndex=Q,t(d,M),r(f)===null&&M===r(d)&&(y?(b(O),O=-1):y=!0,Y(k,Q-D))):(M.sortIndex=W,t(f,M),E||w||(E=!0,B(R))),M},e.unstable_shouldYield=q,e.unstable_wrapCallback=function(M){var z=m;return function(){var Q=m;m=z;try{return M.apply(this,arguments)}finally{m=Q}}}})(Zu)),Zu}var a0;function qA(){return a0||(a0=1,Qu.exports=jA()),Qu.exports}/** + */var I0;function BI(){return I0||(I0=1,(function(e){function t(M,$){var Q=M.length;M.push($);e:for(;0>>1,U=M[D];if(0>>1;Di(Z,Q))eei(X,Z)?(M[D]=X,M[ee]=Q,D=ee):(M[D]=Z,M[V]=Q,D=V);else if(eei(X,Q))M[D]=X,M[ee]=Q,D=ee;else break e}}return $}function i(M,$){var Q=M.sortIndex-$.sortIndex;return Q!==0?Q:M.id-$.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var f=[],d=[],h=1,p=null,m=3,v=!1,E=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(M){for(var $=n(d);$!==null;){if($.callback===null)o(d);else if($.startTime<=M)o(d),$.sortIndex=$.expirationTime,t(f,$);else break;$=n(d)}}function N(M){if(y=!1,_(M),!E)if(n(f)!==null)E=!0,z(P);else{var $=n(d);$!==null&&Y(N,$.startTime-M)}}function P(M,$){E=!1,y&&(y=!1,b(O),O=-1),v=!0;var Q=m;try{for(_($),p=n(f);p!==null&&(!(p.expirationTime>$)||M&&!F());){var D=p.callback;if(typeof D=="function"){p.callback=null,m=p.priorityLevel;var U=D(p.expirationTime<=$);$=e.unstable_now(),typeof U=="function"?p.callback=U:p===n(f)&&o(f),_($)}else o(f);p=n(f)}if(p!==null)var ie=!0;else{var V=n(d);V!==null&&Y(N,V.startTime-$),ie=!1}return ie}finally{p=null,m=Q,v=!1}}var T=!1,I=null,O=-1,q=5,G=-1;function F(){return!(e.unstable_now()-GM||125D?(M.sortIndex=Q,t(d,M),n(f)===null&&M===n(d)&&(y?(b(O),O=-1):y=!0,Y(N,Q-D))):(M.sortIndex=U,t(f,M),E||v||(E=!0,z(P))),M},e.unstable_shouldYield=F,e.unstable_wrapCallback=function(M){var $=m;return function(){var Q=m;m=$;try{return M.apply(this,arguments)}finally{m=Q}}}})(gc)),gc}var M0;function VI(){return M0||(M0=1,pc.exports=BI()),pc.exports}/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ var x8=Object.defineProperty;var _8=(Dr,Ft,tr)=>Ft in Dr?x8(Dr,Ft,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var l0;function zA(){if(l0)return _t;l0=1;var e=Ci(),t=qA();function r(n){for(var i="https://reactjs.org/docs/error-decoder.html?invariant="+n,c=1;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},p={};function m(n){return f.call(p,n)?!0:f.call(h,n)?!1:d.test(n)?p[n]=!0:(h[n]=!0,!1)}function w(n,i,c,g){if(c!==null&&c.type===0)return!1;switch(typeof i){case"function":case"symbol":return!0;case"boolean":return g?!1:c!==null?!c.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function E(n,i,c,g){if(i===null||typeof i>"u"||w(n,i,c,g))return!0;if(g)return!1;if(c!==null)switch(c.type){case 3:return!i;case 4:return i===!1;case 5:return isNaN(i);case 6:return isNaN(i)||1>i}return!1}function y(n,i,c,g,v,S,P){this.acceptsBooleans=i===2||i===3||i===4,this.attributeName=g,this.attributeNamespace=v,this.mustUseProperty=c,this.propertyName=n,this.type=i,this.sanitizeURL=S,this.removeEmptyString=P}var x={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){x[n]=new y(n,0,!1,n,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var i=n[0];x[i]=new y(i,1,!1,n[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(n){x[n]=new y(n,2,!1,n.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){x[n]=new y(n,2,!1,n,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){x[n]=new y(n,3,!1,n.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(n){x[n]=new y(n,3,!0,n,null,!1,!1)}),["capture","download"].forEach(function(n){x[n]=new y(n,4,!1,n,null,!1,!1)}),["cols","rows","size","span"].forEach(function(n){x[n]=new y(n,6,!1,n,null,!1,!1)}),["rowSpan","start"].forEach(function(n){x[n]=new y(n,5,!1,n.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function C(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var i=n.replace(b,C);x[i]=new y(i,1,!1,n,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var i=n.replace(b,C);x[i]=new y(i,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(n){var i=n.replace(b,C);x[i]=new y(i,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(n){x[n]=new y(n,1,!1,n.toLowerCase(),null,!1,!1)}),x.xlinkHref=new y("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(n){x[n]=new y(n,1,!1,n.toLowerCase(),null,!0,!0)});function _(n,i,c,g){var v=x.hasOwnProperty(i)?x[i]:null;(v!==null?v.type!==0:g||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},p={};function m(r){return f.call(p,r)?!0:f.call(h,r)?!1:d.test(r)?p[r]=!0:(h[r]=!0,!1)}function v(r,s,c,g){if(c!==null&&c.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return g?!1:c!==null?!c.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function E(r,s,c,g){if(s===null||typeof s>"u"||v(r,s,c,g))return!0;if(g)return!1;if(c!==null)switch(c.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function y(r,s,c,g,w,S,A){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=g,this.attributeNamespace=w,this.mustUseProperty=c,this.propertyName=r,this.type=s,this.sanitizeURL=S,this.removeEmptyString=A}var x={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){x[r]=new y(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];x[s]=new y(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){x[r]=new y(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){x[r]=new y(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){x[r]=new y(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){x[r]=new y(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){x[r]=new y(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){x[r]=new y(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){x[r]=new y(r,5,!1,r.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function C(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(b,C);x[s]=new y(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(b,C);x[s]=new y(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(b,C);x[s]=new y(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){x[r]=new y(r,1,!1,r.toLowerCase(),null,!1,!1)}),x.xlinkHref=new y("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){x[r]=new y(r,1,!1,r.toLowerCase(),null,!0,!0)});function _(r,s,c,g){var w=x.hasOwnProperty(s)?x[s]:null;(w!==null?w.type!==0:g||!(2F||v[P]!==S[F]){var G=` -`+v[P].replace(" at new "," at ");return n.displayName&&G.includes("")&&(G=G.replace("",n.displayName)),G}while(1<=P&&0<=F);break}}}finally{ie=!1,Error.prepareStackTrace=c}return(n=n?n.displayName||n.name:"")?W(n):""}function Z(n){switch(n.tag){case 5:return W(n.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return n=$(n.type,!1),n;case 11:return n=$(n.type.render,!1),n;case 1:return n=$(n.type,!0),n;default:return""}}function ee(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case A:return"Fragment";case T:return"Portal";case j:return"Profiler";case O:return"StrictMode";case X:return"Suspense";case L:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case q:return(n.displayName||"Context")+".Consumer";case U:return(n._context.displayName||"Context")+".Provider";case V:var i=n.render;return n=n.displayName,n||(n=i.displayName||i.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case H:return i=n.displayName||null,i!==null?i:ee(n.type)||"Memo";case B:i=n._payload,n=n._init;try{return ee(n(i))}catch{}}return null}function K(n){var i=n.type;switch(n.tag){case 24:return"Cache";case 9:return(i.displayName||"Context")+".Consumer";case 10:return(i._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=i.render,n=n.displayName||n.name||"",i.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return i;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ee(i);case 8:return i===O?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i}return null}function te(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function se(n){var i=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function ae(n){var i=se(n)?"checked":"value",c=Object.getOwnPropertyDescriptor(n.constructor.prototype,i),g=""+n[i];if(!n.hasOwnProperty(i)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var v=c.get,S=c.set;return Object.defineProperty(n,i,{configurable:!0,get:function(){return v.call(this)},set:function(P){g=""+P,S.call(this,P)}}),Object.defineProperty(n,i,{enumerable:c.enumerable}),{getValue:function(){return g},setValue:function(P){g=""+P},stopTracking:function(){n._valueTracker=null,delete n[i]}}}}function ce(n){n._valueTracker||(n._valueTracker=ae(n))}function de(n){if(!n)return!1;var i=n._valueTracker;if(!i)return!0;var c=i.getValue(),g="";return n&&(g=se(n)?n.checked?"true":"false":n.value),n=g,n!==c?(i.setValue(n),!0):!1}function pe(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function be(n,i){var c=i.checked;return Q({},i,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??n._wrapperState.initialChecked})}function me(n,i){var c=i.defaultValue==null?"":i.defaultValue,g=i.checked!=null?i.checked:i.defaultChecked;c=te(i.value!=null?i.value:c),n._wrapperState={initialChecked:g,initialValue:c,controlled:i.type==="checkbox"||i.type==="radio"?i.checked!=null:i.value!=null}}function Re(n,i){i=i.checked,i!=null&&_(n,"checked",i,!1)}function Ee(n,i){Re(n,i);var c=te(i.value),g=i.type;if(c!=null)g==="number"?(c===0&&n.value===""||n.value!=c)&&(n.value=""+c):n.value!==""+c&&(n.value=""+c);else if(g==="submit"||g==="reset"){n.removeAttribute("value");return}i.hasOwnProperty("value")?He(n,i.type,c):i.hasOwnProperty("defaultValue")&&He(n,i.type,te(i.defaultValue)),i.checked==null&&i.defaultChecked!=null&&(n.defaultChecked=!!i.defaultChecked)}function Qe(n,i,c){if(i.hasOwnProperty("value")||i.hasOwnProperty("defaultValue")){var g=i.type;if(!(g!=="submit"&&g!=="reset"||i.value!==void 0&&i.value!==null))return;i=""+n._wrapperState.initialValue,c||i===n.value||(n.value=i),n.defaultValue=i}c=n.name,c!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,c!==""&&(n.name=c)}function He(n,i,c){(i!=="number"||pe(n.ownerDocument)!==n)&&(c==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+c&&(n.defaultValue=""+c))}var Ht=Array.isArray;function pt(n,i,c,g){if(n=n.options,i){i={};for(var v=0;v"+i.valueOf().toString()+"",i=Et.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;i.firstChild;)n.appendChild(i.firstChild)}});function Gt(n,i){if(i){var c=n.firstChild;if(c&&c===n.lastChild&&c.nodeType===3){c.nodeValue=i;return}}n.textContent=i}var Un={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ko=["Webkit","ms","Moz","O"];Object.keys(Un).forEach(function(n){Ko.forEach(function(i){i=i+n.charAt(0).toUpperCase()+n.substring(1),Un[i]=Un[n]})});function Ot(n,i,c){return i==null||typeof i=="boolean"||i===""?"":c||typeof i!="number"||i===0||Un.hasOwnProperty(n)&&Un[n]?(""+i).trim():i+"px"}function Yt(n,i){n=n.style;for(var c in i)if(i.hasOwnProperty(c)){var g=c.indexOf("--")===0,v=Ot(c,i[c],g);c==="float"&&(c="cssFloat"),g?n.setProperty(c,v):n[c]=v}}var cv=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ds(n,i){if(i){if(cv[n]&&(i.children!=null||i.dangerouslySetInnerHTML!=null))throw Error(r(137,n));if(i.dangerouslySetInnerHTML!=null){if(i.children!=null)throw Error(r(60));if(typeof i.dangerouslySetInnerHTML!="object"||!("__html"in i.dangerouslySetInnerHTML))throw Error(r(61))}if(i.style!=null&&typeof i.style!="object")throw Error(r(62))}}function hs(n,i){if(n.indexOf("-")===-1)return typeof i.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ps=null;function gs(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var ms=null,pr=null,gr=null;function Ml(n){if(n=Fs(n)){if(typeof ms!="function")throw Error(r(280));var i=n.stateNode;i&&(i=lu(i),ms(n.stateNode,n.type,i))}}function Ol(n){pr?gr?gr.push(n):gr=[n]:pr=n}function Ll(){if(pr){var n=pr,i=gr;if(gr=pr=null,Ml(n),i)for(n=0;n>>=0,n===0?32:31-(xv(n)/_v|0)|0}var Jo=64,ei=4194304;function In(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function ti(n,i){var c=n.pendingLanes;if(c===0)return 0;var g=0,v=n.suspendedLanes,S=n.pingedLanes,P=c&268435455;if(P!==0){var F=P&~v;F!==0?g=In(F):(S&=P,S!==0&&(g=In(S)))}else P=c&~v,P!==0?g=In(P):S!==0&&(g=In(S));if(g===0)return 0;if(i!==0&&i!==g&&(i&v)===0&&(v=g&-g,S=i&-i,v>=S||v===16&&(S&4194240)!==0))return i;if((g&4)!==0&&(g|=c&16),i=n.entangledLanes,i!==0)for(n=n.entanglements,i&=g;0c;c++)i.push(n);return i}function mr(n,i,c){n.pendingLanes|=i,i!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,i=31-Lt(i),n[i]=c}function $V(n,i){var c=n.pendingLanes&~i;n.pendingLanes=i,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=i,n.mutableReadLanes&=i,n.entangledLanes&=i,i=n.entanglements;var g=n.eventTimes;for(n=n.expirationTimes;0=As),NP=" ",RP=!1;function PP(n,i){switch(n){case"keyup":return gH.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TP(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var oi=!1;function vH(n,i){switch(n){case"compositionend":return TP(i);case"keypress":return i.which!==32?null:(RP=!0,NP);case"textInput":return n=i.data,n===NP&&RP?null:n;default:return null}}function yH(n,i){if(oi)return n==="compositionend"||!Dv&&PP(n,i)?(n=_P(),Ql=Tv=_r=null,oi=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1=i)return{node:c,offset:i-n};n=g}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=jP(c)}}function zP(n,i){return n&&i?n===i?!0:n&&n.nodeType===3?!1:i&&i.nodeType===3?zP(n,i.parentNode):"contains"in n?n.contains(i):n.compareDocumentPosition?!!(n.compareDocumentPosition(i)&16):!1:!1}function FP(){for(var n=window,i=pe();i instanceof n.HTMLIFrameElement;){try{var c=typeof i.contentWindow.location.href=="string"}catch{c=!1}if(c)n=i.contentWindow;else break;i=pe(n.document)}return i}function zv(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i&&(i==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||i==="textarea"||n.contentEditable==="true")}function NH(n){var i=FP(),c=n.focusedElem,g=n.selectionRange;if(i!==c&&c&&c.ownerDocument&&zP(c.ownerDocument.documentElement,c)){if(g!==null&&zv(c)){if(i=g.start,n=g.end,n===void 0&&(n=i),"selectionStart"in c)c.selectionStart=i,c.selectionEnd=Math.min(n,c.value.length);else if(n=(i=c.ownerDocument||document)&&i.defaultView||window,n.getSelection){n=n.getSelection();var v=c.textContent.length,S=Math.min(g.start,v);g=g.end===void 0?S:Math.min(g.end,v),!n.extend&&S>g&&(v=g,g=S,S=v),v=qP(c,S);var P=qP(c,g);v&&P&&(n.rangeCount!==1||n.anchorNode!==v.node||n.anchorOffset!==v.offset||n.focusNode!==P.node||n.focusOffset!==P.offset)&&(i=i.createRange(),i.setStart(v.node,v.offset),n.removeAllRanges(),S>g?(n.addRange(i),n.extend(P.node,P.offset)):(i.setEnd(P.node,P.offset),n.addRange(i)))}}for(i=[],n=c;n=n.parentNode;)n.nodeType===1&&i.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c=document.documentMode,ii=null,Fv=null,Ls=null,$v=!1;function $P(n,i,c){var g=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;$v||ii==null||ii!==pe(g)||(g=ii,"selectionStart"in g&&zv(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),Ls&&Os(Ls,g)||(Ls=g,g=iu(Fv,"onSelect"),0ci||(n.current=Jv[ci],Jv[ci]=null,ci--)}function De(n,i){ci++,Jv[ci]=n.current,n.current=i}var Cr={},gt=Er(Cr),Ct=Er(!1),ao=Cr;function fi(n,i){var c=n.type.contextTypes;if(!c)return Cr;var g=n.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===i)return g.__reactInternalMemoizedMaskedChildContext;var v={},S;for(S in c)v[S]=i[S];return g&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=i,n.__reactInternalMemoizedMaskedChildContext=v),v}function kt(n){return n=n.childContextTypes,n!=null}function uu(){qe(Ct),qe(gt)}function nT(n,i,c){if(gt.current!==Cr)throw Error(r(168));De(gt,i),De(Ct,c)}function rT(n,i,c){var g=n.stateNode;if(i=i.childContextTypes,typeof g.getChildContext!="function")return c;g=g.getChildContext();for(var v in g)if(!(v in i))throw Error(r(108,K(n)||"Unknown",v));return Q({},c,g)}function cu(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Cr,ao=gt.current,De(gt,n),De(Ct,Ct.current),!0}function oT(n,i,c){var g=n.stateNode;if(!g)throw Error(r(169));c?(n=rT(n,i,ao),g.__reactInternalMemoizedMergedChildContext=n,qe(Ct),qe(gt),De(gt,n)):qe(Ct),De(Ct,c)}var Yn=null,fu=!1,ey=!1;function iT(n){Yn===null?Yn=[n]:Yn.push(n)}function zH(n){fu=!0,iT(n)}function kr(){if(!ey&&Yn!==null){ey=!0;var n=0,i=Le;try{var c=Yn;for(Le=1;n>=P,v-=P,Kn=1<<32-Lt(i)+v|c<Pe?(ut=Ne,Ne=null):ut=Ne.sibling;var Oe=le(ne,Ne,re[Pe],he);if(Oe===null){Ne===null&&(Ne=ut);break}n&&Ne&&Oe.alternate===null&&i(ne,Ne),J=S(Oe,J,Pe),ke===null?Ce=Oe:ke.sibling=Oe,ke=Oe,Ne=ut}if(Pe===re.length)return c(ne,Ne),Be&&uo(ne,Pe),Ce;if(Ne===null){for(;PePe?(ut=Ne,Ne=null):ut=Ne.sibling;var Lr=le(ne,Ne,Oe.value,he);if(Lr===null){Ne===null&&(Ne=ut);break}n&&Ne&&Lr.alternate===null&&i(ne,Ne),J=S(Lr,J,Pe),ke===null?Ce=Lr:ke.sibling=Lr,ke=Lr,Ne=ut}if(Oe.done)return c(ne,Ne),Be&&uo(ne,Pe),Ce;if(Ne===null){for(;!Oe.done;Pe++,Oe=re.next())Oe=fe(ne,Oe.value,he),Oe!==null&&(J=S(Oe,J,Pe),ke===null?Ce=Oe:ke.sibling=Oe,ke=Oe);return Be&&uo(ne,Pe),Ce}for(Ne=g(ne,Ne);!Oe.done;Pe++,Oe=re.next())Oe=ge(Ne,ne,Pe,Oe.value,he),Oe!==null&&(n&&Oe.alternate!==null&&Ne.delete(Oe.key===null?Pe:Oe.key),J=S(Oe,J,Pe),ke===null?Ce=Oe:ke.sibling=Oe,ke=Oe);return n&&Ne.forEach(function(w8){return i(ne,w8)}),Be&&uo(ne,Pe),Ce}function Ze(ne,J,re,he){if(typeof re=="object"&&re!==null&&re.type===A&&re.key===null&&(re=re.props.children),typeof re=="object"&&re!==null){switch(re.$$typeof){case R:e:{for(var Ce=re.key,ke=J;ke!==null;){if(ke.key===Ce){if(Ce=re.type,Ce===A){if(ke.tag===7){c(ne,ke.sibling),J=v(ke,re.props.children),J.return=ne,ne=J;break e}}else if(ke.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===B&&fT(Ce)===ke.type){c(ne,ke.sibling),J=v(ke,re.props),J.ref=$s(ne,ke,re),J.return=ne,ne=J;break e}c(ne,ke);break}else i(ne,ke);ke=ke.sibling}re.type===A?(J=yo(re.props.children,ne.mode,he,re.key),J.return=ne,ne=J):(he=zu(re.type,re.key,re.props,null,ne.mode,he),he.ref=$s(ne,J,re),he.return=ne,ne=he)}return P(ne);case T:e:{for(ke=re.key;J!==null;){if(J.key===ke)if(J.tag===4&&J.stateNode.containerInfo===re.containerInfo&&J.stateNode.implementation===re.implementation){c(ne,J.sibling),J=v(J,re.children||[]),J.return=ne,ne=J;break e}else{c(ne,J);break}else i(ne,J);J=J.sibling}J=Qy(re,ne.mode,he),J.return=ne,ne=J}return P(ne);case B:return ke=re._init,Ze(ne,J,ke(re._payload),he)}if(Ht(re))return _e(ne,J,re,he);if(z(re))return Se(ne,J,re,he);gu(ne,re)}return typeof re=="string"&&re!==""||typeof re=="number"?(re=""+re,J!==null&&J.tag===6?(c(ne,J.sibling),J=v(J,re),J.return=ne,ne=J):(c(ne,J),J=Xy(re,ne.mode,he),J.return=ne,ne=J),P(ne)):c(ne,J)}return Ze}var gi=dT(!0),hT=dT(!1),mu=Er(null),vu=null,mi=null,sy=null;function ay(){sy=mi=vu=null}function ly(n){var i=mu.current;qe(mu),n._currentValue=i}function uy(n,i,c){for(;n!==null;){var g=n.alternate;if((n.childLanes&i)!==i?(n.childLanes|=i,g!==null&&(g.childLanes|=i)):g!==null&&(g.childLanes&i)!==i&&(g.childLanes|=i),n===c)break;n=n.return}}function vi(n,i){vu=n,sy=mi=null,n=n.dependencies,n!==null&&n.firstContext!==null&&((n.lanes&i)!==0&&(Nt=!0),n.firstContext=null)}function Zt(n){var i=n._currentValue;if(sy!==n)if(n={context:n,memoizedValue:i,next:null},mi===null){if(vu===null)throw Error(r(308));mi=n,vu.dependencies={lanes:0,firstContext:n}}else mi=mi.next=n;return i}var co=null;function cy(n){co===null?co=[n]:co.push(n)}function pT(n,i,c,g){var v=i.interleaved;return v===null?(c.next=c,cy(i)):(c.next=v.next,v.next=c),i.interleaved=c,Qn(n,g)}function Qn(n,i){n.lanes|=i;var c=n.alternate;for(c!==null&&(c.lanes|=i),c=n,n=n.return;n!==null;)n.childLanes|=i,c=n.alternate,c!==null&&(c.childLanes|=i),c=n,n=n.return;return c.tag===3?c.stateNode:null}var Nr=!1;function fy(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function gT(n,i){n=n.updateQueue,i.updateQueue===n&&(i.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function Zn(n,i){return{eventTime:n,lane:i,tag:0,payload:null,callback:null,next:null}}function Rr(n,i,c){var g=n.updateQueue;if(g===null)return null;if(g=g.shared,(Me&2)!==0){var v=g.pending;return v===null?i.next=i:(i.next=v.next,v.next=i),g.pending=i,Qn(n,c)}return v=g.interleaved,v===null?(i.next=i,cy(g)):(i.next=v.next,v.next=i),g.interleaved=i,Qn(n,c)}function yu(n,i,c){if(i=i.updateQueue,i!==null&&(i=i.shared,(c&4194240)!==0)){var g=i.lanes;g&=n.pendingLanes,c|=g,i.lanes=c,Cv(n,c)}}function mT(n,i){var c=n.updateQueue,g=n.alternate;if(g!==null&&(g=g.updateQueue,c===g)){var v=null,S=null;if(c=c.firstBaseUpdate,c!==null){do{var P={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};S===null?v=S=P:S=S.next=P,c=c.next}while(c!==null);S===null?v=S=i:S=S.next=i}else v=S=i;c={baseState:g.baseState,firstBaseUpdate:v,lastBaseUpdate:S,shared:g.shared,effects:g.effects},n.updateQueue=c;return}n=c.lastBaseUpdate,n===null?c.firstBaseUpdate=i:n.next=i,c.lastBaseUpdate=i}function wu(n,i,c,g){var v=n.updateQueue;Nr=!1;var S=v.firstBaseUpdate,P=v.lastBaseUpdate,F=v.shared.pending;if(F!==null){v.shared.pending=null;var G=F,oe=G.next;G.next=null,P===null?S=oe:P.next=oe,P=G;var ue=n.alternate;ue!==null&&(ue=ue.updateQueue,F=ue.lastBaseUpdate,F!==P&&(F===null?ue.firstBaseUpdate=oe:F.next=oe,ue.lastBaseUpdate=G))}if(S!==null){var fe=v.baseState;P=0,ue=oe=G=null,F=S;do{var le=F.lane,ge=F.eventTime;if((g&le)===le){ue!==null&&(ue=ue.next={eventTime:ge,lane:0,tag:F.tag,payload:F.payload,callback:F.callback,next:null});e:{var _e=n,Se=F;switch(le=i,ge=c,Se.tag){case 1:if(_e=Se.payload,typeof _e=="function"){fe=_e.call(ge,fe,le);break e}fe=_e;break e;case 3:_e.flags=_e.flags&-65537|128;case 0:if(_e=Se.payload,le=typeof _e=="function"?_e.call(ge,fe,le):_e,le==null)break e;fe=Q({},fe,le);break e;case 2:Nr=!0}}F.callback!==null&&F.lane!==0&&(n.flags|=64,le=v.effects,le===null?v.effects=[F]:le.push(F))}else ge={eventTime:ge,lane:le,tag:F.tag,payload:F.payload,callback:F.callback,next:null},ue===null?(oe=ue=ge,G=fe):ue=ue.next=ge,P|=le;if(F=F.next,F===null){if(F=v.shared.pending,F===null)break;le=F,F=le.next,le.next=null,v.lastBaseUpdate=le,v.shared.pending=null}}while(!0);if(ue===null&&(G=fe),v.baseState=G,v.firstBaseUpdate=oe,v.lastBaseUpdate=ue,i=v.shared.interleaved,i!==null){v=i;do P|=v.lane,v=v.next;while(v!==i)}else S===null&&(v.shared.lanes=0);po|=P,n.lanes=P,n.memoizedState=fe}}function vT(n,i,c){if(n=i.effects,i.effects=null,n!==null)for(i=0;ic?c:4,n(!0);var g=my.transition;my.transition={};try{n(!1),i()}finally{Le=c,my.transition=g}}function DT(){return Jt().memoizedState}function VH(n,i,c){var g=Ir(n);if(c={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null},jT(n))qT(i,c);else if(c=pT(n,i,c,g),c!==null){var v=xt();xn(c,n,g,v),zT(c,i,g)}}function HH(n,i,c){var g=Ir(n),v={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null};if(jT(n))qT(i,v);else{var S=n.alternate;if(n.lanes===0&&(S===null||S.lanes===0)&&(S=i.lastRenderedReducer,S!==null))try{var P=i.lastRenderedState,F=S(P,c);if(v.hasEagerState=!0,v.eagerState=F,gn(F,P)){var G=i.interleaved;G===null?(v.next=v,cy(i)):(v.next=G.next,G.next=v),i.interleaved=v;return}}catch{}finally{}c=pT(n,i,v,g),c!==null&&(v=xt(),xn(c,n,g,v),zT(c,i,g))}}function jT(n){var i=n.alternate;return n===Ye||i!==null&&i===Ye}function qT(n,i){Ws=bu=!0;var c=n.pending;c===null?i.next=i:(i.next=c.next,c.next=i),n.pending=i}function zT(n,i,c){if((c&4194240)!==0){var g=i.lanes;g&=n.pendingLanes,c|=g,i.lanes=c,Cv(n,c)}}var Cu={readContext:Zt,useCallback:mt,useContext:mt,useEffect:mt,useImperativeHandle:mt,useInsertionEffect:mt,useLayoutEffect:mt,useMemo:mt,useReducer:mt,useRef:mt,useState:mt,useDebugValue:mt,useDeferredValue:mt,useTransition:mt,useMutableSource:mt,useSyncExternalStore:mt,useId:mt,unstable_isNewReconciler:!1},WH={readContext:Zt,useCallback:function(n,i){return Ln().memoizedState=[n,i===void 0?null:i],n},useContext:Zt,useEffect:RT,useImperativeHandle:function(n,i,c){return c=c!=null?c.concat([n]):null,Su(4194308,4,AT.bind(null,i,n),c)},useLayoutEffect:function(n,i){return Su(4194308,4,n,i)},useInsertionEffect:function(n,i){return Su(4,2,n,i)},useMemo:function(n,i){var c=Ln();return i=i===void 0?null:i,n=n(),c.memoizedState=[n,i],n},useReducer:function(n,i,c){var g=Ln();return i=c!==void 0?c(i):i,g.memoizedState=g.baseState=i,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:i},g.queue=n,n=n.dispatch=VH.bind(null,Ye,n),[g.memoizedState,n]},useRef:function(n){var i=Ln();return n={current:n},i.memoizedState=n},useState:kT,useDebugValue:Sy,useDeferredValue:function(n){return Ln().memoizedState=n},useTransition:function(){var n=kT(!1),i=n[0];return n=BH.bind(null,n[1]),Ln().memoizedState=n,[i,n]},useMutableSource:function(){},useSyncExternalStore:function(n,i,c){var g=Ye,v=Ln();if(Be){if(c===void 0)throw Error(r(407));c=c()}else{if(c=i(),lt===null)throw Error(r(349));(ho&30)!==0||_T(g,i,c)}v.memoizedState=c;var S={value:c,getSnapshot:i};return v.queue=S,RT(ST.bind(null,g,S,n),[n]),g.flags|=2048,Ys(9,bT.bind(null,g,S,c,i),void 0,null),c},useId:function(){var n=Ln(),i=lt.identifierPrefix;if(Be){var c=Xn,g=Kn;c=(g&~(1<<32-Lt(g)-1)).toString(32)+c,i=":"+i+"R"+c,c=Us++,0B||w[A]!==S[B]){var K=` +`+w[A].replace(" at new "," at ");return r.displayName&&K.includes("")&&(K=K.replace("",r.displayName)),K}while(1<=A&&0<=B);break}}}finally{ie=!1,Error.prepareStackTrace=c}return(r=r?r.displayName||r.name:"")?U(r):""}function Z(r){switch(r.tag){case 5:return U(r.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return r=V(r.type,!1),r;case 11:return r=V(r.type.render,!1),r;case 1:return r=V(r.type,!0),r;default:return""}}function ee(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case I:return"Fragment";case T:return"Portal";case q:return"Profiler";case O:return"StrictMode";case W:return"Suspense";case L:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case F:return(r.displayName||"Context")+".Consumer";case G:return(r._context.displayName||"Context")+".Provider";case j:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case H:return s=r.displayName||null,s!==null?s:ee(r.type)||"Memo";case z:s=r._payload,r=r._init;try{return ee(r(s))}catch{}}return null}function X(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ee(s);case 8:return s===O?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function te(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function se(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function ae(r){var s=se(r)?"checked":"value",c=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),g=""+r[s];if(!r.hasOwnProperty(s)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var w=c.get,S=c.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return w.call(this)},set:function(A){g=""+A,S.call(this,A)}}),Object.defineProperty(r,s,{enumerable:c.enumerable}),{getValue:function(){return g},setValue:function(A){g=""+A},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function ce(r){r._valueTracker||(r._valueTracker=ae(r))}function de(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var c=s.getValue(),g="";return r&&(g=se(r)?r.checked?"true":"false":r.value),r=g,r!==c?(s.setValue(r),!0):!1}function pe(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function be(r,s){var c=s.checked;return Q({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??r._wrapperState.initialChecked})}function me(r,s){var c=s.defaultValue==null?"":s.defaultValue,g=s.checked!=null?s.checked:s.defaultChecked;c=te(s.value!=null?s.value:c),r._wrapperState={initialChecked:g,initialValue:c,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function Re(r,s){s=s.checked,s!=null&&_(r,"checked",s,!1)}function Ee(r,s){Re(r,s);var c=te(s.value),g=s.type;if(c!=null)g==="number"?(c===0&&r.value===""||r.value!=c)&&(r.value=""+c):r.value!==""+c&&(r.value=""+c);else if(g==="submit"||g==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Ge(r,s.type,c):s.hasOwnProperty("defaultValue")&&Ge(r,s.type,te(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function Je(r,s,c){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var g=s.type;if(!(g!=="submit"&&g!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,c||s===r.value||(r.value=s),r.defaultValue=s}c=r.name,c!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,c!==""&&(r.name=c)}function Ge(r,s,c){(s!=="number"||pe(r.ownerDocument)!==r)&&(c==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+c&&(r.defaultValue=""+c))}var Ht=Array.isArray;function pt(r,s,c,g){if(r=r.options,s){s={};for(var w=0;w"+s.valueOf().toString()+"",s=Et.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function Gt(r,s){if(s){var c=r.firstChild;if(c&&c===r.lastChild&&c.nodeType===3){c.nodeValue=s;return}}r.textContent=s}var Xn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ri=["Webkit","ms","Moz","O"];Object.keys(Xn).forEach(function(r){ri.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Xn[s]=Xn[r]})});function Ot(r,s,c){return s==null||typeof s=="boolean"||s===""?"":c||typeof s!="number"||s===0||Xn.hasOwnProperty(r)&&Xn[r]?(""+s).trim():s+"px"}function Yt(r,s){r=r.style;for(var c in s)if(s.hasOwnProperty(c)){var g=c.indexOf("--")===0,w=Ot(c,s[c],g);c==="float"&&(c="cssFloat"),g?r.setProperty(c,w):r[c]=w}}var Dv=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function _s(r,s){if(s){if(Dv[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(n(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(n(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(n(61))}if(s.style!=null&&typeof s.style!="object")throw Error(n(62))}}function bs(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ss=null;function Es(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var Cs=null,vr=null,yr=null;function Kl(r){if(r=Ks(r)){if(typeof Cs!="function")throw Error(n(280));var s=r.stateNode;s&&(s=Eu(s),Cs(r.stateNode,r.type,s))}}function Xl(r){vr?yr?yr.push(r):yr=[r]:vr=r}function Ql(){if(vr){var r=vr,s=yr;if(yr=vr=null,Kl(r),s)for(r=0;r>>=0,r===0?32:31-(Uv(r)/Gv|0)|0}var ai=64,li=4194304;function On(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function ui(r,s){var c=r.pendingLanes;if(c===0)return 0;var g=0,w=r.suspendedLanes,S=r.pingedLanes,A=c&268435455;if(A!==0){var B=A&~w;B!==0?g=On(B):(S&=A,S!==0&&(g=On(S)))}else A=c&~w,A!==0?g=On(A):S!==0&&(g=On(S));if(g===0)return 0;if(s!==0&&s!==g&&(s&w)===0&&(w=g&-g,S=s&-s,w>=S||w===16&&(S&4194240)!==0))return s;if((g&4)!==0&&(g|=c&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=g;0c;c++)s.push(r);return s}function wr(r,s,c){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-Lt(s),r[s]=c}function y6(r,s){var c=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var g=r.eventTimes;for(r=r.expirationTimes;0=Fs),IT=" ",MT=!1;function OT(r,s){switch(r){case"keyup":return U6.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function LT(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var di=!1;function Y6(r,s){switch(r){case"compositionend":return LT(s);case"keypress":return s.which!==32?null:(MT=!0,IT);case"textInput":return r=s.data,r===IT&&MT?null:r;default:return null}}function K6(r,s){if(di)return r==="compositionend"||!ly&&OT(r,s)?(r=kT(),hu=ny=Er=null,di=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:c,offset:s-r};r=g}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=BT(c)}}function HT(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?HT(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function WT(){for(var r=window,s=pe();s instanceof r.HTMLIFrameElement;){try{var c=typeof s.contentWindow.location.href=="string"}catch{c=!1}if(c)r=s.contentWindow;else break;s=pe(r.document)}return s}function fy(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function oW(r){var s=WT(),c=r.focusedElem,g=r.selectionRange;if(s!==c&&c&&c.ownerDocument&&HT(c.ownerDocument.documentElement,c)){if(g!==null&&fy(c)){if(s=g.start,r=g.end,r===void 0&&(r=s),"selectionStart"in c)c.selectionStart=s,c.selectionEnd=Math.min(r,c.value.length);else if(r=(s=c.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var w=c.textContent.length,S=Math.min(g.start,w);g=g.end===void 0?S:Math.min(g.end,w),!r.extend&&S>g&&(w=g,g=S,S=w),w=VT(c,S);var A=VT(c,g);w&&A&&(r.rangeCount!==1||r.anchorNode!==w.node||r.anchorOffset!==w.offset||r.focusNode!==A.node||r.focusOffset!==A.offset)&&(s=s.createRange(),s.setStart(w.node,w.offset),r.removeAllRanges(),S>g?(r.addRange(s),r.extend(A.node,A.offset)):(s.setEnd(A.node,A.offset),r.addRange(s)))}}for(s=[],r=c;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c=document.documentMode,hi=null,dy=null,Hs=null,hy=!1;function UT(r,s,c){var g=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;hy||hi==null||hi!==pe(g)||(g=hi,"selectionStart"in g&&fy(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),Hs&&Vs(Hs,g)||(Hs=g,g=_u(dy,"onSelect"),0yi||(r.current=Cy[yi],Cy[yi]=null,yi--)}function ze(r,s){yi++,Cy[yi]=r.current,r.current=s}var Rr={},gt=Nr(Rr),Ct=Nr(!1),fo=Rr;function wi(r,s){var c=r.type.contextTypes;if(!c)return Rr;var g=r.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===s)return g.__reactInternalMemoizedMaskedChildContext;var w={},S;for(S in c)w[S]=s[S];return g&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=w),w}function kt(r){return r=r.childContextTypes,r!=null}function Cu(){Be(Ct),Be(gt)}function aA(r,s,c){if(gt.current!==Rr)throw Error(n(168));ze(gt,s),ze(Ct,c)}function lA(r,s,c){var g=r.stateNode;if(s=s.childContextTypes,typeof g.getChildContext!="function")return c;g=g.getChildContext();for(var w in g)if(!(w in s))throw Error(n(108,X(r)||"Unknown",w));return Q({},c,g)}function ku(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||Rr,fo=gt.current,ze(gt,r),ze(Ct,Ct.current),!0}function uA(r,s,c){var g=r.stateNode;if(!g)throw Error(n(169));c?(r=lA(r,s,fo),g.__reactInternalMemoizedMergedChildContext=r,Be(Ct),Be(gt),ze(gt,r)):Be(Ct),ze(Ct,c)}var Zn=null,Nu=!1,ky=!1;function cA(r){Zn===null?Zn=[r]:Zn.push(r)}function mW(r){Nu=!0,cA(r)}function Pr(){if(!ky&&Zn!==null){ky=!0;var r=0,s=qe;try{var c=Zn;for(qe=1;r>=A,w-=A,Jn=1<<32-Lt(s)+w|c<Pe?(ct=Ne,Ne=null):ct=Ne.sibling;var De=le(ne,Ne,re[Pe],he);if(De===null){Ne===null&&(Ne=ct);break}r&&Ne&&De.alternate===null&&s(ne,Ne),J=S(De,J,Pe),ke===null?Ce=De:ke.sibling=De,ke=De,Ne=ct}if(Pe===re.length)return c(ne,Ne),We&&po(ne,Pe),Ce;if(Ne===null){for(;PePe?(ct=Ne,Ne=null):ct=Ne.sibling;var qr=le(ne,Ne,De.value,he);if(qr===null){Ne===null&&(Ne=ct);break}r&&Ne&&qr.alternate===null&&s(ne,Ne),J=S(qr,J,Pe),ke===null?Ce=qr:ke.sibling=qr,ke=qr,Ne=ct}if(De.done)return c(ne,Ne),We&&po(ne,Pe),Ce;if(Ne===null){for(;!De.done;Pe++,De=re.next())De=fe(ne,De.value,he),De!==null&&(J=S(De,J,Pe),ke===null?Ce=De:ke.sibling=De,ke=De);return We&&po(ne,Pe),Ce}for(Ne=g(ne,Ne);!De.done;Pe++,De=re.next())De=ge(Ne,ne,Pe,De.value,he),De!==null&&(r&&De.alternate!==null&&Ne.delete(De.key===null?Pe:De.key),J=S(De,J,Pe),ke===null?Ce=De:ke.sibling=De,ke=De);return r&&Ne.forEach(function(XW){return s(ne,XW)}),We&&po(ne,Pe),Ce}function et(ne,J,re,he){if(typeof re=="object"&&re!==null&&re.type===I&&re.key===null&&(re=re.props.children),typeof re=="object"&&re!==null){switch(re.$$typeof){case P:e:{for(var Ce=re.key,ke=J;ke!==null;){if(ke.key===Ce){if(Ce=re.type,Ce===I){if(ke.tag===7){c(ne,ke.sibling),J=w(ke,re.props.children),J.return=ne,ne=J;break e}}else if(ke.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===z&&mA(Ce)===ke.type){c(ne,ke.sibling),J=w(ke,re.props),J.ref=Xs(ne,ke,re),J.return=ne,ne=J;break e}c(ne,ke);break}else s(ne,ke);ke=ke.sibling}re.type===I?(J=bo(re.props.children,ne.mode,he,re.key),J.return=ne,ne=J):(he=tc(re.type,re.key,re.props,null,ne.mode,he),he.ref=Xs(ne,J,re),he.return=ne,ne=he)}return A(ne);case T:e:{for(ke=re.key;J!==null;){if(J.key===ke)if(J.tag===4&&J.stateNode.containerInfo===re.containerInfo&&J.stateNode.implementation===re.implementation){c(ne,J.sibling),J=w(J,re.children||[]),J.return=ne,ne=J;break e}else{c(ne,J);break}else s(ne,J);J=J.sibling}J=S0(re,ne.mode,he),J.return=ne,ne=J}return A(ne);case z:return ke=re._init,et(ne,J,ke(re._payload),he)}if(Ht(re))return _e(ne,J,re,he);if($(re))return Se(ne,J,re,he);Au(ne,re)}return typeof re=="string"&&re!==""||typeof re=="number"?(re=""+re,J!==null&&J.tag===6?(c(ne,J.sibling),J=w(J,re),J.return=ne,ne=J):(c(ne,J),J=b0(re,ne.mode,he),J.return=ne,ne=J),A(ne)):c(ne,J)}return et}var Si=vA(!0),yA=vA(!1),Iu=Nr(null),Mu=null,Ei=null,Iy=null;function My(){Iy=Ei=Mu=null}function Oy(r){var s=Iu.current;Be(Iu),r._currentValue=s}function Ly(r,s,c){for(;r!==null;){var g=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,g!==null&&(g.childLanes|=s)):g!==null&&(g.childLanes&s)!==s&&(g.childLanes|=s),r===c)break;r=r.return}}function Ci(r,s){Mu=r,Iy=Ei=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Nt=!0),r.firstContext=null)}function Zt(r){var s=r._currentValue;if(Iy!==r)if(r={context:r,memoizedValue:s,next:null},Ei===null){if(Mu===null)throw Error(n(308));Ei=r,Mu.dependencies={lanes:0,firstContext:r}}else Ei=Ei.next=r;return s}var go=null;function Dy(r){go===null?go=[r]:go.push(r)}function wA(r,s,c,g){var w=s.interleaved;return w===null?(c.next=c,Dy(s)):(c.next=w.next,w.next=c),s.interleaved=c,tr(r,g)}function tr(r,s){r.lanes|=s;var c=r.alternate;for(c!==null&&(c.lanes|=s),c=r,r=r.return;r!==null;)r.childLanes|=s,c=r.alternate,c!==null&&(c.childLanes|=s),c=r,r=r.return;return c.tag===3?c.stateNode:null}var Tr=!1;function jy(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function xA(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function nr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Ar(r,s,c){var g=r.updateQueue;if(g===null)return null;if(g=g.shared,(Le&2)!==0){var w=g.pending;return w===null?s.next=s:(s.next=w.next,w.next=s),g.pending=s,tr(r,c)}return w=g.interleaved,w===null?(s.next=s,Dy(g)):(s.next=w.next,w.next=s),g.interleaved=s,tr(r,c)}function Ou(r,s,c){if(s=s.updateQueue,s!==null&&(s=s.shared,(c&4194240)!==0)){var g=s.lanes;g&=r.pendingLanes,c|=g,s.lanes=c,Qv(r,c)}}function _A(r,s){var c=r.updateQueue,g=r.alternate;if(g!==null&&(g=g.updateQueue,c===g)){var w=null,S=null;if(c=c.firstBaseUpdate,c!==null){do{var A={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};S===null?w=S=A:S=S.next=A,c=c.next}while(c!==null);S===null?w=S=s:S=S.next=s}else w=S=s;c={baseState:g.baseState,firstBaseUpdate:w,lastBaseUpdate:S,shared:g.shared,effects:g.effects},r.updateQueue=c;return}r=c.lastBaseUpdate,r===null?c.firstBaseUpdate=s:r.next=s,c.lastBaseUpdate=s}function Lu(r,s,c,g){var w=r.updateQueue;Tr=!1;var S=w.firstBaseUpdate,A=w.lastBaseUpdate,B=w.shared.pending;if(B!==null){w.shared.pending=null;var K=B,oe=K.next;K.next=null,A===null?S=oe:A.next=oe,A=K;var ue=r.alternate;ue!==null&&(ue=ue.updateQueue,B=ue.lastBaseUpdate,B!==A&&(B===null?ue.firstBaseUpdate=oe:B.next=oe,ue.lastBaseUpdate=K))}if(S!==null){var fe=w.baseState;A=0,ue=oe=K=null,B=S;do{var le=B.lane,ge=B.eventTime;if((g&le)===le){ue!==null&&(ue=ue.next={eventTime:ge,lane:0,tag:B.tag,payload:B.payload,callback:B.callback,next:null});e:{var _e=r,Se=B;switch(le=s,ge=c,Se.tag){case 1:if(_e=Se.payload,typeof _e=="function"){fe=_e.call(ge,fe,le);break e}fe=_e;break e;case 3:_e.flags=_e.flags&-65537|128;case 0:if(_e=Se.payload,le=typeof _e=="function"?_e.call(ge,fe,le):_e,le==null)break e;fe=Q({},fe,le);break e;case 2:Tr=!0}}B.callback!==null&&B.lane!==0&&(r.flags|=64,le=w.effects,le===null?w.effects=[B]:le.push(B))}else ge={eventTime:ge,lane:le,tag:B.tag,payload:B.payload,callback:B.callback,next:null},ue===null?(oe=ue=ge,K=fe):ue=ue.next=ge,A|=le;if(B=B.next,B===null){if(B=w.shared.pending,B===null)break;le=B,B=le.next,le.next=null,w.lastBaseUpdate=le,w.shared.pending=null}}while(!0);if(ue===null&&(K=fe),w.baseState=K,w.firstBaseUpdate=oe,w.lastBaseUpdate=ue,s=w.shared.interleaved,s!==null){w=s;do A|=w.lane,w=w.next;while(w!==s)}else S===null&&(w.shared.lanes=0);yo|=A,r.lanes=A,r.memoizedState=fe}}function bA(r,s,c){if(r=s.effects,s.effects=null,r!==null)for(s=0;sc?c:4,r(!0);var g=By.transition;By.transition={};try{r(!1),s()}finally{qe=c,By.transition=g}}function $A(){return Jt().memoizedState}function xW(r,s,c){var g=Lr(r);if(c={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null},BA(r))VA(s,c);else if(c=wA(r,s,c,g),c!==null){var w=xt();_n(c,r,g,w),HA(c,s,g)}}function _W(r,s,c){var g=Lr(r),w={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null};if(BA(r))VA(s,w);else{var S=r.alternate;if(r.lanes===0&&(S===null||S.lanes===0)&&(S=s.lastRenderedReducer,S!==null))try{var A=s.lastRenderedState,B=S(A,c);if(w.hasEagerState=!0,w.eagerState=B,mn(B,A)){var K=s.interleaved;K===null?(w.next=w,Dy(s)):(w.next=K.next,K.next=w),s.interleaved=w;return}}catch{}finally{}c=wA(r,s,w,g),c!==null&&(w=xt(),_n(c,r,g,w),HA(c,s,g))}}function BA(r){var s=r.alternate;return r===Qe||s!==null&&s===Qe}function VA(r,s){ea=qu=!0;var c=r.pending;c===null?s.next=s:(s.next=c.next,c.next=s),r.pending=s}function HA(r,s,c){if((c&4194240)!==0){var g=s.lanes;g&=r.pendingLanes,c|=g,s.lanes=c,Qv(r,c)}}var $u={readContext:Zt,useCallback:mt,useContext:mt,useEffect:mt,useImperativeHandle:mt,useInsertionEffect:mt,useLayoutEffect:mt,useMemo:mt,useReducer:mt,useRef:mt,useState:mt,useDebugValue:mt,useDeferredValue:mt,useTransition:mt,useMutableSource:mt,useSyncExternalStore:mt,useId:mt,unstable_isNewReconciler:!1},bW={readContext:Zt,useCallback:function(r,s){return jn().memoizedState=[r,s===void 0?null:s],r},useContext:Zt,useEffect:MA,useImperativeHandle:function(r,s,c){return c=c!=null?c.concat([r]):null,zu(4194308,4,DA.bind(null,s,r),c)},useLayoutEffect:function(r,s){return zu(4194308,4,r,s)},useInsertionEffect:function(r,s){return zu(4,2,r,s)},useMemo:function(r,s){var c=jn();return s=s===void 0?null:s,r=r(),c.memoizedState=[r,s],r},useReducer:function(r,s,c){var g=jn();return s=c!==void 0?c(s):s,g.memoizedState=g.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},g.queue=r,r=r.dispatch=xW.bind(null,Qe,r),[g.memoizedState,r]},useRef:function(r){var s=jn();return r={current:r},s.memoizedState=r},useState:AA,useDebugValue:Ky,useDeferredValue:function(r){return jn().memoizedState=r},useTransition:function(){var r=AA(!1),s=r[0];return r=wW.bind(null,r[1]),jn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,c){var g=Qe,w=jn();if(We){if(c===void 0)throw Error(n(407));c=c()}else{if(c=s(),ut===null)throw Error(n(349));(vo&30)!==0||kA(g,s,c)}w.memoizedState=c;var S={value:c,getSnapshot:s};return w.queue=S,MA(RA.bind(null,g,S,r),[r]),g.flags|=2048,ra(9,NA.bind(null,g,S,c,s),void 0,null),c},useId:function(){var r=jn(),s=ut.identifierPrefix;if(We){var c=er,g=Jn;c=(g&~(1<<32-Lt(g)-1)).toString(32)+c,s=":"+s+"R"+c,c=ta++,0<\/script>",n=n.removeChild(n.firstChild)):typeof g.is=="string"?n=P.createElement(c,{is:g.is}):(n=P.createElement(c),c==="select"&&(P=n,g.multiple?P.multiple=!0:g.size&&(P.size=g.size))):n=P.createElementNS(n,c),n[Mn]=i,n[zs]=g,iA(n,i,!1,!1),i.stateNode=n;e:{switch(P=hs(c,g),c){case"dialog":je("cancel",n),je("close",n),v=g;break;case"iframe":case"object":case"embed":je("load",n),v=g;break;case"video":case"audio":for(v=0;vbi&&(i.flags|=128,g=!0,Ks(S,!1),i.lanes=4194304)}else{if(!g)if(n=xu(P),n!==null){if(i.flags|=128,g=!0,c=n.updateQueue,c!==null&&(i.updateQueue=c,i.flags|=4),Ks(S,!0),S.tail===null&&S.tailMode==="hidden"&&!P.alternate&&!Be)return vt(i),null}else 2*Ue()-S.renderingStartTime>bi&&c!==1073741824&&(i.flags|=128,g=!0,Ks(S,!1),i.lanes=4194304);S.isBackwards?(P.sibling=i.child,i.child=P):(c=S.last,c!==null?c.sibling=P:i.child=P,S.last=P)}return S.tail!==null?(i=S.tail,S.rendering=i,S.tail=i.sibling,S.renderingStartTime=Ue(),i.sibling=null,c=Ge.current,De(Ge,g?c&1|2:c&1),i):(vt(i),null);case 22:case 23:return Gy(),g=i.memoizedState!==null,n!==null&&n.memoizedState!==null!==g&&(i.flags|=8192),g&&(i.mode&1)!==0?(zt&1073741824)!==0&&(vt(i),i.subtreeFlags&6&&(i.flags|=8192)):vt(i),null;case 24:return null;case 25:return null}throw Error(r(156,i.tag))}function JH(n,i){switch(ny(i),i.tag){case 1:return kt(i.type)&&uu(),n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 3:return yi(),qe(Ct),qe(gt),gy(),n=i.flags,(n&65536)!==0&&(n&128)===0?(i.flags=n&-65537|128,i):null;case 5:return hy(i),null;case 13:if(qe(Ge),n=i.memoizedState,n!==null&&n.dehydrated!==null){if(i.alternate===null)throw Error(r(340));pi()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 19:return qe(Ge),null;case 4:return yi(),null;case 10:return ly(i.type._context),null;case 22:case 23:return Gy(),null;case 24:return null;default:return null}}var Pu=!1,yt=!1,e8=typeof WeakSet=="function"?WeakSet:Set,ye=null;function xi(n,i){var c=n.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(g){Xe(n,i,g)}else c.current=null}function Ly(n,i,c){try{c()}catch(g){Xe(n,i,g)}}var lA=!1;function t8(n,i){if(Gv=Kl,n=FP(),zv(n)){if("selectionStart"in n)var c={start:n.selectionStart,end:n.selectionEnd};else e:{c=(c=n.ownerDocument)&&c.defaultView||window;var g=c.getSelection&&c.getSelection();if(g&&g.rangeCount!==0){c=g.anchorNode;var v=g.anchorOffset,S=g.focusNode;g=g.focusOffset;try{c.nodeType,S.nodeType}catch{c=null;break e}var P=0,F=-1,G=-1,oe=0,ue=0,fe=n,le=null;t:for(;;){for(var ge;fe!==c||v!==0&&fe.nodeType!==3||(F=P+v),fe!==S||g!==0&&fe.nodeType!==3||(G=P+g),fe.nodeType===3&&(P+=fe.nodeValue.length),(ge=fe.firstChild)!==null;)le=fe,fe=ge;for(;;){if(fe===n)break t;if(le===c&&++oe===v&&(F=P),le===S&&++ue===g&&(G=P),(ge=fe.nextSibling)!==null)break;fe=le,le=fe.parentNode}fe=ge}c=F===-1||G===-1?null:{start:F,end:G}}else c=null}c=c||{start:0,end:0}}else c=null;for(Yv={focusedElem:n,selectionRange:c},Kl=!1,ye=i;ye!==null;)if(i=ye,n=i.child,(i.subtreeFlags&1028)!==0&&n!==null)n.return=i,ye=n;else for(;ye!==null;){i=ye;try{var _e=i.alternate;if((i.flags&1024)!==0)switch(i.tag){case 0:case 11:case 15:break;case 1:if(_e!==null){var Se=_e.memoizedProps,Ze=_e.memoizedState,ne=i.stateNode,J=ne.getSnapshotBeforeUpdate(i.elementType===i.type?Se:vn(i.type,Se),Ze);ne.__reactInternalSnapshotBeforeUpdate=J}break;case 3:var re=i.stateNode.containerInfo;re.nodeType===1?re.textContent="":re.nodeType===9&&re.documentElement&&re.removeChild(re.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(he){Xe(i,i.return,he)}if(n=i.sibling,n!==null){n.return=i.return,ye=n;break}ye=i.return}return _e=lA,lA=!1,_e}function Xs(n,i,c){var g=i.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var v=g=g.next;do{if((v.tag&n)===n){var S=v.destroy;v.destroy=void 0,S!==void 0&&Ly(i,c,S)}v=v.next}while(v!==g)}}function Tu(n,i){if(i=i.updateQueue,i=i!==null?i.lastEffect:null,i!==null){var c=i=i.next;do{if((c.tag&n)===n){var g=c.create;c.destroy=g()}c=c.next}while(c!==i)}}function Dy(n){var i=n.ref;if(i!==null){var c=n.stateNode;switch(n.tag){case 5:n=c;break;default:n=c}typeof i=="function"?i(n):i.current=n}}function uA(n){var i=n.alternate;i!==null&&(n.alternate=null,uA(i)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(i=n.stateNode,i!==null&&(delete i[Mn],delete i[zs],delete i[Zv],delete i[jH],delete i[qH])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function cA(n){return n.tag===5||n.tag===3||n.tag===4}function fA(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||cA(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function jy(n,i,c){var g=n.tag;if(g===5||g===6)n=n.stateNode,i?c.nodeType===8?c.parentNode.insertBefore(n,i):c.insertBefore(n,i):(c.nodeType===8?(i=c.parentNode,i.insertBefore(n,c)):(i=c,i.appendChild(n)),c=c._reactRootContainer,c!=null||i.onclick!==null||(i.onclick=au));else if(g!==4&&(n=n.child,n!==null))for(jy(n,i,c),n=n.sibling;n!==null;)jy(n,i,c),n=n.sibling}function qy(n,i,c){var g=n.tag;if(g===5||g===6)n=n.stateNode,i?c.insertBefore(n,i):c.appendChild(n);else if(g!==4&&(n=n.child,n!==null))for(qy(n,i,c),n=n.sibling;n!==null;)qy(n,i,c),n=n.sibling}var ct=null,yn=!1;function Pr(n,i,c){for(c=c.child;c!==null;)dA(n,i,c),c=c.sibling}function dA(n,i,c){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount(oo,c)}catch{}switch(c.tag){case 5:yt||xi(c,i);case 6:var g=ct,v=yn;ct=null,Pr(n,i,c),ct=g,yn=v,ct!==null&&(yn?(n=ct,c=c.stateNode,n.nodeType===8?n.parentNode.removeChild(c):n.removeChild(c)):ct.removeChild(c.stateNode));break;case 18:ct!==null&&(yn?(n=ct,c=c.stateNode,n.nodeType===8?Qv(n.parentNode,c):n.nodeType===1&&Qv(n,c),Rs(n)):Qv(ct,c.stateNode));break;case 4:g=ct,v=yn,ct=c.stateNode.containerInfo,yn=!0,Pr(n,i,c),ct=g,yn=v;break;case 0:case 11:case 14:case 15:if(!yt&&(g=c.updateQueue,g!==null&&(g=g.lastEffect,g!==null))){v=g=g.next;do{var S=v,P=S.destroy;S=S.tag,P!==void 0&&((S&2)!==0||(S&4)!==0)&&Ly(c,i,P),v=v.next}while(v!==g)}Pr(n,i,c);break;case 1:if(!yt&&(xi(c,i),g=c.stateNode,typeof g.componentWillUnmount=="function"))try{g.props=c.memoizedProps,g.state=c.memoizedState,g.componentWillUnmount()}catch(F){Xe(c,i,F)}Pr(n,i,c);break;case 21:Pr(n,i,c);break;case 22:c.mode&1?(yt=(g=yt)||c.memoizedState!==null,Pr(n,i,c),yt=g):Pr(n,i,c);break;default:Pr(n,i,c)}}function hA(n){var i=n.updateQueue;if(i!==null){n.updateQueue=null;var c=n.stateNode;c===null&&(c=n.stateNode=new e8),i.forEach(function(g){var v=c8.bind(null,n,g);c.has(g)||(c.add(g),g.then(v,v))})}}function wn(n,i){var c=i.deletions;if(c!==null)for(var g=0;gv&&(v=P),g&=~S}if(g=v,g=Ue()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*r8(g/1960))-g,10n?16:n,Ar===null)var g=!1;else{if(n=Ar,Ar=null,Lu=0,(Me&6)!==0)throw Error(r(331));var v=Me;for(Me|=4,ye=n.current;ye!==null;){var S=ye,P=S.child;if((ye.flags&16)!==0){var F=S.deletions;if(F!==null){for(var G=0;GUe()-$y?mo(n,0):Fy|=c),Pt(n,i)}function kA(n,i){i===0&&((n.mode&1)===0?i=1:(i=ei,ei<<=1,(ei&130023424)===0&&(ei=4194304)));var c=xt();n=Qn(n,i),n!==null&&(mr(n,i,c),Pt(n,c))}function u8(n){var i=n.memoizedState,c=0;i!==null&&(c=i.retryLane),kA(n,c)}function c8(n,i){var c=0;switch(n.tag){case 13:var g=n.stateNode,v=n.memoizedState;v!==null&&(c=v.retryLane);break;case 19:g=n.stateNode;break;default:throw Error(r(314))}g!==null&&g.delete(i),kA(n,c)}var NA;NA=function(n,i,c){if(n!==null)if(n.memoizedProps!==i.pendingProps||Ct.current)Nt=!0;else{if((n.lanes&c)===0&&(i.flags&128)===0)return Nt=!1,QH(n,i,c);Nt=(n.flags&131072)!==0}else Nt=!1,Be&&(i.flags&1048576)!==0&&sT(i,hu,i.index);switch(i.lanes=0,i.tag){case 2:var g=i.type;Ru(n,i),n=i.pendingProps;var v=fi(i,gt.current);vi(i,c),v=yy(null,i,g,n,v,c);var S=wy();return i.flags|=1,typeof v=="object"&&v!==null&&typeof v.render=="function"&&v.$$typeof===void 0?(i.tag=1,i.memoizedState=null,i.updateQueue=null,kt(g)?(S=!0,cu(i)):S=!1,i.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,fy(i),v.updater=ku,i.stateNode=v,v._reactInternals=i,Cy(i,g,n,c),i=Py(null,i,g,!0,S,c)):(i.tag=0,Be&&S&&ty(i),wt(null,i,v,c),i=i.child),i;case 16:g=i.elementType;e:{switch(Ru(n,i),n=i.pendingProps,v=g._init,g=v(g._payload),i.type=g,v=i.tag=d8(g),n=vn(g,n),v){case 0:i=Ry(null,i,g,n,c);break e;case 1:i=JT(null,i,g,n,c);break e;case 11:i=YT(null,i,g,n,c);break e;case 14:i=KT(null,i,g,vn(g.type,n),c);break e}throw Error(r(306,g,""))}return i;case 0:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),Ry(n,i,g,v,c);case 1:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),JT(n,i,g,v,c);case 3:e:{if(eA(i),n===null)throw Error(r(387));g=i.pendingProps,S=i.memoizedState,v=S.element,gT(n,i),wu(i,g,null,c);var P=i.memoizedState;if(g=P.element,S.isDehydrated)if(S={element:g,isDehydrated:!1,cache:P.cache,pendingSuspenseBoundaries:P.pendingSuspenseBoundaries,transitions:P.transitions},i.updateQueue.baseState=S,i.memoizedState=S,i.flags&256){v=wi(Error(r(423)),i),i=tA(n,i,g,c,v);break e}else if(g!==v){v=wi(Error(r(424)),i),i=tA(n,i,g,c,v);break e}else for(qt=Sr(i.stateNode.containerInfo.firstChild),jt=i,Be=!0,mn=null,c=hT(i,null,g,c),i.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(pi(),g===v){i=Jn(n,i,c);break e}wt(n,i,g,c)}i=i.child}return i;case 5:return yT(i),n===null&&oy(i),g=i.type,v=i.pendingProps,S=n!==null?n.memoizedProps:null,P=v.children,Kv(g,v)?P=null:S!==null&&Kv(g,S)&&(i.flags|=32),ZT(n,i),wt(n,i,P,c),i.child;case 6:return n===null&&oy(i),null;case 13:return nA(n,i,c);case 4:return dy(i,i.stateNode.containerInfo),g=i.pendingProps,n===null?i.child=gi(i,null,g,c):wt(n,i,g,c),i.child;case 11:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),YT(n,i,g,v,c);case 7:return wt(n,i,i.pendingProps,c),i.child;case 8:return wt(n,i,i.pendingProps.children,c),i.child;case 12:return wt(n,i,i.pendingProps.children,c),i.child;case 10:e:{if(g=i.type._context,v=i.pendingProps,S=i.memoizedProps,P=v.value,De(mu,g._currentValue),g._currentValue=P,S!==null)if(gn(S.value,P)){if(S.children===v.children&&!Ct.current){i=Jn(n,i,c);break e}}else for(S=i.child,S!==null&&(S.return=i);S!==null;){var F=S.dependencies;if(F!==null){P=S.child;for(var G=F.firstContext;G!==null;){if(G.context===g){if(S.tag===1){G=Zn(-1,c&-c),G.tag=2;var oe=S.updateQueue;if(oe!==null){oe=oe.shared;var ue=oe.pending;ue===null?G.next=G:(G.next=ue.next,ue.next=G),oe.pending=G}}S.lanes|=c,G=S.alternate,G!==null&&(G.lanes|=c),uy(S.return,c,i),F.lanes|=c;break}G=G.next}}else if(S.tag===10)P=S.type===i.type?null:S.child;else if(S.tag===18){if(P=S.return,P===null)throw Error(r(341));P.lanes|=c,F=P.alternate,F!==null&&(F.lanes|=c),uy(P,c,i),P=S.sibling}else P=S.child;if(P!==null)P.return=S;else for(P=S;P!==null;){if(P===i){P=null;break}if(S=P.sibling,S!==null){S.return=P.return,P=S;break}P=P.return}S=P}wt(n,i,v.children,c),i=i.child}return i;case 9:return v=i.type,g=i.pendingProps.children,vi(i,c),v=Zt(v),g=g(v),i.flags|=1,wt(n,i,g,c),i.child;case 14:return g=i.type,v=vn(g,i.pendingProps),v=vn(g.type,v),KT(n,i,g,v,c);case 15:return XT(n,i,i.type,i.pendingProps,c);case 17:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),Ru(n,i),i.tag=1,kt(g)?(n=!0,cu(i)):n=!1,vi(i,c),$T(i,g,v),Cy(i,g,v,c),Py(null,i,g,!0,n,c);case 19:return oA(n,i,c);case 22:return QT(n,i,c)}throw Error(r(156,i.tag))};function RA(n,i){return $l(n,i)}function f8(n,i,c,g){this.tag=n,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function tn(n,i,c,g){return new f8(n,i,c,g)}function Ky(n){return n=n.prototype,!(!n||!n.isReactComponent)}function d8(n){if(typeof n=="function")return Ky(n)?1:0;if(n!=null){if(n=n.$$typeof,n===V)return 11;if(n===H)return 14}return 2}function Or(n,i){var c=n.alternate;return c===null?(c=tn(n.tag,i,n.key,n.mode),c.elementType=n.elementType,c.type=n.type,c.stateNode=n.stateNode,c.alternate=n,n.alternate=c):(c.pendingProps=i,c.type=n.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=n.flags&14680064,c.childLanes=n.childLanes,c.lanes=n.lanes,c.child=n.child,c.memoizedProps=n.memoizedProps,c.memoizedState=n.memoizedState,c.updateQueue=n.updateQueue,i=n.dependencies,c.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},c.sibling=n.sibling,c.index=n.index,c.ref=n.ref,c}function zu(n,i,c,g,v,S){var P=2;if(g=n,typeof n=="function")Ky(n)&&(P=1);else if(typeof n=="string")P=5;else e:switch(n){case A:return yo(c.children,v,S,i);case O:P=8,v|=8;break;case j:return n=tn(12,c,i,v|2),n.elementType=j,n.lanes=S,n;case X:return n=tn(13,c,i,v),n.elementType=X,n.lanes=S,n;case L:return n=tn(19,c,i,v),n.elementType=L,n.lanes=S,n;case Y:return Fu(c,v,S,i);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case U:P=10;break e;case q:P=9;break e;case V:P=11;break e;case H:P=14;break e;case B:P=16,g=null;break e}throw Error(r(130,n==null?n:typeof n,""))}return i=tn(P,c,i,v),i.elementType=n,i.type=g,i.lanes=S,i}function yo(n,i,c,g){return n=tn(7,n,g,i),n.lanes=c,n}function Fu(n,i,c,g){return n=tn(22,n,g,i),n.elementType=Y,n.lanes=c,n.stateNode={isHidden:!1},n}function Xy(n,i,c){return n=tn(6,n,null,i),n.lanes=c,n}function Qy(n,i,c){return i=tn(4,n.children!==null?n.children:[],n.key,i),i.lanes=c,i.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},i}function h8(n,i,c,g,v){this.tag=i,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ss(0),this.expirationTimes=Ss(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ss(0),this.identifierPrefix=g,this.onRecoverableError=v,this.mutableSourceEagerHydrationData=null}function Zy(n,i,c,g,v,S,P,F,G){return n=new h8(n,i,c,F,G),i===1?(i=1,S===!0&&(i|=8)):i=0,S=tn(3,null,null,i),n.current=S,S.stateNode=n,S.memoizedState={element:g,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},fy(S),n}function p8(n,i,c){var g=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Xu.exports=zA(),Xu.exports}var f0;function FA(){if(f0)return ta;f0=1;var e=c0();return ta.createRoot=e.createRoot,ta.hydrateRoot=e.hydrateRoot,ta}var d0=FA(),N=Ci();const $t=tr(N),Ju=Dr({__proto__:null,default:$t},[N]);function Je(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,o;r{}};function na(){for(var e=0,t=arguments.length,r={},o;e=0&&(o=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:o}})}ra.prototype=na.prototype={constructor:ra,on:function(e,t){var r=this._,o=BA(e+"",r),s,a=-1,l=o.length;if(arguments.length<2){for(;++a0)for(var r=new Array(s),o=0,s,a;o=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),p0.hasOwnProperty(t)?{space:p0[t],local:e}:e}function HA(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===ec&&t.documentElement.namespaceURI===ec?t.createElement(e):t.createElementNS(r,e)}}function WA(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function g0(e){var t=oa(e);return(t.local?WA:HA)(t)}function UA(){}function tc(e){return e==null?UA:function(){return this.querySelector(e)}}function GA(e){typeof e!="function"&&(e=tc(e));for(var t=this._groups,r=t.length,o=new Array(r),s=0;s=_&&(_=C+1);!(R=x[_])&&++_=0;)(l=o[s])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function yI(e){e||(e=wI);function t(p,m){return p&&m?e(p.__data__,m.__data__):!p-!m}for(var r=this._groups,o=r.length,s=new Array(o),a=0;at?1:e>=t?0:NaN}function xI(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _I(){return Array.from(this)}function bI(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?MI:typeof t=="function"?LI:OI)(e,t,r??"")):wo(this.node(),e)}function wo(e,t){return e.style.getPropertyValue(t)||x0(e).getComputedStyle(e,null).getPropertyValue(t)}function jI(e){return function(){delete this[e]}}function qI(e,t){return function(){this[e]=t}}function zI(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function FI(e,t){return arguments.length>1?this.each((t==null?jI:typeof t=="function"?zI:qI)(e,t)):this.node()[e]}function _0(e){return e.trim().split(/^|\s+/)}function nc(e){return e.classList||new b0(e)}function b0(e){this._node=e,this._names=_0(e.getAttribute("class")||"")}b0.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function S0(e,t){for(var r=nc(e),o=-1,s=t.length;++o=0&&(r=t.slice(o+1),t=t.slice(0,o)),{type:t,name:r}})}function p2(e){return function(){var t=this.__on;if(t){for(var r=0,o=-1,s=t.length,a;r()=>e;function oc(e,{sourceEvent:t,subject:r,target:o,identifier:s,active:a,x:l,y:u,dx:f,dy:d,dispatch:h}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:h}})}oc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function E2(e){return!e.ctrlKey&&!e.button}function C2(){return this.parentNode}function k2(e,t){return t??{x:e.x,y:e.y}}function N2(){return navigator.maxTouchPoints||"ontouchstart"in this}function P0(){var e=E2,t=C2,r=k2,o=N2,s={},a=na("start","drag","end"),l=0,u,f,d,h,p=0;function m(k){k.on("mousedown.drag",w).filter(o).on("touchstart.drag",x).on("touchmove.drag",b,S2).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function w(k,R){if(!(h||!e.call(this,k,R))){var T=_(this,t.call(this,k,R),k,R,"mouse");T&&(At(k.view).on("mousemove.drag",E,Ni).on("mouseup.drag",y,Ni),N0(k.view),rc(k),d=!1,u=k.clientX,f=k.clientY,T("start",k))}}function E(k){if(xo(k),!d){var R=k.clientX-u,T=k.clientY-f;d=R*R+T*T>p}s.mouse("drag",k)}function y(k){At(k.view).on("mousemove.drag mouseup.drag",null),R0(k.view,d),xo(k),s.mouse("end",k)}function x(k,R){if(e.call(this,k,R)){var T=k.changedTouches,A=t.call(this,k,R),O=T.length,j,U;for(j=0;j>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?la(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?la(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=P2.exec(e))?new bt(t[1],t[2],t[3],1):(t=T2.exec(e))?new bt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=A2.exec(e))?la(t[1],t[2],t[3],t[4]):(t=I2.exec(e))?la(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=M2.exec(e))?j0(t[1],t[2]/100,t[3]/100,1):(t=O2.exec(e))?j0(t[1],t[2]/100,t[3]/100,t[4]):A0.hasOwnProperty(e)?O0(A0[e]):e==="transparent"?new bt(NaN,NaN,NaN,0):null}function O0(e){return new bt(e>>16&255,e>>8&255,e&255,1)}function la(e,t,r,o){return o<=0&&(e=t=r=NaN),new bt(e,t,r,o)}function j2(e){return e instanceof Ri||(e=jr(e)),e?(e=e.rgb(),new bt(e.r,e.g,e.b,e.opacity)):new bt}function sc(e,t,r,o){return arguments.length===1?j2(e):new bt(e,t,r,o??1)}function bt(e,t,r,o){this.r=+e,this.g=+t,this.b=+r,this.opacity=+o}ic(bt,sc,T0(Ri,{brighter(e){return e=e==null?aa:Math.pow(aa,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Pi:Math.pow(Pi,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new bt(qr(this.r),qr(this.g),qr(this.b),ua(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:L0,formatHex:L0,formatHex8:q2,formatRgb:D0,toString:D0}));function L0(){return`#${zr(this.r)}${zr(this.g)}${zr(this.b)}`}function q2(){return`#${zr(this.r)}${zr(this.g)}${zr(this.b)}${zr((isNaN(this.opacity)?1:this.opacity)*255)}`}function D0(){const e=ua(this.opacity);return`${e===1?"rgb(":"rgba("}${qr(this.r)}, ${qr(this.g)}, ${qr(this.b)}${e===1?")":`, ${e})`}`}function ua(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function qr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function zr(e){return e=qr(e),(e<16?"0":"")+e.toString(16)}function j0(e,t,r,o){return o<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new rn(e,t,r,o)}function q0(e){if(e instanceof rn)return new rn(e.h,e.s,e.l,e.opacity);if(e instanceof Ri||(e=jr(e)),!e)return new rn;if(e instanceof rn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,o=e.b/255,s=Math.min(t,r,o),a=Math.max(t,r,o),l=NaN,u=a-s,f=(a+s)/2;return u?(t===a?l=(r-o)/u+(r0&&f<1?0:l,new rn(l,u,f,e.opacity)}function z2(e,t,r,o){return arguments.length===1?q0(e):new rn(e,t,r,o??1)}function rn(e,t,r,o){this.h=+e,this.s=+t,this.l=+r,this.opacity=+o}ic(rn,z2,T0(Ri,{brighter(e){return e=e==null?aa:Math.pow(aa,e),new rn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Pi:Math.pow(Pi,e),new rn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,o=r+(r<.5?r:1-r)*t,s=2*r-o;return new bt(ac(e>=240?e-240:e+120,s,o),ac(e,s,o),ac(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new rn(z0(this.h),ca(this.s),ca(this.l),ua(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ua(this.opacity);return`${e===1?"hsl(":"hsla("}${z0(this.h)}, ${ca(this.s)*100}%, ${ca(this.l)*100}%${e===1?")":`, ${e})`}`}}));function z0(e){return e=(e||0)%360,e<0?e+360:e}function ca(e){return Math.max(0,Math.min(1,e||0))}function ac(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const lc=e=>()=>e;function F2(e,t){return function(r){return e+r*t}}function $2(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(o){return Math.pow(e+o*t,r)}}function B2(e){return(e=+e)==1?F0:function(t,r){return r-t?$2(t,r,e):lc(isNaN(t)?r:t)}}function F0(e,t){var r=t-e;return r?F2(e,r):lc(isNaN(e)?t:e)}const fa=(function e(t){var r=B2(t);function o(s,a){var l=r((s=sc(s)).r,(a=sc(a)).r),u=r(s.g,a.g),f=r(s.b,a.b),d=F0(s.opacity,a.opacity);return function(h){return s.r=l(h),s.g=u(h),s.b=f(h),s.opacity=d(h),s+""}}return o.gamma=e,o})(1);function V2(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,o=t.slice(),s;return function(a){for(s=0;sr&&(a=t.slice(r,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(s=s[0])?u[l]?u[l]+=s:u[++l]=s:(u[++l]=null,f.push({i:l,x:bn(o,s)})),r=cc.lastIndex;return r180?h+=360:h-d>180&&(d+=360),m.push({i:p.push(s(p)+"rotate(",null,o)-2,x:bn(d,h)})):h&&p.push(s(p)+"rotate("+h+o)}function u(d,h,p,m){d!==h?m.push({i:p.push(s(p)+"skewX(",null,o)-2,x:bn(d,h)}):h&&p.push(s(p)+"skewX("+h+o)}function f(d,h,p,m,w,E){if(d!==p||h!==m){var y=w.push(s(w)+"scale(",null,",",null,")");E.push({i:y-4,x:bn(d,p)},{i:y-2,x:bn(h,m)})}else(p!==1||m!==1)&&w.push(s(w)+"scale("+p+","+m+")")}return function(d,h){var p=[],m=[];return d=e(d),h=e(h),a(d.translateX,d.translateY,h.translateX,h.translateY,p,m),l(d.rotate,h.rotate,p,m),u(d.skewX,h.skewX,p,m),f(d.scaleX,d.scaleY,h.scaleX,h.scaleY,p,m),d=h=null,function(w){for(var E=-1,y=m.length,x;++E=0&&e._call.call(void 0,t),e=e._next;--bo}function K0(){Fr=(ga=Li.now())+ma,bo=Ii=0;try{oM()}finally{bo=0,sM(),Fr=0}}function iM(){var e=Li.now(),t=e-ga;t>U0&&(ma-=t,ga=e)}function sM(){for(var e,t=pa,r,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:pa=r);Oi=e,hc(o)}function hc(e){if(!bo){Ii&&(Ii=clearTimeout(Ii));var t=e-Fr;t>24?(e<1/0&&(Ii=setTimeout(K0,e-Li.now()-ma)),Mi&&(Mi=clearInterval(Mi))):(Mi||(ga=Li.now(),Mi=setInterval(iM,U0)),bo=1,G0(K0))}}function X0(e,t,r){var o=new va;return t=t==null?0:+t,o.restart(s=>{o.stop(),e(s+t)},t,r),o}var aM=na("start","end","cancel","interrupt"),lM=[],Q0=0,Z0=1,pc=2,ya=3,J0=4,gc=5,wa=6;function xa(e,t,r,o,s,a){var l=e.__transition;if(!l)e.__transition={};else if(r in l)return;uM(e,r,{name:t,index:o,group:s,on:aM,tween:lM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Q0})}function mc(e,t){var r=on(e,t);if(r.state>Q0)throw new Error("too late; already scheduled");return r}function Sn(e,t){var r=on(e,t);if(r.state>ya)throw new Error("too late; already running");return r}function on(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function uM(e,t,r){var o=e.__transition,s;o[t]=r,r.timer=Y0(a,0,r.time);function a(d){r.state=Z0,r.timer.restart(l,r.delay,r.time),r.delay<=d&&l(d-r.delay)}function l(d){var h,p,m,w;if(r.state!==Z0)return f();for(h in o)if(w=o[h],w.name===r.name){if(w.state===ya)return X0(l);w.state===J0?(w.state=wa,w.timer.stop(),w.on.call("interrupt",e,e.__data__,w.index,w.group),delete o[h]):+hpc&&o.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function zM(e,t,r){var o,s,a=qM(t)?mc:Sn;return function(){var l=a(this,e),u=l.on;u!==o&&(s=(o=u).copy()).on(t,r),l.on=s}}function FM(e,t){var r=this._id;return arguments.length<2?on(this.node(),r).on.on(e):this.each(zM(r,e,t))}function $M(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function BM(){return this.on("end.remove",$M(this._id))}function VM(e){var t=this._name,r=this._id;typeof e!="function"&&(e=tc(e));for(var o=this._groups,s=o.length,a=new Array(s),l=0;l()=>e;function pO(e,{sourceEvent:t,target:r,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function zn(e,t,r){this.k=e,this.x=t,this.y=r}zn.prototype={constructor:zn,scale:function(e){return e===1?this:new zn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new zn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Sa=new zn(1,0,0);rw.prototype=zn.prototype;function rw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Sa;return e.__zoom}function yc(e){e.stopImmediatePropagation()}function Di(e){e.preventDefault(),e.stopImmediatePropagation()}function gO(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function mO(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ow(){return this.__zoom||Sa}function vO(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function yO(){return navigator.maxTouchPoints||"ontouchstart"in this}function wO(e,t,r){var o=e.invertX(t[0][0])-r[0][0],s=e.invertX(t[1][0])-r[1][0],a=e.invertY(t[0][1])-r[0][1],l=e.invertY(t[1][1])-r[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function iw(){var e=gO,t=mO,r=wO,o=vO,s=yO,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],u=250,f=ha,d=na("start","zoom","end"),h,p,m,w=500,E=150,y=0,x=10;function b(L){L.property("__zoom",ow).on("wheel.zoom",O,{passive:!1}).on("mousedown.zoom",j).on("dblclick.zoom",U).filter(s).on("touchstart.zoom",q).on("touchmove.zoom",V).on("touchend.zoom touchcancel.zoom",X).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(L,H,B,Y){var M=L.selection?L.selection():L;M.property("__zoom",ow),L!==M?R(L,H,B,Y):M.interrupt().each(function(){T(this,arguments).event(Y).start().zoom(null,typeof H=="function"?H.apply(this,arguments):H).end()})},b.scaleBy=function(L,H,B,Y){b.scaleTo(L,function(){var M=this.__zoom.k,z=typeof H=="function"?H.apply(this,arguments):H;return M*z},B,Y)},b.scaleTo=function(L,H,B,Y){b.transform(L,function(){var M=t.apply(this,arguments),z=this.__zoom,Q=B==null?k(M):typeof B=="function"?B.apply(this,arguments):B,D=z.invert(Q),W=typeof H=="function"?H.apply(this,arguments):H;return r(_(C(z,W),Q,D),M,l)},B,Y)},b.translateBy=function(L,H,B,Y){b.transform(L,function(){return r(this.__zoom.translate(typeof H=="function"?H.apply(this,arguments):H,typeof B=="function"?B.apply(this,arguments):B),t.apply(this,arguments),l)},null,Y)},b.translateTo=function(L,H,B,Y,M){b.transform(L,function(){var z=t.apply(this,arguments),Q=this.__zoom,D=Y==null?k(z):typeof Y=="function"?Y.apply(this,arguments):Y;return r(Sa.translate(D[0],D[1]).scale(Q.k).translate(typeof H=="function"?-H.apply(this,arguments):-H,typeof B=="function"?-B.apply(this,arguments):-B),z,l)},Y,M)};function C(L,H){return H=Math.max(a[0],Math.min(a[1],H)),H===L.k?L:new zn(H,L.x,L.y)}function _(L,H,B){var Y=H[0]-B[0]*L.k,M=H[1]-B[1]*L.k;return Y===L.x&&M===L.y?L:new zn(L.k,Y,M)}function k(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function R(L,H,B,Y){L.on("start.zoom",function(){T(this,arguments).event(Y).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(Y).end()}).tween("zoom",function(){var M=this,z=arguments,Q=T(M,z).event(Y),D=t.apply(M,z),W=B==null?k(D):typeof B=="function"?B.apply(M,z):B,ie=Math.max(D[1][0]-D[0][0],D[1][1]-D[0][1]),$=M.__zoom,Z=typeof H=="function"?H.apply(M,z):H,ee=f($.invert(W).concat(ie/$.k),Z.invert(W).concat(ie/Z.k));return function(K){if(K===1)K=Z;else{var te=ee(K),se=ie/te[2];K=new zn(se,W[0]-te[0]*se,W[1]-te[1]*se)}Q.zoom(null,K)}})}function T(L,H,B){return!B&&L.__zooming||new A(L,H)}function A(L,H){this.that=L,this.args=H,this.active=0,this.sourceEvent=null,this.extent=t.apply(L,H),this.taps=0}A.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,H){return this.mouse&&L!=="mouse"&&(this.mouse[1]=H.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=H.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=H.invert(this.touch1[0])),this.that.__zoom=H,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var H=At(this.that).datum();d.call(L,this.that,new pO(L,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:d}),H)}};function O(L,...H){if(!e.apply(this,arguments))return;var B=T(this,H).event(L),Y=this.__zoom,M=Math.max(a[0],Math.min(a[1],Y.k*Math.pow(2,o.apply(this,arguments)))),z=nn(L);if(B.wheel)(B.mouse[0][0]!==z[0]||B.mouse[0][1]!==z[1])&&(B.mouse[1]=Y.invert(B.mouse[0]=z)),clearTimeout(B.wheel);else{if(Y.k===M)return;B.mouse=[z,Y.invert(z)],_a(this),B.start()}Di(L),B.wheel=setTimeout(Q,E),B.zoom("mouse",r(_(C(Y,M),B.mouse[0],B.mouse[1]),B.extent,l));function Q(){B.wheel=null,B.end()}}function j(L,...H){if(m||!e.apply(this,arguments))return;var B=L.currentTarget,Y=T(this,H,!0).event(L),M=At(L.view).on("mousemove.zoom",W,!0).on("mouseup.zoom",ie,!0),z=nn(L,B),Q=L.clientX,D=L.clientY;N0(L.view),yc(L),Y.mouse=[z,this.__zoom.invert(z)],_a(this),Y.start();function W($){if(Di($),!Y.moved){var Z=$.clientX-Q,ee=$.clientY-D;Y.moved=Z*Z+ee*ee>y}Y.event($).zoom("mouse",r(_(Y.that.__zoom,Y.mouse[0]=nn($,B),Y.mouse[1]),Y.extent,l))}function ie($){M.on("mousemove.zoom mouseup.zoom",null),R0($.view,Y.moved),Di($),Y.event($).end()}}function U(L,...H){if(e.apply(this,arguments)){var B=this.__zoom,Y=nn(L.changedTouches?L.changedTouches[0]:L,this),M=B.invert(Y),z=B.k*(L.shiftKey?.5:2),Q=r(_(C(B,z),Y,M),t.apply(this,H),l);Di(L),u>0?At(this).transition().duration(u).call(R,Q,Y,L):At(this).call(b.transform,Q,Y,L)}}function q(L,...H){if(e.apply(this,arguments)){var B=L.touches,Y=B.length,M=T(this,H,L.changedTouches.length===Y).event(L),z,Q,D,W;for(yc(L),Q=0;Q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:r,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?r:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},ji=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],sw=["Enter"," ","Escape"],aw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:r})=>`Moved selected node ${e}. New position, x: ${t}, y: ${r}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var So;(function(e){e.Strict="strict",e.Loose="loose"})(So||(So={}));var $r;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})($r||($r={}));var qi;(function(e){e.Partial="partial",e.Full="full"})(qi||(qi={}));const lw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var nr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(nr||(nr={}));var Ea;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ea||(Ea={}));var ve;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ve||(ve={}));const uw={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top};function cw(e){return e===null?null:e?"valid":"invalid"}const fw=e=>"id"in e&&"source"in e&&"target"in e,xO=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),wc=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),zi=(e,t=[0,0])=>{const{width:r,height:o}=Fn(e),s=e.origin??t,a=r*s[0],l=o*s[1];return{x:e.position.x-a,y:e.position.y-l}},_O=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((o,s)=>{const a=typeof s=="string";let l=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(l=a?t.nodeLookup.get(s):wc(s)?s:t.nodeLookup.get(s.id));const u=l?Na(l,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Ca(o,u)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ka(r)},Fi=(e,t={})=>{let r={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(r=Ca(r,Na(s)),o=!0)}),o?ka(r):{x:0,y:0,width:0,height:0}},xc=(e,t,[r,o,s]=[0,0,1],a=!1,l=!1)=>{const u={...Vi(t,[r,o,s]),width:t.width/s,height:t.height/s},f=[];for(const d of e.values()){const{measured:h,selectable:p=!0,hidden:m=!1}=d;if(l&&!p||m)continue;const w=h.width??d.width??d.initialWidth??null,E=h.height??d.height??d.initialHeight??null,y=$i(u,Co(d)),x=(w??0)*(E??0),b=a&&y>0;(!d.internals.handleBounds||b||y>=x||d.dragging)&&f.push(d)}return f},bO=(e,t)=>{const r=new Set;return e.forEach(o=>{r.add(o.id)}),t.filter(o=>r.has(o.source)||r.has(o.target))};function SO(e,t){const r=new Map,o=t!=null&&t.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&r.set(s.id,s)}),r}async function EO({nodes:e,width:t,height:r,panZoom:o,minZoom:s,maxZoom:a},l){if(e.size===0)return Promise.resolve(!0);const u=SO(e,l),f=Fi(u),d=bc(f,t,r,(l==null?void 0:l.minZoom)??s,(l==null?void 0:l.maxZoom)??a,(l==null?void 0:l.padding)??.1);return await o.setViewport(d,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),Promise.resolve(!0)}function dw({nodeId:e,nextPosition:t,nodeLookup:r,nodeOrigin:o=[0,0],nodeExtent:s,onError:a}){const l=r.get(e),u=l.parentId?r.get(l.parentId):void 0,{x:f,y:d}=u?u.internals.positionAbsolute:{x:0,y:0},h=l.origin??o;let p=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!u)a==null||a("005",En.error005());else{const w=u.measured.width,E=u.measured.height;w&&E&&(p=[[f,d],[f+w,d+E]])}else u&&No(l.extent)&&(p=[[l.extent[0][0]+f,l.extent[0][1]+d],[l.extent[1][0]+f,l.extent[1][1]+d]]);const m=No(p)?Br(t,p,l.measured):t;return(l.measured.width===void 0||l.measured.height===void 0)&&(a==null||a("015",En.error015())),{position:{x:m.x-f+(l.measured.width??0)*h[0],y:m.y-d+(l.measured.height??0)*h[1]},positionAbsolute:m}}async function CO({nodesToRemove:e=[],edgesToRemove:t=[],nodes:r,edges:o,onBeforeDelete:s}){const a=new Set(e.map(m=>m.id)),l=[];for(const m of r){if(m.deletable===!1)continue;const w=a.has(m.id),E=!w&&m.parentId&&l.find(y=>y.id===m.parentId);(w||E)&&l.push(m)}const u=new Set(t.map(m=>m.id)),f=o.filter(m=>m.deletable!==!1),h=bO(l,f);for(const m of f)u.has(m.id)&&!h.find(E=>E.id===m.id)&&h.push(m);if(!s)return{edges:h,nodes:l};const p=await s({nodes:l,edges:h});return typeof p=="boolean"?p?{edges:h,nodes:l}:{edges:[],nodes:[]}:p}const Eo=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),Br=(e={x:0,y:0},t,r)=>({x:Eo(e.x,t[0][0],t[1][0]-((r==null?void 0:r.width)??0)),y:Eo(e.y,t[0][1],t[1][1]-((r==null?void 0:r.height)??0))});function hw(e,t,r){const{width:o,height:s}=Fn(r),{x:a,y:l}=r.internals.positionAbsolute;return Br(e,[[a,l],[a+o,l+s]],t)}const pw=(e,t,r)=>er?-Eo(Math.abs(e-r),1,t)/t:0,gw=(e,t,r=15,o=40)=>{const s=pw(e.x,o,t.width-o)*r,a=pw(e.y,o,t.height-o)*r;return[s,a]},Ca=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),_c=({x:e,y:t,width:r,height:o})=>({x:e,y:t,x2:e+r,y2:t+o}),ka=({x:e,y:t,x2:r,y2:o})=>({x:e,y:t,width:r-e,height:o-t}),Co=(e,t=[0,0])=>{var s,a;const{x:r,y:o}=wc(e)?e.internals.positionAbsolute:zi(e,t);return{x:r,y:o,width:((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0,height:((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0}},Na=(e,t=[0,0])=>{var s,a;const{x:r,y:o}=wc(e)?e.internals.positionAbsolute:zi(e,t);return{x:r,y:o,x2:r+(((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0),y2:o+(((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0)}},mw=(e,t)=>ka(Ca(_c(e),_c(t))),$i=(e,t)=>{const r=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(r*o)},vw=e=>sn(e.width)&&sn(e.height)&&sn(e.x)&&sn(e.y),sn=e=>!isNaN(e)&&isFinite(e),kO=(e,t)=>{},Bi=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Vi=({x:e,y:t},[r,o,s],a=!1,l=[1,1])=>{const u={x:(e-r)/s,y:(t-o)/s};return a?Bi(u,l):u},Ra=({x:e,y:t},[r,o,s])=>({x:e*s+r,y:t*s+o});function ko(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(r)}if(typeof e=="string"&&e.endsWith("%")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(t*r*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function NO(e,t,r){if(typeof e=="string"||typeof e=="number"){const o=ko(e,r),s=ko(e,t);return{top:o,right:s,bottom:o,left:s,x:s*2,y:o*2}}if(typeof e=="object"){const o=ko(e.top??e.y??0,r),s=ko(e.bottom??e.y??0,r),a=ko(e.left??e.x??0,t),l=ko(e.right??e.x??0,t);return{top:o,right:l,bottom:s,left:a,x:a+l,y:o+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function RO(e,t,r,o,s,a){const{x:l,y:u}=Ra(e,[t,r,o]),{x:f,y:d}=Ra({x:e.x+e.width,y:e.y+e.height},[t,r,o]),h=s-f,p=a-d;return{left:Math.floor(l),top:Math.floor(u),right:Math.floor(h),bottom:Math.floor(p)}}const bc=(e,t,r,o,s,a)=>{const l=NO(a,t,r),u=(t-l.x)/e.width,f=(r-l.y)/e.height,d=Math.min(u,f),h=Eo(d,o,s),p=e.x+e.width/2,m=e.y+e.height/2,w=t/2-p*h,E=r/2-m*h,y=RO(e,w,E,h,t,r),x={left:Math.min(y.left-l.left,0),top:Math.min(y.top-l.top,0),right:Math.min(y.right-l.right,0),bottom:Math.min(y.bottom-l.bottom,0)};return{x:w-x.left+x.right,y:E-x.top+x.bottom,zoom:h}},Hi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function No(e){return e!=null&&e!=="parent"}function Fn(e){var t,r;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0}}function yw(e){var t,r;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight)!==void 0}function ww(e,t={width:0,height:0},r,o,s){const a={...e},l=o.get(r);if(l){const u=l.origin||s;a.x+=l.internals.positionAbsolute.x-(t.width??0)*u[0],a.y+=l.internals.positionAbsolute.y-(t.height??0)*u[1]}return a}function xw(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}function PO(){let e,t;return{promise:new Promise((o,s)=>{e=o,t=s}),resolve:e,reject:t}}function TO(e){return{...aw,...e||{}}}function Wi(e,{snapGrid:t=[0,0],snapToGrid:r=!1,transform:o,containerBounds:s}){const{x:a,y:l}=an(e),u=Vi({x:a-((s==null?void 0:s.left)??0),y:l-((s==null?void 0:s.top)??0)},o),{x:f,y:d}=r?Bi(u,t):u;return{xSnapped:f,ySnapped:d,...u}}const Sc=e=>({width:e.offsetWidth,height:e.offsetHeight}),_w=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},AO=["INPUT","SELECT","TEXTAREA"];function bw(e){var o,s;const t=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:AO.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Sw=e=>"clientX"in e,an=(e,t)=>{var a,l;const r=Sw(e),o=r?e.clientX:(a=e.touches)==null?void 0:a[0].clientX,s=r?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((t==null?void 0:t.left)??0),y:s-((t==null?void 0:t.top)??0)}},Ew=(e,t,r,o,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(u.left-r.left)/o,y:(u.top-r.top)/o,...Sc(l)}})};function Cw({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:a,targetControlX:l,targetControlY:u}){const f=e*.125+s*.375+l*.375+r*.125,d=t*.125+a*.375+u*.375+o*.125,h=Math.abs(f-e),p=Math.abs(d-t);return[f,d,h,p]}function Pa(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function kw({pos:e,x1:t,y1:r,x2:o,y2:s,c:a}){switch(e){case ve.Left:return[t-Pa(t-o,a),r];case ve.Right:return[t+Pa(o-t,a),r];case ve.Top:return[t,r-Pa(r-s,a)];case ve.Bottom:return[t,r+Pa(s-r,a)]}}function Nw({sourceX:e,sourceY:t,sourcePosition:r=ve.Bottom,targetX:o,targetY:s,targetPosition:a=ve.Top,curvature:l=.25}){const[u,f]=kw({pos:r,x1:e,y1:t,x2:o,y2:s,c:l}),[d,h]=kw({pos:a,x1:o,y1:s,x2:e,y2:t,c:l}),[p,m,w,E]=Cw({sourceX:e,sourceY:t,targetX:o,targetY:s,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${t} C${u},${f} ${d},${h} ${o},${s}`,p,m,w,E]}function Rw({sourceX:e,sourceY:t,targetX:r,targetY:o}){const s=Math.abs(r-e)/2,a=r0}const OO=({source:e,sourceHandle:t,target:r,targetHandle:o})=>`xy-edge__${e}${t||""}-${r}${o||""}`,LO=(e,t)=>t.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),DO=(e,t)=>{if(!e.source||!e.target)return t;let r;return fw(e)?r={...e}:r={...e,id:OO(e)},LO(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function Pw({sourceX:e,sourceY:t,targetX:r,targetY:o}){const[s,a,l,u]=Rw({sourceX:e,sourceY:t,targetX:r,targetY:o});return[`M ${e},${t}L ${r},${o}`,s,a,l,u]}const Tw={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},jO=({source:e,sourcePosition:t=ve.Bottom,target:r})=>t===ve.Left||t===ve.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function qO({source:e,sourcePosition:t=ve.Bottom,target:r,targetPosition:o=ve.Top,center:s,offset:a,stepPosition:l}){const u=Tw[t],f=Tw[o],d={x:e.x+u.x*a,y:e.y+u.y*a},h={x:r.x+f.x*a,y:r.y+f.y*a},p=jO({source:d,sourcePosition:t,target:h}),m=p.x!==0?"x":"y",w=p[m];let E=[],y,x;const b={x:0,y:0},C={x:0,y:0},[,,_,k]=Rw({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(u[m]*f[m]===-1){m==="x"?(y=s.x??d.x+(h.x-d.x)*l,x=s.y??(d.y+h.y)/2):(y=s.x??(d.x+h.x)/2,x=s.y??d.y+(h.y-d.y)*l);const T=[{x:y,y:d.y},{x:y,y:h.y}],A=[{x:d.x,y:x},{x:h.x,y:x}];u[m]===w?E=m==="x"?T:A:E=m==="x"?A:T}else{const T=[{x:d.x,y:h.y}],A=[{x:h.x,y:d.y}];if(m==="x"?E=u.x===w?A:T:E=u.y===w?T:A,t===o){const V=Math.abs(e[m]-r[m]);if(V<=a){const X=Math.min(a-1,a-V);u[m]===w?b[m]=(d[m]>e[m]?-1:1)*X:C[m]=(h[m]>r[m]?-1:1)*X}}if(t!==o){const V=m==="x"?"y":"x",X=u[m]===f[V],L=d[V]>h[V],H=d[V]=q?(y=(O.x+j.x)/2,x=E[0].y):(y=E[0].x,x=(O.y+j.y)/2)}return[[e,{x:d.x+b.x,y:d.y+b.y},...E,{x:h.x+C.x,y:h.y+C.y},r],y,x,_,k]}function zO(e,t,r,o){const s=Math.min(Aw(e,t)/2,Aw(t,r)/2,o),{x:a,y:l}=t;if(e.x===a&&a===r.x||e.y===l&&l===r.y)return`L${a} ${l}`;if(e.y===l){const d=e.x{let k="";return _>0&&_r.id===t):e[0])||null}function Cc(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function $O(e,{id:t,defaultColor:r,defaultMarkerStart:o,defaultMarkerEnd:s}){const a=new Set;return e.reduce((l,u)=>([u.markerStart||o,u.markerEnd||s].forEach(f=>{if(f&&typeof f=="object"){const d=Cc(f,t);a.has(d)||(l.push({id:d,color:f.color||r,...f}),a.add(d))}}),l),[]).sort((l,u)=>l.id.localeCompare(u.id))}const Lw=1e3,BO=10,kc={nodeOrigin:[0,0],nodeExtent:ji,elevateNodesOnSelect:!0,defaults:{}},VO={...kc,checkEquality:!0};function Nc(e,t){const r={...e};for(const o in t)t[o]!==void 0&&(r[o]=t[o]);return r}function HO(e,t,r){const o=Nc(kc,r);for(const s of e.values())if(s.parentId)Pc(s,e,t,o);else{const a=zi(s,o.nodeOrigin),l=No(s.extent)?s.extent:o.nodeExtent,u=Br(a,l,Fn(s));s.internals.positionAbsolute=u}}function WO(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const r=[],o=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?r.push(a):s.type==="target"&&o.push(a)}return{source:r,target:o}}function Rc(e,t,r,o){var d,h;const s=Nc(VO,o);let a={i:-1},l=e.length>0;const u=new Map(t),f=s!=null&&s.elevateNodesOnSelect?Lw:0;t.clear(),r.clear();for(const p of e){let m=u.get(p.id);if(s.checkEquality&&p===(m==null?void 0:m.internals.userNode))t.set(p.id,m);else{const w=zi(p,s.nodeOrigin),E=No(p.extent)?p.extent:s.nodeExtent,y=Br(w,E,Fn(p));m={...s.defaults,...p,measured:{width:(d=p.measured)==null?void 0:d.width,height:(h=p.measured)==null?void 0:h.height},internals:{positionAbsolute:y,handleBounds:WO(p,m),z:Dw(p,f),userNode:p}},t.set(p.id,m)}(m.measured===void 0||m.measured.width===void 0||m.measured.height===void 0)&&!m.hidden&&(l=!1),p.parentId&&Pc(m,t,r,o,a)}return l}function UO(e,t){if(!e.parentId)return;const r=t.get(e.parentId);r?r.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Pc(e,t,r,o,s){const{elevateNodesOnSelect:a,nodeOrigin:l,nodeExtent:u}=Nc(kc,o),f=e.parentId,d=t.get(f);if(!d){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}UO(e,r),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*BO),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const h=a?Lw:0,{x:p,y:m,z:w}=GO(e,d,l,u,h),{positionAbsolute:E}=e.internals,y=p!==E.x||m!==E.y;(y||w!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:m}:E,z:w}})}function Dw(e,t){return(sn(e.zIndex)?e.zIndex:0)+(e.selected?t:0)}function GO(e,t,r,o,s){const{x:a,y:l}=t.internals.positionAbsolute,u=Fn(e),f=zi(e,r),d=No(e.extent)?Br(f,e.extent,u):f;let h=Br({x:a+d.x,y:l+d.y},o,u);e.extent==="parent"&&(h=hw(h,u,t));const p=Dw(e,s),m=t.internals.z??0;return{x:h.x,y:h.y,z:m>=p?m+1:p}}function Tc(e,t,r,o=[0,0]){var l;const s=[],a=new Map;for(const u of e){const f=t.get(u.parentId);if(!f)continue;const d=((l=a.get(u.parentId))==null?void 0:l.expandedRect)??Co(f),h=mw(d,u.rect);a.set(u.parentId,{expandedRect:h,parent:f})}return a.size>0&&a.forEach(({expandedRect:u,parent:f},d)=>{var _;const h=f.internals.positionAbsolute,p=Fn(f),m=f.origin??o,w=u.x0||E>0||b||C)&&(s.push({id:d,type:"position",position:{x:f.position.x-w+b,y:f.position.y-E+C}}),(_=r.get(d))==null||_.forEach(k=>{e.some(R=>R.id===k.id)||s.push({id:k.id,type:"position",position:{x:k.position.x+w,y:k.position.y+E}})})),(p.width0){const m=Tc(p,t,r,s);f.push(...m)}return{changes:f,updatedInternals:u}}async function KO({delta:e,panZoom:t,transform:r,translateExtent:o,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const l=await t.setViewportConstrained({x:r[0]+e.x,y:r[1]+e.y,zoom:r[2]},[[0,0],[s,a]],o),u=!!l&&(l.x!==r[0]||l.y!==r[1]||l.k!==r[2]);return Promise.resolve(u)}function jw(e,t,r,o,s,a){let l=s;const u=o.get(l)||new Map;o.set(l,u.set(r,t)),l=`${s}-${e}`;const f=o.get(l)||new Map;if(o.set(l,f.set(r,t)),a){l=`${s}-${e}-${a}`;const d=o.get(l)||new Map;o.set(l,d.set(r,t))}}function qw(e,t,r){e.clear(),t.clear();for(const o of r){const{source:s,target:a,sourceHandle:l=null,targetHandle:u=null}=o,f={edgeId:o.id,source:s,target:a,sourceHandle:l,targetHandle:u},d=`${s}-${l}--${a}-${u}`,h=`${a}-${u}--${s}-${l}`;jw("source",f,h,e,s,l),jw("target",f,d,e,a,u),t.set(o.id,o)}}function zw(e,t){if(!e.parentId)return!1;const r=t.get(e.parentId);return r?r.selected?!0:zw(r,t):!1}function Fw(e,t,r){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,t))return!0;if(o===r)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function XO(e,t,r,o){const s=new Map;for(const[a,l]of e)if((l.selected||l.id===o)&&(!l.parentId||!zw(l,e))&&(l.draggable||t&&typeof l.draggable>"u")){const u=e.get(a);u&&s.set(a,{id:a,position:u.position||{x:0,y:0},distance:{x:r.x-u.internals.positionAbsolute.x,y:r.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:u.measured.width??0,height:u.measured.height??0}})}return s}function Ac({nodeId:e,dragItems:t,nodeLookup:r,dragging:o=!0}){var l,u,f;const s=[];for(const[d,h]of t){const p=(l=r.get(d))==null?void 0:l.internals.userNode;p&&s.push({...p,position:h.position,dragging:o})}if(!e)return[s[0],s];const a=(u=r.get(e))==null?void 0:u.internals.userNode;return[a?{...a,position:((f=t.get(e))==null?void 0:f.position)||a.position,dragging:o}:s[0],s]}function QO({dragItems:e,snapGrid:t,x:r,y:o}){const s=e.values().next().value;if(!s)return null;const a={x:r-s.distance.x,y:o-s.distance.y},l=Bi(a,t);return{x:l.x-a.x,y:l.y-a.y}}function ZO({onNodeMouseDown:e,getStoreItems:t,onDragStart:r,onDrag:o,onDragStop:s}){let a={x:null,y:null},l=0,u=new Map,f=!1,d={x:0,y:0},h=null,p=!1,m=null,w=!1,E=!1,y=null;function x({noDragClassName:C,handleSelector:_,domNode:k,isSelectable:R,nodeId:T,nodeClickDistance:A=0}){m=At(k);function O({x:V,y:X}){const{nodeLookup:L,nodeExtent:H,snapGrid:B,snapToGrid:Y,nodeOrigin:M,onNodeDrag:z,onSelectionDrag:Q,onError:D,updateNodePositions:W}=t();a={x:V,y:X};let ie=!1;const $=u.size>1,Z=$&&H?_c(Fi(u)):null,ee=$&&Y?QO({dragItems:u,snapGrid:B,x:V,y:X}):null;for(const[K,te]of u){if(!L.has(K))continue;let se={x:V-te.distance.x,y:X-te.distance.y};Y&&(se=ee?{x:Math.round(se.x+ee.x),y:Math.round(se.y+ee.y)}:Bi(se,B));let ae=null;if($&&H&&!te.extent&&Z){const{positionAbsolute:pe}=te.internals,be=pe.x-Z.x+H[0][0],me=pe.x+te.measured.width-Z.x2+H[1][0],Re=pe.y-Z.y+H[0][1],Ee=pe.y+te.measured.height-Z.y2+H[1][1];ae=[[be,Re],[me,Ee]]}const{position:ce,positionAbsolute:de}=dw({nodeId:K,nextPosition:se,nodeLookup:L,nodeExtent:ae||H,nodeOrigin:M,onError:D});ie=ie||te.position.x!==ce.x||te.position.y!==ce.y,te.position=ce,te.internals.positionAbsolute=de}if(E=E||ie,!!ie&&(W(u,!0),y&&(o||z||!T&&Q))){const[K,te]=Ac({nodeId:T,dragItems:u,nodeLookup:L});o==null||o(y,u,K,te),z==null||z(y,K,te),T||Q==null||Q(y,te)}}async function j(){if(!h)return;const{transform:V,panBy:X,autoPanSpeed:L,autoPanOnNodeDrag:H}=t();if(!H){f=!1,cancelAnimationFrame(l);return}const[B,Y]=gw(d,h,L);(B!==0||Y!==0)&&(a.x=(a.x??0)-B/V[2],a.y=(a.y??0)-Y/V[2],await X({x:B,y:Y})&&O(a)),l=requestAnimationFrame(j)}function U(V){var $;const{nodeLookup:X,multiSelectionActive:L,nodesDraggable:H,transform:B,snapGrid:Y,snapToGrid:M,selectNodesOnDrag:z,onNodeDragStart:Q,onSelectionDragStart:D,unselectNodesAndEdges:W}=t();p=!0,(!z||!R)&&!L&&T&&(($=X.get(T))!=null&&$.selected||W()),R&&z&&T&&(e==null||e(T));const ie=Wi(V.sourceEvent,{transform:B,snapGrid:Y,snapToGrid:M,containerBounds:h});if(a=ie,u=XO(X,H,ie,T),u.size>0&&(r||Q||!T&&D)){const[Z,ee]=Ac({nodeId:T,dragItems:u,nodeLookup:X});r==null||r(V.sourceEvent,u,Z,ee),Q==null||Q(V.sourceEvent,Z,ee),T||D==null||D(V.sourceEvent,ee)}}const q=P0().clickDistance(A).on("start",V=>{const{domNode:X,nodeDragThreshold:L,transform:H,snapGrid:B,snapToGrid:Y}=t();h=(X==null?void 0:X.getBoundingClientRect())||null,w=!1,E=!1,y=V.sourceEvent,L===0&&U(V),a=Wi(V.sourceEvent,{transform:H,snapGrid:B,snapToGrid:Y,containerBounds:h}),d=an(V.sourceEvent,h)}).on("drag",V=>{const{autoPanOnNodeDrag:X,transform:L,snapGrid:H,snapToGrid:B,nodeDragThreshold:Y,nodeLookup:M}=t(),z=Wi(V.sourceEvent,{transform:L,snapGrid:H,snapToGrid:B,containerBounds:h});if(y=V.sourceEvent,(V.sourceEvent.type==="touchmove"&&V.sourceEvent.touches.length>1||T&&!M.has(T))&&(w=!0),!w){if(!f&&X&&p&&(f=!0,j()),!p){const Q=an(V.sourceEvent,h),D=Q.x-d.x,W=Q.y-d.y;Math.sqrt(D*D+W*W)>Y&&U(V)}(a.x!==z.xSnapped||a.y!==z.ySnapped)&&u&&p&&(d=an(V.sourceEvent,h),O(z))}}).on("end",V=>{if(!(!p||w)&&(f=!1,p=!1,cancelAnimationFrame(l),u.size>0)){const{nodeLookup:X,updateNodePositions:L,onNodeDragStop:H,onSelectionDragStop:B}=t();if(E&&(L(u,!1),E=!1),s||H||!T&&B){const[Y,M]=Ac({nodeId:T,dragItems:u,nodeLookup:X,dragging:!1});s==null||s(V.sourceEvent,u,Y,M),H==null||H(V.sourceEvent,Y,M),T||B==null||B(V.sourceEvent,M)}}}).filter(V=>{const X=V.target;return!V.button&&(!C||!Fw(X,`.${C}`,k))&&(!_||Fw(X,_,k))});m.call(q)}function b(){m==null||m.on(".drag",null)}return{update:x,destroy:b}}function JO(e,t,r){const o=[],s={x:e.x-r,y:e.y-r,width:r*2,height:r*2};for(const a of t.values())$i(s,Co(a))>0&&o.push(a);return o}const eL=250;function tL(e,t,r,o){var u,f;let s=[],a=1/0;const l=JO(e,r,t+eL);for(const d of l){const h=[...((u=d.internals.handleBounds)==null?void 0:u.source)??[],...((f=d.internals.handleBounds)==null?void 0:f.target)??[]];for(const p of h){if(o.nodeId===p.nodeId&&o.type===p.type&&o.id===p.id)continue;const{x:m,y:w}=Ui(d,p,p.position,!0),E=Math.sqrt(Math.pow(m-e.x,2)+Math.pow(w-e.y,2));E>t||(E1){const d=o.type==="source"?"target":"source";return s.find(h=>h.type===d)??s[0]}return s[0]}function $w(e,t,r,o,s,a=!1){var d,h,p;const l=o.get(e);if(!l)return null;const u=s==="strict"?(d=l.internals.handleBounds)==null?void 0:d[t]:[...((h=l.internals.handleBounds)==null?void 0:h.source)??[],...((p=l.internals.handleBounds)==null?void 0:p.target)??[]],f=(r?u==null?void 0:u.find(m=>m.id===r):u==null?void 0:u[0])??null;return f&&a?{...f,...Ui(l,f,f.position,!0)}:f}function Bw(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function nL(e,t){let r=null;return t?r=!0:e&&!t&&(r=!1),r}const Vw=()=>!0;function rL(e,{connectionMode:t,connectionRadius:r,handleId:o,nodeId:s,edgeUpdaterType:a,isTarget:l,domNode:u,nodeLookup:f,lib:d,autoPanOnConnect:h,flowId:p,panBy:m,cancelConnection:w,onConnectStart:E,onConnect:y,onConnectEnd:x,isValidConnection:b=Vw,onReconnectEnd:C,updateConnection:_,getTransform:k,getFromHandle:R,autoPanSpeed:T,dragThreshold:A=1,handleDomNode:O}){const j=_w(e.target);let U=0,q;const{x:V,y:X}=an(e),L=Bw(a,O),H=u==null?void 0:u.getBoundingClientRect();let B=!1;if(!H||!L)return;const Y=$w(s,L,o,f,t);if(!Y)return;let M=an(e,H),z=!1,Q=null,D=!1,W=null;function ie(){if(!h||!H)return;const[ce,de]=gw(M,H,T);m({x:ce,y:de}),U=requestAnimationFrame(ie)}const $={...Y,nodeId:s,type:L,position:Y.position},Z=f.get(s);let K={inProgress:!0,isValid:null,from:Ui(Z,$,ve.Left,!0),fromHandle:$,fromPosition:$.position,fromNode:Z,to:M,toHandle:null,toPosition:uw[$.position],toNode:null,pointer:M};function te(){B=!0,_(K),E==null||E(e,{nodeId:s,handleId:o,handleType:L})}A===0&&te();function se(ce){if(!B){const{x:me,y:Re}=an(ce),Ee=me-V,Qe=Re-X;if(!(Ee*Ee+Qe*Qe>A*A))return;te()}if(!R()||!$){ae(ce);return}const de=k();M=an(ce,H),q=tL(Vi(M,de,!1,[1,1]),r,f,$),z||(ie(),z=!0);const pe=Hw(ce,{handle:q,connectionMode:t,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:b,doc:j,lib:d,flowId:p,nodeLookup:f});W=pe.handleDomNode,Q=pe.connection,D=nL(!!q,pe.isValid);const be={...K,isValid:D,to:pe.toHandle&&D?Ra({x:pe.toHandle.x,y:pe.toHandle.y},de):M,toHandle:pe.toHandle,toPosition:D&&pe.toHandle?pe.toHandle.position:uw[$.position],toNode:pe.toHandle?f.get(pe.toHandle.nodeId):null,pointer:M};_(be),K=be}function ae(ce){if(!("touches"in ce&&ce.touches.length>0)){if(B){(q||W)&&Q&&D&&(y==null||y(Q));const{inProgress:de,...pe}=K,be={...pe,toPosition:K.toHandle?K.toPosition:null};x==null||x(ce,be),a&&(C==null||C(ce,be))}w(),cancelAnimationFrame(U),z=!1,D=!1,Q=null,W=null,j.removeEventListener("mousemove",se),j.removeEventListener("mouseup",ae),j.removeEventListener("touchmove",se),j.removeEventListener("touchend",ae)}}j.addEventListener("mousemove",se),j.addEventListener("mouseup",ae),j.addEventListener("touchmove",se),j.addEventListener("touchend",ae)}function Hw(e,{handle:t,connectionMode:r,fromNodeId:o,fromHandleId:s,fromType:a,doc:l,lib:u,flowId:f,isValidConnection:d=Vw,nodeLookup:h}){const p=a==="target",m=t?l.querySelector(`.${u}-flow__handle[data-id="${f}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:w,y:E}=an(e),y=l.elementFromPoint(w,E),x=y!=null&&y.classList.contains(`${u}-flow__handle`)?y:m,b={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){const C=Bw(void 0,x),_=x.getAttribute("data-nodeid"),k=x.getAttribute("data-handleid"),R=x.classList.contains("connectable"),T=x.classList.contains("connectableend");if(!_||!C)return b;const A={source:p?_:o,sourceHandle:p?k:s,target:p?o:_,targetHandle:p?s:k};b.connection=A;const j=R&&T&&(r===So.Strict?p&&C==="source"||!p&&C==="target":_!==o||k!==s);b.isValid=j&&d(A),b.toHandle=$w(_,C,k,h,r,!0)}return b}const Ic={onPointerDown:rL,isValid:Hw};function oL({domNode:e,panZoom:t,getTransform:r,getViewScale:o}){const s=At(e);function a({translateExtent:u,width:f,height:d,zoomStep:h=1,pannable:p=!0,zoomable:m=!0,inversePan:w=!1}){const E=_=>{if(_.sourceEvent.type!=="wheel"||!t)return;const k=r(),R=_.sourceEvent.ctrlKey&&Hi()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*h,A=k[2]*Math.pow(2,T*R);t.scaleTo(A)};let y=[0,0];const x=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(y=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},b=_=>{const k=r();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!t)return;const R=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[R[0]-y[0],R[1]-y[1]];y=R;const A=o()*Math.max(k[2],Math.log(k[2]))*(w?-1:1),O={x:k[0]-T[0]*A,y:k[1]-T[1]*A},j=[[0,0],[f,d]];t.setViewportConstrained({x:O.x,y:O.y,zoom:k[2]},j,u)},C=iw().on("start",x).on("zoom",p?b:null).on("zoom.wheel",m?E:null);s.call(C,{})}function l(){s.on("zoom",null)}return{update:a,destroy:l,pointer:nn}}const Ta=e=>({x:e.x,y:e.y,zoom:e.k}),Mc=({x:e,y:t,zoom:r})=>Sa.translate(e,t).scale(r),Ro=(e,t)=>e.target.closest(`.${t}`),Ww=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),iL=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Oc=(e,t=0,r=iL,o=()=>{})=>{const s=typeof t=="number"&&t>0;return s||o(),s?e.transition().duration(t).ease(r).on("end",o):e},Uw=e=>{const t=e.ctrlKey&&Hi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function sL({zoomPanValues:e,noWheelClassName:t,d3Selection:r,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:l,onPanZoomStart:u,onPanZoom:f,onPanZoomEnd:d}){return h=>{if(Ro(h,t))return h.ctrlKey&&h.preventDefault(),!1;h.preventDefault(),h.stopImmediatePropagation();const p=r.property("__zoom").k||1;if(h.ctrlKey&&l){const x=nn(h),b=Uw(h),C=p*Math.pow(2,b);o.scaleTo(r,C,x,h);return}const m=h.deltaMode===1?20:1;let w=s===$r.Vertical?0:h.deltaX*m,E=s===$r.Horizontal?0:h.deltaY*m;!Hi()&&h.shiftKey&&s!==$r.Vertical&&(w=h.deltaY*m,E=0),o.translateBy(r,-(w/p)*a,-(E/p)*a,{internal:!0});const y=Ta(r.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(f==null||f(h,y),e.panScrollTimeout=setTimeout(()=>{d==null||d(h,y),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,u==null||u(h,y))}}function aL({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:r}){return function(o,s){const a=o.type==="wheel",l=!t&&a&&!o.ctrlKey,u=Ro(o,e);if(o.ctrlKey&&a&&u&&o.preventDefault(),l||u)return null;o.preventDefault(),r.call(this,o,s)}}function lL({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:r}){return o=>{var a,l,u;if((a=o.sourceEvent)!=null&&a.internal)return;const s=Ta(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((u=o.sourceEvent)==null?void 0:u.type)==="mousedown"&&t(!0),r&&(r==null||r(o.sourceEvent,s))}}function uL({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:r,onTransformChange:o,onPanZoom:s}){return a=>{var l,u;e.usedRightMouseButton=!!(r&&Ww(t,e.mouseButton??0)),(l=a.sourceEvent)!=null&&l.sync||o([a.transform.x,a.transform.y,a.transform.k]),s&&!((u=a.sourceEvent)!=null&&u.internal)&&(s==null||s(a.sourceEvent,Ta(a.transform)))}}function cL({zoomPanValues:e,panOnDrag:t,panOnScroll:r,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:a}){return l=>{var u;if(!((u=l.sourceEvent)!=null&&u.internal)&&(e.isZoomingOrPanning=!1,a&&Ww(t,e.mouseButton??0)&&!e.usedRightMouseButton&&l.sourceEvent&&a(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const f=Ta(l.transform);e.prevViewport=f,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,f)},r?150:0)}}}function fL({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:r,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:u,noPanClassName:f,lib:d,connectionInProgress:h}){return p=>{var x;const m=e||t,w=r&&p.ctrlKey,E=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Ro(p,`${d}-flow__node`)||Ro(p,`${d}-flow__edge`)))return!0;if(!o&&!m&&!s&&!a&&!r||l||h&&!E||Ro(p,u)&&E||Ro(p,f)&&(!E||s&&E&&!e)||!r&&p.ctrlKey&&E)return!1;if(!r&&p.type==="touchstart"&&((x=p.touches)==null?void 0:x.length)>1)return p.preventDefault(),!1;if(!m&&!s&&!w&&E||!o&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(o)&&!o.includes(p.button)&&p.type==="mousedown")return!1;const y=Array.isArray(o)&&o.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||E)&&y}}function dL({domNode:e,minZoom:t,maxZoom:r,translateExtent:o,viewport:s,onPanZoom:a,onPanZoomStart:l,onPanZoomEnd:u,onDraggingChange:f}){const d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=e.getBoundingClientRect(),p=iw().scaleExtent([t,r]).translateExtent(o),m=At(e).call(p);C({x:s.x,y:s.y,zoom:Eo(s.zoom,t,r)},[[0,0],[h.width,h.height]],o);const w=m.on("wheel.zoom"),E=m.on("dblclick.zoom");p.wheelDelta(Uw);function y(q,V){return m?new Promise(X=>{p==null||p.interpolate((V==null?void 0:V.interpolate)==="linear"?Ai:ha).transform(Oc(m,V==null?void 0:V.duration,V==null?void 0:V.ease,()=>X(!0)),q)}):Promise.resolve(!1)}function x({noWheelClassName:q,noPanClassName:V,onPaneContextMenu:X,userSelectionActive:L,panOnScroll:H,panOnDrag:B,panOnScrollMode:Y,panOnScrollSpeed:M,preventScrolling:z,zoomOnPinch:Q,zoomOnScroll:D,zoomOnDoubleClick:W,zoomActivationKeyPressed:ie,lib:$,onTransformChange:Z,connectionInProgress:ee,paneClickDistance:K,selectionOnDrag:te}){L&&!d.isZoomingOrPanning&&b();const se=H&&!ie&&!L;p.clickDistance(te?1/0:!sn(K)||K<0?0:K);const ae=se?sL({zoomPanValues:d,noWheelClassName:q,d3Selection:m,d3Zoom:p,panOnScrollMode:Y,panOnScrollSpeed:M,zoomOnPinch:Q,onPanZoomStart:l,onPanZoom:a,onPanZoomEnd:u}):aL({noWheelClassName:q,preventScrolling:z,d3ZoomHandler:w});if(m.on("wheel.zoom",ae,{passive:!1}),!L){const de=lL({zoomPanValues:d,onDraggingChange:f,onPanZoomStart:l});p.on("start",de);const pe=uL({zoomPanValues:d,panOnDrag:B,onPaneContextMenu:!!X,onPanZoom:a,onTransformChange:Z});p.on("zoom",pe);const be=cL({zoomPanValues:d,panOnDrag:B,panOnScroll:H,onPaneContextMenu:X,onPanZoomEnd:u,onDraggingChange:f});p.on("end",be)}const ce=fL({zoomActivationKeyPressed:ie,panOnDrag:B,zoomOnScroll:D,panOnScroll:H,zoomOnDoubleClick:W,zoomOnPinch:Q,userSelectionActive:L,noPanClassName:V,noWheelClassName:q,lib:$,connectionInProgress:ee});p.filter(ce),W?m.on("dblclick.zoom",E):m.on("dblclick.zoom",null)}function b(){p.on("zoom",null)}async function C(q,V,X){const L=Mc(q),H=p==null?void 0:p.constrain()(L,V,X);return H&&await y(H),new Promise(B=>B(H))}async function _(q,V){const X=Mc(q);return await y(X,V),new Promise(L=>L(X))}function k(q){if(m){const V=Mc(q),X=m.property("__zoom");(X.k!==q.zoom||X.x!==q.x||X.y!==q.y)&&(p==null||p.transform(m,V,null,{sync:!0}))}}function R(){const q=m?rw(m.node()):{x:0,y:0,k:1};return{x:q.x,y:q.y,zoom:q.k}}function T(q,V){return m?new Promise(X=>{p==null||p.interpolate((V==null?void 0:V.interpolate)==="linear"?Ai:ha).scaleTo(Oc(m,V==null?void 0:V.duration,V==null?void 0:V.ease,()=>X(!0)),q)}):Promise.resolve(!1)}function A(q,V){return m?new Promise(X=>{p==null||p.interpolate((V==null?void 0:V.interpolate)==="linear"?Ai:ha).scaleBy(Oc(m,V==null?void 0:V.duration,V==null?void 0:V.ease,()=>X(!0)),q)}):Promise.resolve(!1)}function O(q){p==null||p.scaleExtent(q)}function j(q){p==null||p.translateExtent(q)}function U(q){const V=!sn(q)||q<0?0:q;p==null||p.clickDistance(V)}return{update:x,destroy:b,setViewport:_,setViewportConstrained:C,getViewport:R,scaleTo:T,scaleBy:A,setScaleExtent:O,setTranslateExtent:j,syncViewport:k,setClickDistance:U}}var Po;(function(e){e.Line="line",e.Handle="handle"})(Po||(Po={}));function hL({width:e,prevWidth:t,height:r,prevHeight:o,affectsX:s,affectsY:a}){const l=e-t,u=r-o,f=[l>0?1:l<0?-1:0,u>0?1:u<0?-1:0];return l&&s&&(f[0]=f[0]*-1),u&&a&&(f[1]=f[1]*-1),f}function Gw(e){const t=e.includes("right")||e.includes("left"),r=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:r,affectsX:o,affectsY:s}}function rr(e,t){return Math.max(0,t-e)}function or(e,t){return Math.max(0,e-t)}function Aa(e,t,r){return Math.max(0,t-e,e-r)}function Yw(e,t){return e?!t:t}function pL(e,t,r,o,s,a,l,u){let{affectsX:f,affectsY:d}=t;const{isHorizontal:h,isVertical:p}=t,m=h&&p,{xSnapped:w,ySnapped:E}=r,{minWidth:y,maxWidth:x,minHeight:b,maxHeight:C}=o,{x:_,y:k,width:R,height:T,aspectRatio:A}=e;let O=Math.floor(h?w-e.pointerX:0),j=Math.floor(p?E-e.pointerY:0);const U=R+(f?-O:O),q=T+(d?-j:j),V=-a[0]*R,X=-a[1]*T;let L=Aa(U,y,x),H=Aa(q,b,C);if(l){let M=0,z=0;f&&O<0?M=rr(_+O+V,l[0][0]):!f&&O>0&&(M=or(_+U+V,l[1][0])),d&&j<0?z=rr(k+j+X,l[0][1]):!d&&j>0&&(z=or(k+q+X,l[1][1])),L=Math.max(L,M),H=Math.max(H,z)}if(u){let M=0,z=0;f&&O>0?M=or(_+O,u[0][0]):!f&&O<0&&(M=rr(_+U,u[1][0])),d&&j>0?z=or(k+j,u[0][1]):!d&&j<0&&(z=rr(k+q,u[1][1])),L=Math.max(L,M),H=Math.max(H,z)}if(s){if(h){const M=Aa(U/A,b,C)*A;if(L=Math.max(L,M),l){let z=0;!f&&!d||f&&!d&&m?z=or(k+X+U/A,l[1][1])*A:z=rr(k+X+(f?O:-O)/A,l[0][1])*A,L=Math.max(L,z)}if(u){let z=0;!f&&!d||f&&!d&&m?z=rr(k+U/A,u[1][1])*A:z=or(k+(f?O:-O)/A,u[0][1])*A,L=Math.max(L,z)}}if(p){const M=Aa(q*A,y,x)/A;if(H=Math.max(H,M),l){let z=0;!f&&!d||d&&!f&&m?z=or(_+q*A+V,l[1][0])/A:z=rr(_+(d?j:-j)*A+V,l[0][0])/A,H=Math.max(H,z)}if(u){let z=0;!f&&!d||d&&!f&&m?z=rr(_+q*A,u[1][0])/A:z=or(_+(d?j:-j)*A,u[0][0])/A,H=Math.max(H,z)}}}j=j+(j<0?H:-H),O=O+(O<0?L:-L),s&&(m?U>q*A?j=(Yw(f,d)?-O:O)/A:O=(Yw(f,d)?-j:j)*A:h?(j=O/A,d=f):(O=j*A,f=d));const B=f?_+O:_,Y=d?k+j:k;return{width:R+(f?-O:O),height:T+(d?-j:j),x:a[0]*O*(f?-1:1)+B,y:a[1]*j*(d?-1:1)+Y}}const Kw={width:0,height:0,x:0,y:0},gL={...Kw,pointerX:0,pointerY:0,aspectRatio:1};function mL(e){return[[0,0],[e.measured.width,e.measured.height]]}function vL(e,t,r){const o=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,l=e.measured.height??0,u=r[0]*a,f=r[1]*l;return[[o-u,s-f],[o+a-u,s+l-f]]}function yL({domNode:e,nodeId:t,getStoreItems:r,onChange:o,onEnd:s}){const a=At(e);let l={controlDirection:Gw("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function u({controlPosition:d,boundaries:h,keepAspectRatio:p,resizeDirection:m,onResizeStart:w,onResize:E,onResizeEnd:y,shouldResize:x}){let b={...Kw},C={...gL};l={boundaries:h,resizeDirection:m,keepAspectRatio:p,controlDirection:Gw(d)};let _,k=null,R=[],T,A,O,j=!1;const U=P0().on("start",q=>{const{nodeLookup:V,transform:X,snapGrid:L,snapToGrid:H,nodeOrigin:B,paneDomNode:Y}=r();if(_=V.get(t),!_)return;k=(Y==null?void 0:Y.getBoundingClientRect())??null;const{xSnapped:M,ySnapped:z}=Wi(q.sourceEvent,{transform:X,snapGrid:L,snapToGrid:H,containerBounds:k});b={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},C={...b,pointerX:M,pointerY:z,aspectRatio:b.width/b.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=V.get(_.parentId),A=T&&_.extent==="parent"?mL(T):void 0),R=[],O=void 0;for(const[Q,D]of V)if(D.parentId===t&&(R.push({id:Q,position:{...D.position},extent:D.extent}),D.extent==="parent"||D.expandParent)){const W=vL(D,_,D.origin??B);O?O=[[Math.min(W[0][0],O[0][0]),Math.min(W[0][1],O[0][1])],[Math.max(W[1][0],O[1][0]),Math.max(W[1][1],O[1][1])]]:O=W}w==null||w(q,{...b})}).on("drag",q=>{const{transform:V,snapGrid:X,snapToGrid:L,nodeOrigin:H}=r(),B=Wi(q.sourceEvent,{transform:V,snapGrid:X,snapToGrid:L,containerBounds:k}),Y=[];if(!_)return;const{x:M,y:z,width:Q,height:D}=b,W={},ie=_.origin??H,{width:$,height:Z,x:ee,y:K}=pL(C,l.controlDirection,B,l.boundaries,l.keepAspectRatio,ie,A,O),te=$!==Q,se=Z!==D,ae=ee!==M&&te,ce=K!==z&&se;if(!ae&&!ce&&!te&&!se)return;if((ae||ce||ie[0]===1||ie[1]===1)&&(W.x=ae?ee:b.x,W.y=ce?K:b.y,b.x=W.x,b.y=W.y,R.length>0)){const me=ee-M,Re=K-z;for(const Ee of R)Ee.position={x:Ee.position.x-me+ie[0]*($-Q),y:Ee.position.y-Re+ie[1]*(Z-D)},Y.push(Ee)}if((te||se)&&(W.width=te&&(!l.resizeDirection||l.resizeDirection==="horizontal")?$:b.width,W.height=se&&(!l.resizeDirection||l.resizeDirection==="vertical")?Z:b.height,b.width=W.width,b.height=W.height),T&&_.expandParent){const me=ie[0]*(W.width??0);W.x&&W.x{j&&(y==null||y(q,{...b}),s==null||s({...b}),j=!1)});a.call(U)}function f(){a.on(".drag",null)}return{update:u,destroy:f}}var Lc={exports:{}},Dc={},jc={exports:{}},qc={};/** +`+S.stack}return{value:r,source:s,stack:w,digest:null}}function Zy(r,s,c){return{value:r,source:null,stack:c??null,digest:s??null}}function Jy(r,s){try{console.error(s.value)}catch(c){setTimeout(function(){throw c})}}var CW=typeof WeakMap=="function"?WeakMap:Map;function YA(r,s,c){c=nr(-1,c),c.tag=3,c.payload={element:null};var g=s.value;return c.callback=function(){Ku||(Ku=!0,p0=g),Jy(r,s)},c}function KA(r,s,c){c=nr(-1,c),c.tag=3;var g=r.type.getDerivedStateFromError;if(typeof g=="function"){var w=s.value;c.payload=function(){return g(w)},c.callback=function(){Jy(r,s)}}var S=r.stateNode;return S!==null&&typeof S.componentDidCatch=="function"&&(c.callback=function(){Jy(r,s),typeof g!="function"&&(Mr===null?Mr=new Set([this]):Mr.add(this));var A=s.stack;this.componentDidCatch(s.value,{componentStack:A!==null?A:""})}),c}function XA(r,s,c){var g=r.pingCache;if(g===null){g=r.pingCache=new CW;var w=new Set;g.set(s,w)}else w=g.get(s),w===void 0&&(w=new Set,g.set(s,w));w.has(c)||(w.add(c),r=zW.bind(null,r,s,c),s.then(r,r))}function QA(r){do{var s;if((s=r.tag===13)&&(s=r.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return r;r=r.return}while(r!==null);return null}function ZA(r,s,c,g,w){return(r.mode&1)===0?(r===s?r.flags|=65536:(r.flags|=128,c.flags|=131072,c.flags&=-52805,c.tag===1&&(c.alternate===null?c.tag=17:(s=nr(-1,1),s.tag=2,Ar(c,s,1))),c.lanes|=1),r):(r.flags|=65536,r.lanes=w,r)}var kW=N.ReactCurrentOwner,Nt=!1;function wt(r,s,c,g){s.child=r===null?yA(s,null,c,g):Si(s,r.child,c,g)}function JA(r,s,c,g,w){c=c.render;var S=s.ref;return Ci(s,w),g=Hy(r,s,c,g,S,w),c=Wy(),r!==null&&!Nt?(s.updateQueue=r.updateQueue,s.flags&=-2053,r.lanes&=~w,rr(r,s,w)):(We&&c&&Ny(s),s.flags|=1,wt(r,s,g,w),s.child)}function eI(r,s,c,g,w){if(r===null){var S=c.type;return typeof S=="function"&&!_0(S)&&S.defaultProps===void 0&&c.compare===null&&c.defaultProps===void 0?(s.tag=15,s.type=S,tI(r,s,S,g,w)):(r=tc(c.type,null,g,s,s.mode,w),r.ref=s.ref,r.return=s,s.child=r)}if(S=r.child,(r.lanes&w)===0){var A=S.memoizedProps;if(c=c.compare,c=c!==null?c:Vs,c(A,g)&&r.ref===s.ref)return rr(r,s,w)}return s.flags|=1,r=jr(S,g),r.ref=s.ref,r.return=s,s.child=r}function tI(r,s,c,g,w){if(r!==null){var S=r.memoizedProps;if(Vs(S,g)&&r.ref===s.ref)if(Nt=!1,s.pendingProps=g=S,(r.lanes&w)!==0)(r.flags&131072)!==0&&(Nt=!0);else return s.lanes=r.lanes,rr(r,s,w)}return e0(r,s,c,g,w)}function nI(r,s,c){var g=s.pendingProps,w=g.children,S=r!==null?r.memoizedState:null;if(g.mode==="hidden")if((s.mode&1)===0)s.memoizedState={baseLanes:0,cachePool:null,transitions:null},ze(Pi,zt),zt|=c;else{if((c&1073741824)===0)return r=S!==null?S.baseLanes|c:c,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:r,cachePool:null,transitions:null},s.updateQueue=null,ze(Pi,zt),zt|=r,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},g=S!==null?S.baseLanes:c,ze(Pi,zt),zt|=g}else S!==null?(g=S.baseLanes|c,s.memoizedState=null):g=c,ze(Pi,zt),zt|=g;return wt(r,s,w,c),s.child}function rI(r,s){var c=s.ref;(r===null&&c!==null||r!==null&&r.ref!==c)&&(s.flags|=512,s.flags|=2097152)}function e0(r,s,c,g,w){var S=kt(c)?fo:gt.current;return S=wi(s,S),Ci(s,w),c=Hy(r,s,c,g,S,w),g=Wy(),r!==null&&!Nt?(s.updateQueue=r.updateQueue,s.flags&=-2053,r.lanes&=~w,rr(r,s,w)):(We&&g&&Ny(s),s.flags|=1,wt(r,s,c,w),s.child)}function oI(r,s,c,g,w){if(kt(c)){var S=!0;ku(s)}else S=!1;if(Ci(s,w),s.stateNode===null)Hu(r,s),UA(s,c,g),Qy(s,c,g,w),g=!0;else if(r===null){var A=s.stateNode,B=s.memoizedProps;A.props=B;var K=A.context,oe=c.contextType;typeof oe=="object"&&oe!==null?oe=Zt(oe):(oe=kt(c)?fo:gt.current,oe=wi(s,oe));var ue=c.getDerivedStateFromProps,fe=typeof ue=="function"||typeof A.getSnapshotBeforeUpdate=="function";fe||typeof A.UNSAFE_componentWillReceiveProps!="function"&&typeof A.componentWillReceiveProps!="function"||(B!==g||K!==oe)&&GA(s,A,g,oe),Tr=!1;var le=s.memoizedState;A.state=le,Lu(s,g,A,w),K=s.memoizedState,B!==g||le!==K||Ct.current||Tr?(typeof ue=="function"&&(Xy(s,c,ue,g),K=s.memoizedState),(B=Tr||WA(s,c,B,g,le,K,oe))?(fe||typeof A.UNSAFE_componentWillMount!="function"&&typeof A.componentWillMount!="function"||(typeof A.componentWillMount=="function"&&A.componentWillMount(),typeof A.UNSAFE_componentWillMount=="function"&&A.UNSAFE_componentWillMount()),typeof A.componentDidMount=="function"&&(s.flags|=4194308)):(typeof A.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=g,s.memoizedState=K),A.props=g,A.state=K,A.context=oe,g=B):(typeof A.componentDidMount=="function"&&(s.flags|=4194308),g=!1)}else{A=s.stateNode,xA(r,s),B=s.memoizedProps,oe=s.type===s.elementType?B:yn(s.type,B),A.props=oe,fe=s.pendingProps,le=A.context,K=c.contextType,typeof K=="object"&&K!==null?K=Zt(K):(K=kt(c)?fo:gt.current,K=wi(s,K));var ge=c.getDerivedStateFromProps;(ue=typeof ge=="function"||typeof A.getSnapshotBeforeUpdate=="function")||typeof A.UNSAFE_componentWillReceiveProps!="function"&&typeof A.componentWillReceiveProps!="function"||(B!==fe||le!==K)&&GA(s,A,g,K),Tr=!1,le=s.memoizedState,A.state=le,Lu(s,g,A,w);var _e=s.memoizedState;B!==fe||le!==_e||Ct.current||Tr?(typeof ge=="function"&&(Xy(s,c,ge,g),_e=s.memoizedState),(oe=Tr||WA(s,c,oe,g,le,_e,K)||!1)?(ue||typeof A.UNSAFE_componentWillUpdate!="function"&&typeof A.componentWillUpdate!="function"||(typeof A.componentWillUpdate=="function"&&A.componentWillUpdate(g,_e,K),typeof A.UNSAFE_componentWillUpdate=="function"&&A.UNSAFE_componentWillUpdate(g,_e,K)),typeof A.componentDidUpdate=="function"&&(s.flags|=4),typeof A.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof A.componentDidUpdate!="function"||B===r.memoizedProps&&le===r.memoizedState||(s.flags|=4),typeof A.getSnapshotBeforeUpdate!="function"||B===r.memoizedProps&&le===r.memoizedState||(s.flags|=1024),s.memoizedProps=g,s.memoizedState=_e),A.props=g,A.state=_e,A.context=K,g=oe):(typeof A.componentDidUpdate!="function"||B===r.memoizedProps&&le===r.memoizedState||(s.flags|=4),typeof A.getSnapshotBeforeUpdate!="function"||B===r.memoizedProps&&le===r.memoizedState||(s.flags|=1024),g=!1)}return t0(r,s,c,g,S,w)}function t0(r,s,c,g,w,S){rI(r,s);var A=(s.flags&128)!==0;if(!g&&!A)return w&&uA(s,c,!1),rr(r,s,S);g=s.stateNode,kW.current=s;var B=A&&typeof c.getDerivedStateFromError!="function"?null:g.render();return s.flags|=1,r!==null&&A?(s.child=Si(s,r.child,null,S),s.child=Si(s,null,B,S)):wt(r,s,B,S),s.memoizedState=g.state,w&&uA(s,c,!0),s.child}function iI(r){var s=r.stateNode;s.pendingContext?aA(r,s.pendingContext,s.pendingContext!==s.context):s.context&&aA(r,s.context,!1),qy(r,s.containerInfo)}function sI(r,s,c,g,w){return bi(),Ay(w),s.flags|=256,wt(r,s,c,g),s.child}var n0={dehydrated:null,treeContext:null,retryLane:0};function r0(r){return{baseLanes:r,cachePool:null,transitions:null}}function aI(r,s,c){var g=s.pendingProps,w=Xe.current,S=!1,A=(s.flags&128)!==0,B;if((B=A)||(B=r!==null&&r.memoizedState===null?!1:(w&2)!==0),B?(S=!0,s.flags&=-129):(r===null||r.memoizedState!==null)&&(w|=1),ze(Xe,w&1),r===null)return Ty(s),r=s.memoizedState,r!==null&&(r=r.dehydrated,r!==null)?((s.mode&1)===0?s.lanes=1:r.data==="$!"?s.lanes=8:s.lanes=1073741824,null):(A=g.children,r=g.fallback,S?(g=s.mode,S=s.child,A={mode:"hidden",children:A},(g&1)===0&&S!==null?(S.childLanes=0,S.pendingProps=A):S=nc(A,g,0,null),r=bo(r,g,c,null),S.return=s,r.return=s,S.sibling=r,s.child=S,s.child.memoizedState=r0(c),s.memoizedState=n0,r):o0(s,A));if(w=r.memoizedState,w!==null&&(B=w.dehydrated,B!==null))return NW(r,s,A,g,B,w,c);if(S){S=g.fallback,A=s.mode,w=r.child,B=w.sibling;var K={mode:"hidden",children:g.children};return(A&1)===0&&s.child!==w?(g=s.child,g.childLanes=0,g.pendingProps=K,s.deletions=null):(g=jr(w,K),g.subtreeFlags=w.subtreeFlags&14680064),B!==null?S=jr(B,S):(S=bo(S,A,c,null),S.flags|=2),S.return=s,g.return=s,g.sibling=S,s.child=g,g=S,S=s.child,A=r.child.memoizedState,A=A===null?r0(c):{baseLanes:A.baseLanes|c,cachePool:null,transitions:A.transitions},S.memoizedState=A,S.childLanes=r.childLanes&~c,s.memoizedState=n0,g}return S=r.child,r=S.sibling,g=jr(S,{mode:"visible",children:g.children}),(s.mode&1)===0&&(g.lanes=c),g.return=s,g.sibling=null,r!==null&&(c=s.deletions,c===null?(s.deletions=[r],s.flags|=16):c.push(r)),s.child=g,s.memoizedState=null,g}function o0(r,s){return s=nc({mode:"visible",children:s},r.mode,0,null),s.return=r,r.child=s}function Vu(r,s,c,g){return g!==null&&Ay(g),Si(s,r.child,null,c),r=o0(s,s.pendingProps.children),r.flags|=2,s.memoizedState=null,r}function NW(r,s,c,g,w,S,A){if(c)return s.flags&256?(s.flags&=-257,g=Zy(Error(n(422))),Vu(r,s,A,g)):s.memoizedState!==null?(s.child=r.child,s.flags|=128,null):(S=g.fallback,w=s.mode,g=nc({mode:"visible",children:g.children},w,0,null),S=bo(S,w,A,null),S.flags|=2,g.return=s,S.return=s,g.sibling=S,s.child=g,(s.mode&1)!==0&&Si(s,r.child,null,A),s.child.memoizedState=r0(A),s.memoizedState=n0,S);if((s.mode&1)===0)return Vu(r,s,A,null);if(w.data==="$!"){if(g=w.nextSibling&&w.nextSibling.dataset,g)var B=g.dgst;return g=B,S=Error(n(419)),g=Zy(S,g,void 0),Vu(r,s,A,g)}if(B=(A&r.childLanes)!==0,Nt||B){if(g=ut,g!==null){switch(A&-A){case 4:w=2;break;case 16:w=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:w=32;break;case 536870912:w=268435456;break;default:w=0}w=(w&(g.suspendedLanes|A))!==0?0:w,w!==0&&w!==S.retryLane&&(S.retryLane=w,tr(r,w),_n(g,r,w,-1))}return x0(),g=Zy(Error(n(421))),Vu(r,s,A,g)}return w.data==="$?"?(s.flags|=128,s.child=r.child,s=FW.bind(null,r),w._reactRetry=s,null):(r=S.treeContext,qt=kr(w.nextSibling),jt=s,We=!0,vn=null,r!==null&&(Xt[Qt++]=Jn,Xt[Qt++]=er,Xt[Qt++]=ho,Jn=r.id,er=r.overflow,ho=s),s=o0(s,g.children),s.flags|=4096,s)}function lI(r,s,c){r.lanes|=s;var g=r.alternate;g!==null&&(g.lanes|=s),Ly(r.return,s,c)}function i0(r,s,c,g,w){var S=r.memoizedState;S===null?r.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:g,tail:c,tailMode:w}:(S.isBackwards=s,S.rendering=null,S.renderingStartTime=0,S.last=g,S.tail=c,S.tailMode=w)}function uI(r,s,c){var g=s.pendingProps,w=g.revealOrder,S=g.tail;if(wt(r,s,g.children,c),g=Xe.current,(g&2)!==0)g=g&1|2,s.flags|=128;else{if(r!==null&&(r.flags&128)!==0)e:for(r=s.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&lI(r,c,s);else if(r.tag===19)lI(r,c,s);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===s)break e;for(;r.sibling===null;){if(r.return===null||r.return===s)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}g&=1}if(ze(Xe,g),(s.mode&1)===0)s.memoizedState=null;else switch(w){case"forwards":for(c=s.child,w=null;c!==null;)r=c.alternate,r!==null&&Du(r)===null&&(w=c),c=c.sibling;c=w,c===null?(w=s.child,s.child=null):(w=c.sibling,c.sibling=null),i0(s,!1,w,c,S);break;case"backwards":for(c=null,w=s.child,s.child=null;w!==null;){if(r=w.alternate,r!==null&&Du(r)===null){s.child=w;break}r=w.sibling,w.sibling=c,c=w,w=r}i0(s,!0,c,null,S);break;case"together":i0(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Hu(r,s){(s.mode&1)===0&&r!==null&&(r.alternate=null,s.alternate=null,s.flags|=2)}function rr(r,s,c){if(r!==null&&(s.dependencies=r.dependencies),yo|=s.lanes,(c&s.childLanes)===0)return null;if(r!==null&&s.child!==r.child)throw Error(n(153));if(s.child!==null){for(r=s.child,c=jr(r,r.pendingProps),s.child=c,c.return=s;r.sibling!==null;)r=r.sibling,c=c.sibling=jr(r,r.pendingProps),c.return=s;c.sibling=null}return s.child}function RW(r,s,c){switch(s.tag){case 3:iI(s),bi();break;case 5:SA(s);break;case 1:kt(s.type)&&ku(s);break;case 4:qy(s,s.stateNode.containerInfo);break;case 10:var g=s.type._context,w=s.memoizedProps.value;ze(Iu,g._currentValue),g._currentValue=w;break;case 13:if(g=s.memoizedState,g!==null)return g.dehydrated!==null?(ze(Xe,Xe.current&1),s.flags|=128,null):(c&s.child.childLanes)!==0?aI(r,s,c):(ze(Xe,Xe.current&1),r=rr(r,s,c),r!==null?r.sibling:null);ze(Xe,Xe.current&1);break;case 19:if(g=(c&s.childLanes)!==0,(r.flags&128)!==0){if(g)return uI(r,s,c);s.flags|=128}if(w=s.memoizedState,w!==null&&(w.rendering=null,w.tail=null,w.lastEffect=null),ze(Xe,Xe.current),g)break;return null;case 22:case 23:return s.lanes=0,nI(r,s,c)}return rr(r,s,c)}var cI,s0,fI,dI;cI=function(r,s){for(var c=s.child;c!==null;){if(c.tag===5||c.tag===6)r.appendChild(c.stateNode);else if(c.tag!==4&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===s)break;for(;c.sibling===null;){if(c.return===null||c.return===s)return;c=c.return}c.sibling.return=c.return,c=c.sibling}},s0=function(){},fI=function(r,s,c,g){var w=r.memoizedProps;if(w!==g){r=s.stateNode,mo(Dn.current);var S=null;switch(c){case"input":w=be(r,w),g=be(r,g),S=[];break;case"select":w=Q({},w,{value:void 0}),g=Q({},g,{value:void 0}),S=[];break;case"textarea":w=at(r,w),g=at(r,g),S=[];break;default:typeof w.onClick!="function"&&typeof g.onClick=="function"&&(r.onclick=Su)}_s(c,g);var A;c=null;for(oe in w)if(!g.hasOwnProperty(oe)&&w.hasOwnProperty(oe)&&w[oe]!=null)if(oe==="style"){var B=w[oe];for(A in B)B.hasOwnProperty(A)&&(c||(c={}),c[A]="")}else oe!=="dangerouslySetInnerHTML"&&oe!=="children"&&oe!=="suppressContentEditableWarning"&&oe!=="suppressHydrationWarning"&&oe!=="autoFocus"&&(i.hasOwnProperty(oe)?S||(S=[]):(S=S||[]).push(oe,null));for(oe in g){var K=g[oe];if(B=w!=null?w[oe]:void 0,g.hasOwnProperty(oe)&&K!==B&&(K!=null||B!=null))if(oe==="style")if(B){for(A in B)!B.hasOwnProperty(A)||K&&K.hasOwnProperty(A)||(c||(c={}),c[A]="");for(A in K)K.hasOwnProperty(A)&&B[A]!==K[A]&&(c||(c={}),c[A]=K[A])}else c||(S||(S=[]),S.push(oe,c)),c=K;else oe==="dangerouslySetInnerHTML"?(K=K?K.__html:void 0,B=B?B.__html:void 0,K!=null&&B!==K&&(S=S||[]).push(oe,K)):oe==="children"?typeof K!="string"&&typeof K!="number"||(S=S||[]).push(oe,""+K):oe!=="suppressContentEditableWarning"&&oe!=="suppressHydrationWarning"&&(i.hasOwnProperty(oe)?(K!=null&&oe==="onScroll"&&$e("scroll",r),S||B===K||(S=[])):(S=S||[]).push(oe,K))}c&&(S=S||[]).push("style",c);var oe=S;(s.updateQueue=oe)&&(s.flags|=4)}},dI=function(r,s,c,g){c!==g&&(s.flags|=4)};function oa(r,s){if(!We)switch(r.tailMode){case"hidden":s=r.tail;for(var c=null;s!==null;)s.alternate!==null&&(c=s),s=s.sibling;c===null?r.tail=null:c.sibling=null;break;case"collapsed":c=r.tail;for(var g=null;c!==null;)c.alternate!==null&&(g=c),c=c.sibling;g===null?s||r.tail===null?r.tail=null:r.tail.sibling=null:g.sibling=null}}function vt(r){var s=r.alternate!==null&&r.alternate.child===r.child,c=0,g=0;if(s)for(var w=r.child;w!==null;)c|=w.lanes|w.childLanes,g|=w.subtreeFlags&14680064,g|=w.flags&14680064,w.return=r,w=w.sibling;else for(w=r.child;w!==null;)c|=w.lanes|w.childLanes,g|=w.subtreeFlags,g|=w.flags,w.return=r,w=w.sibling;return r.subtreeFlags|=g,r.childLanes=c,s}function PW(r,s,c){var g=s.pendingProps;switch(Ry(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return vt(s),null;case 1:return kt(s.type)&&Cu(),vt(s),null;case 3:return g=s.stateNode,ki(),Be(Ct),Be(gt),$y(),g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null),(r===null||r.child===null)&&(Tu(s)?s.flags|=4:r===null||r.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,vn!==null&&(v0(vn),vn=null))),s0(r,s),vt(s),null;case 5:zy(s);var w=mo(Js.current);if(c=s.type,r!==null&&s.stateNode!=null)fI(r,s,c,g,w),r.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!g){if(s.stateNode===null)throw Error(n(166));return vt(s),null}if(r=mo(Dn.current),Tu(s)){g=s.stateNode,c=s.type;var S=s.memoizedProps;switch(g[Ln]=s,g[Ys]=S,r=(s.mode&1)!==0,c){case"dialog":$e("cancel",g),$e("close",g);break;case"iframe":case"object":case"embed":$e("load",g);break;case"video":case"audio":for(w=0;w<\/script>",r=r.removeChild(r.firstChild)):typeof g.is=="string"?r=A.createElement(c,{is:g.is}):(r=A.createElement(c),c==="select"&&(A=r,g.multiple?A.multiple=!0:g.size&&(A.size=g.size))):r=A.createElementNS(r,c),r[Ln]=s,r[Ys]=g,cI(r,s,!1,!1),s.stateNode=r;e:{switch(A=bs(c,g),c){case"dialog":$e("cancel",r),$e("close",r),w=g;break;case"iframe":case"object":case"embed":$e("load",r),w=g;break;case"video":case"audio":for(w=0;wTi&&(s.flags|=128,g=!0,oa(S,!1),s.lanes=4194304)}else{if(!g)if(r=Du(A),r!==null){if(s.flags|=128,g=!0,c=r.updateQueue,c!==null&&(s.updateQueue=c,s.flags|=4),oa(S,!0),S.tail===null&&S.tailMode==="hidden"&&!A.alternate&&!We)return vt(s),null}else 2*Ke()-S.renderingStartTime>Ti&&c!==1073741824&&(s.flags|=128,g=!0,oa(S,!1),s.lanes=4194304);S.isBackwards?(A.sibling=s.child,s.child=A):(c=S.last,c!==null?c.sibling=A:s.child=A,S.last=A)}return S.tail!==null?(s=S.tail,S.rendering=s,S.tail=s.sibling,S.renderingStartTime=Ke(),s.sibling=null,c=Xe.current,ze(Xe,g?c&1|2:c&1),s):(vt(s),null);case 22:case 23:return w0(),g=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==g&&(s.flags|=8192),g&&(s.mode&1)!==0?(zt&1073741824)!==0&&(vt(s),s.subtreeFlags&6&&(s.flags|=8192)):vt(s),null;case 24:return null;case 25:return null}throw Error(n(156,s.tag))}function TW(r,s){switch(Ry(s),s.tag){case 1:return kt(s.type)&&Cu(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ki(),Be(Ct),Be(gt),$y(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return zy(s),null;case 13:if(Be(Xe),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(n(340));bi()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return Be(Xe),null;case 4:return ki(),null;case 10:return Oy(s.type._context),null;case 22:case 23:return w0(),null;case 24:return null;default:return null}}var Wu=!1,yt=!1,AW=typeof WeakSet=="function"?WeakSet:Set,ye=null;function Ri(r,s){var c=r.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(g){Ze(r,s,g)}else c.current=null}function a0(r,s,c){try{c()}catch(g){Ze(r,s,g)}}var hI=!1;function IW(r,s){if(wy=fu,r=WT(),fy(r)){if("selectionStart"in r)var c={start:r.selectionStart,end:r.selectionEnd};else e:{c=(c=r.ownerDocument)&&c.defaultView||window;var g=c.getSelection&&c.getSelection();if(g&&g.rangeCount!==0){c=g.anchorNode;var w=g.anchorOffset,S=g.focusNode;g=g.focusOffset;try{c.nodeType,S.nodeType}catch{c=null;break e}var A=0,B=-1,K=-1,oe=0,ue=0,fe=r,le=null;t:for(;;){for(var ge;fe!==c||w!==0&&fe.nodeType!==3||(B=A+w),fe!==S||g!==0&&fe.nodeType!==3||(K=A+g),fe.nodeType===3&&(A+=fe.nodeValue.length),(ge=fe.firstChild)!==null;)le=fe,fe=ge;for(;;){if(fe===r)break t;if(le===c&&++oe===w&&(B=A),le===S&&++ue===g&&(K=A),(ge=fe.nextSibling)!==null)break;fe=le,le=fe.parentNode}fe=ge}c=B===-1||K===-1?null:{start:B,end:K}}else c=null}c=c||{start:0,end:0}}else c=null;for(xy={focusedElem:r,selectionRange:c},fu=!1,ye=s;ye!==null;)if(s=ye,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,ye=r;else for(;ye!==null;){s=ye;try{var _e=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(_e!==null){var Se=_e.memoizedProps,et=_e.memoizedState,ne=s.stateNode,J=ne.getSnapshotBeforeUpdate(s.elementType===s.type?Se:yn(s.type,Se),et);ne.__reactInternalSnapshotBeforeUpdate=J}break;case 3:var re=s.stateNode.containerInfo;re.nodeType===1?re.textContent="":re.nodeType===9&&re.documentElement&&re.removeChild(re.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(he){Ze(s,s.return,he)}if(r=s.sibling,r!==null){r.return=s.return,ye=r;break}ye=s.return}return _e=hI,hI=!1,_e}function ia(r,s,c){var g=s.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var w=g=g.next;do{if((w.tag&r)===r){var S=w.destroy;w.destroy=void 0,S!==void 0&&a0(s,c,S)}w=w.next}while(w!==g)}}function Uu(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var c=s=s.next;do{if((c.tag&r)===r){var g=c.create;c.destroy=g()}c=c.next}while(c!==s)}}function l0(r){var s=r.ref;if(s!==null){var c=r.stateNode;switch(r.tag){case 5:r=c;break;default:r=c}typeof s=="function"?s(r):s.current=r}}function pI(r){var s=r.alternate;s!==null&&(r.alternate=null,pI(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Ln],delete s[Ys],delete s[Ey],delete s[pW],delete s[gW])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function gI(r){return r.tag===5||r.tag===3||r.tag===4}function mI(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||gI(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function u0(r,s,c){var g=r.tag;if(g===5||g===6)r=r.stateNode,s?c.nodeType===8?c.parentNode.insertBefore(r,s):c.insertBefore(r,s):(c.nodeType===8?(s=c.parentNode,s.insertBefore(r,c)):(s=c,s.appendChild(r)),c=c._reactRootContainer,c!=null||s.onclick!==null||(s.onclick=Su));else if(g!==4&&(r=r.child,r!==null))for(u0(r,s,c),r=r.sibling;r!==null;)u0(r,s,c),r=r.sibling}function c0(r,s,c){var g=r.tag;if(g===5||g===6)r=r.stateNode,s?c.insertBefore(r,s):c.appendChild(r);else if(g!==4&&(r=r.child,r!==null))for(c0(r,s,c),r=r.sibling;r!==null;)c0(r,s,c),r=r.sibling}var ft=null,wn=!1;function Ir(r,s,c){for(c=c.child;c!==null;)vI(r,s,c),c=c.sibling}function vI(r,s,c){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount(lo,c)}catch{}switch(c.tag){case 5:yt||Ri(c,s);case 6:var g=ft,w=wn;ft=null,Ir(r,s,c),ft=g,wn=w,ft!==null&&(wn?(r=ft,c=c.stateNode,r.nodeType===8?r.parentNode.removeChild(c):r.removeChild(c)):ft.removeChild(c.stateNode));break;case 18:ft!==null&&(wn?(r=ft,c=c.stateNode,r.nodeType===8?Sy(r.parentNode,c):r.nodeType===1&&Sy(r,c),js(r)):Sy(ft,c.stateNode));break;case 4:g=ft,w=wn,ft=c.stateNode.containerInfo,wn=!0,Ir(r,s,c),ft=g,wn=w;break;case 0:case 11:case 14:case 15:if(!yt&&(g=c.updateQueue,g!==null&&(g=g.lastEffect,g!==null))){w=g=g.next;do{var S=w,A=S.destroy;S=S.tag,A!==void 0&&((S&2)!==0||(S&4)!==0)&&a0(c,s,A),w=w.next}while(w!==g)}Ir(r,s,c);break;case 1:if(!yt&&(Ri(c,s),g=c.stateNode,typeof g.componentWillUnmount=="function"))try{g.props=c.memoizedProps,g.state=c.memoizedState,g.componentWillUnmount()}catch(B){Ze(c,s,B)}Ir(r,s,c);break;case 21:Ir(r,s,c);break;case 22:c.mode&1?(yt=(g=yt)||c.memoizedState!==null,Ir(r,s,c),yt=g):Ir(r,s,c);break;default:Ir(r,s,c)}}function yI(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var c=r.stateNode;c===null&&(c=r.stateNode=new AW),s.forEach(function(g){var w=$W.bind(null,r,g);c.has(g)||(c.add(g),g.then(w,w))})}}function xn(r,s){var c=s.deletions;if(c!==null)for(var g=0;gw&&(w=A),g&=~S}if(g=w,g=Ke()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*OW(g/1960))-g,10r?16:r,Or===null)var g=!1;else{if(r=Or,Or=null,Qu=0,(Le&6)!==0)throw Error(n(331));var w=Le;for(Le|=4,ye=r.current;ye!==null;){var S=ye,A=S.child;if((ye.flags&16)!==0){var B=S.deletions;if(B!==null){for(var K=0;KKe()-h0?xo(r,0):d0|=c),Pt(r,s)}function AI(r,s){s===0&&((r.mode&1)===0?s=1:(s=li,li<<=1,(li&130023424)===0&&(li=4194304)));var c=xt();r=tr(r,s),r!==null&&(wr(r,s,c),Pt(r,c))}function FW(r){var s=r.memoizedState,c=0;s!==null&&(c=s.retryLane),AI(r,c)}function $W(r,s){var c=0;switch(r.tag){case 13:var g=r.stateNode,w=r.memoizedState;w!==null&&(c=w.retryLane);break;case 19:g=r.stateNode;break;default:throw Error(n(314))}g!==null&&g.delete(s),AI(r,c)}var II;II=function(r,s,c){if(r!==null)if(r.memoizedProps!==s.pendingProps||Ct.current)Nt=!0;else{if((r.lanes&c)===0&&(s.flags&128)===0)return Nt=!1,RW(r,s,c);Nt=(r.flags&131072)!==0}else Nt=!1,We&&(s.flags&1048576)!==0&&fA(s,Pu,s.index);switch(s.lanes=0,s.tag){case 2:var g=s.type;Hu(r,s),r=s.pendingProps;var w=wi(s,gt.current);Ci(s,c),w=Hy(null,s,g,r,w,c);var S=Wy();return s.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,kt(g)?(S=!0,ku(s)):S=!1,s.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,jy(s),w.updater=Bu,s.stateNode=w,w._reactInternals=s,Qy(s,g,r,c),s=t0(null,s,g,!0,S,c)):(s.tag=0,We&&S&&Ny(s),wt(null,s,w,c),s=s.child),s;case 16:g=s.elementType;e:{switch(Hu(r,s),r=s.pendingProps,w=g._init,g=w(g._payload),s.type=g,w=s.tag=VW(g),r=yn(g,r),w){case 0:s=e0(null,s,g,r,c);break e;case 1:s=oI(null,s,g,r,c);break e;case 11:s=JA(null,s,g,r,c);break e;case 14:s=eI(null,s,g,yn(g.type,r),c);break e}throw Error(n(306,g,""))}return s;case 0:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),e0(r,s,g,w,c);case 1:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),oI(r,s,g,w,c);case 3:e:{if(iI(s),r===null)throw Error(n(387));g=s.pendingProps,S=s.memoizedState,w=S.element,xA(r,s),Lu(s,g,null,c);var A=s.memoizedState;if(g=A.element,S.isDehydrated)if(S={element:g,isDehydrated:!1,cache:A.cache,pendingSuspenseBoundaries:A.pendingSuspenseBoundaries,transitions:A.transitions},s.updateQueue.baseState=S,s.memoizedState=S,s.flags&256){w=Ni(Error(n(423)),s),s=sI(r,s,g,c,w);break e}else if(g!==w){w=Ni(Error(n(424)),s),s=sI(r,s,g,c,w);break e}else for(qt=kr(s.stateNode.containerInfo.firstChild),jt=s,We=!0,vn=null,c=yA(s,null,g,c),s.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(bi(),g===w){s=rr(r,s,c);break e}wt(r,s,g,c)}s=s.child}return s;case 5:return SA(s),r===null&&Ty(s),g=s.type,w=s.pendingProps,S=r!==null?r.memoizedProps:null,A=w.children,_y(g,w)?A=null:S!==null&&_y(g,S)&&(s.flags|=32),rI(r,s),wt(r,s,A,c),s.child;case 6:return r===null&&Ty(s),null;case 13:return aI(r,s,c);case 4:return qy(s,s.stateNode.containerInfo),g=s.pendingProps,r===null?s.child=Si(s,null,g,c):wt(r,s,g,c),s.child;case 11:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),JA(r,s,g,w,c);case 7:return wt(r,s,s.pendingProps,c),s.child;case 8:return wt(r,s,s.pendingProps.children,c),s.child;case 12:return wt(r,s,s.pendingProps.children,c),s.child;case 10:e:{if(g=s.type._context,w=s.pendingProps,S=s.memoizedProps,A=w.value,ze(Iu,g._currentValue),g._currentValue=A,S!==null)if(mn(S.value,A)){if(S.children===w.children&&!Ct.current){s=rr(r,s,c);break e}}else for(S=s.child,S!==null&&(S.return=s);S!==null;){var B=S.dependencies;if(B!==null){A=S.child;for(var K=B.firstContext;K!==null;){if(K.context===g){if(S.tag===1){K=nr(-1,c&-c),K.tag=2;var oe=S.updateQueue;if(oe!==null){oe=oe.shared;var ue=oe.pending;ue===null?K.next=K:(K.next=ue.next,ue.next=K),oe.pending=K}}S.lanes|=c,K=S.alternate,K!==null&&(K.lanes|=c),Ly(S.return,c,s),B.lanes|=c;break}K=K.next}}else if(S.tag===10)A=S.type===s.type?null:S.child;else if(S.tag===18){if(A=S.return,A===null)throw Error(n(341));A.lanes|=c,B=A.alternate,B!==null&&(B.lanes|=c),Ly(A,c,s),A=S.sibling}else A=S.child;if(A!==null)A.return=S;else for(A=S;A!==null;){if(A===s){A=null;break}if(S=A.sibling,S!==null){S.return=A.return,A=S;break}A=A.return}S=A}wt(r,s,w.children,c),s=s.child}return s;case 9:return w=s.type,g=s.pendingProps.children,Ci(s,c),w=Zt(w),g=g(w),s.flags|=1,wt(r,s,g,c),s.child;case 14:return g=s.type,w=yn(g,s.pendingProps),w=yn(g.type,w),eI(r,s,g,w,c);case 15:return tI(r,s,s.type,s.pendingProps,c);case 17:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),Hu(r,s),s.tag=1,kt(g)?(r=!0,ku(s)):r=!1,Ci(s,c),UA(s,g,w),Qy(s,g,w,c),t0(null,s,g,!0,r,c);case 19:return uI(r,s,c);case 22:return nI(r,s,c)}throw Error(n(156,s.tag))};function MI(r,s){return ru(r,s)}function BW(r,s,c,g){this.tag=r,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function tn(r,s,c,g){return new BW(r,s,c,g)}function _0(r){return r=r.prototype,!(!r||!r.isReactComponent)}function VW(r){if(typeof r=="function")return _0(r)?1:0;if(r!=null){if(r=r.$$typeof,r===j)return 11;if(r===H)return 14}return 2}function jr(r,s){var c=r.alternate;return c===null?(c=tn(r.tag,s,r.key,r.mode),c.elementType=r.elementType,c.type=r.type,c.stateNode=r.stateNode,c.alternate=r,r.alternate=c):(c.pendingProps=s,c.type=r.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=r.flags&14680064,c.childLanes=r.childLanes,c.lanes=r.lanes,c.child=r.child,c.memoizedProps=r.memoizedProps,c.memoizedState=r.memoizedState,c.updateQueue=r.updateQueue,s=r.dependencies,c.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},c.sibling=r.sibling,c.index=r.index,c.ref=r.ref,c}function tc(r,s,c,g,w,S){var A=2;if(g=r,typeof r=="function")_0(r)&&(A=1);else if(typeof r=="string")A=5;else e:switch(r){case I:return bo(c.children,w,S,s);case O:A=8,w|=8;break;case q:return r=tn(12,c,s,w|2),r.elementType=q,r.lanes=S,r;case W:return r=tn(13,c,s,w),r.elementType=W,r.lanes=S,r;case L:return r=tn(19,c,s,w),r.elementType=L,r.lanes=S,r;case Y:return nc(c,w,S,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case G:A=10;break e;case F:A=9;break e;case j:A=11;break e;case H:A=14;break e;case z:A=16,g=null;break e}throw Error(n(130,r==null?r:typeof r,""))}return s=tn(A,c,s,w),s.elementType=r,s.type=g,s.lanes=S,s}function bo(r,s,c,g){return r=tn(7,r,g,s),r.lanes=c,r}function nc(r,s,c,g){return r=tn(22,r,g,s),r.elementType=Y,r.lanes=c,r.stateNode={isHidden:!1},r}function b0(r,s,c){return r=tn(6,r,null,s),r.lanes=c,r}function S0(r,s,c){return s=tn(4,r.children!==null?r.children:[],r.key,s),s.lanes=c,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function HW(r,s,c,g,w){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Is(0),this.expirationTimes=Is(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Is(0),this.identifierPrefix=g,this.onRecoverableError=w,this.mutableSourceEagerHydrationData=null}function E0(r,s,c,g,w,S,A,B,K){return r=new HW(r,s,c,B,K),s===1?(s=1,S===!0&&(s|=8)):s=0,S=tn(3,null,null,s),r.current=S,S.stateNode=r,S.memoizedState={element:g,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},jy(S),r}function WW(r,s,c){var g=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),hc.exports=HI(),hc.exports}var j0;function WI(){if(j0)return fa;j0=1;var e=D0();return fa.createRoot=e.createRoot,fa.hydrateRoot=e.hydrateRoot,fa}var UI=WI();function tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n{}};function da(){for(var e=0,t=arguments.length,n={},o;e=0&&(o=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}ha.prototype=da.prototype={constructor:ha,on:function(e,t){var n=this._,o=YI(e+"",n),i,a=-1,l=o.length;if(arguments.length<2){for(;++a0)for(var n=new Array(i),o=0,i,a;o=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),z0.hasOwnProperty(t)?{space:z0[t],local:e}:e}function XI(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===mc&&t.documentElement.namespaceURI===mc?t.createElement(e):t.createElementNS(n,e)}}function QI(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function F0(e){var t=pa(e);return(t.local?QI:XI)(t)}function ZI(){}function vc(e){return e==null?ZI:function(){return this.querySelector(e)}}function JI(e){typeof e!="function"&&(e=vc(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i=_&&(_=C+1);!(P=x[_])&&++_=0;)(l=o[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function E2(e){e||(e=C2);function t(p,m){return p&&m?e(p.__data__,m.__data__):!p-!m}for(var n=this._groups,o=n.length,i=new Array(o),a=0;at?1:e>=t?0:NaN}function k2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function N2(){return Array.from(this)}function R2(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?z2:typeof t=="function"?$2:F2)(e,t,n??"")):So(this.node(),e)}function So(e,t){return e.style.getPropertyValue(t)||W0(e).getComputedStyle(e,null).getPropertyValue(t)}function V2(e){return function(){delete this[e]}}function H2(e,t){return function(){this[e]=t}}function W2(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function U2(e,t){return arguments.length>1?this.each((t==null?V2:typeof t=="function"?W2:H2)(e,t)):this.node()[e]}function U0(e){return e.trim().split(/^|\s+/)}function yc(e){return e.classList||new G0(e)}function G0(e){this._node=e,this._names=U0(e.getAttribute("class")||"")}G0.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Y0(e,t){for(var n=yc(e),o=-1,i=t.length;++o=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function xM(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,a;n()=>e;function xc(e,{sourceEvent:t,subject:n,target:o,identifier:i,active:a,x:l,y:u,dx:f,dy:d,dispatch:h}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:h}})}xc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function TM(e){return!e.ctrlKey&&!e.button}function AM(){return this.parentNode}function IM(e,t){return t??{x:e.x,y:e.y}}function MM(){return navigator.maxTouchPoints||"ontouchstart"in this}function ew(){var e=TM,t=AM,n=IM,o=MM,i={},a=da("start","drag","end"),l=0,u,f,d,h,p=0;function m(N){N.on("mousedown.drag",v).filter(o).on("touchstart.drag",x).on("touchmove.drag",b,PM).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(N,P){if(!(h||!e.call(this,N,P))){var T=_(this,t.call(this,N,P),N,P,"mouse");T&&(At(N.view).on("mousemove.drag",E,Li).on("mouseup.drag",y,Li),Z0(N.view),wc(N),d=!1,u=N.clientX,f=N.clientY,T("start",N))}}function E(N){if(Eo(N),!d){var P=N.clientX-u,T=N.clientY-f;d=P*P+T*T>p}i.mouse("drag",N)}function y(N){At(N.view).on("mousemove.drag mouseup.drag",null),J0(N.view,d),Eo(N),i.mouse("end",N)}function x(N,P){if(e.call(this,N,P)){var T=N.changedTouches,I=t.call(this,N,P),O=T.length,q,G;for(q=0;q>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ya(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ya(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=LM.exec(e))?new bt(t[1],t[2],t[3],1):(t=DM.exec(e))?new bt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=jM.exec(e))?ya(t[1],t[2],t[3],t[4]):(t=qM.exec(e))?ya(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zM.exec(e))?lw(t[1],t[2]/100,t[3]/100,1):(t=FM.exec(e))?lw(t[1],t[2]/100,t[3]/100,t[4]):nw.hasOwnProperty(e)?iw(nw[e]):e==="transparent"?new bt(NaN,NaN,NaN,0):null}function iw(e){return new bt(e>>16&255,e>>8&255,e&255,1)}function ya(e,t,n,o){return o<=0&&(e=t=n=NaN),new bt(e,t,n,o)}function VM(e){return e instanceof Di||(e=zr(e)),e?(e=e.rgb(),new bt(e.r,e.g,e.b,e.opacity)):new bt}function bc(e,t,n,o){return arguments.length===1?VM(e):new bt(e,t,n,o??1)}function bt(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}_c(bt,bc,tw(Di,{brighter(e){return e=e==null?va:Math.pow(va,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ji:Math.pow(ji,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new bt(Fr(this.r),Fr(this.g),Fr(this.b),wa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:sw,formatHex:sw,formatHex8:HM,formatRgb:aw,toString:aw}));function sw(){return`#${$r(this.r)}${$r(this.g)}${$r(this.b)}`}function HM(){return`#${$r(this.r)}${$r(this.g)}${$r(this.b)}${$r((isNaN(this.opacity)?1:this.opacity)*255)}`}function aw(){const e=wa(this.opacity);return`${e===1?"rgb(":"rgba("}${Fr(this.r)}, ${Fr(this.g)}, ${Fr(this.b)}${e===1?")":`, ${e})`}`}function wa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $r(e){return e=Fr(e),(e<16?"0":"")+e.toString(16)}function lw(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new rn(e,t,n,o)}function uw(e){if(e instanceof rn)return new rn(e.h,e.s,e.l,e.opacity);if(e instanceof Di||(e=zr(e)),!e)return new rn;if(e instanceof rn)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,i=Math.min(t,n,o),a=Math.max(t,n,o),l=NaN,u=a-i,f=(a+i)/2;return u?(t===a?l=(n-o)/u+(n0&&f<1?0:l,new rn(l,u,f,e.opacity)}function WM(e,t,n,o){return arguments.length===1?uw(e):new rn(e,t,n,o??1)}function rn(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}_c(rn,WM,tw(Di,{brighter(e){return e=e==null?va:Math.pow(va,e),new rn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ji:Math.pow(ji,e),new rn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,i=2*n-o;return new bt(Sc(e>=240?e-240:e+120,i,o),Sc(e,i,o),Sc(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new rn(cw(this.h),xa(this.s),xa(this.l),wa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=wa(this.opacity);return`${e===1?"hsl(":"hsla("}${cw(this.h)}, ${xa(this.s)*100}%, ${xa(this.l)*100}%${e===1?")":`, ${e})`}`}}));function cw(e){return e=(e||0)%360,e<0?e+360:e}function xa(e){return Math.max(0,Math.min(1,e||0))}function Sc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Ec=e=>()=>e;function UM(e,t){return function(n){return e+n*t}}function GM(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function YM(e){return(e=+e)==1?fw:function(t,n){return n-t?GM(t,n,e):Ec(isNaN(t)?n:t)}}function fw(e,t){var n=t-e;return n?UM(e,n):Ec(isNaN(e)?t:e)}const _a=(function e(t){var n=YM(t);function o(i,a){var l=n((i=bc(i)).r,(a=bc(a)).r),u=n(i.g,a.g),f=n(i.b,a.b),d=fw(i.opacity,a.opacity);return function(h){return i.r=l(h),i.g=u(h),i.b=f(h),i.opacity=d(h),i+""}}return o.gamma=e,o})(1);function KM(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,f.push({i:l,x:Sn(o,i)})),n=kc.lastIndex;return n180?h+=360:h-d>180&&(d+=360),m.push({i:p.push(i(p)+"rotate(",null,o)-2,x:Sn(d,h)})):h&&p.push(i(p)+"rotate("+h+o)}function u(d,h,p,m){d!==h?m.push({i:p.push(i(p)+"skewX(",null,o)-2,x:Sn(d,h)}):h&&p.push(i(p)+"skewX("+h+o)}function f(d,h,p,m,v,E){if(d!==p||h!==m){var y=v.push(i(v)+"scale(",null,",",null,")");E.push({i:y-4,x:Sn(d,p)},{i:y-2,x:Sn(h,m)})}else(p!==1||m!==1)&&v.push(i(v)+"scale("+p+","+m+")")}return function(d,h){var p=[],m=[];return d=e(d),h=e(h),a(d.translateX,d.translateY,h.translateX,h.translateY,p,m),l(d.rotate,h.rotate,p,m),u(d.skewX,h.skewX,p,m),f(d.scaleX,d.scaleY,h.scaleX,h.scaleY,p,m),d=h=null,function(v){for(var E=-1,y=m.length,x;++E=0&&e._call.call(void 0,t),e=e._next;--ko}function xw(){Br=(Ca=Vi.now())+ka,ko=Fi=0;try{cO()}finally{ko=0,dO(),Br=0}}function fO(){var e=Vi.now(),t=e-Ca;t>vw&&(ka-=t,Ca=e)}function dO(){for(var e,t=Ea,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Ea=n);Bi=e,Pc(o)}function Pc(e){if(!ko){Fi&&(Fi=clearTimeout(Fi));var t=e-Br;t>24?(e<1/0&&(Fi=setTimeout(xw,e-Vi.now()-ka)),$i&&($i=clearInterval($i))):($i||(Ca=Vi.now(),$i=setInterval(fO,vw)),ko=1,yw(xw))}}function _w(e,t,n){var o=new Na;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}var hO=da("start","end","cancel","interrupt"),pO=[],bw=0,Sw=1,Tc=2,Ra=3,Ew=4,Ac=5,Pa=6;function Ta(e,t,n,o,i,a){var l=e.__transition;if(!l)e.__transition={};else if(n in l)return;gO(e,n,{name:t,index:o,group:i,on:hO,tween:pO,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:bw})}function Ic(e,t){var n=on(e,t);if(n.state>bw)throw new Error("too late; already scheduled");return n}function En(e,t){var n=on(e,t);if(n.state>Ra)throw new Error("too late; already running");return n}function on(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function gO(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=ww(a,0,n.time);function a(d){n.state=Sw,n.timer.restart(l,n.delay,n.time),n.delay<=d&&l(d-n.delay)}function l(d){var h,p,m,v;if(n.state!==Sw)return f();for(h in o)if(v=o[h],v.name===n.name){if(v.state===Ra)return _w(l);v.state===Ew?(v.state=Pa,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete o[h]):+hTc&&o.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function WO(e,t,n){var o,i,a=HO(t)?Ic:En;return function(){var l=a(this,e),u=l.on;u!==o&&(i=(o=u).copy()).on(t,n),l.on=i}}function UO(e,t){var n=this._id;return arguments.length<2?on(this.node(),n).on.on(e):this.each(WO(n,e,t))}function GO(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function YO(){return this.on("end.remove",GO(this._id))}function KO(e){var t=this._name,n=this._id;typeof e!="function"&&(e=vc(e));for(var o=this._groups,i=o.length,a=new Array(i),l=0;l()=>e;function xL(e,{sourceEvent:t,target:n,transform:o,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function Vn(e,t,n){this.k=e,this.x=t,this.y=n}Vn.prototype={constructor:Vn,scale:function(e){return e===1?this:new Vn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Vn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ma=new Vn(1,0,0);Rw.prototype=Vn.prototype;function Rw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Ma;return e.__zoom}function Oc(e){e.stopImmediatePropagation()}function Hi(e){e.preventDefault(),e.stopImmediatePropagation()}function _L(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function bL(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Pw(){return this.__zoom||Ma}function SL(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function EL(){return navigator.maxTouchPoints||"ontouchstart"in this}function CL(e,t,n){var o=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],l=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function Tw(){var e=_L,t=bL,n=CL,o=SL,i=EL,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],u=250,f=Sa,d=da("start","zoom","end"),h,p,m,v=500,E=150,y=0,x=10;function b(L){L.property("__zoom",Pw).on("wheel.zoom",O,{passive:!1}).on("mousedown.zoom",q).on("dblclick.zoom",G).filter(i).on("touchstart.zoom",F).on("touchmove.zoom",j).on("touchend.zoom touchcancel.zoom",W).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(L,H,z,Y){var M=L.selection?L.selection():L;M.property("__zoom",Pw),L!==M?P(L,H,z,Y):M.interrupt().each(function(){T(this,arguments).event(Y).start().zoom(null,typeof H=="function"?H.apply(this,arguments):H).end()})},b.scaleBy=function(L,H,z,Y){b.scaleTo(L,function(){var M=this.__zoom.k,$=typeof H=="function"?H.apply(this,arguments):H;return M*$},z,Y)},b.scaleTo=function(L,H,z,Y){b.transform(L,function(){var M=t.apply(this,arguments),$=this.__zoom,Q=z==null?N(M):typeof z=="function"?z.apply(this,arguments):z,D=$.invert(Q),U=typeof H=="function"?H.apply(this,arguments):H;return n(_(C($,U),Q,D),M,l)},z,Y)},b.translateBy=function(L,H,z,Y){b.transform(L,function(){return n(this.__zoom.translate(typeof H=="function"?H.apply(this,arguments):H,typeof z=="function"?z.apply(this,arguments):z),t.apply(this,arguments),l)},null,Y)},b.translateTo=function(L,H,z,Y,M){b.transform(L,function(){var $=t.apply(this,arguments),Q=this.__zoom,D=Y==null?N($):typeof Y=="function"?Y.apply(this,arguments):Y;return n(Ma.translate(D[0],D[1]).scale(Q.k).translate(typeof H=="function"?-H.apply(this,arguments):-H,typeof z=="function"?-z.apply(this,arguments):-z),$,l)},Y,M)};function C(L,H){return H=Math.max(a[0],Math.min(a[1],H)),H===L.k?L:new Vn(H,L.x,L.y)}function _(L,H,z){var Y=H[0]-z[0]*L.k,M=H[1]-z[1]*L.k;return Y===L.x&&M===L.y?L:new Vn(L.k,Y,M)}function N(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function P(L,H,z,Y){L.on("start.zoom",function(){T(this,arguments).event(Y).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(Y).end()}).tween("zoom",function(){var M=this,$=arguments,Q=T(M,$).event(Y),D=t.apply(M,$),U=z==null?N(D):typeof z=="function"?z.apply(M,$):z,ie=Math.max(D[1][0]-D[0][0],D[1][1]-D[0][1]),V=M.__zoom,Z=typeof H=="function"?H.apply(M,$):H,ee=f(V.invert(U).concat(ie/V.k),Z.invert(U).concat(ie/Z.k));return function(X){if(X===1)X=Z;else{var te=ee(X),se=ie/te[2];X=new Vn(se,U[0]-te[0]*se,U[1]-te[1]*se)}Q.zoom(null,X)}})}function T(L,H,z){return!z&&L.__zooming||new I(L,H)}function I(L,H){this.that=L,this.args=H,this.active=0,this.sourceEvent=null,this.extent=t.apply(L,H),this.taps=0}I.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,H){return this.mouse&&L!=="mouse"&&(this.mouse[1]=H.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=H.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=H.invert(this.touch1[0])),this.that.__zoom=H,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var H=At(this.that).datum();d.call(L,this.that,new xL(L,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:d}),H)}};function O(L,...H){if(!e.apply(this,arguments))return;var z=T(this,H).event(L),Y=this.__zoom,M=Math.max(a[0],Math.min(a[1],Y.k*Math.pow(2,o.apply(this,arguments)))),$=nn(L);if(z.wheel)(z.mouse[0][0]!==$[0]||z.mouse[0][1]!==$[1])&&(z.mouse[1]=Y.invert(z.mouse[0]=$)),clearTimeout(z.wheel);else{if(Y.k===M)return;z.mouse=[$,Y.invert($)],Aa(this),z.start()}Hi(L),z.wheel=setTimeout(Q,E),z.zoom("mouse",n(_(C(Y,M),z.mouse[0],z.mouse[1]),z.extent,l));function Q(){z.wheel=null,z.end()}}function q(L,...H){if(m||!e.apply(this,arguments))return;var z=L.currentTarget,Y=T(this,H,!0).event(L),M=At(L.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",ie,!0),$=nn(L,z),Q=L.clientX,D=L.clientY;Z0(L.view),Oc(L),Y.mouse=[$,this.__zoom.invert($)],Aa(this),Y.start();function U(V){if(Hi(V),!Y.moved){var Z=V.clientX-Q,ee=V.clientY-D;Y.moved=Z*Z+ee*ee>y}Y.event(V).zoom("mouse",n(_(Y.that.__zoom,Y.mouse[0]=nn(V,z),Y.mouse[1]),Y.extent,l))}function ie(V){M.on("mousemove.zoom mouseup.zoom",null),J0(V.view,Y.moved),Hi(V),Y.event(V).end()}}function G(L,...H){if(e.apply(this,arguments)){var z=this.__zoom,Y=nn(L.changedTouches?L.changedTouches[0]:L,this),M=z.invert(Y),$=z.k*(L.shiftKey?.5:2),Q=n(_(C(z,$),Y,M),t.apply(this,H),l);Hi(L),u>0?At(this).transition().duration(u).call(P,Q,Y,L):At(this).call(b.transform,Q,Y,L)}}function F(L,...H){if(e.apply(this,arguments)){var z=L.touches,Y=z.length,M=T(this,H,L.changedTouches.length===Y).event(L),$,Q,D,U;for(Oc(L),Q=0;Q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Wi=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Aw=["Enter"," ","Escape"],Iw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var No;(function(e){e.Strict="strict",e.Loose="loose"})(No||(No={}));var Vr;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Vr||(Vr={}));var Ui;(function(e){e.Partial="partial",e.Full="full"})(Ui||(Ui={}));const Mw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ir;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ir||(ir={}));var Oa;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Oa||(Oa={}));var ve;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ve||(ve={}));const Ow={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top};function Lw(e){return e===null?null:e?"valid":"invalid"}const Dw=e=>"id"in e&&"source"in e&&"target"in e,kL=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Lc=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Gi=(e,t=[0,0])=>{const{width:n,height:o}=Hn(e),i=e.origin??t,a=n*i[0],l=o*i[1];return{x:e.position.x-a,y:e.position.y-l}},NL=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((o,i)=>{const a=typeof i=="string";let l=!t.nodeLookup&&!a?i:void 0;t.nodeLookup&&(l=a?t.nodeLookup.get(i):Lc(i)?i:t.nodeLookup.get(i.id));const u=l?ja(l,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return La(o,u)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Da(n)},Yi=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(i=>{(t.filter===void 0||t.filter(i))&&(n=La(n,ja(i)),o=!0)}),o?Da(n):{x:0,y:0,width:0,height:0}},Dc=(e,t,[n,o,i]=[0,0,1],a=!1,l=!1)=>{const u={...Qi(t,[n,o,i]),width:t.width/i,height:t.height/i},f=[];for(const d of e.values()){const{measured:h,selectable:p=!0,hidden:m=!1}=d;if(l&&!p||m)continue;const v=h.width??d.width??d.initialWidth??null,E=h.height??d.height??d.initialHeight??null,y=Ki(u,Po(d)),x=(v??0)*(E??0),b=a&&y>0;(!d.internals.handleBounds||b||y>=x||d.dragging)&&f.push(d)}return f},RL=(e,t)=>{const n=new Set;return e.forEach(o=>{n.add(o.id)}),t.filter(o=>n.has(o.source)||n.has(o.target))};function PL(e,t){const n=new Map,o=t!=null&&t.nodes?new Set(t.nodes.map(i=>i.id)):null;return e.forEach(i=>{i.measured.width&&i.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!i.hidden)&&(!o||o.has(i.id))&&n.set(i.id,i)}),n}async function TL({nodes:e,width:t,height:n,panZoom:o,minZoom:i,maxZoom:a},l){if(e.size===0)return Promise.resolve(!0);const u=PL(e,l),f=Yi(u),d=qc(f,t,n,(l==null?void 0:l.minZoom)??i,(l==null?void 0:l.maxZoom)??a,(l==null?void 0:l.padding)??.1);return await o.setViewport(d,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),Promise.resolve(!0)}function jw({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:i,onError:a}){const l=n.get(e),u=l.parentId?n.get(l.parentId):void 0,{x:f,y:d}=u?u.internals.positionAbsolute:{x:0,y:0},h=l.origin??o;let p=l.extent||i;if(l.extent==="parent"&&!l.expandParent)if(!u)a==null||a("005",Cn.error005());else{const v=u.measured.width,E=u.measured.height;v&&E&&(p=[[f,d],[f+v,d+E]])}else u&&Ao(l.extent)&&(p=[[l.extent[0][0]+f,l.extent[0][1]+d],[l.extent[1][0]+f,l.extent[1][1]+d]]);const m=Ao(p)?Hr(t,p,l.measured):t;return(l.measured.width===void 0||l.measured.height===void 0)&&(a==null||a("015",Cn.error015())),{position:{x:m.x-f+(l.measured.width??0)*h[0],y:m.y-d+(l.measured.height??0)*h[1]},positionAbsolute:m}}async function AL({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:i}){const a=new Set(e.map(m=>m.id)),l=[];for(const m of n){if(m.deletable===!1)continue;const v=a.has(m.id),E=!v&&m.parentId&&l.find(y=>y.id===m.parentId);(v||E)&&l.push(m)}const u=new Set(t.map(m=>m.id)),f=o.filter(m=>m.deletable!==!1),h=RL(l,f);for(const m of f)u.has(m.id)&&!h.find(E=>E.id===m.id)&&h.push(m);if(!i)return{edges:h,nodes:l};const p=await i({nodes:l,edges:h});return typeof p=="boolean"?p?{edges:h,nodes:l}:{edges:[],nodes:[]}:p}const Ro=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Hr=(e={x:0,y:0},t,n)=>({x:Ro(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:Ro(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function qw(e,t,n){const{width:o,height:i}=Hn(n),{x:a,y:l}=n.internals.positionAbsolute;return Hr(e,[[a,l],[a+o,l+i]],t)}const zw=(e,t,n)=>en?-Ro(Math.abs(e-n),1,t)/t:0,Fw=(e,t,n=15,o=40)=>{const i=zw(e.x,o,t.width-o)*n,a=zw(e.y,o,t.height-o)*n;return[i,a]},La=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),jc=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),Da=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),Po=(e,t=[0,0])=>{var i,a;const{x:n,y:o}=Lc(e)?e.internals.positionAbsolute:Gi(e,t);return{x:n,y:o,width:((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0,height:((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0}},ja=(e,t=[0,0])=>{var i,a;const{x:n,y:o}=Lc(e)?e.internals.positionAbsolute:Gi(e,t);return{x:n,y:o,x2:n+(((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0),y2:o+(((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0)}},$w=(e,t)=>Da(La(jc(e),jc(t))),Ki=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)},Bw=e=>sn(e.width)&&sn(e.height)&&sn(e.x)&&sn(e.y),sn=e=>!isNaN(e)&&isFinite(e),IL=(e,t)=>{},Xi=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Qi=({x:e,y:t},[n,o,i],a=!1,l=[1,1])=>{const u={x:(e-n)/i,y:(t-o)/i};return a?Xi(u,l):u},qa=({x:e,y:t},[n,o,i])=>({x:e*i+n,y:t*i+o});function To(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function ML(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=To(e,n),i=To(e,t);return{top:o,right:i,bottom:o,left:i,x:i*2,y:o*2}}if(typeof e=="object"){const o=To(e.top??e.y??0,n),i=To(e.bottom??e.y??0,n),a=To(e.left??e.x??0,t),l=To(e.right??e.x??0,t);return{top:o,right:l,bottom:i,left:a,x:a+l,y:o+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function OL(e,t,n,o,i,a){const{x:l,y:u}=qa(e,[t,n,o]),{x:f,y:d}=qa({x:e.x+e.width,y:e.y+e.height},[t,n,o]),h=i-f,p=a-d;return{left:Math.floor(l),top:Math.floor(u),right:Math.floor(h),bottom:Math.floor(p)}}const qc=(e,t,n,o,i,a)=>{const l=ML(a,t,n),u=(t-l.x)/e.width,f=(n-l.y)/e.height,d=Math.min(u,f),h=Ro(d,o,i),p=e.x+e.width/2,m=e.y+e.height/2,v=t/2-p*h,E=n/2-m*h,y=OL(e,v,E,h,t,n),x={left:Math.min(y.left-l.left,0),top:Math.min(y.top-l.top,0),right:Math.min(y.right-l.right,0),bottom:Math.min(y.bottom-l.bottom,0)};return{x:v-x.left+x.right,y:E-x.top+x.bottom,zoom:h}},Zi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Ao(e){return e!=null&&e!=="parent"}function Hn(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function Vw(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function Hw(e,t={width:0,height:0},n,o,i){const a={...e},l=o.get(n);if(l){const u=l.origin||i;a.x+=l.internals.positionAbsolute.x-(t.width??0)*u[0],a.y+=l.internals.positionAbsolute.y-(t.height??0)*u[1]}return a}function Ww(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function LL(){let e,t;return{promise:new Promise((o,i)=>{e=o,t=i}),resolve:e,reject:t}}function DL(e){return{...Iw,...e||{}}}function Ji(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:i}){const{x:a,y:l}=an(e),u=Qi({x:a-((i==null?void 0:i.left)??0),y:l-((i==null?void 0:i.top)??0)},o),{x:f,y:d}=n?Xi(u,t):u;return{xSnapped:f,ySnapped:d,...u}}const zc=e=>({width:e.offsetWidth,height:e.offsetHeight}),Uw=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},jL=["INPUT","SELECT","TEXTAREA"];function Gw(e){var o,i;const t=((i=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:i[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:jL.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Yw=e=>"clientX"in e,an=(e,t)=>{var a,l;const n=Yw(e),o=n?e.clientX:(a=e.touches)==null?void 0:a[0].clientX,i=n?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Kw=(e,t,n,o,i)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(u.left-n.left)/o,y:(u.top-n.top)/o,...zc(l)}})};function Xw({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:u}){const f=e*.125+i*.375+l*.375+n*.125,d=t*.125+a*.375+u*.375+o*.125,h=Math.abs(f-e),p=Math.abs(d-t);return[f,d,h,p]}function za(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Qw({pos:e,x1:t,y1:n,x2:o,y2:i,c:a}){switch(e){case ve.Left:return[t-za(t-o,a),n];case ve.Right:return[t+za(o-t,a),n];case ve.Top:return[t,n-za(n-i,a)];case ve.Bottom:return[t,n+za(i-n,a)]}}function Zw({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:o,targetY:i,targetPosition:a=ve.Top,curvature:l=.25}){const[u,f]=Qw({pos:n,x1:e,y1:t,x2:o,y2:i,c:l}),[d,h]=Qw({pos:a,x1:o,y1:i,x2:e,y2:t,c:l}),[p,m,v,E]=Xw({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${t} C${u},${f} ${d},${h} ${o},${i}`,p,m,v,E]}function Jw({sourceX:e,sourceY:t,targetX:n,targetY:o}){const i=Math.abs(n-e)/2,a=n0}const FL=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,$L=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),ex=(e,t)=>{if(!e.source||!e.target)return t;let n;return Dw(e)?n={...e}:n={...e,id:FL(e)},$L(n,t)?t:(n.sourceHandle===null&&delete n.sourceHandle,n.targetHandle===null&&delete n.targetHandle,t.concat(n))};function tx({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[i,a,l,u]=Jw({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,i,a,l,u]}const nx={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},BL=({source:e,sourcePosition:t=ve.Bottom,target:n})=>t===ve.Left||t===ve.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function VL({source:e,sourcePosition:t=ve.Bottom,target:n,targetPosition:o=ve.Top,center:i,offset:a,stepPosition:l}){const u=nx[t],f=nx[o],d={x:e.x+u.x*a,y:e.y+u.y*a},h={x:n.x+f.x*a,y:n.y+f.y*a},p=BL({source:d,sourcePosition:t,target:h}),m=p.x!==0?"x":"y",v=p[m];let E=[],y,x;const b={x:0,y:0},C={x:0,y:0},[,,_,N]=Jw({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(u[m]*f[m]===-1){m==="x"?(y=i.x??d.x+(h.x-d.x)*l,x=i.y??(d.y+h.y)/2):(y=i.x??(d.x+h.x)/2,x=i.y??d.y+(h.y-d.y)*l);const T=[{x:y,y:d.y},{x:y,y:h.y}],I=[{x:d.x,y:x},{x:h.x,y:x}];u[m]===v?E=m==="x"?T:I:E=m==="x"?I:T}else{const T=[{x:d.x,y:h.y}],I=[{x:h.x,y:d.y}];if(m==="x"?E=u.x===v?I:T:E=u.y===v?T:I,t===o){const j=Math.abs(e[m]-n[m]);if(j<=a){const W=Math.min(a-1,a-j);u[m]===v?b[m]=(d[m]>e[m]?-1:1)*W:C[m]=(h[m]>n[m]?-1:1)*W}}if(t!==o){const j=m==="x"?"y":"x",W=u[m]===f[j],L=d[j]>h[j],H=d[j]=F?(y=(O.x+q.x)/2,x=E[0].y):(y=E[0].x,x=(O.y+q.y)/2)}return[[e,{x:d.x+b.x,y:d.y+b.y},...E,{x:h.x+C.x,y:h.y+C.y},n],y,x,_,N]}function HL(e,t,n,o){const i=Math.min(rx(e,t)/2,rx(t,n)/2,o),{x:a,y:l}=t;if(e.x===a&&a===n.x||e.y===l&&l===n.y)return`L${a} ${l}`;if(e.y===l){const d=e.x{let N="";return _>0&&_n.id===t):e[0])||null}function $c(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function UL(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:i}){const a=new Set;return e.reduce((l,u)=>([u.markerStart||o,u.markerEnd||i].forEach(f=>{if(f&&typeof f=="object"){const d=$c(f,t);a.has(d)||(l.push({id:d,color:f.color||n,...f}),a.add(d))}}),l),[]).sort((l,u)=>l.id.localeCompare(u.id))}const ax=1e3,GL=10,Bc={nodeOrigin:[0,0],nodeExtent:Wi,elevateNodesOnSelect:!0,defaults:{}},YL={...Bc,checkEquality:!0};function Vc(e,t){const n={...e};for(const o in t)t[o]!==void 0&&(n[o]=t[o]);return n}function KL(e,t,n){const o=Vc(Bc,n);for(const i of e.values())if(i.parentId)Wc(i,e,t,o);else{const a=Gi(i,o.nodeOrigin),l=Ao(i.extent)?i.extent:o.nodeExtent,u=Hr(a,l,Hn(i));i.internals.positionAbsolute=u}}function XL(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],o=[];for(const i of e.handles){const a={id:i.id,width:i.width??1,height:i.height??1,nodeId:e.id,x:i.x,y:i.y,position:i.position,type:i.type};i.type==="source"?n.push(a):i.type==="target"&&o.push(a)}return{source:n,target:o}}function Hc(e,t,n,o){var d,h;const i=Vc(YL,o);let a={i:-1},l=e.length>0;const u=new Map(t),f=i!=null&&i.elevateNodesOnSelect?ax:0;t.clear(),n.clear();for(const p of e){let m=u.get(p.id);if(i.checkEquality&&p===(m==null?void 0:m.internals.userNode))t.set(p.id,m);else{const v=Gi(p,i.nodeOrigin),E=Ao(p.extent)?p.extent:i.nodeExtent,y=Hr(v,E,Hn(p));m={...i.defaults,...p,measured:{width:(d=p.measured)==null?void 0:d.width,height:(h=p.measured)==null?void 0:h.height},internals:{positionAbsolute:y,handleBounds:XL(p,m),z:lx(p,f),userNode:p}},t.set(p.id,m)}(m.measured===void 0||m.measured.width===void 0||m.measured.height===void 0)&&!m.hidden&&(l=!1),p.parentId&&Wc(m,t,n,o,a)}return l}function QL(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Wc(e,t,n,o,i){const{elevateNodesOnSelect:a,nodeOrigin:l,nodeExtent:u}=Vc(Bc,o),f=e.parentId,d=t.get(f);if(!d){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}QL(e,n),i&&!d.parentId&&d.internals.rootParentIndex===void 0&&(d.internals.rootParentIndex=++i.i,d.internals.z=d.internals.z+i.i*GL),i&&d.internals.rootParentIndex!==void 0&&(i.i=d.internals.rootParentIndex);const h=a?ax:0,{x:p,y:m,z:v}=ZL(e,d,l,u,h),{positionAbsolute:E}=e.internals,y=p!==E.x||m!==E.y;(y||v!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:m}:E,z:v}})}function lx(e,t){return(sn(e.zIndex)?e.zIndex:0)+(e.selected?t:0)}function ZL(e,t,n,o,i){const{x:a,y:l}=t.internals.positionAbsolute,u=Hn(e),f=Gi(e,n),d=Ao(e.extent)?Hr(f,e.extent,u):f;let h=Hr({x:a+d.x,y:l+d.y},o,u);e.extent==="parent"&&(h=qw(h,u,t));const p=lx(e,i),m=t.internals.z??0;return{x:h.x,y:h.y,z:m>=p?m+1:p}}function Uc(e,t,n,o=[0,0]){var l;const i=[],a=new Map;for(const u of e){const f=t.get(u.parentId);if(!f)continue;const d=((l=a.get(u.parentId))==null?void 0:l.expandedRect)??Po(f),h=$w(d,u.rect);a.set(u.parentId,{expandedRect:h,parent:f})}return a.size>0&&a.forEach(({expandedRect:u,parent:f},d)=>{var _;const h=f.internals.positionAbsolute,p=Hn(f),m=f.origin??o,v=u.x0||E>0||b||C)&&(i.push({id:d,type:"position",position:{x:f.position.x-v+b,y:f.position.y-E+C}}),(_=n.get(d))==null||_.forEach(N=>{e.some(P=>P.id===N.id)||i.push({id:N.id,type:"position",position:{x:N.position.x+v,y:N.position.y+E}})})),(p.width0){const m=Uc(p,t,n,i);f.push(...m)}return{changes:f,updatedInternals:u}}async function eD({delta:e,panZoom:t,transform:n,translateExtent:o,width:i,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const l=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],o),u=!!l&&(l.x!==n[0]||l.y!==n[1]||l.k!==n[2]);return Promise.resolve(u)}function ux(e,t,n,o,i,a){let l=i;const u=o.get(l)||new Map;o.set(l,u.set(n,t)),l=`${i}-${e}`;const f=o.get(l)||new Map;if(o.set(l,f.set(n,t)),a){l=`${i}-${e}-${a}`;const d=o.get(l)||new Map;o.set(l,d.set(n,t))}}function cx(e,t,n){e.clear(),t.clear();for(const o of n){const{source:i,target:a,sourceHandle:l=null,targetHandle:u=null}=o,f={edgeId:o.id,source:i,target:a,sourceHandle:l,targetHandle:u},d=`${i}-${l}--${a}-${u}`,h=`${a}-${u}--${i}-${l}`;ux("source",f,h,e,i,l),ux("target",f,d,e,a,u),t.set(o.id,o)}}function fx(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:fx(n,t):!1}function dx(e,t,n){var i;let o=e;do{if((i=o==null?void 0:o.matches)!=null&&i.call(o,t))return!0;if(o===n)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function tD(e,t,n,o){const i=new Map;for(const[a,l]of e)if((l.selected||l.id===o)&&(!l.parentId||!fx(l,e))&&(l.draggable||t&&typeof l.draggable>"u")){const u=e.get(a);u&&i.set(a,{id:a,position:u.position||{x:0,y:0},distance:{x:n.x-u.internals.positionAbsolute.x,y:n.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:u.measured.width??0,height:u.measured.height??0}})}return i}function Gc({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){var l,u,f;const i=[];for(const[d,h]of t){const p=(l=n.get(d))==null?void 0:l.internals.userNode;p&&i.push({...p,position:h.position,dragging:o})}if(!e)return[i[0],i];const a=(u=n.get(e))==null?void 0:u.internals.userNode;return[a?{...a,position:((f=t.get(e))==null?void 0:f.position)||a.position,dragging:o}:i[0],i]}function nD({dragItems:e,snapGrid:t,x:n,y:o}){const i=e.values().next().value;if(!i)return null;const a={x:n-i.distance.x,y:o-i.distance.y},l=Xi(a,t);return{x:l.x-a.x,y:l.y-a.y}}function rD({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:i}){let a={x:null,y:null},l=0,u=new Map,f=!1,d={x:0,y:0},h=null,p=!1,m=null,v=!1,E=!1,y=null;function x({noDragClassName:C,handleSelector:_,domNode:N,isSelectable:P,nodeId:T,nodeClickDistance:I=0}){m=At(N);function O({x:j,y:W}){const{nodeLookup:L,nodeExtent:H,snapGrid:z,snapToGrid:Y,nodeOrigin:M,onNodeDrag:$,onSelectionDrag:Q,onError:D,updateNodePositions:U}=t();a={x:j,y:W};let ie=!1;const V=u.size>1,Z=V&&H?jc(Yi(u)):null,ee=V&&Y?nD({dragItems:u,snapGrid:z,x:j,y:W}):null;for(const[X,te]of u){if(!L.has(X))continue;let se={x:j-te.distance.x,y:W-te.distance.y};Y&&(se=ee?{x:Math.round(se.x+ee.x),y:Math.round(se.y+ee.y)}:Xi(se,z));let ae=null;if(V&&H&&!te.extent&&Z){const{positionAbsolute:pe}=te.internals,be=pe.x-Z.x+H[0][0],me=pe.x+te.measured.width-Z.x2+H[1][0],Re=pe.y-Z.y+H[0][1],Ee=pe.y+te.measured.height-Z.y2+H[1][1];ae=[[be,Re],[me,Ee]]}const{position:ce,positionAbsolute:de}=jw({nodeId:X,nextPosition:se,nodeLookup:L,nodeExtent:ae||H,nodeOrigin:M,onError:D});ie=ie||te.position.x!==ce.x||te.position.y!==ce.y,te.position=ce,te.internals.positionAbsolute=de}if(E=E||ie,!!ie&&(U(u,!0),y&&(o||$||!T&&Q))){const[X,te]=Gc({nodeId:T,dragItems:u,nodeLookup:L});o==null||o(y,u,X,te),$==null||$(y,X,te),T||Q==null||Q(y,te)}}async function q(){if(!h)return;const{transform:j,panBy:W,autoPanSpeed:L,autoPanOnNodeDrag:H}=t();if(!H){f=!1,cancelAnimationFrame(l);return}const[z,Y]=Fw(d,h,L);(z!==0||Y!==0)&&(a.x=(a.x??0)-z/j[2],a.y=(a.y??0)-Y/j[2],await W({x:z,y:Y})&&O(a)),l=requestAnimationFrame(q)}function G(j){var V;const{nodeLookup:W,multiSelectionActive:L,nodesDraggable:H,transform:z,snapGrid:Y,snapToGrid:M,selectNodesOnDrag:$,onNodeDragStart:Q,onSelectionDragStart:D,unselectNodesAndEdges:U}=t();p=!0,(!$||!P)&&!L&&T&&((V=W.get(T))!=null&&V.selected||U()),P&&$&&T&&(e==null||e(T));const ie=Ji(j.sourceEvent,{transform:z,snapGrid:Y,snapToGrid:M,containerBounds:h});if(a=ie,u=tD(W,H,ie,T),u.size>0&&(n||Q||!T&&D)){const[Z,ee]=Gc({nodeId:T,dragItems:u,nodeLookup:W});n==null||n(j.sourceEvent,u,Z,ee),Q==null||Q(j.sourceEvent,Z,ee),T||D==null||D(j.sourceEvent,ee)}}const F=ew().clickDistance(I).on("start",j=>{const{domNode:W,nodeDragThreshold:L,transform:H,snapGrid:z,snapToGrid:Y}=t();h=(W==null?void 0:W.getBoundingClientRect())||null,v=!1,E=!1,y=j.sourceEvent,L===0&&G(j),a=Ji(j.sourceEvent,{transform:H,snapGrid:z,snapToGrid:Y,containerBounds:h}),d=an(j.sourceEvent,h)}).on("drag",j=>{const{autoPanOnNodeDrag:W,transform:L,snapGrid:H,snapToGrid:z,nodeDragThreshold:Y,nodeLookup:M}=t(),$=Ji(j.sourceEvent,{transform:L,snapGrid:H,snapToGrid:z,containerBounds:h});if(y=j.sourceEvent,(j.sourceEvent.type==="touchmove"&&j.sourceEvent.touches.length>1||T&&!M.has(T))&&(v=!0),!v){if(!f&&W&&p&&(f=!0,q()),!p){const Q=an(j.sourceEvent,h),D=Q.x-d.x,U=Q.y-d.y;Math.sqrt(D*D+U*U)>Y&&G(j)}(a.x!==$.xSnapped||a.y!==$.ySnapped)&&u&&p&&(d=an(j.sourceEvent,h),O($))}}).on("end",j=>{if(!(!p||v)&&(f=!1,p=!1,cancelAnimationFrame(l),u.size>0)){const{nodeLookup:W,updateNodePositions:L,onNodeDragStop:H,onSelectionDragStop:z}=t();if(E&&(L(u,!1),E=!1),i||H||!T&&z){const[Y,M]=Gc({nodeId:T,dragItems:u,nodeLookup:W,dragging:!1});i==null||i(j.sourceEvent,u,Y,M),H==null||H(j.sourceEvent,Y,M),T||z==null||z(j.sourceEvent,M)}}}).filter(j=>{const W=j.target;return!j.button&&(!C||!dx(W,`.${C}`,N))&&(!_||dx(W,_,N))});m.call(F)}function b(){m==null||m.on(".drag",null)}return{update:x,destroy:b}}function oD(e,t,n){const o=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())Ki(i,Po(a))>0&&o.push(a);return o}const iD=250;function sD(e,t,n,o){var u,f;let i=[],a=1/0;const l=oD(e,n,t+iD);for(const d of l){const h=[...((u=d.internals.handleBounds)==null?void 0:u.source)??[],...((f=d.internals.handleBounds)==null?void 0:f.target)??[]];for(const p of h){if(o.nodeId===p.nodeId&&o.type===p.type&&o.id===p.id)continue;const{x:m,y:v}=es(d,p,p.position,!0),E=Math.sqrt(Math.pow(m-e.x,2)+Math.pow(v-e.y,2));E>t||(E1){const d=o.type==="source"?"target":"source";return i.find(h=>h.type===d)??i[0]}return i[0]}function hx(e,t,n,o,i,a=!1){var d,h,p;const l=o.get(e);if(!l)return null;const u=i==="strict"?(d=l.internals.handleBounds)==null?void 0:d[t]:[...((h=l.internals.handleBounds)==null?void 0:h.source)??[],...((p=l.internals.handleBounds)==null?void 0:p.target)??[]],f=(n?u==null?void 0:u.find(m=>m.id===n):u==null?void 0:u[0])??null;return f&&a?{...f,...es(l,f,f.position,!0)}:f}function px(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function aD(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const gx=()=>!0;function lD(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:i,edgeUpdaterType:a,isTarget:l,domNode:u,nodeLookup:f,lib:d,autoPanOnConnect:h,flowId:p,panBy:m,cancelConnection:v,onConnectStart:E,onConnect:y,onConnectEnd:x,isValidConnection:b=gx,onReconnectEnd:C,updateConnection:_,getTransform:N,getFromHandle:P,autoPanSpeed:T,dragThreshold:I=1,handleDomNode:O}){const q=Uw(e.target);let G=0,F;const{x:j,y:W}=an(e),L=px(a,O),H=u==null?void 0:u.getBoundingClientRect();let z=!1;if(!H||!L)return;const Y=hx(i,L,o,f,t);if(!Y)return;let M=an(e,H),$=!1,Q=null,D=!1,U=null;function ie(){if(!h||!H)return;const[ce,de]=Fw(M,H,T);m({x:ce,y:de}),G=requestAnimationFrame(ie)}const V={...Y,nodeId:i,type:L,position:Y.position},Z=f.get(i);let X={inProgress:!0,isValid:null,from:es(Z,V,ve.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:Z,to:M,toHandle:null,toPosition:Ow[V.position],toNode:null,pointer:M};function te(){z=!0,_(X),E==null||E(e,{nodeId:i,handleId:o,handleType:L})}I===0&&te();function se(ce){if(!z){const{x:me,y:Re}=an(ce),Ee=me-j,Je=Re-W;if(!(Ee*Ee+Je*Je>I*I))return;te()}if(!P()||!V){ae(ce);return}const de=N();M=an(ce,H),F=sD(Qi(M,de,!1,[1,1]),n,f,V),$||(ie(),$=!0);const pe=mx(ce,{handle:F,connectionMode:t,fromNodeId:i,fromHandleId:o,fromType:l?"target":"source",isValidConnection:b,doc:q,lib:d,flowId:p,nodeLookup:f});U=pe.handleDomNode,Q=pe.connection,D=aD(!!F,pe.isValid);const be={...X,isValid:D,to:pe.toHandle&&D?qa({x:pe.toHandle.x,y:pe.toHandle.y},de):M,toHandle:pe.toHandle,toPosition:D&&pe.toHandle?pe.toHandle.position:Ow[V.position],toNode:pe.toHandle?f.get(pe.toHandle.nodeId):null,pointer:M};_(be),X=be}function ae(ce){if(!("touches"in ce&&ce.touches.length>0)){if(z){(F||U)&&Q&&D&&(y==null||y(Q));const{inProgress:de,...pe}=X,be={...pe,toPosition:X.toHandle?X.toPosition:null};x==null||x(ce,be),a&&(C==null||C(ce,be))}v(),cancelAnimationFrame(G),$=!1,D=!1,Q=null,U=null,q.removeEventListener("mousemove",se),q.removeEventListener("mouseup",ae),q.removeEventListener("touchmove",se),q.removeEventListener("touchend",ae)}}q.addEventListener("mousemove",se),q.addEventListener("mouseup",ae),q.addEventListener("touchmove",se),q.addEventListener("touchend",ae)}function mx(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:i,fromType:a,doc:l,lib:u,flowId:f,isValidConnection:d=gx,nodeLookup:h}){const p=a==="target",m=t?l.querySelector(`.${u}-flow__handle[data-id="${f}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:v,y:E}=an(e),y=l.elementFromPoint(v,E),x=y!=null&&y.classList.contains(`${u}-flow__handle`)?y:m,b={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){const C=px(void 0,x),_=x.getAttribute("data-nodeid"),N=x.getAttribute("data-handleid"),P=x.classList.contains("connectable"),T=x.classList.contains("connectableend");if(!_||!C)return b;const I={source:p?_:o,sourceHandle:p?N:i,target:p?o:_,targetHandle:p?i:N};b.connection=I;const q=P&&T&&(n===No.Strict?p&&C==="source"||!p&&C==="target":_!==o||N!==i);b.isValid=q&&d(I),b.toHandle=hx(_,C,N,h,n,!0)}return b}const Yc={onPointerDown:lD,isValid:mx};function uD({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const i=At(e);function a({translateExtent:u,width:f,height:d,zoomStep:h=1,pannable:p=!0,zoomable:m=!0,inversePan:v=!1}){const E=_=>{if(_.sourceEvent.type!=="wheel"||!t)return;const N=n(),P=_.sourceEvent.ctrlKey&&Zi()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*h,I=N[2]*Math.pow(2,T*P);t.scaleTo(I)};let y=[0,0];const x=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(y=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},b=_=>{const N=n();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!t)return;const P=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[P[0]-y[0],P[1]-y[1]];y=P;const I=o()*Math.max(N[2],Math.log(N[2]))*(v?-1:1),O={x:N[0]-T[0]*I,y:N[1]-T[1]*I},q=[[0,0],[f,d]];t.setViewportConstrained({x:O.x,y:O.y,zoom:N[2]},q,u)},C=Tw().on("start",x).on("zoom",p?b:null).on("zoom.wheel",m?E:null);i.call(C,{})}function l(){i.on("zoom",null)}return{update:a,destroy:l,pointer:nn}}const Fa=e=>({x:e.x,y:e.y,zoom:e.k}),Kc=({x:e,y:t,zoom:n})=>Ma.translate(e,t).scale(n),Io=(e,t)=>e.target.closest(`.${t}`),vx=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),cD=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Xc=(e,t=0,n=cD,o=()=>{})=>{const i=typeof t=="number"&&t>0;return i||o(),i?e.transition().duration(t).ease(n).on("end",o):e},yx=e=>{const t=e.ctrlKey&&Zi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function fD({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:l,onPanZoomStart:u,onPanZoom:f,onPanZoomEnd:d}){return h=>{if(Io(h,t))return h.ctrlKey&&h.preventDefault(),!1;h.preventDefault(),h.stopImmediatePropagation();const p=n.property("__zoom").k||1;if(h.ctrlKey&&l){const x=nn(h),b=yx(h),C=p*Math.pow(2,b);o.scaleTo(n,C,x,h);return}const m=h.deltaMode===1?20:1;let v=i===Vr.Vertical?0:h.deltaX*m,E=i===Vr.Horizontal?0:h.deltaY*m;!Zi()&&h.shiftKey&&i!==Vr.Vertical&&(v=h.deltaY*m,E=0),o.translateBy(n,-(v/p)*a,-(E/p)*a,{internal:!0});const y=Fa(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(f==null||f(h,y),e.panScrollTimeout=setTimeout(()=>{d==null||d(h,y),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,u==null||u(h,y))}}function dD({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,i){const a=o.type==="wheel",l=!t&&a&&!o.ctrlKey,u=Io(o,e);if(o.ctrlKey&&a&&u&&o.preventDefault(),l||u)return null;o.preventDefault(),n.call(this,o,i)}}function hD({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{var a,l,u;if((a=o.sourceEvent)!=null&&a.internal)return;const i=Fa(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=i,((u=o.sourceEvent)==null?void 0:u.type)==="mousedown"&&t(!0),n&&(n==null||n(o.sourceEvent,i))}}function pD({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:i}){return a=>{var l,u;e.usedRightMouseButton=!!(n&&vx(t,e.mouseButton??0)),(l=a.sourceEvent)!=null&&l.sync||o([a.transform.x,a.transform.y,a.transform.k]),i&&!((u=a.sourceEvent)!=null&&u.internal)&&(i==null||i(a.sourceEvent,Fa(a.transform)))}}function gD({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:i,onPaneContextMenu:a}){return l=>{var u;if(!((u=l.sourceEvent)!=null&&u.internal)&&(e.isZoomingOrPanning=!1,a&&vx(t,e.mouseButton??0)&&!e.usedRightMouseButton&&l.sourceEvent&&a(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),i)){const f=Fa(l.transform);e.prevViewport=f,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i==null||i(l.sourceEvent,f)},n?150:0)}}}function mD({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:o,panOnScroll:i,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:u,noPanClassName:f,lib:d,connectionInProgress:h}){return p=>{var x;const m=e||t,v=n&&p.ctrlKey,E=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Io(p,`${d}-flow__node`)||Io(p,`${d}-flow__edge`)))return!0;if(!o&&!m&&!i&&!a&&!n||l||h&&!E||Io(p,u)&&E||Io(p,f)&&(!E||i&&E&&!e)||!n&&p.ctrlKey&&E)return!1;if(!n&&p.type==="touchstart"&&((x=p.touches)==null?void 0:x.length)>1)return p.preventDefault(),!1;if(!m&&!i&&!v&&E||!o&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(o)&&!o.includes(p.button)&&p.type==="mousedown")return!1;const y=Array.isArray(o)&&o.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||E)&&y}}function vD({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:i,onPanZoom:a,onPanZoomStart:l,onPanZoomEnd:u,onDraggingChange:f}){const d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=e.getBoundingClientRect(),p=Tw().scaleExtent([t,n]).translateExtent(o),m=At(e).call(p);C({x:i.x,y:i.y,zoom:Ro(i.zoom,t,n)},[[0,0],[h.width,h.height]],o);const v=m.on("wheel.zoom"),E=m.on("dblclick.zoom");p.wheelDelta(yx);function y(F,j){return m?new Promise(W=>{p==null||p.interpolate((j==null?void 0:j.interpolate)==="linear"?zi:Sa).transform(Xc(m,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>W(!0)),F)}):Promise.resolve(!1)}function x({noWheelClassName:F,noPanClassName:j,onPaneContextMenu:W,userSelectionActive:L,panOnScroll:H,panOnDrag:z,panOnScrollMode:Y,panOnScrollSpeed:M,preventScrolling:$,zoomOnPinch:Q,zoomOnScroll:D,zoomOnDoubleClick:U,zoomActivationKeyPressed:ie,lib:V,onTransformChange:Z,connectionInProgress:ee,paneClickDistance:X,selectionOnDrag:te}){L&&!d.isZoomingOrPanning&&b();const se=H&&!ie&&!L;p.clickDistance(te?1/0:!sn(X)||X<0?0:X);const ae=se?fD({zoomPanValues:d,noWheelClassName:F,d3Selection:m,d3Zoom:p,panOnScrollMode:Y,panOnScrollSpeed:M,zoomOnPinch:Q,onPanZoomStart:l,onPanZoom:a,onPanZoomEnd:u}):dD({noWheelClassName:F,preventScrolling:$,d3ZoomHandler:v});if(m.on("wheel.zoom",ae,{passive:!1}),!L){const de=hD({zoomPanValues:d,onDraggingChange:f,onPanZoomStart:l});p.on("start",de);const pe=pD({zoomPanValues:d,panOnDrag:z,onPaneContextMenu:!!W,onPanZoom:a,onTransformChange:Z});p.on("zoom",pe);const be=gD({zoomPanValues:d,panOnDrag:z,panOnScroll:H,onPaneContextMenu:W,onPanZoomEnd:u,onDraggingChange:f});p.on("end",be)}const ce=mD({zoomActivationKeyPressed:ie,panOnDrag:z,zoomOnScroll:D,panOnScroll:H,zoomOnDoubleClick:U,zoomOnPinch:Q,userSelectionActive:L,noPanClassName:j,noWheelClassName:F,lib:V,connectionInProgress:ee});p.filter(ce),U?m.on("dblclick.zoom",E):m.on("dblclick.zoom",null)}function b(){p.on("zoom",null)}async function C(F,j,W){const L=Kc(F),H=p==null?void 0:p.constrain()(L,j,W);return H&&await y(H),new Promise(z=>z(H))}async function _(F,j){const W=Kc(F);return await y(W,j),new Promise(L=>L(W))}function N(F){if(m){const j=Kc(F),W=m.property("__zoom");(W.k!==F.zoom||W.x!==F.x||W.y!==F.y)&&(p==null||p.transform(m,j,null,{sync:!0}))}}function P(){const F=m?Rw(m.node()):{x:0,y:0,k:1};return{x:F.x,y:F.y,zoom:F.k}}function T(F,j){return m?new Promise(W=>{p==null||p.interpolate((j==null?void 0:j.interpolate)==="linear"?zi:Sa).scaleTo(Xc(m,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>W(!0)),F)}):Promise.resolve(!1)}function I(F,j){return m?new Promise(W=>{p==null||p.interpolate((j==null?void 0:j.interpolate)==="linear"?zi:Sa).scaleBy(Xc(m,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>W(!0)),F)}):Promise.resolve(!1)}function O(F){p==null||p.scaleExtent(F)}function q(F){p==null||p.translateExtent(F)}function G(F){const j=!sn(F)||F<0?0:F;p==null||p.clickDistance(j)}return{update:x,destroy:b,setViewport:_,setViewportConstrained:C,getViewport:P,scaleTo:T,scaleBy:I,setScaleExtent:O,setTranslateExtent:q,syncViewport:N,setClickDistance:G}}var Mo;(function(e){e.Line="line",e.Handle="handle"})(Mo||(Mo={}));function yD({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:i,affectsY:a}){const l=e-t,u=n-o,f=[l>0?1:l<0?-1:0,u>0?1:u<0?-1:0];return l&&i&&(f[0]=f[0]*-1),u&&a&&(f[1]=f[1]*-1),f}function wx(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),o=e.includes("left"),i=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:o,affectsY:i}}function sr(e,t){return Math.max(0,t-e)}function ar(e,t){return Math.max(0,e-t)}function $a(e,t,n){return Math.max(0,t-e,e-n)}function xx(e,t){return e?!t:t}function wD(e,t,n,o,i,a,l,u){let{affectsX:f,affectsY:d}=t;const{isHorizontal:h,isVertical:p}=t,m=h&&p,{xSnapped:v,ySnapped:E}=n,{minWidth:y,maxWidth:x,minHeight:b,maxHeight:C}=o,{x:_,y:N,width:P,height:T,aspectRatio:I}=e;let O=Math.floor(h?v-e.pointerX:0),q=Math.floor(p?E-e.pointerY:0);const G=P+(f?-O:O),F=T+(d?-q:q),j=-a[0]*P,W=-a[1]*T;let L=$a(G,y,x),H=$a(F,b,C);if(l){let M=0,$=0;f&&O<0?M=sr(_+O+j,l[0][0]):!f&&O>0&&(M=ar(_+G+j,l[1][0])),d&&q<0?$=sr(N+q+W,l[0][1]):!d&&q>0&&($=ar(N+F+W,l[1][1])),L=Math.max(L,M),H=Math.max(H,$)}if(u){let M=0,$=0;f&&O>0?M=ar(_+O,u[0][0]):!f&&O<0&&(M=sr(_+G,u[1][0])),d&&q>0?$=ar(N+q,u[0][1]):!d&&q<0&&($=sr(N+F,u[1][1])),L=Math.max(L,M),H=Math.max(H,$)}if(i){if(h){const M=$a(G/I,b,C)*I;if(L=Math.max(L,M),l){let $=0;!f&&!d||f&&!d&&m?$=ar(N+W+G/I,l[1][1])*I:$=sr(N+W+(f?O:-O)/I,l[0][1])*I,L=Math.max(L,$)}if(u){let $=0;!f&&!d||f&&!d&&m?$=sr(N+G/I,u[1][1])*I:$=ar(N+(f?O:-O)/I,u[0][1])*I,L=Math.max(L,$)}}if(p){const M=$a(F*I,y,x)/I;if(H=Math.max(H,M),l){let $=0;!f&&!d||d&&!f&&m?$=ar(_+F*I+j,l[1][0])/I:$=sr(_+(d?q:-q)*I+j,l[0][0])/I,H=Math.max(H,$)}if(u){let $=0;!f&&!d||d&&!f&&m?$=sr(_+F*I,u[1][0])/I:$=ar(_+(d?q:-q)*I,u[0][0])/I,H=Math.max(H,$)}}}q=q+(q<0?H:-H),O=O+(O<0?L:-L),i&&(m?G>F*I?q=(xx(f,d)?-O:O)/I:O=(xx(f,d)?-q:q)*I:h?(q=O/I,d=f):(O=q*I,f=d));const z=f?_+O:_,Y=d?N+q:N;return{width:P+(f?-O:O),height:T+(d?-q:q),x:a[0]*O*(f?-1:1)+z,y:a[1]*q*(d?-1:1)+Y}}const _x={width:0,height:0,x:0,y:0},xD={..._x,pointerX:0,pointerY:0,aspectRatio:1};function _D(e){return[[0,0],[e.measured.width,e.measured.height]]}function bD(e,t,n){const o=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,l=e.measured.height??0,u=n[0]*a,f=n[1]*l;return[[o-u,i-f],[o+a-u,i+l-f]]}function SD({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:i}){const a=At(e);let l={controlDirection:wx("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function u({controlPosition:d,boundaries:h,keepAspectRatio:p,resizeDirection:m,onResizeStart:v,onResize:E,onResizeEnd:y,shouldResize:x}){let b={..._x},C={...xD};l={boundaries:h,resizeDirection:m,keepAspectRatio:p,controlDirection:wx(d)};let _,N=null,P=[],T,I,O,q=!1;const G=ew().on("start",F=>{const{nodeLookup:j,transform:W,snapGrid:L,snapToGrid:H,nodeOrigin:z,paneDomNode:Y}=n();if(_=j.get(t),!_)return;N=(Y==null?void 0:Y.getBoundingClientRect())??null;const{xSnapped:M,ySnapped:$}=Ji(F.sourceEvent,{transform:W,snapGrid:L,snapToGrid:H,containerBounds:N});b={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},C={...b,pointerX:M,pointerY:$,aspectRatio:b.width/b.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=j.get(_.parentId),I=T&&_.extent==="parent"?_D(T):void 0),P=[],O=void 0;for(const[Q,D]of j)if(D.parentId===t&&(P.push({id:Q,position:{...D.position},extent:D.extent}),D.extent==="parent"||D.expandParent)){const U=bD(D,_,D.origin??z);O?O=[[Math.min(U[0][0],O[0][0]),Math.min(U[0][1],O[0][1])],[Math.max(U[1][0],O[1][0]),Math.max(U[1][1],O[1][1])]]:O=U}v==null||v(F,{...b})}).on("drag",F=>{const{transform:j,snapGrid:W,snapToGrid:L,nodeOrigin:H}=n(),z=Ji(F.sourceEvent,{transform:j,snapGrid:W,snapToGrid:L,containerBounds:N}),Y=[];if(!_)return;const{x:M,y:$,width:Q,height:D}=b,U={},ie=_.origin??H,{width:V,height:Z,x:ee,y:X}=wD(C,l.controlDirection,z,l.boundaries,l.keepAspectRatio,ie,I,O),te=V!==Q,se=Z!==D,ae=ee!==M&&te,ce=X!==$&&se;if(!ae&&!ce&&!te&&!se)return;if((ae||ce||ie[0]===1||ie[1]===1)&&(U.x=ae?ee:b.x,U.y=ce?X:b.y,b.x=U.x,b.y=U.y,P.length>0)){const me=ee-M,Re=X-$;for(const Ee of P)Ee.position={x:Ee.position.x-me+ie[0]*(V-Q),y:Ee.position.y-Re+ie[1]*(Z-D)},Y.push(Ee)}if((te||se)&&(U.width=te&&(!l.resizeDirection||l.resizeDirection==="horizontal")?V:b.width,U.height=se&&(!l.resizeDirection||l.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),T&&_.expandParent){const me=ie[0]*(U.width??0);U.x&&U.x{q&&(y==null||y(F,{...b}),i==null||i({...b}),q=!1)});a.call(G)}function f(){a.on(".drag",null)}return{update:u,destroy:f}}var Qc={exports:{}},Zc={},Jc={exports:{}},ef={};/** * @license React * use-sync-external-store-shim.production.js * @@ -45,7 +45,7 @@ Error generating stack: `+S.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Xw;function wL(){if(Xw)return qc;Xw=1;var e=Ci();function t(p,m){return p===m&&(p!==0||1/p===1/m)||p!==p&&m!==m}var r=typeof Object.is=="function"?Object.is:t,o=e.useState,s=e.useEffect,a=e.useLayoutEffect,l=e.useDebugValue;function u(p,m){var w=m(),E=o({inst:{value:w,getSnapshot:m}}),y=E[0].inst,x=E[1];return a(function(){y.value=w,y.getSnapshot=m,f(y)&&x({inst:y})},[p,w,m]),s(function(){return f(y)&&x({inst:y}),p(function(){f(y)&&x({inst:y})})},[p]),l(w),w}function f(p){var m=p.getSnapshot;p=p.value;try{var w=m();return!r(p,w)}catch{return!0}}function d(p,m){return m()}var h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:u;return qc.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:h,qc}var Qw;function xL(){return Qw||(Qw=1,jc.exports=wL()),jc.exports}/** + */var bx;function ED(){if(bx)return ef;bx=1;var e=Mi();function t(p,m){return p===m&&(p!==0||1/p===1/m)||p!==p&&m!==m}var n=typeof Object.is=="function"?Object.is:t,o=e.useState,i=e.useEffect,a=e.useLayoutEffect,l=e.useDebugValue;function u(p,m){var v=m(),E=o({inst:{value:v,getSnapshot:m}}),y=E[0].inst,x=E[1];return a(function(){y.value=v,y.getSnapshot=m,f(y)&&x({inst:y})},[p,v,m]),i(function(){return f(y)&&x({inst:y}),p(function(){f(y)&&x({inst:y})})},[p]),l(v),v}function f(p){var m=p.getSnapshot;p=p.value;try{var v=m();return!n(p,v)}catch{return!0}}function d(p,m){return m()}var h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:u;return ef.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:h,ef}var Sx;function CD(){return Sx||(Sx=1,Jc.exports=ED()),Jc.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -53,110 +53,129 @@ Error generating stack: `+S.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Zw;function _L(){if(Zw)return Dc;Zw=1;var e=Ci(),t=xL();function r(d,h){return d===h&&(d!==0||1/d===1/h)||d!==d&&h!==h}var o=typeof Object.is=="function"?Object.is:r,s=t.useSyncExternalStore,a=e.useRef,l=e.useEffect,u=e.useMemo,f=e.useDebugValue;return Dc.useSyncExternalStoreWithSelector=function(d,h,p,m,w){var E=a(null);if(E.current===null){var y={hasValue:!1,value:null};E.current=y}else y=E.current;E=u(function(){function b(T){if(!C){if(C=!0,_=T,T=m(T),w!==void 0&&y.hasValue){var A=y.value;if(w(A,T))return k=A}return k=T}if(A=k,o(_,T))return A;var O=m(T);return w!==void 0&&w(A,O)?(_=T,A):(_=T,k=O)}var C=!1,_,k,R=p===void 0?null:p;return[function(){return b(h())},R===null?void 0:function(){return b(R())}]},[h,p,m,w]);var x=s(d,E[0],E[1]);return l(function(){y.hasValue=!0,y.value=x},[x]),f(x),x},Dc}var Jw;function bL(){return Jw||(Jw=1,Lc.exports=_L()),Lc.exports}var SL=bL();const EL=tr(SL),CL={},ex=e=>{let t;const r=new Set,o=(h,p)=>{const m=typeof h=="function"?h(t):h;if(!Object.is(m,t)){const w=t;t=p??(typeof m!="object"||m===null)?m:Object.assign({},t,m),r.forEach(E=>E(t,w))}},s=()=>t,f={setState:o,getState:s,getInitialState:()=>d,subscribe:h=>(r.add(h),()=>r.delete(h)),destroy:()=>{(CL?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},d=t=e(o,s,f);return f},kL=e=>e?ex(e):ex,{useDebugValue:NL}=$t,{useSyncExternalStoreWithSelector:RL}=EL,PL=e=>e;function tx(e,t=PL,r){const o=RL(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return NL(o),o}const nx=(e,t)=>{const r=kL(e),o=(s,a=t)=>tx(r,s,a);return Object.assign(o,r),o},TL=(e,t)=>e?nx(e,t):nx;function Ve(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,s]of e)if(!Object.is(s,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const o of r)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}var Gi=c0();const AL=tr(Gi),Ia=N.createContext(null),IL=Ia.Provider,rx=En.error001();function Ie(e,t){const r=N.useContext(Ia);if(r===null)throw new Error(rx);return tx(r,e,t)}function ze(){const e=N.useContext(Ia);if(e===null)throw new Error(rx);return N.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const ox={display:"none"},ML={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ix="react-flow__node-desc",sx="react-flow__edge-desc",OL="react-flow__aria-live",LL=e=>e.ariaLiveMessage,DL=e=>e.ariaLabelConfig;function jL({rfId:e}){const t=Ie(LL);return I.jsx("div",{id:`${OL}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ML,children:t})}function qL({rfId:e,disableKeyboardA11y:t}){const r=Ie(DL);return I.jsxs(I.Fragment,{children:[I.jsx("div",{id:`${ix}-${e}`,style:ox,children:t?r["node.a11yDescription.default"]:r["node.a11yDescription.keyboardDisabled"]}),I.jsx("div",{id:`${sx}-${e}`,style:ox,children:r["edge.a11yDescription.default"]}),!t&&I.jsx(jL,{rfId:e})]})}const Yi=N.forwardRef(({position:e="top-left",children:t,className:r,style:o,...s},a)=>{const l=`${e}`.split("-");return I.jsx("div",{className:Je(["react-flow__panel",r,...l]),style:o,ref:a,...s,children:t})});Yi.displayName="Panel";function zL({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:I.jsx(Yi,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:I.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const FL=e=>{const t=[],r=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&r.push(o);return{selectedNodes:t,selectedEdges:r}},Ma=e=>e.id;function $L(e,t){return Ve(e.selectedNodes.map(Ma),t.selectedNodes.map(Ma))&&Ve(e.selectedEdges.map(Ma),t.selectedEdges.map(Ma))}function BL({onSelectionChange:e}){const t=ze(),{selectedNodes:r,selectedEdges:o}=Ie(FL,$L);return N.useEffect(()=>{const s={nodes:r,edges:o};e==null||e(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[r,o,e]),null}const VL=e=>!!e.onSelectionChangeHandlers;function HL({onSelectionChange:e}){const t=Ie(VL);return e||t?I.jsx(BL,{onSelectionChange:e}):null}const ax=[0,0],WL={x:0,y:0,zoom:1},lx=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig"],"rfId"],UL=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),ux={translateExtent:ji,nodeOrigin:ax,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function GL(e){const{setNodes:t,setEdges:r,setMinZoom:o,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:l,reset:u,setDefaultNodesAndEdges:f}=Ie(UL,Ve),d=ze();N.useEffect(()=>(f(e.defaultNodes,e.defaultEdges),()=>{h.current=ux,u()}),[]);const h=N.useRef(ux);return N.useEffect(()=>{for(const p of lx){const m=e[p],w=h.current[p];m!==w&&(typeof e[p]>"u"||(p==="nodes"?t(m):p==="edges"?r(m):p==="minZoom"?o(m):p==="maxZoom"?s(m):p==="translateExtent"?a(m):p==="nodeExtent"?l(m):p==="ariaLabelConfig"?d.setState({ariaLabelConfig:TO(m)}):p==="fitView"?d.setState({fitViewQueued:m}):p==="fitViewOptions"?d.setState({fitViewOptions:m}):d.setState({[p]:m})))}h.current=e},lx.map(p=>e[p])),null}function cx(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function YL(e){var o;const[t,r]=N.useState(e==="system"?null:e);return N.useEffect(()=>{if(e!=="system"){r(e);return}const s=cx(),a=()=>r(s!=null&&s.matches?"dark":"light");return a(),s==null||s.addEventListener("change",a),()=>{s==null||s.removeEventListener("change",a)}},[e]),t!==null?t:(o=cx())!=null&&o.matches?"dark":"light"}const fx=typeof document<"u"?document:null;function Ki(e=null,t={target:fx,actInsideInputWithModifier:!0}){const[r,o]=N.useState(!1),s=N.useRef(!1),a=N.useRef(new Set([])),[l,u]=N.useMemo(()=>{if(e!==null){const d=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` + */var Ex;function kD(){if(Ex)return Zc;Ex=1;var e=Mi(),t=CD();function n(d,h){return d===h&&(d!==0||1/d===1/h)||d!==d&&h!==h}var o=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,a=e.useRef,l=e.useEffect,u=e.useMemo,f=e.useDebugValue;return Zc.useSyncExternalStoreWithSelector=function(d,h,p,m,v){var E=a(null);if(E.current===null){var y={hasValue:!1,value:null};E.current=y}else y=E.current;E=u(function(){function b(T){if(!C){if(C=!0,_=T,T=m(T),v!==void 0&&y.hasValue){var I=y.value;if(v(I,T))return N=I}return N=T}if(I=N,o(_,T))return I;var O=m(T);return v!==void 0&&v(I,O)?(_=T,I):(_=T,N=O)}var C=!1,_,N,P=p===void 0?null:p;return[function(){return b(h())},P===null?void 0:function(){return b(P())}]},[h,p,m,v]);var x=i(d,E[0],E[1]);return l(function(){y.hasValue=!0,y.value=x},[x]),f(x),x},Zc}var Cx;function ND(){return Cx||(Cx=1,Qc.exports=kD()),Qc.exports}var RD=ND();const PD=ca(RD),TD={},kx=e=>{let t;const n=new Set,o=(h,p)=>{const m=typeof h=="function"?h(t):h;if(!Object.is(m,t)){const v=t;t=p??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(E=>E(t,v))}},i=()=>t,f={setState:o,getState:i,getInitialState:()=>d,subscribe:h=>(n.add(h),()=>n.delete(h)),destroy:()=>{(TD?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},d=t=e(o,i,f);return f},AD=e=>e?kx(e):kx,{useDebugValue:ID}=$t,{useSyncExternalStoreWithSelector:MD}=PD,OD=e=>e;function Nx(e,t=OD,n){const o=MD(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return ID(o),o}const Rx=(e,t)=>{const n=AD(e),o=(i,a=t)=>Nx(n,i,a);return Object.assign(o,n),o},LD=(e,t)=>e?Rx(e,t):Rx;function Ue(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,i]of e)if(!Object.is(i,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}var ts=D0();const DD=ca(ts),Ba=k.createContext(null),jD=Ba.Provider,Px=Cn.error001();function Ie(e,t){const n=k.useContext(Ba);if(n===null)throw new Error(Px);return Nx(n,e,t)}function Ve(){const e=k.useContext(Ba);if(e===null)throw new Error(Px);return k.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Tx={display:"none"},qD={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ax="react-flow__node-desc",Ix="react-flow__edge-desc",zD="react-flow__aria-live",FD=e=>e.ariaLiveMessage,$D=e=>e.ariaLabelConfig;function BD({rfId:e}){const t=Ie(FD);return R.jsx("div",{id:`${zD}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:qD,children:t})}function VD({rfId:e,disableKeyboardA11y:t}){const n=Ie($D);return R.jsxs(R.Fragment,{children:[R.jsx("div",{id:`${Ax}-${e}`,style:Tx,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),R.jsx("div",{id:`${Ix}-${e}`,style:Tx,children:n["edge.a11yDescription.default"]}),!t&&R.jsx(BD,{rfId:e})]})}const ns=k.forwardRef(({position:e="top-left",children:t,className:n,style:o,...i},a)=>{const l=`${e}`.split("-");return R.jsx("div",{className:tt(["react-flow__panel",n,...l]),style:o,ref:a,...i,children:t})});ns.displayName="Panel";function HD({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:R.jsx(ns,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:R.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const WD=e=>{const t=[],n=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&n.push(o);return{selectedNodes:t,selectedEdges:n}},Va=e=>e.id;function UD(e,t){return Ue(e.selectedNodes.map(Va),t.selectedNodes.map(Va))&&Ue(e.selectedEdges.map(Va),t.selectedEdges.map(Va))}function GD({onSelectionChange:e}){const t=Ve(),{selectedNodes:n,selectedEdges:o}=Ie(WD,UD);return k.useEffect(()=>{const i={nodes:n,edges:o};e==null||e(i),t.getState().onSelectionChangeHandlers.forEach(a=>a(i))},[n,o,e]),null}const YD=e=>!!e.onSelectionChangeHandlers;function KD({onSelectionChange:e}){const t=Ie(YD);return e||t?R.jsx(GD,{onSelectionChange:e}):null}const Mx=[0,0],XD={x:0,y:0,zoom:1},Ox=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig"],"rfId"],QD=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Lx={translateExtent:Wi,nodeOrigin:Mx,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function ZD(e){const{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:l,reset:u,setDefaultNodesAndEdges:f}=Ie(QD,Ue),d=Ve();k.useEffect(()=>(f(e.defaultNodes,e.defaultEdges),()=>{h.current=Lx,u()}),[]);const h=k.useRef(Lx);return k.useEffect(()=>{for(const p of Ox){const m=e[p],v=h.current[p];m!==v&&(typeof e[p]>"u"||(p==="nodes"?t(m):p==="edges"?n(m):p==="minZoom"?o(m):p==="maxZoom"?i(m):p==="translateExtent"?a(m):p==="nodeExtent"?l(m):p==="ariaLabelConfig"?d.setState({ariaLabelConfig:DL(m)}):p==="fitView"?d.setState({fitViewQueued:m}):p==="fitViewOptions"?d.setState({fitViewOptions:m}):d.setState({[p]:m})))}h.current=e},Ox.map(p=>e[p])),null}function Dx(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function JD(e){var o;const[t,n]=k.useState(e==="system"?null:e);return k.useEffect(()=>{if(e!=="system"){n(e);return}const i=Dx(),a=()=>n(i!=null&&i.matches?"dark":"light");return a(),i==null||i.addEventListener("change",a),()=>{i==null||i.removeEventListener("change",a)}},[e]),t!==null?t:(o=Dx())!=null&&o.matches?"dark":"light"}const jx=typeof document<"u"?document:null;function rs(e=null,t={target:jx,actInsideInputWithModifier:!0}){const[n,o]=k.useState(!1),i=k.useRef(!1),a=k.useRef(new Set([])),[l,u]=k.useMemo(()=>{if(e!==null){const d=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` `).replace(` `,` +`).split(` -`)),h=d.reduce((p,m)=>p.concat(...m),[]);return[d,h]}return[[],[]]},[e]);return N.useEffect(()=>{const f=(t==null?void 0:t.target)??fx,d=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const h=w=>{var x,b;if(s.current=w.ctrlKey||w.metaKey||w.shiftKey||w.altKey,(!s.current||s.current&&!d)&&bw(w))return!1;const y=hx(w.code,u);if(a.current.add(w[y]),dx(l,a.current,!1)){const C=((b=(x=w.composedPath)==null?void 0:x.call(w))==null?void 0:b[0])||w.target,_=(C==null?void 0:C.nodeName)==="BUTTON"||(C==null?void 0:C.nodeName)==="A";t.preventDefault!==!1&&(s.current||!_)&&w.preventDefault(),o(!0)}},p=w=>{const E=hx(w.code,u);dx(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(w[E]),w.key==="Meta"&&a.current.clear(),s.current=!1},m=()=>{a.current.clear(),o(!1)};return f==null||f.addEventListener("keydown",h),f==null||f.addEventListener("keyup",p),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{f==null||f.removeEventListener("keydown",h),f==null||f.removeEventListener("keyup",p),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[e,o]),r}function dx(e,t,r){return e.filter(o=>r||o.length===t.size).some(o=>o.every(s=>t.has(s)))}function hx(e,t){return t.includes(e)?"code":"key"}const KL=()=>{const e=ze();return N.useMemo(()=>({zoomIn:t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1/1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,r)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:r==null?void 0:r.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,r)=>{const{transform:[o,s,a],panZoom:l}=e.getState();return l?(await l.setViewport({x:t.x??o,y:t.y??s,zoom:t.zoom??a},r),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,r,o]=e.getState().transform;return{x:t,y:r,zoom:o}},setCenter:async(t,r,o)=>e.getState().setCenter(t,r,o),fitBounds:async(t,r)=>{const{width:o,height:s,minZoom:a,maxZoom:l,panZoom:u}=e.getState(),f=bc(t,o,s,a,l,(r==null?void 0:r.padding)??.1);return u?(await u.setViewport(f,{duration:r==null?void 0:r.duration,ease:r==null?void 0:r.ease,interpolate:r==null?void 0:r.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,r={})=>{const{transform:o,snapGrid:s,snapToGrid:a,domNode:l}=e.getState();if(!l)return t;const{x:u,y:f}=l.getBoundingClientRect(),d={x:t.x-u,y:t.y-f},h=r.snapGrid??s,p=r.snapToGrid??a;return Vi(d,o,p,h)},flowToScreenPosition:t=>{const{transform:r,domNode:o}=e.getState();if(!o)return t;const{x:s,y:a}=o.getBoundingClientRect(),l=Ra(t,r);return{x:l.x+s,y:l.y+a}}}),[])};function px(e,t){const r=[],o=new Map,s=[];for(const a of e)if(a.type==="add"){s.push(a);continue}else if(a.type==="remove"||a.type==="replace")o.set(a.id,[a]);else{const l=o.get(a.id);l?l.push(a):o.set(a.id,[a])}for(const a of t){const l=o.get(a.id);if(!l){r.push(a);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){r.push({...l[0].item});continue}const u={...a};for(const f of l)XL(f,u);r.push(u)}return s.length&&s.forEach(a=>{a.index!==void 0?r.splice(a.index,0,{...a.item}):r.push({...a.item})}),r}function XL(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured??(t.measured={}),t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function gx(e,t){return px(e,t)}function mx(e,t){return px(e,t)}function Vr(e,t){return{id:e,type:"select",selected:t}}function To(e,t=new Set,r=!1){const o=[];for(const[s,a]of e){const l=t.has(s);!(a.selected===void 0&&!l)&&a.selected!==l&&(r&&(a.selected=l),o.push(Vr(a.id,l)))}return o}function vx({items:e=[],lookup:t}){var s;const r=[],o=new Map(e.map(a=>[a.id,a]));for(const[a,l]of e.entries()){const u=t.get(l.id),f=((s=u==null?void 0:u.internals)==null?void 0:s.userNode)??u;f!==void 0&&f!==l&&r.push({id:l.id,item:l,type:"replace"}),f===void 0&&r.push({item:l,type:"add",index:a})}for(const[a]of t)o.get(a)===void 0&&r.push({id:a,type:"remove"});return r}function yx(e){return{id:e.id,type:"remove"}}const wx=e=>xO(e),QL=e=>fw(e);function xx(e){return N.forwardRef(e)}const ZL=typeof window<"u"?N.useLayoutEffect:N.useEffect;function _x(e){const[t,r]=N.useState(BigInt(0)),[o]=N.useState(()=>JL(()=>r(s=>s+BigInt(1))));return ZL(()=>{const s=o.get();s.length&&(e(s),o.reset())},[t]),o}function JL(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:r=>{t.push(r),e()}}}const bx=N.createContext(null);function eD({children:e}){const t=ze(),r=N.useCallback(u=>{const{nodes:f=[],setNodes:d,hasDefaultNodes:h,onNodesChange:p,nodeLookup:m,fitViewQueued:w}=t.getState();let E=f;for(const x of u)E=typeof x=="function"?x(E):x;const y=vx({items:E,lookup:m});h&&d(E),y.length>0?p==null||p(y):w&&window.requestAnimationFrame(()=>{const{fitViewQueued:x,nodes:b,setNodes:C}=t.getState();x&&C(b)})},[]),o=_x(r),s=N.useCallback(u=>{const{edges:f=[],setEdges:d,hasDefaultEdges:h,onEdgesChange:p,edgeLookup:m}=t.getState();let w=f;for(const E of u)w=typeof E=="function"?E(w):E;h?d(w):p&&p(vx({items:w,lookup:m}))},[]),a=_x(s),l=N.useMemo(()=>({nodeQueue:o,edgeQueue:a}),[]);return I.jsx(bx.Provider,{value:l,children:e})}function tD(){const e=N.useContext(bx);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const nD=e=>!!e.panZoom;function zc(){const e=KL(),t=ze(),r=tD(),o=Ie(nD),s=N.useMemo(()=>{const a=p=>t.getState().nodeLookup.get(p),l=p=>{r.nodeQueue.push(p)},u=p=>{r.edgeQueue.push(p)},f=p=>{var b,C;const{nodeLookup:m,nodeOrigin:w}=t.getState(),E=wx(p)?p:m.get(p.id),y=E.parentId?ww(E.position,E.measured,E.parentId,m,w):E.position,x={...E,position:y,width:((b=E.measured)==null?void 0:b.width)??E.width,height:((C=E.measured)==null?void 0:C.height)??E.height};return Co(x)},d=(p,m,w={replace:!1})=>{l(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return w.replace&&wx(x)?x:{...y,...x}}return y}))},h=(p,m,w={replace:!1})=>{u(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return w.replace&&QL(x)?x:{...y,...x}}return y}))};return{getNodes:()=>t.getState().nodes.map(p=>({...p})),getNode:p=>{var m;return(m=a(p))==null?void 0:m.internals.userNode},getInternalNode:a,getEdges:()=>{const{edges:p=[]}=t.getState();return p.map(m=>({...m}))},getEdge:p=>t.getState().edgeLookup.get(p),setNodes:l,setEdges:u,addNodes:p=>{const m=Array.isArray(p)?p:[p];r.nodeQueue.push(w=>[...w,...m])},addEdges:p=>{const m=Array.isArray(p)?p:[p];r.edgeQueue.push(w=>[...w,...m])},toObject:()=>{const{nodes:p=[],edges:m=[],transform:w}=t.getState(),[E,y,x]=w;return{nodes:p.map(b=>({...b})),edges:m.map(b=>({...b})),viewport:{x:E,y,zoom:x}}},deleteElements:async({nodes:p=[],edges:m=[]})=>{const{nodes:w,edges:E,onNodesDelete:y,onEdgesDelete:x,triggerNodeChanges:b,triggerEdgeChanges:C,onDelete:_,onBeforeDelete:k}=t.getState(),{nodes:R,edges:T}=await CO({nodesToRemove:p,edgesToRemove:m,nodes:w,edges:E,onBeforeDelete:k}),A=T.length>0,O=R.length>0;if(A){const j=T.map(yx);x==null||x(T),C(j)}if(O){const j=R.map(yx);y==null||y(R),b(j)}return(O||A)&&(_==null||_({nodes:R,edges:T})),{deletedNodes:R,deletedEdges:T}},getIntersectingNodes:(p,m=!0,w)=>{const E=vw(p),y=E?p:f(p),x=w!==void 0;return y?(w||t.getState().nodes).filter(b=>{const C=t.getState().nodeLookup.get(b.id);if(C&&!E&&(b.id===p.id||!C.internals.positionAbsolute))return!1;const _=Co(x?b:C),k=$i(_,y);return m&&k>0||k>=_.width*_.height||k>=y.width*y.height}):[]},isNodeIntersecting:(p,m,w=!0)=>{const y=vw(p)?p:f(p);if(!y)return!1;const x=$i(y,m);return w&&x>0||x>=m.width*m.height||x>=y.width*y.height},updateNode:d,updateNodeData:(p,m,w={replace:!1})=>{d(p,E=>{const y=typeof m=="function"?m(E):m;return w.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},w)},updateEdge:h,updateEdgeData:(p,m,w={replace:!1})=>{h(p,E=>{const y=typeof m=="function"?m(E):m;return w.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},w)},getNodesBounds:p=>{const{nodeLookup:m,nodeOrigin:w}=t.getState();return _O(p,{nodeLookup:m,nodeOrigin:w})},getHandleConnections:({type:p,id:m,nodeId:w})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${w}-${p}${m?`-${m}`:""}`))==null?void 0:E.values())??[])},getNodeConnections:({type:p,handleId:m,nodeId:w})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${w}${p?m?`-${p}-${m}`:`-${p}`:""}`))==null?void 0:E.values())??[])},fitView:async p=>{const m=t.getState().fitViewResolver??PO();return t.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:m}),r.nodeQueue.push(w=>[...w]),m.promise}}},[]);return N.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Sx=e=>e.selected,rD=typeof window<"u"?window:void 0;function oD({deleteKeyCode:e,multiSelectionKeyCode:t}){const r=ze(),{deleteElements:o}=zc(),s=Ki(e,{actInsideInputWithModifier:!1}),a=Ki(t,{target:rD});N.useEffect(()=>{if(s){const{edges:l,nodes:u}=r.getState();o({nodes:u.filter(Sx),edges:l.filter(Sx)}),r.setState({nodesSelectionActive:!1})}},[s]),N.useEffect(()=>{r.setState({multiSelectionActive:a})},[a])}function iD(e){const t=ze();N.useEffect(()=>{const r=()=>{var s,a,l,u;if(!e.current||!(((a=(s=e.current).checkVisibility)==null?void 0:a.call(s))??!0))return!1;const o=Sc(e.current);(o.height===0||o.width===0)&&((u=(l=t.getState()).onError)==null||u.call(l,"004",En.error004())),t.setState({width:o.width||500,height:o.height||500})};if(e.current){r(),window.addEventListener("resize",r);const o=new ResizeObserver(()=>r());return o.observe(e.current),()=>{window.removeEventListener("resize",r),o&&e.current&&o.unobserve(e.current)}}},[])}const Oa={position:"absolute",width:"100%",height:"100%",top:0,left:0},sD=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function aD({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:r=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:a=$r.Free,zoomOnDoubleClick:l=!0,panOnDrag:u=!0,defaultViewport:f,translateExtent:d,minZoom:h,maxZoom:p,zoomActivationKeyCode:m,preventScrolling:w=!0,children:E,noWheelClassName:y,noPanClassName:x,onViewportChange:b,isControlledViewport:C,paneClickDistance:_,selectionOnDrag:k}){const R=ze(),T=N.useRef(null),{userSelectionActive:A,lib:O,connectionInProgress:j}=Ie(sD,Ve),U=Ki(m),q=N.useRef();iD(T);const V=N.useCallback(X=>{b==null||b({x:X[0],y:X[1],zoom:X[2]}),C||R.setState({transform:X})},[b,C]);return N.useEffect(()=>{if(T.current){q.current=dL({domNode:T.current,minZoom:h,maxZoom:p,translateExtent:d,viewport:f,onDraggingChange:B=>R.setState({paneDragging:B}),onPanZoomStart:(B,Y)=>{const{onViewportChangeStart:M,onMoveStart:z}=R.getState();z==null||z(B,Y),M==null||M(Y)},onPanZoom:(B,Y)=>{const{onViewportChange:M,onMove:z}=R.getState();z==null||z(B,Y),M==null||M(Y)},onPanZoomEnd:(B,Y)=>{const{onViewportChangeEnd:M,onMoveEnd:z}=R.getState();z==null||z(B,Y),M==null||M(Y)}});const{x:X,y:L,zoom:H}=q.current.getViewport();return R.setState({panZoom:q.current,transform:[X,L,H],domNode:T.current.closest(".react-flow")}),()=>{var B;(B=q.current)==null||B.destroy()}}},[]),N.useEffect(()=>{var X;(X=q.current)==null||X.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:r,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:a,zoomOnDoubleClick:l,panOnDrag:u,zoomActivationKeyPressed:U,preventScrolling:w,noPanClassName:x,userSelectionActive:A,noWheelClassName:y,lib:O,onTransformChange:V,connectionInProgress:j,selectionOnDrag:k,paneClickDistance:_})},[e,t,r,o,s,a,l,u,U,w,x,A,y,O,V,j,k,_]),I.jsx("div",{className:"react-flow__renderer",ref:T,style:Oa,children:E})}const lD=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function uD(){const{userSelectionActive:e,userSelectionRect:t}=Ie(lD,Ve);return e&&t?I.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const Fc=(e,t)=>r=>{r.target===t.current&&(e==null||e(r))},cD=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function fD({isSelecting:e,selectionKeyPressed:t,selectionMode:r=qi.Full,panOnDrag:o,paneClickDistance:s,selectionOnDrag:a,onSelectionStart:l,onSelectionEnd:u,onPaneClick:f,onPaneContextMenu:d,onPaneScroll:h,onPaneMouseEnter:p,onPaneMouseMove:m,onPaneMouseLeave:w,children:E}){const y=ze(),{userSelectionActive:x,elementsSelectable:b,dragging:C,connectionInProgress:_}=Ie(cD,Ve),k=b&&(e||x),R=N.useRef(null),T=N.useRef(),A=N.useRef(new Set),O=N.useRef(new Set),j=N.useRef(!1),U=M=>{if(j.current||_){j.current=!1;return}f==null||f(M),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},q=M=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){M.preventDefault();return}d==null||d(M)},V=h?M=>h(M):void 0,X=M=>{j.current&&(M.stopPropagation(),j.current=!1)},L=M=>{var Z,ee;const{domNode:z}=y.getState();if(T.current=z==null?void 0:z.getBoundingClientRect(),!T.current)return;const Q=M.target===R.current;if(!Q&&!!M.target.closest(".nokey")||!e||!(a&&Q||t)||M.button!==0||!M.isPrimary)return;(ee=(Z=M.target)==null?void 0:Z.setPointerCapture)==null||ee.call(Z,M.pointerId),j.current=!1;const{x:ie,y:$}=an(M.nativeEvent,T.current);y.setState({userSelectionRect:{width:0,height:0,startX:ie,startY:$,x:ie,y:$}}),Q||(M.stopPropagation(),M.preventDefault())},H=M=>{const{userSelectionRect:z,transform:Q,nodeLookup:D,edgeLookup:W,connectionLookup:ie,triggerNodeChanges:$,triggerEdgeChanges:Z,defaultEdgeOptions:ee,resetSelectedElements:K}=y.getState();if(!T.current||!z)return;const{x:te,y:se}=an(M.nativeEvent,T.current),{startX:ae,startY:ce}=z;if(!j.current){const Re=t?0:s;if(Math.hypot(te-ae,se-ce)<=Re)return;K(),l==null||l(M)}j.current=!0;const de={startX:ae,startY:ce,x:teRe.id)),O.current=new Set;const me=(ee==null?void 0:ee.selectable)??!0;for(const Re of A.current){const Ee=ie.get(Re);if(Ee)for(const{edgeId:Qe}of Ee.values()){const He=W.get(Qe);He&&(He.selectable??me)&&O.current.add(Qe)}}if(!xw(pe,A.current)){const Re=To(D,A.current,!0);$(Re)}if(!xw(be,O.current)){const Re=To(W,O.current);Z(Re)}y.setState({userSelectionRect:de,userSelectionActive:!0,nodesSelectionActive:!1})},B=M=>{var z,Q;M.button===0&&((Q=(z=M.target)==null?void 0:z.releasePointerCapture)==null||Q.call(z,M.pointerId),!x&&M.target===R.current&&y.getState().userSelectionRect&&(U==null||U(M)),y.setState({userSelectionActive:!1,userSelectionRect:null}),j.current&&(u==null||u(M),y.setState({nodesSelectionActive:A.current.size>0})))},Y=o===!0||Array.isArray(o)&&o.includes(0);return I.jsxs("div",{className:Je(["react-flow__pane",{draggable:Y,dragging:C,selection:e}]),onClick:k?void 0:Fc(U,R),onContextMenu:Fc(q,R),onWheel:Fc(V,R),onPointerEnter:k?void 0:p,onPointerMove:k?H:m,onPointerUp:k?B:void 0,onPointerDownCapture:k?L:void 0,onClickCapture:k?X:void 0,onPointerLeave:w,ref:R,style:Oa,children:[E,I.jsx(uD,{})]})}function $c({id:e,store:t,unselect:r=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:a,multiSelectionActive:l,nodeLookup:u,onError:f}=t.getState(),d=u.get(e);if(!d){f==null||f("012",En.error012(e));return}t.setState({nodesSelectionActive:!1}),d.selected?(r||d.selected&&l)&&(a({nodes:[d],edges:[]}),requestAnimationFrame(()=>{var h;return(h=o==null?void 0:o.current)==null?void 0:h.blur()})):s([e])}function Ex({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:o,nodeId:s,isSelectable:a,nodeClickDistance:l}){const u=ze(),[f,d]=N.useState(!1),h=N.useRef();return N.useEffect(()=>{h.current=ZO({getStoreItems:()=>u.getState(),onNodeMouseDown:p=>{$c({id:p,store:u,nodeRef:e})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),N.useEffect(()=>{var p,m;if(t)(p=h.current)==null||p.destroy();else if(e.current)return(m=h.current)==null||m.update({noDragClassName:r,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:s,nodeClickDistance:l}),()=>{var w;(w=h.current)==null||w.destroy()}},[r,o,t,a,e,s]),f}const dD=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Cx(){const e=ze();return N.useCallback(r=>{const{nodeExtent:o,snapToGrid:s,snapGrid:a,nodesDraggable:l,onError:u,updateNodePositions:f,nodeLookup:d,nodeOrigin:h}=e.getState(),p=new Map,m=dD(l),w=s?a[0]:5,E=s?a[1]:5,y=r.direction.x*w*r.factor,x=r.direction.y*E*r.factor;for(const[,b]of d){if(!m(b))continue;let C={x:b.internals.positionAbsolute.x+y,y:b.internals.positionAbsolute.y+x};s&&(C=Bi(C,a));const{position:_,positionAbsolute:k}=dw({nodeId:b.id,nextPosition:C,nodeLookup:d,nodeExtent:o,nodeOrigin:h,onError:u});b.position=_,b.internals.positionAbsolute=k,p.set(b.id,b)}f(p)},[])}const Bc=N.createContext(null),hD=Bc.Provider;Bc.Consumer;const kx=()=>N.useContext(Bc),pD=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),gD=(e,t,r)=>o=>{const{connectionClickStartHandle:s,connectionMode:a,connection:l}=o,{fromHandle:u,toHandle:f,isValid:d}=l,h=(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===t&&(f==null?void 0:f.type)===r;return{connectingFrom:(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.id)===t&&(u==null?void 0:u.type)===r,connectingTo:h,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===t&&(s==null?void 0:s.type)===r,isPossibleEndHandle:a===So.Strict?(u==null?void 0:u.type)!==r:e!==(u==null?void 0:u.nodeId)||t!==(u==null?void 0:u.id),connectionInProcess:!!u,clickConnectionInProcess:!!s,valid:h&&d}};function mD({type:e="source",position:t=ve.Top,isValidConnection:r,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:a=!0,id:l,onConnect:u,children:f,className:d,onMouseDown:h,onTouchStart:p,...m},w){var H,B;const E=l||null,y=e==="target",x=ze(),b=kx(),{connectOnClick:C,noPanClassName:_,rfId:k}=Ie(pD,Ve),{connectingFrom:R,connectingTo:T,clickConnecting:A,isPossibleEndHandle:O,connectionInProcess:j,clickConnectionInProcess:U,valid:q}=Ie(gD(b,E,e),Ve);b||(B=(H=x.getState()).onError)==null||B.call(H,"010",En.error010());const V=Y=>{const{defaultEdgeOptions:M,onConnect:z,hasDefaultEdges:Q}=x.getState(),D={...M,...Y};if(Q){const{edges:W,setEdges:ie}=x.getState();ie(DO(D,W))}z==null||z(D),u==null||u(D)},X=Y=>{if(!b)return;const M=Sw(Y.nativeEvent);if(s&&(M&&Y.button===0||!M)){const z=x.getState();Ic.onPointerDown(Y.nativeEvent,{handleDomNode:Y.currentTarget,autoPanOnConnect:z.autoPanOnConnect,connectionMode:z.connectionMode,connectionRadius:z.connectionRadius,domNode:z.domNode,nodeLookup:z.nodeLookup,lib:z.lib,isTarget:y,handleId:E,nodeId:b,flowId:z.rfId,panBy:z.panBy,cancelConnection:z.cancelConnection,onConnectStart:z.onConnectStart,onConnectEnd:z.onConnectEnd,updateConnection:z.updateConnection,onConnect:V,isValidConnection:r||z.isValidConnection,getTransform:()=>x.getState().transform,getFromHandle:()=>x.getState().connection.fromHandle,autoPanSpeed:z.autoPanSpeed,dragThreshold:z.connectionDragThreshold})}M?h==null||h(Y):p==null||p(Y)},L=Y=>{const{onClickConnectStart:M,onClickConnectEnd:z,connectionClickStartHandle:Q,connectionMode:D,isValidConnection:W,lib:ie,rfId:$,nodeLookup:Z,connection:ee}=x.getState();if(!b||!Q&&!s)return;if(!Q){M==null||M(Y.nativeEvent,{nodeId:b,handleId:E,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:b,type:e,id:E}});return}const K=_w(Y.target),te=r||W,{connection:se,isValid:ae}=Ic.isValid(Y.nativeEvent,{handle:{nodeId:b,id:E,type:e},connectionMode:D,fromNodeId:Q.nodeId,fromHandleId:Q.id||null,fromType:Q.type,isValidConnection:te,flowId:$,doc:K,lib:ie,nodeLookup:Z});ae&&se&&V(se);const ce=structuredClone(ee);delete ce.inProgress,ce.toPosition=ce.toHandle?ce.toHandle.position:null,z==null||z(Y,ce),x.setState({connectionClickStartHandle:null})};return I.jsx("div",{"data-handleid":E,"data-nodeid":b,"data-handlepos":t,"data-id":`${k}-${b}-${E}-${e}`,className:Je(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",_,d,{source:!y,target:y,connectable:o,connectablestart:s,connectableend:a,clickconnecting:A,connectingfrom:R,connectingto:T,valid:q,connectionindicator:o&&(!j||O)&&(j||U?a:s)}]),onMouseDown:X,onTouchStart:X,onClick:C?L:void 0,ref:w,...m,children:f})}const Xi=N.memo(xx(mD));function vD({data:e,isConnectable:t,sourcePosition:r=ve.Bottom}){return I.jsxs(I.Fragment,{children:[e==null?void 0:e.label,I.jsx(Xi,{type:"source",position:r,isConnectable:t})]})}function yD({data:e,isConnectable:t,targetPosition:r=ve.Top,sourcePosition:o=ve.Bottom}){return I.jsxs(I.Fragment,{children:[I.jsx(Xi,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label,I.jsx(Xi,{type:"source",position:o,isConnectable:t})]})}function wD(){return null}function xD({data:e,isConnectable:t,targetPosition:r=ve.Top}){return I.jsxs(I.Fragment,{children:[I.jsx(Xi,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label]})}const La={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Nx={input:vD,default:yD,output:xD,group:wD};function _D(e){var t,r,o,s;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((r=e.style)==null?void 0:r.height)}:{width:e.width??((o=e.style)==null?void 0:o.width),height:e.height??((s=e.style)==null?void 0:s.height)}}const bD=e=>{const{width:t,height:r,x:o,y:s}=Fi(e.nodeLookup,{filter:a=>!!a.selected});return{width:sn(t)?t:null,height:sn(r)?r:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function SD({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){const o=ze(),{width:s,height:a,transformString:l,userSelectionActive:u}=Ie(bD,Ve),f=Cx(),d=N.useRef(null);if(N.useEffect(()=>{var m;r||(m=d.current)==null||m.focus({preventScroll:!0})},[r]),Ex({nodeRef:d}),u||!s||!a)return null;const h=e?m=>{const w=o.getState().nodes.filter(E=>E.selected);e(m,w)}:void 0,p=m=>{Object.prototype.hasOwnProperty.call(La,m.key)&&(m.preventDefault(),f({direction:La[m.key],factor:m.shiftKey?4:1}))};return I.jsx("div",{className:Je(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:I.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:r?void 0:-1,onKeyDown:r?void 0:p,style:{width:s,height:a}})})}const Rx=typeof window<"u"?window:void 0,ED=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Px({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,paneClickDistance:u,deleteKeyCode:f,selectionKeyCode:d,selectionOnDrag:h,selectionMode:p,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:E,panActivationKeyCode:y,zoomActivationKeyCode:x,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:k,panOnScrollSpeed:R,panOnScrollMode:T,zoomOnDoubleClick:A,panOnDrag:O,defaultViewport:j,translateExtent:U,minZoom:q,maxZoom:V,preventScrolling:X,onSelectionContextMenu:L,noWheelClassName:H,noPanClassName:B,disableKeyboardA11y:Y,onViewportChange:M,isControlledViewport:z}){const{nodesSelectionActive:Q,userSelectionActive:D}=Ie(ED),W=Ki(d,{target:Rx}),ie=Ki(y,{target:Rx}),$=ie||O,Z=ie||k,ee=h&&$!==!0,K=W||D||ee;return oD({deleteKeyCode:f,multiSelectionKeyCode:E}),I.jsx(aD,{onPaneContextMenu:a,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:Z,panOnScrollSpeed:R,panOnScrollMode:T,zoomOnDoubleClick:A,panOnDrag:!W&&$,defaultViewport:j,translateExtent:U,minZoom:q,maxZoom:V,zoomActivationKeyCode:x,preventScrolling:X,noWheelClassName:H,noPanClassName:B,onViewportChange:M,isControlledViewport:z,paneClickDistance:u,selectionOnDrag:ee,children:I.jsxs(fD,{onSelectionStart:m,onSelectionEnd:w,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,panOnDrag:$,isSelecting:!!K,selectionMode:p,selectionKeyPressed:W,paneClickDistance:u,selectionOnDrag:ee,children:[e,Q&&I.jsx(SD,{onSelectionContextMenu:L,noPanClassName:B,disableKeyboardA11y:Y})]})})}Px.displayName="FlowRenderer";const CD=N.memo(Px),kD=e=>t=>e?xc(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(r=>r.id):Array.from(t.nodeLookup.keys());function ND(e){return Ie(N.useCallback(kD(e),[e]),Ve)}const RD=e=>e.updateNodeInternals;function PD(){const e=Ie(RD),[t]=N.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(r=>{const o=new Map;r.forEach(s=>{const a=s.target.getAttribute("data-id");o.set(a,{id:a,nodeElement:s.target,force:!0})}),e(o)}));return N.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function TD({node:e,nodeType:t,hasDimensions:r,resizeObserver:o}){const s=ze(),a=N.useRef(null),l=N.useRef(null),u=N.useRef(e.sourcePosition),f=N.useRef(e.targetPosition),d=N.useRef(t),h=r&&!!e.internals.handleBounds;return N.useEffect(()=>{a.current&&!e.hidden&&(!h||l.current!==a.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(a.current),l.current=a.current)},[h,e.hidden]),N.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),N.useEffect(()=>{if(a.current){const p=d.current!==t,m=u.current!==e.sourcePosition,w=f.current!==e.targetPosition;(p||m||w)&&(d.current=t,u.current=e.sourcePosition,f.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function AD({id:e,onClick:t,onMouseEnter:r,onMouseMove:o,onMouseLeave:s,onContextMenu:a,onDoubleClick:l,nodesDraggable:u,elementsSelectable:f,nodesConnectable:d,nodesFocusable:h,resizeObserver:p,noDragClassName:m,noPanClassName:w,disableKeyboardA11y:E,rfId:y,nodeTypes:x,nodeClickDistance:b,onError:C}){const{node:_,internals:k,isParent:R}=Ie(te=>{const se=te.nodeLookup.get(e),ae=te.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ae}},Ve);let T=_.type||"default",A=(x==null?void 0:x[T])||Nx[T];A===void 0&&(C==null||C("003",En.error003(T)),T="default",A=(x==null?void 0:x.default)||Nx.default);const O=!!(_.draggable||u&&typeof _.draggable>"u"),j=!!(_.selectable||f&&typeof _.selectable>"u"),U=!!(_.connectable||d&&typeof _.connectable>"u"),q=!!(_.focusable||h&&typeof _.focusable>"u"),V=ze(),X=yw(_),L=TD({node:_,nodeType:T,hasDimensions:X,resizeObserver:p}),H=Ex({nodeRef:L,disabled:_.hidden||!O,noDragClassName:m,handleSelector:_.dragHandle,nodeId:e,isSelectable:j,nodeClickDistance:b}),B=Cx();if(_.hidden)return null;const Y=Fn(_),M=_D(_),z=j||O||t||r||o||s,Q=r?te=>r(te,{...k.userNode}):void 0,D=o?te=>o(te,{...k.userNode}):void 0,W=s?te=>s(te,{...k.userNode}):void 0,ie=a?te=>a(te,{...k.userNode}):void 0,$=l?te=>l(te,{...k.userNode}):void 0,Z=te=>{const{selectNodesOnDrag:se,nodeDragThreshold:ae}=V.getState();j&&(!se||!O||ae>0)&&$c({id:e,store:V,nodeRef:L}),t&&t(te,{...k.userNode})},ee=te=>{if(!(bw(te.nativeEvent)||E)){if(sw.includes(te.key)&&j){const se=te.key==="Escape";$c({id:e,store:V,unselect:se,nodeRef:L})}else if(O&&_.selected&&Object.prototype.hasOwnProperty.call(La,te.key)){te.preventDefault();const{ariaLabelConfig:se}=V.getState();V.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:te.key.replace("Arrow","").toLowerCase(),x:~~k.positionAbsolute.x,y:~~k.positionAbsolute.y})}),B({direction:La[te.key],factor:te.shiftKey?4:1})}}},K=()=>{var be;if(E||!((be=L.current)!=null&&be.matches(":focus-visible")))return;const{transform:te,width:se,height:ae,autoPanOnNodeFocus:ce,setCenter:de}=V.getState();if(!ce)return;xc(new Map([[e,_]]),{x:0,y:0,width:se,height:ae},te,!0).length>0||de(_.position.x+Y.width/2,_.position.y+Y.height/2,{zoom:te[2]})};return I.jsx("div",{className:Je(["react-flow__node",`react-flow__node-${T}`,{[w]:O},_.className,{selected:_.selected,selectable:j,parent:R,draggable:O,dragging:H}]),ref:L,style:{zIndex:k.z,transform:`translate(${k.positionAbsolute.x}px,${k.positionAbsolute.y}px)`,pointerEvents:z?"all":"none",visibility:X?"visible":"hidden",..._.style,...M},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Q,onMouseMove:D,onMouseLeave:W,onContextMenu:ie,onClick:Z,onDoubleClick:$,onKeyDown:q?ee:void 0,tabIndex:q?0:void 0,onFocus:q?K:void 0,role:_.ariaRole??(q?"group":void 0),"aria-roledescription":"node","aria-describedby":E?void 0:`${ix}-${y}`,"aria-label":_.ariaLabel,..._.domAttributes,children:I.jsx(hD,{value:e,children:I.jsx(A,{id:e,data:_.data,type:T,positionAbsoluteX:k.positionAbsolute.x,positionAbsoluteY:k.positionAbsolute.y,selected:_.selected??!1,selectable:j,draggable:O,deletable:_.deletable??!0,isConnectable:U,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:H,dragHandle:_.dragHandle,zIndex:k.z,parentId:_.parentId,...Y})})})}var ID=N.memo(AD);const MD=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Tx(e){const{nodesDraggable:t,nodesConnectable:r,nodesFocusable:o,elementsSelectable:s,onError:a}=Ie(MD,Ve),l=ND(e.onlyRenderVisibleElements),u=PD();return I.jsx("div",{className:"react-flow__nodes",style:Oa,children:l.map(f=>I.jsx(ID,{id:f,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:t,nodesConnectable:r,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:a},f))})}Tx.displayName="NodeRenderer";const OD=N.memo(Tx);function LD(e){return Ie(N.useCallback(r=>{if(!e)return r.edges.map(s=>s.id);const o=[];if(r.width&&r.height)for(const s of r.edges){const a=r.nodeLookup.get(s.source),l=r.nodeLookup.get(s.target);a&&l&&MO({sourceNode:a,targetNode:l,width:r.width,height:r.height,transform:r.transform})&&o.push(s.id)}return o},[e]),Ve)}const DD=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e}};return I.jsx("polyline",{className:"arrow",style:r,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},jD=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e,fill:e}};return I.jsx("polyline",{className:"arrowclosed",style:r,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Ax={[Ea.Arrow]:DD,[Ea.ArrowClosed]:jD};function qD(e){const t=ze();return N.useMemo(()=>{var s,a;return Object.prototype.hasOwnProperty.call(Ax,e)?Ax[e]:((a=(s=t.getState()).onError)==null||a.call(s,"009",En.error009(e)),null)},[e])}const zD=({id:e,type:t,color:r,width:o=12.5,height:s=12.5,markerUnits:a="strokeWidth",strokeWidth:l,orient:u="auto-start-reverse"})=>{const f=qD(t);return f?I.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:u,refX:"0",refY:"0",children:I.jsx(f,{color:r,strokeWidth:l})}):null},Ix=({defaultColor:e,rfId:t})=>{const r=Ie(a=>a.edges),o=Ie(a=>a.defaultEdgeOptions),s=N.useMemo(()=>$O(r,{id:t,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[r,o,t,e]);return s.length?I.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:I.jsx("defs",{children:s.map(a=>I.jsx(zD,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};Ix.displayName="MarkerDefinitions";var FD=N.memo(Ix);function Mx({x:e,y:t,label:r,labelStyle:o,labelShowBg:s=!0,labelBgStyle:a,labelBgPadding:l=[2,4],labelBgBorderRadius:u=2,children:f,className:d,...h}){const[p,m]=N.useState({x:1,y:0,width:0,height:0}),w=Je(["react-flow__edge-textwrapper",d]),E=N.useRef(null);return N.useEffect(()=>{if(E.current){const y=E.current.getBBox();m({x:y.x,y:y.y,width:y.width,height:y.height})}},[r]),r?I.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:w,visibility:p.width?"visible":"hidden",...h,children:[s&&I.jsx("rect",{width:p.width+2*l[0],x:-l[0],y:-l[1],height:p.height+2*l[1],className:"react-flow__edge-textbg",style:a,rx:u,ry:u}),I.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:E,style:o,children:r}),f]}):null}Mx.displayName="EdgeText";const $D=N.memo(Mx);function Da({path:e,labelX:t,labelY:r,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f,interactionWidth:d=20,...h}){return I.jsxs(I.Fragment,{children:[I.jsx("path",{...h,d:e,fill:"none",className:Je(["react-flow__edge-path",h.className])}),d?I.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}):null,o&&sn(t)&&sn(r)?I.jsx($D,{x:t,y:r,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f}):null]})}function Ox({pos:e,x1:t,y1:r,x2:o,y2:s}){return e===ve.Left||e===ve.Right?[.5*(t+o),r]:[t,.5*(r+s)]}function Lx({sourceX:e,sourceY:t,sourcePosition:r=ve.Bottom,targetX:o,targetY:s,targetPosition:a=ve.Top}){const[l,u]=Ox({pos:r,x1:e,y1:t,x2:o,y2:s}),[f,d]=Ox({pos:a,x1:o,y1:s,x2:e,y2:t}),[h,p,m,w]=Cw({sourceX:e,sourceY:t,targetX:o,targetY:s,sourceControlX:l,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${e},${t} C${l},${u} ${f},${d} ${o},${s}`,h,p,m,w]}function Dx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,sourcePosition:l,targetPosition:u,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,interactionWidth:b})=>{const[C,_,k]=Lx({sourceX:r,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:u}),R=e.isInternal?void 0:t;return I.jsx(Da,{id:R,path:C,labelX:_,labelY:k,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,interactionWidth:b})})}const BD=Dx({isInternal:!1}),jx=Dx({isInternal:!0});BD.displayName="SimpleBezierEdge",jx.displayName="SimpleBezierEdgeInternal";function qx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,sourcePosition:w=ve.Bottom,targetPosition:E=ve.Top,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,k,R]=Ec({sourceX:r,sourceY:o,sourcePosition:w,targetX:s,targetY:a,targetPosition:E,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),T=e.isInternal?void 0:t;return I.jsx(Da,{id:T,path:_,labelX:k,labelY:R,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:y,markerStart:x,interactionWidth:C})})}const zx=qx({isInternal:!1}),Fx=qx({isInternal:!0});zx.displayName="SmoothStepEdge",Fx.displayName="SmoothStepEdgeInternal";function $x(e){return N.memo(({id:t,...r})=>{var s;const o=e.isInternal?void 0:t;return I.jsx(zx,{...r,id:o,pathOptions:N.useMemo(()=>{var a;return{borderRadius:0,offset:(a=r.pathOptions)==null?void 0:a.offset}},[(s=r.pathOptions)==null?void 0:s.offset])})})}const VD=$x({isInternal:!1}),Bx=$x({isInternal:!0});VD.displayName="StepEdge",Bx.displayName="StepEdgeInternal";function Vx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:E,interactionWidth:y})=>{const[x,b,C]=Pw({sourceX:r,sourceY:o,targetX:s,targetY:a}),_=e.isInternal?void 0:t;return I.jsx(Da,{id:_,path:x,labelX:b,labelY:C,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:E,interactionWidth:y})})}const HD=Vx({isInternal:!1}),Hx=Vx({isInternal:!0});HD.displayName="StraightEdge",Hx.displayName="StraightEdgeInternal";function Wx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,sourcePosition:l=ve.Bottom,targetPosition:u=ve.Top,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,k,R]=Nw({sourceX:r,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:u,curvature:b==null?void 0:b.curvature}),T=e.isInternal?void 0:t;return I.jsx(Da,{id:T,path:_,labelX:k,labelY:R,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,interactionWidth:C})})}const WD=Wx({isInternal:!1}),Ux=Wx({isInternal:!0});WD.displayName="BezierEdge",Ux.displayName="BezierEdgeInternal";const Gx={default:Ux,straight:Hx,step:Bx,smoothstep:Fx,simplebezier:jx},Yx={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},UD=(e,t,r)=>r===ve.Left?e-t:r===ve.Right?e+t:e,GD=(e,t,r)=>r===ve.Top?e-t:r===ve.Bottom?e+t:e,Kx="react-flow__edgeupdater";function Xx({position:e,centerX:t,centerY:r,radius:o=10,onMouseDown:s,onMouseEnter:a,onMouseOut:l,type:u}){return I.jsx("circle",{onMouseDown:s,onMouseEnter:a,onMouseOut:l,className:Je([Kx,`${Kx}-${u}`]),cx:UD(t,o,e),cy:GD(r,o,e),r:o,stroke:"transparent",fill:"transparent"})}function YD({isReconnectable:e,reconnectRadius:t,edge:r,sourceX:o,sourceY:s,targetX:a,targetY:l,sourcePosition:u,targetPosition:f,onReconnect:d,onReconnectStart:h,onReconnectEnd:p,setReconnecting:m,setUpdateHover:w}){const E=ze(),y=(k,R)=>{if(k.button!==0)return;const{autoPanOnConnect:T,domNode:A,isValidConnection:O,connectionMode:j,connectionRadius:U,lib:q,onConnectStart:V,onConnectEnd:X,cancelConnection:L,nodeLookup:H,rfId:B,panBy:Y,updateConnection:M}=E.getState(),z=R.type==="target",Q=(ie,$)=>{m(!1),p==null||p(ie,r,R.type,$)},D=ie=>d==null?void 0:d(r,ie),W=(ie,$)=>{m(!0),h==null||h(k,r,R.type),V==null||V(ie,$)};Ic.onPointerDown(k.nativeEvent,{autoPanOnConnect:T,connectionMode:j,connectionRadius:U,domNode:A,handleId:R.id,nodeId:R.nodeId,nodeLookup:H,isTarget:z,edgeUpdaterType:R.type,lib:q,flowId:B,cancelConnection:L,panBy:Y,isValidConnection:O,onConnect:D,onConnectStart:W,onConnectEnd:X,onReconnectEnd:Q,updateConnection:M,getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,dragThreshold:E.getState().connectionDragThreshold,handleDomNode:k.currentTarget})},x=k=>y(k,{nodeId:r.target,id:r.targetHandle??null,type:"target"}),b=k=>y(k,{nodeId:r.source,id:r.sourceHandle??null,type:"source"}),C=()=>w(!0),_=()=>w(!1);return I.jsxs(I.Fragment,{children:[(e===!0||e==="source")&&I.jsx(Xx,{position:u,centerX:o,centerY:s,radius:t,onMouseDown:x,onMouseEnter:C,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&I.jsx(Xx,{position:f,centerX:a,centerY:l,radius:t,onMouseDown:b,onMouseEnter:C,onMouseOut:_,type:"target"})]})}function KD({id:e,edgesFocusable:t,edgesReconnectable:r,elementsSelectable:o,onClick:s,onDoubleClick:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:w,rfId:E,edgeTypes:y,noPanClassName:x,onError:b,disableKeyboardA11y:C}){let _=Ie(de=>de.edgeLookup.get(e));const k=Ie(de=>de.defaultEdgeOptions);_=k?{...k,..._}:_;let R=_.type||"default",T=(y==null?void 0:y[R])||Gx[R];T===void 0&&(b==null||b("011",En.error011(R)),R="default",T=(y==null?void 0:y.default)||Gx.default);const A=!!(_.focusable||t&&typeof _.focusable>"u"),O=typeof p<"u"&&(_.reconnectable||r&&typeof _.reconnectable>"u"),j=!!(_.selectable||o&&typeof _.selectable>"u"),U=N.useRef(null),[q,V]=N.useState(!1),[X,L]=N.useState(!1),H=ze(),{zIndex:B,sourceX:Y,sourceY:M,targetX:z,targetY:Q,sourcePosition:D,targetPosition:W}=Ie(N.useCallback(de=>{const pe=de.nodeLookup.get(_.source),be=de.nodeLookup.get(_.target);if(!pe||!be)return{zIndex:_.zIndex,...Yx};const me=FO({id:e,sourceNode:pe,targetNode:be,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:de.connectionMode,onError:b});return{zIndex:IO({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:be,elevateOnSelect:de.elevateEdgesOnSelect}),...me||Yx}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),Ve),ie=N.useMemo(()=>_.markerStart?`url('#${Cc(_.markerStart,E)}')`:void 0,[_.markerStart,E]),$=N.useMemo(()=>_.markerEnd?`url('#${Cc(_.markerEnd,E)}')`:void 0,[_.markerEnd,E]);if(_.hidden||Y===null||M===null||z===null||Q===null)return null;const Z=de=>{var Re;const{addSelectedEdges:pe,unselectNodesAndEdges:be,multiSelectionActive:me}=H.getState();j&&(H.setState({nodesSelectionActive:!1}),_.selected&&me?(be({nodes:[],edges:[_]}),(Re=U.current)==null||Re.blur()):pe([e])),s&&s(de,_)},ee=a?de=>{a(de,{..._})}:void 0,K=l?de=>{l(de,{..._})}:void 0,te=u?de=>{u(de,{..._})}:void 0,se=f?de=>{f(de,{..._})}:void 0,ae=d?de=>{d(de,{..._})}:void 0,ce=de=>{var pe;if(!C&&sw.includes(de.key)&&j){const{unselectNodesAndEdges:be,addSelectedEdges:me}=H.getState();de.key==="Escape"?((pe=U.current)==null||pe.blur(),be({edges:[_]})):me([e])}};return I.jsx("svg",{style:{zIndex:B},children:I.jsxs("g",{className:Je(["react-flow__edge",`react-flow__edge-${R}`,_.className,x,{selected:_.selected,animated:_.animated,inactive:!j&&!s,updating:q,selectable:j}]),onClick:Z,onDoubleClick:ee,onContextMenu:K,onMouseEnter:te,onMouseMove:se,onMouseLeave:ae,onKeyDown:A?ce:void 0,tabIndex:A?0:void 0,role:_.ariaRole??(A?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":A?`${sx}-${E}`:void 0,ref:U,..._.domAttributes,children:[!X&&I.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:j,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:Y,sourceY:M,targetX:z,targetY:Q,sourcePosition:D,targetPosition:W,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:ie,markerEnd:$,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),O&&I.jsx(YD,{edge:_,isReconnectable:O,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:w,sourceX:Y,sourceY:M,targetX:z,targetY:Q,sourcePosition:D,targetPosition:W,setUpdateHover:V,setReconnecting:L})]})})}var XD=N.memo(KD);const QD=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Qx({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:r,edgeTypes:o,noPanClassName:s,onReconnect:a,onEdgeContextMenu:l,onEdgeMouseEnter:u,onEdgeMouseMove:f,onEdgeMouseLeave:d,onEdgeClick:h,reconnectRadius:p,onEdgeDoubleClick:m,onReconnectStart:w,onReconnectEnd:E,disableKeyboardA11y:y}){const{edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,onError:_}=Ie(QD,Ve),k=LD(t);return I.jsxs("div",{className:"react-flow__edges",children:[I.jsx(FD,{defaultColor:e,rfId:r}),k.map(R=>I.jsx(XD,{id:R,edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,noPanClassName:s,onReconnect:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,onClick:h,reconnectRadius:p,onDoubleClick:m,onReconnectStart:w,onReconnectEnd:E,rfId:r,onError:_,edgeTypes:o,disableKeyboardA11y:y},R))]})}Qx.displayName="EdgeRenderer";const ZD=N.memo(Qx),JD=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function ej({children:e}){const t=Ie(JD);return I.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function tj(e){const t=zc(),r=N.useRef(!1);N.useEffect(()=>{!r.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),r.current=!0)},[e,t.viewportInitialized])}const nj=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function rj(e){const t=Ie(nj),r=ze();return N.useEffect(()=>{e&&(t==null||t(e),r.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function oj(e){return e.connection.inProgress?{...e.connection,to:Vi(e.connection.to,e.transform)}:{...e.connection}}function ij(e){return oj}function sj(e){const t=ij();return Ie(t,Ve)}const aj=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function lj({containerStyle:e,style:t,type:r,component:o}){const{nodesConnectable:s,width:a,height:l,isValid:u,inProgress:f}=Ie(aj,Ve);return!(a&&s&&f)?null:I.jsx("svg",{style:e,width:a,height:l,className:"react-flow__connectionline react-flow__container",children:I.jsx("g",{className:Je(["react-flow__connection",cw(u)]),children:I.jsx(Zx,{style:t,type:r,CustomComponent:o,isValid:u})})})}const Zx=({style:e,type:t=nr.Bezier,CustomComponent:r,isValid:o})=>{const{inProgress:s,from:a,fromNode:l,fromHandle:u,fromPosition:f,to:d,toNode:h,toHandle:p,toPosition:m,pointer:w}=sj();if(!s)return;if(r)return I.jsx(r,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:u,fromX:a.x,fromY:a.y,toX:d.x,toY:d.y,fromPosition:f,toPosition:m,connectionStatus:cw(o),toNode:h,toHandle:p,pointer:w});let E="";const y={sourceX:a.x,sourceY:a.y,sourcePosition:f,targetX:d.x,targetY:d.y,targetPosition:m};switch(t){case nr.Bezier:[E]=Nw(y);break;case nr.SimpleBezier:[E]=Lx(y);break;case nr.Step:[E]=Ec({...y,borderRadius:0});break;case nr.SmoothStep:[E]=Ec(y);break;default:[E]=Pw(y)}return I.jsx("path",{d:E,fill:"none",className:"react-flow__connection-path",style:e})};Zx.displayName="ConnectionLine";const uj={};function Jx(e=uj){N.useRef(e),ze(),N.useEffect(()=>{},[e])}function cj(){ze(),N.useRef(!1),N.useEffect(()=>{},[])}function e1({nodeTypes:e,edgeTypes:t,onInit:r,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:a,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:w,connectionLineType:E,connectionLineStyle:y,connectionLineComponent:x,connectionLineContainerStyle:b,selectionKeyCode:C,selectionOnDrag:_,selectionMode:k,multiSelectionKeyCode:R,panActivationKeyCode:T,zoomActivationKeyCode:A,deleteKeyCode:O,onlyRenderVisibleElements:j,elementsSelectable:U,defaultViewport:q,translateExtent:V,minZoom:X,maxZoom:L,preventScrolling:H,defaultMarkerColor:B,zoomOnScroll:Y,zoomOnPinch:M,panOnScroll:z,panOnScrollSpeed:Q,panOnScrollMode:D,zoomOnDoubleClick:W,panOnDrag:ie,onPaneClick:$,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:K,onPaneScroll:te,onPaneContextMenu:se,paneClickDistance:ae,nodeClickDistance:ce,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,onReconnect:Ee,onReconnectStart:Qe,onReconnectEnd:He,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:st,disableKeyboardA11y:We,nodeExtent:hn,rfId:Wt,viewport:pn,onViewportChange:Ut}){return Jx(e),Jx(t),cj(),tj(r),rj(pn),I.jsx(CD,{onPaneClick:$,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:K,onPaneContextMenu:se,onPaneScroll:te,paneClickDistance:ae,deleteKeyCode:O,selectionKeyCode:C,selectionOnDrag:_,selectionMode:k,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:R,panActivationKeyCode:T,zoomActivationKeyCode:A,elementsSelectable:U,zoomOnScroll:Y,zoomOnPinch:M,zoomOnDoubleClick:W,panOnScroll:z,panOnScrollSpeed:Q,panOnScrollMode:D,panOnDrag:ie,defaultViewport:q,translateExtent:V,minZoom:X,maxZoom:L,onSelectionContextMenu:p,preventScrolling:H,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:st,disableKeyboardA11y:We,onViewportChange:Ut,isControlledViewport:!!pn,children:I.jsxs(ej,{children:[I.jsx(ZD,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:Ee,onReconnectStart:Qe,onReconnectEnd:He,onlyRenderVisibleElements:j,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,defaultMarkerColor:B,noPanClassName:st,disableKeyboardA11y:We,rfId:Wt}),I.jsx(lj,{style:y,type:E,component:x,containerStyle:b}),I.jsx("div",{className:"react-flow__edgelabel-renderer"}),I.jsx(OD,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:a,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,nodeClickDistance:ce,onlyRenderVisibleElements:j,noPanClassName:st,noDragClassName:Ht,disableKeyboardA11y:We,nodeExtent:hn,rfId:Wt}),I.jsx("div",{className:"react-flow__viewport-portal"})]})})}e1.displayName="GraphView";const fj=N.memo(e1),t1=({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:u,minZoom:f=.5,maxZoom:d=2,nodeOrigin:h,nodeExtent:p}={})=>{const m=new Map,w=new Map,E=new Map,y=new Map,x=o??t??[],b=r??e??[],C=h??[0,0],_=p??ji;qw(E,y,x);const k=Rc(b,m,w,{nodeOrigin:C,nodeExtent:_,elevateNodesOnSelect:!1});let R=[0,0,1];if(l&&s&&a){const T=Fi(m,{filter:U=>!!((U.width||U.initialWidth)&&(U.height||U.initialHeight))}),{x:A,y:O,zoom:j}=bc(T,s,a,f,d,(u==null?void 0:u.padding)??.1);R=[A,O,j]}return{rfId:"1",width:s??0,height:a??0,transform:R,nodes:b,nodesInitialized:k,nodeLookup:m,parentLookup:w,edges:x,edgeLookup:y,connectionLookup:E,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:r!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:f,maxZoom:d,translateExtent:ji,nodeExtent:_,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:So.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l??!1,fitViewOptions:u,fitViewResolver:null,connection:{...lw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:kO,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:aw}},dj=({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p})=>TL((m,w)=>{async function E(){const{nodeLookup:y,panZoom:x,fitViewOptions:b,fitViewResolver:C,width:_,height:k,minZoom:R,maxZoom:T}=w();x&&(await EO({nodes:y,width:_,height:k,panZoom:x,minZoom:R,maxZoom:T},b),C==null||C.resolve(!0),m({fitViewResolver:null}))}return{...t1({nodes:e,edges:t,width:s,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p,defaultNodes:r,defaultEdges:o}),setNodes:y=>{const{nodeLookup:x,parentLookup:b,nodeOrigin:C,elevateNodesOnSelect:_,fitViewQueued:k}=w(),R=Rc(y,x,b,{nodeOrigin:C,nodeExtent:p,elevateNodesOnSelect:_,checkEquality:!0});k&&R?(E(),m({nodes:y,nodesInitialized:R,fitViewQueued:!1,fitViewOptions:void 0})):m({nodes:y,nodesInitialized:R})},setEdges:y=>{const{connectionLookup:x,edgeLookup:b}=w();qw(x,b,y),m({edges:y})},setDefaultNodesAndEdges:(y,x)=>{if(y){const{setNodes:b}=w();b(y),m({hasDefaultNodes:!0})}if(x){const{setEdges:b}=w();b(x),m({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:x,nodeLookup:b,parentLookup:C,domNode:_,nodeOrigin:k,nodeExtent:R,debug:T,fitViewQueued:A}=w(),{changes:O,updatedInternals:j}=YO(y,b,C,_,k,R);j&&(HO(b,C,{nodeOrigin:k,nodeExtent:R}),A?(E(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),(O==null?void 0:O.length)>0&&(T&&console.log("React Flow: trigger node changes",O),x==null||x(O)))},updateNodePositions:(y,x=!1)=>{const b=[],C=[],{nodeLookup:_,triggerNodeChanges:k}=w();for(const[R,T]of y){const A=_.get(R),O=!!(A!=null&&A.expandParent&&(A!=null&&A.parentId)&&(T!=null&&T.position)),j={id:R,type:"position",position:O?{x:Math.max(0,T.position.x),y:Math.max(0,T.position.y)}:T.position,dragging:x};O&&A.parentId&&b.push({id:R,parentId:A.parentId,rect:{...T.internals.positionAbsolute,width:T.measured.width??0,height:T.measured.height??0}}),C.push(j)}if(b.length>0){const{parentLookup:R,nodeOrigin:T}=w(),A=Tc(b,_,R,T);C.push(...A)}k(C)},triggerNodeChanges:y=>{const{onNodesChange:x,setNodes:b,nodes:C,hasDefaultNodes:_,debug:k}=w();if(y!=null&&y.length){if(_){const R=gx(y,C);b(R)}k&&console.log("React Flow: trigger node changes",y),x==null||x(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:x,setEdges:b,edges:C,hasDefaultEdges:_,debug:k}=w();if(y!=null&&y.length){if(_){const R=mx(y,C);b(R)}k&&console.log("React Flow: trigger edge changes",y),x==null||x(y)}},addSelectedNodes:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:k}=w();if(x){const R=y.map(T=>Vr(T,!0));_(R);return}_(To(C,new Set([...y]),!0)),k(To(b))},addSelectedEdges:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:k}=w();if(x){const R=y.map(T=>Vr(T,!0));k(R);return}k(To(b,new Set([...y]))),_(To(C,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:x}={})=>{const{edges:b,nodes:C,nodeLookup:_,triggerNodeChanges:k,triggerEdgeChanges:R}=w(),T=y||C,A=x||b,O=T.map(U=>{const q=_.get(U.id);return q&&(q.selected=!1),Vr(U.id,!1)}),j=A.map(U=>Vr(U.id,!1));k(O),R(j)},setMinZoom:y=>{const{panZoom:x,maxZoom:b}=w();x==null||x.setScaleExtent([y,b]),m({minZoom:y})},setMaxZoom:y=>{const{panZoom:x,minZoom:b}=w();x==null||x.setScaleExtent([b,y]),m({maxZoom:y})},setTranslateExtent:y=>{var x;(x=w().panZoom)==null||x.setTranslateExtent(y),m({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:x,triggerNodeChanges:b,triggerEdgeChanges:C,elementsSelectable:_}=w();if(!_)return;const k=x.reduce((T,A)=>A.selected?[...T,Vr(A.id,!1)]:T,[]),R=y.reduce((T,A)=>A.selected?[...T,Vr(A.id,!1)]:T,[]);b(k),C(R)},setNodeExtent:y=>{const{nodes:x,nodeLookup:b,parentLookup:C,nodeOrigin:_,elevateNodesOnSelect:k,nodeExtent:R}=w();y[0][0]===R[0][0]&&y[0][1]===R[0][1]&&y[1][0]===R[1][0]&&y[1][1]===R[1][1]||(Rc(x,b,C,{nodeOrigin:_,nodeExtent:y,elevateNodesOnSelect:k,checkEquality:!1}),m({nodeExtent:y}))},panBy:y=>{const{transform:x,width:b,height:C,panZoom:_,translateExtent:k}=w();return KO({delta:y,panZoom:_,transform:x,translateExtent:k,width:b,height:C})},setCenter:async(y,x,b)=>{const{width:C,height:_,maxZoom:k,panZoom:R}=w();if(!R)return Promise.resolve(!1);const T=typeof(b==null?void 0:b.zoom)<"u"?b.zoom:k;return await R.setViewport({x:C/2-y*T,y:_/2-x*T,zoom:T},{duration:b==null?void 0:b.duration,ease:b==null?void 0:b.ease,interpolate:b==null?void 0:b.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{m({connection:{...lw}})},updateConnection:y=>{m({connection:y})},reset:()=>m({...t1()})}},Object.is);function n1({initialNodes:e,initialEdges:t,defaultNodes:r,defaultEdges:o,initialWidth:s,initialHeight:a,initialMinZoom:l,initialMaxZoom:u,initialFitViewOptions:f,fitView:d,nodeOrigin:h,nodeExtent:p,children:m}){const[w]=N.useState(()=>dj({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,width:s,height:a,fitView:d,minZoom:l,maxZoom:u,fitViewOptions:f,nodeOrigin:h,nodeExtent:p}));return I.jsx(IL,{value:w,children:I.jsx(eD,{children:m})})}function hj({children:e,nodes:t,edges:r,defaultNodes:o,defaultEdges:s,width:a,height:l,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:p,nodeExtent:m}){return N.useContext(Ia)?I.jsx(I.Fragment,{children:e}):I.jsx(n1,{initialNodes:t,initialEdges:r,defaultNodes:o,defaultEdges:s,initialWidth:a,initialHeight:l,fitView:u,initialFitViewOptions:f,initialMinZoom:d,initialMaxZoom:h,nodeOrigin:p,nodeExtent:m,children:e})}const pj={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function gj({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,className:s,nodeTypes:a,edgeTypes:l,onNodeClick:u,onEdgeClick:f,onInit:d,onMove:h,onMoveStart:p,onMoveEnd:m,onConnect:w,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:k,onNodeContextMenu:R,onNodeDoubleClick:T,onNodeDragStart:A,onNodeDrag:O,onNodeDragStop:j,onNodesDelete:U,onEdgesDelete:q,onDelete:V,onSelectionChange:X,onSelectionDragStart:L,onSelectionDrag:H,onSelectionDragStop:B,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:z,onBeforeDelete:Q,connectionMode:D,connectionLineType:W=nr.Bezier,connectionLineStyle:ie,connectionLineComponent:$,connectionLineContainerStyle:Z,deleteKeyCode:ee="Backspace",selectionKeyCode:K="Shift",selectionOnDrag:te=!1,selectionMode:se=qi.Full,panActivationKeyCode:ae="Space",multiSelectionKeyCode:ce=Hi()?"Meta":"Control",zoomActivationKeyCode:de=Hi()?"Meta":"Control",snapToGrid:pe,snapGrid:be,onlyRenderVisibleElements:me=!1,selectNodesOnDrag:Re,nodesDraggable:Ee,autoPanOnNodeFocus:Qe,nodesConnectable:He,nodesFocusable:Ht,nodeOrigin:pt=ax,edgesFocusable:st,edgesReconnectable:We,elementsSelectable:hn=!0,defaultViewport:Wt=WL,minZoom:pn=.5,maxZoom:Ut=2,translateExtent:Et=ji,preventScrolling:eo=!0,nodeExtent:Gt,defaultMarkerColor:Un="#b1b1b7",zoomOnScroll:Ko=!0,zoomOnPinch:Ot=!0,panOnScroll:Yt=!1,panOnScrollSpeed:cv=.5,panOnScrollMode:ds=$r.Free,zoomOnDoubleClick:hs=!0,panOnDrag:ps=!0,onPaneClick:gs,onPaneMouseEnter:ms,onPaneMouseMove:pr,onPaneMouseLeave:gr,onPaneScroll:Ml,onPaneContextMenu:Ol,paneClickDistance:Ll=1,nodeClickDistance:Dl=0,children:jl,onReconnect:vs,onReconnectStart:ql,onReconnectEnd:to,onEdgeContextMenu:ys,onEdgeDoubleClick:no,onEdgeMouseEnter:fv,onEdgeMouseMove:ro,onEdgeMouseLeave:Xo,reconnectRadius:Qo=10,onNodesChange:ws,onEdgesChange:dv,noDragClassName:hv="nodrag",noWheelClassName:pv="nowheel",noPanClassName:An="nopan",fitView:xs,fitViewOptions:_s,connectOnClick:gv,attributionPosition:zl,proOptions:Fl,defaultEdgeOptions:$l,elevateNodesOnSelect:Bl,elevateEdgesOnSelect:mv,disableKeyboardA11y:Vl=!1,autoPanOnConnect:Ue,autoPanOnNodeDrag:vv,autoPanSpeed:bs,connectionRadius:Hl,isValidConnection:Zo,onError:yv,style:Wl,id:oo,nodeDragThreshold:Kt,connectionDragThreshold:wv,viewport:Lt,onViewportChange:xv,width:_v,height:bv,colorMode:Jo="light",debug:ei,onScroll:In,ariaLabelConfig:ti,...Sv},Ev){const io=oo||"1",Ul=YL(Jo),Ss=N.useCallback(mr=>{mr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),In==null||In(mr)},[In]);return I.jsx("div",{"data-testid":"rf__wrapper",...Sv,onScroll:Ss,style:{...Wl,...pj},ref:Ev,className:Je(["react-flow",s,Ul]),id:oo,role:"application",children:I.jsxs(hj,{nodes:e,edges:t,width:_v,height:bv,fitView:xs,fitViewOptions:_s,minZoom:pn,maxZoom:Ut,nodeOrigin:pt,nodeExtent:Gt,children:[I.jsx(fj,{onInit:d,onNodeClick:u,onEdgeClick:f,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:k,onNodeContextMenu:R,onNodeDoubleClick:T,nodeTypes:a,edgeTypes:l,connectionLineType:W,connectionLineStyle:ie,connectionLineComponent:$,connectionLineContainerStyle:Z,selectionKeyCode:K,selectionOnDrag:te,selectionMode:se,deleteKeyCode:ee,multiSelectionKeyCode:ce,panActivationKeyCode:ae,zoomActivationKeyCode:de,onlyRenderVisibleElements:me,defaultViewport:Wt,translateExtent:Et,minZoom:pn,maxZoom:Ut,preventScrolling:eo,zoomOnScroll:Ko,zoomOnPinch:Ot,zoomOnDoubleClick:hs,panOnScroll:Yt,panOnScrollSpeed:cv,panOnScrollMode:ds,panOnDrag:ps,onPaneClick:gs,onPaneMouseEnter:ms,onPaneMouseMove:pr,onPaneMouseLeave:gr,onPaneScroll:Ml,onPaneContextMenu:Ol,paneClickDistance:Ll,nodeClickDistance:Dl,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:z,onReconnect:vs,onReconnectStart:ql,onReconnectEnd:to,onEdgeContextMenu:ys,onEdgeDoubleClick:no,onEdgeMouseEnter:fv,onEdgeMouseMove:ro,onEdgeMouseLeave:Xo,reconnectRadius:Qo,defaultMarkerColor:Un,noDragClassName:hv,noWheelClassName:pv,noPanClassName:An,rfId:io,disableKeyboardA11y:Vl,nodeExtent:Gt,viewport:Lt,onViewportChange:xv}),I.jsx(GL,{nodes:e,edges:t,defaultNodes:r,defaultEdges:o,onConnect:w,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,nodesDraggable:Ee,autoPanOnNodeFocus:Qe,nodesConnectable:He,nodesFocusable:Ht,edgesFocusable:st,edgesReconnectable:We,elementsSelectable:hn,elevateNodesOnSelect:Bl,elevateEdgesOnSelect:mv,minZoom:pn,maxZoom:Ut,nodeExtent:Gt,onNodesChange:ws,onEdgesChange:dv,snapToGrid:pe,snapGrid:be,connectionMode:D,translateExtent:Et,connectOnClick:gv,defaultEdgeOptions:$l,fitView:xs,fitViewOptions:_s,onNodesDelete:U,onEdgesDelete:q,onDelete:V,onNodeDragStart:A,onNodeDrag:O,onNodeDragStop:j,onSelectionDrag:H,onSelectionDragStart:L,onSelectionDragStop:B,onMove:h,onMoveStart:p,onMoveEnd:m,noPanClassName:An,nodeOrigin:pt,rfId:io,autoPanOnConnect:Ue,autoPanOnNodeDrag:vv,autoPanSpeed:bs,onError:yv,connectionRadius:Hl,isValidConnection:Zo,selectNodesOnDrag:Re,nodeDragThreshold:Kt,connectionDragThreshold:wv,onBeforeDelete:Q,debug:ei,ariaLabelConfig:ti}),I.jsx(HL,{onSelectionChange:X}),jl,I.jsx(zL,{proOptions:Fl,position:zl}),I.jsx(qL,{rfId:io,disableKeyboardA11y:Vl})]})})}var mj=xx(gj);function vj({dimensions:e,lineWidth:t,variant:r,className:o}){return I.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Je(["react-flow__background-pattern",r,o])})}function yj({radius:e,className:t}){return I.jsx("circle",{cx:e,cy:e,r:e,className:Je(["react-flow__background-pattern","dots",t])})}var ir;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ir||(ir={}));const wj={[ir.Dots]:1,[ir.Lines]:1,[ir.Cross]:6},xj=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function r1({id:e,variant:t=ir.Dots,gap:r=20,size:o,lineWidth:s=1,offset:a=0,color:l,bgColor:u,style:f,className:d,patternClassName:h}){const p=N.useRef(null),{transform:m,patternId:w}=Ie(xj,Ve),E=o||wj[t],y=t===ir.Dots,x=t===ir.Cross,b=Array.isArray(r)?r:[r,r],C=[b[0]*m[2]||1,b[1]*m[2]||1],_=E*m[2],k=Array.isArray(a)?a:[a,a],R=x?[_,_]:C,T=[k[0]*m[2]||1+R[0]/2,k[1]*m[2]||1+R[1]/2],A=`${w}${e||""}`;return I.jsxs("svg",{className:Je(["react-flow__background",d]),style:{...f,...Oa,"--xy-background-color-props":u,"--xy-background-pattern-color-props":l},ref:p,"data-testid":"rf__background",children:[I.jsx("pattern",{id:A,x:m[0]%C[0],y:m[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:y?I.jsx(yj,{radius:_/2,className:h}):I.jsx(vj,{dimensions:R,lineWidth:s,variant:t,className:h})}),I.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}r1.displayName="Background";const _j=N.memo(r1);function bj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:I.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Sj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:I.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Ej(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:I.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Cj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:I.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function kj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:I.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ja({children:e,className:t,...r}){return I.jsx("button",{type:"button",className:Je(["react-flow__controls-button",t]),...r,children:e})}const Nj=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function o1({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:a,onZoomOut:l,onFitView:u,onInteractiveChange:f,className:d,children:h,position:p="bottom-left",orientation:m="vertical","aria-label":w}){const E=ze(),{isInteractive:y,minZoomReached:x,maxZoomReached:b,ariaLabelConfig:C}=Ie(Nj,Ve),{zoomIn:_,zoomOut:k,fitView:R}=zc(),T=()=>{_(),a==null||a()},A=()=>{k(),l==null||l()},O=()=>{R(s),u==null||u()},j=()=>{E.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),f==null||f(!y)},U=m==="horizontal"?"horizontal":"vertical";return I.jsxs(Yi,{className:Je(["react-flow__controls",U,d]),position:p,style:e,"data-testid":"rf__controls","aria-label":w??C["controls.ariaLabel"],children:[t&&I.jsxs(I.Fragment,{children:[I.jsx(ja,{onClick:T,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:b,children:I.jsx(bj,{})}),I.jsx(ja,{onClick:A,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:x,children:I.jsx(Sj,{})})]}),r&&I.jsx(ja,{className:"react-flow__controls-fitview",onClick:O,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:I.jsx(Ej,{})}),o&&I.jsx(ja,{className:"react-flow__controls-interactive",onClick:j,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:y?I.jsx(kj,{}):I.jsx(Cj,{})}),h]})}o1.displayName="Controls";const Rj=N.memo(o1);function Pj({id:e,x:t,y:r,width:o,height:s,style:a,color:l,strokeColor:u,strokeWidth:f,className:d,borderRadius:h,shapeRendering:p,selected:m,onClick:w}){const{background:E,backgroundColor:y}=a||{},x=l||E||y;return I.jsx("rect",{className:Je(["react-flow__minimap-node",{selected:m},d]),x:t,y:r,rx:h,ry:h,width:o,height:s,style:{fill:x,stroke:u,strokeWidth:f},shapeRendering:p,onClick:w?b=>w(b,e):void 0})}const Tj=N.memo(Pj),Aj=e=>e.nodes.map(t=>t.id),Vc=e=>e instanceof Function?e:()=>e;function Ij({nodeStrokeColor:e,nodeColor:t,nodeClassName:r="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:a=Tj,onClick:l}){const u=Ie(Aj,Ve),f=Vc(t),d=Vc(e),h=Vc(r),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return I.jsx(I.Fragment,{children:u.map(m=>I.jsx(Oj,{id:m,nodeColorFunc:f,nodeStrokeColorFunc:d,nodeClassNameFunc:h,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:a,onClick:l,shapeRendering:p},m))})}function Mj({id:e,nodeColorFunc:t,nodeStrokeColorFunc:r,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:a,shapeRendering:l,NodeComponent:u,onClick:f}){const{node:d,x:h,y:p,width:m,height:w}=Ie(E=>{const{internals:y}=E.nodeLookup.get(e),x=y.userNode,{x:b,y:C}=y.positionAbsolute,{width:_,height:k}=Fn(x);return{node:x,x:b,y:C,width:_,height:k}},Ve);return!d||d.hidden||!yw(d)?null:I.jsx(u,{x:h,y:p,width:m,height:w,style:d.style,selected:!!d.selected,className:o(d),color:t(d),borderRadius:s,strokeColor:r(d),strokeWidth:a,shapeRendering:l,onClick:f,id:d.id})}const Oj=N.memo(Mj);var Lj=N.memo(Ij);const Dj=200,jj=150,qj=e=>!e.hidden,zj=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?mw(Fi(e.nodeLookup,{filter:qj}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Fj="react-flow__minimap-desc";function i1({style:e,className:t,nodeStrokeColor:r,nodeColor:o,nodeClassName:s="",nodeBorderRadius:a=5,nodeStrokeWidth:l,nodeComponent:u,bgColor:f,maskColor:d,maskStrokeColor:h,maskStrokeWidth:p,position:m="bottom-right",onClick:w,onNodeClick:E,pannable:y=!1,zoomable:x=!1,ariaLabel:b,inversePan:C,zoomStep:_=1,offsetScale:k=5}){const R=ze(),T=N.useRef(null),{boundingRect:A,viewBB:O,rfId:j,panZoom:U,translateExtent:q,flowWidth:V,flowHeight:X,ariaLabelConfig:L}=Ie(zj,Ve),H=(e==null?void 0:e.width)??Dj,B=(e==null?void 0:e.height)??jj,Y=A.width/H,M=A.height/B,z=Math.max(Y,M),Q=z*H,D=z*B,W=k*z,ie=A.x-(Q-A.width)/2-W,$=A.y-(D-A.height)/2-W,Z=Q+W*2,ee=D+W*2,K=`${Fj}-${j}`,te=N.useRef(0),se=N.useRef();te.current=z,N.useEffect(()=>{if(T.current&&U)return se.current=oL({domNode:T.current,panZoom:U,getTransform:()=>R.getState().transform,getViewScale:()=>te.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[U]),N.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:q,width:V,height:X,inversePan:C,pannable:y,zoomStep:_,zoomable:x})},[y,x,C,_,q,V,X]);const ae=w?pe=>{var Re;const[be,me]=((Re=se.current)==null?void 0:Re.pointer(pe))||[0,0];w(pe,{x:be,y:me})}:void 0,ce=E?N.useCallback((pe,be)=>{const me=R.getState().nodeLookup.get(be).internals.userNode;E(pe,me)},[]):void 0,de=b??L["minimap.ariaLabel"];return I.jsx(Yi,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*z:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Je(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:I.jsxs("svg",{width:H,height:B,viewBox:`${ie} ${$} ${Z} ${ee}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":K,ref:T,onClick:ae,children:[de&&I.jsx("title",{id:K,children:de}),I.jsx(Lj,{onClick:ce,nodeColor:o,nodeStrokeColor:r,nodeBorderRadius:a,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:u}),I.jsx("path",{className:"react-flow__minimap-mask",d:`M${ie-W},${$-W}h${Z+W*2}v${ee+W*2}h${-Z-W*2}z - M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}i1.displayName="MiniMap",N.memo(i1);const $j=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Bj={[Po.Line]:"right",[Po.Handle]:"bottom-right"};function Vj({nodeId:e,position:t,variant:r=Po.Handle,className:o,style:s=void 0,children:a,color:l,minWidth:u=10,minHeight:f=10,maxWidth:d=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:m,autoScale:w=!0,shouldResize:E,onResizeStart:y,onResize:x,onResizeEnd:b}){const C=kx(),_=typeof e=="string"?e:C,k=ze(),R=N.useRef(null),T=r===Po.Handle,A=Ie(N.useCallback($j(T&&w),[T,w]),Ve),O=N.useRef(null),j=t??Bj[r];N.useEffect(()=>{if(!(!R.current||!_))return O.current||(O.current=yL({domNode:R.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:q,transform:V,snapGrid:X,snapToGrid:L,nodeOrigin:H,domNode:B}=k.getState();return{nodeLookup:q,transform:V,snapGrid:X,snapToGrid:L,nodeOrigin:H,paneDomNode:B}},onChange:(q,V)=>{const{triggerNodeChanges:X,nodeLookup:L,parentLookup:H,nodeOrigin:B}=k.getState(),Y=[],M={x:q.x,y:q.y},z=L.get(_);if(z&&z.expandParent&&z.parentId){const Q=z.origin??B,D=q.width??z.measured.width??0,W=q.height??z.measured.height??0,ie={id:z.id,parentId:z.parentId,rect:{width:D,height:W,...ww({x:q.x??z.position.x,y:q.y??z.position.y},{width:D,height:W},z.parentId,L,Q)}},$=Tc([ie],L,H,B);Y.push(...$),M.x=q.x?Math.max(Q[0]*D,q.x):void 0,M.y=q.y?Math.max(Q[1]*W,q.y):void 0}if(M.x!==void 0&&M.y!==void 0){const Q={id:_,type:"position",position:{...M}};Y.push(Q)}if(q.width!==void 0&&q.height!==void 0){const D={id:_,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:q.width,height:q.height}};Y.push(D)}for(const Q of V){const D={...Q,type:"position"};Y.push(D)}X(Y)},onEnd:({width:q,height:V})=>{const X={id:_,type:"dimensions",resizing:!1,dimensions:{width:q,height:V}};k.getState().triggerNodeChanges([X])}})),O.current.update({controlPosition:j,boundaries:{minWidth:u,minHeight:f,maxWidth:d,maxHeight:h},keepAspectRatio:p,resizeDirection:m,onResizeStart:y,onResize:x,onResizeEnd:b,shouldResize:E}),()=>{var q;(q=O.current)==null||q.destroy()}},[j,u,f,d,h,p,y,x,b,E]);const U=j.split("-");return I.jsx("div",{className:Je(["react-flow__resize-control","nodrag",...U,r,o]),ref:R,style:{...s,scale:A,...l&&{[T?"backgroundColor":"borderColor"]:l}},children:a})}N.memo(Vj);function s1(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t{const r=new Array(e.length+t.length);for(let o=0;o({classGroupId:e,validator:t}),l1=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),qa="-",u1=[],Uj="arbitrary..",Gj=e=>{const t=Kj(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return Yj(l);const u=l.split(qa),f=u[0]===""&&u.length>1?1:0;return c1(u,f,t)},getConflictingClassGroupIds:(l,u)=>{if(u){const f=o[l],d=r[l];return f?d?Hj(d,f):f:d||u1}return r[l]||u1}}},c1=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;const s=e[t],a=r.nextPart.get(s);if(a){const d=c1(e,t+1,a);if(d)return d}const l=r.validators;if(l===null)return;const u=t===0?e.join(qa):e.slice(t).join(qa),f=l.length;for(let d=0;de.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),o=t.slice(0,r);return o?Uj+o:void 0})(),Kj=e=>{const{theme:t,classGroups:r}=e;return Xj(r,t)},Xj=(e,t)=>{const r=l1();for(const o in e){const s=e[o];Hc(s,r,o,t)}return r},Hc=(e,t,r,o)=>{const s=e.length;for(let a=0;a{if(typeof e=="string"){Zj(e,t,r);return}if(typeof e=="function"){Jj(e,t,r,o);return}eq(e,t,r,o)},Zj=(e,t,r)=>{const o=e===""?t:f1(t,e);o.classGroupId=r},Jj=(e,t,r,o)=>{if(tq(e)){Hc(e(o),t,r,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Wj(r,e))},eq=(e,t,r,o)=>{const s=Object.entries(e),a=s.length;for(let l=0;l{let r=e;const o=t.split(qa),s=o.length;for(let a=0;a"isThemeGetter"in e&&e.isThemeGetter===!0,nq=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null);const s=(a,l)=>{r[a]=l,t++,t>e&&(t=0,o=r,r=Object.create(null))};return{get(a){let l=r[a];if(l!==void 0)return l;if((l=o[a])!==void 0)return s(a,l),l},set(a,l){a in r?r[a]=l:s(a,l)}}},Wc="!",d1=":",rq=[],h1=(e,t,r,o,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:s}),oq=e=>{const{prefix:t,experimentalParseClassName:r}=e;let o=s=>{const a=[];let l=0,u=0,f=0,d;const h=s.length;for(let y=0;yf?d-f:void 0;return h1(a,w,m,E)};if(t){const s=t+d1,a=o;o=l=>l.startsWith(s)?a(l.slice(s.length)):h1(rq,!1,l,void 0,!0)}if(r){const s=o;o=a=>r({className:a,parseClassName:s})}return o},iq=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{t.set(r,1e6+o)}),r=>{const o=[];let s=[];for(let a=0;a0&&(s.sort(),o.push(...s),s=[]),o.push(l)):s.push(l)}return s.length>0&&(s.sort(),o.push(...s)),o}},sq=e=>({cache:nq(e.cacheSize),parseClassName:oq(e),sortModifiers:iq(e),...Gj(e)}),aq=/\s+/,lq=(e,t)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:s,sortModifiers:a}=t,l=[],u=e.trim().split(aq);let f="";for(let d=u.length-1;d>=0;d-=1){const h=u[d],{isExternal:p,modifiers:m,hasImportantModifier:w,baseClassName:E,maybePostfixModifierPosition:y}=r(h);if(p){f=h+(f.length>0?" "+f:f);continue}let x=!!y,b=o(x?E.substring(0,y):E);if(!b){if(!x){f=h+(f.length>0?" "+f:f);continue}if(b=o(E),!b){f=h+(f.length>0?" "+f:f);continue}x=!1}const C=m.length===0?"":m.length===1?m[0]:a(m).join(":"),_=w?C+Wc:C,k=_+b;if(l.indexOf(k)>-1)continue;l.push(k);const R=s(b,x);for(let T=0;T0?" "+f:f)}return f},uq=(...e)=>{let t=0,r,o,s="";for(;t{if(typeof e=="string")return e;let t,r="";for(let o=0;o{let r,o,s,a;const l=f=>{const d=t.reduce((h,p)=>p(h),e());return r=sq(d),o=r.cache.get,s=r.cache.set,a=u,u(f)},u=f=>{const d=o(f);if(d)return d;const h=lq(f,r);return s(f,h),h};return a=l,(...f)=>a(uq(...f))},fq=[],rt=e=>{const t=r=>r[e]||fq;return t.isThemeGetter=!0,t},g1=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,m1=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dq=/^\d+\/\d+$/,hq=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,pq=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,gq=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,mq=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,vq=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ao=e=>dq.test(e),Te=e=>!!e&&!Number.isNaN(Number(e)),sr=e=>!!e&&Number.isInteger(Number(e)),Uc=e=>e.endsWith("%")&&Te(e.slice(0,-1)),$n=e=>hq.test(e),yq=()=>!0,wq=e=>pq.test(e)&&!gq.test(e),v1=()=>!1,xq=e=>mq.test(e),_q=e=>vq.test(e),bq=e=>!we(e)&&!xe(e),Sq=e=>Io(e,b1,v1),we=e=>g1.test(e),Hr=e=>Io(e,S1,wq),Gc=e=>Io(e,Rq,Te),y1=e=>Io(e,x1,v1),Eq=e=>Io(e,_1,_q),za=e=>Io(e,E1,xq),xe=e=>m1.test(e),Qi=e=>Mo(e,S1),Cq=e=>Mo(e,Pq),w1=e=>Mo(e,x1),kq=e=>Mo(e,b1),Nq=e=>Mo(e,_1),Fa=e=>Mo(e,E1,!0),Io=(e,t,r)=>{const o=g1.exec(e);return o?o[1]?t(o[1]):r(o[2]):!1},Mo=(e,t,r=!1)=>{const o=m1.exec(e);return o?o[1]?t(o[1]):r:!1},x1=e=>e==="position"||e==="percentage",_1=e=>e==="image"||e==="url",b1=e=>e==="length"||e==="size"||e==="bg-size",S1=e=>e==="length",Rq=e=>e==="number",Pq=e=>e==="family-name",E1=e=>e==="shadow",Tq=cq(()=>{const e=rt("color"),t=rt("font"),r=rt("text"),o=rt("font-weight"),s=rt("tracking"),a=rt("leading"),l=rt("breakpoint"),u=rt("container"),f=rt("spacing"),d=rt("radius"),h=rt("shadow"),p=rt("inset-shadow"),m=rt("text-shadow"),w=rt("drop-shadow"),E=rt("blur"),y=rt("perspective"),x=rt("aspect"),b=rt("ease"),C=rt("animate"),_=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],R=()=>[...k(),xe,we],T=()=>["auto","hidden","clip","visible","scroll"],A=()=>["auto","contain","none"],O=()=>[xe,we,f],j=()=>[Ao,"full","auto",...O()],U=()=>[sr,"none","subgrid",xe,we],q=()=>["auto",{span:["full",sr,xe,we]},sr,xe,we],V=()=>[sr,"auto",xe,we],X=()=>["auto","min","max","fr",xe,we],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],B=()=>["auto",...O()],Y=()=>[Ao,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...O()],M=()=>[e,xe,we],z=()=>[...k(),w1,y1,{position:[xe,we]}],Q=()=>["no-repeat",{repeat:["","x","y","space","round"]}],D=()=>["auto","cover","contain",kq,Sq,{size:[xe,we]}],W=()=>[Uc,Qi,Hr],ie=()=>["","none","full",d,xe,we],$=()=>["",Te,Qi,Hr],Z=()=>["solid","dashed","dotted","double"],ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],K=()=>[Te,Uc,w1,y1],te=()=>["","none",E,xe,we],se=()=>["none",Te,xe,we],ae=()=>["none",Te,xe,we],ce=()=>[Te,xe,we],de=()=>[Ao,"full",...O()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[$n],breakpoint:[$n],color:[yq],container:[$n],"drop-shadow":[$n],ease:["in","out","in-out"],font:[bq],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[$n],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[$n],shadow:[$n],spacing:["px",Te],text:[$n],"text-shadow":[$n],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ao,we,xe,x]}],container:["container"],columns:[{columns:[Te,we,xe,u]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:R()}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:A()}],"overscroll-x":[{"overscroll-x":A()}],"overscroll-y":[{"overscroll-y":A()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:j()}],"inset-x":[{"inset-x":j()}],"inset-y":[{"inset-y":j()}],start:[{start:j()}],end:[{end:j()}],top:[{top:j()}],right:[{right:j()}],bottom:[{bottom:j()}],left:[{left:j()}],visibility:["visible","invisible","collapse"],z:[{z:[sr,"auto",xe,we]}],basis:[{basis:[Ao,"full","auto",u,...O()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Te,Ao,"auto","initial","none",we]}],grow:[{grow:["",Te,xe,we]}],shrink:[{shrink:["",Te,xe,we]}],order:[{order:[sr,"first","last","none",xe,we]}],"grid-cols":[{"grid-cols":U()}],"col-start-end":[{col:q()}],"col-start":[{"col-start":V()}],"col-end":[{"col-end":V()}],"grid-rows":[{"grid-rows":U()}],"row-start-end":[{row:q()}],"row-start":[{"row-start":V()}],"row-end":[{"row-end":V()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":X()}],"auto-rows":[{"auto-rows":X()}],gap:[{gap:O()}],"gap-x":[{"gap-x":O()}],"gap-y":[{"gap-y":O()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:O()}],px:[{px:O()}],py:[{py:O()}],ps:[{ps:O()}],pe:[{pe:O()}],pt:[{pt:O()}],pr:[{pr:O()}],pb:[{pb:O()}],pl:[{pl:O()}],m:[{m:B()}],mx:[{mx:B()}],my:[{my:B()}],ms:[{ms:B()}],me:[{me:B()}],mt:[{mt:B()}],mr:[{mr:B()}],mb:[{mb:B()}],ml:[{ml:B()}],"space-x":[{"space-x":O()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":O()}],"space-y-reverse":["space-y-reverse"],size:[{size:Y()}],w:[{w:[u,"screen",...Y()]}],"min-w":[{"min-w":[u,"screen","none",...Y()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...Y()]}],h:[{h:["screen","lh",...Y()]}],"min-h":[{"min-h":["screen","lh","none",...Y()]}],"max-h":[{"max-h":["screen","lh",...Y()]}],"font-size":[{text:["base",r,Qi,Hr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,xe,Gc]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Uc,we]}],"font-family":[{font:[Cq,we,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,xe,we]}],"line-clamp":[{"line-clamp":[Te,"none",xe,Gc]}],leading:[{leading:[a,...O()]}],"list-image":[{"list-image":["none",xe,we]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",xe,we]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:[Te,"from-font","auto",xe,Hr]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[Te,"auto",xe,we]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",xe,we]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",xe,we]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:z()}],"bg-repeat":[{bg:Q()}],"bg-size":[{bg:D()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},sr,xe,we],radial:["",xe,we],conic:[sr,xe,we]},Nq,Eq]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:W()}],"gradient-via-pos":[{via:W()}],"gradient-to-pos":[{to:W()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:ie()}],"rounded-s":[{"rounded-s":ie()}],"rounded-e":[{"rounded-e":ie()}],"rounded-t":[{"rounded-t":ie()}],"rounded-r":[{"rounded-r":ie()}],"rounded-b":[{"rounded-b":ie()}],"rounded-l":[{"rounded-l":ie()}],"rounded-ss":[{"rounded-ss":ie()}],"rounded-se":[{"rounded-se":ie()}],"rounded-ee":[{"rounded-ee":ie()}],"rounded-es":[{"rounded-es":ie()}],"rounded-tl":[{"rounded-tl":ie()}],"rounded-tr":[{"rounded-tr":ie()}],"rounded-br":[{"rounded-br":ie()}],"rounded-bl":[{"rounded-bl":ie()}],"border-w":[{border:$()}],"border-w-x":[{"border-x":$()}],"border-w-y":[{"border-y":$()}],"border-w-s":[{"border-s":$()}],"border-w-e":[{"border-e":$()}],"border-w-t":[{"border-t":$()}],"border-w-r":[{"border-r":$()}],"border-w-b":[{"border-b":$()}],"border-w-l":[{"border-l":$()}],"divide-x":[{"divide-x":$()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":$()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Z(),"hidden","none"]}],"divide-style":[{divide:[...Z(),"hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...Z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Te,xe,we]}],"outline-w":[{outline:["",Te,Qi,Hr]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",h,Fa,za]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",p,Fa,za]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:$()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[Te,Hr]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":$()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",m,Fa,za]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[Te,xe,we]}],"mix-blend":[{"mix-blend":[...ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Te]}],"mask-image-linear-from-pos":[{"mask-linear-from":K()}],"mask-image-linear-to-pos":[{"mask-linear-to":K()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":K()}],"mask-image-t-to-pos":[{"mask-t-to":K()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":K()}],"mask-image-r-to-pos":[{"mask-r-to":K()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":K()}],"mask-image-b-to-pos":[{"mask-b-to":K()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":K()}],"mask-image-l-to-pos":[{"mask-l-to":K()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":K()}],"mask-image-x-to-pos":[{"mask-x-to":K()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":K()}],"mask-image-y-to-pos":[{"mask-y-to":K()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[xe,we]}],"mask-image-radial-from-pos":[{"mask-radial-from":K()}],"mask-image-radial-to-pos":[{"mask-radial-to":K()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[Te]}],"mask-image-conic-from-pos":[{"mask-conic-from":K()}],"mask-image-conic-to-pos":[{"mask-conic-to":K()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:z()}],"mask-repeat":[{mask:Q()}],"mask-size":[{mask:D()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",xe,we]}],filter:[{filter:["","none",xe,we]}],blur:[{blur:te()}],brightness:[{brightness:[Te,xe,we]}],contrast:[{contrast:[Te,xe,we]}],"drop-shadow":[{"drop-shadow":["","none",w,Fa,za]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",Te,xe,we]}],"hue-rotate":[{"hue-rotate":[Te,xe,we]}],invert:[{invert:["",Te,xe,we]}],saturate:[{saturate:[Te,xe,we]}],sepia:[{sepia:["",Te,xe,we]}],"backdrop-filter":[{"backdrop-filter":["","none",xe,we]}],"backdrop-blur":[{"backdrop-blur":te()}],"backdrop-brightness":[{"backdrop-brightness":[Te,xe,we]}],"backdrop-contrast":[{"backdrop-contrast":[Te,xe,we]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Te,xe,we]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Te,xe,we]}],"backdrop-invert":[{"backdrop-invert":["",Te,xe,we]}],"backdrop-opacity":[{"backdrop-opacity":[Te,xe,we]}],"backdrop-saturate":[{"backdrop-saturate":[Te,xe,we]}],"backdrop-sepia":[{"backdrop-sepia":["",Te,xe,we]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":O()}],"border-spacing-x":[{"border-spacing-x":O()}],"border-spacing-y":[{"border-spacing-y":O()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",xe,we]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Te,"initial",xe,we]}],ease:[{ease:["linear","initial",b,xe,we]}],delay:[{delay:[Te,xe,we]}],animate:[{animate:["none",C,xe,we]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,xe,we]}],"perspective-origin":[{"perspective-origin":R()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[xe,we,"","none","gpu","cpu"]}],"transform-origin":[{origin:R()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",xe,we]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",xe,we]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[Te,Qi,Hr,Gc]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function dt(...e){return Tq(a1(e))}function $a(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return I.jsx($a,{type:f,position:d,id:u.id})}const{className:t,children:r,style:o,...s}=e,[a,l]=N.useState(!1);return I.jsx(Xi,{...s,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),style:{width:"var(--pynodeflow-handle-size, 11px)",height:"var(--pynodeflow-handle-size, 11px)",borderWidth:"var(--pynodeflow-handle-border-width, 2px)",borderColor:"var(--pynodeflow-handle-border-color, #000000ff)",backgroundColor:a?"var(--pynodeflow-handle-hover-bg, #747474ff)":"var(--pynodeflow-handle-bg, #000000ff)",...o},className:dt("h-[11px] w-[11px] rounded-full border border-slate-300 bg-slate-100 transition","dark:border-secondary dark:bg-secondary",t),children:r})}const Aq={top:"flex-col",right:"flex-row-reverse justify-end",bottom:"flex-col-reverse justify-end",left:"flex-row"};function C1(e){if("component"in e){const{component:d}=e,h=d.handle_type==="input"?"target":"source",p=d.handle_type==="input"?ve.Left:ve.Right,m=d.label+(d.required?" *":"");return I.jsx(C1,{type:h,position:p,id:d.id,title:m})}const{className:t,labelClassName:r,handleClassName:o,title:s,position:a,...l}=e,{ref:u,...f}=l;return I.jsxs("div",{title:s,className:dt("relative flex items-center",Aq[a],t),ref:u,children:[I.jsx($a,{position:a,className:o,...f}),I.jsx("label",{className:dt("text-foreground px-3",r),children:s})]})}const Iq={[ve.Top]:"flex-col-reverse left-1/2 -translate-y-full -translate-x-1/2",[ve.Bottom]:"flex-col left-1/2 translate-y-[10px] -translate-x-1/2",[ve.Left]:"flex-row-reverse top-1/2 -translate-x-full -translate-y-1/2",[ve.Right]:"top-1/2 -translate-y-1/2 translate-x-[10px]"};function k1(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return I.jsx(k1,{type:f,position:d,id:u.id,showButton:!0,children:I.jsxs("div",{className:"px-3 py-1.5 bg-secondary border-2 border-border rounded text-sm font-semibold cursor-pointer hover:bg-accent transition-colors",children:[u.label,u.required&&I.jsx("span",{className:"text-red-500 ml-1",children:"*"})]})})}const{showButton:t=!0,position:r=ve.Bottom,children:o,...s}=e,a=Iq[r||ve.Bottom],l=r===ve.Top||r===ve.Bottom;return I.jsx($a,{position:r,id:s.id,...s,children:t&&I.jsxs("div",{className:`absolute flex items-center ${a} pointer-events-none`,children:[I.jsx("div",{className:`bg-gray-300 ${l?"h-10 w-px":"h-px w-10"}`}),I.jsx("div",{className:"nodrag nopan pointer-events-auto",children:o})]})})}function Ba({className:e,type:t,...r}){return I.jsx("input",{type:t,"data-slot":"input",className:dt("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}const N1=$t.createContext(null);function Oo(){return $t.useContext(N1)}function Mq(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" "),t}function Oq(e){var a;if("component"in e){const{component:l,onValueChange:u}=e,f=Oo(),d=((a=f==null?void 0:f.nodeData.values)==null?void 0:a[l.id])??l.value??"",h=l.label??Mq(l.id);return I.jsxs("div",{className:"component-text-field",children:[I.jsx("label",{className:"text-xs text-gray-600 mb-1",children:h}),I.jsx(Ba,{type:"text",value:d,onChange:p=>u==null?void 0:u(l.id,p.target.value),onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),placeholder:l.placeholder,"aria-label":h,className:"h-8 text-xs"})]})}const{value:t,onChange:r,placeholder:o,label:s}=e;return I.jsx(Ba,{type:"text",value:t,onChange:l=>r(l.target.value),onMouseDown:l=>l.stopPropagation(),onPointerDown:l=>l.stopPropagation(),placeholder:o,"aria-label":s,className:"h-8 text-xs"})}function Lq(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" "),t}function Dq(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=Oo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??0,p=u.label??Lq(u.id);return I.jsxs("div",{className:"component-number-field",children:[I.jsx("label",{className:"text-xs text-gray-600 mb-1",children:p}),I.jsx(Ba,{type:"number",value:h,step:"any",onChange:m=>f==null?void 0:f(u.id,Number(m.target.value)),onMouseDownCapture:m=>m.stopPropagation(),onPointerDownCapture:m=>m.stopPropagation(),onWheel:m=>m.currentTarget.blur(),"aria-label":p,className:"h-8 text-xs"})]})}const{value:t,onChange:r,isInteger:o,placeholder:s,label:a}=e;return I.jsx(Ba,{type:"number",value:t,step:o?1:"any",onChange:u=>r(Number(u.target.value)),onMouseDownCapture:u=>u.stopPropagation(),onPointerDownCapture:u=>u.stopPropagation(),onWheel:u=>u.currentTarget.blur(),placeholder:s,"aria-label":a,className:"h-8 text-xs"})}function R1(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Zi(...e){return t=>{let r=!1;const o=e.map(s=>{const a=R1(s,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let s=0;s{var b;const{scope:m,children:w,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=N.useMemo(()=>E,Object.values(E));return I.jsx(y.Provider,{value:x,children:w})};d.displayName=a+"Provider";function h(p,m){var y;const w=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=N.useContext(w);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const s=()=>{const a=r.map(l=>N.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return N.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return s.scopeName=e,[o,jq(s,...t)]}function jq(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const o=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return N.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return r.scopeName=t.scopeName,r}function Ke(e,t,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e==null||e(s),r===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}var ht=globalThis!=null&&globalThis.document?N.useLayoutEffect:()=>{},qq=Ju[" useInsertionEffect ".trim().toString()]||ht;function Yc({prop:e,defaultProp:t,onChange:r=()=>{},caller:o}){const[s,a,l]=zq({defaultProp:t,onChange:r}),u=e!==void 0,f=u?e:s;{const h=N.useRef(e!==void 0);N.useEffect(()=>{const p=h.current;p!==u&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,o])}const d=N.useCallback(h=>{var p;if(u){const m=Fq(h)?h(e):h;m!==e&&((p=l.current)==null||p.call(l,m))}else a(h)},[u,e,a,l]);return[f,d]}function zq({defaultProp:e,onChange:t}){const[r,o]=N.useState(e),s=N.useRef(r),a=N.useRef(t);return qq(()=>{a.current=t},[t]),N.useEffect(()=>{var l;s.current!==r&&((l=a.current)==null||l.call(a,r),s.current=r)},[r,s]),[r,o,a]}function Fq(e){return typeof e=="function"}function P1(e){const t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function T1(e){const[t,r]=N.useState(void 0);return ht(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const a=s[0];let l,u;if("borderBoxSize"in a){const f=a.borderBoxSize,d=Array.isArray(f)?f[0]:f;l=d.inlineSize,u=d.blockSize}else l=e.offsetWidth,u=e.offsetHeight;r({width:l,height:u})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else r(void 0)},[e]),t}function $q(e,t){return N.useReducer((r,o)=>t[r][o]??r,e)}var A1=e=>{const{present:t,children:r}=e,o=Bq(t),s=typeof r=="function"?r({present:o.isPresent}):N.Children.only(r),a=et(o.ref,Vq(s));return typeof r=="function"||o.isPresent?N.cloneElement(s,{ref:a}):null};A1.displayName="Presence";function Bq(e){const[t,r]=N.useState(),o=N.useRef(null),s=N.useRef(e),a=N.useRef("none"),l=e?"mounted":"unmounted",[u,f]=$q(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return N.useEffect(()=>{const d=Ha(o.current);a.current=u==="mounted"?d:"none"},[u]),ht(()=>{const d=o.current,h=s.current;if(h!==e){const m=a.current,w=Ha(d);e?f("MOUNT"):w==="none"||(d==null?void 0:d.display)==="none"?f("UNMOUNT"):f(h&&m!==w?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,f]),ht(()=>{if(t){let d;const h=t.ownerDocument.defaultView??window,p=w=>{const y=Ha(o.current).includes(CSS.escape(w.animationName));if(w.target===t&&y&&(f("ANIMATION_END"),!s.current)){const x=t.style.animationFillMode;t.style.animationFillMode="forwards",d=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=x)})}},m=w=>{w.target===t&&(a.current=Ha(o.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{h.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:N.useCallback(d=>{o.current=d?getComputedStyle(d):null,r(d)},[])}}function Ha(e){return(e==null?void 0:e.animationName)||"none"}function Vq(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Hq(e){const t=Wq(e),r=N.forwardRef((o,s)=>{const{children:a,...l}=o,u=N.Children.toArray(a),f=u.find(Gq);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}function Wq(e){const t=N.forwardRef((r,o)=>{const{children:s,...a}=r;if(N.isValidElement(s)){const l=Kq(s),u=Yq(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Uq=Symbol("radix.slottable");function Gq(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Uq}function Yq(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function Kq(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Xq=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Fe=Xq.reduce((e,t)=>{const r=Hq(`Primitive.${t}`),o=N.forwardRef((s,a)=>{const{asChild:l,...u}=s,f=l?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),I.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Qq(e,t){e&&Gi.flushSync(()=>e.dispatchEvent(t))}var Wa="Checkbox",[Zq]=Va(Wa),[Jq,Kc]=Zq(Wa);function e3(e){const{__scopeCheckbox:t,checked:r,children:o,defaultChecked:s,disabled:a,form:l,name:u,onCheckedChange:f,required:d,value:h="on",internal_do_not_use_render:p}=e,[m,w]=Yc({prop:r,defaultProp:s??!1,onChange:f,caller:Wa}),[E,y]=N.useState(null),[x,b]=N.useState(null),C=N.useRef(!1),_=E?!!l||!!E.closest("form"):!0,k={checked:m,disabled:a,setChecked:w,control:E,setControl:y,name:u,form:l,value:h,hasConsumerStoppedPropagationRef:C,required:d,defaultChecked:ar(s)?!1:s,isFormControl:_,bubbleInput:x,setBubbleInput:b};return I.jsx(Jq,{scope:t,...k,children:t3(p)?p(k):o})}var I1="CheckboxTrigger",M1=N.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...o},s)=>{const{control:a,value:l,disabled:u,checked:f,required:d,setControl:h,setChecked:p,hasConsumerStoppedPropagationRef:m,isFormControl:w,bubbleInput:E}=Kc(I1,e),y=et(s,h),x=N.useRef(f);return N.useEffect(()=>{const b=a==null?void 0:a.form;if(b){const C=()=>p(x.current);return b.addEventListener("reset",C),()=>b.removeEventListener("reset",C)}},[a,p]),I.jsx(Fe.button,{type:"button",role:"checkbox","aria-checked":ar(f)?"mixed":f,"aria-required":d,"data-state":z1(f),"data-disabled":u?"":void 0,disabled:u,value:l,...o,ref:y,onKeyDown:Ke(t,b=>{b.key==="Enter"&&b.preventDefault()}),onClick:Ke(r,b=>{p(C=>ar(C)?!0:!C),E&&w&&(m.current=b.isPropagationStopped(),m.current||b.stopPropagation())})})});M1.displayName=I1;var O1=N.forwardRef((e,t)=>{const{__scopeCheckbox:r,name:o,checked:s,defaultChecked:a,required:l,disabled:u,value:f,onCheckedChange:d,form:h,...p}=e;return I.jsx(e3,{__scopeCheckbox:r,checked:s,defaultChecked:a,disabled:u,required:l,onCheckedChange:d,name:o,form:h,value:f,internal_do_not_use_render:({isFormControl:m})=>I.jsxs(I.Fragment,{children:[I.jsx(M1,{...p,ref:t,__scopeCheckbox:r}),m&&I.jsx(q1,{__scopeCheckbox:r})]})})});O1.displayName=Wa;var L1="CheckboxIndicator",D1=N.forwardRef((e,t)=>{const{__scopeCheckbox:r,forceMount:o,...s}=e,a=Kc(L1,r);return I.jsx(A1,{present:o||ar(a.checked)||a.checked===!0,children:I.jsx(Fe.span,{"data-state":z1(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:t,style:{pointerEvents:"none",...e.style}})})});D1.displayName=L1;var j1="CheckboxBubbleInput",q1=N.forwardRef(({__scopeCheckbox:e,...t},r)=>{const{control:o,hasConsumerStoppedPropagationRef:s,checked:a,defaultChecked:l,required:u,disabled:f,name:d,value:h,form:p,bubbleInput:m,setBubbleInput:w}=Kc(j1,e),E=et(r,w),y=P1(a),x=T1(o);N.useEffect(()=>{const C=m;if(!C)return;const _=window.HTMLInputElement.prototype,R=Object.getOwnPropertyDescriptor(_,"checked").set,T=!s.current;if(y!==a&&R){const A=new Event("click",{bubbles:T});C.indeterminate=ar(a),R.call(C,ar(a)?!1:a),C.dispatchEvent(A)}},[m,y,a,s]);const b=N.useRef(ar(a)?!1:a);return I.jsx(Fe.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??b.current,required:u,disabled:f,name:d,value:h,form:p,...t,tabIndex:-1,ref:E,style:{...t.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});q1.displayName=j1;function t3(e){return typeof e=="function"}function ar(e){return e==="indeterminate"}function z1(e){return ar(e)?"indeterminate":e?"checked":"unchecked"}/** +`)),h=d.reduce((p,m)=>p.concat(...m),[]);return[d,h]}return[[],[]]},[e]);return k.useEffect(()=>{const f=(t==null?void 0:t.target)??jx,d=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const h=v=>{var x,b;if(i.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!i.current||i.current&&!d)&&Gw(v))return!1;const y=zx(v.code,u);if(a.current.add(v[y]),qx(l,a.current,!1)){const C=((b=(x=v.composedPath)==null?void 0:x.call(v))==null?void 0:b[0])||v.target,_=(C==null?void 0:C.nodeName)==="BUTTON"||(C==null?void 0:C.nodeName)==="A";t.preventDefault!==!1&&(i.current||!_)&&v.preventDefault(),o(!0)}},p=v=>{const E=zx(v.code,u);qx(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(v[E]),v.key==="Meta"&&a.current.clear(),i.current=!1},m=()=>{a.current.clear(),o(!1)};return f==null||f.addEventListener("keydown",h),f==null||f.addEventListener("keyup",p),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{f==null||f.removeEventListener("keydown",h),f==null||f.removeEventListener("keyup",p),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[e,o]),n}function qx(e,t,n){return e.filter(o=>n||o.length===t.size).some(o=>o.every(i=>t.has(i)))}function zx(e,t){return t.includes(e)?"code":"key"}const ej=()=>{const e=Ve();return k.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[o,i,a],panZoom:l}=e.getState();return l?(await l.setViewport({x:t.x??o,y:t.y??i,zoom:t.zoom??a},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{const{width:o,height:i,minZoom:a,maxZoom:l,panZoom:u}=e.getState(),f=qc(t,o,i,a,l,(n==null?void 0:n.padding)??.1);return u?(await u.setViewport(f,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:o,snapGrid:i,snapToGrid:a,domNode:l}=e.getState();if(!l)return t;const{x:u,y:f}=l.getBoundingClientRect(),d={x:t.x-u,y:t.y-f},h=n.snapGrid??i,p=n.snapToGrid??a;return Qi(d,o,p,h)},flowToScreenPosition:t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:i,y:a}=o.getBoundingClientRect(),l=qa(t,n);return{x:l.x+i,y:l.y+a}}}),[])};function Fx(e,t){const n=[],o=new Map,i=[];for(const a of e)if(a.type==="add"){i.push(a);continue}else if(a.type==="remove"||a.type==="replace")o.set(a.id,[a]);else{const l=o.get(a.id);l?l.push(a):o.set(a.id,[a])}for(const a of t){const l=o.get(a.id);if(!l){n.push(a);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){n.push({...l[0].item});continue}const u={...a};for(const f of l)tj(f,u);n.push(u)}return i.length&&i.forEach(a=>{a.index!==void 0?n.splice(a.index,0,{...a.item}):n.push({...a.item})}),n}function tj(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured??(t.measured={}),t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function $x(e,t){return Fx(e,t)}function Bx(e,t){return Fx(e,t)}function Wr(e,t){return{id:e,type:"select",selected:t}}function Oo(e,t=new Set,n=!1){const o=[];for(const[i,a]of e){const l=t.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(n&&(a.selected=l),o.push(Wr(a.id,l)))}return o}function Vx({items:e=[],lookup:t}){var i;const n=[],o=new Map(e.map(a=>[a.id,a]));for(const[a,l]of e.entries()){const u=t.get(l.id),f=((i=u==null?void 0:u.internals)==null?void 0:i.userNode)??u;f!==void 0&&f!==l&&n.push({id:l.id,item:l,type:"replace"}),f===void 0&&n.push({item:l,type:"add",index:a})}for(const[a]of t)o.get(a)===void 0&&n.push({id:a,type:"remove"});return n}function Hx(e){return{id:e.id,type:"remove"}}const Wx=e=>kL(e),nj=e=>Dw(e);function Ux(e){return k.forwardRef(e)}const rj=typeof window<"u"?k.useLayoutEffect:k.useEffect;function Gx(e){const[t,n]=k.useState(BigInt(0)),[o]=k.useState(()=>oj(()=>n(i=>i+BigInt(1))));return rj(()=>{const i=o.get();i.length&&(e(i),o.reset())},[t]),o}function oj(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const Yx=k.createContext(null);function ij({children:e}){const t=Ve(),n=k.useCallback(u=>{const{nodes:f=[],setNodes:d,hasDefaultNodes:h,onNodesChange:p,nodeLookup:m,fitViewQueued:v}=t.getState();let E=f;for(const x of u)E=typeof x=="function"?x(E):x;const y=Vx({items:E,lookup:m});h&&d(E),y.length>0?p==null||p(y):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:x,nodes:b,setNodes:C}=t.getState();x&&C(b)})},[]),o=Gx(n),i=k.useCallback(u=>{const{edges:f=[],setEdges:d,hasDefaultEdges:h,onEdgesChange:p,edgeLookup:m}=t.getState();let v=f;for(const E of u)v=typeof E=="function"?E(v):E;h?d(v):p&&p(Vx({items:v,lookup:m}))},[]),a=Gx(i),l=k.useMemo(()=>({nodeQueue:o,edgeQueue:a}),[]);return R.jsx(Yx.Provider,{value:l,children:e})}function sj(){const e=k.useContext(Yx);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const aj=e=>!!e.panZoom;function tf(){const e=ej(),t=Ve(),n=sj(),o=Ie(aj),i=k.useMemo(()=>{const a=p=>t.getState().nodeLookup.get(p),l=p=>{n.nodeQueue.push(p)},u=p=>{n.edgeQueue.push(p)},f=p=>{var b,C;const{nodeLookup:m,nodeOrigin:v}=t.getState(),E=Wx(p)?p:m.get(p.id),y=E.parentId?Hw(E.position,E.measured,E.parentId,m,v):E.position,x={...E,position:y,width:((b=E.measured)==null?void 0:b.width)??E.width,height:((C=E.measured)==null?void 0:C.height)??E.height};return Po(x)},d=(p,m,v={replace:!1})=>{l(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return v.replace&&Wx(x)?x:{...y,...x}}return y}))},h=(p,m,v={replace:!1})=>{u(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return v.replace&&nj(x)?x:{...y,...x}}return y}))};return{getNodes:()=>t.getState().nodes.map(p=>({...p})),getNode:p=>{var m;return(m=a(p))==null?void 0:m.internals.userNode},getInternalNode:a,getEdges:()=>{const{edges:p=[]}=t.getState();return p.map(m=>({...m}))},getEdge:p=>t.getState().edgeLookup.get(p),setNodes:l,setEdges:u,addNodes:p=>{const m=Array.isArray(p)?p:[p];n.nodeQueue.push(v=>[...v,...m])},addEdges:p=>{const m=Array.isArray(p)?p:[p];n.edgeQueue.push(v=>[...v,...m])},toObject:()=>{const{nodes:p=[],edges:m=[],transform:v}=t.getState(),[E,y,x]=v;return{nodes:p.map(b=>({...b})),edges:m.map(b=>({...b})),viewport:{x:E,y,zoom:x}}},deleteElements:async({nodes:p=[],edges:m=[]})=>{const{nodes:v,edges:E,onNodesDelete:y,onEdgesDelete:x,triggerNodeChanges:b,triggerEdgeChanges:C,onDelete:_,onBeforeDelete:N}=t.getState(),{nodes:P,edges:T}=await AL({nodesToRemove:p,edgesToRemove:m,nodes:v,edges:E,onBeforeDelete:N}),I=T.length>0,O=P.length>0;if(I){const q=T.map(Hx);x==null||x(T),C(q)}if(O){const q=P.map(Hx);y==null||y(P),b(q)}return(O||I)&&(_==null||_({nodes:P,edges:T})),{deletedNodes:P,deletedEdges:T}},getIntersectingNodes:(p,m=!0,v)=>{const E=Bw(p),y=E?p:f(p),x=v!==void 0;return y?(v||t.getState().nodes).filter(b=>{const C=t.getState().nodeLookup.get(b.id);if(C&&!E&&(b.id===p.id||!C.internals.positionAbsolute))return!1;const _=Po(x?b:C),N=Ki(_,y);return m&&N>0||N>=_.width*_.height||N>=y.width*y.height}):[]},isNodeIntersecting:(p,m,v=!0)=>{const y=Bw(p)?p:f(p);if(!y)return!1;const x=Ki(y,m);return v&&x>0||x>=m.width*m.height||x>=y.width*y.height},updateNode:d,updateNodeData:(p,m,v={replace:!1})=>{d(p,E=>{const y=typeof m=="function"?m(E):m;return v.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},v)},updateEdge:h,updateEdgeData:(p,m,v={replace:!1})=>{h(p,E=>{const y=typeof m=="function"?m(E):m;return v.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},v)},getNodesBounds:p=>{const{nodeLookup:m,nodeOrigin:v}=t.getState();return NL(p,{nodeLookup:m,nodeOrigin:v})},getHandleConnections:({type:p,id:m,nodeId:v})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${v}-${p}${m?`-${m}`:""}`))==null?void 0:E.values())??[])},getNodeConnections:({type:p,handleId:m,nodeId:v})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${v}${p?m?`-${p}-${m}`:`-${p}`:""}`))==null?void 0:E.values())??[])},fitView:async p=>{const m=t.getState().fitViewResolver??LL();return t.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:m}),n.nodeQueue.push(v=>[...v]),m.promise}}},[]);return k.useMemo(()=>({...i,...e,viewportInitialized:o}),[o])}const Kx=e=>e.selected,lj=typeof window<"u"?window:void 0;function uj({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Ve(),{deleteElements:o}=tf(),i=rs(e,{actInsideInputWithModifier:!1}),a=rs(t,{target:lj});k.useEffect(()=>{if(i){const{edges:l,nodes:u}=n.getState();o({nodes:u.filter(Kx),edges:l.filter(Kx)}),n.setState({nodesSelectionActive:!1})}},[i]),k.useEffect(()=>{n.setState({multiSelectionActive:a})},[a])}function cj(e){const t=Ve();k.useEffect(()=>{const n=()=>{var i,a,l,u;if(!e.current||!(((a=(i=e.current).checkVisibility)==null?void 0:a.call(i))??!0))return!1;const o=zc(e.current);(o.height===0||o.width===0)&&((u=(l=t.getState()).onError)==null||u.call(l,"004",Cn.error004())),t.setState({width:o.width||500,height:o.height||500})};if(e.current){n(),window.addEventListener("resize",n);const o=new ResizeObserver(()=>n());return o.observe(e.current),()=>{window.removeEventListener("resize",n),o&&e.current&&o.unobserve(e.current)}}},[])}const Ha={position:"absolute",width:"100%",height:"100%",top:0,left:0},fj=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function dj({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:i=.5,panOnScrollMode:a=Vr.Free,zoomOnDoubleClick:l=!0,panOnDrag:u=!0,defaultViewport:f,translateExtent:d,minZoom:h,maxZoom:p,zoomActivationKeyCode:m,preventScrolling:v=!0,children:E,noWheelClassName:y,noPanClassName:x,onViewportChange:b,isControlledViewport:C,paneClickDistance:_,selectionOnDrag:N}){const P=Ve(),T=k.useRef(null),{userSelectionActive:I,lib:O,connectionInProgress:q}=Ie(fj,Ue),G=rs(m),F=k.useRef();cj(T);const j=k.useCallback(W=>{b==null||b({x:W[0],y:W[1],zoom:W[2]}),C||P.setState({transform:W})},[b,C]);return k.useEffect(()=>{if(T.current){F.current=vD({domNode:T.current,minZoom:h,maxZoom:p,translateExtent:d,viewport:f,onDraggingChange:z=>P.setState({paneDragging:z}),onPanZoomStart:(z,Y)=>{const{onViewportChangeStart:M,onMoveStart:$}=P.getState();$==null||$(z,Y),M==null||M(Y)},onPanZoom:(z,Y)=>{const{onViewportChange:M,onMove:$}=P.getState();$==null||$(z,Y),M==null||M(Y)},onPanZoomEnd:(z,Y)=>{const{onViewportChangeEnd:M,onMoveEnd:$}=P.getState();$==null||$(z,Y),M==null||M(Y)}});const{x:W,y:L,zoom:H}=F.current.getViewport();return P.setState({panZoom:F.current,transform:[W,L,H],domNode:T.current.closest(".react-flow")}),()=>{var z;(z=F.current)==null||z.destroy()}}},[]),k.useEffect(()=>{var W;(W=F.current)==null||W.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:i,panOnScrollMode:a,zoomOnDoubleClick:l,panOnDrag:u,zoomActivationKeyPressed:G,preventScrolling:v,noPanClassName:x,userSelectionActive:I,noWheelClassName:y,lib:O,onTransformChange:j,connectionInProgress:q,selectionOnDrag:N,paneClickDistance:_})},[e,t,n,o,i,a,l,u,G,v,x,I,y,O,j,q,N,_]),R.jsx("div",{className:"react-flow__renderer",ref:T,style:Ha,children:E})}const hj=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function pj(){const{userSelectionActive:e,userSelectionRect:t}=Ie(hj,Ue);return e&&t?R.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const nf=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},gj=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function mj({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Ui.Full,panOnDrag:o,paneClickDistance:i,selectionOnDrag:a,onSelectionStart:l,onSelectionEnd:u,onPaneClick:f,onPaneContextMenu:d,onPaneScroll:h,onPaneMouseEnter:p,onPaneMouseMove:m,onPaneMouseLeave:v,children:E}){const y=Ve(),{userSelectionActive:x,elementsSelectable:b,dragging:C,connectionInProgress:_}=Ie(gj,Ue),N=b&&(e||x),P=k.useRef(null),T=k.useRef(),I=k.useRef(new Set),O=k.useRef(new Set),q=k.useRef(!1),G=M=>{if(q.current||_){q.current=!1;return}f==null||f(M),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},F=M=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){M.preventDefault();return}d==null||d(M)},j=h?M=>h(M):void 0,W=M=>{q.current&&(M.stopPropagation(),q.current=!1)},L=M=>{var Z,ee;const{domNode:$}=y.getState();if(T.current=$==null?void 0:$.getBoundingClientRect(),!T.current)return;const Q=M.target===P.current;if(!Q&&!!M.target.closest(".nokey")||!e||!(a&&Q||t)||M.button!==0||!M.isPrimary)return;(ee=(Z=M.target)==null?void 0:Z.setPointerCapture)==null||ee.call(Z,M.pointerId),q.current=!1;const{x:ie,y:V}=an(M.nativeEvent,T.current);y.setState({userSelectionRect:{width:0,height:0,startX:ie,startY:V,x:ie,y:V}}),Q||(M.stopPropagation(),M.preventDefault())},H=M=>{const{userSelectionRect:$,transform:Q,nodeLookup:D,edgeLookup:U,connectionLookup:ie,triggerNodeChanges:V,triggerEdgeChanges:Z,defaultEdgeOptions:ee,resetSelectedElements:X}=y.getState();if(!T.current||!$)return;const{x:te,y:se}=an(M.nativeEvent,T.current),{startX:ae,startY:ce}=$;if(!q.current){const Re=t?0:i;if(Math.hypot(te-ae,se-ce)<=Re)return;X(),l==null||l(M)}q.current=!0;const de={startX:ae,startY:ce,x:teRe.id)),O.current=new Set;const me=(ee==null?void 0:ee.selectable)??!0;for(const Re of I.current){const Ee=ie.get(Re);if(Ee)for(const{edgeId:Je}of Ee.values()){const Ge=U.get(Je);Ge&&(Ge.selectable??me)&&O.current.add(Je)}}if(!Ww(pe,I.current)){const Re=Oo(D,I.current,!0);V(Re)}if(!Ww(be,O.current)){const Re=Oo(U,O.current);Z(Re)}y.setState({userSelectionRect:de,userSelectionActive:!0,nodesSelectionActive:!1})},z=M=>{var $,Q;M.button===0&&((Q=($=M.target)==null?void 0:$.releasePointerCapture)==null||Q.call($,M.pointerId),!x&&M.target===P.current&&y.getState().userSelectionRect&&(G==null||G(M)),y.setState({userSelectionActive:!1,userSelectionRect:null}),q.current&&(u==null||u(M),y.setState({nodesSelectionActive:I.current.size>0})))},Y=o===!0||Array.isArray(o)&&o.includes(0);return R.jsxs("div",{className:tt(["react-flow__pane",{draggable:Y,dragging:C,selection:e}]),onClick:N?void 0:nf(G,P),onContextMenu:nf(F,P),onWheel:nf(j,P),onPointerEnter:N?void 0:p,onPointerMove:N?H:m,onPointerUp:N?z:void 0,onPointerDownCapture:N?L:void 0,onClickCapture:N?W:void 0,onPointerLeave:v,ref:P,style:Ha,children:[E,R.jsx(pj,{})]})}function rf({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:l,nodeLookup:u,onError:f}=t.getState(),d=u.get(e);if(!d){f==null||f("012",Cn.error012(e));return}t.setState({nodesSelectionActive:!1}),d.selected?(n||d.selected&&l)&&(a({nodes:[d],edges:[]}),requestAnimationFrame(()=>{var h;return(h=o==null?void 0:o.current)==null?void 0:h.blur()})):i([e])}function Xx({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:a,nodeClickDistance:l}){const u=Ve(),[f,d]=k.useState(!1),h=k.useRef();return k.useEffect(()=>{h.current=rD({getStoreItems:()=>u.getState(),onNodeMouseDown:p=>{rf({id:p,store:u,nodeRef:e})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),k.useEffect(()=>{var p,m;if(t)(p=h.current)==null||p.destroy();else if(e.current)return(m=h.current)==null||m.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:l}),()=>{var v;(v=h.current)==null||v.destroy()}},[n,o,t,a,e,i]),f}const vj=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Qx(){const e=Ve();return k.useCallback(n=>{const{nodeExtent:o,snapToGrid:i,snapGrid:a,nodesDraggable:l,onError:u,updateNodePositions:f,nodeLookup:d,nodeOrigin:h}=e.getState(),p=new Map,m=vj(l),v=i?a[0]:5,E=i?a[1]:5,y=n.direction.x*v*n.factor,x=n.direction.y*E*n.factor;for(const[,b]of d){if(!m(b))continue;let C={x:b.internals.positionAbsolute.x+y,y:b.internals.positionAbsolute.y+x};i&&(C=Xi(C,a));const{position:_,positionAbsolute:N}=jw({nodeId:b.id,nextPosition:C,nodeLookup:d,nodeExtent:o,nodeOrigin:h,onError:u});b.position=_,b.internals.positionAbsolute=N,p.set(b.id,b)}f(p)},[])}const of=k.createContext(null),yj=of.Provider;of.Consumer;const Zx=()=>k.useContext(of),wj=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),xj=(e,t,n)=>o=>{const{connectionClickStartHandle:i,connectionMode:a,connection:l}=o,{fromHandle:u,toHandle:f,isValid:d}=l,h=(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===t&&(f==null?void 0:f.type)===n;return{connectingFrom:(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.id)===t&&(u==null?void 0:u.type)===n,connectingTo:h,clickConnecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.id)===t&&(i==null?void 0:i.type)===n,isPossibleEndHandle:a===No.Strict?(u==null?void 0:u.type)!==n:e!==(u==null?void 0:u.nodeId)||t!==(u==null?void 0:u.id),connectionInProcess:!!u,clickConnectionInProcess:!!i,valid:h&&d}};function _j({type:e="source",position:t=ve.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:l,onConnect:u,children:f,className:d,onMouseDown:h,onTouchStart:p,...m},v){var H,z;const E=l||null,y=e==="target",x=Ve(),b=Zx(),{connectOnClick:C,noPanClassName:_,rfId:N}=Ie(wj,Ue),{connectingFrom:P,connectingTo:T,clickConnecting:I,isPossibleEndHandle:O,connectionInProcess:q,clickConnectionInProcess:G,valid:F}=Ie(xj(b,E,e),Ue);b||(z=(H=x.getState()).onError)==null||z.call(H,"010",Cn.error010());const j=Y=>{const{defaultEdgeOptions:M,onConnect:$,hasDefaultEdges:Q}=x.getState(),D={...M,...Y};if(Q){const{edges:U,setEdges:ie}=x.getState();ie(ex(D,U))}$==null||$(D),u==null||u(D)},W=Y=>{if(!b)return;const M=Yw(Y.nativeEvent);if(i&&(M&&Y.button===0||!M)){const $=x.getState();Yc.onPointerDown(Y.nativeEvent,{handleDomNode:Y.currentTarget,autoPanOnConnect:$.autoPanOnConnect,connectionMode:$.connectionMode,connectionRadius:$.connectionRadius,domNode:$.domNode,nodeLookup:$.nodeLookup,lib:$.lib,isTarget:y,handleId:E,nodeId:b,flowId:$.rfId,panBy:$.panBy,cancelConnection:$.cancelConnection,onConnectStart:$.onConnectStart,onConnectEnd:$.onConnectEnd,updateConnection:$.updateConnection,onConnect:j,isValidConnection:n||$.isValidConnection,getTransform:()=>x.getState().transform,getFromHandle:()=>x.getState().connection.fromHandle,autoPanSpeed:$.autoPanSpeed,dragThreshold:$.connectionDragThreshold})}M?h==null||h(Y):p==null||p(Y)},L=Y=>{const{onClickConnectStart:M,onClickConnectEnd:$,connectionClickStartHandle:Q,connectionMode:D,isValidConnection:U,lib:ie,rfId:V,nodeLookup:Z,connection:ee}=x.getState();if(!b||!Q&&!i)return;if(!Q){M==null||M(Y.nativeEvent,{nodeId:b,handleId:E,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:b,type:e,id:E}});return}const X=Uw(Y.target),te=n||U,{connection:se,isValid:ae}=Yc.isValid(Y.nativeEvent,{handle:{nodeId:b,id:E,type:e},connectionMode:D,fromNodeId:Q.nodeId,fromHandleId:Q.id||null,fromType:Q.type,isValidConnection:te,flowId:V,doc:X,lib:ie,nodeLookup:Z});ae&&se&&j(se);const ce=structuredClone(ee);delete ce.inProgress,ce.toPosition=ce.toHandle?ce.toHandle.position:null,$==null||$(Y,ce),x.setState({connectionClickStartHandle:null})};return R.jsx("div",{"data-handleid":E,"data-nodeid":b,"data-handlepos":t,"data-id":`${N}-${b}-${E}-${e}`,className:tt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",_,d,{source:!y,target:y,connectable:o,connectablestart:i,connectableend:a,clickconnecting:I,connectingfrom:P,connectingto:T,valid:F,connectionindicator:o&&(!q||O)&&(q||G?a:i)}]),onMouseDown:W,onTouchStart:W,onClick:C?L:void 0,ref:v,...m,children:f})}const os=k.memo(Ux(_j));function bj({data:e,isConnectable:t,sourcePosition:n=ve.Bottom}){return R.jsxs(R.Fragment,{children:[e==null?void 0:e.label,R.jsx(os,{type:"source",position:n,isConnectable:t})]})}function Sj({data:e,isConnectable:t,targetPosition:n=ve.Top,sourcePosition:o=ve.Bottom}){return R.jsxs(R.Fragment,{children:[R.jsx(os,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,R.jsx(os,{type:"source",position:o,isConnectable:t})]})}function Ej(){return null}function Cj({data:e,isConnectable:t,targetPosition:n=ve.Top}){return R.jsxs(R.Fragment,{children:[R.jsx(os,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const Wa={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Jx={input:bj,default:Sj,output:Cj,group:Ej};function kj(e){var t,n,o,i;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((o=e.style)==null?void 0:o.width),height:e.height??((i=e.style)==null?void 0:i.height)}}const Nj=e=>{const{width:t,height:n,x:o,y:i}=Yi(e.nodeLookup,{filter:a=>!!a.selected});return{width:sn(t)?t:null,height:sn(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${i}px)`}};function Rj({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const o=Ve(),{width:i,height:a,transformString:l,userSelectionActive:u}=Ie(Nj,Ue),f=Qx(),d=k.useRef(null);if(k.useEffect(()=>{var m;n||(m=d.current)==null||m.focus({preventScroll:!0})},[n]),Xx({nodeRef:d}),u||!i||!a)return null;const h=e?m=>{const v=o.getState().nodes.filter(E=>E.selected);e(m,v)}:void 0,p=m=>{Object.prototype.hasOwnProperty.call(Wa,m.key)&&(m.preventDefault(),f({direction:Wa[m.key],factor:m.shiftKey?4:1}))};return R.jsx("div",{className:tt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:R.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:p,style:{width:i,height:a}})})}const e_=typeof window<"u"?window:void 0,Pj=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function t_({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:l,paneClickDistance:u,deleteKeyCode:f,selectionKeyCode:d,selectionOnDrag:h,selectionMode:p,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:E,panActivationKeyCode:y,zoomActivationKeyCode:x,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:N,panOnScrollSpeed:P,panOnScrollMode:T,zoomOnDoubleClick:I,panOnDrag:O,defaultViewport:q,translateExtent:G,minZoom:F,maxZoom:j,preventScrolling:W,onSelectionContextMenu:L,noWheelClassName:H,noPanClassName:z,disableKeyboardA11y:Y,onViewportChange:M,isControlledViewport:$}){const{nodesSelectionActive:Q,userSelectionActive:D}=Ie(Pj),U=rs(d,{target:e_}),ie=rs(y,{target:e_}),V=ie||O,Z=ie||N,ee=h&&V!==!0,X=U||D||ee;return uj({deleteKeyCode:f,multiSelectionKeyCode:E}),R.jsx(dj,{onPaneContextMenu:a,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:Z,panOnScrollSpeed:P,panOnScrollMode:T,zoomOnDoubleClick:I,panOnDrag:!U&&V,defaultViewport:q,translateExtent:G,minZoom:F,maxZoom:j,zoomActivationKeyCode:x,preventScrolling:W,noWheelClassName:H,noPanClassName:z,onViewportChange:M,isControlledViewport:$,paneClickDistance:u,selectionOnDrag:ee,children:R.jsxs(mj,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:l,panOnDrag:V,isSelecting:!!X,selectionMode:p,selectionKeyPressed:U,paneClickDistance:u,selectionOnDrag:ee,children:[e,Q&&R.jsx(Rj,{onSelectionContextMenu:L,noPanClassName:z,disableKeyboardA11y:Y})]})})}t_.displayName="FlowRenderer";const Tj=k.memo(t_),Aj=e=>t=>e?Dc(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function Ij(e){return Ie(k.useCallback(Aj(e),[e]),Ue)}const Mj=e=>e.updateNodeInternals;function Oj(){const e=Ie(Mj),[t]=k.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const o=new Map;n.forEach(i=>{const a=i.target.getAttribute("data-id");o.set(a,{id:a,nodeElement:i.target,force:!0})}),e(o)}));return k.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function Lj({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){const i=Ve(),a=k.useRef(null),l=k.useRef(null),u=k.useRef(e.sourcePosition),f=k.useRef(e.targetPosition),d=k.useRef(t),h=n&&!!e.internals.handleBounds;return k.useEffect(()=>{a.current&&!e.hidden&&(!h||l.current!==a.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(a.current),l.current=a.current)},[h,e.hidden]),k.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),k.useEffect(()=>{if(a.current){const p=d.current!==t,m=u.current!==e.sourcePosition,v=f.current!==e.targetPosition;(p||m||v)&&(d.current=t,u.current=e.sourcePosition,f.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function Dj({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:i,onContextMenu:a,onDoubleClick:l,nodesDraggable:u,elementsSelectable:f,nodesConnectable:d,nodesFocusable:h,resizeObserver:p,noDragClassName:m,noPanClassName:v,disableKeyboardA11y:E,rfId:y,nodeTypes:x,nodeClickDistance:b,onError:C}){const{node:_,internals:N,isParent:P}=Ie(te=>{const se=te.nodeLookup.get(e),ae=te.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ae}},Ue);let T=_.type||"default",I=(x==null?void 0:x[T])||Jx[T];I===void 0&&(C==null||C("003",Cn.error003(T)),T="default",I=(x==null?void 0:x.default)||Jx.default);const O=!!(_.draggable||u&&typeof _.draggable>"u"),q=!!(_.selectable||f&&typeof _.selectable>"u"),G=!!(_.connectable||d&&typeof _.connectable>"u"),F=!!(_.focusable||h&&typeof _.focusable>"u"),j=Ve(),W=Vw(_),L=Lj({node:_,nodeType:T,hasDimensions:W,resizeObserver:p}),H=Xx({nodeRef:L,disabled:_.hidden||!O,noDragClassName:m,handleSelector:_.dragHandle,nodeId:e,isSelectable:q,nodeClickDistance:b}),z=Qx();if(_.hidden)return null;const Y=Hn(_),M=kj(_),$=q||O||t||n||o||i,Q=n?te=>n(te,{...N.userNode}):void 0,D=o?te=>o(te,{...N.userNode}):void 0,U=i?te=>i(te,{...N.userNode}):void 0,ie=a?te=>a(te,{...N.userNode}):void 0,V=l?te=>l(te,{...N.userNode}):void 0,Z=te=>{const{selectNodesOnDrag:se,nodeDragThreshold:ae}=j.getState();q&&(!se||!O||ae>0)&&rf({id:e,store:j,nodeRef:L}),t&&t(te,{...N.userNode})},ee=te=>{if(!(Gw(te.nativeEvent)||E)){if(Aw.includes(te.key)&&q){const se=te.key==="Escape";rf({id:e,store:j,unselect:se,nodeRef:L})}else if(O&&_.selected&&Object.prototype.hasOwnProperty.call(Wa,te.key)){te.preventDefault();const{ariaLabelConfig:se}=j.getState();j.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:te.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),z({direction:Wa[te.key],factor:te.shiftKey?4:1})}}},X=()=>{var be;if(E||!((be=L.current)!=null&&be.matches(":focus-visible")))return;const{transform:te,width:se,height:ae,autoPanOnNodeFocus:ce,setCenter:de}=j.getState();if(!ce)return;Dc(new Map([[e,_]]),{x:0,y:0,width:se,height:ae},te,!0).length>0||de(_.position.x+Y.width/2,_.position.y+Y.height/2,{zoom:te[2]})};return R.jsx("div",{className:tt(["react-flow__node",`react-flow__node-${T}`,{[v]:O},_.className,{selected:_.selected,selectable:q,parent:P,draggable:O,dragging:H}]),ref:L,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:$?"all":"none",visibility:W?"visible":"hidden",..._.style,...M},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Q,onMouseMove:D,onMouseLeave:U,onContextMenu:ie,onClick:Z,onDoubleClick:V,onKeyDown:F?ee:void 0,tabIndex:F?0:void 0,onFocus:F?X:void 0,role:_.ariaRole??(F?"group":void 0),"aria-roledescription":"node","aria-describedby":E?void 0:`${Ax}-${y}`,"aria-label":_.ariaLabel,..._.domAttributes,children:R.jsx(yj,{value:e,children:R.jsx(I,{id:e,data:_.data,type:T,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:_.selected??!1,selectable:q,draggable:O,deletable:_.deletable??!0,isConnectable:G,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:H,dragHandle:_.dragHandle,zIndex:N.z,parentId:_.parentId,...Y})})})}var jj=k.memo(Dj);const qj=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function n_(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,onError:a}=Ie(qj,Ue),l=Ij(e.onlyRenderVisibleElements),u=Oj();return R.jsx("div",{className:"react-flow__nodes",style:Ha,children:l.map(f=>R.jsx(jj,{id:f,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:a},f))})}n_.displayName="NodeRenderer";const zj=k.memo(n_);function Fj(e){return Ie(k.useCallback(n=>{if(!e)return n.edges.map(i=>i.id);const o=[];if(n.width&&n.height)for(const i of n.edges){const a=n.nodeLookup.get(i.source),l=n.nodeLookup.get(i.target);a&&l&&zL({sourceNode:a,targetNode:l,width:n.width,height:n.height,transform:n.transform})&&o.push(i.id)}return o},[e]),Ue)}const $j=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return R.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Bj=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return R.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},r_={[Oa.Arrow]:$j,[Oa.ArrowClosed]:Bj};function Vj(e){const t=Ve();return k.useMemo(()=>{var i,a;return Object.prototype.hasOwnProperty.call(r_,e)?r_[e]:((a=(i=t.getState()).onError)==null||a.call(i,"009",Cn.error009(e)),null)},[e])}const Hj=({id:e,type:t,color:n,width:o=12.5,height:i=12.5,markerUnits:a="strokeWidth",strokeWidth:l,orient:u="auto-start-reverse"})=>{const f=Vj(t);return f?R.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:u,refX:"0",refY:"0",children:R.jsx(f,{color:n,strokeWidth:l})}):null},o_=({defaultColor:e,rfId:t})=>{const n=Ie(a=>a.edges),o=Ie(a=>a.defaultEdgeOptions),i=k.useMemo(()=>UL(n,{id:t,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[n,o,t,e]);return i.length?R.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:R.jsx("defs",{children:i.map(a=>R.jsx(Hj,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};o_.displayName="MarkerDefinitions";var Wj=k.memo(o_);function i_({x:e,y:t,label:n,labelStyle:o,labelShowBg:i=!0,labelBgStyle:a,labelBgPadding:l=[2,4],labelBgBorderRadius:u=2,children:f,className:d,...h}){const[p,m]=k.useState({x:1,y:0,width:0,height:0}),v=tt(["react-flow__edge-textwrapper",d]),E=k.useRef(null);return k.useEffect(()=>{if(E.current){const y=E.current.getBBox();m({x:y.x,y:y.y,width:y.width,height:y.height})}},[n]),n?R.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...h,children:[i&&R.jsx("rect",{width:p.width+2*l[0],x:-l[0],y:-l[1],height:p.height+2*l[1],className:"react-flow__edge-textbg",style:a,rx:u,ry:u}),R.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:E,style:o,children:n}),f]}):null}i_.displayName="EdgeText";const Uj=k.memo(i_);function Ua({path:e,labelX:t,labelY:n,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f,interactionWidth:d=20,...h}){return R.jsxs(R.Fragment,{children:[R.jsx("path",{...h,d:e,fill:"none",className:tt(["react-flow__edge-path",h.className])}),d?R.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}):null,o&&sn(t)&&sn(n)?R.jsx(Uj,{x:t,y:n,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f}):null]})}function s_({pos:e,x1:t,y1:n,x2:o,y2:i}){return e===ve.Left||e===ve.Right?[.5*(t+o),n]:[t,.5*(n+i)]}function a_({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:o,targetY:i,targetPosition:a=ve.Top}){const[l,u]=s_({pos:n,x1:e,y1:t,x2:o,y2:i}),[f,d]=s_({pos:a,x1:o,y1:i,x2:e,y2:t}),[h,p,m,v]=Xw({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:l,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${e},${t} C${l},${u} ${f},${d} ${o},${i}`,h,p,m,v]}function l_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,sourcePosition:l,targetPosition:u,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,interactionWidth:b})=>{const[C,_,N]=a_({sourceX:n,sourceY:o,sourcePosition:l,targetX:i,targetY:a,targetPosition:u}),P=e.isInternal?void 0:t;return R.jsx(Ua,{id:P,path:C,labelX:_,labelY:N,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,interactionWidth:b})})}const Gj=l_({isInternal:!1}),u_=l_({isInternal:!0});Gj.displayName="SimpleBezierEdge",u_.displayName="SimpleBezierEdgeInternal";function c_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,sourcePosition:v=ve.Bottom,targetPosition:E=ve.Top,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,N,P]=Fc({sourceX:n,sourceY:o,sourcePosition:v,targetX:i,targetY:a,targetPosition:E,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),T=e.isInternal?void 0:t;return R.jsx(Ua,{id:T,path:_,labelX:N,labelY:P,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:y,markerStart:x,interactionWidth:C})})}const f_=c_({isInternal:!1}),d_=c_({isInternal:!0});f_.displayName="SmoothStepEdge",d_.displayName="SmoothStepEdgeInternal";function h_(e){return k.memo(({id:t,...n})=>{var i;const o=e.isInternal?void 0:t;return R.jsx(f_,{...n,id:o,pathOptions:k.useMemo(()=>{var a;return{borderRadius:0,offset:(a=n.pathOptions)==null?void 0:a.offset}},[(i=n.pathOptions)==null?void 0:i.offset])})})}const Yj=h_({isInternal:!1}),p_=h_({isInternal:!0});Yj.displayName="StepEdge",p_.displayName="StepEdgeInternal";function g_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:v,markerStart:E,interactionWidth:y})=>{const[x,b,C]=tx({sourceX:n,sourceY:o,targetX:i,targetY:a}),_=e.isInternal?void 0:t;return R.jsx(Ua,{id:_,path:x,labelX:b,labelY:C,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:v,markerStart:E,interactionWidth:y})})}const Kj=g_({isInternal:!1}),m_=g_({isInternal:!0});Kj.displayName="StraightEdge",m_.displayName="StraightEdgeInternal";function v_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,sourcePosition:l=ve.Bottom,targetPosition:u=ve.Top,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,N,P]=Zw({sourceX:n,sourceY:o,sourcePosition:l,targetX:i,targetY:a,targetPosition:u,curvature:b==null?void 0:b.curvature}),T=e.isInternal?void 0:t;return R.jsx(Ua,{id:T,path:_,labelX:N,labelY:P,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,interactionWidth:C})})}const Xj=v_({isInternal:!1}),y_=v_({isInternal:!0});Xj.displayName="BezierEdge",y_.displayName="BezierEdgeInternal";const w_={default:y_,straight:m_,step:p_,smoothstep:d_,simplebezier:u_},x_={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Qj=(e,t,n)=>n===ve.Left?e-t:n===ve.Right?e+t:e,Zj=(e,t,n)=>n===ve.Top?e-t:n===ve.Bottom?e+t:e,__="react-flow__edgeupdater";function b_({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:a,onMouseOut:l,type:u}){return R.jsx("circle",{onMouseDown:i,onMouseEnter:a,onMouseOut:l,className:tt([__,`${__}-${u}`]),cx:Qj(t,o,e),cy:Zj(n,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Jj({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:i,targetX:a,targetY:l,sourcePosition:u,targetPosition:f,onReconnect:d,onReconnectStart:h,onReconnectEnd:p,setReconnecting:m,setUpdateHover:v}){const E=Ve(),y=(N,P)=>{if(N.button!==0)return;const{autoPanOnConnect:T,domNode:I,isValidConnection:O,connectionMode:q,connectionRadius:G,lib:F,onConnectStart:j,onConnectEnd:W,cancelConnection:L,nodeLookup:H,rfId:z,panBy:Y,updateConnection:M}=E.getState(),$=P.type==="target",Q=(ie,V)=>{m(!1),p==null||p(ie,n,P.type,V)},D=ie=>d==null?void 0:d(n,ie),U=(ie,V)=>{m(!0),h==null||h(N,n,P.type),j==null||j(ie,V)};Yc.onPointerDown(N.nativeEvent,{autoPanOnConnect:T,connectionMode:q,connectionRadius:G,domNode:I,handleId:P.id,nodeId:P.nodeId,nodeLookup:H,isTarget:$,edgeUpdaterType:P.type,lib:F,flowId:z,cancelConnection:L,panBy:Y,isValidConnection:O,onConnect:D,onConnectStart:U,onConnectEnd:W,onReconnectEnd:Q,updateConnection:M,getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,dragThreshold:E.getState().connectionDragThreshold,handleDomNode:N.currentTarget})},x=N=>y(N,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),b=N=>y(N,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),C=()=>v(!0),_=()=>v(!1);return R.jsxs(R.Fragment,{children:[(e===!0||e==="source")&&R.jsx(b_,{position:u,centerX:o,centerY:i,radius:t,onMouseDown:x,onMouseEnter:C,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&R.jsx(b_,{position:f,centerX:a,centerY:l,radius:t,onMouseDown:b,onMouseEnter:C,onMouseOut:_,type:"target"})]})}function eq({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:i,onDoubleClick:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:v,rfId:E,edgeTypes:y,noPanClassName:x,onError:b,disableKeyboardA11y:C}){let _=Ie(de=>de.edgeLookup.get(e));const N=Ie(de=>de.defaultEdgeOptions);_=N?{...N,..._}:_;let P=_.type||"default",T=(y==null?void 0:y[P])||w_[P];T===void 0&&(b==null||b("011",Cn.error011(P)),P="default",T=(y==null?void 0:y.default)||w_.default);const I=!!(_.focusable||t&&typeof _.focusable>"u"),O=typeof p<"u"&&(_.reconnectable||n&&typeof _.reconnectable>"u"),q=!!(_.selectable||o&&typeof _.selectable>"u"),G=k.useRef(null),[F,j]=k.useState(!1),[W,L]=k.useState(!1),H=Ve(),{zIndex:z,sourceX:Y,sourceY:M,targetX:$,targetY:Q,sourcePosition:D,targetPosition:U}=Ie(k.useCallback(de=>{const pe=de.nodeLookup.get(_.source),be=de.nodeLookup.get(_.target);if(!pe||!be)return{zIndex:_.zIndex,...x_};const me=WL({id:e,sourceNode:pe,targetNode:be,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:de.connectionMode,onError:b});return{zIndex:qL({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:be,elevateOnSelect:de.elevateEdgesOnSelect}),...me||x_}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),Ue),ie=k.useMemo(()=>_.markerStart?`url('#${$c(_.markerStart,E)}')`:void 0,[_.markerStart,E]),V=k.useMemo(()=>_.markerEnd?`url('#${$c(_.markerEnd,E)}')`:void 0,[_.markerEnd,E]);if(_.hidden||Y===null||M===null||$===null||Q===null)return null;const Z=de=>{var Re;const{addSelectedEdges:pe,unselectNodesAndEdges:be,multiSelectionActive:me}=H.getState();q&&(H.setState({nodesSelectionActive:!1}),_.selected&&me?(be({nodes:[],edges:[_]}),(Re=G.current)==null||Re.blur()):pe([e])),i&&i(de,_)},ee=a?de=>{a(de,{..._})}:void 0,X=l?de=>{l(de,{..._})}:void 0,te=u?de=>{u(de,{..._})}:void 0,se=f?de=>{f(de,{..._})}:void 0,ae=d?de=>{d(de,{..._})}:void 0,ce=de=>{var pe;if(!C&&Aw.includes(de.key)&&q){const{unselectNodesAndEdges:be,addSelectedEdges:me}=H.getState();de.key==="Escape"?((pe=G.current)==null||pe.blur(),be({edges:[_]})):me([e])}};return R.jsx("svg",{style:{zIndex:z},children:R.jsxs("g",{className:tt(["react-flow__edge",`react-flow__edge-${P}`,_.className,x,{selected:_.selected,animated:_.animated,inactive:!q&&!i,updating:F,selectable:q}]),onClick:Z,onDoubleClick:ee,onContextMenu:X,onMouseEnter:te,onMouseMove:se,onMouseLeave:ae,onKeyDown:I?ce:void 0,tabIndex:I?0:void 0,role:_.ariaRole??(I?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":I?`${Ix}-${E}`:void 0,ref:G,..._.domAttributes,children:[!W&&R.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:q,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:Y,sourceY:M,targetX:$,targetY:Q,sourcePosition:D,targetPosition:U,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:ie,markerEnd:V,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),O&&R.jsx(Jj,{edge:_,isReconnectable:O,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:v,sourceX:Y,sourceY:M,targetX:$,targetY:Q,sourcePosition:D,targetPosition:U,setUpdateHover:j,setReconnecting:L})]})})}var tq=k.memo(eq);const nq=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function S_({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:i,onReconnect:a,onEdgeContextMenu:l,onEdgeMouseEnter:u,onEdgeMouseMove:f,onEdgeMouseLeave:d,onEdgeClick:h,reconnectRadius:p,onEdgeDoubleClick:m,onReconnectStart:v,onReconnectEnd:E,disableKeyboardA11y:y}){const{edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,onError:_}=Ie(nq,Ue),N=Fj(t);return R.jsxs("div",{className:"react-flow__edges",children:[R.jsx(Wj,{defaultColor:e,rfId:n}),N.map(P=>R.jsx(tq,{id:P,edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,noPanClassName:i,onReconnect:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,onClick:h,reconnectRadius:p,onDoubleClick:m,onReconnectStart:v,onReconnectEnd:E,rfId:n,onError:_,edgeTypes:o,disableKeyboardA11y:y},P))]})}S_.displayName="EdgeRenderer";const rq=k.memo(S_),oq=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function iq({children:e}){const t=Ie(oq);return R.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function sq(e){const t=tf(),n=k.useRef(!1);k.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const aq=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function lq(e){const t=Ie(aq),n=Ve();return k.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function uq(e){return e.connection.inProgress?{...e.connection,to:Qi(e.connection.to,e.transform)}:{...e.connection}}function cq(e){return uq}function fq(e){const t=cq();return Ie(t,Ue)}const dq=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function hq({containerStyle:e,style:t,type:n,component:o}){const{nodesConnectable:i,width:a,height:l,isValid:u,inProgress:f}=Ie(dq,Ue);return!(a&&i&&f)?null:R.jsx("svg",{style:e,width:a,height:l,className:"react-flow__connectionline react-flow__container",children:R.jsx("g",{className:tt(["react-flow__connection",Lw(u)]),children:R.jsx(E_,{style:t,type:n,CustomComponent:o,isValid:u})})})}const E_=({style:e,type:t=ir.Bezier,CustomComponent:n,isValid:o})=>{const{inProgress:i,from:a,fromNode:l,fromHandle:u,fromPosition:f,to:d,toNode:h,toHandle:p,toPosition:m,pointer:v}=fq();if(!i)return;if(n)return R.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:u,fromX:a.x,fromY:a.y,toX:d.x,toY:d.y,fromPosition:f,toPosition:m,connectionStatus:Lw(o),toNode:h,toHandle:p,pointer:v});let E="";const y={sourceX:a.x,sourceY:a.y,sourcePosition:f,targetX:d.x,targetY:d.y,targetPosition:m};switch(t){case ir.Bezier:[E]=Zw(y);break;case ir.SimpleBezier:[E]=a_(y);break;case ir.Step:[E]=Fc({...y,borderRadius:0});break;case ir.SmoothStep:[E]=Fc(y);break;default:[E]=tx(y)}return R.jsx("path",{d:E,fill:"none",className:"react-flow__connection-path",style:e})};E_.displayName="ConnectionLine";const pq={};function C_(e=pq){k.useRef(e),Ve(),k.useEffect(()=>{},[e])}function gq(){Ve(),k.useRef(!1),k.useEffect(()=>{},[])}function k_({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:i,onNodeDoubleClick:a,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:v,connectionLineType:E,connectionLineStyle:y,connectionLineComponent:x,connectionLineContainerStyle:b,selectionKeyCode:C,selectionOnDrag:_,selectionMode:N,multiSelectionKeyCode:P,panActivationKeyCode:T,zoomActivationKeyCode:I,deleteKeyCode:O,onlyRenderVisibleElements:q,elementsSelectable:G,defaultViewport:F,translateExtent:j,minZoom:W,maxZoom:L,preventScrolling:H,defaultMarkerColor:z,zoomOnScroll:Y,zoomOnPinch:M,panOnScroll:$,panOnScrollSpeed:Q,panOnScrollMode:D,zoomOnDoubleClick:U,panOnDrag:ie,onPaneClick:V,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:X,onPaneScroll:te,onPaneContextMenu:se,paneClickDistance:ae,nodeClickDistance:ce,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,onReconnect:Ee,onReconnectStart:Je,onReconnectEnd:Ge,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:at,disableKeyboardA11y:Ye,nodeExtent:pn,rfId:Wt,viewport:gn,onViewportChange:Ut}){return C_(e),C_(t),gq(),sq(n),lq(gn),R.jsx(Tj,{onPaneClick:V,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:X,onPaneContextMenu:se,onPaneScroll:te,paneClickDistance:ae,deleteKeyCode:O,selectionKeyCode:C,selectionOnDrag:_,selectionMode:N,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:P,panActivationKeyCode:T,zoomActivationKeyCode:I,elementsSelectable:G,zoomOnScroll:Y,zoomOnPinch:M,zoomOnDoubleClick:U,panOnScroll:$,panOnScrollSpeed:Q,panOnScrollMode:D,panOnDrag:ie,defaultViewport:F,translateExtent:j,minZoom:W,maxZoom:L,onSelectionContextMenu:p,preventScrolling:H,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:at,disableKeyboardA11y:Ye,onViewportChange:Ut,isControlledViewport:!!gn,children:R.jsxs(iq,{children:[R.jsx(rq,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:l,onReconnect:Ee,onReconnectStart:Je,onReconnectEnd:Ge,onlyRenderVisibleElements:q,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,defaultMarkerColor:z,noPanClassName:at,disableKeyboardA11y:Ye,rfId:Wt}),R.jsx(hq,{style:y,type:E,component:x,containerStyle:b}),R.jsx("div",{className:"react-flow__edgelabel-renderer"}),R.jsx(zj,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:a,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,nodeClickDistance:ce,onlyRenderVisibleElements:q,noPanClassName:at,noDragClassName:Ht,disableKeyboardA11y:Ye,nodeExtent:pn,rfId:Wt}),R.jsx("div",{className:"react-flow__viewport-portal"})]})})}k_.displayName="GraphView";const mq=k.memo(k_),N_=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:l,fitViewOptions:u,minZoom:f=.5,maxZoom:d=2,nodeOrigin:h,nodeExtent:p}={})=>{const m=new Map,v=new Map,E=new Map,y=new Map,x=o??t??[],b=n??e??[],C=h??[0,0],_=p??Wi;cx(E,y,x);const N=Hc(b,m,v,{nodeOrigin:C,nodeExtent:_,elevateNodesOnSelect:!1});let P=[0,0,1];if(l&&i&&a){const T=Yi(m,{filter:G=>!!((G.width||G.initialWidth)&&(G.height||G.initialHeight))}),{x:I,y:O,zoom:q}=qc(T,i,a,f,d,(u==null?void 0:u.padding)??.1);P=[I,O,q]}return{rfId:"1",width:i??0,height:a??0,transform:P,nodes:b,nodesInitialized:N,nodeLookup:m,parentLookup:v,edges:x,edgeLookup:y,connectionLookup:E,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:f,maxZoom:d,translateExtent:Wi,nodeExtent:_,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:No.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l??!1,fitViewOptions:u,fitViewResolver:null,connection:{...Mw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:IL,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Iw}},vq=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p})=>LD((m,v)=>{async function E(){const{nodeLookup:y,panZoom:x,fitViewOptions:b,fitViewResolver:C,width:_,height:N,minZoom:P,maxZoom:T}=v();x&&(await TL({nodes:y,width:_,height:N,panZoom:x,minZoom:P,maxZoom:T},b),C==null||C.resolve(!0),m({fitViewResolver:null}))}return{...N_({nodes:e,edges:t,width:i,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p,defaultNodes:n,defaultEdges:o}),setNodes:y=>{const{nodeLookup:x,parentLookup:b,nodeOrigin:C,elevateNodesOnSelect:_,fitViewQueued:N}=v(),P=Hc(y,x,b,{nodeOrigin:C,nodeExtent:p,elevateNodesOnSelect:_,checkEquality:!0});N&&P?(E(),m({nodes:y,nodesInitialized:P,fitViewQueued:!1,fitViewOptions:void 0})):m({nodes:y,nodesInitialized:P})},setEdges:y=>{const{connectionLookup:x,edgeLookup:b}=v();cx(x,b,y),m({edges:y})},setDefaultNodesAndEdges:(y,x)=>{if(y){const{setNodes:b}=v();b(y),m({hasDefaultNodes:!0})}if(x){const{setEdges:b}=v();b(x),m({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:x,nodeLookup:b,parentLookup:C,domNode:_,nodeOrigin:N,nodeExtent:P,debug:T,fitViewQueued:I}=v(),{changes:O,updatedInternals:q}=JL(y,b,C,_,N,P);q&&(KL(b,C,{nodeOrigin:N,nodeExtent:P}),I?(E(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),(O==null?void 0:O.length)>0&&(T&&console.log("React Flow: trigger node changes",O),x==null||x(O)))},updateNodePositions:(y,x=!1)=>{const b=[],C=[],{nodeLookup:_,triggerNodeChanges:N}=v();for(const[P,T]of y){const I=_.get(P),O=!!(I!=null&&I.expandParent&&(I!=null&&I.parentId)&&(T!=null&&T.position)),q={id:P,type:"position",position:O?{x:Math.max(0,T.position.x),y:Math.max(0,T.position.y)}:T.position,dragging:x};O&&I.parentId&&b.push({id:P,parentId:I.parentId,rect:{...T.internals.positionAbsolute,width:T.measured.width??0,height:T.measured.height??0}}),C.push(q)}if(b.length>0){const{parentLookup:P,nodeOrigin:T}=v(),I=Uc(b,_,P,T);C.push(...I)}N(C)},triggerNodeChanges:y=>{const{onNodesChange:x,setNodes:b,nodes:C,hasDefaultNodes:_,debug:N}=v();if(y!=null&&y.length){if(_){const P=$x(y,C);b(P)}N&&console.log("React Flow: trigger node changes",y),x==null||x(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:x,setEdges:b,edges:C,hasDefaultEdges:_,debug:N}=v();if(y!=null&&y.length){if(_){const P=Bx(y,C);b(P)}N&&console.log("React Flow: trigger edge changes",y),x==null||x(y)}},addSelectedNodes:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:N}=v();if(x){const P=y.map(T=>Wr(T,!0));_(P);return}_(Oo(C,new Set([...y]),!0)),N(Oo(b))},addSelectedEdges:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:N}=v();if(x){const P=y.map(T=>Wr(T,!0));N(P);return}N(Oo(b,new Set([...y]))),_(Oo(C,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:x}={})=>{const{edges:b,nodes:C,nodeLookup:_,triggerNodeChanges:N,triggerEdgeChanges:P}=v(),T=y||C,I=x||b,O=T.map(G=>{const F=_.get(G.id);return F&&(F.selected=!1),Wr(G.id,!1)}),q=I.map(G=>Wr(G.id,!1));N(O),P(q)},setMinZoom:y=>{const{panZoom:x,maxZoom:b}=v();x==null||x.setScaleExtent([y,b]),m({minZoom:y})},setMaxZoom:y=>{const{panZoom:x,minZoom:b}=v();x==null||x.setScaleExtent([b,y]),m({maxZoom:y})},setTranslateExtent:y=>{var x;(x=v().panZoom)==null||x.setTranslateExtent(y),m({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:x,triggerNodeChanges:b,triggerEdgeChanges:C,elementsSelectable:_}=v();if(!_)return;const N=x.reduce((T,I)=>I.selected?[...T,Wr(I.id,!1)]:T,[]),P=y.reduce((T,I)=>I.selected?[...T,Wr(I.id,!1)]:T,[]);b(N),C(P)},setNodeExtent:y=>{const{nodes:x,nodeLookup:b,parentLookup:C,nodeOrigin:_,elevateNodesOnSelect:N,nodeExtent:P}=v();y[0][0]===P[0][0]&&y[0][1]===P[0][1]&&y[1][0]===P[1][0]&&y[1][1]===P[1][1]||(Hc(x,b,C,{nodeOrigin:_,nodeExtent:y,elevateNodesOnSelect:N,checkEquality:!1}),m({nodeExtent:y}))},panBy:y=>{const{transform:x,width:b,height:C,panZoom:_,translateExtent:N}=v();return eD({delta:y,panZoom:_,transform:x,translateExtent:N,width:b,height:C})},setCenter:async(y,x,b)=>{const{width:C,height:_,maxZoom:N,panZoom:P}=v();if(!P)return Promise.resolve(!1);const T=typeof(b==null?void 0:b.zoom)<"u"?b.zoom:N;return await P.setViewport({x:C/2-y*T,y:_/2-x*T,zoom:T},{duration:b==null?void 0:b.duration,ease:b==null?void 0:b.ease,interpolate:b==null?void 0:b.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{m({connection:{...Mw}})},updateConnection:y=>{m({connection:y})},reset:()=>m({...N_()})}},Object.is);function R_({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:i,initialHeight:a,initialMinZoom:l,initialMaxZoom:u,initialFitViewOptions:f,fitView:d,nodeOrigin:h,nodeExtent:p,children:m}){const[v]=k.useState(()=>vq({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:d,minZoom:l,maxZoom:u,fitViewOptions:f,nodeOrigin:h,nodeExtent:p}));return R.jsx(jD,{value:v,children:R.jsx(ij,{children:m})})}function yq({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:i,width:a,height:l,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:p,nodeExtent:m}){return k.useContext(Ba)?R.jsx(R.Fragment,{children:e}):R.jsx(R_,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:i,initialWidth:a,initialHeight:l,fitView:u,initialFitViewOptions:f,initialMinZoom:d,initialMaxZoom:h,nodeOrigin:p,nodeExtent:m,children:e})}const wq={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function xq({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:a,edgeTypes:l,onNodeClick:u,onEdgeClick:f,onInit:d,onMove:h,onMoveStart:p,onMoveEnd:m,onConnect:v,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:N,onNodeContextMenu:P,onNodeDoubleClick:T,onNodeDragStart:I,onNodeDrag:O,onNodeDragStop:q,onNodesDelete:G,onEdgesDelete:F,onDelete:j,onSelectionChange:W,onSelectionDragStart:L,onSelectionDrag:H,onSelectionDragStop:z,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:$,onBeforeDelete:Q,connectionMode:D,connectionLineType:U=ir.Bezier,connectionLineStyle:ie,connectionLineComponent:V,connectionLineContainerStyle:Z,deleteKeyCode:ee="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:te=!1,selectionMode:se=Ui.Full,panActivationKeyCode:ae="Space",multiSelectionKeyCode:ce=Zi()?"Meta":"Control",zoomActivationKeyCode:de=Zi()?"Meta":"Control",snapToGrid:pe,snapGrid:be,onlyRenderVisibleElements:me=!1,selectNodesOnDrag:Re,nodesDraggable:Ee,autoPanOnNodeFocus:Je,nodesConnectable:Ge,nodesFocusable:Ht,nodeOrigin:pt=Mx,edgesFocusable:at,edgesReconnectable:Ye,elementsSelectable:pn=!0,defaultViewport:Wt=XD,minZoom:gn=.5,maxZoom:Ut=2,translateExtent:Et=Wi,preventScrolling:oo=!0,nodeExtent:Gt,defaultMarkerColor:Xn="#b1b1b7",zoomOnScroll:ri=!0,zoomOnPinch:Ot=!0,panOnScroll:Yt=!1,panOnScrollSpeed:Dv=.5,panOnScrollMode:_s=Vr.Free,zoomOnDoubleClick:bs=!0,panOnDrag:Ss=!0,onPaneClick:Es,onPaneMouseEnter:Cs,onPaneMouseMove:vr,onPaneMouseLeave:yr,onPaneScroll:Kl,onPaneContextMenu:Xl,paneClickDistance:Ql=1,nodeClickDistance:Zl=0,children:Jl,onReconnect:ks,onReconnectStart:eu,onReconnectEnd:io,onEdgeContextMenu:Ns,onEdgeDoubleClick:so,onEdgeMouseEnter:jv,onEdgeMouseMove:ao,onEdgeMouseLeave:oi,reconnectRadius:ii=10,onNodesChange:Rs,onEdgesChange:qv,noDragClassName:zv="nodrag",noWheelClassName:Fv="nowheel",noPanClassName:Mn="nopan",fitView:Ps,fitViewOptions:Ts,connectOnClick:$v,attributionPosition:tu,proOptions:nu,defaultEdgeOptions:ru,elevateNodesOnSelect:ou,elevateEdgesOnSelect:Bv,disableKeyboardA11y:iu=!1,autoPanOnConnect:Ke,autoPanOnNodeDrag:Vv,autoPanSpeed:As,connectionRadius:su,isValidConnection:si,onError:Hv,style:au,id:lo,nodeDragThreshold:Kt,connectionDragThreshold:Wv,viewport:Lt,onViewportChange:Uv,width:Gv,height:Yv,colorMode:ai="light",debug:li,onScroll:On,ariaLabelConfig:ui,...Kv},Xv){const uo=lo||"1",lu=JD(ai),Is=k.useCallback(wr=>{wr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),On==null||On(wr)},[On]);return R.jsx("div",{"data-testid":"rf__wrapper",...Kv,onScroll:Is,style:{...au,...wq},ref:Xv,className:tt(["react-flow",i,lu]),id:lo,role:"application",children:R.jsxs(yq,{nodes:e,edges:t,width:Gv,height:Yv,fitView:Ps,fitViewOptions:Ts,minZoom:gn,maxZoom:Ut,nodeOrigin:pt,nodeExtent:Gt,children:[R.jsx(mq,{onInit:d,onNodeClick:u,onEdgeClick:f,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:N,onNodeContextMenu:P,onNodeDoubleClick:T,nodeTypes:a,edgeTypes:l,connectionLineType:U,connectionLineStyle:ie,connectionLineComponent:V,connectionLineContainerStyle:Z,selectionKeyCode:X,selectionOnDrag:te,selectionMode:se,deleteKeyCode:ee,multiSelectionKeyCode:ce,panActivationKeyCode:ae,zoomActivationKeyCode:de,onlyRenderVisibleElements:me,defaultViewport:Wt,translateExtent:Et,minZoom:gn,maxZoom:Ut,preventScrolling:oo,zoomOnScroll:ri,zoomOnPinch:Ot,zoomOnDoubleClick:bs,panOnScroll:Yt,panOnScrollSpeed:Dv,panOnScrollMode:_s,panOnDrag:Ss,onPaneClick:Es,onPaneMouseEnter:Cs,onPaneMouseMove:vr,onPaneMouseLeave:yr,onPaneScroll:Kl,onPaneContextMenu:Xl,paneClickDistance:Ql,nodeClickDistance:Zl,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:$,onReconnect:ks,onReconnectStart:eu,onReconnectEnd:io,onEdgeContextMenu:Ns,onEdgeDoubleClick:so,onEdgeMouseEnter:jv,onEdgeMouseMove:ao,onEdgeMouseLeave:oi,reconnectRadius:ii,defaultMarkerColor:Xn,noDragClassName:zv,noWheelClassName:Fv,noPanClassName:Mn,rfId:uo,disableKeyboardA11y:iu,nodeExtent:Gt,viewport:Lt,onViewportChange:Uv}),R.jsx(ZD,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:v,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,nodesDraggable:Ee,autoPanOnNodeFocus:Je,nodesConnectable:Ge,nodesFocusable:Ht,edgesFocusable:at,edgesReconnectable:Ye,elementsSelectable:pn,elevateNodesOnSelect:ou,elevateEdgesOnSelect:Bv,minZoom:gn,maxZoom:Ut,nodeExtent:Gt,onNodesChange:Rs,onEdgesChange:qv,snapToGrid:pe,snapGrid:be,connectionMode:D,translateExtent:Et,connectOnClick:$v,defaultEdgeOptions:ru,fitView:Ps,fitViewOptions:Ts,onNodesDelete:G,onEdgesDelete:F,onDelete:j,onNodeDragStart:I,onNodeDrag:O,onNodeDragStop:q,onSelectionDrag:H,onSelectionDragStart:L,onSelectionDragStop:z,onMove:h,onMoveStart:p,onMoveEnd:m,noPanClassName:Mn,nodeOrigin:pt,rfId:uo,autoPanOnConnect:Ke,autoPanOnNodeDrag:Vv,autoPanSpeed:As,onError:Hv,connectionRadius:su,isValidConnection:si,selectNodesOnDrag:Re,nodeDragThreshold:Kt,connectionDragThreshold:Wv,onBeforeDelete:Q,debug:li,ariaLabelConfig:ui}),R.jsx(KD,{onSelectionChange:W}),Jl,R.jsx(HD,{proOptions:nu,position:tu}),R.jsx(VD,{rfId:uo,disableKeyboardA11y:iu})]})})}var _q=Ux(xq);function bq({dimensions:e,lineWidth:t,variant:n,className:o}){return R.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:tt(["react-flow__background-pattern",n,o])})}function Sq({radius:e,className:t}){return R.jsx("circle",{cx:e,cy:e,r:e,className:tt(["react-flow__background-pattern","dots",t])})}var lr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(lr||(lr={}));const Eq={[lr.Dots]:1,[lr.Lines]:1,[lr.Cross]:6},Cq=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function P_({id:e,variant:t=lr.Dots,gap:n=20,size:o,lineWidth:i=1,offset:a=0,color:l,bgColor:u,style:f,className:d,patternClassName:h}){const p=k.useRef(null),{transform:m,patternId:v}=Ie(Cq,Ue),E=o||Eq[t],y=t===lr.Dots,x=t===lr.Cross,b=Array.isArray(n)?n:[n,n],C=[b[0]*m[2]||1,b[1]*m[2]||1],_=E*m[2],N=Array.isArray(a)?a:[a,a],P=x?[_,_]:C,T=[N[0]*m[2]||1+P[0]/2,N[1]*m[2]||1+P[1]/2],I=`${v}${e||""}`;return R.jsxs("svg",{className:tt(["react-flow__background",d]),style:{...f,...Ha,"--xy-background-color-props":u,"--xy-background-pattern-color-props":l},ref:p,"data-testid":"rf__background",children:[R.jsx("pattern",{id:I,x:m[0]%C[0],y:m[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:y?R.jsx(Sq,{radius:_/2,className:h}):R.jsx(bq,{dimensions:P,lineWidth:i,variant:t,className:h})}),R.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${I})`})]})}P_.displayName="Background";const kq=k.memo(P_);function Nq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:R.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Rq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:R.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Pq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:R.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Tq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:R.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Aq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:R.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ga({children:e,className:t,...n}){return R.jsx("button",{type:"button",className:tt(["react-flow__controls-button",t]),...n,children:e})}const Iq=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function T_({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:l,onFitView:u,onInteractiveChange:f,className:d,children:h,position:p="bottom-left",orientation:m="vertical","aria-label":v}){const E=Ve(),{isInteractive:y,minZoomReached:x,maxZoomReached:b,ariaLabelConfig:C}=Ie(Iq,Ue),{zoomIn:_,zoomOut:N,fitView:P}=tf(),T=()=>{_(),a==null||a()},I=()=>{N(),l==null||l()},O=()=>{P(i),u==null||u()},q=()=>{E.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),f==null||f(!y)},G=m==="horizontal"?"horizontal":"vertical";return R.jsxs(ns,{className:tt(["react-flow__controls",G,d]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??C["controls.ariaLabel"],children:[t&&R.jsxs(R.Fragment,{children:[R.jsx(Ga,{onClick:T,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:b,children:R.jsx(Nq,{})}),R.jsx(Ga,{onClick:I,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:x,children:R.jsx(Rq,{})})]}),n&&R.jsx(Ga,{className:"react-flow__controls-fitview",onClick:O,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:R.jsx(Pq,{})}),o&&R.jsx(Ga,{className:"react-flow__controls-interactive",onClick:q,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:y?R.jsx(Aq,{}):R.jsx(Tq,{})}),h]})}T_.displayName="Controls";const Mq=k.memo(T_);function Oq({id:e,x:t,y:n,width:o,height:i,style:a,color:l,strokeColor:u,strokeWidth:f,className:d,borderRadius:h,shapeRendering:p,selected:m,onClick:v}){const{background:E,backgroundColor:y}=a||{},x=l||E||y;return R.jsx("rect",{className:tt(["react-flow__minimap-node",{selected:m},d]),x:t,y:n,rx:h,ry:h,width:o,height:i,style:{fill:x,stroke:u,strokeWidth:f},shapeRendering:p,onClick:v?b=>v(b,e):void 0})}const Lq=k.memo(Oq),Dq=e=>e.nodes.map(t=>t.id),sf=e=>e instanceof Function?e:()=>e;function jq({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:i,nodeComponent:a=Lq,onClick:l}){const u=Ie(Dq,Ue),f=sf(t),d=sf(e),h=sf(n),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return R.jsx(R.Fragment,{children:u.map(m=>R.jsx(zq,{id:m,nodeColorFunc:f,nodeStrokeColorFunc:d,nodeClassNameFunc:h,nodeBorderRadius:o,nodeStrokeWidth:i,NodeComponent:a,onClick:l,shapeRendering:p},m))})}function qq({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:l,NodeComponent:u,onClick:f}){const{node:d,x:h,y:p,width:m,height:v}=Ie(E=>{const{internals:y}=E.nodeLookup.get(e),x=y.userNode,{x:b,y:C}=y.positionAbsolute,{width:_,height:N}=Hn(x);return{node:x,x:b,y:C,width:_,height:N}},Ue);return!d||d.hidden||!Vw(d)?null:R.jsx(u,{x:h,y:p,width:m,height:v,style:d.style,selected:!!d.selected,className:o(d),color:t(d),borderRadius:i,strokeColor:n(d),strokeWidth:a,shapeRendering:l,onClick:f,id:d.id})}const zq=k.memo(qq);var Fq=k.memo(jq);const $q=200,Bq=150,Vq=e=>!e.hidden,Hq=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?$w(Yi(e.nodeLookup,{filter:Vq}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Wq="react-flow__minimap-desc";function A_({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:i="",nodeBorderRadius:a=5,nodeStrokeWidth:l,nodeComponent:u,bgColor:f,maskColor:d,maskStrokeColor:h,maskStrokeWidth:p,position:m="bottom-right",onClick:v,onNodeClick:E,pannable:y=!1,zoomable:x=!1,ariaLabel:b,inversePan:C,zoomStep:_=1,offsetScale:N=5}){const P=Ve(),T=k.useRef(null),{boundingRect:I,viewBB:O,rfId:q,panZoom:G,translateExtent:F,flowWidth:j,flowHeight:W,ariaLabelConfig:L}=Ie(Hq,Ue),H=(e==null?void 0:e.width)??$q,z=(e==null?void 0:e.height)??Bq,Y=I.width/H,M=I.height/z,$=Math.max(Y,M),Q=$*H,D=$*z,U=N*$,ie=I.x-(Q-I.width)/2-U,V=I.y-(D-I.height)/2-U,Z=Q+U*2,ee=D+U*2,X=`${Wq}-${q}`,te=k.useRef(0),se=k.useRef();te.current=$,k.useEffect(()=>{if(T.current&&G)return se.current=uD({domNode:T.current,panZoom:G,getTransform:()=>P.getState().transform,getViewScale:()=>te.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[G]),k.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:F,width:j,height:W,inversePan:C,pannable:y,zoomStep:_,zoomable:x})},[y,x,C,_,F,j,W]);const ae=v?pe=>{var Re;const[be,me]=((Re=se.current)==null?void 0:Re.pointer(pe))||[0,0];v(pe,{x:be,y:me})}:void 0,ce=E?k.useCallback((pe,be)=>{const me=P.getState().nodeLookup.get(be).internals.userNode;E(pe,me)},[]):void 0,de=b??L["minimap.ariaLabel"];return R.jsx(ns,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*$:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:tt(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:R.jsxs("svg",{width:H,height:z,viewBox:`${ie} ${V} ${Z} ${ee}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":X,ref:T,onClick:ae,children:[de&&R.jsx("title",{id:X,children:de}),R.jsx(Fq,{onClick:ce,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:i,nodeStrokeWidth:l,nodeComponent:u}),R.jsx("path",{className:"react-flow__minimap-mask",d:`M${ie-U},${V-U}h${Z+U*2}v${ee+U*2}h${-Z-U*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}A_.displayName="MiniMap",k.memo(A_);const Uq=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Gq={[Mo.Line]:"right",[Mo.Handle]:"bottom-right"};function Yq({nodeId:e,position:t,variant:n=Mo.Handle,className:o,style:i=void 0,children:a,color:l,minWidth:u=10,minHeight:f=10,maxWidth:d=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:m,autoScale:v=!0,shouldResize:E,onResizeStart:y,onResize:x,onResizeEnd:b}){const C=Zx(),_=typeof e=="string"?e:C,N=Ve(),P=k.useRef(null),T=n===Mo.Handle,I=Ie(k.useCallback(Uq(T&&v),[T,v]),Ue),O=k.useRef(null),q=t??Gq[n];k.useEffect(()=>{if(!(!P.current||!_))return O.current||(O.current=SD({domNode:P.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:F,transform:j,snapGrid:W,snapToGrid:L,nodeOrigin:H,domNode:z}=N.getState();return{nodeLookup:F,transform:j,snapGrid:W,snapToGrid:L,nodeOrigin:H,paneDomNode:z}},onChange:(F,j)=>{const{triggerNodeChanges:W,nodeLookup:L,parentLookup:H,nodeOrigin:z}=N.getState(),Y=[],M={x:F.x,y:F.y},$=L.get(_);if($&&$.expandParent&&$.parentId){const Q=$.origin??z,D=F.width??$.measured.width??0,U=F.height??$.measured.height??0,ie={id:$.id,parentId:$.parentId,rect:{width:D,height:U,...Hw({x:F.x??$.position.x,y:F.y??$.position.y},{width:D,height:U},$.parentId,L,Q)}},V=Uc([ie],L,H,z);Y.push(...V),M.x=F.x?Math.max(Q[0]*D,F.x):void 0,M.y=F.y?Math.max(Q[1]*U,F.y):void 0}if(M.x!==void 0&&M.y!==void 0){const Q={id:_,type:"position",position:{...M}};Y.push(Q)}if(F.width!==void 0&&F.height!==void 0){const D={id:_,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:F.width,height:F.height}};Y.push(D)}for(const Q of j){const D={...Q,type:"position"};Y.push(D)}W(Y)},onEnd:({width:F,height:j})=>{const W={id:_,type:"dimensions",resizing:!1,dimensions:{width:F,height:j}};N.getState().triggerNodeChanges([W])}})),O.current.update({controlPosition:q,boundaries:{minWidth:u,minHeight:f,maxWidth:d,maxHeight:h},keepAspectRatio:p,resizeDirection:m,onResizeStart:y,onResize:x,onResizeEnd:b,shouldResize:E}),()=>{var F;(F=O.current)==null||F.destroy()}},[q,u,f,d,h,p,y,x,b,E]);const G=q.split("-");return R.jsx("div",{className:tt(["react-flow__resize-control","nodrag",...G,n,o]),ref:P,style:{...i,scale:I,...l&&{[T?"backgroundColor":"borderColor"]:l}},children:a})}k.memo(Yq);function I_(e){var t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let o=0;o({classGroupId:e,validator:t}),O_=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ya="-",L_=[],Qq="arbitrary..",Zq=e=>{const t=e3(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return Jq(l);const u=l.split(Ya),f=u[0]===""&&u.length>1?1:0;return D_(u,f,t)},getConflictingClassGroupIds:(l,u)=>{if(u){const f=o[l],d=n[l];return f?d?Kq(d,f):f:d||L_}return n[l]||L_}}},D_=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const i=e[t],a=n.nextPart.get(i);if(a){const d=D_(e,t+1,a);if(d)return d}const l=n.validators;if(l===null)return;const u=t===0?e.join(Ya):e.slice(t).join(Ya),f=l.length;for(let d=0;de.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),o=t.slice(0,n);return o?Qq+o:void 0})(),e3=e=>{const{theme:t,classGroups:n}=e;return t3(n,t)},t3=(e,t)=>{const n=O_();for(const o in e){const i=e[o];af(i,n,o,t)}return n},af=(e,t,n,o)=>{const i=e.length;for(let a=0;a{if(typeof e=="string"){r3(e,t,n);return}if(typeof e=="function"){o3(e,t,n,o);return}i3(e,t,n,o)},r3=(e,t,n)=>{const o=e===""?t:j_(t,e);o.classGroupId=n},o3=(e,t,n,o)=>{if(s3(e)){af(e(o),t,n,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Xq(n,e))},i3=(e,t,n,o)=>{const i=Object.entries(e),a=i.length;for(let l=0;l{let n=e;const o=t.split(Ya),i=o.length;for(let a=0;a"isThemeGetter"in e&&e.isThemeGetter===!0,a3=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),o=Object.create(null);const i=(a,l)=>{n[a]=l,t++,t>e&&(t=0,o=n,n=Object.create(null))};return{get(a){let l=n[a];if(l!==void 0)return l;if((l=o[a])!==void 0)return i(a,l),l},set(a,l){a in n?n[a]=l:i(a,l)}}},lf="!",q_=":",l3=[],z_=(e,t,n,o,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:o,isExternal:i}),u3=e=>{const{prefix:t,experimentalParseClassName:n}=e;let o=i=>{const a=[];let l=0,u=0,f=0,d;const h=i.length;for(let y=0;yf?d-f:void 0;return z_(a,v,m,E)};if(t){const i=t+q_,a=o;o=l=>l.startsWith(i)?a(l.slice(i.length)):z_(l3,!1,l,void 0,!0)}if(n){const i=o;o=a=>n({className:a,parseClassName:i})}return o},c3=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,o)=>{t.set(n,1e6+o)}),n=>{const o=[];let i=[];for(let a=0;a0&&(i.sort(),o.push(...i),i=[]),o.push(l)):i.push(l)}return i.length>0&&(i.sort(),o.push(...i)),o}},f3=e=>({cache:a3(e.cacheSize),parseClassName:u3(e),sortModifiers:c3(e),...Zq(e)}),d3=/\s+/,h3=(e,t)=>{const{parseClassName:n,getClassGroupId:o,getConflictingClassGroupIds:i,sortModifiers:a}=t,l=[],u=e.trim().split(d3);let f="";for(let d=u.length-1;d>=0;d-=1){const h=u[d],{isExternal:p,modifiers:m,hasImportantModifier:v,baseClassName:E,maybePostfixModifierPosition:y}=n(h);if(p){f=h+(f.length>0?" "+f:f);continue}let x=!!y,b=o(x?E.substring(0,y):E);if(!b){if(!x){f=h+(f.length>0?" "+f:f);continue}if(b=o(E),!b){f=h+(f.length>0?" "+f:f);continue}x=!1}const C=m.length===0?"":m.length===1?m[0]:a(m).join(":"),_=v?C+lf:C,N=_+b;if(l.indexOf(N)>-1)continue;l.push(N);const P=i(b,x);for(let T=0;T0?" "+f:f)}return f},p3=(...e)=>{let t=0,n,o,i="";for(;t{if(typeof e=="string")return e;let t,n="";for(let o=0;o{let n,o,i,a;const l=f=>{const d=t.reduce((h,p)=>p(h),e());return n=f3(d),o=n.cache.get,i=n.cache.set,a=u,u(f)},u=f=>{const d=o(f);if(d)return d;const h=h3(f,n);return i(f,h),h};return a=l,(...f)=>a(p3(...f))},m3=[],ot=e=>{const t=n=>n[e]||m3;return t.isThemeGetter=!0,t},$_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,B_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,v3=/^\d+\/\d+$/,y3=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,w3=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,x3=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,_3=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,b3=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Lo=e=>v3.test(e),Te=e=>!!e&&!Number.isNaN(Number(e)),ur=e=>!!e&&Number.isInteger(Number(e)),uf=e=>e.endsWith("%")&&Te(e.slice(0,-1)),Wn=e=>y3.test(e),S3=()=>!0,E3=e=>w3.test(e)&&!x3.test(e),V_=()=>!1,C3=e=>_3.test(e),k3=e=>b3.test(e),N3=e=>!we(e)&&!xe(e),R3=e=>Do(e,Y_,V_),we=e=>$_.test(e),Ur=e=>Do(e,K_,E3),cf=e=>Do(e,M3,Te),H_=e=>Do(e,U_,V_),P3=e=>Do(e,G_,k3),Ka=e=>Do(e,X_,C3),xe=e=>B_.test(e),is=e=>jo(e,K_),T3=e=>jo(e,O3),W_=e=>jo(e,U_),A3=e=>jo(e,Y_),I3=e=>jo(e,G_),Xa=e=>jo(e,X_,!0),Do=(e,t,n)=>{const o=$_.exec(e);return o?o[1]?t(o[1]):n(o[2]):!1},jo=(e,t,n=!1)=>{const o=B_.exec(e);return o?o[1]?t(o[1]):n:!1},U_=e=>e==="position"||e==="percentage",G_=e=>e==="image"||e==="url",Y_=e=>e==="length"||e==="size"||e==="bg-size",K_=e=>e==="length",M3=e=>e==="number",O3=e=>e==="family-name",X_=e=>e==="shadow",L3=g3(()=>{const e=ot("color"),t=ot("font"),n=ot("text"),o=ot("font-weight"),i=ot("tracking"),a=ot("leading"),l=ot("breakpoint"),u=ot("container"),f=ot("spacing"),d=ot("radius"),h=ot("shadow"),p=ot("inset-shadow"),m=ot("text-shadow"),v=ot("drop-shadow"),E=ot("blur"),y=ot("perspective"),x=ot("aspect"),b=ot("ease"),C=ot("animate"),_=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...N(),xe,we],T=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],O=()=>[xe,we,f],q=()=>[Lo,"full","auto",...O()],G=()=>[ur,"none","subgrid",xe,we],F=()=>["auto",{span:["full",ur,xe,we]},ur,xe,we],j=()=>[ur,"auto",xe,we],W=()=>["auto","min","max","fr",xe,we],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...O()],Y=()=>[Lo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...O()],M=()=>[e,xe,we],$=()=>[...N(),W_,H_,{position:[xe,we]}],Q=()=>["no-repeat",{repeat:["","x","y","space","round"]}],D=()=>["auto","cover","contain",A3,R3,{size:[xe,we]}],U=()=>[uf,is,Ur],ie=()=>["","none","full",d,xe,we],V=()=>["",Te,is,Ur],Z=()=>["solid","dashed","dotted","double"],ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],X=()=>[Te,uf,W_,H_],te=()=>["","none",E,xe,we],se=()=>["none",Te,xe,we],ae=()=>["none",Te,xe,we],ce=()=>[Te,xe,we],de=()=>[Lo,"full",...O()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wn],breakpoint:[Wn],color:[S3],container:[Wn],"drop-shadow":[Wn],ease:["in","out","in-out"],font:[N3],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wn],shadow:[Wn],spacing:["px",Te],text:[Wn],"text-shadow":[Wn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Lo,we,xe,x]}],container:["container"],columns:[{columns:[Te,we,xe,u]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:q()}],"inset-x":[{"inset-x":q()}],"inset-y":[{"inset-y":q()}],start:[{start:q()}],end:[{end:q()}],top:[{top:q()}],right:[{right:q()}],bottom:[{bottom:q()}],left:[{left:q()}],visibility:["visible","invisible","collapse"],z:[{z:[ur,"auto",xe,we]}],basis:[{basis:[Lo,"full","auto",u,...O()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Te,Lo,"auto","initial","none",we]}],grow:[{grow:["",Te,xe,we]}],shrink:[{shrink:["",Te,xe,we]}],order:[{order:[ur,"first","last","none",xe,we]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:F()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:F()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:O()}],"gap-x":[{"gap-x":O()}],"gap-y":[{"gap-y":O()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:O()}],px:[{px:O()}],py:[{py:O()}],ps:[{ps:O()}],pe:[{pe:O()}],pt:[{pt:O()}],pr:[{pr:O()}],pb:[{pb:O()}],pl:[{pl:O()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":O()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":O()}],"space-y-reverse":["space-y-reverse"],size:[{size:Y()}],w:[{w:[u,"screen",...Y()]}],"min-w":[{"min-w":[u,"screen","none",...Y()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...Y()]}],h:[{h:["screen","lh",...Y()]}],"min-h":[{"min-h":["screen","lh","none",...Y()]}],"max-h":[{"max-h":["screen","lh",...Y()]}],"font-size":[{text:["base",n,is,Ur]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,xe,cf]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",uf,we]}],"font-family":[{font:[T3,we,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,xe,we]}],"line-clamp":[{"line-clamp":[Te,"none",xe,cf]}],leading:[{leading:[a,...O()]}],"list-image":[{"list-image":["none",xe,we]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",xe,we]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:[Te,"from-font","auto",xe,Ur]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[Te,"auto",xe,we]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",xe,we]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",xe,we]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:$()}],"bg-repeat":[{bg:Q()}],"bg-size":[{bg:D()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ur,xe,we],radial:["",xe,we],conic:[ur,xe,we]},I3,P3]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:U()}],"gradient-via-pos":[{via:U()}],"gradient-to-pos":[{to:U()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:ie()}],"rounded-s":[{"rounded-s":ie()}],"rounded-e":[{"rounded-e":ie()}],"rounded-t":[{"rounded-t":ie()}],"rounded-r":[{"rounded-r":ie()}],"rounded-b":[{"rounded-b":ie()}],"rounded-l":[{"rounded-l":ie()}],"rounded-ss":[{"rounded-ss":ie()}],"rounded-se":[{"rounded-se":ie()}],"rounded-ee":[{"rounded-ee":ie()}],"rounded-es":[{"rounded-es":ie()}],"rounded-tl":[{"rounded-tl":ie()}],"rounded-tr":[{"rounded-tr":ie()}],"rounded-br":[{"rounded-br":ie()}],"rounded-bl":[{"rounded-bl":ie()}],"border-w":[{border:V()}],"border-w-x":[{"border-x":V()}],"border-w-y":[{"border-y":V()}],"border-w-s":[{"border-s":V()}],"border-w-e":[{"border-e":V()}],"border-w-t":[{"border-t":V()}],"border-w-r":[{"border-r":V()}],"border-w-b":[{"border-b":V()}],"border-w-l":[{"border-l":V()}],"divide-x":[{"divide-x":V()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":V()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Z(),"hidden","none"]}],"divide-style":[{divide:[...Z(),"hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...Z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Te,xe,we]}],"outline-w":[{outline:["",Te,is,Ur]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",h,Xa,Ka]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",p,Xa,Ka]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:V()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[Te,Ur]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":V()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",m,Xa,Ka]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[Te,xe,we]}],"mix-blend":[{"mix-blend":[...ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Te]}],"mask-image-linear-from-pos":[{"mask-linear-from":X()}],"mask-image-linear-to-pos":[{"mask-linear-to":X()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":X()}],"mask-image-t-to-pos":[{"mask-t-to":X()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":X()}],"mask-image-r-to-pos":[{"mask-r-to":X()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":X()}],"mask-image-b-to-pos":[{"mask-b-to":X()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":X()}],"mask-image-l-to-pos":[{"mask-l-to":X()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":X()}],"mask-image-x-to-pos":[{"mask-x-to":X()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":X()}],"mask-image-y-to-pos":[{"mask-y-to":X()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[xe,we]}],"mask-image-radial-from-pos":[{"mask-radial-from":X()}],"mask-image-radial-to-pos":[{"mask-radial-to":X()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[Te]}],"mask-image-conic-from-pos":[{"mask-conic-from":X()}],"mask-image-conic-to-pos":[{"mask-conic-to":X()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:$()}],"mask-repeat":[{mask:Q()}],"mask-size":[{mask:D()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",xe,we]}],filter:[{filter:["","none",xe,we]}],blur:[{blur:te()}],brightness:[{brightness:[Te,xe,we]}],contrast:[{contrast:[Te,xe,we]}],"drop-shadow":[{"drop-shadow":["","none",v,Xa,Ka]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",Te,xe,we]}],"hue-rotate":[{"hue-rotate":[Te,xe,we]}],invert:[{invert:["",Te,xe,we]}],saturate:[{saturate:[Te,xe,we]}],sepia:[{sepia:["",Te,xe,we]}],"backdrop-filter":[{"backdrop-filter":["","none",xe,we]}],"backdrop-blur":[{"backdrop-blur":te()}],"backdrop-brightness":[{"backdrop-brightness":[Te,xe,we]}],"backdrop-contrast":[{"backdrop-contrast":[Te,xe,we]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Te,xe,we]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Te,xe,we]}],"backdrop-invert":[{"backdrop-invert":["",Te,xe,we]}],"backdrop-opacity":[{"backdrop-opacity":[Te,xe,we]}],"backdrop-saturate":[{"backdrop-saturate":[Te,xe,we]}],"backdrop-sepia":[{"backdrop-sepia":["",Te,xe,we]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":O()}],"border-spacing-x":[{"border-spacing-x":O()}],"border-spacing-y":[{"border-spacing-y":O()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",xe,we]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Te,"initial",xe,we]}],ease:[{ease:["linear","initial",b,xe,we]}],delay:[{delay:[Te,xe,we]}],animate:[{animate:["none",C,xe,we]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,xe,we]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[xe,we,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",xe,we]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",xe,we]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[Te,is,Ur,cf]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function Me(...e){return L3(M_(e))}function Qa(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return R.jsx(Qa,{type:f,position:d,id:u.id})}const{className:t,children:n,style:o,...i}=e,[a,l]=k.useState(!1);return R.jsx(os,{...i,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),style:{width:"var(--pynodeflow-handle-size, 11px)",height:"var(--pynodeflow-handle-size, 11px)",borderWidth:"var(--pynodeflow-handle-border-width, 2px)",borderColor:"var(--pynodeflow-handle-border-color, #000000ff)",backgroundColor:a?"var(--pynodeflow-handle-hover-bg, #747474ff)":"var(--pynodeflow-handle-bg, #000000ff)",...o},className:Me("h-[11px] w-[11px] rounded-full border border-slate-300 bg-slate-100 transition","dark:border-secondary dark:bg-secondary",t),children:n})}const D3={top:"flex-col",right:"flex-row-reverse justify-end",bottom:"flex-col-reverse justify-end",left:"flex-row"};function Q_(e){if("component"in e){const{component:d}=e,h=d.handle_type==="input"?"target":"source",p=d.handle_type==="input"?ve.Left:ve.Right,m=d.label+(d.required?" *":"");return R.jsx(Q_,{type:h,position:p,id:d.id,title:m})}const{className:t,labelClassName:n,handleClassName:o,title:i,position:a,...l}=e,{ref:u,...f}=l;return R.jsxs("div",{title:i,className:Me("relative flex items-center",D3[a],t),ref:u,children:[R.jsx(Qa,{position:a,className:o,...f}),R.jsx("label",{className:Me("text-foreground px-3",n),children:i})]})}const j3={[ve.Top]:"flex-col-reverse left-1/2 -translate-y-full -translate-x-1/2",[ve.Bottom]:"flex-col left-1/2 translate-y-[10px] -translate-x-1/2",[ve.Left]:"flex-row-reverse top-1/2 -translate-x-full -translate-y-1/2",[ve.Right]:"top-1/2 -translate-y-1/2 translate-x-[10px]"};function Z_(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return R.jsx(Z_,{type:f,position:d,id:u.id,showButton:!0,children:R.jsxs("div",{className:"px-3 py-1.5 bg-secondary border-2 border-border rounded text-sm font-semibold cursor-pointer hover:bg-accent transition-colors",children:[u.label,u.required&&R.jsx("span",{className:"text-red-500 ml-1",children:"*"})]})})}const{showButton:t=!0,position:n=ve.Bottom,children:o,...i}=e,a=j3[n||ve.Bottom],l=n===ve.Top||n===ve.Bottom;return R.jsx(Qa,{position:n,id:i.id,...i,children:t&&R.jsxs("div",{className:`absolute flex items-center ${a} pointer-events-none`,children:[R.jsx("div",{className:`bg-gray-300 ${l?"h-10 w-px":"h-px w-10"}`}),R.jsx("div",{className:"nodrag nopan pointer-events-auto",children:o})]})})}function Za({className:e,type:t,...n}){return R.jsx("input",{type:t,"data-slot":"input",className:Me("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...n})}const J_=$t.createContext(null);function qo(){return $t.useContext(J_)}function q3(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" "),t}function z3(e){var a;if("component"in e){const{component:l,onValueChange:u}=e,f=qo(),d=((a=f==null?void 0:f.nodeData.values)==null?void 0:a[l.id])??l.value??"",h=l.label??q3(l.id);return R.jsxs("div",{className:"component-text-field w-full flex flex-col gap-1",children:[R.jsx("label",{className:"text-xs text-gray-600",children:h}),R.jsx(Za,{type:"text",value:d,onChange:p=>u==null?void 0:u(l.id,p.target.value),onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),placeholder:l.placeholder,"aria-label":h,className:"h-8 text-xs w-full"})]})}const{value:t,onChange:n,placeholder:o,label:i}=e;return R.jsx(Za,{type:"text",value:t,onChange:l=>n(l.target.value),onMouseDown:l=>l.stopPropagation(),onPointerDown:l=>l.stopPropagation(),placeholder:o,"aria-label":i,className:"h-8 text-xs"})}function F3(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" "),t}function $3(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=qo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??0,p=u.label??F3(u.id);return R.jsxs("div",{className:"component-number-field w-full flex flex-col gap-1",children:[R.jsx("label",{className:"text-xs text-gray-600",children:p}),R.jsx(Za,{type:"number",value:h,step:"any",onChange:m=>f==null?void 0:f(u.id,Number(m.target.value)),onMouseDownCapture:m=>m.stopPropagation(),onPointerDownCapture:m=>m.stopPropagation(),onWheel:m=>m.currentTarget.blur(),"aria-label":p,className:"h-8 text-xs w-full"})]})}const{value:t,onChange:n,isInteger:o,placeholder:i,label:a}=e;return R.jsx(Za,{type:"number",value:t,step:o?1:"any",onChange:u=>n(Number(u.target.value)),onMouseDownCapture:u=>u.stopPropagation(),onPointerDownCapture:u=>u.stopPropagation(),onWheel:u=>u.currentTarget.blur(),placeholder:i,"aria-label":a,className:"h-8 text-xs"})}function e1(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function zo(...e){return t=>{let n=!1;const o=e.map(i=>{const a=e1(i,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let i=0;i{const{children:l,...u}=a,f=k.useMemo(()=>u,Object.values(u));return R.jsx(n.Provider,{value:f,children:l})};o.displayName=e+"Provider";function i(a){const l=k.useContext(n);if(l)return l;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,i]}function Fo(e,t=[]){let n=[];function o(a,l){const u=k.createContext(l),f=n.length;n=[...n,l];const d=p=>{var b;const{scope:m,children:v,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=k.useMemo(()=>E,Object.values(E));return R.jsx(y.Provider,{value:x,children:v})};d.displayName=a+"Provider";function h(p,m){var y;const v=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=k.useContext(v);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const i=()=>{const a=n.map(l=>k.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return k.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return i.scopeName=e,[o,V3(i,...t)]}function V3(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return k.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}function Oe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(i){if(e==null||e(i),n===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}var ht=globalThis!=null&&globalThis.document?k.useLayoutEffect:()=>{},H3=dc[" useInsertionEffect ".trim().toString()]||ht;function ss({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[i,a,l]=W3({defaultProp:t,onChange:n}),u=e!==void 0,f=u?e:i;{const h=k.useRef(e!==void 0);k.useEffect(()=>{const p=h.current;p!==u&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,o])}const d=k.useCallback(h=>{var p;if(u){const m=U3(h)?h(e):h;m!==e&&((p=l.current)==null||p.call(l,m))}else a(h)},[u,e,a,l]);return[f,d]}function W3({defaultProp:e,onChange:t}){const[n,o]=k.useState(e),i=k.useRef(n),a=k.useRef(t);return H3(()=>{a.current=t},[t]),k.useEffect(()=>{var l;i.current!==n&&((l=a.current)==null||l.call(a,n),i.current=n)},[n,i]),[n,o,a]}function U3(e){return typeof e=="function"}function t1(e){const t=k.useRef({value:e,previous:e});return k.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function n1(e){const[t,n]=k.useState(void 0);return ht(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const a=i[0];let l,u;if("borderBoxSize"in a){const f=a.borderBoxSize,d=Array.isArray(f)?f[0]:f;l=d.inlineSize,u=d.blockSize}else l=e.offsetWidth,u=e.offsetHeight;n({width:l,height:u})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else n(void 0)},[e]),t}function G3(e,t){return k.useReducer((n,o)=>t[n][o]??n,e)}var Gr=e=>{const{present:t,children:n}=e,o=Y3(t),i=typeof n=="function"?n({present:o.isPresent}):k.Children.only(n),a=Fe(o.ref,K3(i));return typeof n=="function"||o.isPresent?k.cloneElement(i,{ref:a}):null};Gr.displayName="Presence";function Y3(e){const[t,n]=k.useState(),o=k.useRef(null),i=k.useRef(e),a=k.useRef("none"),l=e?"mounted":"unmounted",[u,f]=G3(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return k.useEffect(()=>{const d=Ja(o.current);a.current=u==="mounted"?d:"none"},[u]),ht(()=>{const d=o.current,h=i.current;if(h!==e){const m=a.current,v=Ja(d);e?f("MOUNT"):v==="none"||(d==null?void 0:d.display)==="none"?f("UNMOUNT"):f(h&&m!==v?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,f]),ht(()=>{if(t){let d;const h=t.ownerDocument.defaultView??window,p=v=>{const y=Ja(o.current).includes(CSS.escape(v.animationName));if(v.target===t&&y&&(f("ANIMATION_END"),!i.current)){const x=t.style.animationFillMode;t.style.animationFillMode="forwards",d=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=x)})}},m=v=>{v.target===t&&(a.current=Ja(o.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{h.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:k.useCallback(d=>{o.current=d?getComputedStyle(d):null,n(d)},[])}}function Ja(e){return(e==null?void 0:e.animationName)||"none"}function K3(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function X3(e){const t=Q3(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(J3);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function Q3(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=tz(i),u=ez(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Z3=Symbol("radix.slottable");function J3(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Z3}function ez(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function tz(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var nz=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],je=nz.reduce((e,t)=>{const n=X3(`Primitive.${t}`),o=k.forwardRef((i,a)=>{const{asChild:l,...u}=i,f=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),R.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function rz(e,t){e&&ts.flushSync(()=>e.dispatchEvent(t))}var el="Checkbox",[oz]=Fo(el),[iz,ff]=oz(el);function sz(e){const{__scopeCheckbox:t,checked:n,children:o,defaultChecked:i,disabled:a,form:l,name:u,onCheckedChange:f,required:d,value:h="on",internal_do_not_use_render:p}=e,[m,v]=ss({prop:n,defaultProp:i??!1,onChange:f,caller:el}),[E,y]=k.useState(null),[x,b]=k.useState(null),C=k.useRef(!1),_=E?!!l||!!E.closest("form"):!0,N={checked:m,disabled:a,setChecked:v,control:E,setControl:y,name:u,form:l,value:h,hasConsumerStoppedPropagationRef:C,required:d,defaultChecked:cr(i)?!1:i,isFormControl:_,bubbleInput:x,setBubbleInput:b};return R.jsx(iz,{scope:t,...N,children:az(p)?p(N):o})}var r1="CheckboxTrigger",o1=k.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...o},i)=>{const{control:a,value:l,disabled:u,checked:f,required:d,setControl:h,setChecked:p,hasConsumerStoppedPropagationRef:m,isFormControl:v,bubbleInput:E}=ff(r1,e),y=Fe(i,h),x=k.useRef(f);return k.useEffect(()=>{const b=a==null?void 0:a.form;if(b){const C=()=>p(x.current);return b.addEventListener("reset",C),()=>b.removeEventListener("reset",C)}},[a,p]),R.jsx(je.button,{type:"button",role:"checkbox","aria-checked":cr(f)?"mixed":f,"aria-required":d,"data-state":c1(f),"data-disabled":u?"":void 0,disabled:u,value:l,...o,ref:y,onKeyDown:Oe(t,b=>{b.key==="Enter"&&b.preventDefault()}),onClick:Oe(n,b=>{p(C=>cr(C)?!0:!C),E&&v&&(m.current=b.isPropagationStopped(),m.current||b.stopPropagation())})})});o1.displayName=r1;var i1=k.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:o,checked:i,defaultChecked:a,required:l,disabled:u,value:f,onCheckedChange:d,form:h,...p}=e;return R.jsx(sz,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:u,required:l,onCheckedChange:d,name:o,form:h,value:f,internal_do_not_use_render:({isFormControl:m})=>R.jsxs(R.Fragment,{children:[R.jsx(o1,{...p,ref:t,__scopeCheckbox:n}),m&&R.jsx(u1,{__scopeCheckbox:n})]})})});i1.displayName=el;var s1="CheckboxIndicator",a1=k.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:o,...i}=e,a=ff(s1,n);return R.jsx(Gr,{present:o||cr(a.checked)||a.checked===!0,children:R.jsx(je.span,{"data-state":c1(a.checked),"data-disabled":a.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});a1.displayName=s1;var l1="CheckboxBubbleInput",u1=k.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:o,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:l,required:u,disabled:f,name:d,value:h,form:p,bubbleInput:m,setBubbleInput:v}=ff(l1,e),E=Fe(n,v),y=t1(a),x=n1(o);k.useEffect(()=>{const C=m;if(!C)return;const _=window.HTMLInputElement.prototype,P=Object.getOwnPropertyDescriptor(_,"checked").set,T=!i.current;if(y!==a&&P){const I=new Event("click",{bubbles:T});C.indeterminate=cr(a),P.call(C,cr(a)?!1:a),C.dispatchEvent(I)}},[m,y,a,i]);const b=k.useRef(cr(a)?!1:a);return R.jsx(je.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??b.current,required:u,disabled:f,name:d,value:h,form:p,...t,tabIndex:-1,ref:E,style:{...t.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});u1.displayName=l1;function az(e){return typeof e=="function"}function cr(e){return e==="indeterminate"}function c1(e){return cr(e)?"indeterminate":e?"checked":"unchecked"}/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const n3=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),r3=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,r,o)=>o?o.toUpperCase():r.toLowerCase()),F1=e=>{const t=r3(e);return t.charAt(0).toUpperCase()+t.slice(1)},$1=(...e)=>e.filter((t,r,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===r).join(" ").trim(),o3=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};/** + */const lz=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),uz=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,o)=>o?o.toUpperCase():n.toLowerCase()),f1=e=>{const t=uz(e);return t.charAt(0).toUpperCase()+t.slice(1)},d1=(...e)=>e.filter((t,n,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===n).join(" ").trim(),cz=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var i3={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + */var fz={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const s3=N.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:s="",children:a,iconNode:l,...u},f)=>N.createElement("svg",{ref:f,...i3,width:t,height:t,stroke:e,strokeWidth:o?Number(r)*24/Number(t):r,className:$1("lucide",s),...!a&&!o3(u)&&{"aria-hidden":"true"},...u},[...l.map(([d,h])=>N.createElement(d,h)),...Array.isArray(a)?a:[a]]));/** + */const dz=k.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:i="",children:a,iconNode:l,...u},f)=>k.createElement("svg",{ref:f,...fz,width:t,height:t,stroke:e,strokeWidth:o?Number(n)*24/Number(t):n,className:d1("lucide",i),...!a&&!cz(u)&&{"aria-hidden":"true"},...u},[...l.map(([d,h])=>k.createElement(d,h)),...Array.isArray(a)?a:[a]]));/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Wr=(e,t)=>{const r=N.forwardRef(({className:o,...s},a)=>N.createElement(s3,{ref:a,iconNode:t,className:$1(`lucide-${n3(F1(e))}`,`lucide-${e}`,o),...s}));return r.displayName=F1(e),r};/** + */const kn=(e,t)=>{const n=k.forwardRef(({className:o,...i},a)=>k.createElement(dz,{ref:a,iconNode:t,className:d1(`lucide-${lz(f1(e))}`,`lucide-${e}`,o),...i}));return n.displayName=f1(e),n};/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const a3=Wr("arrow-down-wide-narrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);/** + */const hz=kn("arrow-down-wide-narrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const l3=Wr("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]);/** + */const pz=kn("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]);/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const B1=Wr("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const h1=kn("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const V1=Wr("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const p1=kn("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const u3=Wr("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + */const gz=kn("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const c3=Wr("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);/** + */const mz=kn("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);/** * @license lucide-react v0.554.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const f3=Wr("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);function H1({className:e,...t}){return I.jsx(O1,{"data-slot":"checkbox",className:dt("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:I.jsx(D1,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:I.jsx(B1,{className:"size-3.5"})})})}function d3(e){var s;if("component"in e){const{component:a,onValueChange:l}=e,u=Oo(),f=((s=u==null?void 0:u.nodeData.values)==null?void 0:s[a.id])??a.value??!1;return I.jsxs("div",{className:"component-bool-field flex items-center gap-2",children:[I.jsx(H1,{checked:f,onCheckedChange:d=>l==null?void 0:l(a.id,d===!0),onMouseDown:d=>d.stopPropagation(),onPointerDown:d=>d.stopPropagation(),"aria-label":a.label,className:"h-4 w-4"}),I.jsx("label",{className:"text-sm text-gray-700",children:a.label})]})}const{value:t,onChange:r,label:o}=e;return I.jsx(H1,{checked:t,onCheckedChange:a=>r(a===!0),onMouseDown:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),"aria-label":o,className:"h-4 w-4"})}function W1(e,[t,r]){return Math.min(r,Math.max(t,e))}function U1(e){const t=h3(e),r=N.forwardRef((o,s)=>{const{children:a,...l}=o,u=N.Children.toArray(a),f=u.find(g3);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}function h3(e){const t=N.forwardRef((r,o)=>{const{children:s,...a}=r;if(N.isValidElement(s)){const l=v3(s),u=m3(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var p3=Symbol("radix.slottable");function g3(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===p3}function m3(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function v3(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function y3(e){const t=e+"CollectionProvider",[r,o]=Va(t),[s,a]=r(t,{collectionRef:{current:null},itemMap:new Map}),l=y=>{const{scope:x,children:b}=y,C=$t.useRef(null),_=$t.useRef(new Map).current;return I.jsx(s,{scope:x,itemMap:_,collectionRef:C,children:b})};l.displayName=t;const u=e+"CollectionSlot",f=U1(u),d=$t.forwardRef((y,x)=>{const{scope:b,children:C}=y,_=a(u,b),k=et(x,_.collectionRef);return I.jsx(f,{ref:k,children:C})});d.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",m=U1(h),w=$t.forwardRef((y,x)=>{const{scope:b,children:C,..._}=y,k=$t.useRef(null),R=et(x,k),T=a(h,b);return $t.useEffect(()=>(T.itemMap.set(k,{ref:k,..._}),()=>void T.itemMap.delete(k))),I.jsx(m,{[p]:"",ref:R,children:C})});w.displayName=h;function E(y){const x=a(e+"CollectionConsumer",y);return $t.useCallback(()=>{const C=x.collectionRef.current;if(!C)return[];const _=Array.from(C.querySelectorAll(`[${p}]`));return Array.from(x.itemMap.values()).sort((T,A)=>_.indexOf(T.ref.current)-_.indexOf(A.ref.current))},[x.collectionRef,x.itemMap])}return[{Provider:l,Slot:d,ItemSlot:w},E,o]}var w3=N.createContext(void 0);function x3(e){const t=N.useContext(w3);return e||t||"ltr"}function Ur(e){const t=N.useRef(e);return N.useEffect(()=>{t.current=e}),N.useMemo(()=>(...r)=>{var o;return(o=t.current)==null?void 0:o.call(t,...r)},[])}function _3(e,t=globalThis==null?void 0:globalThis.document){const r=Ur(e);N.useEffect(()=>{const o=s=>{s.key==="Escape"&&r(s)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[r,t])}var b3="DismissableLayer",Xc="dismissableLayer.update",S3="dismissableLayer.pointerDownOutside",E3="dismissableLayer.focusOutside",G1,Y1=N.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),K1=N.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:l,onDismiss:u,...f}=e,d=N.useContext(Y1),[h,p]=N.useState(null),m=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,w]=N.useState({}),E=et(t,A=>p(A)),y=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=y.indexOf(x),C=h?y.indexOf(h):-1,_=d.layersWithOutsidePointerEventsDisabled.size>0,k=C>=b,R=N3(A=>{const O=A.target,j=[...d.branches].some(U=>U.contains(O));!k||j||(s==null||s(A),l==null||l(A),A.defaultPrevented||u==null||u())},m),T=R3(A=>{const O=A.target;[...d.branches].some(U=>U.contains(O))||(a==null||a(A),l==null||l(A),A.defaultPrevented||u==null||u())},m);return _3(A=>{C===d.layers.size-1&&(o==null||o(A),!A.defaultPrevented&&u&&(A.preventDefault(),u()))},m),N.useEffect(()=>{if(h)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(G1=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),X1(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=G1)}},[h,m,r,d]),N.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),X1())},[h,d]),N.useEffect(()=>{const A=()=>w({});return document.addEventListener(Xc,A),()=>document.removeEventListener(Xc,A)},[]),I.jsx(Fe.div,{...f,ref:E,style:{pointerEvents:_?k?"auto":"none":void 0,...e.style},onFocusCapture:Ke(e.onFocusCapture,T.onFocusCapture),onBlurCapture:Ke(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:Ke(e.onPointerDownCapture,R.onPointerDownCapture)})});K1.displayName=b3;var C3="DismissableLayerBranch",k3=N.forwardRef((e,t)=>{const r=N.useContext(Y1),o=N.useRef(null),s=et(t,o);return N.useEffect(()=>{const a=o.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),I.jsx(Fe.div,{...e,ref:s})});k3.displayName=C3;function N3(e,t=globalThis==null?void 0:globalThis.document){const r=Ur(e),o=N.useRef(!1),s=N.useRef(()=>{});return N.useEffect(()=>{const a=u=>{if(u.target&&!o.current){let f=function(){Q1(S3,r,d,{discrete:!0})};const d={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",s.current),s.current=f,t.addEventListener("click",s.current,{once:!0})):f()}else t.removeEventListener("click",s.current);o.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",a),t.removeEventListener("click",s.current)}},[t,r]),{onPointerDownCapture:()=>o.current=!0}}function R3(e,t=globalThis==null?void 0:globalThis.document){const r=Ur(e),o=N.useRef(!1);return N.useEffect(()=>{const s=a=>{a.target&&!o.current&&Q1(E3,r,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function X1(){const e=new CustomEvent(Xc);document.dispatchEvent(e)}function Q1(e,t,r,{discrete:o}){const s=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&s.addEventListener(e,t,{once:!0}),o?Qq(s,a):s.dispatchEvent(a)}var Qc=0;function P3(){N.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Z1()),document.body.insertAdjacentElement("beforeend",e[1]??Z1()),Qc++,()=>{Qc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Qc--}},[])}function Z1(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Zc="focusScope.autoFocusOnMount",Jc="focusScope.autoFocusOnUnmount",J1={bubbles:!1,cancelable:!0},T3="FocusScope",e_=N.forwardRef((e,t)=>{const{loop:r=!1,trapped:o=!1,onMountAutoFocus:s,onUnmountAutoFocus:a,...l}=e,[u,f]=N.useState(null),d=Ur(s),h=Ur(a),p=N.useRef(null),m=et(t,y=>f(y)),w=N.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;N.useEffect(()=>{if(o){let y=function(_){if(w.paused||!u)return;const k=_.target;u.contains(k)?p.current=k:lr(p.current,{select:!0})},x=function(_){if(w.paused||!u)return;const k=_.relatedTarget;k!==null&&(u.contains(k)||lr(p.current,{select:!0}))},b=function(_){if(document.activeElement===document.body)for(const R of _)R.removedNodes.length>0&&lr(u)};document.addEventListener("focusin",y),document.addEventListener("focusout",x);const C=new MutationObserver(b);return u&&C.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",x),C.disconnect()}}},[o,u,w.paused]),N.useEffect(()=>{if(u){r_.add(w);const y=document.activeElement;if(!u.contains(y)){const b=new CustomEvent(Zc,J1);u.addEventListener(Zc,d),u.dispatchEvent(b),b.defaultPrevented||(A3(D3(t_(u)),{select:!0}),document.activeElement===y&&lr(u))}return()=>{u.removeEventListener(Zc,d),setTimeout(()=>{const b=new CustomEvent(Jc,J1);u.addEventListener(Jc,h),u.dispatchEvent(b),b.defaultPrevented||lr(y??document.body,{select:!0}),u.removeEventListener(Jc,h),r_.remove(w)},0)}}},[u,d,h,w]);const E=N.useCallback(y=>{if(!r&&!o||w.paused)return;const x=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,b=document.activeElement;if(x&&b){const C=y.currentTarget,[_,k]=I3(C);_&&k?!y.shiftKey&&b===k?(y.preventDefault(),r&&lr(_,{select:!0})):y.shiftKey&&b===_&&(y.preventDefault(),r&&lr(k,{select:!0})):b===C&&y.preventDefault()}},[r,o,w.paused]);return I.jsx(Fe.div,{tabIndex:-1,...l,ref:m,onKeyDown:E})});e_.displayName=T3;function A3(e,{select:t=!1}={}){const r=document.activeElement;for(const o of e)if(lr(o,{select:t}),document.activeElement!==r)return}function I3(e){const t=t_(e),r=n_(t,e),o=n_(t.reverse(),e);return[r,o]}function t_(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const s=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||s?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function n_(e,t){for(const r of e)if(!M3(r,{upTo:t}))return r}function M3(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function O3(e){return e instanceof HTMLInputElement&&"select"in e}function lr(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&O3(e)&&t&&e.select()}}var r_=L3();function L3(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=o_(e,t),e.unshift(t)},remove(t){var r;e=o_(e,t),(r=e[0])==null||r.resume()}}}function o_(e,t){const r=[...e],o=r.indexOf(t);return o!==-1&&r.splice(o,1),r}function D3(e){return e.filter(t=>t.tagName!=="A")}var j3=Ju[" useId ".trim().toString()]||(()=>{}),q3=0;function ef(e){const[t,r]=N.useState(j3());return ht(()=>{r(o=>o??String(q3++))},[e]),e||(t?`radix-${t}`:"")}const z3=["top","right","bottom","left"],ur=Math.min,It=Math.max,Ua=Math.round,Ga=Math.floor,Cn=e=>({x:e,y:e}),F3={left:"right",right:"left",bottom:"top",top:"bottom"},$3={start:"end",end:"start"};function tf(e,t,r){return It(e,ur(t,r))}function Bn(e,t){return typeof e=="function"?e(t):e}function Vn(e){return e.split("-")[0]}function Lo(e){return e.split("-")[1]}function nf(e){return e==="x"?"y":"x"}function rf(e){return e==="y"?"height":"width"}const B3=new Set(["top","bottom"]);function kn(e){return B3.has(Vn(e))?"y":"x"}function of(e){return nf(kn(e))}function V3(e,t,r){r===void 0&&(r=!1);const o=Lo(e),s=of(e),a=rf(s);let l=s==="x"?o===(r?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=Ya(l)),[l,Ya(l)]}function H3(e){const t=Ya(e);return[sf(e),t,sf(t)]}function sf(e){return e.replace(/start|end/g,t=>$3[t])}const i_=["left","right"],s_=["right","left"],W3=["top","bottom"],U3=["bottom","top"];function G3(e,t,r){switch(e){case"top":case"bottom":return r?t?s_:i_:t?i_:s_;case"left":case"right":return t?W3:U3;default:return[]}}function Y3(e,t,r,o){const s=Lo(e);let a=G3(Vn(e),r==="start",o);return s&&(a=a.map(l=>l+"-"+s),t&&(a=a.concat(a.map(sf)))),a}function Ya(e){return e.replace(/left|right|bottom|top/g,t=>F3[t])}function K3(e){return{top:0,right:0,bottom:0,left:0,...e}}function a_(e){return typeof e!="number"?K3(e):{top:e,right:e,bottom:e,left:e}}function Ka(e){const{x:t,y:r,width:o,height:s}=e;return{width:o,height:s,top:r,left:t,right:t+o,bottom:r+s,x:t,y:r}}function l_(e,t,r){let{reference:o,floating:s}=e;const a=kn(t),l=of(t),u=rf(l),f=Vn(t),d=a==="y",h=o.x+o.width/2-s.width/2,p=o.y+o.height/2-s.height/2,m=o[u]/2-s[u]/2;let w;switch(f){case"top":w={x:h,y:o.y-s.height};break;case"bottom":w={x:h,y:o.y+o.height};break;case"right":w={x:o.x+o.width,y:p};break;case"left":w={x:o.x-s.width,y:p};break;default:w={x:o.x,y:o.y}}switch(Lo(t)){case"start":w[l]-=m*(r&&d?-1:1);break;case"end":w[l]+=m*(r&&d?-1:1);break}return w}const X3=async(e,t,r)=>{const{placement:o="bottom",strategy:s="absolute",middleware:a=[],platform:l}=r,u=a.filter(Boolean),f=await(l.isRTL==null?void 0:l.isRTL(t));let d=await l.getElementRects({reference:e,floating:t,strategy:s}),{x:h,y:p}=l_(d,o,f),m=o,w={},E=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:r,y:o,placement:s,rects:a,platform:l,elements:u,middlewareData:f}=t,{element:d,padding:h=0}=Bn(e,t)||{};if(d==null)return{};const p=a_(h),m={x:r,y:o},w=of(s),E=rf(w),y=await l.getDimensions(d),x=w==="y",b=x?"top":"left",C=x?"bottom":"right",_=x?"clientHeight":"clientWidth",k=a.reference[E]+a.reference[w]-m[w]-a.floating[E],R=m[w]-a.reference[w],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d));let A=T?T[_]:0;(!A||!await(l.isElement==null?void 0:l.isElement(T)))&&(A=u.floating[_]||a.floating[E]);const O=k/2-R/2,j=A/2-y[E]/2-1,U=ur(p[b],j),q=ur(p[C],j),V=U,X=A-y[E]-q,L=A/2-y[E]/2+O,H=tf(V,L,X),B=!f.arrow&&Lo(s)!=null&&L!==H&&a.reference[E]/2-(LL<=0)){var q,V;const L=(((q=a.flip)==null?void 0:q.index)||0)+1,H=A[L];if(H&&(!(p==="alignment"?C!==kn(H):!1)||U.every(M=>kn(M.placement)===C?M.overflows[0]>0:!0)))return{data:{index:L,overflows:U},reset:{placement:H}};let B=(V=U.filter(Y=>Y.overflows[0]<=0).sort((Y,M)=>Y.overflows[1]-M.overflows[1])[0])==null?void 0:V.placement;if(!B)switch(w){case"bestFit":{var X;const Y=(X=U.filter(M=>{if(T){const z=kn(M.placement);return z===C||z==="y"}return!0}).map(M=>[M.placement,M.overflows.filter(z=>z>0).reduce((z,Q)=>z+Q,0)]).sort((M,z)=>M[1]-z[1])[0])==null?void 0:X[0];Y&&(B=Y);break}case"initialPlacement":B=u;break}if(s!==B)return{reset:{placement:B}}}return{}}}};function u_(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function c_(e){return z3.some(t=>e[t]>=0)}const J3=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:o="referenceHidden",...s}=Bn(e,t);switch(o){case"referenceHidden":{const a=await Ji(t,{...s,elementContext:"reference"}),l=u_(a,r.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:c_(l)}}}case"escaped":{const a=await Ji(t,{...s,altBoundary:!0}),l=u_(a,r.floating);return{data:{escapedOffsets:l,escaped:c_(l)}}}default:return{}}}}},f_=new Set(["left","top"]);async function ez(e,t){const{placement:r,platform:o,elements:s}=e,a=await(o.isRTL==null?void 0:o.isRTL(s.floating)),l=Vn(r),u=Lo(r),f=kn(r)==="y",d=f_.has(l)?-1:1,h=a&&f?-1:1,p=Bn(t,e);let{mainAxis:m,crossAxis:w,alignmentAxis:E}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return u&&typeof E=="number"&&(w=u==="end"?E*-1:E),f?{x:w*h,y:m*d}:{x:m*d,y:w*h}}const tz=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,o;const{x:s,y:a,placement:l,middlewareData:u}=t,f=await ez(t,e);return l===((r=u.offset)==null?void 0:r.placement)&&(o=u.arrow)!=null&&o.alignmentOffset?{}:{x:s+f.x,y:a+f.y,data:{...f,placement:l}}}}},nz=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:o,placement:s}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:x=>{let{x:b,y:C}=x;return{x:b,y:C}}},...f}=Bn(e,t),d={x:r,y:o},h=await Ji(t,f),p=kn(Vn(s)),m=nf(p);let w=d[m],E=d[p];if(a){const x=m==="y"?"top":"left",b=m==="y"?"bottom":"right",C=w+h[x],_=w-h[b];w=tf(C,w,_)}if(l){const x=p==="y"?"top":"left",b=p==="y"?"bottom":"right",C=E+h[x],_=E-h[b];E=tf(C,E,_)}const y=u.fn({...t,[m]:w,[p]:E});return{...y,data:{x:y.x-r,y:y.y-o,enabled:{[m]:a,[p]:l}}}}}},rz=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:o,placement:s,rects:a,middlewareData:l}=t,{offset:u=0,mainAxis:f=!0,crossAxis:d=!0}=Bn(e,t),h={x:r,y:o},p=kn(s),m=nf(p);let w=h[m],E=h[p];const y=Bn(u,t),x=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const _=m==="y"?"height":"width",k=a.reference[m]-a.floating[_]+x.mainAxis,R=a.reference[m]+a.reference[_]-x.mainAxis;wR&&(w=R)}if(d){var b,C;const _=m==="y"?"width":"height",k=f_.has(Vn(s)),R=a.reference[p]-a.floating[_]+(k&&((b=l.offset)==null?void 0:b[p])||0)+(k?0:x.crossAxis),T=a.reference[p]+a.reference[_]+(k?0:((C=l.offset)==null?void 0:C[p])||0)-(k?x.crossAxis:0);ET&&(E=T)}return{[m]:w,[p]:E}}}},oz=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,o;const{placement:s,rects:a,platform:l,elements:u}=t,{apply:f=()=>{},...d}=Bn(e,t),h=await Ji(t,d),p=Vn(s),m=Lo(s),w=kn(s)==="y",{width:E,height:y}=a.floating;let x,b;p==="top"||p==="bottom"?(x=p,b=m===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(b=p,x=m==="end"?"top":"bottom");const C=y-h.top-h.bottom,_=E-h.left-h.right,k=ur(y-h[x],C),R=ur(E-h[b],_),T=!t.middlewareData.shift;let A=k,O=R;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(O=_),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(A=C),T&&!m){const U=It(h.left,0),q=It(h.right,0),V=It(h.top,0),X=It(h.bottom,0);w?O=E-2*(U!==0||q!==0?U+q:It(h.left,h.right)):A=y-2*(V!==0||X!==0?V+X:It(h.top,h.bottom))}await f({...t,availableWidth:O,availableHeight:A});const j=await l.getDimensions(u.floating);return E!==j.width||y!==j.height?{reset:{rects:!0}}:{}}}};function Xa(){return typeof window<"u"}function Do(e){return d_(e)?(e.nodeName||"").toLowerCase():"#document"}function Mt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Nn(e){var t;return(t=(d_(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function d_(e){return Xa()?e instanceof Node||e instanceof Mt(e).Node:!1}function ln(e){return Xa()?e instanceof Element||e instanceof Mt(e).Element:!1}function Rn(e){return Xa()?e instanceof HTMLElement||e instanceof Mt(e).HTMLElement:!1}function h_(e){return!Xa()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Mt(e).ShadowRoot}const iz=new Set(["inline","contents"]);function es(e){const{overflow:t,overflowX:r,overflowY:o,display:s}=un(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+r)&&!iz.has(s)}const sz=new Set(["table","td","th"]);function az(e){return sz.has(Do(e))}const lz=[":popover-open",":modal"];function Qa(e){return lz.some(t=>{try{return e.matches(t)}catch{return!1}})}const uz=["transform","translate","scale","rotate","perspective"],cz=["transform","translate","scale","rotate","perspective","filter"],fz=["paint","layout","strict","content"];function af(e){const t=lf(),r=ln(e)?un(e):e;return uz.some(o=>r[o]?r[o]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||cz.some(o=>(r.willChange||"").includes(o))||fz.some(o=>(r.contain||"").includes(o))}function dz(e){let t=cr(e);for(;Rn(t)&&!jo(t);){if(af(t))return t;if(Qa(t))return null;t=cr(t)}return null}function lf(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const hz=new Set(["html","body","#document"]);function jo(e){return hz.has(Do(e))}function un(e){return Mt(e).getComputedStyle(e)}function Za(e){return ln(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function cr(e){if(Do(e)==="html")return e;const t=e.assignedSlot||e.parentNode||h_(e)&&e.host||Nn(e);return h_(t)?t.host:t}function p_(e){const t=cr(e);return jo(t)?e.ownerDocument?e.ownerDocument.body:e.body:Rn(t)&&es(t)?t:p_(t)}function ts(e,t,r){var o;t===void 0&&(t=[]),r===void 0&&(r=!0);const s=p_(e),a=s===((o=e.ownerDocument)==null?void 0:o.body),l=Mt(s);if(a){const u=uf(l);return t.concat(l,l.visualViewport||[],es(s)?s:[],u&&r?ts(u):[])}return t.concat(s,ts(s,[],r))}function uf(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function g_(e){const t=un(e);let r=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const s=Rn(e),a=s?e.offsetWidth:r,l=s?e.offsetHeight:o,u=Ua(r)!==a||Ua(o)!==l;return u&&(r=a,o=l),{width:r,height:o,$:u}}function cf(e){return ln(e)?e:e.contextElement}function qo(e){const t=cf(e);if(!Rn(t))return Cn(1);const r=t.getBoundingClientRect(),{width:o,height:s,$:a}=g_(t);let l=(a?Ua(r.width):r.width)/o,u=(a?Ua(r.height):r.height)/s;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const pz=Cn(0);function m_(e){const t=Mt(e);return!lf()||!t.visualViewport?pz:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function gz(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==Mt(e)?!1:t}function Gr(e,t,r,o){t===void 0&&(t=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),a=cf(e);let l=Cn(1);t&&(o?ln(o)&&(l=qo(o)):l=qo(e));const u=gz(a,r,o)?m_(a):Cn(0);let f=(s.left+u.x)/l.x,d=(s.top+u.y)/l.y,h=s.width/l.x,p=s.height/l.y;if(a){const m=Mt(a),w=o&&ln(o)?Mt(o):o;let E=m,y=uf(E);for(;y&&o&&w!==E;){const x=qo(y),b=y.getBoundingClientRect(),C=un(y),_=b.left+(y.clientLeft+parseFloat(C.paddingLeft))*x.x,k=b.top+(y.clientTop+parseFloat(C.paddingTop))*x.y;f*=x.x,d*=x.y,h*=x.x,p*=x.y,f+=_,d+=k,E=Mt(y),y=uf(E)}}return Ka({width:h,height:p,x:f,y:d})}function Ja(e,t){const r=Za(e).scrollLeft;return t?t.left+r:Gr(Nn(e)).left+r}function v_(e,t){const r=e.getBoundingClientRect(),o=r.left+t.scrollLeft-Ja(e,r),s=r.top+t.scrollTop;return{x:o,y:s}}function mz(e){let{elements:t,rect:r,offsetParent:o,strategy:s}=e;const a=s==="fixed",l=Nn(o),u=t?Qa(t.floating):!1;if(o===l||u&&a)return r;let f={scrollLeft:0,scrollTop:0},d=Cn(1);const h=Cn(0),p=Rn(o);if((p||!p&&!a)&&((Do(o)!=="body"||es(l))&&(f=Za(o)),Rn(o))){const w=Gr(o);d=qo(o),h.x=w.x+o.clientLeft,h.y=w.y+o.clientTop}const m=l&&!p&&!a?v_(l,f):Cn(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-f.scrollLeft*d.x+h.x+m.x,y:r.y*d.y-f.scrollTop*d.y+h.y+m.y}}function vz(e){return Array.from(e.getClientRects())}function yz(e){const t=Nn(e),r=Za(e),o=e.ownerDocument.body,s=It(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=It(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let l=-r.scrollLeft+Ja(e);const u=-r.scrollTop;return un(o).direction==="rtl"&&(l+=It(t.clientWidth,o.clientWidth)-s),{width:s,height:a,x:l,y:u}}const y_=25;function wz(e,t){const r=Mt(e),o=Nn(e),s=r.visualViewport;let a=o.clientWidth,l=o.clientHeight,u=0,f=0;if(s){a=s.width,l=s.height;const h=lf();(!h||h&&t==="fixed")&&(u=s.offsetLeft,f=s.offsetTop)}const d=Ja(o);if(d<=0){const h=o.ownerDocument,p=h.body,m=getComputedStyle(p),w=h.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,E=Math.abs(o.clientWidth-p.clientWidth-w);E<=y_&&(a-=E)}else d<=y_&&(a+=d);return{width:a,height:l,x:u,y:f}}const xz=new Set(["absolute","fixed"]);function _z(e,t){const r=Gr(e,!0,t==="fixed"),o=r.top+e.clientTop,s=r.left+e.clientLeft,a=Rn(e)?qo(e):Cn(1),l=e.clientWidth*a.x,u=e.clientHeight*a.y,f=s*a.x,d=o*a.y;return{width:l,height:u,x:f,y:d}}function w_(e,t,r){let o;if(t==="viewport")o=wz(e,r);else if(t==="document")o=yz(Nn(e));else if(ln(t))o=_z(t,r);else{const s=m_(e);o={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return Ka(o)}function x_(e,t){const r=cr(e);return r===t||!ln(r)||jo(r)?!1:un(r).position==="fixed"||x_(r,t)}function bz(e,t){const r=t.get(e);if(r)return r;let o=ts(e,[],!1).filter(u=>ln(u)&&Do(u)!=="body"),s=null;const a=un(e).position==="fixed";let l=a?cr(e):e;for(;ln(l)&&!jo(l);){const u=un(l),f=af(l);!f&&u.position==="fixed"&&(s=null),(a?!f&&!s:!f&&u.position==="static"&&!!s&&xz.has(s.position)||es(l)&&!f&&x_(e,l))?o=o.filter(h=>h!==l):s=u,l=cr(l)}return t.set(e,o),o}function Sz(e){let{element:t,boundary:r,rootBoundary:o,strategy:s}=e;const l=[...r==="clippingAncestors"?Qa(t)?[]:bz(t,this._c):[].concat(r),o],u=l[0],f=l.reduce((d,h)=>{const p=w_(t,h,s);return d.top=It(p.top,d.top),d.right=ur(p.right,d.right),d.bottom=ur(p.bottom,d.bottom),d.left=It(p.left,d.left),d},w_(t,u,s));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Ez(e){const{width:t,height:r}=g_(e);return{width:t,height:r}}function Cz(e,t,r){const o=Rn(t),s=Nn(t),a=r==="fixed",l=Gr(e,!0,a,t);let u={scrollLeft:0,scrollTop:0};const f=Cn(0);function d(){f.x=Ja(s)}if(o||!o&&!a)if((Do(t)!=="body"||es(s))&&(u=Za(t)),o){const w=Gr(t,!0,a,t);f.x=w.x+t.clientLeft,f.y=w.y+t.clientTop}else s&&d();a&&!o&&s&&d();const h=s&&!o&&!a?v_(s,u):Cn(0),p=l.left+u.scrollLeft-f.x-h.x,m=l.top+u.scrollTop-f.y-h.y;return{x:p,y:m,width:l.width,height:l.height}}function ff(e){return un(e).position==="static"}function __(e,t){if(!Rn(e)||un(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return Nn(e)===r&&(r=r.ownerDocument.body),r}function b_(e,t){const r=Mt(e);if(Qa(e))return r;if(!Rn(e)){let s=cr(e);for(;s&&!jo(s);){if(ln(s)&&!ff(s))return s;s=cr(s)}return r}let o=__(e,t);for(;o&&az(o)&&ff(o);)o=__(o,t);return o&&jo(o)&&ff(o)&&!af(o)?r:o||dz(e)||r}const kz=async function(e){const t=this.getOffsetParent||b_,r=this.getDimensions,o=await r(e.floating);return{reference:Cz(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Nz(e){return un(e).direction==="rtl"}const Rz={convertOffsetParentRelativeRectToViewportRelativeRect:mz,getDocumentElement:Nn,getClippingRect:Sz,getOffsetParent:b_,getElementRects:kz,getClientRects:vz,getDimensions:Ez,getScale:qo,isElement:ln,isRTL:Nz};function S_(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Pz(e,t){let r=null,o;const s=Nn(e);function a(){var u;clearTimeout(o),(u=r)==null||u.disconnect(),r=null}function l(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),a();const d=e.getBoundingClientRect(),{left:h,top:p,width:m,height:w}=d;if(u||t(),!m||!w)return;const E=Ga(p),y=Ga(s.clientWidth-(h+m)),x=Ga(s.clientHeight-(p+w)),b=Ga(h),_={rootMargin:-E+"px "+-y+"px "+-x+"px "+-b+"px",threshold:It(0,ur(1,f))||1};let k=!0;function R(T){const A=T[0].intersectionRatio;if(A!==f){if(!k)return l();A?l(!1,A):o=setTimeout(()=>{l(!1,1e-7)},1e3)}A===1&&!S_(d,e.getBoundingClientRect())&&l(),k=!1}try{r=new IntersectionObserver(R,{..._,root:s.ownerDocument})}catch{r=new IntersectionObserver(R,_)}r.observe(e)}return l(!0),a}function Tz(e,t,r,o){o===void 0&&(o={});const{ancestorScroll:s=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=o,d=cf(e),h=s||a?[...d?ts(d):[],...ts(t)]:[];h.forEach(b=>{s&&b.addEventListener("scroll",r,{passive:!0}),a&&b.addEventListener("resize",r)});const p=d&&u?Pz(d,r):null;let m=-1,w=null;l&&(w=new ResizeObserver(b=>{let[C]=b;C&&C.target===d&&w&&(w.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var _;(_=w)==null||_.observe(t)})),r()}),d&&!f&&w.observe(d),w.observe(t));let E,y=f?Gr(e):null;f&&x();function x(){const b=Gr(e);y&&!S_(y,b)&&r(),y=b,E=requestAnimationFrame(x)}return r(),()=>{var b;h.forEach(C=>{s&&C.removeEventListener("scroll",r),a&&C.removeEventListener("resize",r)}),p==null||p(),(b=w)==null||b.disconnect(),w=null,f&&cancelAnimationFrame(E)}}const Az=tz,Iz=nz,Mz=Z3,Oz=oz,Lz=J3,E_=Q3,Dz=rz,jz=(e,t,r)=>{const o=new Map,s={platform:Rz,...r},a={...s.platform,_c:o};return X3(e,t,{...s,platform:a})};var qz=typeof document<"u",zz=function(){},el=qz?N.useLayoutEffect:zz;function tl(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,o,s;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(o=r;o--!==0;)if(!tl(e[o],t[o]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(t).length)return!1;for(o=r;o--!==0;)if(!{}.hasOwnProperty.call(t,s[o]))return!1;for(o=r;o--!==0;){const a=s[o];if(!(a==="_owner"&&e.$$typeof)&&!tl(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function C_(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function k_(e,t){const r=C_(e);return Math.round(t*r)/r}function df(e){const t=N.useRef(e);return el(()=>{t.current=e}),t}function Fz(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:o=[],platform:s,elements:{reference:a,floating:l}={},transform:u=!0,whileElementsMounted:f,open:d}=e,[h,p]=N.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,w]=N.useState(o);tl(m,o)||w(o);const[E,y]=N.useState(null),[x,b]=N.useState(null),C=N.useCallback(M=>{M!==T.current&&(T.current=M,y(M))},[]),_=N.useCallback(M=>{M!==A.current&&(A.current=M,b(M))},[]),k=a||E,R=l||x,T=N.useRef(null),A=N.useRef(null),O=N.useRef(h),j=f!=null,U=df(f),q=df(s),V=df(d),X=N.useCallback(()=>{if(!T.current||!A.current)return;const M={placement:t,strategy:r,middleware:m};q.current&&(M.platform=q.current),jz(T.current,A.current,M).then(z=>{const Q={...z,isPositioned:V.current!==!1};L.current&&!tl(O.current,Q)&&(O.current=Q,Gi.flushSync(()=>{p(Q)}))})},[m,t,r,q,V]);el(()=>{d===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,p(M=>({...M,isPositioned:!1})))},[d]);const L=N.useRef(!1);el(()=>(L.current=!0,()=>{L.current=!1}),[]),el(()=>{if(k&&(T.current=k),R&&(A.current=R),k&&R){if(U.current)return U.current(k,R,X);X()}},[k,R,X,U,j]);const H=N.useMemo(()=>({reference:T,floating:A,setReference:C,setFloating:_}),[C,_]),B=N.useMemo(()=>({reference:k,floating:R}),[k,R]),Y=N.useMemo(()=>{const M={position:r,left:0,top:0};if(!B.floating)return M;const z=k_(B.floating,h.x),Q=k_(B.floating,h.y);return u?{...M,transform:"translate("+z+"px, "+Q+"px)",...C_(B.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:z,top:Q}},[r,u,B.floating,h.x,h.y]);return N.useMemo(()=>({...h,update:X,refs:H,elements:B,floatingStyles:Y}),[h,X,H,B,Y])}const $z=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:o,padding:s}=typeof e=="function"?e(r):e;return o&&t(o)?o.current!=null?E_({element:o.current,padding:s}).fn(r):{}:o?E_({element:o,padding:s}).fn(r):{}}}},Bz=(e,t)=>({...Az(e),options:[e,t]}),Vz=(e,t)=>({...Iz(e),options:[e,t]}),Hz=(e,t)=>({...Dz(e),options:[e,t]}),Wz=(e,t)=>({...Mz(e),options:[e,t]}),Uz=(e,t)=>({...Oz(e),options:[e,t]}),Gz=(e,t)=>({...Lz(e),options:[e,t]}),Yz=(e,t)=>({...$z(e),options:[e,t]});var Kz="Arrow",N_=N.forwardRef((e,t)=>{const{children:r,width:o=10,height:s=5,...a}=e;return I.jsx(Fe.svg,{...a,ref:t,width:o,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:I.jsx("polygon",{points:"0,0 30,0 15,10"})})});N_.displayName=Kz;var Xz=N_,hf="Popper",[R_,P_]=Va(hf),[Qz,T_]=R_(hf),A_=e=>{const{__scopePopper:t,children:r}=e,[o,s]=N.useState(null);return I.jsx(Qz,{scope:t,anchor:o,onAnchorChange:s,children:r})};A_.displayName=hf;var I_="PopperAnchor",M_=N.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:o,...s}=e,a=T_(I_,r),l=N.useRef(null),u=et(t,l),f=N.useRef(null);return N.useEffect(()=>{const d=f.current;f.current=(o==null?void 0:o.current)||l.current,d!==f.current&&a.onAnchorChange(f.current)}),o?null:I.jsx(Fe.div,{...s,ref:u})});M_.displayName=I_;var pf="PopperContent",[Zz,Jz]=R_(pf),O_=N.forwardRef((e,t)=>{var K,te,se,ae,ce,de;const{__scopePopper:r,side:o="bottom",sideOffset:s=0,align:a="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:f=!0,collisionBoundary:d=[],collisionPadding:h=0,sticky:p="partial",hideWhenDetached:m=!1,updatePositionStrategy:w="optimized",onPlaced:E,...y}=e,x=T_(pf,r),[b,C]=N.useState(null),_=et(t,pe=>C(pe)),[k,R]=N.useState(null),T=T1(k),A=(T==null?void 0:T.width)??0,O=(T==null?void 0:T.height)??0,j=o+(a!=="center"?"-"+a:""),U=typeof h=="number"?h:{top:0,right:0,bottom:0,left:0,...h},q=Array.isArray(d)?d:[d],V=q.length>0,X={padding:U,boundary:q.filter(tF),altBoundary:V},{refs:L,floatingStyles:H,placement:B,isPositioned:Y,middlewareData:M}=Fz({strategy:"fixed",placement:j,whileElementsMounted:(...pe)=>Tz(...pe,{animationFrame:w==="always"}),elements:{reference:x.anchor},middleware:[Bz({mainAxis:s+O,alignmentAxis:l}),f&&Vz({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Hz():void 0,...X}),f&&Wz({...X}),Uz({...X,apply:({elements:pe,rects:be,availableWidth:me,availableHeight:Re})=>{const{width:Ee,height:Qe}=be.reference,He=pe.floating.style;He.setProperty("--radix-popper-available-width",`${me}px`),He.setProperty("--radix-popper-available-height",`${Re}px`),He.setProperty("--radix-popper-anchor-width",`${Ee}px`),He.setProperty("--radix-popper-anchor-height",`${Qe}px`)}}),k&&Yz({element:k,padding:u}),nF({arrowWidth:A,arrowHeight:O}),m&&Gz({strategy:"referenceHidden",...X})]}),[z,Q]=j_(B),D=Ur(E);ht(()=>{Y&&(D==null||D())},[Y,D]);const W=(K=M.arrow)==null?void 0:K.x,ie=(te=M.arrow)==null?void 0:te.y,$=((se=M.arrow)==null?void 0:se.centerOffset)!==0,[Z,ee]=N.useState();return ht(()=>{b&&ee(window.getComputedStyle(b).zIndex)},[b]),I.jsx("div",{ref:L.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:Y?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Z,"--radix-popper-transform-origin":[(ae=M.transformOrigin)==null?void 0:ae.x,(ce=M.transformOrigin)==null?void 0:ce.y].join(" "),...((de=M.hide)==null?void 0:de.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:I.jsx(Zz,{scope:r,placedSide:z,onArrowChange:R,arrowX:W,arrowY:ie,shouldHideArrow:$,children:I.jsx(Fe.div,{"data-side":z,"data-align":Q,...y,ref:_,style:{...y.style,animation:Y?void 0:"none"}})})})});O_.displayName=pf;var L_="PopperArrow",eF={top:"bottom",right:"left",bottom:"top",left:"right"},D_=N.forwardRef(function(t,r){const{__scopePopper:o,...s}=t,a=Jz(L_,o),l=eF[a.placedSide];return I.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:I.jsx(Xz,{...s,ref:r,style:{...s.style,display:"block"}})})});D_.displayName=L_;function tF(e){return e!==null}var nF=e=>({name:"transformOrigin",options:e,fn(t){var x,b,C;const{placement:r,rects:o,middlewareData:s}=t,l=((x=s.arrow)==null?void 0:x.centerOffset)!==0,u=l?0:e.arrowWidth,f=l?0:e.arrowHeight,[d,h]=j_(r),p={start:"0%",center:"50%",end:"100%"}[h],m=(((b=s.arrow)==null?void 0:b.x)??0)+u/2,w=(((C=s.arrow)==null?void 0:C.y)??0)+f/2;let E="",y="";return d==="bottom"?(E=l?p:`${m}px`,y=`${-f}px`):d==="top"?(E=l?p:`${m}px`,y=`${o.floating.height+f}px`):d==="right"?(E=`${-f}px`,y=l?p:`${w}px`):d==="left"&&(E=`${o.floating.width+f}px`,y=l?p:`${w}px`),{data:{x:E,y}}}});function j_(e){const[t,r="center"]=e.split("-");return[t,r]}var rF=A_,oF=M_,iF=O_,sF=D_,aF="Portal",q_=N.forwardRef((e,t)=>{var u;const{container:r,...o}=e,[s,a]=N.useState(!1);ht(()=>a(!0),[]);const l=r||s&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return l?AL.createPortal(I.jsx(Fe.div,{...o,ref:t}),l):null});q_.displayName=aF;function lF(e){const t=uF(e),r=N.forwardRef((o,s)=>{const{children:a,...l}=o,u=N.Children.toArray(a),f=u.find(fF);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}function uF(e){const t=N.forwardRef((r,o)=>{const{children:s,...a}=r;if(N.isValidElement(s)){const l=hF(s),u=dF(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var cF=Symbol("radix.slottable");function fF(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cF}function dF(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function hF(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var z_=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),pF="VisuallyHidden",gF=N.forwardRef((e,t)=>I.jsx(Fe.span,{...e,ref:t,style:{...z_,...e.style}}));gF.displayName=pF;var mF=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},zo=new WeakMap,nl=new WeakMap,rl={},gf=0,F_=function(e){return e&&(e.host||F_(e.parentNode))},vF=function(e,t){return t.map(function(r){if(e.contains(r))return r;var o=F_(r);return o&&e.contains(o)?o:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},yF=function(e,t,r,o){var s=vF(t,Array.isArray(e)?e:[e]);rl[r]||(rl[r]=new WeakMap);var a=rl[r],l=[],u=new Set,f=new Set(s),d=function(p){!p||u.has(p)||(u.add(p),d(p.parentNode))};s.forEach(d);var h=function(p){!p||f.has(p)||Array.prototype.forEach.call(p.children,function(m){if(u.has(m))h(m);else try{var w=m.getAttribute(o),E=w!==null&&w!=="false",y=(zo.get(m)||0)+1,x=(a.get(m)||0)+1;zo.set(m,y),a.set(m,x),l.push(m),y===1&&E&&nl.set(m,!0),x===1&&m.setAttribute(r,"true"),E||m.setAttribute(o,"true")}catch(b){console.error("aria-hidden: cannot operate on ",m,b)}})};return h(t),u.clear(),gf++,function(){l.forEach(function(p){var m=zo.get(p)-1,w=a.get(p)-1;zo.set(p,m),a.set(p,w),m||(nl.has(p)||p.removeAttribute(o),nl.delete(p)),w||p.removeAttribute(r)}),gf--,gf||(zo=new WeakMap,zo=new WeakMap,nl=new WeakMap,rl={})}},wF=function(e,t,r){r===void 0&&(r="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),s=mF(e);return s?(o.push.apply(o,Array.from(s.querySelectorAll("[aria-live], script"))),yF(o,s,r,"aria-hidden")):function(){return null}},Pn=function(){return Pn=Object.assign||function(t){for(var r,o=1,s=arguments.length;o"u")return DF;var t=jF(e),r=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-r+t[2]-t[0])}},zF=W_(),Fo="data-scroll-locked",FF=function(e,t,r,o){var s=e.left,a=e.top,l=e.right,u=e.gap;return r===void 0&&(r="margin"),` - .`.concat(_F,` { + */const vz=kn("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const yz=kn("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const wz=kn("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xz=kn("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function g1({className:e,...t}){return R.jsx(i1,{"data-slot":"checkbox",className:Me("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:R.jsx(a1,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:R.jsx(h1,{className:"size-3.5"})})})}function _z(e){var i;if("component"in e){const{component:a,onValueChange:l}=e,u=qo(),f=((i=u==null?void 0:u.nodeData.values)==null?void 0:i[a.id])??a.value??!1;return R.jsxs("div",{className:"component-bool-field w-full flex items-center gap-2",children:[R.jsx(g1,{checked:f,onCheckedChange:d=>l==null?void 0:l(a.id,d===!0),onMouseDown:d=>d.stopPropagation(),onPointerDown:d=>d.stopPropagation(),"aria-label":a.label,className:"h-4 w-4"}),R.jsx("label",{className:"text-sm text-gray-700",children:a.label})]})}const{value:t,onChange:n,label:o}=e;return R.jsx(g1,{checked:t,onCheckedChange:a=>n(a===!0),onMouseDown:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),"aria-label":o,className:"h-4 w-4"})}function m1(e,[t,n]){return Math.min(n,Math.max(t,e))}function v1(e){const t=bz(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(Ez);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function bz(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=kz(i),u=Cz(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Sz=Symbol("radix.slottable");function Ez(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Sz}function Cz(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function kz(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Nz(e){const t=e+"CollectionProvider",[n,o]=Fo(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=y=>{const{scope:x,children:b}=y,C=$t.useRef(null),_=$t.useRef(new Map).current;return R.jsx(i,{scope:x,itemMap:_,collectionRef:C,children:b})};l.displayName=t;const u=e+"CollectionSlot",f=v1(u),d=$t.forwardRef((y,x)=>{const{scope:b,children:C}=y,_=a(u,b),N=Fe(x,_.collectionRef);return R.jsx(f,{ref:N,children:C})});d.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",m=v1(h),v=$t.forwardRef((y,x)=>{const{scope:b,children:C,..._}=y,N=$t.useRef(null),P=Fe(x,N),T=a(h,b);return $t.useEffect(()=>(T.itemMap.set(N,{ref:N,..._}),()=>void T.itemMap.delete(N))),R.jsx(m,{[p]:"",ref:P,children:C})});v.displayName=h;function E(y){const x=a(e+"CollectionConsumer",y);return $t.useCallback(()=>{const C=x.collectionRef.current;if(!C)return[];const _=Array.from(C.querySelectorAll(`[${p}]`));return Array.from(x.itemMap.values()).sort((T,I)=>_.indexOf(T.ref.current)-_.indexOf(I.ref.current))},[x.collectionRef,x.itemMap])}return[{Provider:l,Slot:d,ItemSlot:v},E,o]}var Rz=k.createContext(void 0);function Pz(e){const t=k.useContext(Rz);return e||t||"ltr"}function Yr(e){const t=k.useRef(e);return k.useEffect(()=>{t.current=e}),k.useMemo(()=>(...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)},[])}function Tz(e,t=globalThis==null?void 0:globalThis.document){const n=Yr(e);k.useEffect(()=>{const o=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[n,t])}var Az="DismissableLayer",df="dismissableLayer.update",Iz="dismissableLayer.pointerDownOutside",Mz="dismissableLayer.focusOutside",y1,w1=k.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),tl=k.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:l,onDismiss:u,...f}=e,d=k.useContext(w1),[h,p]=k.useState(null),m=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=k.useState({}),E=Fe(t,I=>p(I)),y=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=y.indexOf(x),C=h?y.indexOf(h):-1,_=d.layersWithOutsidePointerEventsDisabled.size>0,N=C>=b,P=Dz(I=>{const O=I.target,q=[...d.branches].some(G=>G.contains(O));!N||q||(i==null||i(I),l==null||l(I),I.defaultPrevented||u==null||u())},m),T=jz(I=>{const O=I.target;[...d.branches].some(G=>G.contains(O))||(a==null||a(I),l==null||l(I),I.defaultPrevented||u==null||u())},m);return Tz(I=>{C===d.layers.size-1&&(o==null||o(I),!I.defaultPrevented&&u&&(I.preventDefault(),u()))},m),k.useEffect(()=>{if(h)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(y1=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),x1(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=y1)}},[h,m,n,d]),k.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),x1())},[h,d]),k.useEffect(()=>{const I=()=>v({});return document.addEventListener(df,I),()=>document.removeEventListener(df,I)},[]),R.jsx(je.div,{...f,ref:E,style:{pointerEvents:_?N?"auto":"none":void 0,...e.style},onFocusCapture:Oe(e.onFocusCapture,T.onFocusCapture),onBlurCapture:Oe(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:Oe(e.onPointerDownCapture,P.onPointerDownCapture)})});tl.displayName=Az;var Oz="DismissableLayerBranch",Lz=k.forwardRef((e,t)=>{const n=k.useContext(w1),o=k.useRef(null),i=Fe(t,o);return k.useEffect(()=>{const a=o.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),R.jsx(je.div,{...e,ref:i})});Lz.displayName=Oz;function Dz(e,t=globalThis==null?void 0:globalThis.document){const n=Yr(e),o=k.useRef(!1),i=k.useRef(()=>{});return k.useEffect(()=>{const a=u=>{if(u.target&&!o.current){let f=function(){_1(Iz,n,d,{discrete:!0})};const d={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=f,t.addEventListener("click",i.current,{once:!0})):f()}else t.removeEventListener("click",i.current);o.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",a),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function jz(e,t=globalThis==null?void 0:globalThis.document){const n=Yr(e),o=k.useRef(!1);return k.useEffect(()=>{const i=a=>{a.target&&!o.current&&_1(Mz,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function x1(){const e=new CustomEvent(df);document.dispatchEvent(e)}function _1(e,t,n,{discrete:o}){const i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),o?rz(i,a):i.dispatchEvent(a)}var hf=0;function b1(){k.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??S1()),document.body.insertAdjacentElement("beforeend",e[1]??S1()),hf++,()=>{hf===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),hf--}},[])}function S1(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var pf="focusScope.autoFocusOnMount",gf="focusScope.autoFocusOnUnmount",E1={bubbles:!1,cancelable:!0},qz="FocusScope",mf=k.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...l}=e,[u,f]=k.useState(null),d=Yr(i),h=Yr(a),p=k.useRef(null),m=Fe(t,y=>f(y)),v=k.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;k.useEffect(()=>{if(o){let y=function(_){if(v.paused||!u)return;const N=_.target;u.contains(N)?p.current=N:fr(p.current,{select:!0})},x=function(_){if(v.paused||!u)return;const N=_.relatedTarget;N!==null&&(u.contains(N)||fr(p.current,{select:!0}))},b=function(_){if(document.activeElement===document.body)for(const P of _)P.removedNodes.length>0&&fr(u)};document.addEventListener("focusin",y),document.addEventListener("focusout",x);const C=new MutationObserver(b);return u&&C.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",x),C.disconnect()}}},[o,u,v.paused]),k.useEffect(()=>{if(u){N1.add(v);const y=document.activeElement;if(!u.contains(y)){const b=new CustomEvent(pf,E1);u.addEventListener(pf,d),u.dispatchEvent(b),b.defaultPrevented||(zz(Hz(C1(u)),{select:!0}),document.activeElement===y&&fr(u))}return()=>{u.removeEventListener(pf,d),setTimeout(()=>{const b=new CustomEvent(gf,E1);u.addEventListener(gf,h),u.dispatchEvent(b),b.defaultPrevented||fr(y??document.body,{select:!0}),u.removeEventListener(gf,h),N1.remove(v)},0)}}},[u,d,h,v]);const E=k.useCallback(y=>{if(!n&&!o||v.paused)return;const x=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,b=document.activeElement;if(x&&b){const C=y.currentTarget,[_,N]=Fz(C);_&&N?!y.shiftKey&&b===N?(y.preventDefault(),n&&fr(_,{select:!0})):y.shiftKey&&b===_&&(y.preventDefault(),n&&fr(N,{select:!0})):b===C&&y.preventDefault()}},[n,o,v.paused]);return R.jsx(je.div,{tabIndex:-1,...l,ref:m,onKeyDown:E})});mf.displayName=qz;function zz(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(fr(o,{select:t}),document.activeElement!==n)return}function Fz(e){const t=C1(e),n=k1(t,e),o=k1(t.reverse(),e);return[n,o]}function C1(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const i=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||i?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function k1(e,t){for(const n of e)if(!$z(n,{upTo:t}))return n}function $z(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Bz(e){return e instanceof HTMLInputElement&&"select"in e}function fr(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Bz(e)&&t&&e.select()}}var N1=Vz();function Vz(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=R1(e,t),e.unshift(t)},remove(t){var n;e=R1(e,t),(n=e[0])==null||n.resume()}}}function R1(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function Hz(e){return e.filter(t=>t.tagName!=="A")}var Wz=dc[" useId ".trim().toString()]||(()=>{}),Uz=0;function Kr(e){const[t,n]=k.useState(Wz());return ht(()=>{n(o=>o??String(Uz++))},[e]),e||(t?`radix-${t}`:"")}const Gz=["top","right","bottom","left"],dr=Math.min,It=Math.max,nl=Math.round,rl=Math.floor,Nn=e=>({x:e,y:e}),Yz={left:"right",right:"left",bottom:"top",top:"bottom"},Kz={start:"end",end:"start"};function vf(e,t,n){return It(e,dr(t,n))}function Un(e,t){return typeof e=="function"?e(t):e}function Gn(e){return e.split("-")[0]}function $o(e){return e.split("-")[1]}function yf(e){return e==="x"?"y":"x"}function wf(e){return e==="y"?"height":"width"}const Xz=new Set(["top","bottom"]);function Rn(e){return Xz.has(Gn(e))?"y":"x"}function xf(e){return yf(Rn(e))}function Qz(e,t,n){n===void 0&&(n=!1);const o=$o(e),i=xf(e),a=wf(i);let l=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=ol(l)),[l,ol(l)]}function Zz(e){const t=ol(e);return[_f(e),t,_f(t)]}function _f(e){return e.replace(/start|end/g,t=>Kz[t])}const P1=["left","right"],T1=["right","left"],Jz=["top","bottom"],eF=["bottom","top"];function tF(e,t,n){switch(e){case"top":case"bottom":return n?t?T1:P1:t?P1:T1;case"left":case"right":return t?Jz:eF;default:return[]}}function nF(e,t,n,o){const i=$o(e);let a=tF(Gn(e),n==="start",o);return i&&(a=a.map(l=>l+"-"+i),t&&(a=a.concat(a.map(_f)))),a}function ol(e){return e.replace(/left|right|bottom|top/g,t=>Yz[t])}function rF(e){return{top:0,right:0,bottom:0,left:0,...e}}function A1(e){return typeof e!="number"?rF(e):{top:e,right:e,bottom:e,left:e}}function il(e){const{x:t,y:n,width:o,height:i}=e;return{width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function I1(e,t,n){let{reference:o,floating:i}=e;const a=Rn(t),l=xf(t),u=wf(l),f=Gn(t),d=a==="y",h=o.x+o.width/2-i.width/2,p=o.y+o.height/2-i.height/2,m=o[u]/2-i[u]/2;let v;switch(f){case"top":v={x:h,y:o.y-i.height};break;case"bottom":v={x:h,y:o.y+o.height};break;case"right":v={x:o.x+o.width,y:p};break;case"left":v={x:o.x-i.width,y:p};break;default:v={x:o.x,y:o.y}}switch($o(t)){case"start":v[l]-=m*(n&&d?-1:1);break;case"end":v[l]+=m*(n&&d?-1:1);break}return v}const oF=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:a=[],platform:l}=n,u=a.filter(Boolean),f=await(l.isRTL==null?void 0:l.isRTL(t));let d=await l.getElementRects({reference:e,floating:t,strategy:i}),{x:h,y:p}=I1(d,o,f),m=o,v={},E=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:a,platform:l,elements:u,middlewareData:f}=t,{element:d,padding:h=0}=Un(e,t)||{};if(d==null)return{};const p=A1(h),m={x:n,y:o},v=xf(i),E=wf(v),y=await l.getDimensions(d),x=v==="y",b=x?"top":"left",C=x?"bottom":"right",_=x?"clientHeight":"clientWidth",N=a.reference[E]+a.reference[v]-m[v]-a.floating[E],P=m[v]-a.reference[v],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d));let I=T?T[_]:0;(!I||!await(l.isElement==null?void 0:l.isElement(T)))&&(I=u.floating[_]||a.floating[E]);const O=N/2-P/2,q=I/2-y[E]/2-1,G=dr(p[b],q),F=dr(p[C],q),j=G,W=I-y[E]-F,L=I/2-y[E]/2+O,H=vf(j,L,W),z=!f.arrow&&$o(i)!=null&&L!==H&&a.reference[E]/2-(LL<=0)){var F,j;const L=(((F=a.flip)==null?void 0:F.index)||0)+1,H=I[L];if(H&&(!(p==="alignment"?C!==Rn(H):!1)||G.every(M=>Rn(M.placement)===C?M.overflows[0]>0:!0)))return{data:{index:L,overflows:G},reset:{placement:H}};let z=(j=G.filter(Y=>Y.overflows[0]<=0).sort((Y,M)=>Y.overflows[1]-M.overflows[1])[0])==null?void 0:j.placement;if(!z)switch(v){case"bestFit":{var W;const Y=(W=G.filter(M=>{if(T){const $=Rn(M.placement);return $===C||$==="y"}return!0}).map(M=>[M.placement,M.overflows.filter($=>$>0).reduce(($,Q)=>$+Q,0)]).sort((M,$)=>M[1]-$[1])[0])==null?void 0:W[0];Y&&(z=Y);break}case"initialPlacement":z=u;break}if(i!==z)return{reset:{placement:z}}}return{}}}};function M1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function O1(e){return Gz.some(t=>e[t]>=0)}const aF=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...i}=Un(e,t);switch(o){case"referenceHidden":{const a=await as(t,{...i,elementContext:"reference"}),l=M1(a,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:O1(l)}}}case"escaped":{const a=await as(t,{...i,altBoundary:!0}),l=M1(a,n.floating);return{data:{escapedOffsets:l,escaped:O1(l)}}}default:return{}}}}},L1=new Set(["left","top"]);async function lF(e,t){const{placement:n,platform:o,elements:i}=e,a=await(o.isRTL==null?void 0:o.isRTL(i.floating)),l=Gn(n),u=$o(n),f=Rn(n)==="y",d=L1.has(l)?-1:1,h=a&&f?-1:1,p=Un(t,e);let{mainAxis:m,crossAxis:v,alignmentAxis:E}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return u&&typeof E=="number"&&(v=u==="end"?E*-1:E),f?{x:v*h,y:m*d}:{x:m*d,y:v*h}}const uF=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:i,y:a,placement:l,middlewareData:u}=t,f=await lF(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(o=u.arrow)!=null&&o.alignmentOffset?{}:{x:i+f.x,y:a+f.y,data:{...f,placement:l}}}}},cF=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:x=>{let{x:b,y:C}=x;return{x:b,y:C}}},...f}=Un(e,t),d={x:n,y:o},h=await as(t,f),p=Rn(Gn(i)),m=yf(p);let v=d[m],E=d[p];if(a){const x=m==="y"?"top":"left",b=m==="y"?"bottom":"right",C=v+h[x],_=v-h[b];v=vf(C,v,_)}if(l){const x=p==="y"?"top":"left",b=p==="y"?"bottom":"right",C=E+h[x],_=E-h[b];E=vf(C,E,_)}const y=u.fn({...t,[m]:v,[p]:E});return{...y,data:{x:y.x-n,y:y.y-o,enabled:{[m]:a,[p]:l}}}}}},fF=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:i,rects:a,middlewareData:l}=t,{offset:u=0,mainAxis:f=!0,crossAxis:d=!0}=Un(e,t),h={x:n,y:o},p=Rn(i),m=yf(p);let v=h[m],E=h[p];const y=Un(u,t),x=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const _=m==="y"?"height":"width",N=a.reference[m]-a.floating[_]+x.mainAxis,P=a.reference[m]+a.reference[_]-x.mainAxis;vP&&(v=P)}if(d){var b,C;const _=m==="y"?"width":"height",N=L1.has(Gn(i)),P=a.reference[p]-a.floating[_]+(N&&((b=l.offset)==null?void 0:b[p])||0)+(N?0:x.crossAxis),T=a.reference[p]+a.reference[_]+(N?0:((C=l.offset)==null?void 0:C[p])||0)-(N?x.crossAxis:0);ET&&(E=T)}return{[m]:v,[p]:E}}}},dF=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:i,rects:a,platform:l,elements:u}=t,{apply:f=()=>{},...d}=Un(e,t),h=await as(t,d),p=Gn(i),m=$o(i),v=Rn(i)==="y",{width:E,height:y}=a.floating;let x,b;p==="top"||p==="bottom"?(x=p,b=m===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(b=p,x=m==="end"?"top":"bottom");const C=y-h.top-h.bottom,_=E-h.left-h.right,N=dr(y-h[x],C),P=dr(E-h[b],_),T=!t.middlewareData.shift;let I=N,O=P;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(O=_),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(I=C),T&&!m){const G=It(h.left,0),F=It(h.right,0),j=It(h.top,0),W=It(h.bottom,0);v?O=E-2*(G!==0||F!==0?G+F:It(h.left,h.right)):I=y-2*(j!==0||W!==0?j+W:It(h.top,h.bottom))}await f({...t,availableWidth:O,availableHeight:I});const q=await l.getDimensions(u.floating);return E!==q.width||y!==q.height?{reset:{rects:!0}}:{}}}};function sl(){return typeof window<"u"}function Bo(e){return D1(e)?(e.nodeName||"").toLowerCase():"#document"}function Mt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Pn(e){var t;return(t=(D1(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function D1(e){return sl()?e instanceof Node||e instanceof Mt(e).Node:!1}function ln(e){return sl()?e instanceof Element||e instanceof Mt(e).Element:!1}function Tn(e){return sl()?e instanceof HTMLElement||e instanceof Mt(e).HTMLElement:!1}function j1(e){return!sl()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Mt(e).ShadowRoot}const hF=new Set(["inline","contents"]);function ls(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=un(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!hF.has(i)}const pF=new Set(["table","td","th"]);function gF(e){return pF.has(Bo(e))}const mF=[":popover-open",":modal"];function al(e){return mF.some(t=>{try{return e.matches(t)}catch{return!1}})}const vF=["transform","translate","scale","rotate","perspective"],yF=["transform","translate","scale","rotate","perspective","filter"],wF=["paint","layout","strict","content"];function bf(e){const t=Sf(),n=ln(e)?un(e):e;return vF.some(o=>n[o]?n[o]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||yF.some(o=>(n.willChange||"").includes(o))||wF.some(o=>(n.contain||"").includes(o))}function xF(e){let t=hr(e);for(;Tn(t)&&!Vo(t);){if(bf(t))return t;if(al(t))return null;t=hr(t)}return null}function Sf(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const _F=new Set(["html","body","#document"]);function Vo(e){return _F.has(Bo(e))}function un(e){return Mt(e).getComputedStyle(e)}function ll(e){return ln(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function hr(e){if(Bo(e)==="html")return e;const t=e.assignedSlot||e.parentNode||j1(e)&&e.host||Pn(e);return j1(t)?t.host:t}function q1(e){const t=hr(e);return Vo(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tn(t)&&ls(t)?t:q1(t)}function us(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=q1(e),a=i===((o=e.ownerDocument)==null?void 0:o.body),l=Mt(i);if(a){const u=Ef(l);return t.concat(l,l.visualViewport||[],ls(i)?i:[],u&&n?us(u):[])}return t.concat(i,us(i,[],n))}function Ef(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function z1(e){const t=un(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=Tn(e),a=i?e.offsetWidth:n,l=i?e.offsetHeight:o,u=nl(n)!==a||nl(o)!==l;return u&&(n=a,o=l),{width:n,height:o,$:u}}function Cf(e){return ln(e)?e:e.contextElement}function Ho(e){const t=Cf(e);if(!Tn(t))return Nn(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:a}=z1(t);let l=(a?nl(n.width):n.width)/o,u=(a?nl(n.height):n.height)/i;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const bF=Nn(0);function F1(e){const t=Mt(e);return!Sf()||!t.visualViewport?bF:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function SF(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Mt(e)?!1:t}function Xr(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),a=Cf(e);let l=Nn(1);t&&(o?ln(o)&&(l=Ho(o)):l=Ho(e));const u=SF(a,n,o)?F1(a):Nn(0);let f=(i.left+u.x)/l.x,d=(i.top+u.y)/l.y,h=i.width/l.x,p=i.height/l.y;if(a){const m=Mt(a),v=o&&ln(o)?Mt(o):o;let E=m,y=Ef(E);for(;y&&o&&v!==E;){const x=Ho(y),b=y.getBoundingClientRect(),C=un(y),_=b.left+(y.clientLeft+parseFloat(C.paddingLeft))*x.x,N=b.top+(y.clientTop+parseFloat(C.paddingTop))*x.y;f*=x.x,d*=x.y,h*=x.x,p*=x.y,f+=_,d+=N,E=Mt(y),y=Ef(E)}}return il({width:h,height:p,x:f,y:d})}function ul(e,t){const n=ll(e).scrollLeft;return t?t.left+n:Xr(Pn(e)).left+n}function $1(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-ul(e,n),i=n.top+t.scrollTop;return{x:o,y:i}}function EF(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const a=i==="fixed",l=Pn(o),u=t?al(t.floating):!1;if(o===l||u&&a)return n;let f={scrollLeft:0,scrollTop:0},d=Nn(1);const h=Nn(0),p=Tn(o);if((p||!p&&!a)&&((Bo(o)!=="body"||ls(l))&&(f=ll(o)),Tn(o))){const v=Xr(o);d=Ho(o),h.x=v.x+o.clientLeft,h.y=v.y+o.clientTop}const m=l&&!p&&!a?$1(l,f):Nn(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-f.scrollLeft*d.x+h.x+m.x,y:n.y*d.y-f.scrollTop*d.y+h.y+m.y}}function CF(e){return Array.from(e.getClientRects())}function kF(e){const t=Pn(e),n=ll(e),o=e.ownerDocument.body,i=It(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=It(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+ul(e);const u=-n.scrollTop;return un(o).direction==="rtl"&&(l+=It(t.clientWidth,o.clientWidth)-i),{width:i,height:a,x:l,y:u}}const B1=25;function NF(e,t){const n=Mt(e),o=Pn(e),i=n.visualViewport;let a=o.clientWidth,l=o.clientHeight,u=0,f=0;if(i){a=i.width,l=i.height;const h=Sf();(!h||h&&t==="fixed")&&(u=i.offsetLeft,f=i.offsetTop)}const d=ul(o);if(d<=0){const h=o.ownerDocument,p=h.body,m=getComputedStyle(p),v=h.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,E=Math.abs(o.clientWidth-p.clientWidth-v);E<=B1&&(a-=E)}else d<=B1&&(a+=d);return{width:a,height:l,x:u,y:f}}const RF=new Set(["absolute","fixed"]);function PF(e,t){const n=Xr(e,!0,t==="fixed"),o=n.top+e.clientTop,i=n.left+e.clientLeft,a=Tn(e)?Ho(e):Nn(1),l=e.clientWidth*a.x,u=e.clientHeight*a.y,f=i*a.x,d=o*a.y;return{width:l,height:u,x:f,y:d}}function V1(e,t,n){let o;if(t==="viewport")o=NF(e,n);else if(t==="document")o=kF(Pn(e));else if(ln(t))o=PF(t,n);else{const i=F1(e);o={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return il(o)}function H1(e,t){const n=hr(e);return n===t||!ln(n)||Vo(n)?!1:un(n).position==="fixed"||H1(n,t)}function TF(e,t){const n=t.get(e);if(n)return n;let o=us(e,[],!1).filter(u=>ln(u)&&Bo(u)!=="body"),i=null;const a=un(e).position==="fixed";let l=a?hr(e):e;for(;ln(l)&&!Vo(l);){const u=un(l),f=bf(l);!f&&u.position==="fixed"&&(i=null),(a?!f&&!i:!f&&u.position==="static"&&!!i&&RF.has(i.position)||ls(l)&&!f&&H1(e,l))?o=o.filter(h=>h!==l):i=u,l=hr(l)}return t.set(e,o),o}function AF(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const l=[...n==="clippingAncestors"?al(t)?[]:TF(t,this._c):[].concat(n),o],u=l[0],f=l.reduce((d,h)=>{const p=V1(t,h,i);return d.top=It(p.top,d.top),d.right=dr(p.right,d.right),d.bottom=dr(p.bottom,d.bottom),d.left=It(p.left,d.left),d},V1(t,u,i));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function IF(e){const{width:t,height:n}=z1(e);return{width:t,height:n}}function MF(e,t,n){const o=Tn(t),i=Pn(t),a=n==="fixed",l=Xr(e,!0,a,t);let u={scrollLeft:0,scrollTop:0};const f=Nn(0);function d(){f.x=ul(i)}if(o||!o&&!a)if((Bo(t)!=="body"||ls(i))&&(u=ll(t)),o){const v=Xr(t,!0,a,t);f.x=v.x+t.clientLeft,f.y=v.y+t.clientTop}else i&&d();a&&!o&&i&&d();const h=i&&!o&&!a?$1(i,u):Nn(0),p=l.left+u.scrollLeft-f.x-h.x,m=l.top+u.scrollTop-f.y-h.y;return{x:p,y:m,width:l.width,height:l.height}}function kf(e){return un(e).position==="static"}function W1(e,t){if(!Tn(e)||un(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Pn(e)===n&&(n=n.ownerDocument.body),n}function U1(e,t){const n=Mt(e);if(al(e))return n;if(!Tn(e)){let i=hr(e);for(;i&&!Vo(i);){if(ln(i)&&!kf(i))return i;i=hr(i)}return n}let o=W1(e,t);for(;o&&gF(o)&&kf(o);)o=W1(o,t);return o&&Vo(o)&&kf(o)&&!bf(o)?n:o||xF(e)||n}const OF=async function(e){const t=this.getOffsetParent||U1,n=this.getDimensions,o=await n(e.floating);return{reference:MF(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function LF(e){return un(e).direction==="rtl"}const DF={convertOffsetParentRelativeRectToViewportRelativeRect:EF,getDocumentElement:Pn,getClippingRect:AF,getOffsetParent:U1,getElementRects:OF,getClientRects:CF,getDimensions:IF,getScale:Ho,isElement:ln,isRTL:LF};function G1(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function jF(e,t){let n=null,o;const i=Pn(e);function a(){var u;clearTimeout(o),(u=n)==null||u.disconnect(),n=null}function l(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),a();const d=e.getBoundingClientRect(),{left:h,top:p,width:m,height:v}=d;if(u||t(),!m||!v)return;const E=rl(p),y=rl(i.clientWidth-(h+m)),x=rl(i.clientHeight-(p+v)),b=rl(h),_={rootMargin:-E+"px "+-y+"px "+-x+"px "+-b+"px",threshold:It(0,dr(1,f))||1};let N=!0;function P(T){const I=T[0].intersectionRatio;if(I!==f){if(!N)return l();I?l(!1,I):o=setTimeout(()=>{l(!1,1e-7)},1e3)}I===1&&!G1(d,e.getBoundingClientRect())&&l(),N=!1}try{n=new IntersectionObserver(P,{..._,root:i.ownerDocument})}catch{n=new IntersectionObserver(P,_)}n.observe(e)}return l(!0),a}function qF(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=o,d=Cf(e),h=i||a?[...d?us(d):[],...us(t)]:[];h.forEach(b=>{i&&b.addEventListener("scroll",n,{passive:!0}),a&&b.addEventListener("resize",n)});const p=d&&u?jF(d,n):null;let m=-1,v=null;l&&(v=new ResizeObserver(b=>{let[C]=b;C&&C.target===d&&v&&(v.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var _;(_=v)==null||_.observe(t)})),n()}),d&&!f&&v.observe(d),v.observe(t));let E,y=f?Xr(e):null;f&&x();function x(){const b=Xr(e);y&&!G1(y,b)&&n(),y=b,E=requestAnimationFrame(x)}return n(),()=>{var b;h.forEach(C=>{i&&C.removeEventListener("scroll",n),a&&C.removeEventListener("resize",n)}),p==null||p(),(b=v)==null||b.disconnect(),v=null,f&&cancelAnimationFrame(E)}}const zF=uF,FF=cF,$F=sF,BF=dF,VF=aF,Y1=iF,HF=fF,WF=(e,t,n)=>{const o=new Map,i={platform:DF,...n},a={...i.platform,_c:o};return oF(e,t,{...i,platform:a})};var UF=typeof document<"u",GF=function(){},cl=UF?k.useLayoutEffect:GF;function fl(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,o,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(!fl(e[o],t[o]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(t,i[o]))return!1;for(o=n;o--!==0;){const a=i[o];if(!(a==="_owner"&&e.$$typeof)&&!fl(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function K1(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function X1(e,t){const n=K1(e);return Math.round(t*n)/n}function Nf(e){const t=k.useRef(e);return cl(()=>{t.current=e}),t}function YF(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:i,elements:{reference:a,floating:l}={},transform:u=!0,whileElementsMounted:f,open:d}=e,[h,p]=k.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,v]=k.useState(o);fl(m,o)||v(o);const[E,y]=k.useState(null),[x,b]=k.useState(null),C=k.useCallback(M=>{M!==T.current&&(T.current=M,y(M))},[]),_=k.useCallback(M=>{M!==I.current&&(I.current=M,b(M))},[]),N=a||E,P=l||x,T=k.useRef(null),I=k.useRef(null),O=k.useRef(h),q=f!=null,G=Nf(f),F=Nf(i),j=Nf(d),W=k.useCallback(()=>{if(!T.current||!I.current)return;const M={placement:t,strategy:n,middleware:m};F.current&&(M.platform=F.current),WF(T.current,I.current,M).then($=>{const Q={...$,isPositioned:j.current!==!1};L.current&&!fl(O.current,Q)&&(O.current=Q,ts.flushSync(()=>{p(Q)}))})},[m,t,n,F,j]);cl(()=>{d===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,p(M=>({...M,isPositioned:!1})))},[d]);const L=k.useRef(!1);cl(()=>(L.current=!0,()=>{L.current=!1}),[]),cl(()=>{if(N&&(T.current=N),P&&(I.current=P),N&&P){if(G.current)return G.current(N,P,W);W()}},[N,P,W,G,q]);const H=k.useMemo(()=>({reference:T,floating:I,setReference:C,setFloating:_}),[C,_]),z=k.useMemo(()=>({reference:N,floating:P}),[N,P]),Y=k.useMemo(()=>{const M={position:n,left:0,top:0};if(!z.floating)return M;const $=X1(z.floating,h.x),Q=X1(z.floating,h.y);return u?{...M,transform:"translate("+$+"px, "+Q+"px)",...K1(z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:$,top:Q}},[n,u,z.floating,h.x,h.y]);return k.useMemo(()=>({...h,update:W,refs:H,elements:z,floatingStyles:Y}),[h,W,H,z,Y])}const KF=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:o,padding:i}=typeof e=="function"?e(n):e;return o&&t(o)?o.current!=null?Y1({element:o.current,padding:i}).fn(n):{}:o?Y1({element:o,padding:i}).fn(n):{}}}},XF=(e,t)=>({...zF(e),options:[e,t]}),QF=(e,t)=>({...FF(e),options:[e,t]}),ZF=(e,t)=>({...HF(e),options:[e,t]}),JF=(e,t)=>({...$F(e),options:[e,t]}),e4=(e,t)=>({...BF(e),options:[e,t]}),t4=(e,t)=>({...VF(e),options:[e,t]}),n4=(e,t)=>({...KF(e),options:[e,t]});var r4="Arrow",Q1=k.forwardRef((e,t)=>{const{children:n,width:o=10,height:i=5,...a}=e;return R.jsx(je.svg,{...a,ref:t,width:o,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:R.jsx("polygon",{points:"0,0 30,0 15,10"})})});Q1.displayName=r4;var o4=Q1,Rf="Popper",[Z1,dl]=Fo(Rf),[i4,J1]=Z1(Rf),eb=e=>{const{__scopePopper:t,children:n}=e,[o,i]=k.useState(null);return R.jsx(i4,{scope:t,anchor:o,onAnchorChange:i,children:n})};eb.displayName=Rf;var tb="PopperAnchor",nb=k.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...i}=e,a=J1(tb,n),l=k.useRef(null),u=Fe(t,l),f=k.useRef(null);return k.useEffect(()=>{const d=f.current;f.current=(o==null?void 0:o.current)||l.current,d!==f.current&&a.onAnchorChange(f.current)}),o?null:R.jsx(je.div,{...i,ref:u})});nb.displayName=tb;var Pf="PopperContent",[s4,a4]=Z1(Pf),rb=k.forwardRef((e,t)=>{var X,te,se,ae,ce,de;const{__scopePopper:n,side:o="bottom",sideOffset:i=0,align:a="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:f=!0,collisionBoundary:d=[],collisionPadding:h=0,sticky:p="partial",hideWhenDetached:m=!1,updatePositionStrategy:v="optimized",onPlaced:E,...y}=e,x=J1(Pf,n),[b,C]=k.useState(null),_=Fe(t,pe=>C(pe)),[N,P]=k.useState(null),T=n1(N),I=(T==null?void 0:T.width)??0,O=(T==null?void 0:T.height)??0,q=o+(a!=="center"?"-"+a:""),G=typeof h=="number"?h:{top:0,right:0,bottom:0,left:0,...h},F=Array.isArray(d)?d:[d],j=F.length>0,W={padding:G,boundary:F.filter(u4),altBoundary:j},{refs:L,floatingStyles:H,placement:z,isPositioned:Y,middlewareData:M}=YF({strategy:"fixed",placement:q,whileElementsMounted:(...pe)=>qF(...pe,{animationFrame:v==="always"}),elements:{reference:x.anchor},middleware:[XF({mainAxis:i+O,alignmentAxis:l}),f&&QF({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?ZF():void 0,...W}),f&&JF({...W}),e4({...W,apply:({elements:pe,rects:be,availableWidth:me,availableHeight:Re})=>{const{width:Ee,height:Je}=be.reference,Ge=pe.floating.style;Ge.setProperty("--radix-popper-available-width",`${me}px`),Ge.setProperty("--radix-popper-available-height",`${Re}px`),Ge.setProperty("--radix-popper-anchor-width",`${Ee}px`),Ge.setProperty("--radix-popper-anchor-height",`${Je}px`)}}),N&&n4({element:N,padding:u}),c4({arrowWidth:I,arrowHeight:O}),m&&t4({strategy:"referenceHidden",...W})]}),[$,Q]=sb(z),D=Yr(E);ht(()=>{Y&&(D==null||D())},[Y,D]);const U=(X=M.arrow)==null?void 0:X.x,ie=(te=M.arrow)==null?void 0:te.y,V=((se=M.arrow)==null?void 0:se.centerOffset)!==0,[Z,ee]=k.useState();return ht(()=>{b&&ee(window.getComputedStyle(b).zIndex)},[b]),R.jsx("div",{ref:L.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:Y?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Z,"--radix-popper-transform-origin":[(ae=M.transformOrigin)==null?void 0:ae.x,(ce=M.transformOrigin)==null?void 0:ce.y].join(" "),...((de=M.hide)==null?void 0:de.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:R.jsx(s4,{scope:n,placedSide:$,onArrowChange:P,arrowX:U,arrowY:ie,shouldHideArrow:V,children:R.jsx(je.div,{"data-side":$,"data-align":Q,...y,ref:_,style:{...y.style,animation:Y?void 0:"none"}})})})});rb.displayName=Pf;var ob="PopperArrow",l4={top:"bottom",right:"left",bottom:"top",left:"right"},ib=k.forwardRef(function(t,n){const{__scopePopper:o,...i}=t,a=a4(ob,o),l=l4[a.placedSide];return R.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:R.jsx(o4,{...i,ref:n,style:{...i.style,display:"block"}})})});ib.displayName=ob;function u4(e){return e!==null}var c4=e=>({name:"transformOrigin",options:e,fn(t){var x,b,C;const{placement:n,rects:o,middlewareData:i}=t,l=((x=i.arrow)==null?void 0:x.centerOffset)!==0,u=l?0:e.arrowWidth,f=l?0:e.arrowHeight,[d,h]=sb(n),p={start:"0%",center:"50%",end:"100%"}[h],m=(((b=i.arrow)==null?void 0:b.x)??0)+u/2,v=(((C=i.arrow)==null?void 0:C.y)??0)+f/2;let E="",y="";return d==="bottom"?(E=l?p:`${m}px`,y=`${-f}px`):d==="top"?(E=l?p:`${m}px`,y=`${o.floating.height+f}px`):d==="right"?(E=`${-f}px`,y=l?p:`${v}px`):d==="left"&&(E=`${o.floating.width+f}px`,y=l?p:`${v}px`),{data:{x:E,y}}}});function sb(e){const[t,n="center"]=e.split("-");return[t,n]}var ab=eb,lb=nb,ub=rb,cb=ib,f4="Portal",hl=k.forwardRef((e,t)=>{var u;const{container:n,...o}=e,[i,a]=k.useState(!1);ht(()=>a(!0),[]);const l=n||i&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return l?DD.createPortal(R.jsx(je.div,{...o,ref:t}),l):null});hl.displayName=f4;function d4(e){const t=h4(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(g4);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function h4(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=v4(i),u=m4(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var p4=Symbol("radix.slottable");function g4(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===p4}function m4(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function v4(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var fb=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),y4="VisuallyHidden",db=k.forwardRef((e,t)=>R.jsx(je.span,{...e,ref:t,style:{...fb,...e.style}}));db.displayName=y4;var w4=db,x4=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Wo=new WeakMap,pl=new WeakMap,gl={},Tf=0,hb=function(e){return e&&(e.host||hb(e.parentNode))},_4=function(e,t){return t.map(function(n){if(e.contains(n))return n;var o=hb(n);return o&&e.contains(o)?o:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},b4=function(e,t,n,o){var i=_4(t,Array.isArray(e)?e:[e]);gl[n]||(gl[n]=new WeakMap);var a=gl[n],l=[],u=new Set,f=new Set(i),d=function(p){!p||u.has(p)||(u.add(p),d(p.parentNode))};i.forEach(d);var h=function(p){!p||f.has(p)||Array.prototype.forEach.call(p.children,function(m){if(u.has(m))h(m);else try{var v=m.getAttribute(o),E=v!==null&&v!=="false",y=(Wo.get(m)||0)+1,x=(a.get(m)||0)+1;Wo.set(m,y),a.set(m,x),l.push(m),y===1&&E&&pl.set(m,!0),x===1&&m.setAttribute(n,"true"),E||m.setAttribute(o,"true")}catch(b){console.error("aria-hidden: cannot operate on ",m,b)}})};return h(t),u.clear(),Tf++,function(){l.forEach(function(p){var m=Wo.get(p)-1,v=a.get(p)-1;Wo.set(p,m),a.set(p,v),m||(pl.has(p)||p.removeAttribute(o),pl.delete(p)),v||p.removeAttribute(n)}),Tf--,Tf||(Wo=new WeakMap,Wo=new WeakMap,pl=new WeakMap,gl={})}},pb=function(e,t,n){n===void 0&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),i=x4(e);return i?(o.push.apply(o,Array.from(i.querySelectorAll("[aria-live], script"))),b4(o,i,n,"aria-hidden")):function(){return null}},An=function(){return An=Object.assign||function(t){for(var n,o=1,i=arguments.length;o"u")return z4;var t=F4(e),n=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])}},B4=wb(),Uo="data-scroll-locked",V4=function(e,t,n,o){var i=e.left,a=e.top,l=e.right,u=e.gap;return n===void 0&&(n="margin"),` + .`.concat(E4,` { overflow: hidden `).concat(o,`; padding-right: `).concat(u,"px ").concat(o,`; } - body[`).concat(Fo,`] { + body[`).concat(Uo,`] { overflow: hidden `).concat(o,`; overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(o,";"),r==="margin"&&` - padding-left: `.concat(s,`px; + `).concat([t&&"position: relative ".concat(o,";"),n==="margin"&&` + padding-left: `.concat(i,`px; padding-top: `).concat(a,`px; padding-right: `).concat(l,`px; margin-left:0; margin-top:0; margin-right: `).concat(u,"px ").concat(o,`; - `),r==="padding"&&"padding-right: ".concat(u,"px ").concat(o,";")].filter(Boolean).join(""),` + `),n==="padding"&&"padding-right: ".concat(u,"px ").concat(o,";")].filter(Boolean).join(""),` } - .`).concat(ol,` { + .`).concat(ml,` { right: `).concat(u,"px ").concat(o,`; } - .`).concat(il,` { + .`).concat(vl,` { margin-right: `).concat(u,"px ").concat(o,`; } - .`).concat(ol," .").concat(ol,` { + .`).concat(ml," .").concat(ml,` { right: 0 `).concat(o,`; } - .`).concat(il," .").concat(il,` { + .`).concat(vl," .").concat(vl,` { margin-right: 0 `).concat(o,`; } - body[`).concat(Fo,`] { - `).concat(bF,": ").concat(u,`px; + body[`).concat(Uo,`] { + `).concat(C4,": ").concat(u,`px; } -`)},U_=function(){var e=parseInt(document.body.getAttribute(Fo)||"0",10);return isFinite(e)?e:0},$F=function(){N.useEffect(function(){return document.body.setAttribute(Fo,(U_()+1).toString()),function(){var e=U_()-1;e<=0?document.body.removeAttribute(Fo):document.body.setAttribute(Fo,e.toString())}},[])},BF=function(e){var t=e.noRelative,r=e.noImportant,o=e.gapMode,s=o===void 0?"margin":o;$F();var a=N.useMemo(function(){return qF(s)},[s]);return N.createElement(zF,{styles:FF(a,!t,s,r?"":"!important")})},wf=!1;if(typeof window<"u")try{var al=Object.defineProperty({},"passive",{get:function(){return wf=!0,!0}});window.addEventListener("test",al,al),window.removeEventListener("test",al,al)}catch{wf=!1}var $o=wf?{passive:!1}:!1,VF=function(e){return e.tagName==="TEXTAREA"},G_=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!VF(e)&&r[t]==="visible")},HF=function(e){return G_(e,"overflowY")},WF=function(e){return G_(e,"overflowX")},Y_=function(e,t){var r=t.ownerDocument,o=t;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var s=K_(e,o);if(s){var a=X_(e,o),l=a[1],u=a[2];if(l>u)return!0}o=o.parentNode}while(o&&o!==r.body);return!1},UF=function(e){var t=e.scrollTop,r=e.scrollHeight,o=e.clientHeight;return[t,r,o]},GF=function(e){var t=e.scrollLeft,r=e.scrollWidth,o=e.clientWidth;return[t,r,o]},K_=function(e,t){return e==="v"?HF(t):WF(t)},X_=function(e,t){return e==="v"?UF(t):GF(t)},YF=function(e,t){return e==="h"&&t==="rtl"?-1:1},KF=function(e,t,r,o,s){var a=YF(e,window.getComputedStyle(t).direction),l=a*o,u=r.target,f=t.contains(u),d=!1,h=l>0,p=0,m=0;do{if(!u)break;var w=X_(e,u),E=w[0],y=w[1],x=w[2],b=y-x-a*E;(E||b)&&K_(e,u)&&(p+=b,m+=E);var C=u.parentNode;u=C&&C.nodeType===Node.DOCUMENT_FRAGMENT_NODE?C.host:C}while(!f&&u!==document.body||f&&(t.contains(u)||t===u));return(h&&Math.abs(p)<1||!h&&Math.abs(m)<1)&&(d=!0),d},ll=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Q_=function(e){return[e.deltaX,e.deltaY]},Z_=function(e){return e&&"current"in e?e.current:e},XF=function(e,t){return e[0]===t[0]&&e[1]===t[1]},QF=function(e){return` +`)},xb=function(){var e=parseInt(document.body.getAttribute(Uo)||"0",10);return isFinite(e)?e:0},H4=function(){k.useEffect(function(){return document.body.setAttribute(Uo,(xb()+1).toString()),function(){var e=xb()-1;e<=0?document.body.removeAttribute(Uo):document.body.setAttribute(Uo,e.toString())}},[])},W4=function(e){var t=e.noRelative,n=e.noImportant,o=e.gapMode,i=o===void 0?"margin":o;H4();var a=k.useMemo(function(){return $4(i)},[i]);return k.createElement(B4,{styles:V4(a,!t,i,n?"":"!important")})},Of=!1;if(typeof window<"u")try{var wl=Object.defineProperty({},"passive",{get:function(){return Of=!0,!0}});window.addEventListener("test",wl,wl),window.removeEventListener("test",wl,wl)}catch{Of=!1}var Go=Of?{passive:!1}:!1,U4=function(e){return e.tagName==="TEXTAREA"},_b=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!U4(e)&&n[t]==="visible")},G4=function(e){return _b(e,"overflowY")},Y4=function(e){return _b(e,"overflowX")},bb=function(e,t){var n=t.ownerDocument,o=t;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var i=Sb(e,o);if(i){var a=Eb(e,o),l=a[1],u=a[2];if(l>u)return!0}o=o.parentNode}while(o&&o!==n.body);return!1},K4=function(e){var t=e.scrollTop,n=e.scrollHeight,o=e.clientHeight;return[t,n,o]},X4=function(e){var t=e.scrollLeft,n=e.scrollWidth,o=e.clientWidth;return[t,n,o]},Sb=function(e,t){return e==="v"?G4(t):Y4(t)},Eb=function(e,t){return e==="v"?K4(t):X4(t)},Q4=function(e,t){return e==="h"&&t==="rtl"?-1:1},Z4=function(e,t,n,o,i){var a=Q4(e,window.getComputedStyle(t).direction),l=a*o,u=n.target,f=t.contains(u),d=!1,h=l>0,p=0,m=0;do{if(!u)break;var v=Eb(e,u),E=v[0],y=v[1],x=v[2],b=y-x-a*E;(E||b)&&Sb(e,u)&&(p+=b,m+=E);var C=u.parentNode;u=C&&C.nodeType===Node.DOCUMENT_FRAGMENT_NODE?C.host:C}while(!f&&u!==document.body||f&&(t.contains(u)||t===u));return(h&&Math.abs(p)<1||!h&&Math.abs(m)<1)&&(d=!0),d},xl=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Cb=function(e){return[e.deltaX,e.deltaY]},kb=function(e){return e&&"current"in e?e.current:e},J4=function(e,t){return e[0]===t[0]&&e[1]===t[1]},e$=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},ZF=0,Bo=[];function JF(e){var t=N.useRef([]),r=N.useRef([0,0]),o=N.useRef(),s=N.useState(ZF++)[0],a=N.useState(W_)[0],l=N.useRef(e);N.useEffect(function(){l.current=e},[e]),N.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var y=xF([e.lockRef.current],(e.shards||[]).map(Z_),!0).filter(Boolean);return y.forEach(function(x){return x.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),y.forEach(function(x){return x.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var u=N.useCallback(function(y,x){if("touches"in y&&y.touches.length===2||y.type==="wheel"&&y.ctrlKey)return!l.current.allowPinchZoom;var b=ll(y),C=r.current,_="deltaX"in y?y.deltaX:C[0]-b[0],k="deltaY"in y?y.deltaY:C[1]-b[1],R,T=y.target,A=Math.abs(_)>Math.abs(k)?"h":"v";if("touches"in y&&A==="h"&&T.type==="range")return!1;var O=window.getSelection(),j=O&&O.anchorNode,U=j?j===T||j.contains(T):!1;if(U)return!1;var q=Y_(A,T);if(!q)return!0;if(q?R=A:(R=A==="v"?"h":"v",q=Y_(A,T)),!q)return!1;if(!o.current&&"changedTouches"in y&&(_||k)&&(o.current=R),!R)return!0;var V=o.current||R;return KF(V,x,y,V==="h"?_:k)},[]),f=N.useCallback(function(y){var x=y;if(!(!Bo.length||Bo[Bo.length-1]!==a)){var b="deltaY"in x?Q_(x):ll(x),C=t.current.filter(function(R){return R.name===x.type&&(R.target===x.target||x.target===R.shadowParent)&&XF(R.delta,b)})[0];if(C&&C.should){x.cancelable&&x.preventDefault();return}if(!C){var _=(l.current.shards||[]).map(Z_).filter(Boolean).filter(function(R){return R.contains(x.target)}),k=_.length>0?u(x,_[0]):!l.current.noIsolation;k&&x.cancelable&&x.preventDefault()}}},[]),d=N.useCallback(function(y,x,b,C){var _={name:y,delta:x,target:b,should:C,shadowParent:e4(b)};t.current.push(_),setTimeout(function(){t.current=t.current.filter(function(k){return k!==_})},1)},[]),h=N.useCallback(function(y){r.current=ll(y),o.current=void 0},[]),p=N.useCallback(function(y){d(y.type,Q_(y),y.target,u(y,e.lockRef.current))},[]),m=N.useCallback(function(y){d(y.type,ll(y),y.target,u(y,e.lockRef.current))},[]);N.useEffect(function(){return Bo.push(a),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:m}),document.addEventListener("wheel",f,$o),document.addEventListener("touchmove",f,$o),document.addEventListener("touchstart",h,$o),function(){Bo=Bo.filter(function(y){return y!==a}),document.removeEventListener("wheel",f,$o),document.removeEventListener("touchmove",f,$o),document.removeEventListener("touchstart",h,$o)}},[]);var w=e.removeScrollBar,E=e.inert;return N.createElement(N.Fragment,null,E?N.createElement(a,{styles:QF(s)}):null,w?N.createElement(BF,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function e4(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const t4=PF(H_,JF);var J_=N.forwardRef(function(e,t){return N.createElement(sl,Pn({},e,{ref:t,sideCar:t4}))});J_.classNames=sl.classNames;var n4=[" ","Enter","ArrowUp","ArrowDown"],r4=[" ","Enter"],Yr="Select",[ul,cl,o4]=y3(Yr),[Vo]=Va(Yr,[o4,P_]),fl=P_(),[i4,fr]=Vo(Yr),[s4,a4]=Vo(Yr),eb=e=>{const{__scopeSelect:t,children:r,open:o,defaultOpen:s,onOpenChange:a,value:l,defaultValue:u,onValueChange:f,dir:d,name:h,autoComplete:p,disabled:m,required:w,form:E}=e,y=fl(t),[x,b]=N.useState(null),[C,_]=N.useState(null),[k,R]=N.useState(!1),T=x3(d),[A,O]=Yc({prop:o,defaultProp:s??!1,onChange:a,caller:Yr}),[j,U]=Yc({prop:l,defaultProp:u,onChange:f,caller:Yr}),q=N.useRef(null),V=x?E||!!x.closest("form"):!0,[X,L]=N.useState(new Set),H=Array.from(X).map(B=>B.props.value).join(";");return I.jsx(rF,{...y,children:I.jsxs(i4,{required:w,scope:t,trigger:x,onTriggerChange:b,valueNode:C,onValueNodeChange:_,valueNodeHasChildren:k,onValueNodeHasChildrenChange:R,contentId:ef(),value:j,onValueChange:U,open:A,onOpenChange:O,dir:T,triggerPointerDownPosRef:q,disabled:m,children:[I.jsx(ul.Provider,{scope:t,children:I.jsx(s4,{scope:e.__scopeSelect,onNativeOptionAdd:N.useCallback(B=>{L(Y=>new Set(Y).add(B))},[]),onNativeOptionRemove:N.useCallback(B=>{L(Y=>{const M=new Set(Y);return M.delete(B),M})},[]),children:r})}),V?I.jsxs(bb,{"aria-hidden":!0,required:w,tabIndex:-1,name:h,autoComplete:p,value:j,onChange:B=>U(B.target.value),disabled:m,form:E,children:[j===void 0?I.jsx("option",{value:""}):null,Array.from(X)]},H):null]})})};eb.displayName=Yr;var tb="SelectTrigger",nb=N.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:o=!1,...s}=e,a=fl(r),l=fr(tb,r),u=l.disabled||o,f=et(t,l.onTriggerChange),d=cl(r),h=N.useRef("touch"),[p,m,w]=Eb(y=>{const x=d().filter(_=>!_.disabled),b=x.find(_=>_.value===l.value),C=Cb(x,y,b);C!==void 0&&l.onValueChange(C.value)}),E=y=>{u||(l.onOpenChange(!0),w()),y&&(l.triggerPointerDownPosRef.current={x:Math.round(y.pageX),y:Math.round(y.pageY)})};return I.jsx(oF,{asChild:!0,...a,children:I.jsx(Fe.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Sb(l.value)?"":void 0,...s,ref:f,onClick:Ke(s.onClick,y=>{y.currentTarget.focus(),h.current!=="mouse"&&E(y)}),onPointerDown:Ke(s.onPointerDown,y=>{h.current=y.pointerType;const x=y.target;x.hasPointerCapture(y.pointerId)&&x.releasePointerCapture(y.pointerId),y.button===0&&y.ctrlKey===!1&&y.pointerType==="mouse"&&(E(y),y.preventDefault())}),onKeyDown:Ke(s.onKeyDown,y=>{const x=p.current!=="";!(y.ctrlKey||y.altKey||y.metaKey)&&y.key.length===1&&m(y.key),!(x&&y.key===" ")&&n4.includes(y.key)&&(E(),y.preventDefault())})})})});nb.displayName=tb;var rb="SelectValue",ob=N.forwardRef((e,t)=>{const{__scopeSelect:r,className:o,style:s,children:a,placeholder:l="",...u}=e,f=fr(rb,r),{onValueNodeHasChildrenChange:d}=f,h=a!==void 0,p=et(t,f.onValueNodeChange);return ht(()=>{d(h)},[d,h]),I.jsx(Fe.span,{...u,ref:p,style:{pointerEvents:"none"},children:Sb(f.value)?I.jsx(I.Fragment,{children:l}):a})});ob.displayName=rb;var l4="SelectIcon",ib=N.forwardRef((e,t)=>{const{__scopeSelect:r,children:o,...s}=e;return I.jsx(Fe.span,{"aria-hidden":!0,...s,ref:t,children:o||"▼"})});ib.displayName=l4;var u4="SelectPortal",sb=e=>I.jsx(q_,{asChild:!0,...e});sb.displayName=u4;var Kr="SelectContent",ab=N.forwardRef((e,t)=>{const r=fr(Kr,e.__scopeSelect),[o,s]=N.useState();if(ht(()=>{s(new DocumentFragment)},[]),!r.open){const a=o;return a?Gi.createPortal(I.jsx(lb,{scope:e.__scopeSelect,children:I.jsx(ul.Slot,{scope:e.__scopeSelect,children:I.jsx("div",{children:e.children})})}),a):null}return I.jsx(ub,{...e,ref:t})});ab.displayName=Kr;var cn=10,[lb,dr]=Vo(Kr),c4="SelectContentImpl",f4=lF("SelectContent.RemoveScroll"),ub=N.forwardRef((e,t)=>{const{__scopeSelect:r,position:o="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:a,onPointerDownOutside:l,side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:w,sticky:E,hideWhenDetached:y,avoidCollisions:x,...b}=e,C=fr(Kr,r),[_,k]=N.useState(null),[R,T]=N.useState(null),A=et(t,K=>k(K)),[O,j]=N.useState(null),[U,q]=N.useState(null),V=cl(r),[X,L]=N.useState(!1),H=N.useRef(!1);N.useEffect(()=>{if(_)return wF(_)},[_]),P3();const B=N.useCallback(K=>{const[te,...se]=V().map(de=>de.ref.current),[ae]=se.slice(-1),ce=document.activeElement;for(const de of K)if(de===ce||(de==null||de.scrollIntoView({block:"nearest"}),de===te&&R&&(R.scrollTop=0),de===ae&&R&&(R.scrollTop=R.scrollHeight),de==null||de.focus(),document.activeElement!==ce))return},[V,R]),Y=N.useCallback(()=>B([O,_]),[B,O,_]);N.useEffect(()=>{X&&Y()},[X,Y]);const{onOpenChange:M,triggerPointerDownPosRef:z}=C;N.useEffect(()=>{if(_){let K={x:0,y:0};const te=ae=>{var ce,de;K={x:Math.abs(Math.round(ae.pageX)-(((ce=z.current)==null?void 0:ce.x)??0)),y:Math.abs(Math.round(ae.pageY)-(((de=z.current)==null?void 0:de.y)??0))}},se=ae=>{K.x<=10&&K.y<=10?ae.preventDefault():_.contains(ae.target)||M(!1),document.removeEventListener("pointermove",te),z.current=null};return z.current!==null&&(document.addEventListener("pointermove",te),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",te),document.removeEventListener("pointerup",se,{capture:!0})}}},[_,M,z]),N.useEffect(()=>{const K=()=>M(!1);return window.addEventListener("blur",K),window.addEventListener("resize",K),()=>{window.removeEventListener("blur",K),window.removeEventListener("resize",K)}},[M]);const[Q,D]=Eb(K=>{const te=V().filter(ce=>!ce.disabled),se=te.find(ce=>ce.ref.current===document.activeElement),ae=Cb(te,K,se);ae&&setTimeout(()=>ae.ref.current.focus())}),W=N.useCallback((K,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&(j(K),ae&&(H.current=!0))},[C.value]),ie=N.useCallback(()=>_==null?void 0:_.focus(),[_]),$=N.useCallback((K,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&q(K)},[C.value]),Z=o==="popper"?xf:cb,ee=Z===xf?{side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:w,sticky:E,hideWhenDetached:y,avoidCollisions:x}:{};return I.jsx(lb,{scope:r,content:_,viewport:R,onViewportChange:T,itemRefCallback:W,selectedItem:O,onItemLeave:ie,itemTextRefCallback:$,focusSelectedItem:Y,selectedItemText:U,position:o,isPositioned:X,searchRef:Q,children:I.jsx(J_,{as:f4,allowPinchZoom:!0,children:I.jsx(e_,{asChild:!0,trapped:C.open,onMountAutoFocus:K=>{K.preventDefault()},onUnmountAutoFocus:Ke(s,K=>{var te;(te=C.trigger)==null||te.focus({preventScroll:!0}),K.preventDefault()}),children:I.jsx(K1,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:K=>K.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:I.jsx(Z,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:K=>K.preventDefault(),...b,...ee,onPlaced:()=>L(!0),ref:A,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:Ke(b.onKeyDown,K=>{const te=K.ctrlKey||K.altKey||K.metaKey;if(K.key==="Tab"&&K.preventDefault(),!te&&K.key.length===1&&D(K.key),["ArrowUp","ArrowDown","Home","End"].includes(K.key)){let ae=V().filter(ce=>!ce.disabled).map(ce=>ce.ref.current);if(["ArrowUp","End"].includes(K.key)&&(ae=ae.slice().reverse()),["ArrowUp","ArrowDown"].includes(K.key)){const ce=K.target,de=ae.indexOf(ce);ae=ae.slice(de+1)}setTimeout(()=>B(ae)),K.preventDefault()}})})})})})})});ub.displayName=c4;var d4="SelectItemAlignedPosition",cb=N.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:o,...s}=e,a=fr(Kr,r),l=dr(Kr,r),[u,f]=N.useState(null),[d,h]=N.useState(null),p=et(t,A=>h(A)),m=cl(r),w=N.useRef(!1),E=N.useRef(!0),{viewport:y,selectedItem:x,selectedItemText:b,focusSelectedItem:C}=l,_=N.useCallback(()=>{if(a.trigger&&a.valueNode&&u&&d&&y&&x&&b){const A=a.trigger.getBoundingClientRect(),O=d.getBoundingClientRect(),j=a.valueNode.getBoundingClientRect(),U=b.getBoundingClientRect();if(a.dir!=="rtl"){const ce=U.left-O.left,de=j.left-ce,pe=A.left-de,be=A.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=W1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.left=Ee+"px"}else{const ce=O.right-U.right,de=window.innerWidth-j.right-ce,pe=window.innerWidth-A.right-de,be=A.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=W1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.right=Ee+"px"}const q=m(),V=window.innerHeight-cn*2,X=y.scrollHeight,L=window.getComputedStyle(d),H=parseInt(L.borderTopWidth,10),B=parseInt(L.paddingTop,10),Y=parseInt(L.borderBottomWidth,10),M=parseInt(L.paddingBottom,10),z=H+B+X+M+Y,Q=Math.min(x.offsetHeight*5,z),D=window.getComputedStyle(y),W=parseInt(D.paddingTop,10),ie=parseInt(D.paddingBottom,10),$=A.top+A.height/2-cn,Z=V-$,ee=x.offsetHeight/2,K=x.offsetTop+ee,te=H+B+K,se=z-te;if(te<=$){const ce=q.length>0&&x===q[q.length-1].ref.current;u.style.bottom="0px";const de=d.clientHeight-y.offsetTop-y.offsetHeight,pe=Math.max(Z,ee+(ce?ie:0)+de+Y),be=te+pe;u.style.height=be+"px"}else{const ce=q.length>0&&x===q[0].ref.current;u.style.top="0px";const pe=Math.max($,H+y.offsetTop+(ce?W:0)+ee)+se;u.style.height=pe+"px",y.scrollTop=te-$+y.offsetTop}u.style.margin=`${cn}px 0`,u.style.minHeight=Q+"px",u.style.maxHeight=V+"px",o==null||o(),requestAnimationFrame(()=>w.current=!0)}},[m,a.trigger,a.valueNode,u,d,y,x,b,a.dir,o]);ht(()=>_(),[_]);const[k,R]=N.useState();ht(()=>{d&&R(window.getComputedStyle(d).zIndex)},[d]);const T=N.useCallback(A=>{A&&E.current===!0&&(_(),C==null||C(),E.current=!1)},[_,C]);return I.jsx(p4,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:w,onScrollButtonChange:T,children:I.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:I.jsx(Fe.div,{...s,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});cb.displayName=d4;var h4="SelectPopperPosition",xf=N.forwardRef((e,t)=>{const{__scopeSelect:r,align:o="start",collisionPadding:s=cn,...a}=e,l=fl(r);return I.jsx(iF,{...l,...a,ref:t,align:o,collisionPadding:s,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xf.displayName=h4;var[p4,_f]=Vo(Kr,{}),bf="SelectViewport",fb=N.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:o,...s}=e,a=dr(bf,r),l=_f(bf,r),u=et(t,a.onViewportChange),f=N.useRef(0);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),I.jsx(ul.Slot,{scope:r,children:I.jsx(Fe.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Ke(s.onScroll,d=>{const h=d.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:m}=l;if(m!=null&&m.current&&p){const w=Math.abs(f.current-h.scrollTop);if(w>0){const E=window.innerHeight-cn*2,y=parseFloat(p.style.minHeight),x=parseFloat(p.style.height),b=Math.max(y,x);if(b0?k:0,p.style.justifyContent="flex-end")}}}f.current=h.scrollTop})})})]})});fb.displayName=bf;var db="SelectGroup",[g4,m4]=Vo(db),v4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e,s=ef();return I.jsx(g4,{scope:r,id:s,children:I.jsx(Fe.div,{role:"group","aria-labelledby":s,...o,ref:t})})});v4.displayName=db;var hb="SelectLabel",y4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e,s=m4(hb,r);return I.jsx(Fe.div,{id:s.id,...o,ref:t})});y4.displayName=hb;var dl="SelectItem",[w4,pb]=Vo(dl),gb=N.forwardRef((e,t)=>{const{__scopeSelect:r,value:o,disabled:s=!1,textValue:a,...l}=e,u=fr(dl,r),f=dr(dl,r),d=u.value===o,[h,p]=N.useState(a??""),[m,w]=N.useState(!1),E=et(t,C=>{var _;return(_=f.itemRefCallback)==null?void 0:_.call(f,C,o,s)}),y=ef(),x=N.useRef("touch"),b=()=>{s||(u.onValueChange(o),u.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return I.jsx(w4,{scope:r,value:o,disabled:s,textId:y,isSelected:d,onItemTextChange:N.useCallback(C=>{p(_=>_||((C==null?void 0:C.textContent)??"").trim())},[]),children:I.jsx(ul.ItemSlot,{scope:r,value:o,disabled:s,textValue:h,children:I.jsx(Fe.div,{role:"option","aria-labelledby":y,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...l,ref:E,onFocus:Ke(l.onFocus,()=>w(!0)),onBlur:Ke(l.onBlur,()=>w(!1)),onClick:Ke(l.onClick,()=>{x.current!=="mouse"&&b()}),onPointerUp:Ke(l.onPointerUp,()=>{x.current==="mouse"&&b()}),onPointerDown:Ke(l.onPointerDown,C=>{x.current=C.pointerType}),onPointerMove:Ke(l.onPointerMove,C=>{var _;x.current=C.pointerType,s?(_=f.onItemLeave)==null||_.call(f):x.current==="mouse"&&C.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ke(l.onPointerLeave,C=>{var _;C.currentTarget===document.activeElement&&((_=f.onItemLeave)==null||_.call(f))}),onKeyDown:Ke(l.onKeyDown,C=>{var k;((k=f.searchRef)==null?void 0:k.current)!==""&&C.key===" "||(r4.includes(C.key)&&b(),C.key===" "&&C.preventDefault())})})})})});gb.displayName=dl;var ns="SelectItemText",mb=N.forwardRef((e,t)=>{const{__scopeSelect:r,className:o,style:s,...a}=e,l=fr(ns,r),u=dr(ns,r),f=pb(ns,r),d=a4(ns,r),[h,p]=N.useState(null),m=et(t,b=>p(b),f.onItemTextChange,b=>{var C;return(C=u.itemTextRefCallback)==null?void 0:C.call(u,b,f.value,f.disabled)}),w=h==null?void 0:h.textContent,E=N.useMemo(()=>I.jsx("option",{value:f.value,disabled:f.disabled,children:w},f.value),[f.disabled,f.value,w]),{onNativeOptionAdd:y,onNativeOptionRemove:x}=d;return ht(()=>(y(E),()=>x(E)),[y,x,E]),I.jsxs(I.Fragment,{children:[I.jsx(Fe.span,{id:f.textId,...a,ref:m}),f.isSelected&&l.valueNode&&!l.valueNodeHasChildren?Gi.createPortal(a.children,l.valueNode):null]})});mb.displayName=ns;var vb="SelectItemIndicator",yb=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e;return pb(vb,r).isSelected?I.jsx(Fe.span,{"aria-hidden":!0,...o,ref:t}):null});yb.displayName=vb;var Sf="SelectScrollUpButton",wb=N.forwardRef((e,t)=>{const r=dr(Sf,e.__scopeSelect),o=_f(Sf,e.__scopeSelect),[s,a]=N.useState(!1),l=et(t,o.onScrollButtonChange);return ht(()=>{if(r.viewport&&r.isPositioned){let u=function(){const d=f.scrollTop>0;a(d)};const f=r.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[r.viewport,r.isPositioned]),s?I.jsx(_b,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=r;u&&f&&(u.scrollTop=u.scrollTop-f.offsetHeight)}}):null});wb.displayName=Sf;var Ef="SelectScrollDownButton",xb=N.forwardRef((e,t)=>{const r=dr(Ef,e.__scopeSelect),o=_f(Ef,e.__scopeSelect),[s,a]=N.useState(!1),l=et(t,o.onScrollButtonChange);return ht(()=>{if(r.viewport&&r.isPositioned){let u=function(){const d=f.scrollHeight-f.clientHeight,h=Math.ceil(f.scrollTop)f.removeEventListener("scroll",u)}},[r.viewport,r.isPositioned]),s?I.jsx(_b,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=r;u&&f&&(u.scrollTop=u.scrollTop+f.offsetHeight)}}):null});xb.displayName=Ef;var _b=N.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:o,...s}=e,a=dr("SelectScrollButton",r),l=N.useRef(null),u=cl(r),f=N.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return N.useEffect(()=>()=>f(),[f]),ht(()=>{var h;const d=u().find(p=>p.ref.current===document.activeElement);(h=d==null?void 0:d.ref.current)==null||h.scrollIntoView({block:"nearest"})},[u]),I.jsx(Fe.div,{"aria-hidden":!0,...s,ref:t,style:{flexShrink:0,...s.style},onPointerDown:Ke(s.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(o,50))}),onPointerMove:Ke(s.onPointerMove,()=>{var d;(d=a.onItemLeave)==null||d.call(a),l.current===null&&(l.current=window.setInterval(o,50))}),onPointerLeave:Ke(s.onPointerLeave,()=>{f()})})}),x4="SelectSeparator",_4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e;return I.jsx(Fe.div,{"aria-hidden":!0,...o,ref:t})});_4.displayName=x4;var Cf="SelectArrow",b4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e,s=fl(r),a=fr(Cf,r),l=dr(Cf,r);return a.open&&l.position==="popper"?I.jsx(sF,{...s,...o,ref:t}):null});b4.displayName=Cf;var S4="SelectBubbleInput",bb=N.forwardRef(({__scopeSelect:e,value:t,...r},o)=>{const s=N.useRef(null),a=et(o,s),l=P1(t);return N.useEffect(()=>{const u=s.current;if(!u)return;const f=window.HTMLSelectElement.prototype,h=Object.getOwnPropertyDescriptor(f,"value").set;if(l!==t&&h){const p=new Event("change",{bubbles:!0});h.call(u,t),u.dispatchEvent(p)}},[l,t]),I.jsx(Fe.select,{...r,style:{...z_,...r.style},ref:a,defaultValue:t})});bb.displayName=S4;function Sb(e){return e===""||e===void 0}function Eb(e){const t=Ur(e),r=N.useRef(""),o=N.useRef(0),s=N.useCallback(l=>{const u=r.current+l;t(u),(function f(d){r.current=d,window.clearTimeout(o.current),d!==""&&(o.current=window.setTimeout(()=>f(""),1e3))})(u)},[t]),a=N.useCallback(()=>{r.current="",window.clearTimeout(o.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(o.current),[]),[r,s,a]}function Cb(e,t,r){const s=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,a=r?e.indexOf(r):-1;let l=E4(e,Math.max(a,0));s.length===1&&(l=l.filter(d=>d!==r));const f=l.find(d=>d.textValue.toLowerCase().startsWith(s.toLowerCase()));return f!==r?f:void 0}function E4(e,t){return e.map((r,o)=>e[(t+o)%e.length])}var C4=eb,k4=nb,N4=ob,R4=ib,P4=sb,T4=ab,A4=fb,I4=gb,M4=mb,O4=yb,L4=wb,D4=xb;function kb({...e}){return I.jsx(C4,{"data-slot":"select",...e})}function Nb({...e}){return I.jsx(N4,{"data-slot":"select-value",...e})}function Rb({className:e,size:t="default",children:r,...o}){return I.jsxs(k4,{"data-slot":"select-trigger","data-size":t,className:dt("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o,children:[r,I.jsx(R4,{asChild:!0,children:I.jsx(V1,{className:"size-4 opacity-50"})})]})}function Pb({className:e,children:t,position:r="popper",align:o="center",...s}){return I.jsx(P4,{children:I.jsxs(T4,{"data-slot":"select-content",className:dt("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:o,...s,children:[I.jsx(j4,{}),I.jsx(A4,{className:dt("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),I.jsx(q4,{})]})})}function Tb({className:e,children:t,...r}){return I.jsxs(I4,{"data-slot":"select-item",className:dt("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[I.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:I.jsx(O4,{children:I.jsx(B1,{className:"size-4"})})}),I.jsx(M4,{children:t})]})}function j4({className:e,...t}){return I.jsx(L4,{"data-slot":"select-scroll-up-button",className:dt("flex cursor-default items-center justify-center py-1",e),...t,children:I.jsx(u3,{className:"size-4"})})}function q4({className:e,...t}){return I.jsx(D4,{"data-slot":"select-scroll-down-button",className:dt("flex cursor-default items-center justify-center py-1",e),...t,children:I.jsx(V1,{className:"size-4"})})}function z4(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=Oo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??"";return I.jsxs("div",{className:"component-select-field",children:[I.jsx("label",{className:"text-xs text-gray-600 mb-1",children:u.label}),I.jsxs(kb,{value:h,onValueChange:p=>f==null?void 0:f(u.id,p),children:[I.jsx(Rb,{className:"h-8 text-xs",onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),"aria-label":u.label,children:I.jsx(Nb,{placeholder:"Select..."})}),I.jsx(Pb,{children:(u.options||[]).map(p=>I.jsx(Tb,{value:p,className:"text-xs",children:p},p))})]})]})}const{value:t,options:r,onChange:o,placeholder:s,label:a}=e;return I.jsxs(kb,{value:t,onValueChange:o,children:[I.jsx(Rb,{className:"h-8 text-xs",onMouseDown:u=>u.stopPropagation(),onPointerDown:u=>u.stopPropagation(),"aria-label":a,children:I.jsx(Nb,{placeholder:s})}),I.jsx(Pb,{children:r.map(u=>I.jsx(Tb,{value:u,className:"text-xs",children:u},u))})]})}function F4(e,t=[]){let r=[];function o(a,l){const u=N.createContext(l);u.displayName=a+"Context";const f=r.length;r=[...r,l];const d=p=>{var b;const{scope:m,children:w,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=N.useMemo(()=>E,Object.values(E));return I.jsx(y.Provider,{value:x,children:w})};d.displayName=a+"Provider";function h(p,m){var y;const w=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=N.useContext(w);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const s=()=>{const a=r.map(l=>N.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return N.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return s.scopeName=e,[o,$4(s,...t)]}function $4(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const o=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return N.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return r.scopeName=t.scopeName,r}var B4=Symbol.for("react.lazy"),hl=Ju[" use ".trim().toString()];function V4(e){return typeof e=="object"&&e!==null&&"then"in e}function Ab(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===B4&&"_payload"in e&&V4(e._payload)}function Ib(e){const t=W4(e),r=N.forwardRef((o,s)=>{let{children:a,...l}=o;Ab(a)&&typeof hl=="function"&&(a=hl(a._payload));const u=N.Children.toArray(a),f=u.find(G4);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}var H4=Ib("Slot");function W4(e){const t=N.forwardRef((r,o)=>{let{children:s,...a}=r;if(Ab(s)&&typeof hl=="function"&&(s=hl(s._payload)),N.isValidElement(s)){const l=K4(s),u=Y4(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var U4=Symbol("radix.slottable");function G4(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===U4}function Y4(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function K4(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var X4=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Mb=X4.reduce((e,t)=>{const r=Ib(`Primitive.${t}`),o=N.forwardRef((s,a)=>{const{asChild:l,...u}=s,f=l?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),I.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),kf="Progress",Nf=100,[Q4]=F4(kf),[Z4,J4]=Q4(kf),Ob=N.forwardRef((e,t)=>{const{__scopeProgress:r,value:o=null,max:s,getValueLabel:a=e$,...l}=e;(s||s===0)&&!qb(s)&&console.error(t$(`${s}`,"Progress"));const u=qb(s)?s:Nf;o!==null&&!zb(o,u)&&console.error(n$(`${o}`,"Progress"));const f=zb(o,u)?o:null,d=pl(f)?a(f,u):void 0;return I.jsx(Z4,{scope:r,value:f,max:u,children:I.jsx(Mb.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":pl(f)?f:void 0,"aria-valuetext":d,role:"progressbar","data-state":jb(f,u),"data-value":f??void 0,"data-max":u,...l,ref:t})})});Ob.displayName=kf;var Lb="ProgressIndicator",Db=N.forwardRef((e,t)=>{const{__scopeProgress:r,...o}=e,s=J4(Lb,r);return I.jsx(Mb.div,{"data-state":jb(s.value,s.max),"data-value":s.value??void 0,"data-max":s.max,...o,ref:t})});Db.displayName=Lb;function e$(e,t){return`${Math.round(e/t*100)}%`}function jb(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function pl(e){return typeof e=="number"}function qb(e){return pl(e)&&!isNaN(e)&&e>0}function zb(e,t){return pl(e)&&!isNaN(e)&&e<=t&&e>=0}function t$(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Nf}\`.`}function n$(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: +`)},t$=0,Yo=[];function n$(e){var t=k.useRef([]),n=k.useRef([0,0]),o=k.useRef(),i=k.useState(t$++)[0],a=k.useState(wb)[0],l=k.useRef(e);k.useEffect(function(){l.current=e},[e]),k.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var y=S4([e.lockRef.current],(e.shards||[]).map(kb),!0).filter(Boolean);return y.forEach(function(x){return x.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),y.forEach(function(x){return x.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var u=k.useCallback(function(y,x){if("touches"in y&&y.touches.length===2||y.type==="wheel"&&y.ctrlKey)return!l.current.allowPinchZoom;var b=xl(y),C=n.current,_="deltaX"in y?y.deltaX:C[0]-b[0],N="deltaY"in y?y.deltaY:C[1]-b[1],P,T=y.target,I=Math.abs(_)>Math.abs(N)?"h":"v";if("touches"in y&&I==="h"&&T.type==="range")return!1;var O=window.getSelection(),q=O&&O.anchorNode,G=q?q===T||q.contains(T):!1;if(G)return!1;var F=bb(I,T);if(!F)return!0;if(F?P=I:(P=I==="v"?"h":"v",F=bb(I,T)),!F)return!1;if(!o.current&&"changedTouches"in y&&(_||N)&&(o.current=P),!P)return!0;var j=o.current||P;return Z4(j,x,y,j==="h"?_:N)},[]),f=k.useCallback(function(y){var x=y;if(!(!Yo.length||Yo[Yo.length-1]!==a)){var b="deltaY"in x?Cb(x):xl(x),C=t.current.filter(function(P){return P.name===x.type&&(P.target===x.target||x.target===P.shadowParent)&&J4(P.delta,b)})[0];if(C&&C.should){x.cancelable&&x.preventDefault();return}if(!C){var _=(l.current.shards||[]).map(kb).filter(Boolean).filter(function(P){return P.contains(x.target)}),N=_.length>0?u(x,_[0]):!l.current.noIsolation;N&&x.cancelable&&x.preventDefault()}}},[]),d=k.useCallback(function(y,x,b,C){var _={name:y,delta:x,target:b,should:C,shadowParent:r$(b)};t.current.push(_),setTimeout(function(){t.current=t.current.filter(function(N){return N!==_})},1)},[]),h=k.useCallback(function(y){n.current=xl(y),o.current=void 0},[]),p=k.useCallback(function(y){d(y.type,Cb(y),y.target,u(y,e.lockRef.current))},[]),m=k.useCallback(function(y){d(y.type,xl(y),y.target,u(y,e.lockRef.current))},[]);k.useEffect(function(){return Yo.push(a),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:m}),document.addEventListener("wheel",f,Go),document.addEventListener("touchmove",f,Go),document.addEventListener("touchstart",h,Go),function(){Yo=Yo.filter(function(y){return y!==a}),document.removeEventListener("wheel",f,Go),document.removeEventListener("touchmove",f,Go),document.removeEventListener("touchstart",h,Go)}},[]);var v=e.removeScrollBar,E=e.inert;return k.createElement(k.Fragment,null,E?k.createElement(a,{styles:e$(i)}):null,v?k.createElement(W4,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function r$(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const o$=I4(yb,n$);var Lf=k.forwardRef(function(e,t){return k.createElement(yl,An({},e,{ref:t,sideCar:o$}))});Lf.classNames=yl.classNames;var i$=[" ","Enter","ArrowUp","ArrowDown"],s$=[" ","Enter"],Qr="Select",[_l,bl,a$]=Nz(Qr),[Ko]=Fo(Qr,[a$,dl]),Sl=dl(),[l$,pr]=Ko(Qr),[u$,c$]=Ko(Qr),Nb=e=>{const{__scopeSelect:t,children:n,open:o,defaultOpen:i,onOpenChange:a,value:l,defaultValue:u,onValueChange:f,dir:d,name:h,autoComplete:p,disabled:m,required:v,form:E}=e,y=Sl(t),[x,b]=k.useState(null),[C,_]=k.useState(null),[N,P]=k.useState(!1),T=Pz(d),[I,O]=ss({prop:o,defaultProp:i??!1,onChange:a,caller:Qr}),[q,G]=ss({prop:l,defaultProp:u,onChange:f,caller:Qr}),F=k.useRef(null),j=x?E||!!x.closest("form"):!0,[W,L]=k.useState(new Set),H=Array.from(W).map(z=>z.props.value).join(";");return R.jsx(ab,{...y,children:R.jsxs(l$,{required:v,scope:t,trigger:x,onTriggerChange:b,valueNode:C,onValueNodeChange:_,valueNodeHasChildren:N,onValueNodeHasChildrenChange:P,contentId:Kr(),value:q,onValueChange:G,open:I,onOpenChange:O,dir:T,triggerPointerDownPosRef:F,disabled:m,children:[R.jsx(_l.Provider,{scope:t,children:R.jsx(u$,{scope:e.__scopeSelect,onNativeOptionAdd:k.useCallback(z=>{L(Y=>new Set(Y).add(z))},[]),onNativeOptionRemove:k.useCallback(z=>{L(Y=>{const M=new Set(Y);return M.delete(z),M})},[]),children:n})}),j?R.jsxs(Kb,{"aria-hidden":!0,required:v,tabIndex:-1,name:h,autoComplete:p,value:q,onChange:z=>G(z.target.value),disabled:m,form:E,children:[q===void 0?R.jsx("option",{value:""}):null,Array.from(W)]},H):null]})})};Nb.displayName=Qr;var Rb="SelectTrigger",Pb=k.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:o=!1,...i}=e,a=Sl(n),l=pr(Rb,n),u=l.disabled||o,f=Fe(t,l.onTriggerChange),d=bl(n),h=k.useRef("touch"),[p,m,v]=Qb(y=>{const x=d().filter(_=>!_.disabled),b=x.find(_=>_.value===l.value),C=Zb(x,y,b);C!==void 0&&l.onValueChange(C.value)}),E=y=>{u||(l.onOpenChange(!0),v()),y&&(l.triggerPointerDownPosRef.current={x:Math.round(y.pageX),y:Math.round(y.pageY)})};return R.jsx(lb,{asChild:!0,...a,children:R.jsx(je.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Xb(l.value)?"":void 0,...i,ref:f,onClick:Oe(i.onClick,y=>{y.currentTarget.focus(),h.current!=="mouse"&&E(y)}),onPointerDown:Oe(i.onPointerDown,y=>{h.current=y.pointerType;const x=y.target;x.hasPointerCapture(y.pointerId)&&x.releasePointerCapture(y.pointerId),y.button===0&&y.ctrlKey===!1&&y.pointerType==="mouse"&&(E(y),y.preventDefault())}),onKeyDown:Oe(i.onKeyDown,y=>{const x=p.current!=="";!(y.ctrlKey||y.altKey||y.metaKey)&&y.key.length===1&&m(y.key),!(x&&y.key===" ")&&i$.includes(y.key)&&(E(),y.preventDefault())})})})});Pb.displayName=Rb;var Tb="SelectValue",Ab=k.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:i,children:a,placeholder:l="",...u}=e,f=pr(Tb,n),{onValueNodeHasChildrenChange:d}=f,h=a!==void 0,p=Fe(t,f.onValueNodeChange);return ht(()=>{d(h)},[d,h]),R.jsx(je.span,{...u,ref:p,style:{pointerEvents:"none"},children:Xb(f.value)?R.jsx(R.Fragment,{children:l}):a})});Ab.displayName=Tb;var f$="SelectIcon",Ib=k.forwardRef((e,t)=>{const{__scopeSelect:n,children:o,...i}=e;return R.jsx(je.span,{"aria-hidden":!0,...i,ref:t,children:o||"▼"})});Ib.displayName=f$;var d$="SelectPortal",Mb=e=>R.jsx(hl,{asChild:!0,...e});Mb.displayName=d$;var Zr="SelectContent",Ob=k.forwardRef((e,t)=>{const n=pr(Zr,e.__scopeSelect),[o,i]=k.useState();if(ht(()=>{i(new DocumentFragment)},[]),!n.open){const a=o;return a?ts.createPortal(R.jsx(Lb,{scope:e.__scopeSelect,children:R.jsx(_l.Slot,{scope:e.__scopeSelect,children:R.jsx("div",{children:e.children})})}),a):null}return R.jsx(Db,{...e,ref:t})});Ob.displayName=Zr;var cn=10,[Lb,gr]=Ko(Zr),h$="SelectContentImpl",p$=d4("SelectContent.RemoveScroll"),Db=k.forwardRef((e,t)=>{const{__scopeSelect:n,position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:l,side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:v,sticky:E,hideWhenDetached:y,avoidCollisions:x,...b}=e,C=pr(Zr,n),[_,N]=k.useState(null),[P,T]=k.useState(null),I=Fe(t,X=>N(X)),[O,q]=k.useState(null),[G,F]=k.useState(null),j=bl(n),[W,L]=k.useState(!1),H=k.useRef(!1);k.useEffect(()=>{if(_)return pb(_)},[_]),b1();const z=k.useCallback(X=>{const[te,...se]=j().map(de=>de.ref.current),[ae]=se.slice(-1),ce=document.activeElement;for(const de of X)if(de===ce||(de==null||de.scrollIntoView({block:"nearest"}),de===te&&P&&(P.scrollTop=0),de===ae&&P&&(P.scrollTop=P.scrollHeight),de==null||de.focus(),document.activeElement!==ce))return},[j,P]),Y=k.useCallback(()=>z([O,_]),[z,O,_]);k.useEffect(()=>{W&&Y()},[W,Y]);const{onOpenChange:M,triggerPointerDownPosRef:$}=C;k.useEffect(()=>{if(_){let X={x:0,y:0};const te=ae=>{var ce,de;X={x:Math.abs(Math.round(ae.pageX)-(((ce=$.current)==null?void 0:ce.x)??0)),y:Math.abs(Math.round(ae.pageY)-(((de=$.current)==null?void 0:de.y)??0))}},se=ae=>{X.x<=10&&X.y<=10?ae.preventDefault():_.contains(ae.target)||M(!1),document.removeEventListener("pointermove",te),$.current=null};return $.current!==null&&(document.addEventListener("pointermove",te),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",te),document.removeEventListener("pointerup",se,{capture:!0})}}},[_,M,$]),k.useEffect(()=>{const X=()=>M(!1);return window.addEventListener("blur",X),window.addEventListener("resize",X),()=>{window.removeEventListener("blur",X),window.removeEventListener("resize",X)}},[M]);const[Q,D]=Qb(X=>{const te=j().filter(ce=>!ce.disabled),se=te.find(ce=>ce.ref.current===document.activeElement),ae=Zb(te,X,se);ae&&setTimeout(()=>ae.ref.current.focus())}),U=k.useCallback((X,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&(q(X),ae&&(H.current=!0))},[C.value]),ie=k.useCallback(()=>_==null?void 0:_.focus(),[_]),V=k.useCallback((X,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&F(X)},[C.value]),Z=o==="popper"?Df:jb,ee=Z===Df?{side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:v,sticky:E,hideWhenDetached:y,avoidCollisions:x}:{};return R.jsx(Lb,{scope:n,content:_,viewport:P,onViewportChange:T,itemRefCallback:U,selectedItem:O,onItemLeave:ie,itemTextRefCallback:V,focusSelectedItem:Y,selectedItemText:G,position:o,isPositioned:W,searchRef:Q,children:R.jsx(Lf,{as:p$,allowPinchZoom:!0,children:R.jsx(mf,{asChild:!0,trapped:C.open,onMountAutoFocus:X=>{X.preventDefault()},onUnmountAutoFocus:Oe(i,X=>{var te;(te=C.trigger)==null||te.focus({preventScroll:!0}),X.preventDefault()}),children:R.jsx(tl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:X=>X.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:R.jsx(Z,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:X=>X.preventDefault(),...b,...ee,onPlaced:()=>L(!0),ref:I,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:Oe(b.onKeyDown,X=>{const te=X.ctrlKey||X.altKey||X.metaKey;if(X.key==="Tab"&&X.preventDefault(),!te&&X.key.length===1&&D(X.key),["ArrowUp","ArrowDown","Home","End"].includes(X.key)){let ae=j().filter(ce=>!ce.disabled).map(ce=>ce.ref.current);if(["ArrowUp","End"].includes(X.key)&&(ae=ae.slice().reverse()),["ArrowUp","ArrowDown"].includes(X.key)){const ce=X.target,de=ae.indexOf(ce);ae=ae.slice(de+1)}setTimeout(()=>z(ae)),X.preventDefault()}})})})})})})});Db.displayName=h$;var g$="SelectItemAlignedPosition",jb=k.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:o,...i}=e,a=pr(Zr,n),l=gr(Zr,n),[u,f]=k.useState(null),[d,h]=k.useState(null),p=Fe(t,I=>h(I)),m=bl(n),v=k.useRef(!1),E=k.useRef(!0),{viewport:y,selectedItem:x,selectedItemText:b,focusSelectedItem:C}=l,_=k.useCallback(()=>{if(a.trigger&&a.valueNode&&u&&d&&y&&x&&b){const I=a.trigger.getBoundingClientRect(),O=d.getBoundingClientRect(),q=a.valueNode.getBoundingClientRect(),G=b.getBoundingClientRect();if(a.dir!=="rtl"){const ce=G.left-O.left,de=q.left-ce,pe=I.left-de,be=I.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=m1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.left=Ee+"px"}else{const ce=O.right-G.right,de=window.innerWidth-q.right-ce,pe=window.innerWidth-I.right-de,be=I.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=m1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.right=Ee+"px"}const F=m(),j=window.innerHeight-cn*2,W=y.scrollHeight,L=window.getComputedStyle(d),H=parseInt(L.borderTopWidth,10),z=parseInt(L.paddingTop,10),Y=parseInt(L.borderBottomWidth,10),M=parseInt(L.paddingBottom,10),$=H+z+W+M+Y,Q=Math.min(x.offsetHeight*5,$),D=window.getComputedStyle(y),U=parseInt(D.paddingTop,10),ie=parseInt(D.paddingBottom,10),V=I.top+I.height/2-cn,Z=j-V,ee=x.offsetHeight/2,X=x.offsetTop+ee,te=H+z+X,se=$-te;if(te<=V){const ce=F.length>0&&x===F[F.length-1].ref.current;u.style.bottom="0px";const de=d.clientHeight-y.offsetTop-y.offsetHeight,pe=Math.max(Z,ee+(ce?ie:0)+de+Y),be=te+pe;u.style.height=be+"px"}else{const ce=F.length>0&&x===F[0].ref.current;u.style.top="0px";const pe=Math.max(V,H+y.offsetTop+(ce?U:0)+ee)+se;u.style.height=pe+"px",y.scrollTop=te-V+y.offsetTop}u.style.margin=`${cn}px 0`,u.style.minHeight=Q+"px",u.style.maxHeight=j+"px",o==null||o(),requestAnimationFrame(()=>v.current=!0)}},[m,a.trigger,a.valueNode,u,d,y,x,b,a.dir,o]);ht(()=>_(),[_]);const[N,P]=k.useState();ht(()=>{d&&P(window.getComputedStyle(d).zIndex)},[d]);const T=k.useCallback(I=>{I&&E.current===!0&&(_(),C==null||C(),E.current=!1)},[_,C]);return R.jsx(v$,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:v,onScrollButtonChange:T,children:R.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:R.jsx(je.div,{...i,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});jb.displayName=g$;var m$="SelectPopperPosition",Df=k.forwardRef((e,t)=>{const{__scopeSelect:n,align:o="start",collisionPadding:i=cn,...a}=e,l=Sl(n);return R.jsx(ub,{...l,...a,ref:t,align:o,collisionPadding:i,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Df.displayName=m$;var[v$,jf]=Ko(Zr,{}),qf="SelectViewport",qb=k.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:o,...i}=e,a=gr(qf,n),l=jf(qf,n),u=Fe(t,a.onViewportChange),f=k.useRef(0);return R.jsxs(R.Fragment,{children:[R.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),R.jsx(_l.Slot,{scope:n,children:R.jsx(je.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:Oe(i.onScroll,d=>{const h=d.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:m}=l;if(m!=null&&m.current&&p){const v=Math.abs(f.current-h.scrollTop);if(v>0){const E=window.innerHeight-cn*2,y=parseFloat(p.style.minHeight),x=parseFloat(p.style.height),b=Math.max(y,x);if(b0?N:0,p.style.justifyContent="flex-end")}}}f.current=h.scrollTop})})})]})});qb.displayName=qf;var zb="SelectGroup",[y$,w$]=Ko(zb),x$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,i=Kr();return R.jsx(y$,{scope:n,id:i,children:R.jsx(je.div,{role:"group","aria-labelledby":i,...o,ref:t})})});x$.displayName=zb;var Fb="SelectLabel",_$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,i=w$(Fb,n);return R.jsx(je.div,{id:i.id,...o,ref:t})});_$.displayName=Fb;var El="SelectItem",[b$,$b]=Ko(El),Bb=k.forwardRef((e,t)=>{const{__scopeSelect:n,value:o,disabled:i=!1,textValue:a,...l}=e,u=pr(El,n),f=gr(El,n),d=u.value===o,[h,p]=k.useState(a??""),[m,v]=k.useState(!1),E=Fe(t,C=>{var _;return(_=f.itemRefCallback)==null?void 0:_.call(f,C,o,i)}),y=Kr(),x=k.useRef("touch"),b=()=>{i||(u.onValueChange(o),u.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return R.jsx(b$,{scope:n,value:o,disabled:i,textId:y,isSelected:d,onItemTextChange:k.useCallback(C=>{p(_=>_||((C==null?void 0:C.textContent)??"").trim())},[]),children:R.jsx(_l.ItemSlot,{scope:n,value:o,disabled:i,textValue:h,children:R.jsx(je.div,{role:"option","aria-labelledby":y,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...l,ref:E,onFocus:Oe(l.onFocus,()=>v(!0)),onBlur:Oe(l.onBlur,()=>v(!1)),onClick:Oe(l.onClick,()=>{x.current!=="mouse"&&b()}),onPointerUp:Oe(l.onPointerUp,()=>{x.current==="mouse"&&b()}),onPointerDown:Oe(l.onPointerDown,C=>{x.current=C.pointerType}),onPointerMove:Oe(l.onPointerMove,C=>{var _;x.current=C.pointerType,i?(_=f.onItemLeave)==null||_.call(f):x.current==="mouse"&&C.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Oe(l.onPointerLeave,C=>{var _;C.currentTarget===document.activeElement&&((_=f.onItemLeave)==null||_.call(f))}),onKeyDown:Oe(l.onKeyDown,C=>{var N;((N=f.searchRef)==null?void 0:N.current)!==""&&C.key===" "||(s$.includes(C.key)&&b(),C.key===" "&&C.preventDefault())})})})})});Bb.displayName=El;var cs="SelectItemText",Vb=k.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:i,...a}=e,l=pr(cs,n),u=gr(cs,n),f=$b(cs,n),d=c$(cs,n),[h,p]=k.useState(null),m=Fe(t,b=>p(b),f.onItemTextChange,b=>{var C;return(C=u.itemTextRefCallback)==null?void 0:C.call(u,b,f.value,f.disabled)}),v=h==null?void 0:h.textContent,E=k.useMemo(()=>R.jsx("option",{value:f.value,disabled:f.disabled,children:v},f.value),[f.disabled,f.value,v]),{onNativeOptionAdd:y,onNativeOptionRemove:x}=d;return ht(()=>(y(E),()=>x(E)),[y,x,E]),R.jsxs(R.Fragment,{children:[R.jsx(je.span,{id:f.textId,...a,ref:m}),f.isSelected&&l.valueNode&&!l.valueNodeHasChildren?ts.createPortal(a.children,l.valueNode):null]})});Vb.displayName=cs;var Hb="SelectItemIndicator",Wb=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return $b(Hb,n).isSelected?R.jsx(je.span,{"aria-hidden":!0,...o,ref:t}):null});Wb.displayName=Hb;var zf="SelectScrollUpButton",Ub=k.forwardRef((e,t)=>{const n=gr(zf,e.__scopeSelect),o=jf(zf,e.__scopeSelect),[i,a]=k.useState(!1),l=Fe(t,o.onScrollButtonChange);return ht(()=>{if(n.viewport&&n.isPositioned){let u=function(){const d=f.scrollTop>0;a(d)};const f=n.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?R.jsx(Yb,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop-f.offsetHeight)}}):null});Ub.displayName=zf;var Ff="SelectScrollDownButton",Gb=k.forwardRef((e,t)=>{const n=gr(Ff,e.__scopeSelect),o=jf(Ff,e.__scopeSelect),[i,a]=k.useState(!1),l=Fe(t,o.onScrollButtonChange);return ht(()=>{if(n.viewport&&n.isPositioned){let u=function(){const d=f.scrollHeight-f.clientHeight,h=Math.ceil(f.scrollTop)f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?R.jsx(Yb,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop+f.offsetHeight)}}):null});Gb.displayName=Ff;var Yb=k.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:o,...i}=e,a=gr("SelectScrollButton",n),l=k.useRef(null),u=bl(n),f=k.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return k.useEffect(()=>()=>f(),[f]),ht(()=>{var h;const d=u().find(p=>p.ref.current===document.activeElement);(h=d==null?void 0:d.ref.current)==null||h.scrollIntoView({block:"nearest"})},[u]),R.jsx(je.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Oe(i.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(o,50))}),onPointerMove:Oe(i.onPointerMove,()=>{var d;(d=a.onItemLeave)==null||d.call(a),l.current===null&&(l.current=window.setInterval(o,50))}),onPointerLeave:Oe(i.onPointerLeave,()=>{f()})})}),S$="SelectSeparator",E$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return R.jsx(je.div,{"aria-hidden":!0,...o,ref:t})});E$.displayName=S$;var $f="SelectArrow",C$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,i=Sl(n),a=pr($f,n),l=gr($f,n);return a.open&&l.position==="popper"?R.jsx(cb,{...i,...o,ref:t}):null});C$.displayName=$f;var k$="SelectBubbleInput",Kb=k.forwardRef(({__scopeSelect:e,value:t,...n},o)=>{const i=k.useRef(null),a=Fe(o,i),l=t1(t);return k.useEffect(()=>{const u=i.current;if(!u)return;const f=window.HTMLSelectElement.prototype,h=Object.getOwnPropertyDescriptor(f,"value").set;if(l!==t&&h){const p=new Event("change",{bubbles:!0});h.call(u,t),u.dispatchEvent(p)}},[l,t]),R.jsx(je.select,{...n,style:{...fb,...n.style},ref:a,defaultValue:t})});Kb.displayName=k$;function Xb(e){return e===""||e===void 0}function Qb(e){const t=Yr(e),n=k.useRef(""),o=k.useRef(0),i=k.useCallback(l=>{const u=n.current+l;t(u),(function f(d){n.current=d,window.clearTimeout(o.current),d!==""&&(o.current=window.setTimeout(()=>f(""),1e3))})(u)},[t]),a=k.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return k.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,i,a]}function Zb(e,t,n){const i=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let l=N$(e,Math.max(a,0));i.length===1&&(l=l.filter(d=>d!==n));const f=l.find(d=>d.textValue.toLowerCase().startsWith(i.toLowerCase()));return f!==n?f:void 0}function N$(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var R$=Nb,P$=Pb,T$=Ab,A$=Ib,I$=Mb,M$=Ob,O$=qb,L$=Bb,D$=Vb,j$=Wb,q$=Ub,z$=Gb;function Jb({...e}){return R.jsx(R$,{"data-slot":"select",...e})}function eS({...e}){return R.jsx(T$,{"data-slot":"select-value",...e})}function tS({className:e,size:t="default",children:n,...o}){return R.jsxs(P$,{"data-slot":"select-trigger","data-size":t,className:Me("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o,children:[n,R.jsx(A$,{asChild:!0,children:R.jsx(p1,{className:"size-4 opacity-50"})})]})}function nS({className:e,children:t,position:n="popper",align:o="center",...i}){return R.jsx(I$,{children:R.jsxs(M$,{"data-slot":"select-content",className:Me("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,align:o,...i,children:[R.jsx(F$,{}),R.jsx(O$,{className:Me("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),R.jsx($$,{})]})})}function rS({className:e,children:t,...n}){return R.jsxs(L$,{"data-slot":"select-item",className:Me("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[R.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:R.jsx(j$,{children:R.jsx(h1,{className:"size-4"})})}),R.jsx(D$,{children:t})]})}function F$({className:e,...t}){return R.jsx(q$,{"data-slot":"select-scroll-up-button",className:Me("flex cursor-default items-center justify-center py-1",e),...t,children:R.jsx(gz,{className:"size-4"})})}function $$({className:e,...t}){return R.jsx(z$,{"data-slot":"select-scroll-down-button",className:Me("flex cursor-default items-center justify-center py-1",e),...t,children:R.jsx(p1,{className:"size-4"})})}function B$(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=qo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??"";return R.jsxs("div",{className:"component-select-field w-full flex flex-col gap-1",children:[R.jsx("label",{className:"text-xs text-gray-600",children:u.label}),R.jsxs(Jb,{value:h,onValueChange:p=>f==null?void 0:f(u.id,p),children:[R.jsx(tS,{className:"h-8 text-xs w-full",onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),"aria-label":u.label,children:R.jsx(eS,{placeholder:"Select..."})}),R.jsx(nS,{children:(u.options||[]).map(p=>R.jsx(rS,{value:p,className:"text-xs",children:p},p))})]})]})}const{value:t,options:n,onChange:o,placeholder:i,label:a}=e;return R.jsxs(Jb,{value:t,onValueChange:o,children:[R.jsx(tS,{className:"h-8 text-xs",onMouseDown:u=>u.stopPropagation(),onPointerDown:u=>u.stopPropagation(),"aria-label":a,children:R.jsx(eS,{placeholder:i})}),R.jsx(nS,{children:n.map(u=>R.jsx(rS,{value:u,className:"text-xs",children:u},u))})]})}function V$(e,t=[]){let n=[];function o(a,l){const u=k.createContext(l);u.displayName=a+"Context";const f=n.length;n=[...n,l];const d=p=>{var b;const{scope:m,children:v,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=k.useMemo(()=>E,Object.values(E));return R.jsx(y.Provider,{value:x,children:v})};d.displayName=a+"Provider";function h(p,m){var y;const v=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=k.useContext(v);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const i=()=>{const a=n.map(l=>k.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return k.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return i.scopeName=e,[o,H$(i,...t)]}function H$(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return k.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}var W$=Symbol.for("react.lazy"),Cl=dc[" use ".trim().toString()];function U$(e){return typeof e=="object"&&e!==null&&"then"in e}function oS(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===W$&&"_payload"in e&&U$(e._payload)}function iS(e){const t=G$(e),n=k.forwardRef((o,i)=>{let{children:a,...l}=o;oS(a)&&typeof Cl=="function"&&(a=Cl(a._payload));const u=k.Children.toArray(a),f=u.find(K$);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}var sS=iS("Slot");function G$(e){const t=k.forwardRef((n,o)=>{let{children:i,...a}=n;if(oS(i)&&typeof Cl=="function"&&(i=Cl(i._payload)),k.isValidElement(i)){const l=Q$(i),u=X$(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Y$=Symbol("radix.slottable");function K$(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Y$}function X$(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function Q$(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Z$=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],aS=Z$.reduce((e,t)=>{const n=iS(`Primitive.${t}`),o=k.forwardRef((i,a)=>{const{asChild:l,...u}=i,f=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),R.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),Bf="Progress",Vf=100,[J$]=V$(Bf),[eB,tB]=J$(Bf),lS=k.forwardRef((e,t)=>{const{__scopeProgress:n,value:o=null,max:i,getValueLabel:a=nB,...l}=e;(i||i===0)&&!dS(i)&&console.error(rB(`${i}`,"Progress"));const u=dS(i)?i:Vf;o!==null&&!hS(o,u)&&console.error(oB(`${o}`,"Progress"));const f=hS(o,u)?o:null,d=kl(f)?a(f,u):void 0;return R.jsx(eB,{scope:n,value:f,max:u,children:R.jsx(aS.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":kl(f)?f:void 0,"aria-valuetext":d,role:"progressbar","data-state":fS(f,u),"data-value":f??void 0,"data-max":u,...l,ref:t})})});lS.displayName=Bf;var uS="ProgressIndicator",cS=k.forwardRef((e,t)=>{const{__scopeProgress:n,...o}=e,i=tB(uS,n);return R.jsx(aS.div,{"data-state":fS(i.value,i.max),"data-value":i.value??void 0,"data-max":i.max,...o,ref:t})});cS.displayName=uS;function nB(e,t){return`${Math.round(e/t*100)}%`}function fS(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function kl(e){return typeof e=="number"}function dS(e){return kl(e)&&!isNaN(e)&&e>0}function hS(e,t){return kl(e)&&!isNaN(e)&&e<=t&&e>=0}function rB(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Vf}\`.`}function oB(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: - a positive number - - less than the value passed to \`max\` (or ${Nf} if no \`max\` prop is set) + - less than the value passed to \`max\` (or ${Vf} if no \`max\` prop is set) - \`null\` or \`undefined\` if the progress is indeterminate. -Defaulting to \`null\`.`}var r$=Ob,o$=Db;function Fb({className:e,value:t,...r}){return I.jsx(r$,{"data-slot":"progress",className:dt("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",e),...r,children:I.jsx(o$,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})})}function i$(e){var u;if("component"in e){const{component:f}=e,d=Oo(),h=((u=d==null?void 0:d.nodeData.values)==null?void 0:u[f.id])??f.value??0,p=f.max??100,m=f.min??0,w=Math.min(100,Math.max(0,(h-m)/(p-m)*100));return I.jsxs("div",{className:"component-progress-field space-y-1.5",children:[f.label&&I.jsx("label",{className:"text-xs text-gray-600",children:f.label}),I.jsxs("div",{className:"flex items-center justify-between text-xs",children:[I.jsx("span",{className:"text-muted-foreground",children:"Progress"}),I.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(w),"%"]})]}),I.jsx(Fb,{value:w,className:"h-2"})]})}const{value:t,onChange:r,label:o,min:s=0,max:a=100}=e,l=Math.min(100,Math.max(0,(t-s)/(a-s)*100));return I.jsxs("div",{className:"space-y-1.5",children:[o&&I.jsx("label",{className:"text-xs text-gray-600",children:o}),I.jsxs("div",{className:"flex items-center justify-between text-xs",children:[I.jsx("span",{className:"text-muted-foreground",children:"Progress"}),I.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(l),"%"]})]}),I.jsx(Fb,{value:l,className:"h-2"})]})}function s$({component:e}){return I.jsxs("div",{className:"component-header px-3 py-2 font-semibold flex items-center gap-2",style:{backgroundColor:e.bgColor,color:e.textColor},children:[e.icon&&I.jsx("span",{children:e.icon}),I.jsx("span",{children:e.label})]})}function a$({component:e}){return I.jsx("div",{className:`component-footer px-3 py-2 text-xs text-muted-foreground border-t ${e.className||""}`,style:{backgroundColor:e.bgColor,color:e.textColor},children:e.text})}const $b=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Bb=a1,l$=((e,t)=>r=>{var o;if((t==null?void 0:t.variants)==null)return Bb(e,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:s,defaultVariants:a}=t,l=Object.keys(s).map(d=>{const h=r==null?void 0:r[d],p=a==null?void 0:a[d];if(h===null)return null;const m=$b(h)||$b(p);return s[d][m]}),u=r&&Object.entries(r).reduce((d,h)=>{let[p,m]=h;return m===void 0||(d[p]=m),d},{}),f=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,h)=>{let{class:p,className:m,...w}=h;return Object.entries(w).every(E=>{let[y,x]=E;return Array.isArray(x)?x.includes({...a,...u}[y]):{...a,...u}[y]===x})?[...d,p,m]:d},[]);return Bb(e,l,f,r==null?void 0:r.class,r==null?void 0:r.className)})("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function rs({className:e,variant:t,size:r,asChild:o=!1,...s}){const a=o?H4:"button";return I.jsx(a,{"data-slot":"button",className:dt(l$({variant:t,size:r,className:e})),...s})}function u$({component:e,onValueChange:t}){var a;const r=Oo(),o=((a=r==null?void 0:r.nodeData.values)==null?void 0:a[e.id])??e.value??0,s=()=>{const l=o+1;t==null||t(e.id,l)};return I.jsx(rs,{variant:e.variant||"default",size:e.size||"default",disabled:e.disabled||!1,onClick:s,onMouseDown:l=>l.stopPropagation(),onPointerDown:l=>l.stopPropagation(),className:"w-full",children:e.label})}function c$({component:e}){const t=e.orientation!=="vertical";return I.jsx("div",{className:`component-divider ${t?"w-full h-px":"h-full w-px"} bg-gray-300`})}function f$({component:e}){return I.jsx("div",{className:"component-spacer",style:{width:e.size,height:e.size}})}function d$({cell:e,nodeId:t,onValueChange:r}){const o=e.layout||{type:"flex",direction:"column"},s=h$(e),a=p$(o);return I.jsx("div",{className:"nested-grid-cell",style:s,children:I.jsx("div",{className:"nested-grid-cell-content",style:a,children:e.components.map(l=>I.jsx(Vb,{component:l,nodeId:t,onValueChange:r},l.id))})})}function h$(e){return{gridRow:`${e.coordinates.row} / span ${e.coordinates.row_span||1}`,gridColumn:`${e.coordinates.col} / span ${e.coordinates.col_span||1}`}}function p$(e){return!e||e.type==="flex"||!e.type?{display:"flex",flexDirection:(e==null?void 0:e.direction)||"column",alignItems:(e==null?void 0:e.align)||"start",justifyContent:(e==null?void 0:e.justify)||"start",gap:(e==null?void 0:e.gap)||"4px"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px"}:{}}function g$({component:e,nodeId:t,onValueChange:r}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"8px",minHeight:e.minHeight,minWidth:e.minWidth};return I.jsx("div",{className:`nested-grid ${e.className||""}`,style:o,children:e.cells.map(s=>I.jsx(d$,{cell:s,nodeId:t,onValueChange:r},s.id))})}function Vb({component:e,nodeId:t,onValueChange:r}){switch(e.type){case"base-handle":return I.jsx($a,{component:e});case"labeled-handle":return I.jsx(C1,{component:e});case"button-handle":return I.jsx(k1,{component:e});case"text":return I.jsx(Oq,{component:e,onValueChange:r});case"number":return I.jsx(Dq,{component:e,onValueChange:r});case"bool":return I.jsx(d3,{component:e,onValueChange:r});case"select":return I.jsx(z4,{component:e,onValueChange:r});case"progress":return I.jsx(i$,{component:e,onValueChange:r});case"header":return I.jsx(s$,{component:e});case"footer":return I.jsx(a$,{component:e});case"button":return I.jsx(u$,{component:e,onValueChange:r});case"divider":return I.jsx(c$,{component:e});case"spacer":return I.jsx(f$,{component:e});case"grid-layout":return I.jsx(g$,{component:e,nodeId:t,onValueChange:r});default:return console.warn(`Unknown component type: ${e.type}`),null}}function m$({grid:e,nodeId:t,onValueChange:r}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"8px",width:"100%",height:"100%"};return I.jsx("div",{className:"node-grid",style:o,children:e.cells.map(s=>I.jsx("div",{className:"grid-cell",style:{gridRow:`${s.coordinates.row} / span ${s.coordinates.row_span||1}`,gridColumn:`${s.coordinates.col} / span ${s.coordinates.col_span||1}`},children:I.jsx(v$,{cell:s,nodeId:t,onValueChange:r})},s.id))})}function v$({cell:e,nodeId:t,onValueChange:r}){const o=e.layout||{type:"flex",direction:"column"},s=y$(o);return I.jsx("div",{className:"grid-cell-content",style:s,children:e.components.map(a=>I.jsx(Vb,{component:a,nodeId:t,onValueChange:r},a.id))})}function y$(e){return e.type==="flex"||!e.type?{display:"flex",flexDirection:e.direction||"column",alignItems:e.align||"start",justifyContent:e.justify||"start",gap:e.gap||"4px"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px"}:{}}function Hb({className:e,...t}){return I.jsx("div",{"data-slot":"card",className:dt("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}N.createContext(null),N.createContext(null);function w$({onExport:e,onLayoutVertical:t,onLayoutHorizontal:r}){return I.jsxs("div",{className:"flex gap-2",children:[I.jsxs(rs,{onClick:e,variant:"default",size:"sm",children:[I.jsx(c3,{className:"h-4 w-4 mr-2"}),"Export to JSON"]}),I.jsxs(rs,{onClick:t,variant:"outline",size:"sm",children:[I.jsx(a3,{className:"h-4 w-4 mr-2"}),"Layout Vertical"]}),I.jsxs(rs,{onClick:r,variant:"outline",size:"sm",children:[I.jsx(l3,{className:"h-4 w-4 mr-2"}),"Layout Horizontal"]})]})}function x$({x:e,y:t,onDelete:r,onClose:o}){return $t.useEffect(()=>{const s=()=>o(),a=l=>{l.key==="Escape"&&o()};return document.addEventListener("click",s),document.addEventListener("keydown",a),()=>{document.removeEventListener("click",s),document.removeEventListener("keydown",a)}},[o]),I.jsx(Hb,{className:"fixed z-[1000] min-w-[150px] p-1 shadow-md",style:{top:t,left:e},onClick:s=>s.stopPropagation(),children:I.jsxs(rs,{variant:"ghost",className:"w-full justify-start gap-2 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:r,children:[I.jsx(f3,{className:"h-4 w-4"}),"Delete"]})})}function _$({nodes:e,edges:t,nodeTypes:r,height:o,onNodesChange:s,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,contextMenu:h,onDelete:p,onCloseContextMenu:m,onExport:w,onLayoutVertical:E,onLayoutHorizontal:y}){return I.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[I.jsxs(mj,{nodes:e,edges:t,nodeTypes:r,onNodesChange:s,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,fitView:!0,nodesDraggable:!0,nodesConnectable:!0,elementsSelectable:!0,minZoom:.1,maxZoom:2,children:[I.jsx(_j,{}),I.jsx(Rj,{}),I.jsx(Yi,{position:"top-right",children:I.jsx(w$,{onExport:w,onLayoutVertical:E,onLayoutHorizontal:y})})]}),h&&I.jsx(x$,{id:h.id,type:h.type,x:h.x,y:h.y,onDelete:p,onClose:m})]})}function Rf(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Pf,Wb;function b$(){if(Wb)return Pf;Wb=1;function e(){this.__data__=[],this.size=0}return Pf=e,Pf}var Tf,Ub;function Ho(){if(Ub)return Tf;Ub=1;function e(t,r){return t===r||t!==t&&r!==r}return Tf=e,Tf}var Af,Gb;function gl(){if(Gb)return Af;Gb=1;var e=Ho();function t(r,o){for(var s=r.length;s--;)if(e(r[s][0],o))return s;return-1}return Af=t,Af}var If,Yb;function S$(){if(Yb)return If;Yb=1;var e=gl(),t=Array.prototype,r=t.splice;function o(s){var a=this.__data__,l=e(a,s);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():r.call(a,l,1),--this.size,!0}return If=o,If}var Mf,Kb;function E$(){if(Kb)return Mf;Kb=1;var e=gl();function t(r){var o=this.__data__,s=e(o,r);return s<0?void 0:o[s][1]}return Mf=t,Mf}var Of,Xb;function C$(){if(Xb)return Of;Xb=1;var e=gl();function t(r){return e(this.__data__,r)>-1}return Of=t,Of}var Lf,Qb;function k$(){if(Qb)return Lf;Qb=1;var e=gl();function t(r,o){var s=this.__data__,a=e(s,r);return a<0?(++this.size,s.push([r,o])):s[a][1]=o,this}return Lf=t,Lf}var Df,Zb;function ml(){if(Zb)return Df;Zb=1;var e=b$(),t=S$(),r=E$(),o=C$(),s=k$();function a(l){var u=-1,f=l==null?0:l.length;for(this.clear();++u-1&&o%1==0&&o-1&&r%1==0&&r<=e}return Od=t,Od}var Dd,ZS;function J$(){if(ZS)return Dd;ZS=1;var e=Xr(),t=Ld(),r=Tn(),o="[object Arguments]",s="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",f="[object Function]",d="[object Map]",h="[object Number]",p="[object Object]",m="[object RegExp]",w="[object Set]",E="[object String]",y="[object WeakMap]",x="[object ArrayBuffer]",b="[object DataView]",C="[object Float32Array]",_="[object Float64Array]",k="[object Int8Array]",R="[object Int16Array]",T="[object Int32Array]",A="[object Uint8Array]",O="[object Uint8ClampedArray]",j="[object Uint16Array]",U="[object Uint32Array]",q={};q[C]=q[_]=q[k]=q[R]=q[T]=q[A]=q[O]=q[j]=q[U]=!0,q[o]=q[s]=q[x]=q[a]=q[b]=q[l]=q[u]=q[f]=q[d]=q[h]=q[p]=q[m]=q[w]=q[E]=q[y]=!1;function V(X){return r(X)&&t(X.length)&&!!q[e(X)]}return Dd=V,Dd}var jd,JS;function Sl(){if(JS)return jd;JS=1;function e(t){return function(r){return t(r)}}return jd=e,jd}var ls={exports:{}};ls.exports;var eE;function qd(){return eE||(eE=1,(function(e,t){var r=oS(),o=t&&!t.nodeType&&t,s=o&&!0&&e&&!e.nodeType&&e,a=s&&s.exports===o,l=a&&r.process,u=(function(){try{var f=s&&s.require&&s.require("util").types;return f||l&&l.binding&&l.binding("util")}catch{}})();e.exports=u})(ls,ls.exports)),ls.exports}var zd,tE;function us(){if(tE)return zd;tE=1;var e=J$(),t=Sl(),r=qd(),o=r&&r.isTypedArray,s=o?t(o):e;return zd=s,zd}var Fd,nE;function rE(){if(nE)return Fd;nE=1;var e=X$(),t=ss(),r=tt(),o=Uo(),s=bl(),a=us(),l=Object.prototype,u=l.hasOwnProperty;function f(d,h){var p=r(d),m=!p&&t(d),w=!p&&!m&&o(d),E=!p&&!m&&!w&&a(d),y=p||m||w||E,x=y?e(d.length,String):[],b=x.length;for(var C in d)(h||u.call(d,C))&&!(y&&(C=="length"||w&&(C=="offset"||C=="parent")||E&&(C=="buffer"||C=="byteLength"||C=="byteOffset")||s(C,b)))&&x.push(C);return x}return Fd=f,Fd}var $d,oE;function El(){if(oE)return $d;oE=1;var e=Object.prototype;function t(r){var o=r&&r.constructor,s=typeof o=="function"&&o.prototype||e;return r===s}return $d=t,$d}var Bd,iE;function sE(){if(iE)return Bd;iE=1;function e(t,r){return function(o){return t(r(o))}}return Bd=e,Bd}var Vd,aE;function eB(){if(aE)return Vd;aE=1;var e=sE(),t=e(Object.keys,Object);return Vd=t,Vd}var Hd,lE;function Wd(){if(lE)return Hd;lE=1;var e=El(),t=eB(),r=Object.prototype,o=r.hasOwnProperty;function s(a){if(!e(a))return t(a);var l=[];for(var u in Object(a))o.call(a,u)&&u!="constructor"&&l.push(u);return l}return Hd=s,Hd}var Ud,uE;function Hn(){if(uE)return Ud;uE=1;var e=os(),t=Ld();function r(o){return o!=null&&t(o.length)&&!e(o)}return Ud=r,Ud}var Gd,cE;function hr(){if(cE)return Gd;cE=1;var e=rE(),t=Wd(),r=Hn();function o(s){return r(s)?e(s):t(s)}return Gd=o,Gd}var Yd,fE;function tB(){if(fE)return Yd;fE=1;var e=is(),t=hr();function r(o,s){return o&&e(s,t(s),o)}return Yd=r,Yd}var Kd,dE;function nB(){if(dE)return Kd;dE=1;function e(t){var r=[];if(t!=null)for(var o in Object(t))r.push(o);return r}return Kd=e,Kd}var Xd,hE;function rB(){if(hE)return Xd;hE=1;var e=Bt(),t=El(),r=nB(),o=Object.prototype,s=o.hasOwnProperty;function a(l){if(!e(l))return r(l);var u=t(l),f=[];for(var d in l)d=="constructor"&&(u||!s.call(l,d))||f.push(d);return f}return Xd=a,Xd}var Qd,pE;function Zr(){if(pE)return Qd;pE=1;var e=rE(),t=rB(),r=Hn();function o(s){return r(s)?e(s,!0):t(s)}return Qd=o,Qd}var Zd,gE;function oB(){if(gE)return Zd;gE=1;var e=is(),t=Zr();function r(o,s){return o&&e(s,t(s),o)}return Zd=r,Zd}var cs={exports:{}};cs.exports;var mE;function vE(){return mE||(mE=1,(function(e,t){var r=fn(),o=t&&!t.nodeType&&t,s=o&&!0&&e&&!e.nodeType&&e,a=s&&s.exports===o,l=a?r.Buffer:void 0,u=l?l.allocUnsafe:void 0;function f(d,h){if(h)return d.slice();var p=d.length,m=u?u(p):new d.constructor(p);return d.copy(m),m}e.exports=f})(cs,cs.exports)),cs.exports}var Jd,yE;function wE(){if(yE)return Jd;yE=1;function e(t,r){var o=-1,s=t.length;for(r||(r=Array(s));++ow))return!1;var y=p.get(l),x=p.get(u);if(y&&x)return y==u&&x==l;var b=-1,C=!0,_=f&s?new e:void 0;for(p.set(l,u),p.set(u,l);++b0&&a(h)?s>1?r(h,s-1,a,l,u):e(u,h):l||(u[u.length]=h)}return u}return Zp=r,Zp}var eg,$k;function t5(){if($k)return eg;$k=1;function e(t,r,o){switch(o.length){case 0:return t.call(r);case 1:return t.call(r,o[0]);case 2:return t.call(r,o[0],o[1]);case 3:return t.call(r,o[0],o[1],o[2])}return t.apply(r,o)}return eg=e,eg}var tg,Bk;function Vk(){if(Bk)return tg;Bk=1;var e=t5(),t=Math.max;function r(o,s,a){return s=t(s===void 0?o.length-1:s,0),function(){for(var l=arguments,u=-1,f=t(l.length-s,0),d=Array(f);++u0){if(++a>=e)return arguments[0]}else a=0;return s.apply(void 0,arguments)}}return rg=o,rg}var og,Uk;function Gk(){if(Uk)return og;Uk=1;var e=n5(),t=r5(),r=t(e);return og=r,og}var ig,Yk;function Tl(){if(Yk)return ig;Yk=1;var e=Jr(),t=Vk(),r=Gk();function o(s,a){return r(t(s,a,e),s+"")}return ig=o,ig}var sg,Kk;function Xk(){if(Kk)return sg;Kk=1;function e(t,r,o,s){for(var a=t.length,l=o+(s?1:-1);s?l--:++l-1}return cg=t,cg}var fg,tN;function l5(){if(tN)return fg;tN=1;function e(t,r,o){for(var s=-1,a=t==null?0:t.length;++s=l){var b=d?null:s(f);if(b)return a(b);E=!1,m=o,x=new e}else x=d?[]:y;e:for(;++p1?w.setNode(E,p):w.setNode(E)}),this},s.prototype.setNode=function(h,p){return e.has(this._nodes,h)?(arguments.length>1&&(this._nodes[h]=p),this):(this._nodes[h]=arguments.length>1?p:this._defaultNodeLabelFn(h),this._isCompound&&(this._parent[h]=r,this._children[h]={},this._children[r][h]=!0),this._in[h]={},this._preds[h]={},this._out[h]={},this._sucs[h]={},++this._nodeCount,this)},s.prototype.node=function(h){return this._nodes[h]},s.prototype.hasNode=function(h){return e.has(this._nodes,h)},s.prototype.removeNode=function(h){var p=this;if(e.has(this._nodes,h)){var m=function(w){p.removeEdge(p._edgeObjs[w])};delete this._nodes[h],this._isCompound&&(this._removeFromParentsChildList(h),delete this._parent[h],e.each(this.children(h),function(w){p.setParent(w)}),delete this._children[h]),e.each(e.keys(this._in[h]),m),delete this._in[h],delete this._preds[h],e.each(e.keys(this._out[h]),m),delete this._out[h],delete this._sucs[h],--this._nodeCount}return this},s.prototype.setParent=function(h,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(p))p=r;else{p+="";for(var m=p;!e.isUndefined(m);m=this.parent(m))if(m===h)throw new Error("Setting "+p+" as parent of "+h+" would create a cycle");this.setNode(p)}return this.setNode(h),this._removeFromParentsChildList(h),this._parent[h]=p,this._children[p][h]=!0,this},s.prototype._removeFromParentsChildList=function(h){delete this._children[this._parent[h]][h]},s.prototype.parent=function(h){if(this._isCompound){var p=this._parent[h];if(p!==r)return p}},s.prototype.children=function(h){if(e.isUndefined(h)&&(h=r),this._isCompound){var p=this._children[h];if(p)return e.keys(p)}else{if(h===r)return this.nodes();if(this.hasNode(h))return[]}},s.prototype.predecessors=function(h){var p=this._preds[h];if(p)return e.keys(p)},s.prototype.successors=function(h){var p=this._sucs[h];if(p)return e.keys(p)},s.prototype.neighbors=function(h){var p=this.predecessors(h);if(p)return e.union(p,this.successors(h))},s.prototype.isLeaf=function(h){var p;return this.isDirected()?p=this.successors(h):p=this.neighbors(h),p.length===0},s.prototype.filterNodes=function(h){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var m=this;e.each(this._nodes,function(y,x){h(x)&&p.setNode(x,y)}),e.each(this._edgeObjs,function(y){p.hasNode(y.v)&&p.hasNode(y.w)&&p.setEdge(y,m.edge(y))});var w={};function E(y){var x=m.parent(y);return x===void 0||p.hasNode(x)?(w[y]=x,x):x in w?w[x]:E(x)}return this._isCompound&&e.each(p.nodes(),function(y){p.setParent(y,E(y))}),p},s.prototype.setDefaultEdgeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultEdgeLabelFn=h,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return e.values(this._edgeObjs)},s.prototype.setPath=function(h,p){var m=this,w=arguments;return e.reduce(h,function(E,y){return w.length>1?m.setEdge(E,y,p):m.setEdge(E,y),y}),this},s.prototype.setEdge=function(){var h,p,m,w,E=!1,y=arguments[0];typeof y=="object"&&y!==null&&"v"in y?(h=y.v,p=y.w,m=y.name,arguments.length===2&&(w=arguments[1],E=!0)):(h=y,p=arguments[1],m=arguments[3],arguments.length>2&&(w=arguments[2],E=!0)),h=""+h,p=""+p,e.isUndefined(m)||(m=""+m);var x=u(this._isDirected,h,p,m);if(e.has(this._edgeLabels,x))return E&&(this._edgeLabels[x]=w),this;if(!e.isUndefined(m)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(h),this.setNode(p),this._edgeLabels[x]=E?w:this._defaultEdgeLabelFn(h,p,m);var b=f(this._isDirected,h,p,m);return h=b.v,p=b.w,Object.freeze(b),this._edgeObjs[x]=b,a(this._preds[p],h),a(this._sucs[h],p),this._in[p][x]=b,this._out[h][x]=b,this._edgeCount++,this},s.prototype.edge=function(h,p,m){var w=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return this._edgeLabels[w]},s.prototype.hasEdge=function(h,p,m){var w=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return e.has(this._edgeLabels,w)},s.prototype.removeEdge=function(h,p,m){var w=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m),E=this._edgeObjs[w];return E&&(h=E.v,p=E.w,delete this._edgeLabels[w],delete this._edgeObjs[w],l(this._preds[p],h),l(this._sucs[h],p),delete this._in[p][w],delete this._out[h][w],this._edgeCount--),this},s.prototype.inEdges=function(h,p){var m=this._in[h];if(m){var w=e.values(m);return p?e.filter(w,function(E){return E.v===p}):w}},s.prototype.outEdges=function(h,p){var m=this._out[h];if(m){var w=e.values(m);return p?e.filter(w,function(E){return E.w===p}):w}},s.prototype.nodeEdges=function(h,p){var m=this.inEdges(h,p);if(m)return m.concat(this.outEdges(h,p))};function a(h,p){h[p]?h[p]++:h[p]=1}function l(h,p){--h[p]||delete h[p]}function u(h,p,m,w){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}return E+o+y+o+(e.isUndefined(w)?t:w)}function f(h,p,m,w){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}var b={v:E,w:y};return w&&(b.name=w),b}function d(h,p){return u(h,p.v,p.w,p.name)}return xg}var bg,hN;function p5(){return hN||(hN=1,bg="2.1.8"),bg}var Sg,pN;function g5(){return pN||(pN=1,Sg={Graph:_g(),version:p5()}),Sg}var Eg,gN;function m5(){if(gN)return Eg;gN=1;var e=Vt(),t=_g();Eg={write:r,read:a};function r(l){var u={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:o(l),edges:s(l)};return e.isUndefined(l.graph())||(u.value=e.clone(l.graph())),u}function o(l){return e.map(l.nodes(),function(u){var f=l.node(u),d=l.parent(u),h={v:u};return e.isUndefined(f)||(h.value=f),e.isUndefined(d)||(h.parent=d),h})}function s(l){return e.map(l.edges(),function(u){var f=l.edge(u),d={v:u.v,w:u.w};return e.isUndefined(u.name)||(d.name=u.name),e.isUndefined(f)||(d.value=f),d})}function a(l){var u=new t(l.options).setGraph(l.value);return e.each(l.nodes,function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),e.each(l.edges,function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return Eg}var Cg,mN;function v5(){if(mN)return Cg;mN=1;var e=Vt();Cg=t;function t(r){var o={},s=[],a;function l(u){e.has(o,u)||(o[u]=!0,a.push(u),e.each(r.successors(u),l),e.each(r.predecessors(u),l))}return e.each(r.nodes(),function(u){a=[],l(u),a.length&&s.push(a)}),s}return Cg}var kg,vN;function yN(){if(vN)return kg;vN=1;var e=Vt();kg=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(r){return r.key})},t.prototype.has=function(r){return e.has(this._keyIndices,r)},t.prototype.priority=function(r){var o=this._keyIndices[r];if(o!==void 0)return this._arr[o].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(r,o){var s=this._keyIndices;if(r=String(r),!e.has(s,r)){var a=this._arr,l=a.length;return s[r]=l,a.push({key:r,priority:o}),this._decrease(l),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},t.prototype.decrease=function(r,o){var s=this._keyIndices[r];if(o>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[s].priority+" New: "+o);this._arr[s].priority=o,this._decrease(s)},t.prototype._heapify=function(r){var o=this._arr,s=2*r,a=s+1,l=r;s>1,!(o[a].priority0&&(p=h.removeMin(),m=d[p],m.distance!==Number.POSITIVE_INFINITY);)f(p).forEach(w);return d}return Ng}var Rg,_N;function y5(){if(_N)return Rg;_N=1;var e=xN(),t=Vt();Rg=r;function r(o,s,a){return t.transform(o.nodes(),function(l,u){l[u]=e(o,u,s,a)},{})}return Rg}var Pg,bN;function SN(){if(bN)return Pg;bN=1;var e=Vt();Pg=t;function t(r){var o=0,s=[],a={},l=[];function u(f){var d=a[f]={onStack:!0,lowlink:o,index:o++};if(s.push(f),r.successors(f).forEach(function(m){e.has(a,m)?a[m].onStack&&(d.lowlink=Math.min(d.lowlink,a[m].index)):(u(m),d.lowlink=Math.min(d.lowlink,a[m].lowlink))}),d.lowlink===d.index){var h=[],p;do p=s.pop(),a[p].onStack=!1,h.push(p);while(f!==p);l.push(h)}}return r.nodes().forEach(function(f){e.has(a,f)||u(f)}),l}return Pg}var Tg,EN;function w5(){if(EN)return Tg;EN=1;var e=Vt(),t=SN();Tg=r;function r(o){return e.filter(t(o),function(s){return s.length>1||s.length===1&&o.hasEdge(s[0],s[0])})}return Tg}var Ag,CN;function x5(){if(CN)return Ag;CN=1;var e=Vt();Ag=r;var t=e.constant(1);function r(s,a,l){return o(s,a||t,l||function(u){return s.outEdges(u)})}function o(s,a,l){var u={},f=s.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),l(d).forEach(function(h){var p=h.v===d?h.w:h.v,m=a(h);u[d][p]={distance:m,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(p){var m=u[p];f.forEach(function(w){var E=m[d],y=h[w],x=m[w],b=E.distance+y.distance;b0;){if(d=f.removeMin(),e.has(u,d))l.setEdge(d,u[d]);else{if(p)throw new Error("Input graph is not connected: "+s);p=!0}s.nodeEdges(d).forEach(h)}return l}return jg}var qg,ON;function C5(){return ON||(ON=1,qg={components:v5(),dijkstra:xN(),dijkstraAll:y5(),findCycles:w5(),floydWarshall:x5(),isAcyclic:_5(),postorder:b5(),preorder:S5(),prim:E5(),tarjan:SN(),topsort:NN()}),qg}var zg,LN;function k5(){if(LN)return zg;LN=1;var e=g5();return zg={Graph:e.Graph,json:m5(),alg:C5(),version:e.version},zg}var Fg,DN;function dn(){if(DN)return Fg;DN=1;var e;if(typeof Rf=="function")try{e=k5()}catch{}return e||(e=window.graphlib),Fg=e,Fg}var $g,jN;function N5(){if(jN)return $g;jN=1;var e=aC(),t=1,r=4;function o(s){return e(s,t|r)}return $g=o,$g}var Bg,qN;function Al(){if(qN)return Bg;qN=1;var e=Ho(),t=Hn(),r=bl(),o=Bt();function s(a,l,u){if(!o(u))return!1;var f=typeof l;return(f=="number"?t(u)&&r(l,u.length):f=="string"&&l in u)?e(u[l],a):!1}return Bg=s,Bg}var Vg,zN;function R5(){if(zN)return Vg;zN=1;var e=Tl(),t=Ho(),r=Al(),o=Zr(),s=Object.prototype,a=s.hasOwnProperty,l=e(function(u,f){u=Object(u);var d=-1,h=f.length,p=h>2?f[2]:void 0;for(p&&r(f[0],f[1],p)&&(h=1);++d-1?f[d?a[h]:h]:void 0}}return Hg=o,Hg}var Wg,$N;function T5(){if($N)return Wg;$N=1;var e=/\s/;function t(r){for(var o=r.length;o--&&e.test(r.charAt(o)););return o}return Wg=t,Wg}var Ug,BN;function A5(){if(BN)return Ug;BN=1;var e=T5(),t=/^\s+/;function r(o){return o&&o.slice(0,e(o)+1).replace(t,"")}return Ug=r,Ug}var Gg,VN;function I5(){if(VN)return Gg;VN=1;var e=A5(),t=Bt(),r=Yo(),o=NaN,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;function f(d){if(typeof d=="number")return d;if(r(d))return o;if(t(d)){var h=typeof d.valueOf=="function"?d.valueOf():d;d=t(h)?h+"":h}if(typeof d!="string")return d===0?d:+d;d=e(d);var p=a.test(d);return p||l.test(d)?u(d.slice(2),p?2:8):s.test(d)?o:+d}return Gg=f,Gg}var Yg,HN;function WN(){if(HN)return Yg;HN=1;var e=I5(),t=1/0,r=17976931348623157e292;function o(s){if(!s)return s===0?s:0;if(s=e(s),s===t||s===-t){var a=s<0?-1:1;return a*r}return s===s?s:0}return Yg=o,Yg}var Kg,UN;function M5(){if(UN)return Kg;UN=1;var e=WN();function t(r){var o=e(r),s=o%1;return o===o?s?o-s:o:0}return Kg=t,Kg}var Xg,GN;function O5(){if(GN)return Xg;GN=1;var e=Xk(),t=Wn(),r=M5(),o=Math.max;function s(a,l,u){var f=a==null?0:a.length;if(!f)return-1;var d=u==null?0:r(u);return d<0&&(d=o(f+d,0)),e(a,t(l,3),d)}return Xg=s,Xg}var Qg,YN;function L5(){if(YN)return Qg;YN=1;var e=P5(),t=O5(),r=e(t);return Qg=r,Qg}var Zg,KN;function XN(){if(KN)return Zg;KN=1;var e=Jp();function t(r){var o=r==null?0:r.length;return o?e(r,1):[]}return Zg=t,Zg}var Jg,QN;function D5(){if(QN)return Jg;QN=1;var e=zh(),t=vC(),r=Zr();function o(s,a){return s==null?s:e(s,t(a),r)}return Jg=o,Jg}var em,ZN;function j5(){if(ZN)return em;ZN=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return em=e,em}var tm,JN;function q5(){if(JN)return tm;JN=1;var e=xl(),t=$h(),r=Wn();function o(s,a){var l={};return a=r(a,3),t(s,function(u,f,d){e(l,f,a(u,f,d))}),l}return tm=o,tm}var nm,eR;function rm(){if(eR)return nm;eR=1;var e=Yo();function t(r,o,s){for(var a=-1,l=r.length;++ar}return om=e,om}var im,nR;function F5(){if(nR)return im;nR=1;var e=rm(),t=z5(),r=Jr();function o(s){return s&&s.length?e(s,r,t):void 0}return im=o,im}var sm,rR;function oR(){if(rR)return sm;rR=1;var e=xl(),t=Ho();function r(o,s,a){(a!==void 0&&!t(o[s],a)||a===void 0&&!(s in o))&&e(o,s,a)}return sm=r,sm}var am,iR;function $5(){if(iR)return am;iR=1;var e=Xr(),t=Cl(),r=Tn(),o="[object Object]",s=Function.prototype,a=Object.prototype,l=s.toString,u=a.hasOwnProperty,f=l.call(Object);function d(h){if(!r(h)||e(h)!=o)return!1;var p=t(h);if(p===null)return!0;var m=u.call(p,"constructor")&&p.constructor;return typeof m=="function"&&m instanceof m&&l.call(m)==f}return am=d,am}var lm,sR;function aR(){if(sR)return lm;sR=1;function e(t,r){if(!(r==="constructor"&&typeof t[r]=="function")&&r!="__proto__")return t[r]}return lm=e,lm}var um,lR;function B5(){if(lR)return um;lR=1;var e=is(),t=Zr();function r(o){return e(o,t(o))}return um=r,um}var cm,uR;function V5(){if(uR)return cm;uR=1;var e=oR(),t=vE(),r=XE(),o=wE(),s=tC(),a=ss(),l=tt(),u=sN(),f=Uo(),d=os(),h=Bt(),p=$5(),m=us(),w=aR(),E=B5();function y(x,b,C,_,k,R,T){var A=w(x,C),O=w(b,C),j=T.get(O);if(j){e(x,C,j);return}var U=R?R(A,O,C+"",x,b,T):void 0,q=U===void 0;if(q){var V=l(O),X=!V&&f(O),L=!V&&!X&&m(O);U=O,V||X||L?l(A)?U=A:u(A)?U=o(A):X?(q=!1,U=t(O,!0)):L?(q=!1,U=r(O,!0)):U=[]:p(O)||a(O)?(U=A,a(A)?U=E(A):(!h(A)||d(A))&&(U=s(O))):q=!1}q&&(T.set(O,U),k(U,O,_,R,T),T.delete(O)),e(x,C,U)}return cm=y,cm}var fm,cR;function H5(){if(cR)return fm;cR=1;var e=wl(),t=oR(),r=zh(),o=V5(),s=Bt(),a=Zr(),l=aR();function u(f,d,h,p,m){f!==d&&r(d,function(w,E){if(m||(m=new e),s(w))o(f,d,E,h,u,p,m);else{var y=p?p(l(f,E),w,E+"",f,d,m):void 0;y===void 0&&(y=w),t(f,E,y)}},a)}return fm=u,fm}var dm,fR;function W5(){if(fR)return dm;fR=1;var e=Tl(),t=Al();function r(o){return e(function(s,a){var l=-1,u=a.length,f=u>1?a[u-1]:void 0,d=u>2?a[2]:void 0;for(f=o.length>3&&typeof f=="function"?(u--,f):void 0,d&&t(a[0],a[1],d)&&(f=u<3?void 0:f,u=1),s=Object(s);++lo||u&&f&&h&&!d&&!p||a&&f&&h||!s&&h||!l)return 1;if(!a&&!u&&!p&&r=d)return h;var p=s[a];return h*(p=="desc"?-1:1)}}return r.index-o.index}return Rm=t,Rm}var Pm,PR;function aV(){if(PR)return Pm;PR=1;var e=Nl(),t=Pl(),r=Wn(),o=Ck(),s=oV(),a=Sl(),l=sV(),u=Jr(),f=tt();function d(h,p,m){p.length?p=e(p,function(y){return f(y)?function(x){return t(x,y.length===1?y[0]:y)}:y}):p=[u];var w=-1;p=e(p,a(r));var E=o(h,function(y,x,b){var C=e(p,function(_){return _(y)});return{criteria:C,index:++w,value:y}});return s(E,function(y,x){return l(y,x,m)})}return Pm=d,Pm}var Tm,TR;function lV(){if(TR)return Tm;TR=1;var e=Jp(),t=aV(),r=Tl(),o=Al(),s=r(function(a,l){if(a==null)return[];var u=l.length;return u>1&&o(a,l[0],l[1])?l=[]:u>2&&o(l[0],l[1],l[2])&&(l=[l[0]]),t(a,e(l,1),[])});return Tm=s,Tm}var Am,AR;function uV(){if(AR)return Am;AR=1;var e=ek(),t=0;function r(o){var s=++t;return e(o)+s}return Am=r,Am}var Im,IR;function cV(){if(IR)return Im;IR=1;function e(t,r,o){for(var s=-1,a=t.length,l=r.length,u={};++s0;--x)if(y=h[x].dequeue(),y){m=m.concat(l(d,h,p,y,!0));break}}}return m}function l(d,h,p,m,w){var E=w?[]:void 0;return e.forEach(d.inEdges(m.v),function(y){var x=d.edge(y),b=d.node(y.v);w&&E.push({v:y.v,w:y.w}),b.out-=x,f(h,p,b)}),e.forEach(d.outEdges(m.v),function(y){var x=d.edge(y),b=y.w,C=d.node(b);C.in-=x,f(h,p,C)}),d.removeNode(m.v),E}function u(d,h){var p=new t,m=0,w=0;e.forEach(d.nodes(),function(x){p.setNode(x,{v:x,in:0,out:0})}),e.forEach(d.edges(),function(x){var b=p.edge(x.v,x.w)||0,C=h(x),_=b+C;p.setEdge(x.v,x.w,_),w=Math.max(w,p.node(x.v).out+=C),m=Math.max(m,p.node(x.w).in+=C)});var E=e.range(w+m+3).map(function(){return new r}),y=m+1;return e.forEach(p.nodes(),function(x){f(E,y,p.node(x))}),{graph:p,buckets:E,zeroIdx:y}}function f(d,h,p){p.out?p.in?d[p.out-p.in+h].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}return Dm}var jm,jR;function pV(){if(jR)return jm;jR=1;var e=$e(),t=hV();jm={run:r,undo:s};function r(a){var l=a.graph().acyclicer==="greedy"?t(a,u(a)):o(a);e.forEach(l,function(f){var d=a.edge(f);a.removeEdge(f),d.forwardName=f.name,d.reversed=!0,a.setEdge(f.w,f.v,d,e.uniqueId("rev"))});function u(f){return function(d){return f.edge(d).weight}}}function o(a){var l=[],u={},f={};function d(h){e.has(f,h)||(f[h]=!0,u[h]=!0,e.forEach(a.outEdges(h),function(p){e.has(u,p.w)?l.push(p):d(p.w)}),delete u[h])}return e.forEach(a.nodes(),d),l}function s(a){e.forEach(a.edges(),function(l){var u=a.edge(l);if(u.reversed){a.removeEdge(l);var f=u.forwardName;delete u.reversed,delete u.forwardName,a.setEdge(l.w,l.v,u,f)}})}return jm}var qm,qR;function St(){if(qR)return qm;qR=1;var e=$e(),t=dn().Graph;qm={addDummyNode:r,simplify:o,asNonCompoundGraph:s,successorWeights:a,predecessorWeights:l,intersectRect:u,buildLayerMatrix:f,normalizeRanks:d,removeEmptyRanks:h,addBorderNode:p,maxRank:m,partition:w,time:E,notime:y};function r(x,b,C,_){var k;do k=e.uniqueId(_);while(x.hasNode(k));return C.dummy=b,x.setNode(k,C),k}function o(x){var b=new t().setGraph(x.graph());return e.forEach(x.nodes(),function(C){b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){var _=b.edge(C.v,C.w)||{weight:0,minlen:1},k=x.edge(C);b.setEdge(C.v,C.w,{weight:_.weight+k.weight,minlen:Math.max(_.minlen,k.minlen)})}),b}function s(x){var b=new t({multigraph:x.isMultigraph()}).setGraph(x.graph());return e.forEach(x.nodes(),function(C){x.children(C).length||b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){b.setEdge(C,x.edge(C))}),b}function a(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.outEdges(C),function(k){_[k.w]=(_[k.w]||0)+x.edge(k).weight}),_});return e.zipObject(x.nodes(),b)}function l(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.inEdges(C),function(k){_[k.v]=(_[k.v]||0)+x.edge(k).weight}),_});return e.zipObject(x.nodes(),b)}function u(x,b){var C=x.x,_=x.y,k=b.x-C,R=b.y-_,T=x.width/2,A=x.height/2;if(!k&&!R)throw new Error("Not possible to find intersection inside of the rectangle");var O,j;return Math.abs(R)*T>Math.abs(k)*A?(R<0&&(A=-A),O=A*k/R,j=A):(k<0&&(T=-T),O=T,j=T*R/k),{x:C+O,y:_+j}}function f(x){var b=e.map(e.range(m(x)+1),function(){return[]});return e.forEach(x.nodes(),function(C){var _=x.node(C),k=_.rank;e.isUndefined(k)||(b[k][_.order]=C)}),b}function d(x){var b=e.min(e.map(x.nodes(),function(C){return x.node(C).rank}));e.forEach(x.nodes(),function(C){var _=x.node(C);e.has(_,"rank")&&(_.rank-=b)})}function h(x){var b=e.min(e.map(x.nodes(),function(R){return x.node(R).rank})),C=[];e.forEach(x.nodes(),function(R){var T=x.node(R).rank-b;C[T]||(C[T]=[]),C[T].push(R)});var _=0,k=x.graph().nodeRankFactor;e.forEach(C,function(R,T){e.isUndefined(R)&&T%k!==0?--_:_&&e.forEach(R,function(A){x.node(A).rank+=_})})}function p(x,b,C,_){var k={width:0,height:0};return arguments.length>=4&&(k.rank=C,k.order=_),r(x,"border",k,b)}function m(x){return e.max(e.map(x.nodes(),function(b){var C=x.node(b).rank;if(!e.isUndefined(C))return C}))}function w(x,b){var C={lhs:[],rhs:[]};return e.forEach(x,function(_){b(_)?C.lhs.push(_):C.rhs.push(_)}),C}function E(x,b){var C=e.now();try{return b()}finally{console.log(x+" time: "+(e.now()-C)+"ms")}}function y(x,b){return b()}return qm}var zm,zR;function gV(){if(zR)return zm;zR=1;var e=$e(),t=St();zm={run:r,undo:s};function r(a){a.graph().dummyChains=[],e.forEach(a.edges(),function(l){o(a,l)})}function o(a,l){var u=l.v,f=a.node(u).rank,d=l.w,h=a.node(d).rank,p=l.name,m=a.edge(l),w=m.labelRank;if(h!==f+1){a.removeEdge(l);var E,y,x;for(x=0,++f;fj.lim&&(U=j,q=!0);var V=e.filter(k.edges(),function(X){return q===C(_,_.node(X.v),U)&&q!==C(_,_.node(X.w),U)});return e.minBy(V,function(X){return r(k,X)})}function y(_,k,R,T){var A=R.v,O=R.w;_.removeEdge(A,O),_.setEdge(T.v,T.w,{}),p(_),f(_,k),x(_,k)}function x(_,k){var R=e.find(_.nodes(),function(A){return!k.node(A).parent}),T=s(_,R);T=T.slice(1),e.forEach(T,function(A){var O=_.node(A).parent,j=k.edge(A,O),U=!1;j||(j=k.edge(O,A),U=!0),k.node(A).rank=k.node(O).rank+(U?j.minlen:-j.minlen)})}function b(_,k,R){return _.hasEdge(k,R)}function C(_,k,R){return R.low<=k.lim&&k.lim<=R.lim}return Bm}var Vm,HR;function vV(){if(HR)return Vm;HR=1;var e=Il(),t=e.longestPath,r=BR(),o=mV();Vm=s;function s(f){switch(f.graph().ranker){case"network-simplex":u(f);break;case"tight-tree":l(f);break;case"longest-path":a(f);break;default:u(f)}}var a=t;function l(f){t(f),r(f)}function u(f){o(f)}return Vm}var Hm,WR;function yV(){if(WR)return Hm;WR=1;var e=$e();Hm=t;function t(s){var a=o(s);e.forEach(s.graph().dummyChains,function(l){for(var u=s.node(l),f=u.edgeObj,d=r(s,a,f.v,f.w),h=d.path,p=d.lca,m=0,w=h[m],E=!0;l!==f.w;){if(u=s.node(l),E){for(;(w=h[m])!==p&&s.node(w).maxRankh||p>a[m].lim));for(w=m,m=u;(m=s.parent(m))!==w;)d.push(m);return{path:f.concat(d.reverse()),lca:w}}function o(s){var a={},l=0;function u(f){var d=l;e.forEach(s.children(f),u),a[f]={low:d,lim:l++}}return e.forEach(s.children(),u),a}return Hm}var Wm,UR;function wV(){if(UR)return Wm;UR=1;var e=$e(),t=St();Wm={run:r,cleanup:l};function r(u){var f=t.addDummyNode(u,"root",{},"_root"),d=s(u),h=e.max(e.values(d))-1,p=2*h+1;u.graph().nestingRoot=f,e.forEach(u.edges(),function(w){u.edge(w).minlen*=p});var m=a(u)+1;e.forEach(u.children(),function(w){o(u,f,p,m,h,d,w)}),u.graph().nodeRankFactor=p}function o(u,f,d,h,p,m,w){var E=u.children(w);if(!E.length){w!==f&&u.setEdge(f,w,{weight:0,minlen:d});return}var y=t.addBorderNode(u,"_bt"),x=t.addBorderNode(u,"_bb"),b=u.node(w);u.setParent(y,w),b.borderTop=y,u.setParent(x,w),b.borderBottom=x,e.forEach(E,function(C){o(u,f,d,h,p,m,C);var _=u.node(C),k=_.borderTop?_.borderTop:C,R=_.borderBottom?_.borderBottom:C,T=_.borderTop?h:2*h,A=k!==R?1:p-m[w]+1;u.setEdge(y,k,{weight:T,minlen:A,nestingEdge:!0}),u.setEdge(R,x,{weight:T,minlen:A,nestingEdge:!0})}),u.parent(w)||u.setEdge(f,y,{weight:0,minlen:p+m[w]})}function s(u){var f={};function d(h,p){var m=u.children(h);m&&m.length&&e.forEach(m,function(w){d(w,p+1)}),f[h]=p}return e.forEach(u.children(),function(h){d(h,1)}),f}function a(u){return e.reduce(u.edges(),function(f,d){return f+u.edge(d).weight},0)}function l(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,e.forEach(u.edges(),function(d){var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Wm}var Um,GR;function xV(){if(GR)return Um;GR=1;var e=$e(),t=St();Um=r;function r(s){function a(l){var u=s.children(l),f=s.node(l);if(u.length&&e.forEach(u,a),e.has(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(var d=f.minRank,h=f.maxRank+1;d0;)w%2&&(E+=h[w+1]),w=w-1>>1,h[w]+=m.weight;p+=m.weight*E})),p}return Km}var Xm,QR;function EV(){if(QR)return Xm;QR=1;var e=$e();Xm=t;function t(r,o){return e.map(o,function(s){var a=r.inEdges(s);if(a.length){var l=e.reduce(a,function(u,f){var d=r.edge(f),h=r.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:s,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:s}})}return Xm}var Qm,ZR;function CV(){if(ZR)return Qm;ZR=1;var e=$e();Qm=t;function t(s,a){var l={};e.forEach(s,function(f,d){var h=l[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};e.isUndefined(f.barycenter)||(h.barycenter=f.barycenter,h.weight=f.weight)}),e.forEach(a.edges(),function(f){var d=l[f.v],h=l[f.w];!e.isUndefined(d)&&!e.isUndefined(h)&&(h.indegree++,d.out.push(l[f.w]))});var u=e.filter(l,function(f){return!f.indegree});return r(u)}function r(s){var a=[];function l(d){return function(h){h.merged||(e.isUndefined(h.barycenter)||e.isUndefined(d.barycenter)||h.barycenter>=d.barycenter)&&o(d,h)}}function u(d){return function(h){h.in.push(d),--h.indegree===0&&s.push(h)}}for(;s.length;){var f=s.pop();a.push(f),e.forEach(f.in.reverse(),l(f)),e.forEach(f.out,u(f))}return e.map(e.filter(a,function(d){return!d.merged}),function(d){return e.pick(d,["vs","i","barycenter","weight"])})}function o(s,a){var l=0,u=0;s.weight&&(l+=s.barycenter*s.weight,u+=s.weight),a.weight&&(l+=a.barycenter*a.weight,u+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=l/u,s.weight=u,s.i=Math.min(a.i,s.i),a.merged=!0}return Qm}var Zm,JR;function kV(){if(JR)return Zm;JR=1;var e=$e(),t=St();Zm=r;function r(a,l){var u=t.partition(a,function(y){return e.has(y,"barycenter")}),f=u.lhs,d=e.sortBy(u.rhs,function(y){return-y.i}),h=[],p=0,m=0,w=0;f.sort(s(!!l)),w=o(h,d,w),e.forEach(f,function(y){w+=y.vs.length,h.push(y.vs),p+=y.barycenter*y.weight,m+=y.weight,w=o(h,d,w)});var E={vs:e.flatten(h,!0)};return m&&(E.barycenter=p/m,E.weight=m),E}function o(a,l,u){for(var f;l.length&&(f=e.last(l)).i<=u;)l.pop(),a.push(f.vs),u++;return u}function s(a){return function(l,u){return l.barycenteru.barycenter?1:a?u.i-l.i:l.i-u.i}}return Zm}var Jm,eP;function NV(){if(eP)return Jm;eP=1;var e=$e(),t=EV(),r=CV(),o=kV();Jm=s;function s(u,f,d,h){var p=u.children(f),m=u.node(f),w=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,y={};w&&(p=e.filter(p,function(R){return R!==w&&R!==E}));var x=t(u,p);e.forEach(x,function(R){if(u.children(R.v).length){var T=s(u,R.v,d,h);y[R.v]=T,e.has(T,"barycenter")&&l(R,T)}});var b=r(x,d);a(b,y);var C=o(b,h);if(w&&(C.vs=e.flatten([w,C.vs,E],!0),u.predecessors(w).length)){var _=u.node(u.predecessors(w)[0]),k=u.node(u.predecessors(E)[0]);e.has(C,"barycenter")||(C.barycenter=0,C.weight=0),C.barycenter=(C.barycenter*C.weight+_.order+k.order)/(C.weight+2),C.weight+=2}return C}function a(u,f){e.forEach(u,function(d){d.vs=e.flatten(d.vs.map(function(h){return f[h]?f[h].vs:h}),!0)})}function l(u,f){e.isUndefined(u.barycenter)?(u.barycenter=f.barycenter,u.weight=f.weight):(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight)}return Jm}var ev,tP;function RV(){if(tP)return ev;tP=1;var e=$e(),t=dn().Graph;ev=r;function r(s,a,l){var u=o(s),f=new t({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(d){return s.node(d)});return e.forEach(s.nodes(),function(d){var h=s.node(d),p=s.parent(d);(h.rank===a||h.minRank<=a&&a<=h.maxRank)&&(f.setNode(d),f.setParent(d,p||u),e.forEach(s[l](d),function(m){var w=m.v===d?m.w:m.v,E=f.edge(w,d),y=e.isUndefined(E)?0:E.weight;f.setEdge(w,d,{weight:s.edge(m).weight+y})}),e.has(h,"minRank")&&f.setNode(d,{borderLeft:h.borderLeft[a],borderRight:h.borderRight[a]}))}),f}function o(s){for(var a;s.hasNode(a=e.uniqueId("_root")););return a}return ev}var tv,nP;function PV(){if(nP)return tv;nP=1;var e=$e();tv=t;function t(r,o,s){var a={},l;e.forEach(s,function(u){for(var f=r.parent(u),d,h;f;){if(d=r.parent(f),d?(h=a[d],a[d]=f):(h=l,l=f),h&&h!==f){o.setEdge(h,f);return}f=d}})}return tv}var nv,rP;function TV(){if(rP)return nv;rP=1;var e=$e(),t=bV(),r=SV(),o=NV(),s=RV(),a=PV(),l=dn().Graph,u=St();nv=f;function f(m){var w=u.maxRank(m),E=d(m,e.range(1,w+1),"inEdges"),y=d(m,e.range(w-1,-1,-1),"outEdges"),x=t(m);p(m,x);for(var b=Number.POSITIVE_INFINITY,C,_=0,k=0;k<4;++_,++k){h(_%2?E:y,_%4>=2),x=u.buildLayerMatrix(m);var R=r(m,x);RU)&&l(_,X,q)})})}function R(T,A){var O=-1,j,U=0;return e.forEach(A,function(q,V){if(b.node(q).dummy==="border"){var X=b.predecessors(q);X.length&&(j=b.node(X[0]).order,k(A,U,V,O,j),U=V,O=j)}k(A,U,A.length,j,T.length)}),A}return e.reduce(C,R),_}function a(b,C){if(b.node(C).dummy)return e.find(b.predecessors(C),function(_){return b.node(_).dummy})}function l(b,C,_){if(C>_){var k=C;C=_,_=k}var R=b[C];R||(b[C]=R={}),R[_]=!0}function u(b,C,_){if(C>_){var k=C;C=_,_=k}return e.has(b[C],_)}function f(b,C,_,k){var R={},T={},A={};return e.forEach(C,function(O){e.forEach(O,function(j,U){R[j]=j,T[j]=j,A[j]=U})}),e.forEach(C,function(O){var j=-1;e.forEach(O,function(U){var q=k(U);if(q.length){q=e.sortBy(q,function(B){return A[B]});for(var V=(q.length-1)/2,X=Math.floor(V),L=Math.ceil(V);X<=L;++X){var H=q[X];T[U]===U&&j{const e=N.useContext(cP);if(!e)throw new Error("useSetNodeValues must be used within SetNodeValuesContext.Provider");return e};class uv{constructor(t,r,o="Node"){Gu(this,"grid");Gu(this,"style");Gu(this,"label");if(this.grid=t,this.style=r,this.label=o,!t)throw new Error("'grid' property is required in node definition.")}buildStyleConfig(){const{style:t}=this,r={};t!=null&&t.minWidth&&(r.minWidth=typeof t.minWidth=="number"?`${t.minWidth}px`:t.minWidth),t!=null&&t.maxWidth&&(r.maxWidth=typeof t.maxWidth=="number"?`${t.maxWidth}px`:t.maxWidth),t!=null&&t.borderRadius&&(r.borderRadius=t.borderRadius);const o=t!=null&&t.shadow?`shadow-${t.shadow}`:"shadow-md";return{style:r,className:dt("min-w-[200px] border-2 transition-all overflow-hidden p-0 gap-0",o,t==null?void 0:t.className)}}buildComponent(){const{grid:t,label:r}=this,o=this.buildStyleConfig(),s=({id:a,data:l,selected:u})=>{const f=l,d=qV(),h=N.useCallback((w,E)=>{d(y=>({...y,[a]:{...y[a],[w]:E}}))},[a,d]),p=f.grid||t,m=N.useMemo(()=>({nodeId:a,nodeData:f||{label:r,grid:t,values:{}},onValueChange:h}),[a,f,h]);return I.jsx(Hb,{className:dt(o.className,u&&"border-primary shadow-lg ring-2 ring-primary/20"),style:o.style,children:I.jsx(N1.Provider,{value:m,children:I.jsx(m$,{grid:p,nodeId:a,onValueChange:h})})})};return N.memo(s,(a,l)=>{if(a.id!==l.id||a.selected!==l.selected)return!1;const u=a.data.values,f=l.data.values;return u===f?!0:!u||!f?u===f:JSON.stringify(u)===JSON.stringify(f)})}static buildComponent(t,r,o="Node"){return new uv(t,r,o).buildComponent()}}function zV(e){const t={};for(const r of e)try{t[r.type]=uv.buildComponent(r.definition.grid,r.definition.style,r.label)}catch(o){throw typeof process.env.VITEST>"u"&&console.error(`Failed to build component for node type "${r.type}":`,o),o}return t}function FV({workflowData:e,height:t="600px",interactive:r=!0}){const[o,s]=N.useState(e.nodes||{}),[a,l]=N.useState(e.edges||[]),[u,f]=N.useState(e.node_values||{}),d=e.node_templates||[],h=N.useMemo(()=>Object.values(o||{}),[o]),p=N.useMemo(()=>{const x=new Map;return d.forEach(b=>{x.set(b.type,b)}),x},[d]),m=N.useMemo(()=>!u||Object.keys(u).length===0?h:h.map(x=>{const b=p.get(x.type),C=u[x.id]||{};return b?{...x,data:{...x.data||{},definition:b.definition,label:b.label,icon:b.icon,values:C}}:(console.warn(`Template not found for node type: ${x.type}`),x)}),[h,p,u]),w=N.useMemo(()=>zV(d),[d]),E=N.useCallback(x=>{if(!r)return;const b=gx(x,m),C={};b.forEach(_=>{C[_.id]=_}),s(C)},[m,r]),y=N.useCallback(x=>{r&&l(b=>mx(x,b))},[r]);return I.jsx(jV.Provider,{value:s,children:I.jsx(cP.Provider,{value:f,children:I.jsx("div",{style:{width:"100%",height:t},children:I.jsx(_$,{nodes:m,edges:a,nodeTypes:w,height:t,onNodesChange:E,onEdgesChange:y,onConnect:()=>{},onNodeContextMenu:()=>{},onEdgeContextMenu:()=>{},onPaneClick:()=>{},contextMenu:null,onDelete:()=>{},onCloseContextMenu:()=>{},onExport:()=>{},onLayoutVertical:()=>{},onLayoutHorizontal:()=>{}})})})})}function fP(e){return I.jsx(n1,{children:I.jsx(FV,{...e})})}window.PyNodeWidget={render:(e,t,r={})=>{const o=document.getElementById(e);if(!o){console.error(`Element with id "${e}" not found`);return}d0.createRoot(o).render(I.jsx(fP,{workflowData:t,height:r.height||"600px",interactive:r.interactive!==!1}))},renderFromUrl:async(e,t,r={})=>{const o=document.getElementById(e);if(!o){console.error(`Element with id "${e}" not found`);return}try{o.innerHTML='
Loading workflow...
';const s=await fetch(t);if(!s.ok)throw new Error(`Failed to load workflow: ${s.statusText}`);const a=await s.json();d0.createRoot(o).render(I.jsx(fP,{workflowData:a,height:r.height||"600px",interactive:r.interactive!==!1}))}catch(s){throw console.error("Error loading workflow:",s),o.innerHTML=`
Error loading workflow: ${s.message}
`,s}}}})(); +Defaulting to \`null\`.`}var iB=lS,sB=cS;function pS({className:e,value:t,...n}){return R.jsx(iB,{"data-slot":"progress",className:Me("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",e),...n,children:R.jsx(sB,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})})}function aB(e){var u;if("component"in e){const{component:f}=e,d=qo(),h=((u=d==null?void 0:d.nodeData.values)==null?void 0:u[f.id])??f.value??0,p=f.max??100,m=f.min??0,v=Math.min(100,Math.max(0,(h-m)/(p-m)*100));return R.jsxs("div",{className:"component-progress-field space-y-1.5",children:[f.label&&R.jsx("label",{className:"text-xs text-gray-600",children:f.label}),R.jsxs("div",{className:"flex items-center justify-between text-xs",children:[R.jsx("span",{className:"text-muted-foreground",children:"Progress"}),R.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(v),"%"]})]}),R.jsx(pS,{value:v,className:"h-2"})]})}const{value:t,onChange:n,label:o,min:i=0,max:a=100}=e,l=Math.min(100,Math.max(0,(t-i)/(a-i)*100));return R.jsxs("div",{className:"space-y-1.5",children:[o&&R.jsx("label",{className:"text-xs text-gray-600",children:o}),R.jsxs("div",{className:"flex items-center justify-between text-xs",children:[R.jsx("span",{className:"text-muted-foreground",children:"Progress"}),R.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(l),"%"]})]}),R.jsx(pS,{value:l,className:"h-2"})]})}function lB({component:e}){return R.jsxs("div",{className:"component-header px-3 py-2 font-semibold flex items-center gap-2",style:{width:"100%",height:"100%",backgroundColor:e.bgColor,color:e.textColor},children:[e.icon&&R.jsx("span",{children:e.icon}),R.jsx("span",{children:e.label})]})}function uB({component:e}){return R.jsx("div",{className:`component-footer px-3 py-2 text-xs text-muted-foreground border-t ${e.className||""}`,style:{width:"100%",height:"100%",backgroundColor:e.bgColor,color:e.textColor},children:e.text})}const gS=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,mS=M_,vS=(e,t)=>n=>{var o;if((t==null?void 0:t.variants)==null)return mS(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:i,defaultVariants:a}=t,l=Object.keys(i).map(d=>{const h=n==null?void 0:n[d],p=a==null?void 0:a[d];if(h===null)return null;const m=gS(h)||gS(p);return i[d][m]}),u=n&&Object.entries(n).reduce((d,h)=>{let[p,m]=h;return m===void 0||(d[p]=m),d},{}),f=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,h)=>{let{class:p,className:m,...v}=h;return Object.entries(v).every(E=>{let[y,x]=E;return Array.isArray(x)?x.includes({...a,...u}[y]):{...a,...u}[y]===x})?[...d,p,m]:d},[]);return mS(e,l,f,n==null?void 0:n.class,n==null?void 0:n.className)},cB=vS("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Xo({className:e,variant:t,size:n,asChild:o=!1,...i}){const a=o?sS:"button";return R.jsx(a,{"data-slot":"button",className:Me(cB({variant:t,size:n,className:e})),...i})}k.createContext(null);const Hf=768;function fB(){const[e,t]=k.useState(void 0);return k.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Hf-1}px)`),o=()=>{t(window.innerWidthn.removeEventListener("change",o)},[]),!!e}function dB(e){const t=hB(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(gB);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function hB(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=vB(i),u=mB(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var pB=Symbol("radix.slottable");function gB(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===pB}function mB(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function vB(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Nl="Dialog",[yS]=Fo(Nl),[yB,fn]=yS(Nl),wS=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:i,onOpenChange:a,modal:l=!0}=e,u=k.useRef(null),f=k.useRef(null),[d,h]=ss({prop:o,defaultProp:i??!1,onChange:a,caller:Nl});return R.jsx(yB,{scope:t,triggerRef:u,contentRef:f,contentId:Kr(),titleId:Kr(),descriptionId:Kr(),open:d,onOpenChange:h,onOpenToggle:k.useCallback(()=>h(p=>!p),[h]),modal:l,children:n})};wS.displayName=Nl;var xS="DialogTrigger",wB=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(xS,n),a=Fe(t,i.triggerRef);return R.jsx(je.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Gf(i.open),...o,ref:a,onClick:Oe(e.onClick,i.onOpenToggle)})});wB.displayName=xS;var Wf="DialogPortal",[xB,_S]=yS(Wf,{forceMount:void 0}),bS=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:i}=e,a=fn(Wf,t);return R.jsx(xB,{scope:t,forceMount:n,children:k.Children.map(o,l=>R.jsx(Gr,{present:n||a.open,children:R.jsx(hl,{asChild:!0,container:i,children:l})}))})};bS.displayName=Wf;var Rl="DialogOverlay",SS=k.forwardRef((e,t)=>{const n=_S(Rl,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,a=fn(Rl,e.__scopeDialog);return a.modal?R.jsx(Gr,{present:o||a.open,children:R.jsx(bB,{...i,ref:t})}):null});SS.displayName=Rl;var _B=dB("DialogOverlay.RemoveScroll"),bB=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(Rl,n);return R.jsx(Lf,{as:_B,allowPinchZoom:!0,shards:[i.contentRef],children:R.jsx(je.div,{"data-state":Gf(i.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),Jr="DialogContent",ES=k.forwardRef((e,t)=>{const n=_S(Jr,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,a=fn(Jr,e.__scopeDialog);return R.jsx(Gr,{present:o||a.open,children:a.modal?R.jsx(SB,{...i,ref:t}):R.jsx(EB,{...i,ref:t})})});ES.displayName=Jr;var SB=k.forwardRef((e,t)=>{const n=fn(Jr,e.__scopeDialog),o=k.useRef(null),i=Fe(t,n.contentRef,o);return k.useEffect(()=>{const a=o.current;if(a)return pb(a)},[]),R.jsx(CS,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Oe(e.onCloseAutoFocus,a=>{var l;a.preventDefault(),(l=n.triggerRef.current)==null||l.focus()}),onPointerDownOutside:Oe(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0;(l.button===2||u)&&a.preventDefault()}),onFocusOutside:Oe(e.onFocusOutside,a=>a.preventDefault())})}),EB=k.forwardRef((e,t)=>{const n=fn(Jr,e.__scopeDialog),o=k.useRef(!1),i=k.useRef(!1);return R.jsx(CS,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var l,u;(l=e.onCloseAutoFocus)==null||l.call(e,a),a.defaultPrevented||(o.current||(u=n.triggerRef.current)==null||u.focus(),a.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:a=>{var f,d;(f=e.onInteractOutside)==null||f.call(e,a),a.defaultPrevented||(o.current=!0,a.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const l=a.target;((d=n.triggerRef.current)==null?void 0:d.contains(l))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&i.current&&a.preventDefault()}})}),CS=k.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:a,...l}=e,u=fn(Jr,n),f=k.useRef(null),d=Fe(t,f);return b1(),R.jsxs(R.Fragment,{children:[R.jsx(mf,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:a,children:R.jsx(tl,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Gf(u.open),...l,ref:d,onDismiss:()=>u.onOpenChange(!1)})}),R.jsxs(R.Fragment,{children:[R.jsx(CB,{titleId:u.titleId}),R.jsx(NB,{contentRef:f,descriptionId:u.descriptionId})]})]})}),Uf="DialogTitle",kS=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(Uf,n);return R.jsx(je.h2,{id:i.titleId,...o,ref:t})});kS.displayName=Uf;var NS="DialogDescription",RS=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(NS,n);return R.jsx(je.p,{id:i.descriptionId,...o,ref:t})});RS.displayName=NS;var PS="DialogClose",TS=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(PS,n);return R.jsx(je.button,{type:"button",...o,ref:t,onClick:Oe(e.onClick,()=>i.onOpenChange(!1))})});TS.displayName=PS;function Gf(e){return e?"open":"closed"}var AS="DialogTitleWarning",[fU,IS]=B3(AS,{contentName:Jr,titleName:Uf,docsSlug:"dialog"}),CB=({titleId:e})=>{const t=IS(AS),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. + +If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. + +For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return k.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},kB="DialogDescriptionWarning",NB=({contentRef:e,descriptionId:t})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${IS(kB).contentName}}.`;return k.useEffect(()=>{var a;const i=(a=e.current)==null?void 0:a.getAttribute("aria-describedby");t&&i&&(document.getElementById(t)||console.warn(o))},[o,e,t]),null},RB=wS,PB=bS,TB=SS,AB=ES,IB=kS,MB=RS,OB=TS;function LB({...e}){return R.jsx(RB,{"data-slot":"sheet",...e})}function DB({...e}){return R.jsx(PB,{"data-slot":"sheet-portal",...e})}function jB({className:e,...t}){return R.jsx(TB,{"data-slot":"sheet-overlay",className:Me("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function qB({className:e,children:t,side:n="right",...o}){return R.jsxs(DB,{children:[R.jsx(jB,{}),R.jsxs(AB,{"data-slot":"sheet-content",className:Me("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",n==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",n==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",n==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",n==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...o,children:[t,R.jsxs(OB,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[R.jsx(xz,{className:"size-4"}),R.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function zB({className:e,...t}){return R.jsx("div",{"data-slot":"sheet-header",className:Me("flex flex-col gap-1.5 p-4",e),...t})}function FB({className:e,...t}){return R.jsx(IB,{"data-slot":"sheet-title",className:Me("text-foreground font-semibold",e),...t})}function $B({className:e,...t}){return R.jsx(MB,{"data-slot":"sheet-description",className:Me("text-muted-foreground text-sm",e),...t})}var BB=Symbol("radix.slottable");function VB(e){const t=({children:n})=>R.jsx(R.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=BB,t}var[Pl]=Fo("Tooltip",[dl]),Tl=dl(),MS="TooltipProvider",HB=700,Yf="tooltip.open",[WB,Kf]=Pl(MS),OS=e=>{const{__scopeTooltip:t,delayDuration:n=HB,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:a}=e,l=k.useRef(!0),u=k.useRef(!1),f=k.useRef(0);return k.useEffect(()=>{const d=f.current;return()=>window.clearTimeout(d)},[]),R.jsx(WB,{scope:t,isOpenDelayedRef:l,delayDuration:n,onOpen:k.useCallback(()=>{window.clearTimeout(f.current),l.current=!1},[]),onClose:k.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>l.current=!0,o)},[o]),isPointerInTransitRef:u,onPointerInTransitChange:k.useCallback(d=>{u.current=d},[]),disableHoverableContent:i,children:a})};OS.displayName=MS;var fs="Tooltip",[UB,ds]=Pl(fs),LS=e=>{const{__scopeTooltip:t,children:n,open:o,defaultOpen:i,onOpenChange:a,disableHoverableContent:l,delayDuration:u}=e,f=Kf(fs,e.__scopeTooltip),d=Tl(t),[h,p]=k.useState(null),m=Kr(),v=k.useRef(0),E=l??f.disableHoverableContent,y=u??f.delayDuration,x=k.useRef(!1),[b,C]=ss({prop:o,defaultProp:i??!1,onChange:I=>{I?(f.onOpen(),document.dispatchEvent(new CustomEvent(Yf))):f.onClose(),a==null||a(I)},caller:fs}),_=k.useMemo(()=>b?x.current?"delayed-open":"instant-open":"closed",[b]),N=k.useCallback(()=>{window.clearTimeout(v.current),v.current=0,x.current=!1,C(!0)},[C]),P=k.useCallback(()=>{window.clearTimeout(v.current),v.current=0,C(!1)},[C]),T=k.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{x.current=!0,C(!0),v.current=0},y)},[y,C]);return k.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),R.jsx(ab,{...d,children:R.jsx(UB,{scope:t,contentId:m,open:b,stateAttribute:_,trigger:h,onTriggerChange:p,onTriggerEnter:k.useCallback(()=>{f.isOpenDelayedRef.current?T():N()},[f.isOpenDelayedRef,T,N]),onTriggerLeave:k.useCallback(()=>{E?P():(window.clearTimeout(v.current),v.current=0)},[P,E]),onOpen:N,onClose:P,disableHoverableContent:E,children:n})})};LS.displayName=fs;var Xf="TooltipTrigger",DS=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,i=ds(Xf,n),a=Kf(Xf,n),l=Tl(n),u=k.useRef(null),f=Fe(t,u,i.onTriggerChange),d=k.useRef(!1),h=k.useRef(!1),p=k.useCallback(()=>d.current=!1,[]);return k.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),R.jsx(lb,{asChild:!0,...l,children:R.jsx(je.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...o,ref:f,onPointerMove:Oe(e.onPointerMove,m=>{m.pointerType!=="touch"&&!h.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),h.current=!0)}),onPointerLeave:Oe(e.onPointerLeave,()=>{i.onTriggerLeave(),h.current=!1}),onPointerDown:Oe(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:Oe(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:Oe(e.onBlur,i.onClose),onClick:Oe(e.onClick,i.onClose)})})});DS.displayName=Xf;var Qf="TooltipPortal",[GB,YB]=Pl(Qf,{forceMount:void 0}),jS=e=>{const{__scopeTooltip:t,forceMount:n,children:o,container:i}=e,a=ds(Qf,t);return R.jsx(GB,{scope:t,forceMount:n,children:R.jsx(Gr,{present:n||a.open,children:R.jsx(hl,{asChild:!0,container:i,children:o})})})};jS.displayName=Qf;var Qo="TooltipContent",qS=k.forwardRef((e,t)=>{const n=YB(Qo,e.__scopeTooltip),{forceMount:o=n.forceMount,side:i="top",...a}=e,l=ds(Qo,e.__scopeTooltip);return R.jsx(Gr,{present:o||l.open,children:l.disableHoverableContent?R.jsx(zS,{side:i,...a,ref:t}):R.jsx(KB,{side:i,...a,ref:t})})}),KB=k.forwardRef((e,t)=>{const n=ds(Qo,e.__scopeTooltip),o=Kf(Qo,e.__scopeTooltip),i=k.useRef(null),a=Fe(t,i),[l,u]=k.useState(null),{trigger:f,onClose:d}=n,h=i.current,{onPointerInTransitChange:p}=o,m=k.useCallback(()=>{u(null),p(!1)},[p]),v=k.useCallback((E,y)=>{const x=E.currentTarget,b={x:E.clientX,y:E.clientY},C=JB(b,x.getBoundingClientRect()),_=e5(b,C),N=t5(y.getBoundingClientRect()),P=r5([..._,...N]);u(P),p(!0)},[p]);return k.useEffect(()=>()=>m(),[m]),k.useEffect(()=>{if(f&&h){const E=x=>v(x,h),y=x=>v(x,f);return f.addEventListener("pointerleave",E),h.addEventListener("pointerleave",y),()=>{f.removeEventListener("pointerleave",E),h.removeEventListener("pointerleave",y)}}},[f,h,v,m]),k.useEffect(()=>{if(l){const E=y=>{const x=y.target,b={x:y.clientX,y:y.clientY},C=(f==null?void 0:f.contains(x))||(h==null?void 0:h.contains(x)),_=!n5(b,l);C?m():_&&(m(),d())};return document.addEventListener("pointermove",E),()=>document.removeEventListener("pointermove",E)}},[f,h,l,d,m]),R.jsx(zS,{...e,ref:a})}),[XB,QB]=Pl(fs,{isInside:!1}),ZB=VB("TooltipContent"),zS=k.forwardRef((e,t)=>{const{__scopeTooltip:n,children:o,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:l,...u}=e,f=ds(Qo,n),d=Tl(n),{onClose:h}=f;return k.useEffect(()=>(document.addEventListener(Yf,h),()=>document.removeEventListener(Yf,h)),[h]),k.useEffect(()=>{if(f.trigger){const p=m=>{const v=m.target;v!=null&&v.contains(f.trigger)&&h()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[f.trigger,h]),R.jsx(tl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:p=>p.preventDefault(),onDismiss:h,children:R.jsxs(ub,{"data-state":f.stateAttribute,...d,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[R.jsx(ZB,{children:o}),R.jsx(XB,{scope:n,isInside:!0,children:R.jsx(w4,{id:f.contentId,role:"tooltip",children:i||o})})]})})});qS.displayName=Qo;var FS="TooltipArrow",$S=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,i=Tl(n);return QB(FS,n).isInside?null:R.jsx(cb,{...i,...o,ref:t})});$S.displayName=FS;function JB(e,t){const n=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,o,i,a)){case a:return"left";case i:return"right";case n:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function e5(e,t,n=5){const o=[];switch(t){case"top":o.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":o.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":o.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":o.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return o}function t5(e){const{top:t,right:n,bottom:o,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:o},{x:i,y:o}]}function n5(e,t){const{x:n,y:o}=e;let i=!1;for(let a=0,l=t.length-1;ao!=m>o&&n<(p-d)*(o-h)/(m-h)+d&&(i=!i)}return i}function r5(e){const t=e.slice();return t.sort((n,o)=>n.xo.x?1:n.yo.y?1:0),o5(t)}function o5(e){if(e.length<=1)return e.slice();const t=[];for(let o=0;o=2;){const a=t[t.length-1],l=t[t.length-2];if((a.x-l.x)*(i.y-l.y)>=(a.y-l.y)*(i.x-l.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let o=e.length-1;o>=0;o--){const i=e[o];for(;n.length>=2;){const a=n[n.length-1],l=n[n.length-2];if((a.x-l.x)*(i.y-l.y)>=(a.y-l.y)*(i.x-l.x))n.pop();else break}n.push(i)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var i5=OS,s5=LS,a5=DS,l5=jS,u5=qS,c5=$S;function BS({delayDuration:e=0,...t}){return R.jsx(i5,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function f5({...e}){return R.jsx(BS,{children:R.jsx(s5,{"data-slot":"tooltip",...e})})}function d5({...e}){return R.jsx(a5,{"data-slot":"tooltip-trigger",...e})}function h5({className:e,sideOffset:t=0,children:n,...o}){return R.jsx(l5,{children:R.jsxs(u5,{"data-slot":"tooltip-content",sideOffset:t,className:Me("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...o,children:[n,R.jsx(c5,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}const p5="sidebar_state",g5=3600*24*7,m5="16rem",v5="18rem",y5="3rem",w5="b",VS=k.createContext(null);function Zf(){const e=k.useContext(VS);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function x5({defaultOpen:e=!0,open:t,onOpenChange:n,className:o,style:i,children:a,...l}){const u=fB(),[f,d]=k.useState(!1),[h,p]=k.useState(e),m=t??h,v=k.useCallback(b=>{const C=typeof b=="function"?b(m):b;n?n(C):p(C),document.cookie=`${p5}=${C}; path=/; max-age=${g5}`},[n,m]),E=k.useCallback(()=>u?d(b=>!b):v(b=>!b),[u,v,d]);k.useEffect(()=>{const b=C=>{C.key===w5&&(C.metaKey||C.ctrlKey)&&(C.preventDefault(),E())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[E]);const y=m?"expanded":"collapsed",x=k.useMemo(()=>({state:y,open:m,setOpen:v,isMobile:u,openMobile:f,setOpenMobile:d,toggleSidebar:E}),[y,m,v,u,f,d,E]);return R.jsx(VS.Provider,{value:x,children:R.jsx(BS,{delayDuration:0,children:R.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":m5,"--sidebar-width-icon":y5,...i},className:Me("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",o),...l,children:a})})})}function _5({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:o,children:i,...a}){const{isMobile:l,state:u,openMobile:f,setOpenMobile:d}=Zf();return n==="none"?R.jsx("div",{"data-slot":"sidebar",className:Me("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",o),...a,children:i}):l?R.jsx(LB,{open:f,onOpenChange:d,...a,children:R.jsxs(qB,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":v5},side:e,children:[R.jsxs(zB,{className:"sr-only",children:[R.jsx(FB,{children:"Sidebar"}),R.jsx($B,{children:"Displays the mobile sidebar."})]}),R.jsx("div",{className:"flex h-full w-full flex-col",children:i})]})}):R.jsxs("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":u,"data-collapsible":u==="collapsed"?n:"","data-variant":t,"data-side":e,"data-slot":"sidebar",children:[R.jsx("div",{"data-slot":"sidebar-gap",className:Me("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),R.jsx("div",{"data-slot":"sidebar-container",className:Me("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",o),...a,children:R.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:i})})]})}function b5({className:e,onClick:t,...n}){const{toggleSidebar:o}=Zf();return R.jsxs(Xo,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:Me("size-7",e),onClick:i=>{t==null||t(i),o()},...n,children:[R.jsx(vz,{}),R.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function S5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:Me("flex flex-col gap-2 p-2",e),...t})}function E5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:Me("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t})}function C5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:Me("relative flex w-full min-w-0 flex-col p-2",e),...t})}function k5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:Me("w-full text-sm",e),...t})}function N5({className:e,...t}){return R.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:Me("flex w-full min-w-0 flex-col gap-1",e),...t})}function R5({className:e,...t}){return R.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:Me("group/menu-item relative",e),...t})}const P5=vS("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function T5({asChild:e=!1,isActive:t=!1,variant:n="default",size:o="default",tooltip:i,className:a,...l}){const u=e?sS:"button",{isMobile:f,state:d}=Zf(),h=R.jsx(u,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":t,className:Me(P5({variant:n,size:o}),a),...l});return i?(typeof i=="string"&&(i={children:i}),R.jsxs(f5,{children:[R.jsx(d5,{asChild:!0,children:h}),R.jsx(h5,{side:"right",align:"center",hidden:d!=="collapsed"||f,...i})]})):h}function A5({onAddNode:e,templates:t}){return R.jsx(E5,{children:R.jsx(C5,{children:R.jsx(k5,{children:R.jsx(N5,{children:t.map((n,o)=>R.jsx(R5,{children:R.jsxs(T5,{onClick:()=>e(n),tooltip:n.description,children:[R.jsx("div",{className:"flex items-center justify-center w-5 h-5 bg-primary text-primary-foreground rounded text-sm font-bold",children:n.icon||R.jsx(yz,{className:"h-3 w-3"})}),R.jsx("span",{children:n.label})]})},o))})})})})}function I5({onExport:e,onLayoutVertical:t,onLayoutHorizontal:n}){return R.jsxs("div",{className:"flex gap-2",children:[R.jsxs(Xo,{onClick:e,variant:"default",size:"sm",children:[R.jsx(mz,{className:"h-4 w-4 mr-2"}),"Export to JSON"]}),R.jsxs(Xo,{onClick:t,variant:"outline",size:"sm",children:[R.jsx(hz,{className:"h-4 w-4 mr-2"}),"Layout Vertical"]}),R.jsxs(Xo,{onClick:n,variant:"outline",size:"sm",children:[R.jsx(pz,{className:"h-4 w-4 mr-2"}),"Layout Horizontal"]})]})}function M5({className:e,...t}){return R.jsx("div",{"data-slot":"card",className:Me("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function O5({x:e,y:t,onDelete:n,onClose:o}){return $t.useEffect(()=>{const i=()=>o(),a=l=>{l.key==="Escape"&&o()};return document.addEventListener("click",i),document.addEventListener("keydown",a),()=>{document.removeEventListener("click",i),document.removeEventListener("keydown",a)}},[o]),R.jsx(M5,{className:"fixed z-[1000] min-w-[150px] p-1 shadow-md",style:{top:t,left:e},onClick:i=>i.stopPropagation(),children:R.jsxs(Xo,{variant:"ghost",className:"w-full justify-start gap-2 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:n,children:[R.jsx(wz,{className:"h-4 w-4"}),"Delete"]})})}function L5({nodes:e,edges:t,nodeTypes:n,height:o,onNodesChange:i,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,contextMenu:h,onDelete:p,onCloseContextMenu:m,onExport:v,onLayoutVertical:E,onLayoutHorizontal:y}){return R.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[R.jsxs(_q,{nodes:e,edges:t,nodeTypes:n,onNodesChange:i,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,fitView:!0,nodesDraggable:!0,nodesConnectable:!0,elementsSelectable:!0,minZoom:.1,maxZoom:2,children:[R.jsx(kq,{}),R.jsx(Mq,{}),R.jsx(ns,{position:"top-right",children:R.jsx(I5,{onExport:v,onLayoutVertical:E,onLayoutHorizontal:y})})]}),h&&R.jsx(O5,{id:h.id,type:h.type,x:h.x,y:h.y,onDelete:p,onClose:m})]})}function Jf(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ed,HS;function D5(){if(HS)return ed;HS=1;function e(){this.__data__=[],this.size=0}return ed=e,ed}var td,WS;function Zo(){if(WS)return td;WS=1;function e(t,n){return t===n||t!==t&&n!==n}return td=e,td}var nd,US;function Al(){if(US)return nd;US=1;var e=Zo();function t(n,o){for(var i=n.length;i--;)if(e(n[i][0],o))return i;return-1}return nd=t,nd}var rd,GS;function j5(){if(GS)return rd;GS=1;var e=Al(),t=Array.prototype,n=t.splice;function o(i){var a=this.__data__,l=e(a,i);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():n.call(a,l,1),--this.size,!0}return rd=o,rd}var od,YS;function q5(){if(YS)return od;YS=1;var e=Al();function t(n){var o=this.__data__,i=e(o,n);return i<0?void 0:o[i][1]}return od=t,od}var id,KS;function z5(){if(KS)return id;KS=1;var e=Al();function t(n){return e(this.__data__,n)>-1}return id=t,id}var sd,XS;function F5(){if(XS)return sd;XS=1;var e=Al();function t(n,o){var i=this.__data__,a=e(i,n);return a<0?(++this.size,i.push([n,o])):i[a][1]=o,this}return sd=t,sd}var ad,QS;function Il(){if(QS)return ad;QS=1;var e=D5(),t=j5(),n=q5(),o=z5(),i=F5();function a(l){var u=-1,f=l==null?0:l.length;for(this.clear();++u-1&&o%1==0&&o-1&&n%1==0&&n<=e}return ih=t,ih}var ah,QE;function hV(){if(QE)return ah;QE=1;var e=eo(),t=sh(),n=In(),o="[object Arguments]",i="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",f="[object Function]",d="[object Map]",h="[object Number]",p="[object Object]",m="[object RegExp]",v="[object Set]",E="[object String]",y="[object WeakMap]",x="[object ArrayBuffer]",b="[object DataView]",C="[object Float32Array]",_="[object Float64Array]",N="[object Int8Array]",P="[object Int16Array]",T="[object Int32Array]",I="[object Uint8Array]",O="[object Uint8ClampedArray]",q="[object Uint16Array]",G="[object Uint32Array]",F={};F[C]=F[_]=F[N]=F[P]=F[T]=F[I]=F[O]=F[q]=F[G]=!0,F[o]=F[i]=F[x]=F[a]=F[b]=F[l]=F[u]=F[f]=F[d]=F[h]=F[p]=F[m]=F[v]=F[E]=F[y]=!1;function j(W){return n(W)&&t(W.length)&&!!F[e(W)]}return ah=j,ah}var lh,ZE;function zl(){if(ZE)return lh;ZE=1;function e(t){return function(n){return t(n)}}return lh=e,lh}var vs={exports:{}};vs.exports;var JE;function uh(){return JE||(JE=1,(function(e,t){var n=rE(),o=t&&!t.nodeType&&t,i=o&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===o,l=a&&n.process,u=(function(){try{var f=i&&i.require&&i.require("util").types;return f||l&&l.binding&&l.binding("util")}catch{}})();e.exports=u})(vs,vs.exports)),vs.exports}var ch,eC;function ys(){if(eC)return ch;eC=1;var e=hV(),t=zl(),n=uh(),o=n&&n.isTypedArray,i=o?t(o):e;return ch=i,ch}var fh,tC;function nC(){if(tC)return fh;tC=1;var e=cV(),t=gs(),n=nt(),o=ei(),i=ql(),a=ys(),l=Object.prototype,u=l.hasOwnProperty;function f(d,h){var p=n(d),m=!p&&t(d),v=!p&&!m&&o(d),E=!p&&!m&&!v&&a(d),y=p||m||v||E,x=y?e(d.length,String):[],b=x.length;for(var C in d)(h||u.call(d,C))&&!(y&&(C=="length"||v&&(C=="offset"||C=="parent")||E&&(C=="buffer"||C=="byteLength"||C=="byteOffset")||i(C,b)))&&x.push(C);return x}return fh=f,fh}var dh,rC;function Fl(){if(rC)return dh;rC=1;var e=Object.prototype;function t(n){var o=n&&n.constructor,i=typeof o=="function"&&o.prototype||e;return n===i}return dh=t,dh}var hh,oC;function iC(){if(oC)return hh;oC=1;function e(t,n){return function(o){return t(n(o))}}return hh=e,hh}var ph,sC;function pV(){if(sC)return ph;sC=1;var e=iC(),t=e(Object.keys,Object);return ph=t,ph}var gh,aC;function mh(){if(aC)return gh;aC=1;var e=Fl(),t=pV(),n=Object.prototype,o=n.hasOwnProperty;function i(a){if(!e(a))return t(a);var l=[];for(var u in Object(a))o.call(a,u)&&u!="constructor"&&l.push(u);return l}return gh=i,gh}var vh,lC;function Yn(){if(lC)return vh;lC=1;var e=hs(),t=sh();function n(o){return o!=null&&t(o.length)&&!e(o)}return vh=n,vh}var yh,uC;function mr(){if(uC)return yh;uC=1;var e=nC(),t=mh(),n=Yn();function o(i){return n(i)?e(i):t(i)}return yh=o,yh}var wh,cC;function gV(){if(cC)return wh;cC=1;var e=ps(),t=mr();function n(o,i){return o&&e(i,t(i),o)}return wh=n,wh}var xh,fC;function mV(){if(fC)return xh;fC=1;function e(t){var n=[];if(t!=null)for(var o in Object(t))n.push(o);return n}return xh=e,xh}var _h,dC;function vV(){if(dC)return _h;dC=1;var e=Bt(),t=Fl(),n=mV(),o=Object.prototype,i=o.hasOwnProperty;function a(l){if(!e(l))return n(l);var u=t(l),f=[];for(var d in l)d=="constructor"&&(u||!i.call(l,d))||f.push(d);return f}return _h=a,_h}var bh,hC;function no(){if(hC)return bh;hC=1;var e=nC(),t=vV(),n=Yn();function o(i){return n(i)?e(i,!0):t(i)}return bh=o,bh}var Sh,pC;function yV(){if(pC)return Sh;pC=1;var e=ps(),t=no();function n(o,i){return o&&e(i,t(i),o)}return Sh=n,Sh}var ws={exports:{}};ws.exports;var gC;function mC(){return gC||(gC=1,(function(e,t){var n=dn(),o=t&&!t.nodeType&&t,i=o&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===o,l=a?n.Buffer:void 0,u=l?l.allocUnsafe:void 0;function f(d,h){if(h)return d.slice();var p=d.length,m=u?u(p):new d.constructor(p);return d.copy(m),m}e.exports=f})(ws,ws.exports)),ws.exports}var Eh,vC;function yC(){if(vC)return Eh;vC=1;function e(t,n){var o=-1,i=t.length;for(n||(n=Array(i));++ov))return!1;var y=p.get(l),x=p.get(u);if(y&&x)return y==u&&x==l;var b=-1,C=!0,_=f&i?new e:void 0;for(p.set(l,u),p.set(u,l);++b0&&a(h)?i>1?n(h,i-1,a,l,u):e(u,h):l||(u[u.length]=h)}return u}return Sg=n,Sg}var Cg,FN;function gH(){if(FN)return Cg;FN=1;function e(t,n,o){switch(o.length){case 0:return t.call(n);case 1:return t.call(n,o[0]);case 2:return t.call(n,o[0],o[1]);case 3:return t.call(n,o[0],o[1],o[2])}return t.apply(n,o)}return Cg=e,Cg}var kg,$N;function BN(){if($N)return kg;$N=1;var e=gH(),t=Math.max;function n(o,i,a){return i=t(i===void 0?o.length-1:i,0),function(){for(var l=arguments,u=-1,f=t(l.length-i,0),d=Array(f);++u0){if(++a>=e)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return Rg=o,Rg}var Pg,WN;function UN(){if(WN)return Pg;WN=1;var e=mH(),t=vH(),n=t(e);return Pg=n,Pg}var Tg,GN;function Ul(){if(GN)return Tg;GN=1;var e=ro(),t=BN(),n=UN();function o(i,a){return n(t(i,a,e),i+"")}return Tg=o,Tg}var Ag,YN;function KN(){if(YN)return Ag;YN=1;function e(t,n,o,i){for(var a=t.length,l=o+(i?1:-1);i?l--:++l-1}return Lg=t,Lg}var Dg,eR;function bH(){if(eR)return Dg;eR=1;function e(t,n,o){for(var i=-1,a=t==null?0:t.length;++i=l){var b=d?null:i(f);if(b)return a(b);E=!1,m=o,x=new e}else x=d?[]:y;e:for(;++p1?v.setNode(E,p):v.setNode(E)}),this},i.prototype.setNode=function(h,p){return e.has(this._nodes,h)?(arguments.length>1&&(this._nodes[h]=p),this):(this._nodes[h]=arguments.length>1?p:this._defaultNodeLabelFn(h),this._isCompound&&(this._parent[h]=n,this._children[h]={},this._children[n][h]=!0),this._in[h]={},this._preds[h]={},this._out[h]={},this._sucs[h]={},++this._nodeCount,this)},i.prototype.node=function(h){return this._nodes[h]},i.prototype.hasNode=function(h){return e.has(this._nodes,h)},i.prototype.removeNode=function(h){var p=this;if(e.has(this._nodes,h)){var m=function(v){p.removeEdge(p._edgeObjs[v])};delete this._nodes[h],this._isCompound&&(this._removeFromParentsChildList(h),delete this._parent[h],e.each(this.children(h),function(v){p.setParent(v)}),delete this._children[h]),e.each(e.keys(this._in[h]),m),delete this._in[h],delete this._preds[h],e.each(e.keys(this._out[h]),m),delete this._out[h],delete this._sucs[h],--this._nodeCount}return this},i.prototype.setParent=function(h,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(p))p=n;else{p+="";for(var m=p;!e.isUndefined(m);m=this.parent(m))if(m===h)throw new Error("Setting "+p+" as parent of "+h+" would create a cycle");this.setNode(p)}return this.setNode(h),this._removeFromParentsChildList(h),this._parent[h]=p,this._children[p][h]=!0,this},i.prototype._removeFromParentsChildList=function(h){delete this._children[this._parent[h]][h]},i.prototype.parent=function(h){if(this._isCompound){var p=this._parent[h];if(p!==n)return p}},i.prototype.children=function(h){if(e.isUndefined(h)&&(h=n),this._isCompound){var p=this._children[h];if(p)return e.keys(p)}else{if(h===n)return this.nodes();if(this.hasNode(h))return[]}},i.prototype.predecessors=function(h){var p=this._preds[h];if(p)return e.keys(p)},i.prototype.successors=function(h){var p=this._sucs[h];if(p)return e.keys(p)},i.prototype.neighbors=function(h){var p=this.predecessors(h);if(p)return e.union(p,this.successors(h))},i.prototype.isLeaf=function(h){var p;return this.isDirected()?p=this.successors(h):p=this.neighbors(h),p.length===0},i.prototype.filterNodes=function(h){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var m=this;e.each(this._nodes,function(y,x){h(x)&&p.setNode(x,y)}),e.each(this._edgeObjs,function(y){p.hasNode(y.v)&&p.hasNode(y.w)&&p.setEdge(y,m.edge(y))});var v={};function E(y){var x=m.parent(y);return x===void 0||p.hasNode(x)?(v[y]=x,x):x in v?v[x]:E(x)}return this._isCompound&&e.each(p.nodes(),function(y){p.setParent(y,E(y))}),p},i.prototype.setDefaultEdgeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultEdgeLabelFn=h,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return e.values(this._edgeObjs)},i.prototype.setPath=function(h,p){var m=this,v=arguments;return e.reduce(h,function(E,y){return v.length>1?m.setEdge(E,y,p):m.setEdge(E,y),y}),this},i.prototype.setEdge=function(){var h,p,m,v,E=!1,y=arguments[0];typeof y=="object"&&y!==null&&"v"in y?(h=y.v,p=y.w,m=y.name,arguments.length===2&&(v=arguments[1],E=!0)):(h=y,p=arguments[1],m=arguments[3],arguments.length>2&&(v=arguments[2],E=!0)),h=""+h,p=""+p,e.isUndefined(m)||(m=""+m);var x=u(this._isDirected,h,p,m);if(e.has(this._edgeLabels,x))return E&&(this._edgeLabels[x]=v),this;if(!e.isUndefined(m)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(h),this.setNode(p),this._edgeLabels[x]=E?v:this._defaultEdgeLabelFn(h,p,m);var b=f(this._isDirected,h,p,m);return h=b.v,p=b.w,Object.freeze(b),this._edgeObjs[x]=b,a(this._preds[p],h),a(this._sucs[h],p),this._in[p][x]=b,this._out[h][x]=b,this._edgeCount++,this},i.prototype.edge=function(h,p,m){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return this._edgeLabels[v]},i.prototype.hasEdge=function(h,p,m){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return e.has(this._edgeLabels,v)},i.prototype.removeEdge=function(h,p,m){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m),E=this._edgeObjs[v];return E&&(h=E.v,p=E.w,delete this._edgeLabels[v],delete this._edgeObjs[v],l(this._preds[p],h),l(this._sucs[h],p),delete this._in[p][v],delete this._out[h][v],this._edgeCount--),this},i.prototype.inEdges=function(h,p){var m=this._in[h];if(m){var v=e.values(m);return p?e.filter(v,function(E){return E.v===p}):v}},i.prototype.outEdges=function(h,p){var m=this._out[h];if(m){var v=e.values(m);return p?e.filter(v,function(E){return E.w===p}):v}},i.prototype.nodeEdges=function(h,p){var m=this.inEdges(h,p);if(m)return m.concat(this.outEdges(h,p))};function a(h,p){h[p]?h[p]++:h[p]=1}function l(h,p){--h[p]||delete h[p]}function u(h,p,m,v){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}return E+o+y+o+(e.isUndefined(v)?t:v)}function f(h,p,m,v){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}var b={v:E,w:y};return v&&(b.name=v),b}function d(h,p){return u(h,p.v,p.w,p.name)}return Wg}var Gg,dR;function RH(){return dR||(dR=1,Gg="2.1.8"),Gg}var Yg,hR;function PH(){return hR||(hR=1,Yg={Graph:Ug(),version:RH()}),Yg}var Kg,pR;function TH(){if(pR)return Kg;pR=1;var e=Vt(),t=Ug();Kg={write:n,read:a};function n(l){var u={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:o(l),edges:i(l)};return e.isUndefined(l.graph())||(u.value=e.clone(l.graph())),u}function o(l){return e.map(l.nodes(),function(u){var f=l.node(u),d=l.parent(u),h={v:u};return e.isUndefined(f)||(h.value=f),e.isUndefined(d)||(h.parent=d),h})}function i(l){return e.map(l.edges(),function(u){var f=l.edge(u),d={v:u.v,w:u.w};return e.isUndefined(u.name)||(d.name=u.name),e.isUndefined(f)||(d.value=f),d})}function a(l){var u=new t(l.options).setGraph(l.value);return e.each(l.nodes,function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),e.each(l.edges,function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return Kg}var Xg,gR;function AH(){if(gR)return Xg;gR=1;var e=Vt();Xg=t;function t(n){var o={},i=[],a;function l(u){e.has(o,u)||(o[u]=!0,a.push(u),e.each(n.successors(u),l),e.each(n.predecessors(u),l))}return e.each(n.nodes(),function(u){a=[],l(u),a.length&&i.push(a)}),i}return Xg}var Qg,mR;function vR(){if(mR)return Qg;mR=1;var e=Vt();Qg=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(n){return n.key})},t.prototype.has=function(n){return e.has(this._keyIndices,n)},t.prototype.priority=function(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(n,o){var i=this._keyIndices;if(n=String(n),!e.has(i,n)){var a=this._arr,l=a.length;return i[n]=l,a.push({key:n,priority:o}),this._decrease(l),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key},t.prototype.decrease=function(n,o){var i=this._keyIndices[n];if(o>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+o);this._arr[i].priority=o,this._decrease(i)},t.prototype._heapify=function(n){var o=this._arr,i=2*n,a=i+1,l=n;i>1,!(o[a].priority0&&(p=h.removeMin(),m=d[p],m.distance!==Number.POSITIVE_INFINITY);)f(p).forEach(v);return d}return Zg}var Jg,xR;function IH(){if(xR)return Jg;xR=1;var e=wR(),t=Vt();Jg=n;function n(o,i,a){return t.transform(o.nodes(),function(l,u){l[u]=e(o,u,i,a)},{})}return Jg}var em,_R;function bR(){if(_R)return em;_R=1;var e=Vt();em=t;function t(n){var o=0,i=[],a={},l=[];function u(f){var d=a[f]={onStack:!0,lowlink:o,index:o++};if(i.push(f),n.successors(f).forEach(function(m){e.has(a,m)?a[m].onStack&&(d.lowlink=Math.min(d.lowlink,a[m].index)):(u(m),d.lowlink=Math.min(d.lowlink,a[m].lowlink))}),d.lowlink===d.index){var h=[],p;do p=i.pop(),a[p].onStack=!1,h.push(p);while(f!==p);l.push(h)}}return n.nodes().forEach(function(f){e.has(a,f)||u(f)}),l}return em}var tm,SR;function MH(){if(SR)return tm;SR=1;var e=Vt(),t=bR();tm=n;function n(o){return e.filter(t(o),function(i){return i.length>1||i.length===1&&o.hasEdge(i[0],i[0])})}return tm}var nm,ER;function OH(){if(ER)return nm;ER=1;var e=Vt();nm=n;var t=e.constant(1);function n(i,a,l){return o(i,a||t,l||function(u){return i.outEdges(u)})}function o(i,a,l){var u={},f=i.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),l(d).forEach(function(h){var p=h.v===d?h.w:h.v,m=a(h);u[d][p]={distance:m,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(p){var m=u[p];f.forEach(function(v){var E=m[d],y=h[v],x=m[v],b=E.distance+y.distance;b0;){if(d=f.removeMin(),e.has(u,d))l.setEdge(d,u[d]);else{if(p)throw new Error("Input graph is not connected: "+i);p=!0}i.nodeEdges(d).forEach(h)}return l}return lm}var um,MR;function zH(){return MR||(MR=1,um={components:AH(),dijkstra:wR(),dijkstraAll:IH(),findCycles:MH(),floydWarshall:OH(),isAcyclic:LH(),postorder:DH(),preorder:jH(),prim:qH(),tarjan:bR(),topsort:kR()}),um}var cm,OR;function FH(){if(OR)return cm;OR=1;var e=PH();return cm={Graph:e.Graph,json:TH(),alg:zH(),version:e.version},cm}var fm,LR;function hn(){if(LR)return fm;LR=1;var e;if(typeof Jf=="function")try{e=FH()}catch{}return e||(e=window.graphlib),fm=e,fm}var dm,DR;function $H(){if(DR)return dm;DR=1;var e=sk(),t=1,n=4;function o(i){return e(i,t|n)}return dm=o,dm}var hm,jR;function Gl(){if(jR)return hm;jR=1;var e=Zo(),t=Yn(),n=ql(),o=Bt();function i(a,l,u){if(!o(u))return!1;var f=typeof l;return(f=="number"?t(u)&&n(l,u.length):f=="string"&&l in u)?e(u[l],a):!1}return hm=i,hm}var pm,qR;function BH(){if(qR)return pm;qR=1;var e=Ul(),t=Zo(),n=Gl(),o=no(),i=Object.prototype,a=i.hasOwnProperty,l=e(function(u,f){u=Object(u);var d=-1,h=f.length,p=h>2?f[2]:void 0;for(p&&n(f[0],f[1],p)&&(h=1);++d-1?f[d?a[h]:h]:void 0}}return gm=o,gm}var mm,FR;function HH(){if(FR)return mm;FR=1;var e=/\s/;function t(n){for(var o=n.length;o--&&e.test(n.charAt(o)););return o}return mm=t,mm}var vm,$R;function WH(){if($R)return vm;$R=1;var e=HH(),t=/^\s+/;function n(o){return o&&o.slice(0,e(o)+1).replace(t,"")}return vm=n,vm}var ym,BR;function UH(){if(BR)return ym;BR=1;var e=WH(),t=Bt(),n=ni(),o=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;function f(d){if(typeof d=="number")return d;if(n(d))return o;if(t(d)){var h=typeof d.valueOf=="function"?d.valueOf():d;d=t(h)?h+"":h}if(typeof d!="string")return d===0?d:+d;d=e(d);var p=a.test(d);return p||l.test(d)?u(d.slice(2),p?2:8):i.test(d)?o:+d}return ym=f,ym}var wm,VR;function HR(){if(VR)return wm;VR=1;var e=UH(),t=1/0,n=17976931348623157e292;function o(i){if(!i)return i===0?i:0;if(i=e(i),i===t||i===-t){var a=i<0?-1:1;return a*n}return i===i?i:0}return wm=o,wm}var xm,WR;function GH(){if(WR)return xm;WR=1;var e=HR();function t(n){var o=e(n),i=o%1;return o===o?i?o-i:o:0}return xm=t,xm}var _m,UR;function YH(){if(UR)return _m;UR=1;var e=KN(),t=Kn(),n=GH(),o=Math.max;function i(a,l,u){var f=a==null?0:a.length;if(!f)return-1;var d=u==null?0:n(u);return d<0&&(d=o(f+d,0)),e(a,t(l,3),d)}return _m=i,_m}var bm,GR;function KH(){if(GR)return bm;GR=1;var e=VH(),t=YH(),n=e(t);return bm=n,bm}var Sm,YR;function KR(){if(YR)return Sm;YR=1;var e=Eg();function t(n){var o=n==null?0:n.length;return o?e(n,1):[]}return Sm=t,Sm}var Em,XR;function XH(){if(XR)return Em;XR=1;var e=cp(),t=mk(),n=no();function o(i,a){return i==null?i:e(i,t(a),n)}return Em=o,Em}var Cm,QR;function QH(){if(QR)return Cm;QR=1;function e(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}return Cm=e,Cm}var km,ZR;function ZH(){if(ZR)return km;ZR=1;var e=Dl(),t=dp(),n=Kn();function o(i,a){var l={};return a=n(a,3),t(i,function(u,f,d){e(l,f,a(u,f,d))}),l}return km=o,km}var Nm,JR;function Rm(){if(JR)return Nm;JR=1;var e=ni();function t(n,o,i){for(var a=-1,l=n.length;++an}return Pm=e,Pm}var Tm,tP;function e8(){if(tP)return Tm;tP=1;var e=Rm(),t=JH(),n=ro();function o(i){return i&&i.length?e(i,n,t):void 0}return Tm=o,Tm}var Am,nP;function rP(){if(nP)return Am;nP=1;var e=Dl(),t=Zo();function n(o,i,a){(a!==void 0&&!t(o[i],a)||a===void 0&&!(i in o))&&e(o,i,a)}return Am=n,Am}var Im,oP;function t8(){if(oP)return Im;oP=1;var e=eo(),t=$l(),n=In(),o="[object Object]",i=Function.prototype,a=Object.prototype,l=i.toString,u=a.hasOwnProperty,f=l.call(Object);function d(h){if(!n(h)||e(h)!=o)return!1;var p=t(h);if(p===null)return!0;var m=u.call(p,"constructor")&&p.constructor;return typeof m=="function"&&m instanceof m&&l.call(m)==f}return Im=d,Im}var Mm,iP;function sP(){if(iP)return Mm;iP=1;function e(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}return Mm=e,Mm}var Om,aP;function n8(){if(aP)return Om;aP=1;var e=ps(),t=no();function n(o){return e(o,t(o))}return Om=n,Om}var Lm,lP;function r8(){if(lP)return Lm;lP=1;var e=rP(),t=mC(),n=KC(),o=yC(),i=ek(),a=gs(),l=nt(),u=iR(),f=ei(),d=hs(),h=Bt(),p=t8(),m=ys(),v=sP(),E=n8();function y(x,b,C,_,N,P,T){var I=v(x,C),O=v(b,C),q=T.get(O);if(q){e(x,C,q);return}var G=P?P(I,O,C+"",x,b,T):void 0,F=G===void 0;if(F){var j=l(O),W=!j&&f(O),L=!j&&!W&&m(O);G=O,j||W||L?l(I)?G=I:u(I)?G=o(I):W?(F=!1,G=t(O,!0)):L?(F=!1,G=n(O,!0)):G=[]:p(O)||a(O)?(G=I,a(I)?G=E(I):(!h(I)||d(I))&&(G=i(O))):F=!1}F&&(T.set(O,G),N(G,O,_,P,T),T.delete(O)),e(x,C,G)}return Lm=y,Lm}var Dm,uP;function o8(){if(uP)return Dm;uP=1;var e=Ll(),t=rP(),n=cp(),o=r8(),i=Bt(),a=no(),l=sP();function u(f,d,h,p,m){f!==d&&n(d,function(v,E){if(m||(m=new e),i(v))o(f,d,E,h,u,p,m);else{var y=p?p(l(f,E),v,E+"",f,d,m):void 0;y===void 0&&(y=v),t(f,E,y)}},a)}return Dm=u,Dm}var jm,cP;function i8(){if(cP)return jm;cP=1;var e=Ul(),t=Gl();function n(o){return e(function(i,a){var l=-1,u=a.length,f=u>1?a[u-1]:void 0,d=u>2?a[2]:void 0;for(f=o.length>3&&typeof f=="function"?(u--,f):void 0,d&&t(a[0],a[1],d)&&(f=u<3?void 0:f,u=1),i=Object(i);++lo||u&&f&&h&&!d&&!p||a&&f&&h||!i&&h||!l)return 1;if(!a&&!u&&!p&&n=d)return h;var p=i[a];return h*(p=="desc"?-1:1)}}return n.index-o.index}return Jm=t,Jm}var ev,RP;function _8(){if(RP)return ev;RP=1;var e=Vl(),t=Wl(),n=Kn(),o=EN(),i=y8(),a=zl(),l=x8(),u=ro(),f=nt();function d(h,p,m){p.length?p=e(p,function(y){return f(y)?function(x){return t(x,y.length===1?y[0]:y)}:y}):p=[u];var v=-1;p=e(p,a(n));var E=o(h,function(y,x,b){var C=e(p,function(_){return _(y)});return{criteria:C,index:++v,value:y}});return i(E,function(y,x){return l(y,x,m)})}return ev=d,ev}var tv,PP;function b8(){if(PP)return tv;PP=1;var e=Eg(),t=_8(),n=Ul(),o=Gl(),i=n(function(a,l){if(a==null)return[];var u=l.length;return u>1&&o(a,l[0],l[1])?l=[]:u>2&&o(l[0],l[1],l[2])&&(l=[l[0]]),t(a,e(l,1),[])});return tv=i,tv}var nv,TP;function S8(){if(TP)return nv;TP=1;var e=Jk(),t=0;function n(o){var i=++t;return e(o)+i}return nv=n,nv}var rv,AP;function E8(){if(AP)return rv;AP=1;function e(t,n,o){for(var i=-1,a=t.length,l=n.length,u={};++i0;--x)if(y=h[x].dequeue(),y){m=m.concat(l(d,h,p,y,!0));break}}}return m}function l(d,h,p,m,v){var E=v?[]:void 0;return e.forEach(d.inEdges(m.v),function(y){var x=d.edge(y),b=d.node(y.v);v&&E.push({v:y.v,w:y.w}),b.out-=x,f(h,p,b)}),e.forEach(d.outEdges(m.v),function(y){var x=d.edge(y),b=y.w,C=d.node(b);C.in-=x,f(h,p,C)}),d.removeNode(m.v),E}function u(d,h){var p=new t,m=0,v=0;e.forEach(d.nodes(),function(x){p.setNode(x,{v:x,in:0,out:0})}),e.forEach(d.edges(),function(x){var b=p.edge(x.v,x.w)||0,C=h(x),_=b+C;p.setEdge(x.v,x.w,_),v=Math.max(v,p.node(x.v).out+=C),m=Math.max(m,p.node(x.w).in+=C)});var E=e.range(v+m+3).map(function(){return new n}),y=m+1;return e.forEach(p.nodes(),function(x){f(E,y,p.node(x))}),{graph:p,buckets:E,zeroIdx:y}}function f(d,h,p){p.out?p.in?d[p.out-p.in+h].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}return av}var lv,DP;function R8(){if(DP)return lv;DP=1;var e=He(),t=N8();lv={run:n,undo:i};function n(a){var l=a.graph().acyclicer==="greedy"?t(a,u(a)):o(a);e.forEach(l,function(f){var d=a.edge(f);a.removeEdge(f),d.forwardName=f.name,d.reversed=!0,a.setEdge(f.w,f.v,d,e.uniqueId("rev"))});function u(f){return function(d){return f.edge(d).weight}}}function o(a){var l=[],u={},f={};function d(h){e.has(f,h)||(f[h]=!0,u[h]=!0,e.forEach(a.outEdges(h),function(p){e.has(u,p.w)?l.push(p):d(p.w)}),delete u[h])}return e.forEach(a.nodes(),d),l}function i(a){e.forEach(a.edges(),function(l){var u=a.edge(l);if(u.reversed){a.removeEdge(l);var f=u.forwardName;delete u.reversed,delete u.forwardName,a.setEdge(l.w,l.v,u,f)}})}return lv}var uv,jP;function St(){if(jP)return uv;jP=1;var e=He(),t=hn().Graph;uv={addDummyNode:n,simplify:o,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:l,intersectRect:u,buildLayerMatrix:f,normalizeRanks:d,removeEmptyRanks:h,addBorderNode:p,maxRank:m,partition:v,time:E,notime:y};function n(x,b,C,_){var N;do N=e.uniqueId(_);while(x.hasNode(N));return C.dummy=b,x.setNode(N,C),N}function o(x){var b=new t().setGraph(x.graph());return e.forEach(x.nodes(),function(C){b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){var _=b.edge(C.v,C.w)||{weight:0,minlen:1},N=x.edge(C);b.setEdge(C.v,C.w,{weight:_.weight+N.weight,minlen:Math.max(_.minlen,N.minlen)})}),b}function i(x){var b=new t({multigraph:x.isMultigraph()}).setGraph(x.graph());return e.forEach(x.nodes(),function(C){x.children(C).length||b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){b.setEdge(C,x.edge(C))}),b}function a(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.outEdges(C),function(N){_[N.w]=(_[N.w]||0)+x.edge(N).weight}),_});return e.zipObject(x.nodes(),b)}function l(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.inEdges(C),function(N){_[N.v]=(_[N.v]||0)+x.edge(N).weight}),_});return e.zipObject(x.nodes(),b)}function u(x,b){var C=x.x,_=x.y,N=b.x-C,P=b.y-_,T=x.width/2,I=x.height/2;if(!N&&!P)throw new Error("Not possible to find intersection inside of the rectangle");var O,q;return Math.abs(P)*T>Math.abs(N)*I?(P<0&&(I=-I),O=I*N/P,q=I):(N<0&&(T=-T),O=T,q=T*P/N),{x:C+O,y:_+q}}function f(x){var b=e.map(e.range(m(x)+1),function(){return[]});return e.forEach(x.nodes(),function(C){var _=x.node(C),N=_.rank;e.isUndefined(N)||(b[N][_.order]=C)}),b}function d(x){var b=e.min(e.map(x.nodes(),function(C){return x.node(C).rank}));e.forEach(x.nodes(),function(C){var _=x.node(C);e.has(_,"rank")&&(_.rank-=b)})}function h(x){var b=e.min(e.map(x.nodes(),function(P){return x.node(P).rank})),C=[];e.forEach(x.nodes(),function(P){var T=x.node(P).rank-b;C[T]||(C[T]=[]),C[T].push(P)});var _=0,N=x.graph().nodeRankFactor;e.forEach(C,function(P,T){e.isUndefined(P)&&T%N!==0?--_:_&&e.forEach(P,function(I){x.node(I).rank+=_})})}function p(x,b,C,_){var N={width:0,height:0};return arguments.length>=4&&(N.rank=C,N.order=_),n(x,"border",N,b)}function m(x){return e.max(e.map(x.nodes(),function(b){var C=x.node(b).rank;if(!e.isUndefined(C))return C}))}function v(x,b){var C={lhs:[],rhs:[]};return e.forEach(x,function(_){b(_)?C.lhs.push(_):C.rhs.push(_)}),C}function E(x,b){var C=e.now();try{return b()}finally{console.log(x+" time: "+(e.now()-C)+"ms")}}function y(x,b){return b()}return uv}var cv,qP;function P8(){if(qP)return cv;qP=1;var e=He(),t=St();cv={run:n,undo:i};function n(a){a.graph().dummyChains=[],e.forEach(a.edges(),function(l){o(a,l)})}function o(a,l){var u=l.v,f=a.node(u).rank,d=l.w,h=a.node(d).rank,p=l.name,m=a.edge(l),v=m.labelRank;if(h!==f+1){a.removeEdge(l);var E,y,x;for(x=0,++f;fq.lim&&(G=q,F=!0);var j=e.filter(N.edges(),function(W){return F===C(_,_.node(W.v),G)&&F!==C(_,_.node(W.w),G)});return e.minBy(j,function(W){return n(N,W)})}function y(_,N,P,T){var I=P.v,O=P.w;_.removeEdge(I,O),_.setEdge(T.v,T.w,{}),p(_),f(_,N),x(_,N)}function x(_,N){var P=e.find(_.nodes(),function(I){return!N.node(I).parent}),T=i(_,P);T=T.slice(1),e.forEach(T,function(I){var O=_.node(I).parent,q=N.edge(I,O),G=!1;q||(q=N.edge(O,I),G=!0),N.node(I).rank=N.node(O).rank+(G?q.minlen:-q.minlen)})}function b(_,N,P){return _.hasEdge(N,P)}function C(_,N,P){return P.low<=N.lim&&N.lim<=P.lim}return hv}var pv,VP;function A8(){if(VP)return pv;VP=1;var e=Yl(),t=e.longestPath,n=$P(),o=T8();pv=i;function i(f){switch(f.graph().ranker){case"network-simplex":u(f);break;case"tight-tree":l(f);break;case"longest-path":a(f);break;default:u(f)}}var a=t;function l(f){t(f),n(f)}function u(f){o(f)}return pv}var gv,HP;function I8(){if(HP)return gv;HP=1;var e=He();gv=t;function t(i){var a=o(i);e.forEach(i.graph().dummyChains,function(l){for(var u=i.node(l),f=u.edgeObj,d=n(i,a,f.v,f.w),h=d.path,p=d.lca,m=0,v=h[m],E=!0;l!==f.w;){if(u=i.node(l),E){for(;(v=h[m])!==p&&i.node(v).maxRankh||p>a[m].lim));for(v=m,m=u;(m=i.parent(m))!==v;)d.push(m);return{path:f.concat(d.reverse()),lca:v}}function o(i){var a={},l=0;function u(f){var d=l;e.forEach(i.children(f),u),a[f]={low:d,lim:l++}}return e.forEach(i.children(),u),a}return gv}var mv,WP;function M8(){if(WP)return mv;WP=1;var e=He(),t=St();mv={run:n,cleanup:l};function n(u){var f=t.addDummyNode(u,"root",{},"_root"),d=i(u),h=e.max(e.values(d))-1,p=2*h+1;u.graph().nestingRoot=f,e.forEach(u.edges(),function(v){u.edge(v).minlen*=p});var m=a(u)+1;e.forEach(u.children(),function(v){o(u,f,p,m,h,d,v)}),u.graph().nodeRankFactor=p}function o(u,f,d,h,p,m,v){var E=u.children(v);if(!E.length){v!==f&&u.setEdge(f,v,{weight:0,minlen:d});return}var y=t.addBorderNode(u,"_bt"),x=t.addBorderNode(u,"_bb"),b=u.node(v);u.setParent(y,v),b.borderTop=y,u.setParent(x,v),b.borderBottom=x,e.forEach(E,function(C){o(u,f,d,h,p,m,C);var _=u.node(C),N=_.borderTop?_.borderTop:C,P=_.borderBottom?_.borderBottom:C,T=_.borderTop?h:2*h,I=N!==P?1:p-m[v]+1;u.setEdge(y,N,{weight:T,minlen:I,nestingEdge:!0}),u.setEdge(P,x,{weight:T,minlen:I,nestingEdge:!0})}),u.parent(v)||u.setEdge(f,y,{weight:0,minlen:p+m[v]})}function i(u){var f={};function d(h,p){var m=u.children(h);m&&m.length&&e.forEach(m,function(v){d(v,p+1)}),f[h]=p}return e.forEach(u.children(),function(h){d(h,1)}),f}function a(u){return e.reduce(u.edges(),function(f,d){return f+u.edge(d).weight},0)}function l(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,e.forEach(u.edges(),function(d){var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return mv}var vv,UP;function O8(){if(UP)return vv;UP=1;var e=He(),t=St();vv=n;function n(i){function a(l){var u=i.children(l),f=i.node(l);if(u.length&&e.forEach(u,a),e.has(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(var d=f.minRank,h=f.maxRank+1;d0;)v%2&&(E+=h[v+1]),v=v-1>>1,h[v]+=m.weight;p+=m.weight*E})),p}return xv}var _v,XP;function q8(){if(XP)return _v;XP=1;var e=He();_v=t;function t(n,o){return e.map(o,function(i){var a=n.inEdges(i);if(a.length){var l=e.reduce(a,function(u,f){var d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:i,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:i}})}return _v}var bv,QP;function z8(){if(QP)return bv;QP=1;var e=He();bv=t;function t(i,a){var l={};e.forEach(i,function(f,d){var h=l[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};e.isUndefined(f.barycenter)||(h.barycenter=f.barycenter,h.weight=f.weight)}),e.forEach(a.edges(),function(f){var d=l[f.v],h=l[f.w];!e.isUndefined(d)&&!e.isUndefined(h)&&(h.indegree++,d.out.push(l[f.w]))});var u=e.filter(l,function(f){return!f.indegree});return n(u)}function n(i){var a=[];function l(d){return function(h){h.merged||(e.isUndefined(h.barycenter)||e.isUndefined(d.barycenter)||h.barycenter>=d.barycenter)&&o(d,h)}}function u(d){return function(h){h.in.push(d),--h.indegree===0&&i.push(h)}}for(;i.length;){var f=i.pop();a.push(f),e.forEach(f.in.reverse(),l(f)),e.forEach(f.out,u(f))}return e.map(e.filter(a,function(d){return!d.merged}),function(d){return e.pick(d,["vs","i","barycenter","weight"])})}function o(i,a){var l=0,u=0;i.weight&&(l+=i.barycenter*i.weight,u+=i.weight),a.weight&&(l+=a.barycenter*a.weight,u+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=l/u,i.weight=u,i.i=Math.min(a.i,i.i),a.merged=!0}return bv}var Sv,ZP;function F8(){if(ZP)return Sv;ZP=1;var e=He(),t=St();Sv=n;function n(a,l){var u=t.partition(a,function(y){return e.has(y,"barycenter")}),f=u.lhs,d=e.sortBy(u.rhs,function(y){return-y.i}),h=[],p=0,m=0,v=0;f.sort(i(!!l)),v=o(h,d,v),e.forEach(f,function(y){v+=y.vs.length,h.push(y.vs),p+=y.barycenter*y.weight,m+=y.weight,v=o(h,d,v)});var E={vs:e.flatten(h,!0)};return m&&(E.barycenter=p/m,E.weight=m),E}function o(a,l,u){for(var f;l.length&&(f=e.last(l)).i<=u;)l.pop(),a.push(f.vs),u++;return u}function i(a){return function(l,u){return l.barycenteru.barycenter?1:a?u.i-l.i:l.i-u.i}}return Sv}var Ev,JP;function $8(){if(JP)return Ev;JP=1;var e=He(),t=q8(),n=z8(),o=F8();Ev=i;function i(u,f,d,h){var p=u.children(f),m=u.node(f),v=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,y={};v&&(p=e.filter(p,function(P){return P!==v&&P!==E}));var x=t(u,p);e.forEach(x,function(P){if(u.children(P.v).length){var T=i(u,P.v,d,h);y[P.v]=T,e.has(T,"barycenter")&&l(P,T)}});var b=n(x,d);a(b,y);var C=o(b,h);if(v&&(C.vs=e.flatten([v,C.vs,E],!0),u.predecessors(v).length)){var _=u.node(u.predecessors(v)[0]),N=u.node(u.predecessors(E)[0]);e.has(C,"barycenter")||(C.barycenter=0,C.weight=0),C.barycenter=(C.barycenter*C.weight+_.order+N.order)/(C.weight+2),C.weight+=2}return C}function a(u,f){e.forEach(u,function(d){d.vs=e.flatten(d.vs.map(function(h){return f[h]?f[h].vs:h}),!0)})}function l(u,f){e.isUndefined(u.barycenter)?(u.barycenter=f.barycenter,u.weight=f.weight):(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight)}return Ev}var Cv,eT;function B8(){if(eT)return Cv;eT=1;var e=He(),t=hn().Graph;Cv=n;function n(i,a,l){var u=o(i),f=new t({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(d){return i.node(d)});return e.forEach(i.nodes(),function(d){var h=i.node(d),p=i.parent(d);(h.rank===a||h.minRank<=a&&a<=h.maxRank)&&(f.setNode(d),f.setParent(d,p||u),e.forEach(i[l](d),function(m){var v=m.v===d?m.w:m.v,E=f.edge(v,d),y=e.isUndefined(E)?0:E.weight;f.setEdge(v,d,{weight:i.edge(m).weight+y})}),e.has(h,"minRank")&&f.setNode(d,{borderLeft:h.borderLeft[a],borderRight:h.borderRight[a]}))}),f}function o(i){for(var a;i.hasNode(a=e.uniqueId("_root")););return a}return Cv}var kv,tT;function V8(){if(tT)return kv;tT=1;var e=He();kv=t;function t(n,o,i){var a={},l;e.forEach(i,function(u){for(var f=n.parent(u),d,h;f;){if(d=n.parent(f),d?(h=a[d],a[d]=f):(h=l,l=f),h&&h!==f){o.setEdge(h,f);return}f=d}})}return kv}var Nv,nT;function H8(){if(nT)return Nv;nT=1;var e=He(),t=D8(),n=j8(),o=$8(),i=B8(),a=V8(),l=hn().Graph,u=St();Nv=f;function f(m){var v=u.maxRank(m),E=d(m,e.range(1,v+1),"inEdges"),y=d(m,e.range(v-1,-1,-1),"outEdges"),x=t(m);p(m,x);for(var b=Number.POSITIVE_INFINITY,C,_=0,N=0;N<4;++_,++N){h(_%2?E:y,_%4>=2),x=u.buildLayerMatrix(m);var P=n(m,x);PG)&&l(_,W,F)})})}function P(T,I){var O=-1,q,G=0;return e.forEach(I,function(F,j){if(b.node(F).dummy==="border"){var W=b.predecessors(F);W.length&&(q=b.node(W[0]).order,N(I,G,j,O,q),G=j,O=q)}N(I,G,I.length,q,T.length)}),I}return e.reduce(C,P),_}function a(b,C){if(b.node(C).dummy)return e.find(b.predecessors(C),function(_){return b.node(_).dummy})}function l(b,C,_){if(C>_){var N=C;C=_,_=N}var P=b[C];P||(b[C]=P={}),P[_]=!0}function u(b,C,_){if(C>_){var N=C;C=_,_=N}return e.has(b[C],_)}function f(b,C,_,N){var P={},T={},I={};return e.forEach(C,function(O){e.forEach(O,function(q,G){P[q]=q,T[q]=q,I[q]=G})}),e.forEach(C,function(O){var q=-1;e.forEach(O,function(G){var F=N(G);if(F.length){F=e.sortBy(F,function(z){return I[z]});for(var j=(F.length-1)/2,W=Math.floor(j),L=Math.ceil(j);W<=L;++W){var H=F[W];T[G]===G&&q({})),o.setGraph({rankdir:n,nodesep:e6,ranksep:t6}),e.forEach(a=>{const{width:l,height:u}=cT(a);o.setNode(a.id,{width:l,height:u})}),t.forEach(a=>{o.setEdge(a.source,a.target)}),uT.layout(o),{nodes:e.map(a=>{const l=o.node(a.id),{width:u,height:f}=cT(a);return{...a,position:{x:l.x-u/2,y:l.y-f/2}}}),edges:t}}function r6(e,t,n){return{onLayout:k.useCallback(i=>{const{nodes:a}=n6(e,t,i);n(a)},[e,t,n])}}const fT=k.createContext(null),dT=k.createContext(null),hT=k.createContext(null),o6=()=>{const e=k.useContext(fT);if(!e)throw new Error("useSetNodesDict must be used within SetNodesDictContext.Provider");return e},pT=()=>{const e=k.useContext(dT);if(!e)throw new Error("useSetNodeValues must be used within SetNodeValuesContext.Provider");return e},gT=()=>{const e=k.useContext(hT);if(!e)throw new Error("useSetActionEvents must be used within SetActionEventsContext.Provider");return e};function i6({component:e,onValueChange:t}){var l;const n=qo(),o=gT(),i=((l=n==null?void 0:n.nodeData.values)==null?void 0:l[e.id])??e.value??0,a=()=>{if(e.action&&(n!=null&&n.nodeData.id)){console.log("🔵 ButtonComponent: Button clicked!",{action:e.action,node_id:n.nodeData.id,component_id:e.id,timestamp:Date.now()});const f={action:e.action,node_id:n.nodeData.id,component_id:e.id,timestamp:Date.now()};console.log("🔵 ButtonComponent: Created event object",f),o(d=>{console.log("🔵 ButtonComponent: Previous events",d);const h=[...d,f];return console.log("🔵 ButtonComponent: Setting new events array",h),h}),console.log("🔵 ButtonComponent: setActionEvents called")}else console.warn("⚠️ ButtonComponent: Cannot emit action",{hasAction:!!e.action,hasNodeId:!!(n!=null&&n.nodeData.id),context:n});const u=i+1;t==null||t(e.id,u)};return R.jsx(Xo,{variant:e.variant||"default",size:e.size||"default",disabled:e.disabled||!1,onClick:a,onMouseDown:u=>u.stopPropagation(),onPointerDown:u=>u.stopPropagation(),className:"w-full",style:{backgroundColor:e.bgColor,color:e.textColor,width:"100%",height:"100%"},children:e.label})}function s6({component:e}){const t=e.orientation!=="vertical";return R.jsx("div",{className:`component-divider ${t?"w-full h-px":"h-full w-px"} bg-gray-300`})}function a6({component:e}){return R.jsx("div",{className:"component-spacer",style:{width:e.size,height:e.size}})}function l6({cell:e,nodeId:t,onValueChange:n}){const o=e.layout||{type:"flex",direction:"column"},i=u6(e),a=c6(o);return R.jsx("div",{className:"nested-grid-cell",style:i,children:R.jsx("div",{className:"nested-grid-cell-content",style:a,children:e.components.map(l=>R.jsx(mT,{component:l,nodeId:t,onValueChange:n},l.id))})})}function u6(e){const t=e.coordinates.row_span||1,n=e.coordinates.col_span||1;return{gridRow:`${e.coordinates.row} / span ${t}`,gridColumn:`${e.coordinates.col} / span ${n}`}}function c6(e){return!e||e.type==="flex"||!e.type?{display:"flex",flexDirection:(e==null?void 0:e.direction)||"column",alignItems:(e==null?void 0:e.align)||"start",justifyContent:(e==null?void 0:e.justify)||"start",gap:(e==null?void 0:e.gap)||"4px",height:"100%",width:"100%"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start",height:"100%",width:"100%"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px",height:"100%",width:"100%"}:{}}function f6({component:e,nodeId:t,onValueChange:n}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"8px",minHeight:e.minHeight,minWidth:e.minWidth};return R.jsx("div",{className:`nested-grid ${e.className||""}`,style:o,children:e.cells.map(i=>R.jsx(l6,{cell:i,nodeId:t,onValueChange:n},i.id))})}function mT({component:e,nodeId:t,onValueChange:n}){switch(e.type){case"base-handle":return R.jsx(Qa,{component:e});case"labeled-handle":return R.jsx(Q_,{component:e});case"button-handle":return R.jsx(Z_,{component:e});case"text":return R.jsx(z3,{component:e,onValueChange:n});case"number":return R.jsx($3,{component:e,onValueChange:n});case"bool":return R.jsx(_z,{component:e,onValueChange:n});case"select":return R.jsx(B$,{component:e,onValueChange:n});case"progress":return R.jsx(aB,{component:e,onValueChange:n});case"header":return R.jsx(lB,{component:e});case"footer":return R.jsx(uB,{component:e});case"button":return R.jsx(i6,{component:e,onValueChange:n});case"divider":return R.jsx(s6,{component:e});case"spacer":return R.jsx(a6,{component:e});case"grid-layout":return R.jsx(f6,{component:e,nodeId:t,onValueChange:n});default:return console.warn(`Unknown component type: ${e.type}`),null}}function d6({grid:e,nodeId:t,onValueChange:n}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"0px",width:"100%",height:"100%"};return R.jsx("div",{className:"node-grid",style:o,children:e.cells.map(i=>R.jsx("div",{className:"grid-cell",style:{gridRow:`${i.coordinates.row} / span ${i.coordinates.row_span||1}`,gridColumn:`${i.coordinates.col} / span ${i.coordinates.col_span||1}`},children:R.jsx(h6,{cell:i,nodeId:t,onValueChange:n})},i.id))})}function h6({cell:e,nodeId:t,onValueChange:n}){const o=e.layout||{type:"flex",direction:"column"},i=p6(o);return R.jsx("div",{className:"grid-cell-content",style:i,children:e.components.map(a=>R.jsx(mT,{component:a,nodeId:t,onValueChange:n},a.id))})}function p6(e){return e.type==="flex"||!e.type?{display:"flex",flexDirection:e.direction||"column",alignItems:e.align||"start",justifyContent:e.justify||"start",gap:e.gap||"4px"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px"}:{}}var g6={};class Ov{constructor(t,n,o="Node"){uc(this,"grid");uc(this,"style");uc(this,"label");if(this.grid=t,this.style=n,this.label=o,!t)throw new Error("'grid' property is required in node definition.")}buildStyleConfig(){const{style:t}=this,n={};t!=null&&t.minWidth&&(n.minWidth=typeof t.minWidth=="number"?`${t.minWidth}px`:t.minWidth),t!=null&&t.maxWidth&&(n.maxWidth=typeof t.maxWidth=="number"?`${t.maxWidth}px`:t.maxWidth),t!=null&&t.borderRadius&&(n.borderRadius=t.borderRadius);const o=t!=null&&t.shadow?`shadow-${t.shadow}`:"shadow-md";return{style:n,className:Me("min-w-[200px] border-2 transition-all overflow-hidden !p-0 gap-0 bg-card text-card-foreground rounded-xl",o,t==null?void 0:t.className)}}buildComponent(){const{grid:t,label:n}=this,o=this.buildStyleConfig(),i=({id:a,data:l,selected:u})=>{const f=l,d=pT(),h=k.useCallback((v,E)=>{d(y=>({...y,[a]:{...y[a],[v]:E}}))},[a,d]),p=f.grid||t,m=k.useMemo(()=>({nodeId:a,nodeData:f||{label:n,grid:t,values:{}},onValueChange:h}),[a,f,h]);return R.jsx("div",{className:Me(o.className,u&&"border-primary shadow-lg ring-2 ring-primary/20"),style:o.style,children:R.jsx(J_.Provider,{value:m,children:R.jsx(d6,{grid:p,nodeId:a,onValueChange:h})})})};return k.memo(i,(a,l)=>{if(a.id!==l.id||a.selected!==l.selected)return!1;const u=a.data.values,f=l.data.values;return u===f?!0:!u||!f?u===f:JSON.stringify(u)===JSON.stringify(f)})}static buildComponent(t,n,o="Node"){return new Ov(t,n,o).buildComponent()}}function m6(e){const t={};for(const n of e)try{t[n.type]=Ov.buildComponent(n.definition.grid,n.definition.style,n.label)}catch(o){throw typeof g6.VITEST>"u"&&console.error(`Failed to build component for node type "${n.type}":`,o),o}return t}function v6({data:e}){const[t,n]=k.useState(e.nodes),[o,i]=k.useState(e.node_values),[a,l]=k.useState(e.edges),[u,f]=k.useState([]),[d,h]=k.useState(null),p=e.height||"600px",m=e.interactive!==!1,v=k.useMemo(()=>m6(e.node_templates),[e.node_templates]),E=k.useMemo(()=>Object.entries(t).map(([j,W])=>({id:j,...W})),[t]),y=k.useCallback(j=>{if(!m)return;const W=$x(j,E),L={};W.forEach(H=>{const{id:z,...Y}=H;L[z]=Y}),n(L)},[E,m]),x=k.useCallback(j=>{m&&l(W=>Bx(j,W))},[m]),b=k.useCallback(j=>{m&&l(W=>ex(j,W))},[m]),C=k.useCallback((j,W)=>{m&&(j.preventDefault(),h({id:W.id,type:"node",x:j.clientX,y:j.clientY}))},[m]),_=k.useCallback((j,W)=>{m&&(j.preventDefault(),h({id:W.id,type:"edge",x:j.clientX,y:j.clientY}))},[m]),N=k.useCallback(()=>{h(null)},[]),P=k.useCallback(()=>{!m||!d||(d.type==="node"?(n(j=>{const W={...j};return delete W[d.id],W}),l(j=>j.filter(W=>W.source!==d.id&&W.target!==d.id))):d.type==="edge"&&l(j=>j.filter(W=>W.id!==d.id)),h(null))},[d,m]),T=k.useCallback(j=>{if(!m)return;const W=`${j.type}-${Date.now()}`,L={type:j.type,position:{x:250,y:250},data:{}};n(H=>({...H,[W]:L}))},[m]),I=k.useCallback(j=>{n(W=>{const L=Object.entries(W).map(([Y,M])=>({id:Y,...M})),H=typeof j=="function"?j(L):j,z={};return H.forEach(Y=>{const{id:M,...$}=Y;z[M]=$}),z})},[n]),{onLayout:O}=r6(E,a,I),q=k.useCallback(()=>{O("TB")},[O]),G=k.useCallback(()=>{O("LR")},[O]);k.useEffect(()=>{E.length>0&&setTimeout(()=>{q()},100)},[]);const F=k.useCallback(()=>{const j={nodes:t,edges:a,node_values:o,node_templates:e.node_templates},W=JSON.stringify(j,null,2),L=new Blob([W],{type:"application/json"}),H=URL.createObjectURL(L),z=document.createElement("a");z.href=H,z.download="workflow.json",document.body.appendChild(z),z.click(),document.body.removeChild(z),URL.revokeObjectURL(H)},[t,a,o,e.node_templates]);return R.jsx("div",{style:{width:"100%",height:p,display:"flex",position:"relative",overflow:"hidden"},children:R.jsx(fT.Provider,{value:n,children:R.jsx(dT.Provider,{value:i,children:R.jsx(hT.Provider,{value:f,children:R.jsx(R_,{children:R.jsxs(x5,{defaultOpen:m,className:"!min-h-0 !h-full !w-full",children:[m&&R.jsxs(_5,{collapsible:"icon",className:"!relative !inset-auto !h-full",children:[R.jsxs(S5,{className:"flex flex-row items-center justify-between border-b",children:[R.jsx("span",{className:"text-sm font-semibold",children:"Add Nodes"}),R.jsx(b5,{})]}),R.jsx(A5,{onAddNode:T,templates:e.node_templates})]}),R.jsx("div",{style:{flex:1,height:"100%",position:"relative"},children:R.jsx(L5,{nodes:E,edges:a,nodeTypes:v,height:p,onNodesChange:y,onEdgesChange:x,onConnect:b,onNodeContextMenu:C,onEdgeContextMenu:_,onPaneClick:N,contextMenu:d,onDelete:P,onCloseContextMenu:()=>h(null),onExport:F,onLayoutVertical:q,onLayoutHorizontal:G})})]})})})})})})}function Lv(e,t){const n=document.getElementById(e);if(!n){console.error(`Container with id "${e}" not found`);return}UI.createRoot(n).render(R.jsx(v6,{data:t}))}if(typeof window<"u"){const e=()=>{const t=document.getElementById("pynodewidget-data");if(t&&t.textContent)try{const n=JSON.parse(t.textContent);Lv("pynodewidget-root",n)}catch(n){console.error("Failed to parse pynodewidget data:",n)}};document.readyState==="loading"?window.addEventListener("DOMContentLoaded",e):e()}return window.PyNodeWidget={initStandaloneFlow:Lv},Ft.initStandaloneFlow=Lv,Ft.useSetActionEvents=gT,Ft.useSetNodeValues=pT,Ft.useSetNodesDict=o6,Object.defineProperty(Ft,Symbol.toStringTag,{value:"Module"}),Ft})({}); diff --git a/src/pynodewidget/templates/standalone.html.jinja2 b/src/pynodewidget/templates/standalone.html.jinja2 new file mode 100644 index 0000000..414775c --- /dev/null +++ b/src/pynodewidget/templates/standalone.html.jinja2 @@ -0,0 +1,64 @@ + + + + + + {{ title }} + + {% if embed_css %} + + {% else %} + + {% endif %} + + +
+
Loading workflow visualization...
+
+ + + + + + {% if embed_js %} + + {% else %} + + {% endif %} + + diff --git a/src/pynodewidget/widget.py b/src/pynodewidget/widget.py index 90aa53d..0900e78 100644 --- a/src/pynodewidget/widget.py +++ b/src/pynodewidget/widget.py @@ -7,6 +7,21 @@ import json from .observable_dict import ObservableDict, ObservableDictTrait +# Reserved node type names in ReactFlow that should not be used as custom node types +# Using these names causes rendering issues and layout problems because ReactFlow +# has built-in node types with these names. When you try to use them, ReactFlow +# falls back to its default rendering instead of using your custom layout. +# +# - 'input': ReactFlow's built-in input node (for data sources) +# - 'output': ReactFlow's built-in output node (for data sinks) +# - 'default': ReactFlow's default node type +# - 'group': ReactFlow's group node for containing other nodes +# +# If validation blocks your preferred name, use alternatives like: +# 'output' → 'output_node', 'data_output', 'sink', 'destination' +# 'input' → 'input_node', 'data_input', 'source' +RESERVED_NODE_TYPES = {'input', 'output', 'default', 'group'} + def _to_plain_dict(obj): """Recursively convert ObservableDict to plain dict for serialization.""" @@ -188,6 +203,9 @@ def add_node_type( Returns: Self for method chaining + Raises: + ValueError: If type_name is reserved by ReactFlow + Example: >>> from pynodewidget.grid_layouts import create_three_column_grid >>> from pynodewidget.models import ButtonHandle, NumberField @@ -206,6 +224,14 @@ def add_node_type( >>> # Access values with Pythonic dict syntax >>> widget.values["processor-1"]["value"] = 50 """ + # Check for reserved node type names + if type_name.lower() in RESERVED_NODE_TYPES: + raise ValueError( + f"Node type name '{type_name}' is reserved by ReactFlow and cannot be used. " + f"Reserved names are: {', '.join(sorted(RESERVED_NODE_TYPES))}. " + f"Please use a different name like '{type_name}_node' or 'data_{type_name}'." + ) + from .models import NodeGrid # Convert NodeGrid model to dict if needed @@ -387,7 +413,8 @@ def export(self, filename: str, format: str = None) -> str: Args: filename: Output filename - format: Export format ('json' or 'yaml'). If None, auto-detects from filename + format: Export format ('json', 'yaml', 'html', 'png', 'jpeg'). + If None, auto-detects from filename Returns: Path to the exported file @@ -400,6 +427,8 @@ def export(self, filename: str, format: str = None) -> str: return self.export_yaml(filename) elif format == 'json': return self.export_json(filename) + elif format in ('html', 'htm'): + return self.export_html(filename) elif format in ('png', 'jpeg'): return self.export_image(filename) else: @@ -478,6 +507,118 @@ def _on_image_data_received(self, change): except Exception as e: print(f"✗ Failed to save image: {e}") + def export_html( + self, + filename: str = "workflow.html", + title: str = "PyNodeWidget Workflow", + height: str = None, + interactive: bool = True, + embed_assets: bool = True + ) -> str: + """Export the current flow as a standalone HTML file. + + Generates a self-contained HTML file that can be viewed in any web browser + without requiring a Python runtime or Jupyter notebook. The HTML includes + the complete ReactFlow visualization with all nodes, edges, and templates. + + Args: + filename: Output HTML filename + title: Page title for the HTML document + height: Height of the visualization (e.g., "600px", "100vh"). + If None, uses widget's current height setting + interactive: If True, allows panning, zooming, and node manipulation. + If False, creates a static view-only visualization + embed_assets: If True, inline all JavaScript and CSS into the HTML file + for single-file portability. If False, keeps assets separate. + + Returns: + Path to the exported HTML file + + Examples: + >>> # Export with default settings (interactive, embedded) + >>> widget.export_html("workflow.html") + >>> + >>> # Export static view-only version + >>> widget.export_html("workflow.html", interactive=False) + >>> + >>> # Export with separate asset files (smaller HTML) + >>> widget.export_html("workflow.html", embed_assets=False) + >>> + >>> # Custom height and title + >>> widget.export_html( + ... "my_dag.html", + ... title="My DAG Visualization", + ... height="100vh" + ... ) + """ + from jinja2 import Template + from pathlib import Path + + # Use widget's height if not specified + if height is None: + height = self.height + + # Prepare flow data + flow_data = { + "nodes": self.nodes, + "edges": self.edges, + "viewport": self.viewport, + "node_templates": self.node_templates, + "node_values": _to_plain_dict(self.node_values), + "height": height, + "interactive": interactive + } + + # Load template + template_path = Path(__file__).parent / "templates" / "standalone.html.jinja2" + if not template_path.exists(): + raise FileNotFoundError( + f"HTML template not found at {template_path}. " + "Please ensure the package is properly installed." + ) + + template_content = template_path.read_text() + template = Template(template_content) + + # Load JavaScript bundle + js_path = Path(__file__).parent / "static" / "standalone.iife.js" + css_path = Path(__file__).parent / "static" / "standalone.css" + + if not js_path.exists(): + raise FileNotFoundError( + f"Standalone JavaScript bundle not found at {js_path}. " + "Please rebuild the package with: cd js && npm run build:standalone" + ) + + # Read assets + js_content = js_path.read_text() if embed_assets else None + css_content = css_path.read_text() if embed_assets and css_path.exists() else None + + # Render template + html_content = template.render( + title=title, + flow_data=json.dumps(flow_data, indent=2), + embed_js=embed_assets, + embed_css=embed_assets and css_content is not None, + js_content=js_content, + css_content=css_content + ) + + # Write HTML file + output_path = Path(filename) + output_path.write_text(html_content) + + # Copy separate asset files if not embedding + if not embed_assets: + output_dir = output_path.parent + import shutil + shutil.copy(js_path, output_dir / "standalone.iife.js") + if css_path.exists(): + shutil.copy(css_path, output_dir / "standalone.css") + + print(f"HTML exported to {filename}") + return str(filename) + def export_image( self, filename: str, diff --git a/standalone.css b/standalone.css new file mode 100644 index 0000000..a8bc0d8 --- /dev/null +++ b/standalone.css @@ -0,0 +1 @@ +.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-xl:80rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!relative{position:relative!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.\!inset-auto{inset:auto!important}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\!h-full{height:100%!important}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[11px\]{height:11px}.h-\[450px\]{height:450px}.h-\[600px\]{height:600px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-\[11px\]{width:11px}.w-\[180px\]{width:180px}.w-\[300px\]{width:300px}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-screen-xl{max-width:var(--breakpoint-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[100px\]{min-width:100px}.min-w-\[150px\]{min-width:150px}.min-w-\[200px\]{min-width:200px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[10px\]{--tw-translate-x:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[10px\]{--tw-translate-y:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-b-primary{border-bottom-color:var(--primary)}.border-b-transparent{border-bottom-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-10{padding:calc(var(--spacing)*10)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-\[116px\]{padding-left:116px}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-secondary:is(.dark *){border-color:var(--secondary)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-secondary:is(.dark *){background-color:var(--secondary)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.pynodeflow-container{width:100%;height:100%;min-height:400px}.react-flow__handle{background:hsl(var(--primary));border:2px solid #fff;width:12px;height:12px}.react-flow__handle:hover{background:hsl(var(--primary)/.8)}.handle-wrapper{align-items:center;gap:8px;padding:4px 8px;display:flex;position:relative}.handle-input{flex-direction:row;justify-content:flex-start}.handle-output{flex-direction:row-reverse;justify-content:flex-end}.handle-base .handle-connector{flex-shrink:0}.handle-base .handle-label{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500}.handle-labeled .handle-connector{flex-shrink:0}.handle-labeled .handle-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.handle-button{background:hsl(var(--secondary));border:2px solid hsl(var(--border));cursor:pointer;border-radius:6px;min-width:120px;padding:8px 16px;transition:all .2s}.handle-button:hover{background:hsl(var(--accent));border-color:hsl(var(--primary));box-shadow:0 2px 4px #0000001a}.handle-button .handle-connector{flex-shrink:0}.handle-button .handle-label{color:hsl(var(--foreground));-webkit-user-select:none;user-select:none;text-align:center;flex:1;font-size:.875rem;font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/standalone.iife.js b/standalone.iife.js new file mode 100644 index 0000000..3f4494b --- /dev/null +++ b/standalone.iife.js @@ -0,0 +1,181 @@ +var PyNodeWidget=(function(Ft){"use strict";var QW=Object.defineProperty;var ZW=(Ft,zn,Fn)=>zn in Ft?QW(Ft,zn,{enumerable:!0,configurable:!0,writable:!0,value:Fn}):Ft[zn]=Fn;var uc=(Ft,zn,Fn)=>ZW(Ft,typeof zn!="symbol"?zn+"":zn,Fn);function zn(e,t){for(var n=0;no[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Fn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ca(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cc={exports:{}},Ii={},fc={exports:{}},Ae={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var R0;function zI(){if(R0)return Ae;R0=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator;function m(D){return D===null||typeof D!="object"?null:(D=p&&D[p]||D["@@iterator"],typeof D=="function"?D:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,y={};function x(D,U,ie){this.props=D,this.context=U,this.refs=y,this.updater=ie||v}x.prototype.isReactComponent={},x.prototype.setState=function(D,U){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,U,"setState")},x.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function b(){}b.prototype=x.prototype;function C(D,U,ie){this.props=D,this.context=U,this.refs=y,this.updater=ie||v}var _=C.prototype=new b;_.constructor=C,E(_,x.prototype),_.isPureReactComponent=!0;var N=Array.isArray,P=Object.prototype.hasOwnProperty,T={current:null},I={key:!0,ref:!0,__self:!0,__source:!0};function O(D,U,ie){var V,Z={},ee=null,X=null;if(U!=null)for(V in U.ref!==void 0&&(X=U.ref),U.key!==void 0&&(ee=""+U.key),U)P.call(U,V)&&!I.hasOwnProperty(V)&&(Z[V]=U[V]);var te=arguments.length-2;if(te===1)Z.children=ie;else if(1>>1,U=M[D];if(0>>1;Di(Z,Q))eei(X,Z)?(M[D]=X,M[ee]=Q,D=ee):(M[D]=Z,M[V]=Q,D=V);else if(eei(X,Q))M[D]=X,M[ee]=Q,D=ee;else break e}}return $}function i(M,$){var Q=M.sortIndex-$.sortIndex;return Q!==0?Q:M.id-$.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var f=[],d=[],h=1,p=null,m=3,v=!1,E=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(M){for(var $=n(d);$!==null;){if($.callback===null)o(d);else if($.startTime<=M)o(d),$.sortIndex=$.expirationTime,t(f,$);else break;$=n(d)}}function N(M){if(y=!1,_(M),!E)if(n(f)!==null)E=!0,z(P);else{var $=n(d);$!==null&&Y(N,$.startTime-M)}}function P(M,$){E=!1,y&&(y=!1,b(O),O=-1),v=!0;var Q=m;try{for(_($),p=n(f);p!==null&&(!(p.expirationTime>$)||M&&!F());){var D=p.callback;if(typeof D=="function"){p.callback=null,m=p.priorityLevel;var U=D(p.expirationTime<=$);$=e.unstable_now(),typeof U=="function"?p.callback=U:p===n(f)&&o(f),_($)}else o(f);p=n(f)}if(p!==null)var ie=!0;else{var V=n(d);V!==null&&Y(N,V.startTime-$),ie=!1}return ie}finally{p=null,m=Q,v=!1}}var T=!1,I=null,O=-1,q=5,G=-1;function F(){return!(e.unstable_now()-GM||125D?(M.sortIndex=Q,t(d,M),n(f)===null&&M===n(d)&&(y?(b(O),O=-1):y=!0,Y(N,Q-D))):(M.sortIndex=U,t(f,M),E||v||(E=!0,z(P))),M},e.unstable_shouldYield=F,e.unstable_wrapCallback=function(M){var $=m;return function(){var Q=m;m=$;try{return M.apply(this,arguments)}finally{m=Q}}}})(gc)),gc}var M0;function VI(){return M0||(M0=1,pc.exports=BI()),pc.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var O0;function HI(){if(O0)return _t;O0=1;var e=Mi(),t=VI();function n(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,c=1;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},p={};function m(r){return f.call(p,r)?!0:f.call(h,r)?!1:d.test(r)?p[r]=!0:(h[r]=!0,!1)}function v(r,s,c,g){if(c!==null&&c.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return g?!1:c!==null?!c.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function E(r,s,c,g){if(s===null||typeof s>"u"||v(r,s,c,g))return!0;if(g)return!1;if(c!==null)switch(c.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function y(r,s,c,g,w,S,A){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=g,this.attributeNamespace=w,this.mustUseProperty=c,this.propertyName=r,this.type=s,this.sanitizeURL=S,this.removeEmptyString=A}var x={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){x[r]=new y(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];x[s]=new y(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){x[r]=new y(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){x[r]=new y(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){x[r]=new y(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){x[r]=new y(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){x[r]=new y(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){x[r]=new y(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){x[r]=new y(r,5,!1,r.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function C(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(b,C);x[s]=new y(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(b,C);x[s]=new y(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(b,C);x[s]=new y(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){x[r]=new y(r,1,!1,r.toLowerCase(),null,!1,!1)}),x.xlinkHref=new y("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){x[r]=new y(r,1,!1,r.toLowerCase(),null,!0,!0)});function _(r,s,c,g){var w=x.hasOwnProperty(s)?x[s]:null;(w!==null?w.type!==0:g||!(2B||w[A]!==S[B]){var K=` +`+w[A].replace(" at new "," at ");return r.displayName&&K.includes("")&&(K=K.replace("",r.displayName)),K}while(1<=A&&0<=B);break}}}finally{ie=!1,Error.prepareStackTrace=c}return(r=r?r.displayName||r.name:"")?U(r):""}function Z(r){switch(r.tag){case 5:return U(r.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return r=V(r.type,!1),r;case 11:return r=V(r.type.render,!1),r;case 1:return r=V(r.type,!0),r;default:return""}}function ee(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case I:return"Fragment";case T:return"Portal";case q:return"Profiler";case O:return"StrictMode";case W:return"Suspense";case L:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case F:return(r.displayName||"Context")+".Consumer";case G:return(r._context.displayName||"Context")+".Provider";case j:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case H:return s=r.displayName||null,s!==null?s:ee(r.type)||"Memo";case z:s=r._payload,r=r._init;try{return ee(r(s))}catch{}}return null}function X(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ee(s);case 8:return s===O?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function te(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function se(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function ae(r){var s=se(r)?"checked":"value",c=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),g=""+r[s];if(!r.hasOwnProperty(s)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var w=c.get,S=c.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return w.call(this)},set:function(A){g=""+A,S.call(this,A)}}),Object.defineProperty(r,s,{enumerable:c.enumerable}),{getValue:function(){return g},setValue:function(A){g=""+A},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function ce(r){r._valueTracker||(r._valueTracker=ae(r))}function de(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var c=s.getValue(),g="";return r&&(g=se(r)?r.checked?"true":"false":r.value),r=g,r!==c?(s.setValue(r),!0):!1}function pe(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function be(r,s){var c=s.checked;return Q({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??r._wrapperState.initialChecked})}function me(r,s){var c=s.defaultValue==null?"":s.defaultValue,g=s.checked!=null?s.checked:s.defaultChecked;c=te(s.value!=null?s.value:c),r._wrapperState={initialChecked:g,initialValue:c,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function Re(r,s){s=s.checked,s!=null&&_(r,"checked",s,!1)}function Ee(r,s){Re(r,s);var c=te(s.value),g=s.type;if(c!=null)g==="number"?(c===0&&r.value===""||r.value!=c)&&(r.value=""+c):r.value!==""+c&&(r.value=""+c);else if(g==="submit"||g==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Ge(r,s.type,c):s.hasOwnProperty("defaultValue")&&Ge(r,s.type,te(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function Je(r,s,c){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var g=s.type;if(!(g!=="submit"&&g!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,c||s===r.value||(r.value=s),r.defaultValue=s}c=r.name,c!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,c!==""&&(r.name=c)}function Ge(r,s,c){(s!=="number"||pe(r.ownerDocument)!==r)&&(c==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+c&&(r.defaultValue=""+c))}var Ht=Array.isArray;function pt(r,s,c,g){if(r=r.options,s){s={};for(var w=0;w"+s.valueOf().toString()+"",s=Et.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function Gt(r,s){if(s){var c=r.firstChild;if(c&&c===r.lastChild&&c.nodeType===3){c.nodeValue=s;return}}r.textContent=s}var Xn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ri=["Webkit","ms","Moz","O"];Object.keys(Xn).forEach(function(r){ri.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Xn[s]=Xn[r]})});function Ot(r,s,c){return s==null||typeof s=="boolean"||s===""?"":c||typeof s!="number"||s===0||Xn.hasOwnProperty(r)&&Xn[r]?(""+s).trim():s+"px"}function Yt(r,s){r=r.style;for(var c in s)if(s.hasOwnProperty(c)){var g=c.indexOf("--")===0,w=Ot(c,s[c],g);c==="float"&&(c="cssFloat"),g?r.setProperty(c,w):r[c]=w}}var Dv=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function _s(r,s){if(s){if(Dv[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(n(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(n(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(n(61))}if(s.style!=null&&typeof s.style!="object")throw Error(n(62))}}function bs(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ss=null;function Es(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var Cs=null,vr=null,yr=null;function Kl(r){if(r=Ks(r)){if(typeof Cs!="function")throw Error(n(280));var s=r.stateNode;s&&(s=Eu(s),Cs(r.stateNode,r.type,s))}}function Xl(r){vr?yr?yr.push(r):yr=[r]:vr=r}function Ql(){if(vr){var r=vr,s=yr;if(yr=vr=null,Kl(r),s)for(r=0;r>>=0,r===0?32:31-(Uv(r)/Gv|0)|0}var ai=64,li=4194304;function On(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function ui(r,s){var c=r.pendingLanes;if(c===0)return 0;var g=0,w=r.suspendedLanes,S=r.pingedLanes,A=c&268435455;if(A!==0){var B=A&~w;B!==0?g=On(B):(S&=A,S!==0&&(g=On(S)))}else A=c&~w,A!==0?g=On(A):S!==0&&(g=On(S));if(g===0)return 0;if(s!==0&&s!==g&&(s&w)===0&&(w=g&-g,S=s&-s,w>=S||w===16&&(S&4194240)!==0))return s;if((g&4)!==0&&(g|=c&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=g;0c;c++)s.push(r);return s}function wr(r,s,c){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-Lt(s),r[s]=c}function y6(r,s){var c=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var g=r.eventTimes;for(r=r.expirationTimes;0=Fs),IT=" ",MT=!1;function OT(r,s){switch(r){case"keyup":return U6.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function LT(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var di=!1;function Y6(r,s){switch(r){case"compositionend":return LT(s);case"keypress":return s.which!==32?null:(MT=!0,IT);case"textInput":return r=s.data,r===IT&&MT?null:r;default:return null}}function K6(r,s){if(di)return r==="compositionend"||!ly&&OT(r,s)?(r=kT(),hu=ny=Er=null,di=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:c,offset:s-r};r=g}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=BT(c)}}function HT(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?HT(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function WT(){for(var r=window,s=pe();s instanceof r.HTMLIFrameElement;){try{var c=typeof s.contentWindow.location.href=="string"}catch{c=!1}if(c)r=s.contentWindow;else break;s=pe(r.document)}return s}function fy(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function oW(r){var s=WT(),c=r.focusedElem,g=r.selectionRange;if(s!==c&&c&&c.ownerDocument&&HT(c.ownerDocument.documentElement,c)){if(g!==null&&fy(c)){if(s=g.start,r=g.end,r===void 0&&(r=s),"selectionStart"in c)c.selectionStart=s,c.selectionEnd=Math.min(r,c.value.length);else if(r=(s=c.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var w=c.textContent.length,S=Math.min(g.start,w);g=g.end===void 0?S:Math.min(g.end,w),!r.extend&&S>g&&(w=g,g=S,S=w),w=VT(c,S);var A=VT(c,g);w&&A&&(r.rangeCount!==1||r.anchorNode!==w.node||r.anchorOffset!==w.offset||r.focusNode!==A.node||r.focusOffset!==A.offset)&&(s=s.createRange(),s.setStart(w.node,w.offset),r.removeAllRanges(),S>g?(r.addRange(s),r.extend(A.node,A.offset)):(s.setEnd(A.node,A.offset),r.addRange(s)))}}for(s=[],r=c;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c=document.documentMode,hi=null,dy=null,Hs=null,hy=!1;function UT(r,s,c){var g=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;hy||hi==null||hi!==pe(g)||(g=hi,"selectionStart"in g&&fy(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),Hs&&Vs(Hs,g)||(Hs=g,g=_u(dy,"onSelect"),0yi||(r.current=Cy[yi],Cy[yi]=null,yi--)}function ze(r,s){yi++,Cy[yi]=r.current,r.current=s}var Rr={},gt=Nr(Rr),Ct=Nr(!1),fo=Rr;function wi(r,s){var c=r.type.contextTypes;if(!c)return Rr;var g=r.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===s)return g.__reactInternalMemoizedMaskedChildContext;var w={},S;for(S in c)w[S]=s[S];return g&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=w),w}function kt(r){return r=r.childContextTypes,r!=null}function Cu(){Be(Ct),Be(gt)}function aA(r,s,c){if(gt.current!==Rr)throw Error(n(168));ze(gt,s),ze(Ct,c)}function lA(r,s,c){var g=r.stateNode;if(s=s.childContextTypes,typeof g.getChildContext!="function")return c;g=g.getChildContext();for(var w in g)if(!(w in s))throw Error(n(108,X(r)||"Unknown",w));return Q({},c,g)}function ku(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||Rr,fo=gt.current,ze(gt,r),ze(Ct,Ct.current),!0}function uA(r,s,c){var g=r.stateNode;if(!g)throw Error(n(169));c?(r=lA(r,s,fo),g.__reactInternalMemoizedMergedChildContext=r,Be(Ct),Be(gt),ze(gt,r)):Be(Ct),ze(Ct,c)}var Zn=null,Nu=!1,ky=!1;function cA(r){Zn===null?Zn=[r]:Zn.push(r)}function mW(r){Nu=!0,cA(r)}function Pr(){if(!ky&&Zn!==null){ky=!0;var r=0,s=qe;try{var c=Zn;for(qe=1;r>=A,w-=A,Jn=1<<32-Lt(s)+w|c<Pe?(ct=Ne,Ne=null):ct=Ne.sibling;var De=le(ne,Ne,re[Pe],he);if(De===null){Ne===null&&(Ne=ct);break}r&&Ne&&De.alternate===null&&s(ne,Ne),J=S(De,J,Pe),ke===null?Ce=De:ke.sibling=De,ke=De,Ne=ct}if(Pe===re.length)return c(ne,Ne),We&&po(ne,Pe),Ce;if(Ne===null){for(;PePe?(ct=Ne,Ne=null):ct=Ne.sibling;var qr=le(ne,Ne,De.value,he);if(qr===null){Ne===null&&(Ne=ct);break}r&&Ne&&qr.alternate===null&&s(ne,Ne),J=S(qr,J,Pe),ke===null?Ce=qr:ke.sibling=qr,ke=qr,Ne=ct}if(De.done)return c(ne,Ne),We&&po(ne,Pe),Ce;if(Ne===null){for(;!De.done;Pe++,De=re.next())De=fe(ne,De.value,he),De!==null&&(J=S(De,J,Pe),ke===null?Ce=De:ke.sibling=De,ke=De);return We&&po(ne,Pe),Ce}for(Ne=g(ne,Ne);!De.done;Pe++,De=re.next())De=ge(Ne,ne,Pe,De.value,he),De!==null&&(r&&De.alternate!==null&&Ne.delete(De.key===null?Pe:De.key),J=S(De,J,Pe),ke===null?Ce=De:ke.sibling=De,ke=De);return r&&Ne.forEach(function(XW){return s(ne,XW)}),We&&po(ne,Pe),Ce}function et(ne,J,re,he){if(typeof re=="object"&&re!==null&&re.type===I&&re.key===null&&(re=re.props.children),typeof re=="object"&&re!==null){switch(re.$$typeof){case P:e:{for(var Ce=re.key,ke=J;ke!==null;){if(ke.key===Ce){if(Ce=re.type,Ce===I){if(ke.tag===7){c(ne,ke.sibling),J=w(ke,re.props.children),J.return=ne,ne=J;break e}}else if(ke.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===z&&mA(Ce)===ke.type){c(ne,ke.sibling),J=w(ke,re.props),J.ref=Xs(ne,ke,re),J.return=ne,ne=J;break e}c(ne,ke);break}else s(ne,ke);ke=ke.sibling}re.type===I?(J=bo(re.props.children,ne.mode,he,re.key),J.return=ne,ne=J):(he=tc(re.type,re.key,re.props,null,ne.mode,he),he.ref=Xs(ne,J,re),he.return=ne,ne=he)}return A(ne);case T:e:{for(ke=re.key;J!==null;){if(J.key===ke)if(J.tag===4&&J.stateNode.containerInfo===re.containerInfo&&J.stateNode.implementation===re.implementation){c(ne,J.sibling),J=w(J,re.children||[]),J.return=ne,ne=J;break e}else{c(ne,J);break}else s(ne,J);J=J.sibling}J=S0(re,ne.mode,he),J.return=ne,ne=J}return A(ne);case z:return ke=re._init,et(ne,J,ke(re._payload),he)}if(Ht(re))return _e(ne,J,re,he);if($(re))return Se(ne,J,re,he);Au(ne,re)}return typeof re=="string"&&re!==""||typeof re=="number"?(re=""+re,J!==null&&J.tag===6?(c(ne,J.sibling),J=w(J,re),J.return=ne,ne=J):(c(ne,J),J=b0(re,ne.mode,he),J.return=ne,ne=J),A(ne)):c(ne,J)}return et}var Si=vA(!0),yA=vA(!1),Iu=Nr(null),Mu=null,Ei=null,Iy=null;function My(){Iy=Ei=Mu=null}function Oy(r){var s=Iu.current;Be(Iu),r._currentValue=s}function Ly(r,s,c){for(;r!==null;){var g=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,g!==null&&(g.childLanes|=s)):g!==null&&(g.childLanes&s)!==s&&(g.childLanes|=s),r===c)break;r=r.return}}function Ci(r,s){Mu=r,Iy=Ei=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Nt=!0),r.firstContext=null)}function Zt(r){var s=r._currentValue;if(Iy!==r)if(r={context:r,memoizedValue:s,next:null},Ei===null){if(Mu===null)throw Error(n(308));Ei=r,Mu.dependencies={lanes:0,firstContext:r}}else Ei=Ei.next=r;return s}var go=null;function Dy(r){go===null?go=[r]:go.push(r)}function wA(r,s,c,g){var w=s.interleaved;return w===null?(c.next=c,Dy(s)):(c.next=w.next,w.next=c),s.interleaved=c,tr(r,g)}function tr(r,s){r.lanes|=s;var c=r.alternate;for(c!==null&&(c.lanes|=s),c=r,r=r.return;r!==null;)r.childLanes|=s,c=r.alternate,c!==null&&(c.childLanes|=s),c=r,r=r.return;return c.tag===3?c.stateNode:null}var Tr=!1;function jy(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function xA(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function nr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Ar(r,s,c){var g=r.updateQueue;if(g===null)return null;if(g=g.shared,(Le&2)!==0){var w=g.pending;return w===null?s.next=s:(s.next=w.next,w.next=s),g.pending=s,tr(r,c)}return w=g.interleaved,w===null?(s.next=s,Dy(g)):(s.next=w.next,w.next=s),g.interleaved=s,tr(r,c)}function Ou(r,s,c){if(s=s.updateQueue,s!==null&&(s=s.shared,(c&4194240)!==0)){var g=s.lanes;g&=r.pendingLanes,c|=g,s.lanes=c,Qv(r,c)}}function _A(r,s){var c=r.updateQueue,g=r.alternate;if(g!==null&&(g=g.updateQueue,c===g)){var w=null,S=null;if(c=c.firstBaseUpdate,c!==null){do{var A={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};S===null?w=S=A:S=S.next=A,c=c.next}while(c!==null);S===null?w=S=s:S=S.next=s}else w=S=s;c={baseState:g.baseState,firstBaseUpdate:w,lastBaseUpdate:S,shared:g.shared,effects:g.effects},r.updateQueue=c;return}r=c.lastBaseUpdate,r===null?c.firstBaseUpdate=s:r.next=s,c.lastBaseUpdate=s}function Lu(r,s,c,g){var w=r.updateQueue;Tr=!1;var S=w.firstBaseUpdate,A=w.lastBaseUpdate,B=w.shared.pending;if(B!==null){w.shared.pending=null;var K=B,oe=K.next;K.next=null,A===null?S=oe:A.next=oe,A=K;var ue=r.alternate;ue!==null&&(ue=ue.updateQueue,B=ue.lastBaseUpdate,B!==A&&(B===null?ue.firstBaseUpdate=oe:B.next=oe,ue.lastBaseUpdate=K))}if(S!==null){var fe=w.baseState;A=0,ue=oe=K=null,B=S;do{var le=B.lane,ge=B.eventTime;if((g&le)===le){ue!==null&&(ue=ue.next={eventTime:ge,lane:0,tag:B.tag,payload:B.payload,callback:B.callback,next:null});e:{var _e=r,Se=B;switch(le=s,ge=c,Se.tag){case 1:if(_e=Se.payload,typeof _e=="function"){fe=_e.call(ge,fe,le);break e}fe=_e;break e;case 3:_e.flags=_e.flags&-65537|128;case 0:if(_e=Se.payload,le=typeof _e=="function"?_e.call(ge,fe,le):_e,le==null)break e;fe=Q({},fe,le);break e;case 2:Tr=!0}}B.callback!==null&&B.lane!==0&&(r.flags|=64,le=w.effects,le===null?w.effects=[B]:le.push(B))}else ge={eventTime:ge,lane:le,tag:B.tag,payload:B.payload,callback:B.callback,next:null},ue===null?(oe=ue=ge,K=fe):ue=ue.next=ge,A|=le;if(B=B.next,B===null){if(B=w.shared.pending,B===null)break;le=B,B=le.next,le.next=null,w.lastBaseUpdate=le,w.shared.pending=null}}while(!0);if(ue===null&&(K=fe),w.baseState=K,w.firstBaseUpdate=oe,w.lastBaseUpdate=ue,s=w.shared.interleaved,s!==null){w=s;do A|=w.lane,w=w.next;while(w!==s)}else S===null&&(w.shared.lanes=0);yo|=A,r.lanes=A,r.memoizedState=fe}}function bA(r,s,c){if(r=s.effects,s.effects=null,r!==null)for(s=0;sc?c:4,r(!0);var g=By.transition;By.transition={};try{r(!1),s()}finally{qe=c,By.transition=g}}function $A(){return Jt().memoizedState}function xW(r,s,c){var g=Lr(r);if(c={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null},BA(r))VA(s,c);else if(c=wA(r,s,c,g),c!==null){var w=xt();_n(c,r,g,w),HA(c,s,g)}}function _W(r,s,c){var g=Lr(r),w={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null};if(BA(r))VA(s,w);else{var S=r.alternate;if(r.lanes===0&&(S===null||S.lanes===0)&&(S=s.lastRenderedReducer,S!==null))try{var A=s.lastRenderedState,B=S(A,c);if(w.hasEagerState=!0,w.eagerState=B,mn(B,A)){var K=s.interleaved;K===null?(w.next=w,Dy(s)):(w.next=K.next,K.next=w),s.interleaved=w;return}}catch{}finally{}c=wA(r,s,w,g),c!==null&&(w=xt(),_n(c,r,g,w),HA(c,s,g))}}function BA(r){var s=r.alternate;return r===Qe||s!==null&&s===Qe}function VA(r,s){ea=qu=!0;var c=r.pending;c===null?s.next=s:(s.next=c.next,c.next=s),r.pending=s}function HA(r,s,c){if((c&4194240)!==0){var g=s.lanes;g&=r.pendingLanes,c|=g,s.lanes=c,Qv(r,c)}}var $u={readContext:Zt,useCallback:mt,useContext:mt,useEffect:mt,useImperativeHandle:mt,useInsertionEffect:mt,useLayoutEffect:mt,useMemo:mt,useReducer:mt,useRef:mt,useState:mt,useDebugValue:mt,useDeferredValue:mt,useTransition:mt,useMutableSource:mt,useSyncExternalStore:mt,useId:mt,unstable_isNewReconciler:!1},bW={readContext:Zt,useCallback:function(r,s){return jn().memoizedState=[r,s===void 0?null:s],r},useContext:Zt,useEffect:MA,useImperativeHandle:function(r,s,c){return c=c!=null?c.concat([r]):null,zu(4194308,4,DA.bind(null,s,r),c)},useLayoutEffect:function(r,s){return zu(4194308,4,r,s)},useInsertionEffect:function(r,s){return zu(4,2,r,s)},useMemo:function(r,s){var c=jn();return s=s===void 0?null:s,r=r(),c.memoizedState=[r,s],r},useReducer:function(r,s,c){var g=jn();return s=c!==void 0?c(s):s,g.memoizedState=g.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},g.queue=r,r=r.dispatch=xW.bind(null,Qe,r),[g.memoizedState,r]},useRef:function(r){var s=jn();return r={current:r},s.memoizedState=r},useState:AA,useDebugValue:Ky,useDeferredValue:function(r){return jn().memoizedState=r},useTransition:function(){var r=AA(!1),s=r[0];return r=wW.bind(null,r[1]),jn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,c){var g=Qe,w=jn();if(We){if(c===void 0)throw Error(n(407));c=c()}else{if(c=s(),ut===null)throw Error(n(349));(vo&30)!==0||kA(g,s,c)}w.memoizedState=c;var S={value:c,getSnapshot:s};return w.queue=S,MA(RA.bind(null,g,S,r),[r]),g.flags|=2048,ra(9,NA.bind(null,g,S,c,s),void 0,null),c},useId:function(){var r=jn(),s=ut.identifierPrefix;if(We){var c=er,g=Jn;c=(g&~(1<<32-Lt(g)-1)).toString(32)+c,s=":"+s+"R"+c,c=ta++,0<\/script>",r=r.removeChild(r.firstChild)):typeof g.is=="string"?r=A.createElement(c,{is:g.is}):(r=A.createElement(c),c==="select"&&(A=r,g.multiple?A.multiple=!0:g.size&&(A.size=g.size))):r=A.createElementNS(r,c),r[Ln]=s,r[Ys]=g,cI(r,s,!1,!1),s.stateNode=r;e:{switch(A=bs(c,g),c){case"dialog":$e("cancel",r),$e("close",r),w=g;break;case"iframe":case"object":case"embed":$e("load",r),w=g;break;case"video":case"audio":for(w=0;wTi&&(s.flags|=128,g=!0,oa(S,!1),s.lanes=4194304)}else{if(!g)if(r=Du(A),r!==null){if(s.flags|=128,g=!0,c=r.updateQueue,c!==null&&(s.updateQueue=c,s.flags|=4),oa(S,!0),S.tail===null&&S.tailMode==="hidden"&&!A.alternate&&!We)return vt(s),null}else 2*Ke()-S.renderingStartTime>Ti&&c!==1073741824&&(s.flags|=128,g=!0,oa(S,!1),s.lanes=4194304);S.isBackwards?(A.sibling=s.child,s.child=A):(c=S.last,c!==null?c.sibling=A:s.child=A,S.last=A)}return S.tail!==null?(s=S.tail,S.rendering=s,S.tail=s.sibling,S.renderingStartTime=Ke(),s.sibling=null,c=Xe.current,ze(Xe,g?c&1|2:c&1),s):(vt(s),null);case 22:case 23:return w0(),g=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==g&&(s.flags|=8192),g&&(s.mode&1)!==0?(zt&1073741824)!==0&&(vt(s),s.subtreeFlags&6&&(s.flags|=8192)):vt(s),null;case 24:return null;case 25:return null}throw Error(n(156,s.tag))}function TW(r,s){switch(Ry(s),s.tag){case 1:return kt(s.type)&&Cu(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ki(),Be(Ct),Be(gt),$y(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return zy(s),null;case 13:if(Be(Xe),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(n(340));bi()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return Be(Xe),null;case 4:return ki(),null;case 10:return Oy(s.type._context),null;case 22:case 23:return w0(),null;case 24:return null;default:return null}}var Wu=!1,yt=!1,AW=typeof WeakSet=="function"?WeakSet:Set,ye=null;function Ri(r,s){var c=r.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(g){Ze(r,s,g)}else c.current=null}function a0(r,s,c){try{c()}catch(g){Ze(r,s,g)}}var hI=!1;function IW(r,s){if(wy=fu,r=WT(),fy(r)){if("selectionStart"in r)var c={start:r.selectionStart,end:r.selectionEnd};else e:{c=(c=r.ownerDocument)&&c.defaultView||window;var g=c.getSelection&&c.getSelection();if(g&&g.rangeCount!==0){c=g.anchorNode;var w=g.anchorOffset,S=g.focusNode;g=g.focusOffset;try{c.nodeType,S.nodeType}catch{c=null;break e}var A=0,B=-1,K=-1,oe=0,ue=0,fe=r,le=null;t:for(;;){for(var ge;fe!==c||w!==0&&fe.nodeType!==3||(B=A+w),fe!==S||g!==0&&fe.nodeType!==3||(K=A+g),fe.nodeType===3&&(A+=fe.nodeValue.length),(ge=fe.firstChild)!==null;)le=fe,fe=ge;for(;;){if(fe===r)break t;if(le===c&&++oe===w&&(B=A),le===S&&++ue===g&&(K=A),(ge=fe.nextSibling)!==null)break;fe=le,le=fe.parentNode}fe=ge}c=B===-1||K===-1?null:{start:B,end:K}}else c=null}c=c||{start:0,end:0}}else c=null;for(xy={focusedElem:r,selectionRange:c},fu=!1,ye=s;ye!==null;)if(s=ye,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,ye=r;else for(;ye!==null;){s=ye;try{var _e=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(_e!==null){var Se=_e.memoizedProps,et=_e.memoizedState,ne=s.stateNode,J=ne.getSnapshotBeforeUpdate(s.elementType===s.type?Se:yn(s.type,Se),et);ne.__reactInternalSnapshotBeforeUpdate=J}break;case 3:var re=s.stateNode.containerInfo;re.nodeType===1?re.textContent="":re.nodeType===9&&re.documentElement&&re.removeChild(re.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(he){Ze(s,s.return,he)}if(r=s.sibling,r!==null){r.return=s.return,ye=r;break}ye=s.return}return _e=hI,hI=!1,_e}function ia(r,s,c){var g=s.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var w=g=g.next;do{if((w.tag&r)===r){var S=w.destroy;w.destroy=void 0,S!==void 0&&a0(s,c,S)}w=w.next}while(w!==g)}}function Uu(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var c=s=s.next;do{if((c.tag&r)===r){var g=c.create;c.destroy=g()}c=c.next}while(c!==s)}}function l0(r){var s=r.ref;if(s!==null){var c=r.stateNode;switch(r.tag){case 5:r=c;break;default:r=c}typeof s=="function"?s(r):s.current=r}}function pI(r){var s=r.alternate;s!==null&&(r.alternate=null,pI(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Ln],delete s[Ys],delete s[Ey],delete s[pW],delete s[gW])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function gI(r){return r.tag===5||r.tag===3||r.tag===4}function mI(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||gI(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function u0(r,s,c){var g=r.tag;if(g===5||g===6)r=r.stateNode,s?c.nodeType===8?c.parentNode.insertBefore(r,s):c.insertBefore(r,s):(c.nodeType===8?(s=c.parentNode,s.insertBefore(r,c)):(s=c,s.appendChild(r)),c=c._reactRootContainer,c!=null||s.onclick!==null||(s.onclick=Su));else if(g!==4&&(r=r.child,r!==null))for(u0(r,s,c),r=r.sibling;r!==null;)u0(r,s,c),r=r.sibling}function c0(r,s,c){var g=r.tag;if(g===5||g===6)r=r.stateNode,s?c.insertBefore(r,s):c.appendChild(r);else if(g!==4&&(r=r.child,r!==null))for(c0(r,s,c),r=r.sibling;r!==null;)c0(r,s,c),r=r.sibling}var ft=null,wn=!1;function Ir(r,s,c){for(c=c.child;c!==null;)vI(r,s,c),c=c.sibling}function vI(r,s,c){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount(lo,c)}catch{}switch(c.tag){case 5:yt||Ri(c,s);case 6:var g=ft,w=wn;ft=null,Ir(r,s,c),ft=g,wn=w,ft!==null&&(wn?(r=ft,c=c.stateNode,r.nodeType===8?r.parentNode.removeChild(c):r.removeChild(c)):ft.removeChild(c.stateNode));break;case 18:ft!==null&&(wn?(r=ft,c=c.stateNode,r.nodeType===8?Sy(r.parentNode,c):r.nodeType===1&&Sy(r,c),js(r)):Sy(ft,c.stateNode));break;case 4:g=ft,w=wn,ft=c.stateNode.containerInfo,wn=!0,Ir(r,s,c),ft=g,wn=w;break;case 0:case 11:case 14:case 15:if(!yt&&(g=c.updateQueue,g!==null&&(g=g.lastEffect,g!==null))){w=g=g.next;do{var S=w,A=S.destroy;S=S.tag,A!==void 0&&((S&2)!==0||(S&4)!==0)&&a0(c,s,A),w=w.next}while(w!==g)}Ir(r,s,c);break;case 1:if(!yt&&(Ri(c,s),g=c.stateNode,typeof g.componentWillUnmount=="function"))try{g.props=c.memoizedProps,g.state=c.memoizedState,g.componentWillUnmount()}catch(B){Ze(c,s,B)}Ir(r,s,c);break;case 21:Ir(r,s,c);break;case 22:c.mode&1?(yt=(g=yt)||c.memoizedState!==null,Ir(r,s,c),yt=g):Ir(r,s,c);break;default:Ir(r,s,c)}}function yI(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var c=r.stateNode;c===null&&(c=r.stateNode=new AW),s.forEach(function(g){var w=$W.bind(null,r,g);c.has(g)||(c.add(g),g.then(w,w))})}}function xn(r,s){var c=s.deletions;if(c!==null)for(var g=0;gw&&(w=A),g&=~S}if(g=w,g=Ke()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*OW(g/1960))-g,10r?16:r,Or===null)var g=!1;else{if(r=Or,Or=null,Qu=0,(Le&6)!==0)throw Error(n(331));var w=Le;for(Le|=4,ye=r.current;ye!==null;){var S=ye,A=S.child;if((ye.flags&16)!==0){var B=S.deletions;if(B!==null){for(var K=0;KKe()-h0?xo(r,0):d0|=c),Pt(r,s)}function AI(r,s){s===0&&((r.mode&1)===0?s=1:(s=li,li<<=1,(li&130023424)===0&&(li=4194304)));var c=xt();r=tr(r,s),r!==null&&(wr(r,s,c),Pt(r,c))}function FW(r){var s=r.memoizedState,c=0;s!==null&&(c=s.retryLane),AI(r,c)}function $W(r,s){var c=0;switch(r.tag){case 13:var g=r.stateNode,w=r.memoizedState;w!==null&&(c=w.retryLane);break;case 19:g=r.stateNode;break;default:throw Error(n(314))}g!==null&&g.delete(s),AI(r,c)}var II;II=function(r,s,c){if(r!==null)if(r.memoizedProps!==s.pendingProps||Ct.current)Nt=!0;else{if((r.lanes&c)===0&&(s.flags&128)===0)return Nt=!1,RW(r,s,c);Nt=(r.flags&131072)!==0}else Nt=!1,We&&(s.flags&1048576)!==0&&fA(s,Pu,s.index);switch(s.lanes=0,s.tag){case 2:var g=s.type;Hu(r,s),r=s.pendingProps;var w=wi(s,gt.current);Ci(s,c),w=Hy(null,s,g,r,w,c);var S=Wy();return s.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,kt(g)?(S=!0,ku(s)):S=!1,s.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,jy(s),w.updater=Bu,s.stateNode=w,w._reactInternals=s,Qy(s,g,r,c),s=t0(null,s,g,!0,S,c)):(s.tag=0,We&&S&&Ny(s),wt(null,s,w,c),s=s.child),s;case 16:g=s.elementType;e:{switch(Hu(r,s),r=s.pendingProps,w=g._init,g=w(g._payload),s.type=g,w=s.tag=VW(g),r=yn(g,r),w){case 0:s=e0(null,s,g,r,c);break e;case 1:s=oI(null,s,g,r,c);break e;case 11:s=JA(null,s,g,r,c);break e;case 14:s=eI(null,s,g,yn(g.type,r),c);break e}throw Error(n(306,g,""))}return s;case 0:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),e0(r,s,g,w,c);case 1:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),oI(r,s,g,w,c);case 3:e:{if(iI(s),r===null)throw Error(n(387));g=s.pendingProps,S=s.memoizedState,w=S.element,xA(r,s),Lu(s,g,null,c);var A=s.memoizedState;if(g=A.element,S.isDehydrated)if(S={element:g,isDehydrated:!1,cache:A.cache,pendingSuspenseBoundaries:A.pendingSuspenseBoundaries,transitions:A.transitions},s.updateQueue.baseState=S,s.memoizedState=S,s.flags&256){w=Ni(Error(n(423)),s),s=sI(r,s,g,c,w);break e}else if(g!==w){w=Ni(Error(n(424)),s),s=sI(r,s,g,c,w);break e}else for(qt=kr(s.stateNode.containerInfo.firstChild),jt=s,We=!0,vn=null,c=yA(s,null,g,c),s.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(bi(),g===w){s=rr(r,s,c);break e}wt(r,s,g,c)}s=s.child}return s;case 5:return SA(s),r===null&&Ty(s),g=s.type,w=s.pendingProps,S=r!==null?r.memoizedProps:null,A=w.children,_y(g,w)?A=null:S!==null&&_y(g,S)&&(s.flags|=32),rI(r,s),wt(r,s,A,c),s.child;case 6:return r===null&&Ty(s),null;case 13:return aI(r,s,c);case 4:return qy(s,s.stateNode.containerInfo),g=s.pendingProps,r===null?s.child=Si(s,null,g,c):wt(r,s,g,c),s.child;case 11:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),JA(r,s,g,w,c);case 7:return wt(r,s,s.pendingProps,c),s.child;case 8:return wt(r,s,s.pendingProps.children,c),s.child;case 12:return wt(r,s,s.pendingProps.children,c),s.child;case 10:e:{if(g=s.type._context,w=s.pendingProps,S=s.memoizedProps,A=w.value,ze(Iu,g._currentValue),g._currentValue=A,S!==null)if(mn(S.value,A)){if(S.children===w.children&&!Ct.current){s=rr(r,s,c);break e}}else for(S=s.child,S!==null&&(S.return=s);S!==null;){var B=S.dependencies;if(B!==null){A=S.child;for(var K=B.firstContext;K!==null;){if(K.context===g){if(S.tag===1){K=nr(-1,c&-c),K.tag=2;var oe=S.updateQueue;if(oe!==null){oe=oe.shared;var ue=oe.pending;ue===null?K.next=K:(K.next=ue.next,ue.next=K),oe.pending=K}}S.lanes|=c,K=S.alternate,K!==null&&(K.lanes|=c),Ly(S.return,c,s),B.lanes|=c;break}K=K.next}}else if(S.tag===10)A=S.type===s.type?null:S.child;else if(S.tag===18){if(A=S.return,A===null)throw Error(n(341));A.lanes|=c,B=A.alternate,B!==null&&(B.lanes|=c),Ly(A,c,s),A=S.sibling}else A=S.child;if(A!==null)A.return=S;else for(A=S;A!==null;){if(A===s){A=null;break}if(S=A.sibling,S!==null){S.return=A.return,A=S;break}A=A.return}S=A}wt(r,s,w.children,c),s=s.child}return s;case 9:return w=s.type,g=s.pendingProps.children,Ci(s,c),w=Zt(w),g=g(w),s.flags|=1,wt(r,s,g,c),s.child;case 14:return g=s.type,w=yn(g,s.pendingProps),w=yn(g.type,w),eI(r,s,g,w,c);case 15:return tI(r,s,s.type,s.pendingProps,c);case 17:return g=s.type,w=s.pendingProps,w=s.elementType===g?w:yn(g,w),Hu(r,s),s.tag=1,kt(g)?(r=!0,ku(s)):r=!1,Ci(s,c),UA(s,g,w),Qy(s,g,w,c),t0(null,s,g,!0,r,c);case 19:return uI(r,s,c);case 22:return nI(r,s,c)}throw Error(n(156,s.tag))};function MI(r,s){return ru(r,s)}function BW(r,s,c,g){this.tag=r,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function tn(r,s,c,g){return new BW(r,s,c,g)}function _0(r){return r=r.prototype,!(!r||!r.isReactComponent)}function VW(r){if(typeof r=="function")return _0(r)?1:0;if(r!=null){if(r=r.$$typeof,r===j)return 11;if(r===H)return 14}return 2}function jr(r,s){var c=r.alternate;return c===null?(c=tn(r.tag,s,r.key,r.mode),c.elementType=r.elementType,c.type=r.type,c.stateNode=r.stateNode,c.alternate=r,r.alternate=c):(c.pendingProps=s,c.type=r.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=r.flags&14680064,c.childLanes=r.childLanes,c.lanes=r.lanes,c.child=r.child,c.memoizedProps=r.memoizedProps,c.memoizedState=r.memoizedState,c.updateQueue=r.updateQueue,s=r.dependencies,c.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},c.sibling=r.sibling,c.index=r.index,c.ref=r.ref,c}function tc(r,s,c,g,w,S){var A=2;if(g=r,typeof r=="function")_0(r)&&(A=1);else if(typeof r=="string")A=5;else e:switch(r){case I:return bo(c.children,w,S,s);case O:A=8,w|=8;break;case q:return r=tn(12,c,s,w|2),r.elementType=q,r.lanes=S,r;case W:return r=tn(13,c,s,w),r.elementType=W,r.lanes=S,r;case L:return r=tn(19,c,s,w),r.elementType=L,r.lanes=S,r;case Y:return nc(c,w,S,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case G:A=10;break e;case F:A=9;break e;case j:A=11;break e;case H:A=14;break e;case z:A=16,g=null;break e}throw Error(n(130,r==null?r:typeof r,""))}return s=tn(A,c,s,w),s.elementType=r,s.type=g,s.lanes=S,s}function bo(r,s,c,g){return r=tn(7,r,g,s),r.lanes=c,r}function nc(r,s,c,g){return r=tn(22,r,g,s),r.elementType=Y,r.lanes=c,r.stateNode={isHidden:!1},r}function b0(r,s,c){return r=tn(6,r,null,s),r.lanes=c,r}function S0(r,s,c){return s=tn(4,r.children!==null?r.children:[],r.key,s),s.lanes=c,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function HW(r,s,c,g,w){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Is(0),this.expirationTimes=Is(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Is(0),this.identifierPrefix=g,this.onRecoverableError=w,this.mutableSourceEagerHydrationData=null}function E0(r,s,c,g,w,S,A,B,K){return r=new HW(r,s,c,B,K),s===1?(s=1,S===!0&&(s|=8)):s=0,S=tn(3,null,null,s),r.current=S,S.stateNode=r,S.memoizedState={element:g,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},jy(S),r}function WW(r,s,c){var g=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),hc.exports=HI(),hc.exports}var j0;function WI(){if(j0)return fa;j0=1;var e=D0();return fa.createRoot=e.createRoot,fa.hydrateRoot=e.hydrateRoot,fa}var UI=WI();function tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n{}};function da(){for(var e=0,t=arguments.length,n={},o;e=0&&(o=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}ha.prototype=da.prototype={constructor:ha,on:function(e,t){var n=this._,o=YI(e+"",n),i,a=-1,l=o.length;if(arguments.length<2){for(;++a0)for(var n=new Array(i),o=0,i,a;o=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),z0.hasOwnProperty(t)?{space:z0[t],local:e}:e}function XI(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===mc&&t.documentElement.namespaceURI===mc?t.createElement(e):t.createElementNS(n,e)}}function QI(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function F0(e){var t=pa(e);return(t.local?QI:XI)(t)}function ZI(){}function vc(e){return e==null?ZI:function(){return this.querySelector(e)}}function JI(e){typeof e!="function"&&(e=vc(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i=_&&(_=C+1);!(P=x[_])&&++_=0;)(l=o[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function E2(e){e||(e=C2);function t(p,m){return p&&m?e(p.__data__,m.__data__):!p-!m}for(var n=this._groups,o=n.length,i=new Array(o),a=0;at?1:e>=t?0:NaN}function k2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function N2(){return Array.from(this)}function R2(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?z2:typeof t=="function"?$2:F2)(e,t,n??"")):So(this.node(),e)}function So(e,t){return e.style.getPropertyValue(t)||W0(e).getComputedStyle(e,null).getPropertyValue(t)}function V2(e){return function(){delete this[e]}}function H2(e,t){return function(){this[e]=t}}function W2(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function U2(e,t){return arguments.length>1?this.each((t==null?V2:typeof t=="function"?W2:H2)(e,t)):this.node()[e]}function U0(e){return e.trim().split(/^|\s+/)}function yc(e){return e.classList||new G0(e)}function G0(e){this._node=e,this._names=U0(e.getAttribute("class")||"")}G0.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Y0(e,t){for(var n=yc(e),o=-1,i=t.length;++o=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function xM(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,a;n()=>e;function xc(e,{sourceEvent:t,subject:n,target:o,identifier:i,active:a,x:l,y:u,dx:f,dy:d,dispatch:h}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:h}})}xc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function TM(e){return!e.ctrlKey&&!e.button}function AM(){return this.parentNode}function IM(e,t){return t??{x:e.x,y:e.y}}function MM(){return navigator.maxTouchPoints||"ontouchstart"in this}function ew(){var e=TM,t=AM,n=IM,o=MM,i={},a=da("start","drag","end"),l=0,u,f,d,h,p=0;function m(N){N.on("mousedown.drag",v).filter(o).on("touchstart.drag",x).on("touchmove.drag",b,PM).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(N,P){if(!(h||!e.call(this,N,P))){var T=_(this,t.call(this,N,P),N,P,"mouse");T&&(At(N.view).on("mousemove.drag",E,Li).on("mouseup.drag",y,Li),Z0(N.view),wc(N),d=!1,u=N.clientX,f=N.clientY,T("start",N))}}function E(N){if(Eo(N),!d){var P=N.clientX-u,T=N.clientY-f;d=P*P+T*T>p}i.mouse("drag",N)}function y(N){At(N.view).on("mousemove.drag mouseup.drag",null),J0(N.view,d),Eo(N),i.mouse("end",N)}function x(N,P){if(e.call(this,N,P)){var T=N.changedTouches,I=t.call(this,N,P),O=T.length,q,G;for(q=0;q>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ya(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ya(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=LM.exec(e))?new bt(t[1],t[2],t[3],1):(t=DM.exec(e))?new bt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=jM.exec(e))?ya(t[1],t[2],t[3],t[4]):(t=qM.exec(e))?ya(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zM.exec(e))?lw(t[1],t[2]/100,t[3]/100,1):(t=FM.exec(e))?lw(t[1],t[2]/100,t[3]/100,t[4]):nw.hasOwnProperty(e)?iw(nw[e]):e==="transparent"?new bt(NaN,NaN,NaN,0):null}function iw(e){return new bt(e>>16&255,e>>8&255,e&255,1)}function ya(e,t,n,o){return o<=0&&(e=t=n=NaN),new bt(e,t,n,o)}function VM(e){return e instanceof Di||(e=zr(e)),e?(e=e.rgb(),new bt(e.r,e.g,e.b,e.opacity)):new bt}function bc(e,t,n,o){return arguments.length===1?VM(e):new bt(e,t,n,o??1)}function bt(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}_c(bt,bc,tw(Di,{brighter(e){return e=e==null?va:Math.pow(va,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ji:Math.pow(ji,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new bt(Fr(this.r),Fr(this.g),Fr(this.b),wa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:sw,formatHex:sw,formatHex8:HM,formatRgb:aw,toString:aw}));function sw(){return`#${$r(this.r)}${$r(this.g)}${$r(this.b)}`}function HM(){return`#${$r(this.r)}${$r(this.g)}${$r(this.b)}${$r((isNaN(this.opacity)?1:this.opacity)*255)}`}function aw(){const e=wa(this.opacity);return`${e===1?"rgb(":"rgba("}${Fr(this.r)}, ${Fr(this.g)}, ${Fr(this.b)}${e===1?")":`, ${e})`}`}function wa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $r(e){return e=Fr(e),(e<16?"0":"")+e.toString(16)}function lw(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new rn(e,t,n,o)}function uw(e){if(e instanceof rn)return new rn(e.h,e.s,e.l,e.opacity);if(e instanceof Di||(e=zr(e)),!e)return new rn;if(e instanceof rn)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,i=Math.min(t,n,o),a=Math.max(t,n,o),l=NaN,u=a-i,f=(a+i)/2;return u?(t===a?l=(n-o)/u+(n0&&f<1?0:l,new rn(l,u,f,e.opacity)}function WM(e,t,n,o){return arguments.length===1?uw(e):new rn(e,t,n,o??1)}function rn(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}_c(rn,WM,tw(Di,{brighter(e){return e=e==null?va:Math.pow(va,e),new rn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ji:Math.pow(ji,e),new rn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,i=2*n-o;return new bt(Sc(e>=240?e-240:e+120,i,o),Sc(e,i,o),Sc(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new rn(cw(this.h),xa(this.s),xa(this.l),wa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=wa(this.opacity);return`${e===1?"hsl(":"hsla("}${cw(this.h)}, ${xa(this.s)*100}%, ${xa(this.l)*100}%${e===1?")":`, ${e})`}`}}));function cw(e){return e=(e||0)%360,e<0?e+360:e}function xa(e){return Math.max(0,Math.min(1,e||0))}function Sc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Ec=e=>()=>e;function UM(e,t){return function(n){return e+n*t}}function GM(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function YM(e){return(e=+e)==1?fw:function(t,n){return n-t?GM(t,n,e):Ec(isNaN(t)?n:t)}}function fw(e,t){var n=t-e;return n?UM(e,n):Ec(isNaN(e)?t:e)}const _a=(function e(t){var n=YM(t);function o(i,a){var l=n((i=bc(i)).r,(a=bc(a)).r),u=n(i.g,a.g),f=n(i.b,a.b),d=fw(i.opacity,a.opacity);return function(h){return i.r=l(h),i.g=u(h),i.b=f(h),i.opacity=d(h),i+""}}return o.gamma=e,o})(1);function KM(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,f.push({i:l,x:Sn(o,i)})),n=kc.lastIndex;return n180?h+=360:h-d>180&&(d+=360),m.push({i:p.push(i(p)+"rotate(",null,o)-2,x:Sn(d,h)})):h&&p.push(i(p)+"rotate("+h+o)}function u(d,h,p,m){d!==h?m.push({i:p.push(i(p)+"skewX(",null,o)-2,x:Sn(d,h)}):h&&p.push(i(p)+"skewX("+h+o)}function f(d,h,p,m,v,E){if(d!==p||h!==m){var y=v.push(i(v)+"scale(",null,",",null,")");E.push({i:y-4,x:Sn(d,p)},{i:y-2,x:Sn(h,m)})}else(p!==1||m!==1)&&v.push(i(v)+"scale("+p+","+m+")")}return function(d,h){var p=[],m=[];return d=e(d),h=e(h),a(d.translateX,d.translateY,h.translateX,h.translateY,p,m),l(d.rotate,h.rotate,p,m),u(d.skewX,h.skewX,p,m),f(d.scaleX,d.scaleY,h.scaleX,h.scaleY,p,m),d=h=null,function(v){for(var E=-1,y=m.length,x;++E=0&&e._call.call(void 0,t),e=e._next;--ko}function xw(){Br=(Ca=Vi.now())+ka,ko=Fi=0;try{cO()}finally{ko=0,dO(),Br=0}}function fO(){var e=Vi.now(),t=e-Ca;t>vw&&(ka-=t,Ca=e)}function dO(){for(var e,t=Ea,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Ea=n);Bi=e,Pc(o)}function Pc(e){if(!ko){Fi&&(Fi=clearTimeout(Fi));var t=e-Br;t>24?(e<1/0&&(Fi=setTimeout(xw,e-Vi.now()-ka)),$i&&($i=clearInterval($i))):($i||(Ca=Vi.now(),$i=setInterval(fO,vw)),ko=1,yw(xw))}}function _w(e,t,n){var o=new Na;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}var hO=da("start","end","cancel","interrupt"),pO=[],bw=0,Sw=1,Tc=2,Ra=3,Ew=4,Ac=5,Pa=6;function Ta(e,t,n,o,i,a){var l=e.__transition;if(!l)e.__transition={};else if(n in l)return;gO(e,n,{name:t,index:o,group:i,on:hO,tween:pO,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:bw})}function Ic(e,t){var n=on(e,t);if(n.state>bw)throw new Error("too late; already scheduled");return n}function En(e,t){var n=on(e,t);if(n.state>Ra)throw new Error("too late; already running");return n}function on(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function gO(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=ww(a,0,n.time);function a(d){n.state=Sw,n.timer.restart(l,n.delay,n.time),n.delay<=d&&l(d-n.delay)}function l(d){var h,p,m,v;if(n.state!==Sw)return f();for(h in o)if(v=o[h],v.name===n.name){if(v.state===Ra)return _w(l);v.state===Ew?(v.state=Pa,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete o[h]):+hTc&&o.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function WO(e,t,n){var o,i,a=HO(t)?Ic:En;return function(){var l=a(this,e),u=l.on;u!==o&&(i=(o=u).copy()).on(t,n),l.on=i}}function UO(e,t){var n=this._id;return arguments.length<2?on(this.node(),n).on.on(e):this.each(WO(n,e,t))}function GO(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function YO(){return this.on("end.remove",GO(this._id))}function KO(e){var t=this._name,n=this._id;typeof e!="function"&&(e=vc(e));for(var o=this._groups,i=o.length,a=new Array(i),l=0;l()=>e;function xL(e,{sourceEvent:t,target:n,transform:o,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function Vn(e,t,n){this.k=e,this.x=t,this.y=n}Vn.prototype={constructor:Vn,scale:function(e){return e===1?this:new Vn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Vn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ma=new Vn(1,0,0);Rw.prototype=Vn.prototype;function Rw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Ma;return e.__zoom}function Oc(e){e.stopImmediatePropagation()}function Hi(e){e.preventDefault(),e.stopImmediatePropagation()}function _L(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function bL(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Pw(){return this.__zoom||Ma}function SL(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function EL(){return navigator.maxTouchPoints||"ontouchstart"in this}function CL(e,t,n){var o=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],l=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function Tw(){var e=_L,t=bL,n=CL,o=SL,i=EL,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],u=250,f=Sa,d=da("start","zoom","end"),h,p,m,v=500,E=150,y=0,x=10;function b(L){L.property("__zoom",Pw).on("wheel.zoom",O,{passive:!1}).on("mousedown.zoom",q).on("dblclick.zoom",G).filter(i).on("touchstart.zoom",F).on("touchmove.zoom",j).on("touchend.zoom touchcancel.zoom",W).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(L,H,z,Y){var M=L.selection?L.selection():L;M.property("__zoom",Pw),L!==M?P(L,H,z,Y):M.interrupt().each(function(){T(this,arguments).event(Y).start().zoom(null,typeof H=="function"?H.apply(this,arguments):H).end()})},b.scaleBy=function(L,H,z,Y){b.scaleTo(L,function(){var M=this.__zoom.k,$=typeof H=="function"?H.apply(this,arguments):H;return M*$},z,Y)},b.scaleTo=function(L,H,z,Y){b.transform(L,function(){var M=t.apply(this,arguments),$=this.__zoom,Q=z==null?N(M):typeof z=="function"?z.apply(this,arguments):z,D=$.invert(Q),U=typeof H=="function"?H.apply(this,arguments):H;return n(_(C($,U),Q,D),M,l)},z,Y)},b.translateBy=function(L,H,z,Y){b.transform(L,function(){return n(this.__zoom.translate(typeof H=="function"?H.apply(this,arguments):H,typeof z=="function"?z.apply(this,arguments):z),t.apply(this,arguments),l)},null,Y)},b.translateTo=function(L,H,z,Y,M){b.transform(L,function(){var $=t.apply(this,arguments),Q=this.__zoom,D=Y==null?N($):typeof Y=="function"?Y.apply(this,arguments):Y;return n(Ma.translate(D[0],D[1]).scale(Q.k).translate(typeof H=="function"?-H.apply(this,arguments):-H,typeof z=="function"?-z.apply(this,arguments):-z),$,l)},Y,M)};function C(L,H){return H=Math.max(a[0],Math.min(a[1],H)),H===L.k?L:new Vn(H,L.x,L.y)}function _(L,H,z){var Y=H[0]-z[0]*L.k,M=H[1]-z[1]*L.k;return Y===L.x&&M===L.y?L:new Vn(L.k,Y,M)}function N(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function P(L,H,z,Y){L.on("start.zoom",function(){T(this,arguments).event(Y).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(Y).end()}).tween("zoom",function(){var M=this,$=arguments,Q=T(M,$).event(Y),D=t.apply(M,$),U=z==null?N(D):typeof z=="function"?z.apply(M,$):z,ie=Math.max(D[1][0]-D[0][0],D[1][1]-D[0][1]),V=M.__zoom,Z=typeof H=="function"?H.apply(M,$):H,ee=f(V.invert(U).concat(ie/V.k),Z.invert(U).concat(ie/Z.k));return function(X){if(X===1)X=Z;else{var te=ee(X),se=ie/te[2];X=new Vn(se,U[0]-te[0]*se,U[1]-te[1]*se)}Q.zoom(null,X)}})}function T(L,H,z){return!z&&L.__zooming||new I(L,H)}function I(L,H){this.that=L,this.args=H,this.active=0,this.sourceEvent=null,this.extent=t.apply(L,H),this.taps=0}I.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,H){return this.mouse&&L!=="mouse"&&(this.mouse[1]=H.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=H.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=H.invert(this.touch1[0])),this.that.__zoom=H,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var H=At(this.that).datum();d.call(L,this.that,new xL(L,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:d}),H)}};function O(L,...H){if(!e.apply(this,arguments))return;var z=T(this,H).event(L),Y=this.__zoom,M=Math.max(a[0],Math.min(a[1],Y.k*Math.pow(2,o.apply(this,arguments)))),$=nn(L);if(z.wheel)(z.mouse[0][0]!==$[0]||z.mouse[0][1]!==$[1])&&(z.mouse[1]=Y.invert(z.mouse[0]=$)),clearTimeout(z.wheel);else{if(Y.k===M)return;z.mouse=[$,Y.invert($)],Aa(this),z.start()}Hi(L),z.wheel=setTimeout(Q,E),z.zoom("mouse",n(_(C(Y,M),z.mouse[0],z.mouse[1]),z.extent,l));function Q(){z.wheel=null,z.end()}}function q(L,...H){if(m||!e.apply(this,arguments))return;var z=L.currentTarget,Y=T(this,H,!0).event(L),M=At(L.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",ie,!0),$=nn(L,z),Q=L.clientX,D=L.clientY;Z0(L.view),Oc(L),Y.mouse=[$,this.__zoom.invert($)],Aa(this),Y.start();function U(V){if(Hi(V),!Y.moved){var Z=V.clientX-Q,ee=V.clientY-D;Y.moved=Z*Z+ee*ee>y}Y.event(V).zoom("mouse",n(_(Y.that.__zoom,Y.mouse[0]=nn(V,z),Y.mouse[1]),Y.extent,l))}function ie(V){M.on("mousemove.zoom mouseup.zoom",null),J0(V.view,Y.moved),Hi(V),Y.event(V).end()}}function G(L,...H){if(e.apply(this,arguments)){var z=this.__zoom,Y=nn(L.changedTouches?L.changedTouches[0]:L,this),M=z.invert(Y),$=z.k*(L.shiftKey?.5:2),Q=n(_(C(z,$),Y,M),t.apply(this,H),l);Hi(L),u>0?At(this).transition().duration(u).call(P,Q,Y,L):At(this).call(b.transform,Q,Y,L)}}function F(L,...H){if(e.apply(this,arguments)){var z=L.touches,Y=z.length,M=T(this,H,L.changedTouches.length===Y).event(L),$,Q,D,U;for(Oc(L),Q=0;Q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Wi=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Aw=["Enter"," ","Escape"],Iw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var No;(function(e){e.Strict="strict",e.Loose="loose"})(No||(No={}));var Vr;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Vr||(Vr={}));var Ui;(function(e){e.Partial="partial",e.Full="full"})(Ui||(Ui={}));const Mw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ir;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ir||(ir={}));var Oa;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Oa||(Oa={}));var ve;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ve||(ve={}));const Ow={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top};function Lw(e){return e===null?null:e?"valid":"invalid"}const Dw=e=>"id"in e&&"source"in e&&"target"in e,kL=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Lc=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Gi=(e,t=[0,0])=>{const{width:n,height:o}=Hn(e),i=e.origin??t,a=n*i[0],l=o*i[1];return{x:e.position.x-a,y:e.position.y-l}},NL=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((o,i)=>{const a=typeof i=="string";let l=!t.nodeLookup&&!a?i:void 0;t.nodeLookup&&(l=a?t.nodeLookup.get(i):Lc(i)?i:t.nodeLookup.get(i.id));const u=l?ja(l,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return La(o,u)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Da(n)},Yi=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(i=>{(t.filter===void 0||t.filter(i))&&(n=La(n,ja(i)),o=!0)}),o?Da(n):{x:0,y:0,width:0,height:0}},Dc=(e,t,[n,o,i]=[0,0,1],a=!1,l=!1)=>{const u={...Qi(t,[n,o,i]),width:t.width/i,height:t.height/i},f=[];for(const d of e.values()){const{measured:h,selectable:p=!0,hidden:m=!1}=d;if(l&&!p||m)continue;const v=h.width??d.width??d.initialWidth??null,E=h.height??d.height??d.initialHeight??null,y=Ki(u,Po(d)),x=(v??0)*(E??0),b=a&&y>0;(!d.internals.handleBounds||b||y>=x||d.dragging)&&f.push(d)}return f},RL=(e,t)=>{const n=new Set;return e.forEach(o=>{n.add(o.id)}),t.filter(o=>n.has(o.source)||n.has(o.target))};function PL(e,t){const n=new Map,o=t!=null&&t.nodes?new Set(t.nodes.map(i=>i.id)):null;return e.forEach(i=>{i.measured.width&&i.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!i.hidden)&&(!o||o.has(i.id))&&n.set(i.id,i)}),n}async function TL({nodes:e,width:t,height:n,panZoom:o,minZoom:i,maxZoom:a},l){if(e.size===0)return Promise.resolve(!0);const u=PL(e,l),f=Yi(u),d=qc(f,t,n,(l==null?void 0:l.minZoom)??i,(l==null?void 0:l.maxZoom)??a,(l==null?void 0:l.padding)??.1);return await o.setViewport(d,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),Promise.resolve(!0)}function jw({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:i,onError:a}){const l=n.get(e),u=l.parentId?n.get(l.parentId):void 0,{x:f,y:d}=u?u.internals.positionAbsolute:{x:0,y:0},h=l.origin??o;let p=l.extent||i;if(l.extent==="parent"&&!l.expandParent)if(!u)a==null||a("005",Cn.error005());else{const v=u.measured.width,E=u.measured.height;v&&E&&(p=[[f,d],[f+v,d+E]])}else u&&Ao(l.extent)&&(p=[[l.extent[0][0]+f,l.extent[0][1]+d],[l.extent[1][0]+f,l.extent[1][1]+d]]);const m=Ao(p)?Hr(t,p,l.measured):t;return(l.measured.width===void 0||l.measured.height===void 0)&&(a==null||a("015",Cn.error015())),{position:{x:m.x-f+(l.measured.width??0)*h[0],y:m.y-d+(l.measured.height??0)*h[1]},positionAbsolute:m}}async function AL({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:i}){const a=new Set(e.map(m=>m.id)),l=[];for(const m of n){if(m.deletable===!1)continue;const v=a.has(m.id),E=!v&&m.parentId&&l.find(y=>y.id===m.parentId);(v||E)&&l.push(m)}const u=new Set(t.map(m=>m.id)),f=o.filter(m=>m.deletable!==!1),h=RL(l,f);for(const m of f)u.has(m.id)&&!h.find(E=>E.id===m.id)&&h.push(m);if(!i)return{edges:h,nodes:l};const p=await i({nodes:l,edges:h});return typeof p=="boolean"?p?{edges:h,nodes:l}:{edges:[],nodes:[]}:p}const Ro=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Hr=(e={x:0,y:0},t,n)=>({x:Ro(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:Ro(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function qw(e,t,n){const{width:o,height:i}=Hn(n),{x:a,y:l}=n.internals.positionAbsolute;return Hr(e,[[a,l],[a+o,l+i]],t)}const zw=(e,t,n)=>en?-Ro(Math.abs(e-n),1,t)/t:0,Fw=(e,t,n=15,o=40)=>{const i=zw(e.x,o,t.width-o)*n,a=zw(e.y,o,t.height-o)*n;return[i,a]},La=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),jc=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),Da=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),Po=(e,t=[0,0])=>{var i,a;const{x:n,y:o}=Lc(e)?e.internals.positionAbsolute:Gi(e,t);return{x:n,y:o,width:((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0,height:((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0}},ja=(e,t=[0,0])=>{var i,a;const{x:n,y:o}=Lc(e)?e.internals.positionAbsolute:Gi(e,t);return{x:n,y:o,x2:n+(((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0),y2:o+(((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0)}},$w=(e,t)=>Da(La(jc(e),jc(t))),Ki=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)},Bw=e=>sn(e.width)&&sn(e.height)&&sn(e.x)&&sn(e.y),sn=e=>!isNaN(e)&&isFinite(e),IL=(e,t)=>{},Xi=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Qi=({x:e,y:t},[n,o,i],a=!1,l=[1,1])=>{const u={x:(e-n)/i,y:(t-o)/i};return a?Xi(u,l):u},qa=({x:e,y:t},[n,o,i])=>({x:e*i+n,y:t*i+o});function To(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function ML(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=To(e,n),i=To(e,t);return{top:o,right:i,bottom:o,left:i,x:i*2,y:o*2}}if(typeof e=="object"){const o=To(e.top??e.y??0,n),i=To(e.bottom??e.y??0,n),a=To(e.left??e.x??0,t),l=To(e.right??e.x??0,t);return{top:o,right:l,bottom:i,left:a,x:a+l,y:o+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function OL(e,t,n,o,i,a){const{x:l,y:u}=qa(e,[t,n,o]),{x:f,y:d}=qa({x:e.x+e.width,y:e.y+e.height},[t,n,o]),h=i-f,p=a-d;return{left:Math.floor(l),top:Math.floor(u),right:Math.floor(h),bottom:Math.floor(p)}}const qc=(e,t,n,o,i,a)=>{const l=ML(a,t,n),u=(t-l.x)/e.width,f=(n-l.y)/e.height,d=Math.min(u,f),h=Ro(d,o,i),p=e.x+e.width/2,m=e.y+e.height/2,v=t/2-p*h,E=n/2-m*h,y=OL(e,v,E,h,t,n),x={left:Math.min(y.left-l.left,0),top:Math.min(y.top-l.top,0),right:Math.min(y.right-l.right,0),bottom:Math.min(y.bottom-l.bottom,0)};return{x:v-x.left+x.right,y:E-x.top+x.bottom,zoom:h}},Zi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Ao(e){return e!=null&&e!=="parent"}function Hn(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function Vw(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function Hw(e,t={width:0,height:0},n,o,i){const a={...e},l=o.get(n);if(l){const u=l.origin||i;a.x+=l.internals.positionAbsolute.x-(t.width??0)*u[0],a.y+=l.internals.positionAbsolute.y-(t.height??0)*u[1]}return a}function Ww(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function LL(){let e,t;return{promise:new Promise((o,i)=>{e=o,t=i}),resolve:e,reject:t}}function DL(e){return{...Iw,...e||{}}}function Ji(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:i}){const{x:a,y:l}=an(e),u=Qi({x:a-((i==null?void 0:i.left)??0),y:l-((i==null?void 0:i.top)??0)},o),{x:f,y:d}=n?Xi(u,t):u;return{xSnapped:f,ySnapped:d,...u}}const zc=e=>({width:e.offsetWidth,height:e.offsetHeight}),Uw=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},jL=["INPUT","SELECT","TEXTAREA"];function Gw(e){var o,i;const t=((i=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:i[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:jL.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Yw=e=>"clientX"in e,an=(e,t)=>{var a,l;const n=Yw(e),o=n?e.clientX:(a=e.touches)==null?void 0:a[0].clientX,i=n?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Kw=(e,t,n,o,i)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(u.left-n.left)/o,y:(u.top-n.top)/o,...zc(l)}})};function Xw({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:u}){const f=e*.125+i*.375+l*.375+n*.125,d=t*.125+a*.375+u*.375+o*.125,h=Math.abs(f-e),p=Math.abs(d-t);return[f,d,h,p]}function za(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Qw({pos:e,x1:t,y1:n,x2:o,y2:i,c:a}){switch(e){case ve.Left:return[t-za(t-o,a),n];case ve.Right:return[t+za(o-t,a),n];case ve.Top:return[t,n-za(n-i,a)];case ve.Bottom:return[t,n+za(i-n,a)]}}function Zw({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:o,targetY:i,targetPosition:a=ve.Top,curvature:l=.25}){const[u,f]=Qw({pos:n,x1:e,y1:t,x2:o,y2:i,c:l}),[d,h]=Qw({pos:a,x1:o,y1:i,x2:e,y2:t,c:l}),[p,m,v,E]=Xw({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${t} C${u},${f} ${d},${h} ${o},${i}`,p,m,v,E]}function Jw({sourceX:e,sourceY:t,targetX:n,targetY:o}){const i=Math.abs(n-e)/2,a=n0}const FL=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,$L=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),ex=(e,t)=>{if(!e.source||!e.target)return t;let n;return Dw(e)?n={...e}:n={...e,id:FL(e)},$L(n,t)?t:(n.sourceHandle===null&&delete n.sourceHandle,n.targetHandle===null&&delete n.targetHandle,t.concat(n))};function tx({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[i,a,l,u]=Jw({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,i,a,l,u]}const nx={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},BL=({source:e,sourcePosition:t=ve.Bottom,target:n})=>t===ve.Left||t===ve.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function VL({source:e,sourcePosition:t=ve.Bottom,target:n,targetPosition:o=ve.Top,center:i,offset:a,stepPosition:l}){const u=nx[t],f=nx[o],d={x:e.x+u.x*a,y:e.y+u.y*a},h={x:n.x+f.x*a,y:n.y+f.y*a},p=BL({source:d,sourcePosition:t,target:h}),m=p.x!==0?"x":"y",v=p[m];let E=[],y,x;const b={x:0,y:0},C={x:0,y:0},[,,_,N]=Jw({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(u[m]*f[m]===-1){m==="x"?(y=i.x??d.x+(h.x-d.x)*l,x=i.y??(d.y+h.y)/2):(y=i.x??(d.x+h.x)/2,x=i.y??d.y+(h.y-d.y)*l);const T=[{x:y,y:d.y},{x:y,y:h.y}],I=[{x:d.x,y:x},{x:h.x,y:x}];u[m]===v?E=m==="x"?T:I:E=m==="x"?I:T}else{const T=[{x:d.x,y:h.y}],I=[{x:h.x,y:d.y}];if(m==="x"?E=u.x===v?I:T:E=u.y===v?T:I,t===o){const j=Math.abs(e[m]-n[m]);if(j<=a){const W=Math.min(a-1,a-j);u[m]===v?b[m]=(d[m]>e[m]?-1:1)*W:C[m]=(h[m]>n[m]?-1:1)*W}}if(t!==o){const j=m==="x"?"y":"x",W=u[m]===f[j],L=d[j]>h[j],H=d[j]=F?(y=(O.x+q.x)/2,x=E[0].y):(y=E[0].x,x=(O.y+q.y)/2)}return[[e,{x:d.x+b.x,y:d.y+b.y},...E,{x:h.x+C.x,y:h.y+C.y},n],y,x,_,N]}function HL(e,t,n,o){const i=Math.min(rx(e,t)/2,rx(t,n)/2,o),{x:a,y:l}=t;if(e.x===a&&a===n.x||e.y===l&&l===n.y)return`L${a} ${l}`;if(e.y===l){const d=e.x{let N="";return _>0&&_n.id===t):e[0])||null}function $c(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function UL(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:i}){const a=new Set;return e.reduce((l,u)=>([u.markerStart||o,u.markerEnd||i].forEach(f=>{if(f&&typeof f=="object"){const d=$c(f,t);a.has(d)||(l.push({id:d,color:f.color||n,...f}),a.add(d))}}),l),[]).sort((l,u)=>l.id.localeCompare(u.id))}const ax=1e3,GL=10,Bc={nodeOrigin:[0,0],nodeExtent:Wi,elevateNodesOnSelect:!0,defaults:{}},YL={...Bc,checkEquality:!0};function Vc(e,t){const n={...e};for(const o in t)t[o]!==void 0&&(n[o]=t[o]);return n}function KL(e,t,n){const o=Vc(Bc,n);for(const i of e.values())if(i.parentId)Wc(i,e,t,o);else{const a=Gi(i,o.nodeOrigin),l=Ao(i.extent)?i.extent:o.nodeExtent,u=Hr(a,l,Hn(i));i.internals.positionAbsolute=u}}function XL(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],o=[];for(const i of e.handles){const a={id:i.id,width:i.width??1,height:i.height??1,nodeId:e.id,x:i.x,y:i.y,position:i.position,type:i.type};i.type==="source"?n.push(a):i.type==="target"&&o.push(a)}return{source:n,target:o}}function Hc(e,t,n,o){var d,h;const i=Vc(YL,o);let a={i:-1},l=e.length>0;const u=new Map(t),f=i!=null&&i.elevateNodesOnSelect?ax:0;t.clear(),n.clear();for(const p of e){let m=u.get(p.id);if(i.checkEquality&&p===(m==null?void 0:m.internals.userNode))t.set(p.id,m);else{const v=Gi(p,i.nodeOrigin),E=Ao(p.extent)?p.extent:i.nodeExtent,y=Hr(v,E,Hn(p));m={...i.defaults,...p,measured:{width:(d=p.measured)==null?void 0:d.width,height:(h=p.measured)==null?void 0:h.height},internals:{positionAbsolute:y,handleBounds:XL(p,m),z:lx(p,f),userNode:p}},t.set(p.id,m)}(m.measured===void 0||m.measured.width===void 0||m.measured.height===void 0)&&!m.hidden&&(l=!1),p.parentId&&Wc(m,t,n,o,a)}return l}function QL(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Wc(e,t,n,o,i){const{elevateNodesOnSelect:a,nodeOrigin:l,nodeExtent:u}=Vc(Bc,o),f=e.parentId,d=t.get(f);if(!d){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}QL(e,n),i&&!d.parentId&&d.internals.rootParentIndex===void 0&&(d.internals.rootParentIndex=++i.i,d.internals.z=d.internals.z+i.i*GL),i&&d.internals.rootParentIndex!==void 0&&(i.i=d.internals.rootParentIndex);const h=a?ax:0,{x:p,y:m,z:v}=ZL(e,d,l,u,h),{positionAbsolute:E}=e.internals,y=p!==E.x||m!==E.y;(y||v!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:m}:E,z:v}})}function lx(e,t){return(sn(e.zIndex)?e.zIndex:0)+(e.selected?t:0)}function ZL(e,t,n,o,i){const{x:a,y:l}=t.internals.positionAbsolute,u=Hn(e),f=Gi(e,n),d=Ao(e.extent)?Hr(f,e.extent,u):f;let h=Hr({x:a+d.x,y:l+d.y},o,u);e.extent==="parent"&&(h=qw(h,u,t));const p=lx(e,i),m=t.internals.z??0;return{x:h.x,y:h.y,z:m>=p?m+1:p}}function Uc(e,t,n,o=[0,0]){var l;const i=[],a=new Map;for(const u of e){const f=t.get(u.parentId);if(!f)continue;const d=((l=a.get(u.parentId))==null?void 0:l.expandedRect)??Po(f),h=$w(d,u.rect);a.set(u.parentId,{expandedRect:h,parent:f})}return a.size>0&&a.forEach(({expandedRect:u,parent:f},d)=>{var _;const h=f.internals.positionAbsolute,p=Hn(f),m=f.origin??o,v=u.x0||E>0||b||C)&&(i.push({id:d,type:"position",position:{x:f.position.x-v+b,y:f.position.y-E+C}}),(_=n.get(d))==null||_.forEach(N=>{e.some(P=>P.id===N.id)||i.push({id:N.id,type:"position",position:{x:N.position.x+v,y:N.position.y+E}})})),(p.width0){const m=Uc(p,t,n,i);f.push(...m)}return{changes:f,updatedInternals:u}}async function eD({delta:e,panZoom:t,transform:n,translateExtent:o,width:i,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const l=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],o),u=!!l&&(l.x!==n[0]||l.y!==n[1]||l.k!==n[2]);return Promise.resolve(u)}function ux(e,t,n,o,i,a){let l=i;const u=o.get(l)||new Map;o.set(l,u.set(n,t)),l=`${i}-${e}`;const f=o.get(l)||new Map;if(o.set(l,f.set(n,t)),a){l=`${i}-${e}-${a}`;const d=o.get(l)||new Map;o.set(l,d.set(n,t))}}function cx(e,t,n){e.clear(),t.clear();for(const o of n){const{source:i,target:a,sourceHandle:l=null,targetHandle:u=null}=o,f={edgeId:o.id,source:i,target:a,sourceHandle:l,targetHandle:u},d=`${i}-${l}--${a}-${u}`,h=`${a}-${u}--${i}-${l}`;ux("source",f,h,e,i,l),ux("target",f,d,e,a,u),t.set(o.id,o)}}function fx(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:fx(n,t):!1}function dx(e,t,n){var i;let o=e;do{if((i=o==null?void 0:o.matches)!=null&&i.call(o,t))return!0;if(o===n)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function tD(e,t,n,o){const i=new Map;for(const[a,l]of e)if((l.selected||l.id===o)&&(!l.parentId||!fx(l,e))&&(l.draggable||t&&typeof l.draggable>"u")){const u=e.get(a);u&&i.set(a,{id:a,position:u.position||{x:0,y:0},distance:{x:n.x-u.internals.positionAbsolute.x,y:n.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:u.measured.width??0,height:u.measured.height??0}})}return i}function Gc({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){var l,u,f;const i=[];for(const[d,h]of t){const p=(l=n.get(d))==null?void 0:l.internals.userNode;p&&i.push({...p,position:h.position,dragging:o})}if(!e)return[i[0],i];const a=(u=n.get(e))==null?void 0:u.internals.userNode;return[a?{...a,position:((f=t.get(e))==null?void 0:f.position)||a.position,dragging:o}:i[0],i]}function nD({dragItems:e,snapGrid:t,x:n,y:o}){const i=e.values().next().value;if(!i)return null;const a={x:n-i.distance.x,y:o-i.distance.y},l=Xi(a,t);return{x:l.x-a.x,y:l.y-a.y}}function rD({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:i}){let a={x:null,y:null},l=0,u=new Map,f=!1,d={x:0,y:0},h=null,p=!1,m=null,v=!1,E=!1,y=null;function x({noDragClassName:C,handleSelector:_,domNode:N,isSelectable:P,nodeId:T,nodeClickDistance:I=0}){m=At(N);function O({x:j,y:W}){const{nodeLookup:L,nodeExtent:H,snapGrid:z,snapToGrid:Y,nodeOrigin:M,onNodeDrag:$,onSelectionDrag:Q,onError:D,updateNodePositions:U}=t();a={x:j,y:W};let ie=!1;const V=u.size>1,Z=V&&H?jc(Yi(u)):null,ee=V&&Y?nD({dragItems:u,snapGrid:z,x:j,y:W}):null;for(const[X,te]of u){if(!L.has(X))continue;let se={x:j-te.distance.x,y:W-te.distance.y};Y&&(se=ee?{x:Math.round(se.x+ee.x),y:Math.round(se.y+ee.y)}:Xi(se,z));let ae=null;if(V&&H&&!te.extent&&Z){const{positionAbsolute:pe}=te.internals,be=pe.x-Z.x+H[0][0],me=pe.x+te.measured.width-Z.x2+H[1][0],Re=pe.y-Z.y+H[0][1],Ee=pe.y+te.measured.height-Z.y2+H[1][1];ae=[[be,Re],[me,Ee]]}const{position:ce,positionAbsolute:de}=jw({nodeId:X,nextPosition:se,nodeLookup:L,nodeExtent:ae||H,nodeOrigin:M,onError:D});ie=ie||te.position.x!==ce.x||te.position.y!==ce.y,te.position=ce,te.internals.positionAbsolute=de}if(E=E||ie,!!ie&&(U(u,!0),y&&(o||$||!T&&Q))){const[X,te]=Gc({nodeId:T,dragItems:u,nodeLookup:L});o==null||o(y,u,X,te),$==null||$(y,X,te),T||Q==null||Q(y,te)}}async function q(){if(!h)return;const{transform:j,panBy:W,autoPanSpeed:L,autoPanOnNodeDrag:H}=t();if(!H){f=!1,cancelAnimationFrame(l);return}const[z,Y]=Fw(d,h,L);(z!==0||Y!==0)&&(a.x=(a.x??0)-z/j[2],a.y=(a.y??0)-Y/j[2],await W({x:z,y:Y})&&O(a)),l=requestAnimationFrame(q)}function G(j){var V;const{nodeLookup:W,multiSelectionActive:L,nodesDraggable:H,transform:z,snapGrid:Y,snapToGrid:M,selectNodesOnDrag:$,onNodeDragStart:Q,onSelectionDragStart:D,unselectNodesAndEdges:U}=t();p=!0,(!$||!P)&&!L&&T&&((V=W.get(T))!=null&&V.selected||U()),P&&$&&T&&(e==null||e(T));const ie=Ji(j.sourceEvent,{transform:z,snapGrid:Y,snapToGrid:M,containerBounds:h});if(a=ie,u=tD(W,H,ie,T),u.size>0&&(n||Q||!T&&D)){const[Z,ee]=Gc({nodeId:T,dragItems:u,nodeLookup:W});n==null||n(j.sourceEvent,u,Z,ee),Q==null||Q(j.sourceEvent,Z,ee),T||D==null||D(j.sourceEvent,ee)}}const F=ew().clickDistance(I).on("start",j=>{const{domNode:W,nodeDragThreshold:L,transform:H,snapGrid:z,snapToGrid:Y}=t();h=(W==null?void 0:W.getBoundingClientRect())||null,v=!1,E=!1,y=j.sourceEvent,L===0&&G(j),a=Ji(j.sourceEvent,{transform:H,snapGrid:z,snapToGrid:Y,containerBounds:h}),d=an(j.sourceEvent,h)}).on("drag",j=>{const{autoPanOnNodeDrag:W,transform:L,snapGrid:H,snapToGrid:z,nodeDragThreshold:Y,nodeLookup:M}=t(),$=Ji(j.sourceEvent,{transform:L,snapGrid:H,snapToGrid:z,containerBounds:h});if(y=j.sourceEvent,(j.sourceEvent.type==="touchmove"&&j.sourceEvent.touches.length>1||T&&!M.has(T))&&(v=!0),!v){if(!f&&W&&p&&(f=!0,q()),!p){const Q=an(j.sourceEvent,h),D=Q.x-d.x,U=Q.y-d.y;Math.sqrt(D*D+U*U)>Y&&G(j)}(a.x!==$.xSnapped||a.y!==$.ySnapped)&&u&&p&&(d=an(j.sourceEvent,h),O($))}}).on("end",j=>{if(!(!p||v)&&(f=!1,p=!1,cancelAnimationFrame(l),u.size>0)){const{nodeLookup:W,updateNodePositions:L,onNodeDragStop:H,onSelectionDragStop:z}=t();if(E&&(L(u,!1),E=!1),i||H||!T&&z){const[Y,M]=Gc({nodeId:T,dragItems:u,nodeLookup:W,dragging:!1});i==null||i(j.sourceEvent,u,Y,M),H==null||H(j.sourceEvent,Y,M),T||z==null||z(j.sourceEvent,M)}}}).filter(j=>{const W=j.target;return!j.button&&(!C||!dx(W,`.${C}`,N))&&(!_||dx(W,_,N))});m.call(F)}function b(){m==null||m.on(".drag",null)}return{update:x,destroy:b}}function oD(e,t,n){const o=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())Ki(i,Po(a))>0&&o.push(a);return o}const iD=250;function sD(e,t,n,o){var u,f;let i=[],a=1/0;const l=oD(e,n,t+iD);for(const d of l){const h=[...((u=d.internals.handleBounds)==null?void 0:u.source)??[],...((f=d.internals.handleBounds)==null?void 0:f.target)??[]];for(const p of h){if(o.nodeId===p.nodeId&&o.type===p.type&&o.id===p.id)continue;const{x:m,y:v}=es(d,p,p.position,!0),E=Math.sqrt(Math.pow(m-e.x,2)+Math.pow(v-e.y,2));E>t||(E1){const d=o.type==="source"?"target":"source";return i.find(h=>h.type===d)??i[0]}return i[0]}function hx(e,t,n,o,i,a=!1){var d,h,p;const l=o.get(e);if(!l)return null;const u=i==="strict"?(d=l.internals.handleBounds)==null?void 0:d[t]:[...((h=l.internals.handleBounds)==null?void 0:h.source)??[],...((p=l.internals.handleBounds)==null?void 0:p.target)??[]],f=(n?u==null?void 0:u.find(m=>m.id===n):u==null?void 0:u[0])??null;return f&&a?{...f,...es(l,f,f.position,!0)}:f}function px(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function aD(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const gx=()=>!0;function lD(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:i,edgeUpdaterType:a,isTarget:l,domNode:u,nodeLookup:f,lib:d,autoPanOnConnect:h,flowId:p,panBy:m,cancelConnection:v,onConnectStart:E,onConnect:y,onConnectEnd:x,isValidConnection:b=gx,onReconnectEnd:C,updateConnection:_,getTransform:N,getFromHandle:P,autoPanSpeed:T,dragThreshold:I=1,handleDomNode:O}){const q=Uw(e.target);let G=0,F;const{x:j,y:W}=an(e),L=px(a,O),H=u==null?void 0:u.getBoundingClientRect();let z=!1;if(!H||!L)return;const Y=hx(i,L,o,f,t);if(!Y)return;let M=an(e,H),$=!1,Q=null,D=!1,U=null;function ie(){if(!h||!H)return;const[ce,de]=Fw(M,H,T);m({x:ce,y:de}),G=requestAnimationFrame(ie)}const V={...Y,nodeId:i,type:L,position:Y.position},Z=f.get(i);let X={inProgress:!0,isValid:null,from:es(Z,V,ve.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:Z,to:M,toHandle:null,toPosition:Ow[V.position],toNode:null,pointer:M};function te(){z=!0,_(X),E==null||E(e,{nodeId:i,handleId:o,handleType:L})}I===0&&te();function se(ce){if(!z){const{x:me,y:Re}=an(ce),Ee=me-j,Je=Re-W;if(!(Ee*Ee+Je*Je>I*I))return;te()}if(!P()||!V){ae(ce);return}const de=N();M=an(ce,H),F=sD(Qi(M,de,!1,[1,1]),n,f,V),$||(ie(),$=!0);const pe=mx(ce,{handle:F,connectionMode:t,fromNodeId:i,fromHandleId:o,fromType:l?"target":"source",isValidConnection:b,doc:q,lib:d,flowId:p,nodeLookup:f});U=pe.handleDomNode,Q=pe.connection,D=aD(!!F,pe.isValid);const be={...X,isValid:D,to:pe.toHandle&&D?qa({x:pe.toHandle.x,y:pe.toHandle.y},de):M,toHandle:pe.toHandle,toPosition:D&&pe.toHandle?pe.toHandle.position:Ow[V.position],toNode:pe.toHandle?f.get(pe.toHandle.nodeId):null,pointer:M};_(be),X=be}function ae(ce){if(!("touches"in ce&&ce.touches.length>0)){if(z){(F||U)&&Q&&D&&(y==null||y(Q));const{inProgress:de,...pe}=X,be={...pe,toPosition:X.toHandle?X.toPosition:null};x==null||x(ce,be),a&&(C==null||C(ce,be))}v(),cancelAnimationFrame(G),$=!1,D=!1,Q=null,U=null,q.removeEventListener("mousemove",se),q.removeEventListener("mouseup",ae),q.removeEventListener("touchmove",se),q.removeEventListener("touchend",ae)}}q.addEventListener("mousemove",se),q.addEventListener("mouseup",ae),q.addEventListener("touchmove",se),q.addEventListener("touchend",ae)}function mx(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:i,fromType:a,doc:l,lib:u,flowId:f,isValidConnection:d=gx,nodeLookup:h}){const p=a==="target",m=t?l.querySelector(`.${u}-flow__handle[data-id="${f}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:v,y:E}=an(e),y=l.elementFromPoint(v,E),x=y!=null&&y.classList.contains(`${u}-flow__handle`)?y:m,b={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){const C=px(void 0,x),_=x.getAttribute("data-nodeid"),N=x.getAttribute("data-handleid"),P=x.classList.contains("connectable"),T=x.classList.contains("connectableend");if(!_||!C)return b;const I={source:p?_:o,sourceHandle:p?N:i,target:p?o:_,targetHandle:p?i:N};b.connection=I;const q=P&&T&&(n===No.Strict?p&&C==="source"||!p&&C==="target":_!==o||N!==i);b.isValid=q&&d(I),b.toHandle=hx(_,C,N,h,n,!0)}return b}const Yc={onPointerDown:lD,isValid:mx};function uD({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const i=At(e);function a({translateExtent:u,width:f,height:d,zoomStep:h=1,pannable:p=!0,zoomable:m=!0,inversePan:v=!1}){const E=_=>{if(_.sourceEvent.type!=="wheel"||!t)return;const N=n(),P=_.sourceEvent.ctrlKey&&Zi()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*h,I=N[2]*Math.pow(2,T*P);t.scaleTo(I)};let y=[0,0];const x=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(y=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},b=_=>{const N=n();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!t)return;const P=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[P[0]-y[0],P[1]-y[1]];y=P;const I=o()*Math.max(N[2],Math.log(N[2]))*(v?-1:1),O={x:N[0]-T[0]*I,y:N[1]-T[1]*I},q=[[0,0],[f,d]];t.setViewportConstrained({x:O.x,y:O.y,zoom:N[2]},q,u)},C=Tw().on("start",x).on("zoom",p?b:null).on("zoom.wheel",m?E:null);i.call(C,{})}function l(){i.on("zoom",null)}return{update:a,destroy:l,pointer:nn}}const Fa=e=>({x:e.x,y:e.y,zoom:e.k}),Kc=({x:e,y:t,zoom:n})=>Ma.translate(e,t).scale(n),Io=(e,t)=>e.target.closest(`.${t}`),vx=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),cD=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Xc=(e,t=0,n=cD,o=()=>{})=>{const i=typeof t=="number"&&t>0;return i||o(),i?e.transition().duration(t).ease(n).on("end",o):e},yx=e=>{const t=e.ctrlKey&&Zi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function fD({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:l,onPanZoomStart:u,onPanZoom:f,onPanZoomEnd:d}){return h=>{if(Io(h,t))return h.ctrlKey&&h.preventDefault(),!1;h.preventDefault(),h.stopImmediatePropagation();const p=n.property("__zoom").k||1;if(h.ctrlKey&&l){const x=nn(h),b=yx(h),C=p*Math.pow(2,b);o.scaleTo(n,C,x,h);return}const m=h.deltaMode===1?20:1;let v=i===Vr.Vertical?0:h.deltaX*m,E=i===Vr.Horizontal?0:h.deltaY*m;!Zi()&&h.shiftKey&&i!==Vr.Vertical&&(v=h.deltaY*m,E=0),o.translateBy(n,-(v/p)*a,-(E/p)*a,{internal:!0});const y=Fa(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(f==null||f(h,y),e.panScrollTimeout=setTimeout(()=>{d==null||d(h,y),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,u==null||u(h,y))}}function dD({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,i){const a=o.type==="wheel",l=!t&&a&&!o.ctrlKey,u=Io(o,e);if(o.ctrlKey&&a&&u&&o.preventDefault(),l||u)return null;o.preventDefault(),n.call(this,o,i)}}function hD({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{var a,l,u;if((a=o.sourceEvent)!=null&&a.internal)return;const i=Fa(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=i,((u=o.sourceEvent)==null?void 0:u.type)==="mousedown"&&t(!0),n&&(n==null||n(o.sourceEvent,i))}}function pD({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:i}){return a=>{var l,u;e.usedRightMouseButton=!!(n&&vx(t,e.mouseButton??0)),(l=a.sourceEvent)!=null&&l.sync||o([a.transform.x,a.transform.y,a.transform.k]),i&&!((u=a.sourceEvent)!=null&&u.internal)&&(i==null||i(a.sourceEvent,Fa(a.transform)))}}function gD({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:i,onPaneContextMenu:a}){return l=>{var u;if(!((u=l.sourceEvent)!=null&&u.internal)&&(e.isZoomingOrPanning=!1,a&&vx(t,e.mouseButton??0)&&!e.usedRightMouseButton&&l.sourceEvent&&a(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),i)){const f=Fa(l.transform);e.prevViewport=f,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i==null||i(l.sourceEvent,f)},n?150:0)}}}function mD({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:o,panOnScroll:i,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:u,noPanClassName:f,lib:d,connectionInProgress:h}){return p=>{var x;const m=e||t,v=n&&p.ctrlKey,E=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Io(p,`${d}-flow__node`)||Io(p,`${d}-flow__edge`)))return!0;if(!o&&!m&&!i&&!a&&!n||l||h&&!E||Io(p,u)&&E||Io(p,f)&&(!E||i&&E&&!e)||!n&&p.ctrlKey&&E)return!1;if(!n&&p.type==="touchstart"&&((x=p.touches)==null?void 0:x.length)>1)return p.preventDefault(),!1;if(!m&&!i&&!v&&E||!o&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(o)&&!o.includes(p.button)&&p.type==="mousedown")return!1;const y=Array.isArray(o)&&o.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||E)&&y}}function vD({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:i,onPanZoom:a,onPanZoomStart:l,onPanZoomEnd:u,onDraggingChange:f}){const d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=e.getBoundingClientRect(),p=Tw().scaleExtent([t,n]).translateExtent(o),m=At(e).call(p);C({x:i.x,y:i.y,zoom:Ro(i.zoom,t,n)},[[0,0],[h.width,h.height]],o);const v=m.on("wheel.zoom"),E=m.on("dblclick.zoom");p.wheelDelta(yx);function y(F,j){return m?new Promise(W=>{p==null||p.interpolate((j==null?void 0:j.interpolate)==="linear"?zi:Sa).transform(Xc(m,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>W(!0)),F)}):Promise.resolve(!1)}function x({noWheelClassName:F,noPanClassName:j,onPaneContextMenu:W,userSelectionActive:L,panOnScroll:H,panOnDrag:z,panOnScrollMode:Y,panOnScrollSpeed:M,preventScrolling:$,zoomOnPinch:Q,zoomOnScroll:D,zoomOnDoubleClick:U,zoomActivationKeyPressed:ie,lib:V,onTransformChange:Z,connectionInProgress:ee,paneClickDistance:X,selectionOnDrag:te}){L&&!d.isZoomingOrPanning&&b();const se=H&&!ie&&!L;p.clickDistance(te?1/0:!sn(X)||X<0?0:X);const ae=se?fD({zoomPanValues:d,noWheelClassName:F,d3Selection:m,d3Zoom:p,panOnScrollMode:Y,panOnScrollSpeed:M,zoomOnPinch:Q,onPanZoomStart:l,onPanZoom:a,onPanZoomEnd:u}):dD({noWheelClassName:F,preventScrolling:$,d3ZoomHandler:v});if(m.on("wheel.zoom",ae,{passive:!1}),!L){const de=hD({zoomPanValues:d,onDraggingChange:f,onPanZoomStart:l});p.on("start",de);const pe=pD({zoomPanValues:d,panOnDrag:z,onPaneContextMenu:!!W,onPanZoom:a,onTransformChange:Z});p.on("zoom",pe);const be=gD({zoomPanValues:d,panOnDrag:z,panOnScroll:H,onPaneContextMenu:W,onPanZoomEnd:u,onDraggingChange:f});p.on("end",be)}const ce=mD({zoomActivationKeyPressed:ie,panOnDrag:z,zoomOnScroll:D,panOnScroll:H,zoomOnDoubleClick:U,zoomOnPinch:Q,userSelectionActive:L,noPanClassName:j,noWheelClassName:F,lib:V,connectionInProgress:ee});p.filter(ce),U?m.on("dblclick.zoom",E):m.on("dblclick.zoom",null)}function b(){p.on("zoom",null)}async function C(F,j,W){const L=Kc(F),H=p==null?void 0:p.constrain()(L,j,W);return H&&await y(H),new Promise(z=>z(H))}async function _(F,j){const W=Kc(F);return await y(W,j),new Promise(L=>L(W))}function N(F){if(m){const j=Kc(F),W=m.property("__zoom");(W.k!==F.zoom||W.x!==F.x||W.y!==F.y)&&(p==null||p.transform(m,j,null,{sync:!0}))}}function P(){const F=m?Rw(m.node()):{x:0,y:0,k:1};return{x:F.x,y:F.y,zoom:F.k}}function T(F,j){return m?new Promise(W=>{p==null||p.interpolate((j==null?void 0:j.interpolate)==="linear"?zi:Sa).scaleTo(Xc(m,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>W(!0)),F)}):Promise.resolve(!1)}function I(F,j){return m?new Promise(W=>{p==null||p.interpolate((j==null?void 0:j.interpolate)==="linear"?zi:Sa).scaleBy(Xc(m,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>W(!0)),F)}):Promise.resolve(!1)}function O(F){p==null||p.scaleExtent(F)}function q(F){p==null||p.translateExtent(F)}function G(F){const j=!sn(F)||F<0?0:F;p==null||p.clickDistance(j)}return{update:x,destroy:b,setViewport:_,setViewportConstrained:C,getViewport:P,scaleTo:T,scaleBy:I,setScaleExtent:O,setTranslateExtent:q,syncViewport:N,setClickDistance:G}}var Mo;(function(e){e.Line="line",e.Handle="handle"})(Mo||(Mo={}));function yD({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:i,affectsY:a}){const l=e-t,u=n-o,f=[l>0?1:l<0?-1:0,u>0?1:u<0?-1:0];return l&&i&&(f[0]=f[0]*-1),u&&a&&(f[1]=f[1]*-1),f}function wx(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),o=e.includes("left"),i=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:o,affectsY:i}}function sr(e,t){return Math.max(0,t-e)}function ar(e,t){return Math.max(0,e-t)}function $a(e,t,n){return Math.max(0,t-e,e-n)}function xx(e,t){return e?!t:t}function wD(e,t,n,o,i,a,l,u){let{affectsX:f,affectsY:d}=t;const{isHorizontal:h,isVertical:p}=t,m=h&&p,{xSnapped:v,ySnapped:E}=n,{minWidth:y,maxWidth:x,minHeight:b,maxHeight:C}=o,{x:_,y:N,width:P,height:T,aspectRatio:I}=e;let O=Math.floor(h?v-e.pointerX:0),q=Math.floor(p?E-e.pointerY:0);const G=P+(f?-O:O),F=T+(d?-q:q),j=-a[0]*P,W=-a[1]*T;let L=$a(G,y,x),H=$a(F,b,C);if(l){let M=0,$=0;f&&O<0?M=sr(_+O+j,l[0][0]):!f&&O>0&&(M=ar(_+G+j,l[1][0])),d&&q<0?$=sr(N+q+W,l[0][1]):!d&&q>0&&($=ar(N+F+W,l[1][1])),L=Math.max(L,M),H=Math.max(H,$)}if(u){let M=0,$=0;f&&O>0?M=ar(_+O,u[0][0]):!f&&O<0&&(M=sr(_+G,u[1][0])),d&&q>0?$=ar(N+q,u[0][1]):!d&&q<0&&($=sr(N+F,u[1][1])),L=Math.max(L,M),H=Math.max(H,$)}if(i){if(h){const M=$a(G/I,b,C)*I;if(L=Math.max(L,M),l){let $=0;!f&&!d||f&&!d&&m?$=ar(N+W+G/I,l[1][1])*I:$=sr(N+W+(f?O:-O)/I,l[0][1])*I,L=Math.max(L,$)}if(u){let $=0;!f&&!d||f&&!d&&m?$=sr(N+G/I,u[1][1])*I:$=ar(N+(f?O:-O)/I,u[0][1])*I,L=Math.max(L,$)}}if(p){const M=$a(F*I,y,x)/I;if(H=Math.max(H,M),l){let $=0;!f&&!d||d&&!f&&m?$=ar(_+F*I+j,l[1][0])/I:$=sr(_+(d?q:-q)*I+j,l[0][0])/I,H=Math.max(H,$)}if(u){let $=0;!f&&!d||d&&!f&&m?$=sr(_+F*I,u[1][0])/I:$=ar(_+(d?q:-q)*I,u[0][0])/I,H=Math.max(H,$)}}}q=q+(q<0?H:-H),O=O+(O<0?L:-L),i&&(m?G>F*I?q=(xx(f,d)?-O:O)/I:O=(xx(f,d)?-q:q)*I:h?(q=O/I,d=f):(O=q*I,f=d));const z=f?_+O:_,Y=d?N+q:N;return{width:P+(f?-O:O),height:T+(d?-q:q),x:a[0]*O*(f?-1:1)+z,y:a[1]*q*(d?-1:1)+Y}}const _x={width:0,height:0,x:0,y:0},xD={..._x,pointerX:0,pointerY:0,aspectRatio:1};function _D(e){return[[0,0],[e.measured.width,e.measured.height]]}function bD(e,t,n){const o=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,l=e.measured.height??0,u=n[0]*a,f=n[1]*l;return[[o-u,i-f],[o+a-u,i+l-f]]}function SD({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:i}){const a=At(e);let l={controlDirection:wx("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function u({controlPosition:d,boundaries:h,keepAspectRatio:p,resizeDirection:m,onResizeStart:v,onResize:E,onResizeEnd:y,shouldResize:x}){let b={..._x},C={...xD};l={boundaries:h,resizeDirection:m,keepAspectRatio:p,controlDirection:wx(d)};let _,N=null,P=[],T,I,O,q=!1;const G=ew().on("start",F=>{const{nodeLookup:j,transform:W,snapGrid:L,snapToGrid:H,nodeOrigin:z,paneDomNode:Y}=n();if(_=j.get(t),!_)return;N=(Y==null?void 0:Y.getBoundingClientRect())??null;const{xSnapped:M,ySnapped:$}=Ji(F.sourceEvent,{transform:W,snapGrid:L,snapToGrid:H,containerBounds:N});b={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},C={...b,pointerX:M,pointerY:$,aspectRatio:b.width/b.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=j.get(_.parentId),I=T&&_.extent==="parent"?_D(T):void 0),P=[],O=void 0;for(const[Q,D]of j)if(D.parentId===t&&(P.push({id:Q,position:{...D.position},extent:D.extent}),D.extent==="parent"||D.expandParent)){const U=bD(D,_,D.origin??z);O?O=[[Math.min(U[0][0],O[0][0]),Math.min(U[0][1],O[0][1])],[Math.max(U[1][0],O[1][0]),Math.max(U[1][1],O[1][1])]]:O=U}v==null||v(F,{...b})}).on("drag",F=>{const{transform:j,snapGrid:W,snapToGrid:L,nodeOrigin:H}=n(),z=Ji(F.sourceEvent,{transform:j,snapGrid:W,snapToGrid:L,containerBounds:N}),Y=[];if(!_)return;const{x:M,y:$,width:Q,height:D}=b,U={},ie=_.origin??H,{width:V,height:Z,x:ee,y:X}=wD(C,l.controlDirection,z,l.boundaries,l.keepAspectRatio,ie,I,O),te=V!==Q,se=Z!==D,ae=ee!==M&&te,ce=X!==$&&se;if(!ae&&!ce&&!te&&!se)return;if((ae||ce||ie[0]===1||ie[1]===1)&&(U.x=ae?ee:b.x,U.y=ce?X:b.y,b.x=U.x,b.y=U.y,P.length>0)){const me=ee-M,Re=X-$;for(const Ee of P)Ee.position={x:Ee.position.x-me+ie[0]*(V-Q),y:Ee.position.y-Re+ie[1]*(Z-D)},Y.push(Ee)}if((te||se)&&(U.width=te&&(!l.resizeDirection||l.resizeDirection==="horizontal")?V:b.width,U.height=se&&(!l.resizeDirection||l.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),T&&_.expandParent){const me=ie[0]*(U.width??0);U.x&&U.x{q&&(y==null||y(F,{...b}),i==null||i({...b}),q=!1)});a.call(G)}function f(){a.on(".drag",null)}return{update:u,destroy:f}}var Qc={exports:{}},Zc={},Jc={exports:{}},ef={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var bx;function ED(){if(bx)return ef;bx=1;var e=Mi();function t(p,m){return p===m&&(p!==0||1/p===1/m)||p!==p&&m!==m}var n=typeof Object.is=="function"?Object.is:t,o=e.useState,i=e.useEffect,a=e.useLayoutEffect,l=e.useDebugValue;function u(p,m){var v=m(),E=o({inst:{value:v,getSnapshot:m}}),y=E[0].inst,x=E[1];return a(function(){y.value=v,y.getSnapshot=m,f(y)&&x({inst:y})},[p,v,m]),i(function(){return f(y)&&x({inst:y}),p(function(){f(y)&&x({inst:y})})},[p]),l(v),v}function f(p){var m=p.getSnapshot;p=p.value;try{var v=m();return!n(p,v)}catch{return!0}}function d(p,m){return m()}var h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:u;return ef.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:h,ef}var Sx;function CD(){return Sx||(Sx=1,Jc.exports=ED()),Jc.exports}/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ex;function kD(){if(Ex)return Zc;Ex=1;var e=Mi(),t=CD();function n(d,h){return d===h&&(d!==0||1/d===1/h)||d!==d&&h!==h}var o=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,a=e.useRef,l=e.useEffect,u=e.useMemo,f=e.useDebugValue;return Zc.useSyncExternalStoreWithSelector=function(d,h,p,m,v){var E=a(null);if(E.current===null){var y={hasValue:!1,value:null};E.current=y}else y=E.current;E=u(function(){function b(T){if(!C){if(C=!0,_=T,T=m(T),v!==void 0&&y.hasValue){var I=y.value;if(v(I,T))return N=I}return N=T}if(I=N,o(_,T))return I;var O=m(T);return v!==void 0&&v(I,O)?(_=T,I):(_=T,N=O)}var C=!1,_,N,P=p===void 0?null:p;return[function(){return b(h())},P===null?void 0:function(){return b(P())}]},[h,p,m,v]);var x=i(d,E[0],E[1]);return l(function(){y.hasValue=!0,y.value=x},[x]),f(x),x},Zc}var Cx;function ND(){return Cx||(Cx=1,Qc.exports=kD()),Qc.exports}var RD=ND();const PD=ca(RD),TD={},kx=e=>{let t;const n=new Set,o=(h,p)=>{const m=typeof h=="function"?h(t):h;if(!Object.is(m,t)){const v=t;t=p??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(E=>E(t,v))}},i=()=>t,f={setState:o,getState:i,getInitialState:()=>d,subscribe:h=>(n.add(h),()=>n.delete(h)),destroy:()=>{(TD?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},d=t=e(o,i,f);return f},AD=e=>e?kx(e):kx,{useDebugValue:ID}=$t,{useSyncExternalStoreWithSelector:MD}=PD,OD=e=>e;function Nx(e,t=OD,n){const o=MD(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return ID(o),o}const Rx=(e,t)=>{const n=AD(e),o=(i,a=t)=>Nx(n,i,a);return Object.assign(o,n),o},LD=(e,t)=>e?Rx(e,t):Rx;function Ue(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,i]of e)if(!Object.is(i,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}var ts=D0();const DD=ca(ts),Ba=k.createContext(null),jD=Ba.Provider,Px=Cn.error001();function Ie(e,t){const n=k.useContext(Ba);if(n===null)throw new Error(Px);return Nx(n,e,t)}function Ve(){const e=k.useContext(Ba);if(e===null)throw new Error(Px);return k.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Tx={display:"none"},qD={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ax="react-flow__node-desc",Ix="react-flow__edge-desc",zD="react-flow__aria-live",FD=e=>e.ariaLiveMessage,$D=e=>e.ariaLabelConfig;function BD({rfId:e}){const t=Ie(FD);return R.jsx("div",{id:`${zD}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:qD,children:t})}function VD({rfId:e,disableKeyboardA11y:t}){const n=Ie($D);return R.jsxs(R.Fragment,{children:[R.jsx("div",{id:`${Ax}-${e}`,style:Tx,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),R.jsx("div",{id:`${Ix}-${e}`,style:Tx,children:n["edge.a11yDescription.default"]}),!t&&R.jsx(BD,{rfId:e})]})}const ns=k.forwardRef(({position:e="top-left",children:t,className:n,style:o,...i},a)=>{const l=`${e}`.split("-");return R.jsx("div",{className:tt(["react-flow__panel",n,...l]),style:o,ref:a,...i,children:t})});ns.displayName="Panel";function HD({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:R.jsx(ns,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:R.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const WD=e=>{const t=[],n=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&n.push(o);return{selectedNodes:t,selectedEdges:n}},Va=e=>e.id;function UD(e,t){return Ue(e.selectedNodes.map(Va),t.selectedNodes.map(Va))&&Ue(e.selectedEdges.map(Va),t.selectedEdges.map(Va))}function GD({onSelectionChange:e}){const t=Ve(),{selectedNodes:n,selectedEdges:o}=Ie(WD,UD);return k.useEffect(()=>{const i={nodes:n,edges:o};e==null||e(i),t.getState().onSelectionChangeHandlers.forEach(a=>a(i))},[n,o,e]),null}const YD=e=>!!e.onSelectionChangeHandlers;function KD({onSelectionChange:e}){const t=Ie(YD);return e||t?R.jsx(GD,{onSelectionChange:e}):null}const Mx=[0,0],XD={x:0,y:0,zoom:1},Ox=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig"],"rfId"],QD=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Lx={translateExtent:Wi,nodeOrigin:Mx,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function ZD(e){const{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:l,reset:u,setDefaultNodesAndEdges:f}=Ie(QD,Ue),d=Ve();k.useEffect(()=>(f(e.defaultNodes,e.defaultEdges),()=>{h.current=Lx,u()}),[]);const h=k.useRef(Lx);return k.useEffect(()=>{for(const p of Ox){const m=e[p],v=h.current[p];m!==v&&(typeof e[p]>"u"||(p==="nodes"?t(m):p==="edges"?n(m):p==="minZoom"?o(m):p==="maxZoom"?i(m):p==="translateExtent"?a(m):p==="nodeExtent"?l(m):p==="ariaLabelConfig"?d.setState({ariaLabelConfig:DL(m)}):p==="fitView"?d.setState({fitViewQueued:m}):p==="fitViewOptions"?d.setState({fitViewOptions:m}):d.setState({[p]:m})))}h.current=e},Ox.map(p=>e[p])),null}function Dx(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function JD(e){var o;const[t,n]=k.useState(e==="system"?null:e);return k.useEffect(()=>{if(e!=="system"){n(e);return}const i=Dx(),a=()=>n(i!=null&&i.matches?"dark":"light");return a(),i==null||i.addEventListener("change",a),()=>{i==null||i.removeEventListener("change",a)}},[e]),t!==null?t:(o=Dx())!=null&&o.matches?"dark":"light"}const jx=typeof document<"u"?document:null;function rs(e=null,t={target:jx,actInsideInputWithModifier:!0}){const[n,o]=k.useState(!1),i=k.useRef(!1),a=k.useRef(new Set([])),[l,u]=k.useMemo(()=>{if(e!==null){const d=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` +`).replace(` + +`,` ++`).split(` +`)),h=d.reduce((p,m)=>p.concat(...m),[]);return[d,h]}return[[],[]]},[e]);return k.useEffect(()=>{const f=(t==null?void 0:t.target)??jx,d=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const h=v=>{var x,b;if(i.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!i.current||i.current&&!d)&&Gw(v))return!1;const y=zx(v.code,u);if(a.current.add(v[y]),qx(l,a.current,!1)){const C=((b=(x=v.composedPath)==null?void 0:x.call(v))==null?void 0:b[0])||v.target,_=(C==null?void 0:C.nodeName)==="BUTTON"||(C==null?void 0:C.nodeName)==="A";t.preventDefault!==!1&&(i.current||!_)&&v.preventDefault(),o(!0)}},p=v=>{const E=zx(v.code,u);qx(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(v[E]),v.key==="Meta"&&a.current.clear(),i.current=!1},m=()=>{a.current.clear(),o(!1)};return f==null||f.addEventListener("keydown",h),f==null||f.addEventListener("keyup",p),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{f==null||f.removeEventListener("keydown",h),f==null||f.removeEventListener("keyup",p),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[e,o]),n}function qx(e,t,n){return e.filter(o=>n||o.length===t.size).some(o=>o.every(i=>t.has(i)))}function zx(e,t){return t.includes(e)?"code":"key"}const ej=()=>{const e=Ve();return k.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[o,i,a],panZoom:l}=e.getState();return l?(await l.setViewport({x:t.x??o,y:t.y??i,zoom:t.zoom??a},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{const{width:o,height:i,minZoom:a,maxZoom:l,panZoom:u}=e.getState(),f=qc(t,o,i,a,l,(n==null?void 0:n.padding)??.1);return u?(await u.setViewport(f,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:o,snapGrid:i,snapToGrid:a,domNode:l}=e.getState();if(!l)return t;const{x:u,y:f}=l.getBoundingClientRect(),d={x:t.x-u,y:t.y-f},h=n.snapGrid??i,p=n.snapToGrid??a;return Qi(d,o,p,h)},flowToScreenPosition:t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:i,y:a}=o.getBoundingClientRect(),l=qa(t,n);return{x:l.x+i,y:l.y+a}}}),[])};function Fx(e,t){const n=[],o=new Map,i=[];for(const a of e)if(a.type==="add"){i.push(a);continue}else if(a.type==="remove"||a.type==="replace")o.set(a.id,[a]);else{const l=o.get(a.id);l?l.push(a):o.set(a.id,[a])}for(const a of t){const l=o.get(a.id);if(!l){n.push(a);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){n.push({...l[0].item});continue}const u={...a};for(const f of l)tj(f,u);n.push(u)}return i.length&&i.forEach(a=>{a.index!==void 0?n.splice(a.index,0,{...a.item}):n.push({...a.item})}),n}function tj(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured??(t.measured={}),t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function $x(e,t){return Fx(e,t)}function Bx(e,t){return Fx(e,t)}function Wr(e,t){return{id:e,type:"select",selected:t}}function Oo(e,t=new Set,n=!1){const o=[];for(const[i,a]of e){const l=t.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(n&&(a.selected=l),o.push(Wr(a.id,l)))}return o}function Vx({items:e=[],lookup:t}){var i;const n=[],o=new Map(e.map(a=>[a.id,a]));for(const[a,l]of e.entries()){const u=t.get(l.id),f=((i=u==null?void 0:u.internals)==null?void 0:i.userNode)??u;f!==void 0&&f!==l&&n.push({id:l.id,item:l,type:"replace"}),f===void 0&&n.push({item:l,type:"add",index:a})}for(const[a]of t)o.get(a)===void 0&&n.push({id:a,type:"remove"});return n}function Hx(e){return{id:e.id,type:"remove"}}const Wx=e=>kL(e),nj=e=>Dw(e);function Ux(e){return k.forwardRef(e)}const rj=typeof window<"u"?k.useLayoutEffect:k.useEffect;function Gx(e){const[t,n]=k.useState(BigInt(0)),[o]=k.useState(()=>oj(()=>n(i=>i+BigInt(1))));return rj(()=>{const i=o.get();i.length&&(e(i),o.reset())},[t]),o}function oj(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const Yx=k.createContext(null);function ij({children:e}){const t=Ve(),n=k.useCallback(u=>{const{nodes:f=[],setNodes:d,hasDefaultNodes:h,onNodesChange:p,nodeLookup:m,fitViewQueued:v}=t.getState();let E=f;for(const x of u)E=typeof x=="function"?x(E):x;const y=Vx({items:E,lookup:m});h&&d(E),y.length>0?p==null||p(y):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:x,nodes:b,setNodes:C}=t.getState();x&&C(b)})},[]),o=Gx(n),i=k.useCallback(u=>{const{edges:f=[],setEdges:d,hasDefaultEdges:h,onEdgesChange:p,edgeLookup:m}=t.getState();let v=f;for(const E of u)v=typeof E=="function"?E(v):E;h?d(v):p&&p(Vx({items:v,lookup:m}))},[]),a=Gx(i),l=k.useMemo(()=>({nodeQueue:o,edgeQueue:a}),[]);return R.jsx(Yx.Provider,{value:l,children:e})}function sj(){const e=k.useContext(Yx);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const aj=e=>!!e.panZoom;function tf(){const e=ej(),t=Ve(),n=sj(),o=Ie(aj),i=k.useMemo(()=>{const a=p=>t.getState().nodeLookup.get(p),l=p=>{n.nodeQueue.push(p)},u=p=>{n.edgeQueue.push(p)},f=p=>{var b,C;const{nodeLookup:m,nodeOrigin:v}=t.getState(),E=Wx(p)?p:m.get(p.id),y=E.parentId?Hw(E.position,E.measured,E.parentId,m,v):E.position,x={...E,position:y,width:((b=E.measured)==null?void 0:b.width)??E.width,height:((C=E.measured)==null?void 0:C.height)??E.height};return Po(x)},d=(p,m,v={replace:!1})=>{l(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return v.replace&&Wx(x)?x:{...y,...x}}return y}))},h=(p,m,v={replace:!1})=>{u(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return v.replace&&nj(x)?x:{...y,...x}}return y}))};return{getNodes:()=>t.getState().nodes.map(p=>({...p})),getNode:p=>{var m;return(m=a(p))==null?void 0:m.internals.userNode},getInternalNode:a,getEdges:()=>{const{edges:p=[]}=t.getState();return p.map(m=>({...m}))},getEdge:p=>t.getState().edgeLookup.get(p),setNodes:l,setEdges:u,addNodes:p=>{const m=Array.isArray(p)?p:[p];n.nodeQueue.push(v=>[...v,...m])},addEdges:p=>{const m=Array.isArray(p)?p:[p];n.edgeQueue.push(v=>[...v,...m])},toObject:()=>{const{nodes:p=[],edges:m=[],transform:v}=t.getState(),[E,y,x]=v;return{nodes:p.map(b=>({...b})),edges:m.map(b=>({...b})),viewport:{x:E,y,zoom:x}}},deleteElements:async({nodes:p=[],edges:m=[]})=>{const{nodes:v,edges:E,onNodesDelete:y,onEdgesDelete:x,triggerNodeChanges:b,triggerEdgeChanges:C,onDelete:_,onBeforeDelete:N}=t.getState(),{nodes:P,edges:T}=await AL({nodesToRemove:p,edgesToRemove:m,nodes:v,edges:E,onBeforeDelete:N}),I=T.length>0,O=P.length>0;if(I){const q=T.map(Hx);x==null||x(T),C(q)}if(O){const q=P.map(Hx);y==null||y(P),b(q)}return(O||I)&&(_==null||_({nodes:P,edges:T})),{deletedNodes:P,deletedEdges:T}},getIntersectingNodes:(p,m=!0,v)=>{const E=Bw(p),y=E?p:f(p),x=v!==void 0;return y?(v||t.getState().nodes).filter(b=>{const C=t.getState().nodeLookup.get(b.id);if(C&&!E&&(b.id===p.id||!C.internals.positionAbsolute))return!1;const _=Po(x?b:C),N=Ki(_,y);return m&&N>0||N>=_.width*_.height||N>=y.width*y.height}):[]},isNodeIntersecting:(p,m,v=!0)=>{const y=Bw(p)?p:f(p);if(!y)return!1;const x=Ki(y,m);return v&&x>0||x>=m.width*m.height||x>=y.width*y.height},updateNode:d,updateNodeData:(p,m,v={replace:!1})=>{d(p,E=>{const y=typeof m=="function"?m(E):m;return v.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},v)},updateEdge:h,updateEdgeData:(p,m,v={replace:!1})=>{h(p,E=>{const y=typeof m=="function"?m(E):m;return v.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},v)},getNodesBounds:p=>{const{nodeLookup:m,nodeOrigin:v}=t.getState();return NL(p,{nodeLookup:m,nodeOrigin:v})},getHandleConnections:({type:p,id:m,nodeId:v})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${v}-${p}${m?`-${m}`:""}`))==null?void 0:E.values())??[])},getNodeConnections:({type:p,handleId:m,nodeId:v})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${v}${p?m?`-${p}-${m}`:`-${p}`:""}`))==null?void 0:E.values())??[])},fitView:async p=>{const m=t.getState().fitViewResolver??LL();return t.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:m}),n.nodeQueue.push(v=>[...v]),m.promise}}},[]);return k.useMemo(()=>({...i,...e,viewportInitialized:o}),[o])}const Kx=e=>e.selected,lj=typeof window<"u"?window:void 0;function uj({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Ve(),{deleteElements:o}=tf(),i=rs(e,{actInsideInputWithModifier:!1}),a=rs(t,{target:lj});k.useEffect(()=>{if(i){const{edges:l,nodes:u}=n.getState();o({nodes:u.filter(Kx),edges:l.filter(Kx)}),n.setState({nodesSelectionActive:!1})}},[i]),k.useEffect(()=>{n.setState({multiSelectionActive:a})},[a])}function cj(e){const t=Ve();k.useEffect(()=>{const n=()=>{var i,a,l,u;if(!e.current||!(((a=(i=e.current).checkVisibility)==null?void 0:a.call(i))??!0))return!1;const o=zc(e.current);(o.height===0||o.width===0)&&((u=(l=t.getState()).onError)==null||u.call(l,"004",Cn.error004())),t.setState({width:o.width||500,height:o.height||500})};if(e.current){n(),window.addEventListener("resize",n);const o=new ResizeObserver(()=>n());return o.observe(e.current),()=>{window.removeEventListener("resize",n),o&&e.current&&o.unobserve(e.current)}}},[])}const Ha={position:"absolute",width:"100%",height:"100%",top:0,left:0},fj=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function dj({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:i=.5,panOnScrollMode:a=Vr.Free,zoomOnDoubleClick:l=!0,panOnDrag:u=!0,defaultViewport:f,translateExtent:d,minZoom:h,maxZoom:p,zoomActivationKeyCode:m,preventScrolling:v=!0,children:E,noWheelClassName:y,noPanClassName:x,onViewportChange:b,isControlledViewport:C,paneClickDistance:_,selectionOnDrag:N}){const P=Ve(),T=k.useRef(null),{userSelectionActive:I,lib:O,connectionInProgress:q}=Ie(fj,Ue),G=rs(m),F=k.useRef();cj(T);const j=k.useCallback(W=>{b==null||b({x:W[0],y:W[1],zoom:W[2]}),C||P.setState({transform:W})},[b,C]);return k.useEffect(()=>{if(T.current){F.current=vD({domNode:T.current,minZoom:h,maxZoom:p,translateExtent:d,viewport:f,onDraggingChange:z=>P.setState({paneDragging:z}),onPanZoomStart:(z,Y)=>{const{onViewportChangeStart:M,onMoveStart:$}=P.getState();$==null||$(z,Y),M==null||M(Y)},onPanZoom:(z,Y)=>{const{onViewportChange:M,onMove:$}=P.getState();$==null||$(z,Y),M==null||M(Y)},onPanZoomEnd:(z,Y)=>{const{onViewportChangeEnd:M,onMoveEnd:$}=P.getState();$==null||$(z,Y),M==null||M(Y)}});const{x:W,y:L,zoom:H}=F.current.getViewport();return P.setState({panZoom:F.current,transform:[W,L,H],domNode:T.current.closest(".react-flow")}),()=>{var z;(z=F.current)==null||z.destroy()}}},[]),k.useEffect(()=>{var W;(W=F.current)==null||W.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:i,panOnScrollMode:a,zoomOnDoubleClick:l,panOnDrag:u,zoomActivationKeyPressed:G,preventScrolling:v,noPanClassName:x,userSelectionActive:I,noWheelClassName:y,lib:O,onTransformChange:j,connectionInProgress:q,selectionOnDrag:N,paneClickDistance:_})},[e,t,n,o,i,a,l,u,G,v,x,I,y,O,j,q,N,_]),R.jsx("div",{className:"react-flow__renderer",ref:T,style:Ha,children:E})}const hj=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function pj(){const{userSelectionActive:e,userSelectionRect:t}=Ie(hj,Ue);return e&&t?R.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const nf=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},gj=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function mj({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Ui.Full,panOnDrag:o,paneClickDistance:i,selectionOnDrag:a,onSelectionStart:l,onSelectionEnd:u,onPaneClick:f,onPaneContextMenu:d,onPaneScroll:h,onPaneMouseEnter:p,onPaneMouseMove:m,onPaneMouseLeave:v,children:E}){const y=Ve(),{userSelectionActive:x,elementsSelectable:b,dragging:C,connectionInProgress:_}=Ie(gj,Ue),N=b&&(e||x),P=k.useRef(null),T=k.useRef(),I=k.useRef(new Set),O=k.useRef(new Set),q=k.useRef(!1),G=M=>{if(q.current||_){q.current=!1;return}f==null||f(M),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},F=M=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){M.preventDefault();return}d==null||d(M)},j=h?M=>h(M):void 0,W=M=>{q.current&&(M.stopPropagation(),q.current=!1)},L=M=>{var Z,ee;const{domNode:$}=y.getState();if(T.current=$==null?void 0:$.getBoundingClientRect(),!T.current)return;const Q=M.target===P.current;if(!Q&&!!M.target.closest(".nokey")||!e||!(a&&Q||t)||M.button!==0||!M.isPrimary)return;(ee=(Z=M.target)==null?void 0:Z.setPointerCapture)==null||ee.call(Z,M.pointerId),q.current=!1;const{x:ie,y:V}=an(M.nativeEvent,T.current);y.setState({userSelectionRect:{width:0,height:0,startX:ie,startY:V,x:ie,y:V}}),Q||(M.stopPropagation(),M.preventDefault())},H=M=>{const{userSelectionRect:$,transform:Q,nodeLookup:D,edgeLookup:U,connectionLookup:ie,triggerNodeChanges:V,triggerEdgeChanges:Z,defaultEdgeOptions:ee,resetSelectedElements:X}=y.getState();if(!T.current||!$)return;const{x:te,y:se}=an(M.nativeEvent,T.current),{startX:ae,startY:ce}=$;if(!q.current){const Re=t?0:i;if(Math.hypot(te-ae,se-ce)<=Re)return;X(),l==null||l(M)}q.current=!0;const de={startX:ae,startY:ce,x:teRe.id)),O.current=new Set;const me=(ee==null?void 0:ee.selectable)??!0;for(const Re of I.current){const Ee=ie.get(Re);if(Ee)for(const{edgeId:Je}of Ee.values()){const Ge=U.get(Je);Ge&&(Ge.selectable??me)&&O.current.add(Je)}}if(!Ww(pe,I.current)){const Re=Oo(D,I.current,!0);V(Re)}if(!Ww(be,O.current)){const Re=Oo(U,O.current);Z(Re)}y.setState({userSelectionRect:de,userSelectionActive:!0,nodesSelectionActive:!1})},z=M=>{var $,Q;M.button===0&&((Q=($=M.target)==null?void 0:$.releasePointerCapture)==null||Q.call($,M.pointerId),!x&&M.target===P.current&&y.getState().userSelectionRect&&(G==null||G(M)),y.setState({userSelectionActive:!1,userSelectionRect:null}),q.current&&(u==null||u(M),y.setState({nodesSelectionActive:I.current.size>0})))},Y=o===!0||Array.isArray(o)&&o.includes(0);return R.jsxs("div",{className:tt(["react-flow__pane",{draggable:Y,dragging:C,selection:e}]),onClick:N?void 0:nf(G,P),onContextMenu:nf(F,P),onWheel:nf(j,P),onPointerEnter:N?void 0:p,onPointerMove:N?H:m,onPointerUp:N?z:void 0,onPointerDownCapture:N?L:void 0,onClickCapture:N?W:void 0,onPointerLeave:v,ref:P,style:Ha,children:[E,R.jsx(pj,{})]})}function rf({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:l,nodeLookup:u,onError:f}=t.getState(),d=u.get(e);if(!d){f==null||f("012",Cn.error012(e));return}t.setState({nodesSelectionActive:!1}),d.selected?(n||d.selected&&l)&&(a({nodes:[d],edges:[]}),requestAnimationFrame(()=>{var h;return(h=o==null?void 0:o.current)==null?void 0:h.blur()})):i([e])}function Xx({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:a,nodeClickDistance:l}){const u=Ve(),[f,d]=k.useState(!1),h=k.useRef();return k.useEffect(()=>{h.current=rD({getStoreItems:()=>u.getState(),onNodeMouseDown:p=>{rf({id:p,store:u,nodeRef:e})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),k.useEffect(()=>{var p,m;if(t)(p=h.current)==null||p.destroy();else if(e.current)return(m=h.current)==null||m.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:l}),()=>{var v;(v=h.current)==null||v.destroy()}},[n,o,t,a,e,i]),f}const vj=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Qx(){const e=Ve();return k.useCallback(n=>{const{nodeExtent:o,snapToGrid:i,snapGrid:a,nodesDraggable:l,onError:u,updateNodePositions:f,nodeLookup:d,nodeOrigin:h}=e.getState(),p=new Map,m=vj(l),v=i?a[0]:5,E=i?a[1]:5,y=n.direction.x*v*n.factor,x=n.direction.y*E*n.factor;for(const[,b]of d){if(!m(b))continue;let C={x:b.internals.positionAbsolute.x+y,y:b.internals.positionAbsolute.y+x};i&&(C=Xi(C,a));const{position:_,positionAbsolute:N}=jw({nodeId:b.id,nextPosition:C,nodeLookup:d,nodeExtent:o,nodeOrigin:h,onError:u});b.position=_,b.internals.positionAbsolute=N,p.set(b.id,b)}f(p)},[])}const of=k.createContext(null),yj=of.Provider;of.Consumer;const Zx=()=>k.useContext(of),wj=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),xj=(e,t,n)=>o=>{const{connectionClickStartHandle:i,connectionMode:a,connection:l}=o,{fromHandle:u,toHandle:f,isValid:d}=l,h=(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===t&&(f==null?void 0:f.type)===n;return{connectingFrom:(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.id)===t&&(u==null?void 0:u.type)===n,connectingTo:h,clickConnecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.id)===t&&(i==null?void 0:i.type)===n,isPossibleEndHandle:a===No.Strict?(u==null?void 0:u.type)!==n:e!==(u==null?void 0:u.nodeId)||t!==(u==null?void 0:u.id),connectionInProcess:!!u,clickConnectionInProcess:!!i,valid:h&&d}};function _j({type:e="source",position:t=ve.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:l,onConnect:u,children:f,className:d,onMouseDown:h,onTouchStart:p,...m},v){var H,z;const E=l||null,y=e==="target",x=Ve(),b=Zx(),{connectOnClick:C,noPanClassName:_,rfId:N}=Ie(wj,Ue),{connectingFrom:P,connectingTo:T,clickConnecting:I,isPossibleEndHandle:O,connectionInProcess:q,clickConnectionInProcess:G,valid:F}=Ie(xj(b,E,e),Ue);b||(z=(H=x.getState()).onError)==null||z.call(H,"010",Cn.error010());const j=Y=>{const{defaultEdgeOptions:M,onConnect:$,hasDefaultEdges:Q}=x.getState(),D={...M,...Y};if(Q){const{edges:U,setEdges:ie}=x.getState();ie(ex(D,U))}$==null||$(D),u==null||u(D)},W=Y=>{if(!b)return;const M=Yw(Y.nativeEvent);if(i&&(M&&Y.button===0||!M)){const $=x.getState();Yc.onPointerDown(Y.nativeEvent,{handleDomNode:Y.currentTarget,autoPanOnConnect:$.autoPanOnConnect,connectionMode:$.connectionMode,connectionRadius:$.connectionRadius,domNode:$.domNode,nodeLookup:$.nodeLookup,lib:$.lib,isTarget:y,handleId:E,nodeId:b,flowId:$.rfId,panBy:$.panBy,cancelConnection:$.cancelConnection,onConnectStart:$.onConnectStart,onConnectEnd:$.onConnectEnd,updateConnection:$.updateConnection,onConnect:j,isValidConnection:n||$.isValidConnection,getTransform:()=>x.getState().transform,getFromHandle:()=>x.getState().connection.fromHandle,autoPanSpeed:$.autoPanSpeed,dragThreshold:$.connectionDragThreshold})}M?h==null||h(Y):p==null||p(Y)},L=Y=>{const{onClickConnectStart:M,onClickConnectEnd:$,connectionClickStartHandle:Q,connectionMode:D,isValidConnection:U,lib:ie,rfId:V,nodeLookup:Z,connection:ee}=x.getState();if(!b||!Q&&!i)return;if(!Q){M==null||M(Y.nativeEvent,{nodeId:b,handleId:E,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:b,type:e,id:E}});return}const X=Uw(Y.target),te=n||U,{connection:se,isValid:ae}=Yc.isValid(Y.nativeEvent,{handle:{nodeId:b,id:E,type:e},connectionMode:D,fromNodeId:Q.nodeId,fromHandleId:Q.id||null,fromType:Q.type,isValidConnection:te,flowId:V,doc:X,lib:ie,nodeLookup:Z});ae&&se&&j(se);const ce=structuredClone(ee);delete ce.inProgress,ce.toPosition=ce.toHandle?ce.toHandle.position:null,$==null||$(Y,ce),x.setState({connectionClickStartHandle:null})};return R.jsx("div",{"data-handleid":E,"data-nodeid":b,"data-handlepos":t,"data-id":`${N}-${b}-${E}-${e}`,className:tt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",_,d,{source:!y,target:y,connectable:o,connectablestart:i,connectableend:a,clickconnecting:I,connectingfrom:P,connectingto:T,valid:F,connectionindicator:o&&(!q||O)&&(q||G?a:i)}]),onMouseDown:W,onTouchStart:W,onClick:C?L:void 0,ref:v,...m,children:f})}const os=k.memo(Ux(_j));function bj({data:e,isConnectable:t,sourcePosition:n=ve.Bottom}){return R.jsxs(R.Fragment,{children:[e==null?void 0:e.label,R.jsx(os,{type:"source",position:n,isConnectable:t})]})}function Sj({data:e,isConnectable:t,targetPosition:n=ve.Top,sourcePosition:o=ve.Bottom}){return R.jsxs(R.Fragment,{children:[R.jsx(os,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,R.jsx(os,{type:"source",position:o,isConnectable:t})]})}function Ej(){return null}function Cj({data:e,isConnectable:t,targetPosition:n=ve.Top}){return R.jsxs(R.Fragment,{children:[R.jsx(os,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const Wa={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Jx={input:bj,default:Sj,output:Cj,group:Ej};function kj(e){var t,n,o,i;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((o=e.style)==null?void 0:o.width),height:e.height??((i=e.style)==null?void 0:i.height)}}const Nj=e=>{const{width:t,height:n,x:o,y:i}=Yi(e.nodeLookup,{filter:a=>!!a.selected});return{width:sn(t)?t:null,height:sn(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${i}px)`}};function Rj({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const o=Ve(),{width:i,height:a,transformString:l,userSelectionActive:u}=Ie(Nj,Ue),f=Qx(),d=k.useRef(null);if(k.useEffect(()=>{var m;n||(m=d.current)==null||m.focus({preventScroll:!0})},[n]),Xx({nodeRef:d}),u||!i||!a)return null;const h=e?m=>{const v=o.getState().nodes.filter(E=>E.selected);e(m,v)}:void 0,p=m=>{Object.prototype.hasOwnProperty.call(Wa,m.key)&&(m.preventDefault(),f({direction:Wa[m.key],factor:m.shiftKey?4:1}))};return R.jsx("div",{className:tt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:R.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:p,style:{width:i,height:a}})})}const e_=typeof window<"u"?window:void 0,Pj=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function t_({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:l,paneClickDistance:u,deleteKeyCode:f,selectionKeyCode:d,selectionOnDrag:h,selectionMode:p,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:E,panActivationKeyCode:y,zoomActivationKeyCode:x,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:N,panOnScrollSpeed:P,panOnScrollMode:T,zoomOnDoubleClick:I,panOnDrag:O,defaultViewport:q,translateExtent:G,minZoom:F,maxZoom:j,preventScrolling:W,onSelectionContextMenu:L,noWheelClassName:H,noPanClassName:z,disableKeyboardA11y:Y,onViewportChange:M,isControlledViewport:$}){const{nodesSelectionActive:Q,userSelectionActive:D}=Ie(Pj),U=rs(d,{target:e_}),ie=rs(y,{target:e_}),V=ie||O,Z=ie||N,ee=h&&V!==!0,X=U||D||ee;return uj({deleteKeyCode:f,multiSelectionKeyCode:E}),R.jsx(dj,{onPaneContextMenu:a,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:Z,panOnScrollSpeed:P,panOnScrollMode:T,zoomOnDoubleClick:I,panOnDrag:!U&&V,defaultViewport:q,translateExtent:G,minZoom:F,maxZoom:j,zoomActivationKeyCode:x,preventScrolling:W,noWheelClassName:H,noPanClassName:z,onViewportChange:M,isControlledViewport:$,paneClickDistance:u,selectionOnDrag:ee,children:R.jsxs(mj,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:l,panOnDrag:V,isSelecting:!!X,selectionMode:p,selectionKeyPressed:U,paneClickDistance:u,selectionOnDrag:ee,children:[e,Q&&R.jsx(Rj,{onSelectionContextMenu:L,noPanClassName:z,disableKeyboardA11y:Y})]})})}t_.displayName="FlowRenderer";const Tj=k.memo(t_),Aj=e=>t=>e?Dc(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function Ij(e){return Ie(k.useCallback(Aj(e),[e]),Ue)}const Mj=e=>e.updateNodeInternals;function Oj(){const e=Ie(Mj),[t]=k.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const o=new Map;n.forEach(i=>{const a=i.target.getAttribute("data-id");o.set(a,{id:a,nodeElement:i.target,force:!0})}),e(o)}));return k.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function Lj({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){const i=Ve(),a=k.useRef(null),l=k.useRef(null),u=k.useRef(e.sourcePosition),f=k.useRef(e.targetPosition),d=k.useRef(t),h=n&&!!e.internals.handleBounds;return k.useEffect(()=>{a.current&&!e.hidden&&(!h||l.current!==a.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(a.current),l.current=a.current)},[h,e.hidden]),k.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),k.useEffect(()=>{if(a.current){const p=d.current!==t,m=u.current!==e.sourcePosition,v=f.current!==e.targetPosition;(p||m||v)&&(d.current=t,u.current=e.sourcePosition,f.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function Dj({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:i,onContextMenu:a,onDoubleClick:l,nodesDraggable:u,elementsSelectable:f,nodesConnectable:d,nodesFocusable:h,resizeObserver:p,noDragClassName:m,noPanClassName:v,disableKeyboardA11y:E,rfId:y,nodeTypes:x,nodeClickDistance:b,onError:C}){const{node:_,internals:N,isParent:P}=Ie(te=>{const se=te.nodeLookup.get(e),ae=te.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ae}},Ue);let T=_.type||"default",I=(x==null?void 0:x[T])||Jx[T];I===void 0&&(C==null||C("003",Cn.error003(T)),T="default",I=(x==null?void 0:x.default)||Jx.default);const O=!!(_.draggable||u&&typeof _.draggable>"u"),q=!!(_.selectable||f&&typeof _.selectable>"u"),G=!!(_.connectable||d&&typeof _.connectable>"u"),F=!!(_.focusable||h&&typeof _.focusable>"u"),j=Ve(),W=Vw(_),L=Lj({node:_,nodeType:T,hasDimensions:W,resizeObserver:p}),H=Xx({nodeRef:L,disabled:_.hidden||!O,noDragClassName:m,handleSelector:_.dragHandle,nodeId:e,isSelectable:q,nodeClickDistance:b}),z=Qx();if(_.hidden)return null;const Y=Hn(_),M=kj(_),$=q||O||t||n||o||i,Q=n?te=>n(te,{...N.userNode}):void 0,D=o?te=>o(te,{...N.userNode}):void 0,U=i?te=>i(te,{...N.userNode}):void 0,ie=a?te=>a(te,{...N.userNode}):void 0,V=l?te=>l(te,{...N.userNode}):void 0,Z=te=>{const{selectNodesOnDrag:se,nodeDragThreshold:ae}=j.getState();q&&(!se||!O||ae>0)&&rf({id:e,store:j,nodeRef:L}),t&&t(te,{...N.userNode})},ee=te=>{if(!(Gw(te.nativeEvent)||E)){if(Aw.includes(te.key)&&q){const se=te.key==="Escape";rf({id:e,store:j,unselect:se,nodeRef:L})}else if(O&&_.selected&&Object.prototype.hasOwnProperty.call(Wa,te.key)){te.preventDefault();const{ariaLabelConfig:se}=j.getState();j.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:te.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),z({direction:Wa[te.key],factor:te.shiftKey?4:1})}}},X=()=>{var be;if(E||!((be=L.current)!=null&&be.matches(":focus-visible")))return;const{transform:te,width:se,height:ae,autoPanOnNodeFocus:ce,setCenter:de}=j.getState();if(!ce)return;Dc(new Map([[e,_]]),{x:0,y:0,width:se,height:ae},te,!0).length>0||de(_.position.x+Y.width/2,_.position.y+Y.height/2,{zoom:te[2]})};return R.jsx("div",{className:tt(["react-flow__node",`react-flow__node-${T}`,{[v]:O},_.className,{selected:_.selected,selectable:q,parent:P,draggable:O,dragging:H}]),ref:L,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:$?"all":"none",visibility:W?"visible":"hidden",..._.style,...M},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Q,onMouseMove:D,onMouseLeave:U,onContextMenu:ie,onClick:Z,onDoubleClick:V,onKeyDown:F?ee:void 0,tabIndex:F?0:void 0,onFocus:F?X:void 0,role:_.ariaRole??(F?"group":void 0),"aria-roledescription":"node","aria-describedby":E?void 0:`${Ax}-${y}`,"aria-label":_.ariaLabel,..._.domAttributes,children:R.jsx(yj,{value:e,children:R.jsx(I,{id:e,data:_.data,type:T,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:_.selected??!1,selectable:q,draggable:O,deletable:_.deletable??!0,isConnectable:G,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:H,dragHandle:_.dragHandle,zIndex:N.z,parentId:_.parentId,...Y})})})}var jj=k.memo(Dj);const qj=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function n_(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,onError:a}=Ie(qj,Ue),l=Ij(e.onlyRenderVisibleElements),u=Oj();return R.jsx("div",{className:"react-flow__nodes",style:Ha,children:l.map(f=>R.jsx(jj,{id:f,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:a},f))})}n_.displayName="NodeRenderer";const zj=k.memo(n_);function Fj(e){return Ie(k.useCallback(n=>{if(!e)return n.edges.map(i=>i.id);const o=[];if(n.width&&n.height)for(const i of n.edges){const a=n.nodeLookup.get(i.source),l=n.nodeLookup.get(i.target);a&&l&&zL({sourceNode:a,targetNode:l,width:n.width,height:n.height,transform:n.transform})&&o.push(i.id)}return o},[e]),Ue)}const $j=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return R.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Bj=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return R.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},r_={[Oa.Arrow]:$j,[Oa.ArrowClosed]:Bj};function Vj(e){const t=Ve();return k.useMemo(()=>{var i,a;return Object.prototype.hasOwnProperty.call(r_,e)?r_[e]:((a=(i=t.getState()).onError)==null||a.call(i,"009",Cn.error009(e)),null)},[e])}const Hj=({id:e,type:t,color:n,width:o=12.5,height:i=12.5,markerUnits:a="strokeWidth",strokeWidth:l,orient:u="auto-start-reverse"})=>{const f=Vj(t);return f?R.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:u,refX:"0",refY:"0",children:R.jsx(f,{color:n,strokeWidth:l})}):null},o_=({defaultColor:e,rfId:t})=>{const n=Ie(a=>a.edges),o=Ie(a=>a.defaultEdgeOptions),i=k.useMemo(()=>UL(n,{id:t,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[n,o,t,e]);return i.length?R.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:R.jsx("defs",{children:i.map(a=>R.jsx(Hj,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};o_.displayName="MarkerDefinitions";var Wj=k.memo(o_);function i_({x:e,y:t,label:n,labelStyle:o,labelShowBg:i=!0,labelBgStyle:a,labelBgPadding:l=[2,4],labelBgBorderRadius:u=2,children:f,className:d,...h}){const[p,m]=k.useState({x:1,y:0,width:0,height:0}),v=tt(["react-flow__edge-textwrapper",d]),E=k.useRef(null);return k.useEffect(()=>{if(E.current){const y=E.current.getBBox();m({x:y.x,y:y.y,width:y.width,height:y.height})}},[n]),n?R.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...h,children:[i&&R.jsx("rect",{width:p.width+2*l[0],x:-l[0],y:-l[1],height:p.height+2*l[1],className:"react-flow__edge-textbg",style:a,rx:u,ry:u}),R.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:E,style:o,children:n}),f]}):null}i_.displayName="EdgeText";const Uj=k.memo(i_);function Ua({path:e,labelX:t,labelY:n,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f,interactionWidth:d=20,...h}){return R.jsxs(R.Fragment,{children:[R.jsx("path",{...h,d:e,fill:"none",className:tt(["react-flow__edge-path",h.className])}),d?R.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}):null,o&&sn(t)&&sn(n)?R.jsx(Uj,{x:t,y:n,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f}):null]})}function s_({pos:e,x1:t,y1:n,x2:o,y2:i}){return e===ve.Left||e===ve.Right?[.5*(t+o),n]:[t,.5*(n+i)]}function a_({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:o,targetY:i,targetPosition:a=ve.Top}){const[l,u]=s_({pos:n,x1:e,y1:t,x2:o,y2:i}),[f,d]=s_({pos:a,x1:o,y1:i,x2:e,y2:t}),[h,p,m,v]=Xw({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:l,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${e},${t} C${l},${u} ${f},${d} ${o},${i}`,h,p,m,v]}function l_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,sourcePosition:l,targetPosition:u,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,interactionWidth:b})=>{const[C,_,N]=a_({sourceX:n,sourceY:o,sourcePosition:l,targetX:i,targetY:a,targetPosition:u}),P=e.isInternal?void 0:t;return R.jsx(Ua,{id:P,path:C,labelX:_,labelY:N,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,interactionWidth:b})})}const Gj=l_({isInternal:!1}),u_=l_({isInternal:!0});Gj.displayName="SimpleBezierEdge",u_.displayName="SimpleBezierEdgeInternal";function c_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,sourcePosition:v=ve.Bottom,targetPosition:E=ve.Top,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,N,P]=Fc({sourceX:n,sourceY:o,sourcePosition:v,targetX:i,targetY:a,targetPosition:E,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),T=e.isInternal?void 0:t;return R.jsx(Ua,{id:T,path:_,labelX:N,labelY:P,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:y,markerStart:x,interactionWidth:C})})}const f_=c_({isInternal:!1}),d_=c_({isInternal:!0});f_.displayName="SmoothStepEdge",d_.displayName="SmoothStepEdgeInternal";function h_(e){return k.memo(({id:t,...n})=>{var i;const o=e.isInternal?void 0:t;return R.jsx(f_,{...n,id:o,pathOptions:k.useMemo(()=>{var a;return{borderRadius:0,offset:(a=n.pathOptions)==null?void 0:a.offset}},[(i=n.pathOptions)==null?void 0:i.offset])})})}const Yj=h_({isInternal:!1}),p_=h_({isInternal:!0});Yj.displayName="StepEdge",p_.displayName="StepEdgeInternal";function g_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:v,markerStart:E,interactionWidth:y})=>{const[x,b,C]=tx({sourceX:n,sourceY:o,targetX:i,targetY:a}),_=e.isInternal?void 0:t;return R.jsx(Ua,{id:_,path:x,labelX:b,labelY:C,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:v,markerStart:E,interactionWidth:y})})}const Kj=g_({isInternal:!1}),m_=g_({isInternal:!0});Kj.displayName="StraightEdge",m_.displayName="StraightEdgeInternal";function v_(e){return k.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:a,sourcePosition:l=ve.Bottom,targetPosition:u=ve.Top,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,N,P]=Zw({sourceX:n,sourceY:o,sourcePosition:l,targetX:i,targetY:a,targetPosition:u,curvature:b==null?void 0:b.curvature}),T=e.isInternal?void 0:t;return R.jsx(Ua,{id:T,path:_,labelX:N,labelY:P,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:v,style:E,markerEnd:y,markerStart:x,interactionWidth:C})})}const Xj=v_({isInternal:!1}),y_=v_({isInternal:!0});Xj.displayName="BezierEdge",y_.displayName="BezierEdgeInternal";const w_={default:y_,straight:m_,step:p_,smoothstep:d_,simplebezier:u_},x_={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Qj=(e,t,n)=>n===ve.Left?e-t:n===ve.Right?e+t:e,Zj=(e,t,n)=>n===ve.Top?e-t:n===ve.Bottom?e+t:e,__="react-flow__edgeupdater";function b_({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:a,onMouseOut:l,type:u}){return R.jsx("circle",{onMouseDown:i,onMouseEnter:a,onMouseOut:l,className:tt([__,`${__}-${u}`]),cx:Qj(t,o,e),cy:Zj(n,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Jj({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:i,targetX:a,targetY:l,sourcePosition:u,targetPosition:f,onReconnect:d,onReconnectStart:h,onReconnectEnd:p,setReconnecting:m,setUpdateHover:v}){const E=Ve(),y=(N,P)=>{if(N.button!==0)return;const{autoPanOnConnect:T,domNode:I,isValidConnection:O,connectionMode:q,connectionRadius:G,lib:F,onConnectStart:j,onConnectEnd:W,cancelConnection:L,nodeLookup:H,rfId:z,panBy:Y,updateConnection:M}=E.getState(),$=P.type==="target",Q=(ie,V)=>{m(!1),p==null||p(ie,n,P.type,V)},D=ie=>d==null?void 0:d(n,ie),U=(ie,V)=>{m(!0),h==null||h(N,n,P.type),j==null||j(ie,V)};Yc.onPointerDown(N.nativeEvent,{autoPanOnConnect:T,connectionMode:q,connectionRadius:G,domNode:I,handleId:P.id,nodeId:P.nodeId,nodeLookup:H,isTarget:$,edgeUpdaterType:P.type,lib:F,flowId:z,cancelConnection:L,panBy:Y,isValidConnection:O,onConnect:D,onConnectStart:U,onConnectEnd:W,onReconnectEnd:Q,updateConnection:M,getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,dragThreshold:E.getState().connectionDragThreshold,handleDomNode:N.currentTarget})},x=N=>y(N,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),b=N=>y(N,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),C=()=>v(!0),_=()=>v(!1);return R.jsxs(R.Fragment,{children:[(e===!0||e==="source")&&R.jsx(b_,{position:u,centerX:o,centerY:i,radius:t,onMouseDown:x,onMouseEnter:C,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&R.jsx(b_,{position:f,centerX:a,centerY:l,radius:t,onMouseDown:b,onMouseEnter:C,onMouseOut:_,type:"target"})]})}function eq({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:i,onDoubleClick:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:v,rfId:E,edgeTypes:y,noPanClassName:x,onError:b,disableKeyboardA11y:C}){let _=Ie(de=>de.edgeLookup.get(e));const N=Ie(de=>de.defaultEdgeOptions);_=N?{...N,..._}:_;let P=_.type||"default",T=(y==null?void 0:y[P])||w_[P];T===void 0&&(b==null||b("011",Cn.error011(P)),P="default",T=(y==null?void 0:y.default)||w_.default);const I=!!(_.focusable||t&&typeof _.focusable>"u"),O=typeof p<"u"&&(_.reconnectable||n&&typeof _.reconnectable>"u"),q=!!(_.selectable||o&&typeof _.selectable>"u"),G=k.useRef(null),[F,j]=k.useState(!1),[W,L]=k.useState(!1),H=Ve(),{zIndex:z,sourceX:Y,sourceY:M,targetX:$,targetY:Q,sourcePosition:D,targetPosition:U}=Ie(k.useCallback(de=>{const pe=de.nodeLookup.get(_.source),be=de.nodeLookup.get(_.target);if(!pe||!be)return{zIndex:_.zIndex,...x_};const me=WL({id:e,sourceNode:pe,targetNode:be,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:de.connectionMode,onError:b});return{zIndex:qL({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:be,elevateOnSelect:de.elevateEdgesOnSelect}),...me||x_}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),Ue),ie=k.useMemo(()=>_.markerStart?`url('#${$c(_.markerStart,E)}')`:void 0,[_.markerStart,E]),V=k.useMemo(()=>_.markerEnd?`url('#${$c(_.markerEnd,E)}')`:void 0,[_.markerEnd,E]);if(_.hidden||Y===null||M===null||$===null||Q===null)return null;const Z=de=>{var Re;const{addSelectedEdges:pe,unselectNodesAndEdges:be,multiSelectionActive:me}=H.getState();q&&(H.setState({nodesSelectionActive:!1}),_.selected&&me?(be({nodes:[],edges:[_]}),(Re=G.current)==null||Re.blur()):pe([e])),i&&i(de,_)},ee=a?de=>{a(de,{..._})}:void 0,X=l?de=>{l(de,{..._})}:void 0,te=u?de=>{u(de,{..._})}:void 0,se=f?de=>{f(de,{..._})}:void 0,ae=d?de=>{d(de,{..._})}:void 0,ce=de=>{var pe;if(!C&&Aw.includes(de.key)&&q){const{unselectNodesAndEdges:be,addSelectedEdges:me}=H.getState();de.key==="Escape"?((pe=G.current)==null||pe.blur(),be({edges:[_]})):me([e])}};return R.jsx("svg",{style:{zIndex:z},children:R.jsxs("g",{className:tt(["react-flow__edge",`react-flow__edge-${P}`,_.className,x,{selected:_.selected,animated:_.animated,inactive:!q&&!i,updating:F,selectable:q}]),onClick:Z,onDoubleClick:ee,onContextMenu:X,onMouseEnter:te,onMouseMove:se,onMouseLeave:ae,onKeyDown:I?ce:void 0,tabIndex:I?0:void 0,role:_.ariaRole??(I?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":I?`${Ix}-${E}`:void 0,ref:G,..._.domAttributes,children:[!W&&R.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:q,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:Y,sourceY:M,targetX:$,targetY:Q,sourcePosition:D,targetPosition:U,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:ie,markerEnd:V,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),O&&R.jsx(Jj,{edge:_,isReconnectable:O,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:v,sourceX:Y,sourceY:M,targetX:$,targetY:Q,sourcePosition:D,targetPosition:U,setUpdateHover:j,setReconnecting:L})]})})}var tq=k.memo(eq);const nq=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function S_({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:i,onReconnect:a,onEdgeContextMenu:l,onEdgeMouseEnter:u,onEdgeMouseMove:f,onEdgeMouseLeave:d,onEdgeClick:h,reconnectRadius:p,onEdgeDoubleClick:m,onReconnectStart:v,onReconnectEnd:E,disableKeyboardA11y:y}){const{edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,onError:_}=Ie(nq,Ue),N=Fj(t);return R.jsxs("div",{className:"react-flow__edges",children:[R.jsx(Wj,{defaultColor:e,rfId:n}),N.map(P=>R.jsx(tq,{id:P,edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,noPanClassName:i,onReconnect:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,onClick:h,reconnectRadius:p,onDoubleClick:m,onReconnectStart:v,onReconnectEnd:E,rfId:n,onError:_,edgeTypes:o,disableKeyboardA11y:y},P))]})}S_.displayName="EdgeRenderer";const rq=k.memo(S_),oq=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function iq({children:e}){const t=Ie(oq);return R.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function sq(e){const t=tf(),n=k.useRef(!1);k.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const aq=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function lq(e){const t=Ie(aq),n=Ve();return k.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function uq(e){return e.connection.inProgress?{...e.connection,to:Qi(e.connection.to,e.transform)}:{...e.connection}}function cq(e){return uq}function fq(e){const t=cq();return Ie(t,Ue)}const dq=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function hq({containerStyle:e,style:t,type:n,component:o}){const{nodesConnectable:i,width:a,height:l,isValid:u,inProgress:f}=Ie(dq,Ue);return!(a&&i&&f)?null:R.jsx("svg",{style:e,width:a,height:l,className:"react-flow__connectionline react-flow__container",children:R.jsx("g",{className:tt(["react-flow__connection",Lw(u)]),children:R.jsx(E_,{style:t,type:n,CustomComponent:o,isValid:u})})})}const E_=({style:e,type:t=ir.Bezier,CustomComponent:n,isValid:o})=>{const{inProgress:i,from:a,fromNode:l,fromHandle:u,fromPosition:f,to:d,toNode:h,toHandle:p,toPosition:m,pointer:v}=fq();if(!i)return;if(n)return R.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:u,fromX:a.x,fromY:a.y,toX:d.x,toY:d.y,fromPosition:f,toPosition:m,connectionStatus:Lw(o),toNode:h,toHandle:p,pointer:v});let E="";const y={sourceX:a.x,sourceY:a.y,sourcePosition:f,targetX:d.x,targetY:d.y,targetPosition:m};switch(t){case ir.Bezier:[E]=Zw(y);break;case ir.SimpleBezier:[E]=a_(y);break;case ir.Step:[E]=Fc({...y,borderRadius:0});break;case ir.SmoothStep:[E]=Fc(y);break;default:[E]=tx(y)}return R.jsx("path",{d:E,fill:"none",className:"react-flow__connection-path",style:e})};E_.displayName="ConnectionLine";const pq={};function C_(e=pq){k.useRef(e),Ve(),k.useEffect(()=>{},[e])}function gq(){Ve(),k.useRef(!1),k.useEffect(()=>{},[])}function k_({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:i,onNodeDoubleClick:a,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:v,connectionLineType:E,connectionLineStyle:y,connectionLineComponent:x,connectionLineContainerStyle:b,selectionKeyCode:C,selectionOnDrag:_,selectionMode:N,multiSelectionKeyCode:P,panActivationKeyCode:T,zoomActivationKeyCode:I,deleteKeyCode:O,onlyRenderVisibleElements:q,elementsSelectable:G,defaultViewport:F,translateExtent:j,minZoom:W,maxZoom:L,preventScrolling:H,defaultMarkerColor:z,zoomOnScroll:Y,zoomOnPinch:M,panOnScroll:$,panOnScrollSpeed:Q,panOnScrollMode:D,zoomOnDoubleClick:U,panOnDrag:ie,onPaneClick:V,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:X,onPaneScroll:te,onPaneContextMenu:se,paneClickDistance:ae,nodeClickDistance:ce,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,onReconnect:Ee,onReconnectStart:Je,onReconnectEnd:Ge,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:at,disableKeyboardA11y:Ye,nodeExtent:pn,rfId:Wt,viewport:gn,onViewportChange:Ut}){return C_(e),C_(t),gq(),sq(n),lq(gn),R.jsx(Tj,{onPaneClick:V,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:X,onPaneContextMenu:se,onPaneScroll:te,paneClickDistance:ae,deleteKeyCode:O,selectionKeyCode:C,selectionOnDrag:_,selectionMode:N,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:P,panActivationKeyCode:T,zoomActivationKeyCode:I,elementsSelectable:G,zoomOnScroll:Y,zoomOnPinch:M,zoomOnDoubleClick:U,panOnScroll:$,panOnScrollSpeed:Q,panOnScrollMode:D,panOnDrag:ie,defaultViewport:F,translateExtent:j,minZoom:W,maxZoom:L,onSelectionContextMenu:p,preventScrolling:H,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:at,disableKeyboardA11y:Ye,onViewportChange:Ut,isControlledViewport:!!gn,children:R.jsxs(iq,{children:[R.jsx(rq,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:l,onReconnect:Ee,onReconnectStart:Je,onReconnectEnd:Ge,onlyRenderVisibleElements:q,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,defaultMarkerColor:z,noPanClassName:at,disableKeyboardA11y:Ye,rfId:Wt}),R.jsx(hq,{style:y,type:E,component:x,containerStyle:b}),R.jsx("div",{className:"react-flow__edgelabel-renderer"}),R.jsx(zj,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:a,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,nodeClickDistance:ce,onlyRenderVisibleElements:q,noPanClassName:at,noDragClassName:Ht,disableKeyboardA11y:Ye,nodeExtent:pn,rfId:Wt}),R.jsx("div",{className:"react-flow__viewport-portal"})]})})}k_.displayName="GraphView";const mq=k.memo(k_),N_=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:l,fitViewOptions:u,minZoom:f=.5,maxZoom:d=2,nodeOrigin:h,nodeExtent:p}={})=>{const m=new Map,v=new Map,E=new Map,y=new Map,x=o??t??[],b=n??e??[],C=h??[0,0],_=p??Wi;cx(E,y,x);const N=Hc(b,m,v,{nodeOrigin:C,nodeExtent:_,elevateNodesOnSelect:!1});let P=[0,0,1];if(l&&i&&a){const T=Yi(m,{filter:G=>!!((G.width||G.initialWidth)&&(G.height||G.initialHeight))}),{x:I,y:O,zoom:q}=qc(T,i,a,f,d,(u==null?void 0:u.padding)??.1);P=[I,O,q]}return{rfId:"1",width:i??0,height:a??0,transform:P,nodes:b,nodesInitialized:N,nodeLookup:m,parentLookup:v,edges:x,edgeLookup:y,connectionLookup:E,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:f,maxZoom:d,translateExtent:Wi,nodeExtent:_,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:No.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l??!1,fitViewOptions:u,fitViewResolver:null,connection:{...Mw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:IL,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Iw}},vq=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p})=>LD((m,v)=>{async function E(){const{nodeLookup:y,panZoom:x,fitViewOptions:b,fitViewResolver:C,width:_,height:N,minZoom:P,maxZoom:T}=v();x&&(await TL({nodes:y,width:_,height:N,panZoom:x,minZoom:P,maxZoom:T},b),C==null||C.resolve(!0),m({fitViewResolver:null}))}return{...N_({nodes:e,edges:t,width:i,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p,defaultNodes:n,defaultEdges:o}),setNodes:y=>{const{nodeLookup:x,parentLookup:b,nodeOrigin:C,elevateNodesOnSelect:_,fitViewQueued:N}=v(),P=Hc(y,x,b,{nodeOrigin:C,nodeExtent:p,elevateNodesOnSelect:_,checkEquality:!0});N&&P?(E(),m({nodes:y,nodesInitialized:P,fitViewQueued:!1,fitViewOptions:void 0})):m({nodes:y,nodesInitialized:P})},setEdges:y=>{const{connectionLookup:x,edgeLookup:b}=v();cx(x,b,y),m({edges:y})},setDefaultNodesAndEdges:(y,x)=>{if(y){const{setNodes:b}=v();b(y),m({hasDefaultNodes:!0})}if(x){const{setEdges:b}=v();b(x),m({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:x,nodeLookup:b,parentLookup:C,domNode:_,nodeOrigin:N,nodeExtent:P,debug:T,fitViewQueued:I}=v(),{changes:O,updatedInternals:q}=JL(y,b,C,_,N,P);q&&(KL(b,C,{nodeOrigin:N,nodeExtent:P}),I?(E(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),(O==null?void 0:O.length)>0&&(T&&console.log("React Flow: trigger node changes",O),x==null||x(O)))},updateNodePositions:(y,x=!1)=>{const b=[],C=[],{nodeLookup:_,triggerNodeChanges:N}=v();for(const[P,T]of y){const I=_.get(P),O=!!(I!=null&&I.expandParent&&(I!=null&&I.parentId)&&(T!=null&&T.position)),q={id:P,type:"position",position:O?{x:Math.max(0,T.position.x),y:Math.max(0,T.position.y)}:T.position,dragging:x};O&&I.parentId&&b.push({id:P,parentId:I.parentId,rect:{...T.internals.positionAbsolute,width:T.measured.width??0,height:T.measured.height??0}}),C.push(q)}if(b.length>0){const{parentLookup:P,nodeOrigin:T}=v(),I=Uc(b,_,P,T);C.push(...I)}N(C)},triggerNodeChanges:y=>{const{onNodesChange:x,setNodes:b,nodes:C,hasDefaultNodes:_,debug:N}=v();if(y!=null&&y.length){if(_){const P=$x(y,C);b(P)}N&&console.log("React Flow: trigger node changes",y),x==null||x(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:x,setEdges:b,edges:C,hasDefaultEdges:_,debug:N}=v();if(y!=null&&y.length){if(_){const P=Bx(y,C);b(P)}N&&console.log("React Flow: trigger edge changes",y),x==null||x(y)}},addSelectedNodes:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:N}=v();if(x){const P=y.map(T=>Wr(T,!0));_(P);return}_(Oo(C,new Set([...y]),!0)),N(Oo(b))},addSelectedEdges:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:N}=v();if(x){const P=y.map(T=>Wr(T,!0));N(P);return}N(Oo(b,new Set([...y]))),_(Oo(C,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:x}={})=>{const{edges:b,nodes:C,nodeLookup:_,triggerNodeChanges:N,triggerEdgeChanges:P}=v(),T=y||C,I=x||b,O=T.map(G=>{const F=_.get(G.id);return F&&(F.selected=!1),Wr(G.id,!1)}),q=I.map(G=>Wr(G.id,!1));N(O),P(q)},setMinZoom:y=>{const{panZoom:x,maxZoom:b}=v();x==null||x.setScaleExtent([y,b]),m({minZoom:y})},setMaxZoom:y=>{const{panZoom:x,minZoom:b}=v();x==null||x.setScaleExtent([b,y]),m({maxZoom:y})},setTranslateExtent:y=>{var x;(x=v().panZoom)==null||x.setTranslateExtent(y),m({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:x,triggerNodeChanges:b,triggerEdgeChanges:C,elementsSelectable:_}=v();if(!_)return;const N=x.reduce((T,I)=>I.selected?[...T,Wr(I.id,!1)]:T,[]),P=y.reduce((T,I)=>I.selected?[...T,Wr(I.id,!1)]:T,[]);b(N),C(P)},setNodeExtent:y=>{const{nodes:x,nodeLookup:b,parentLookup:C,nodeOrigin:_,elevateNodesOnSelect:N,nodeExtent:P}=v();y[0][0]===P[0][0]&&y[0][1]===P[0][1]&&y[1][0]===P[1][0]&&y[1][1]===P[1][1]||(Hc(x,b,C,{nodeOrigin:_,nodeExtent:y,elevateNodesOnSelect:N,checkEquality:!1}),m({nodeExtent:y}))},panBy:y=>{const{transform:x,width:b,height:C,panZoom:_,translateExtent:N}=v();return eD({delta:y,panZoom:_,transform:x,translateExtent:N,width:b,height:C})},setCenter:async(y,x,b)=>{const{width:C,height:_,maxZoom:N,panZoom:P}=v();if(!P)return Promise.resolve(!1);const T=typeof(b==null?void 0:b.zoom)<"u"?b.zoom:N;return await P.setViewport({x:C/2-y*T,y:_/2-x*T,zoom:T},{duration:b==null?void 0:b.duration,ease:b==null?void 0:b.ease,interpolate:b==null?void 0:b.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{m({connection:{...Mw}})},updateConnection:y=>{m({connection:y})},reset:()=>m({...N_()})}},Object.is);function R_({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:i,initialHeight:a,initialMinZoom:l,initialMaxZoom:u,initialFitViewOptions:f,fitView:d,nodeOrigin:h,nodeExtent:p,children:m}){const[v]=k.useState(()=>vq({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:d,minZoom:l,maxZoom:u,fitViewOptions:f,nodeOrigin:h,nodeExtent:p}));return R.jsx(jD,{value:v,children:R.jsx(ij,{children:m})})}function yq({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:i,width:a,height:l,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:p,nodeExtent:m}){return k.useContext(Ba)?R.jsx(R.Fragment,{children:e}):R.jsx(R_,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:i,initialWidth:a,initialHeight:l,fitView:u,initialFitViewOptions:f,initialMinZoom:d,initialMaxZoom:h,nodeOrigin:p,nodeExtent:m,children:e})}const wq={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function xq({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:a,edgeTypes:l,onNodeClick:u,onEdgeClick:f,onInit:d,onMove:h,onMoveStart:p,onMoveEnd:m,onConnect:v,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:N,onNodeContextMenu:P,onNodeDoubleClick:T,onNodeDragStart:I,onNodeDrag:O,onNodeDragStop:q,onNodesDelete:G,onEdgesDelete:F,onDelete:j,onSelectionChange:W,onSelectionDragStart:L,onSelectionDrag:H,onSelectionDragStop:z,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:$,onBeforeDelete:Q,connectionMode:D,connectionLineType:U=ir.Bezier,connectionLineStyle:ie,connectionLineComponent:V,connectionLineContainerStyle:Z,deleteKeyCode:ee="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:te=!1,selectionMode:se=Ui.Full,panActivationKeyCode:ae="Space",multiSelectionKeyCode:ce=Zi()?"Meta":"Control",zoomActivationKeyCode:de=Zi()?"Meta":"Control",snapToGrid:pe,snapGrid:be,onlyRenderVisibleElements:me=!1,selectNodesOnDrag:Re,nodesDraggable:Ee,autoPanOnNodeFocus:Je,nodesConnectable:Ge,nodesFocusable:Ht,nodeOrigin:pt=Mx,edgesFocusable:at,edgesReconnectable:Ye,elementsSelectable:pn=!0,defaultViewport:Wt=XD,minZoom:gn=.5,maxZoom:Ut=2,translateExtent:Et=Wi,preventScrolling:oo=!0,nodeExtent:Gt,defaultMarkerColor:Xn="#b1b1b7",zoomOnScroll:ri=!0,zoomOnPinch:Ot=!0,panOnScroll:Yt=!1,panOnScrollSpeed:Dv=.5,panOnScrollMode:_s=Vr.Free,zoomOnDoubleClick:bs=!0,panOnDrag:Ss=!0,onPaneClick:Es,onPaneMouseEnter:Cs,onPaneMouseMove:vr,onPaneMouseLeave:yr,onPaneScroll:Kl,onPaneContextMenu:Xl,paneClickDistance:Ql=1,nodeClickDistance:Zl=0,children:Jl,onReconnect:ks,onReconnectStart:eu,onReconnectEnd:io,onEdgeContextMenu:Ns,onEdgeDoubleClick:so,onEdgeMouseEnter:jv,onEdgeMouseMove:ao,onEdgeMouseLeave:oi,reconnectRadius:ii=10,onNodesChange:Rs,onEdgesChange:qv,noDragClassName:zv="nodrag",noWheelClassName:Fv="nowheel",noPanClassName:Mn="nopan",fitView:Ps,fitViewOptions:Ts,connectOnClick:$v,attributionPosition:tu,proOptions:nu,defaultEdgeOptions:ru,elevateNodesOnSelect:ou,elevateEdgesOnSelect:Bv,disableKeyboardA11y:iu=!1,autoPanOnConnect:Ke,autoPanOnNodeDrag:Vv,autoPanSpeed:As,connectionRadius:su,isValidConnection:si,onError:Hv,style:au,id:lo,nodeDragThreshold:Kt,connectionDragThreshold:Wv,viewport:Lt,onViewportChange:Uv,width:Gv,height:Yv,colorMode:ai="light",debug:li,onScroll:On,ariaLabelConfig:ui,...Kv},Xv){const uo=lo||"1",lu=JD(ai),Is=k.useCallback(wr=>{wr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),On==null||On(wr)},[On]);return R.jsx("div",{"data-testid":"rf__wrapper",...Kv,onScroll:Is,style:{...au,...wq},ref:Xv,className:tt(["react-flow",i,lu]),id:lo,role:"application",children:R.jsxs(yq,{nodes:e,edges:t,width:Gv,height:Yv,fitView:Ps,fitViewOptions:Ts,minZoom:gn,maxZoom:Ut,nodeOrigin:pt,nodeExtent:Gt,children:[R.jsx(mq,{onInit:d,onNodeClick:u,onEdgeClick:f,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:N,onNodeContextMenu:P,onNodeDoubleClick:T,nodeTypes:a,edgeTypes:l,connectionLineType:U,connectionLineStyle:ie,connectionLineComponent:V,connectionLineContainerStyle:Z,selectionKeyCode:X,selectionOnDrag:te,selectionMode:se,deleteKeyCode:ee,multiSelectionKeyCode:ce,panActivationKeyCode:ae,zoomActivationKeyCode:de,onlyRenderVisibleElements:me,defaultViewport:Wt,translateExtent:Et,minZoom:gn,maxZoom:Ut,preventScrolling:oo,zoomOnScroll:ri,zoomOnPinch:Ot,zoomOnDoubleClick:bs,panOnScroll:Yt,panOnScrollSpeed:Dv,panOnScrollMode:_s,panOnDrag:Ss,onPaneClick:Es,onPaneMouseEnter:Cs,onPaneMouseMove:vr,onPaneMouseLeave:yr,onPaneScroll:Kl,onPaneContextMenu:Xl,paneClickDistance:Ql,nodeClickDistance:Zl,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:$,onReconnect:ks,onReconnectStart:eu,onReconnectEnd:io,onEdgeContextMenu:Ns,onEdgeDoubleClick:so,onEdgeMouseEnter:jv,onEdgeMouseMove:ao,onEdgeMouseLeave:oi,reconnectRadius:ii,defaultMarkerColor:Xn,noDragClassName:zv,noWheelClassName:Fv,noPanClassName:Mn,rfId:uo,disableKeyboardA11y:iu,nodeExtent:Gt,viewport:Lt,onViewportChange:Uv}),R.jsx(ZD,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:v,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,nodesDraggable:Ee,autoPanOnNodeFocus:Je,nodesConnectable:Ge,nodesFocusable:Ht,edgesFocusable:at,edgesReconnectable:Ye,elementsSelectable:pn,elevateNodesOnSelect:ou,elevateEdgesOnSelect:Bv,minZoom:gn,maxZoom:Ut,nodeExtent:Gt,onNodesChange:Rs,onEdgesChange:qv,snapToGrid:pe,snapGrid:be,connectionMode:D,translateExtent:Et,connectOnClick:$v,defaultEdgeOptions:ru,fitView:Ps,fitViewOptions:Ts,onNodesDelete:G,onEdgesDelete:F,onDelete:j,onNodeDragStart:I,onNodeDrag:O,onNodeDragStop:q,onSelectionDrag:H,onSelectionDragStart:L,onSelectionDragStop:z,onMove:h,onMoveStart:p,onMoveEnd:m,noPanClassName:Mn,nodeOrigin:pt,rfId:uo,autoPanOnConnect:Ke,autoPanOnNodeDrag:Vv,autoPanSpeed:As,onError:Hv,connectionRadius:su,isValidConnection:si,selectNodesOnDrag:Re,nodeDragThreshold:Kt,connectionDragThreshold:Wv,onBeforeDelete:Q,debug:li,ariaLabelConfig:ui}),R.jsx(KD,{onSelectionChange:W}),Jl,R.jsx(HD,{proOptions:nu,position:tu}),R.jsx(VD,{rfId:uo,disableKeyboardA11y:iu})]})})}var _q=Ux(xq);function bq({dimensions:e,lineWidth:t,variant:n,className:o}){return R.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:tt(["react-flow__background-pattern",n,o])})}function Sq({radius:e,className:t}){return R.jsx("circle",{cx:e,cy:e,r:e,className:tt(["react-flow__background-pattern","dots",t])})}var lr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(lr||(lr={}));const Eq={[lr.Dots]:1,[lr.Lines]:1,[lr.Cross]:6},Cq=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function P_({id:e,variant:t=lr.Dots,gap:n=20,size:o,lineWidth:i=1,offset:a=0,color:l,bgColor:u,style:f,className:d,patternClassName:h}){const p=k.useRef(null),{transform:m,patternId:v}=Ie(Cq,Ue),E=o||Eq[t],y=t===lr.Dots,x=t===lr.Cross,b=Array.isArray(n)?n:[n,n],C=[b[0]*m[2]||1,b[1]*m[2]||1],_=E*m[2],N=Array.isArray(a)?a:[a,a],P=x?[_,_]:C,T=[N[0]*m[2]||1+P[0]/2,N[1]*m[2]||1+P[1]/2],I=`${v}${e||""}`;return R.jsxs("svg",{className:tt(["react-flow__background",d]),style:{...f,...Ha,"--xy-background-color-props":u,"--xy-background-pattern-color-props":l},ref:p,"data-testid":"rf__background",children:[R.jsx("pattern",{id:I,x:m[0]%C[0],y:m[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:y?R.jsx(Sq,{radius:_/2,className:h}):R.jsx(bq,{dimensions:P,lineWidth:i,variant:t,className:h})}),R.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${I})`})]})}P_.displayName="Background";const kq=k.memo(P_);function Nq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:R.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Rq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:R.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Pq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:R.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Tq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:R.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Aq(){return R.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:R.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ga({children:e,className:t,...n}){return R.jsx("button",{type:"button",className:tt(["react-flow__controls-button",t]),...n,children:e})}const Iq=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function T_({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:l,onFitView:u,onInteractiveChange:f,className:d,children:h,position:p="bottom-left",orientation:m="vertical","aria-label":v}){const E=Ve(),{isInteractive:y,minZoomReached:x,maxZoomReached:b,ariaLabelConfig:C}=Ie(Iq,Ue),{zoomIn:_,zoomOut:N,fitView:P}=tf(),T=()=>{_(),a==null||a()},I=()=>{N(),l==null||l()},O=()=>{P(i),u==null||u()},q=()=>{E.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),f==null||f(!y)},G=m==="horizontal"?"horizontal":"vertical";return R.jsxs(ns,{className:tt(["react-flow__controls",G,d]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??C["controls.ariaLabel"],children:[t&&R.jsxs(R.Fragment,{children:[R.jsx(Ga,{onClick:T,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:b,children:R.jsx(Nq,{})}),R.jsx(Ga,{onClick:I,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:x,children:R.jsx(Rq,{})})]}),n&&R.jsx(Ga,{className:"react-flow__controls-fitview",onClick:O,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:R.jsx(Pq,{})}),o&&R.jsx(Ga,{className:"react-flow__controls-interactive",onClick:q,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:y?R.jsx(Aq,{}):R.jsx(Tq,{})}),h]})}T_.displayName="Controls";const Mq=k.memo(T_);function Oq({id:e,x:t,y:n,width:o,height:i,style:a,color:l,strokeColor:u,strokeWidth:f,className:d,borderRadius:h,shapeRendering:p,selected:m,onClick:v}){const{background:E,backgroundColor:y}=a||{},x=l||E||y;return R.jsx("rect",{className:tt(["react-flow__minimap-node",{selected:m},d]),x:t,y:n,rx:h,ry:h,width:o,height:i,style:{fill:x,stroke:u,strokeWidth:f},shapeRendering:p,onClick:v?b=>v(b,e):void 0})}const Lq=k.memo(Oq),Dq=e=>e.nodes.map(t=>t.id),sf=e=>e instanceof Function?e:()=>e;function jq({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:i,nodeComponent:a=Lq,onClick:l}){const u=Ie(Dq,Ue),f=sf(t),d=sf(e),h=sf(n),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return R.jsx(R.Fragment,{children:u.map(m=>R.jsx(zq,{id:m,nodeColorFunc:f,nodeStrokeColorFunc:d,nodeClassNameFunc:h,nodeBorderRadius:o,nodeStrokeWidth:i,NodeComponent:a,onClick:l,shapeRendering:p},m))})}function qq({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:l,NodeComponent:u,onClick:f}){const{node:d,x:h,y:p,width:m,height:v}=Ie(E=>{const{internals:y}=E.nodeLookup.get(e),x=y.userNode,{x:b,y:C}=y.positionAbsolute,{width:_,height:N}=Hn(x);return{node:x,x:b,y:C,width:_,height:N}},Ue);return!d||d.hidden||!Vw(d)?null:R.jsx(u,{x:h,y:p,width:m,height:v,style:d.style,selected:!!d.selected,className:o(d),color:t(d),borderRadius:i,strokeColor:n(d),strokeWidth:a,shapeRendering:l,onClick:f,id:d.id})}const zq=k.memo(qq);var Fq=k.memo(jq);const $q=200,Bq=150,Vq=e=>!e.hidden,Hq=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?$w(Yi(e.nodeLookup,{filter:Vq}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Wq="react-flow__minimap-desc";function A_({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:i="",nodeBorderRadius:a=5,nodeStrokeWidth:l,nodeComponent:u,bgColor:f,maskColor:d,maskStrokeColor:h,maskStrokeWidth:p,position:m="bottom-right",onClick:v,onNodeClick:E,pannable:y=!1,zoomable:x=!1,ariaLabel:b,inversePan:C,zoomStep:_=1,offsetScale:N=5}){const P=Ve(),T=k.useRef(null),{boundingRect:I,viewBB:O,rfId:q,panZoom:G,translateExtent:F,flowWidth:j,flowHeight:W,ariaLabelConfig:L}=Ie(Hq,Ue),H=(e==null?void 0:e.width)??$q,z=(e==null?void 0:e.height)??Bq,Y=I.width/H,M=I.height/z,$=Math.max(Y,M),Q=$*H,D=$*z,U=N*$,ie=I.x-(Q-I.width)/2-U,V=I.y-(D-I.height)/2-U,Z=Q+U*2,ee=D+U*2,X=`${Wq}-${q}`,te=k.useRef(0),se=k.useRef();te.current=$,k.useEffect(()=>{if(T.current&&G)return se.current=uD({domNode:T.current,panZoom:G,getTransform:()=>P.getState().transform,getViewScale:()=>te.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[G]),k.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:F,width:j,height:W,inversePan:C,pannable:y,zoomStep:_,zoomable:x})},[y,x,C,_,F,j,W]);const ae=v?pe=>{var Re;const[be,me]=((Re=se.current)==null?void 0:Re.pointer(pe))||[0,0];v(pe,{x:be,y:me})}:void 0,ce=E?k.useCallback((pe,be)=>{const me=P.getState().nodeLookup.get(be).internals.userNode;E(pe,me)},[]):void 0,de=b??L["minimap.ariaLabel"];return R.jsx(ns,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*$:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:tt(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:R.jsxs("svg",{width:H,height:z,viewBox:`${ie} ${V} ${Z} ${ee}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":X,ref:T,onClick:ae,children:[de&&R.jsx("title",{id:X,children:de}),R.jsx(Fq,{onClick:ce,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:i,nodeStrokeWidth:l,nodeComponent:u}),R.jsx("path",{className:"react-flow__minimap-mask",d:`M${ie-U},${V-U}h${Z+U*2}v${ee+U*2}h${-Z-U*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}A_.displayName="MiniMap",k.memo(A_);const Uq=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Gq={[Mo.Line]:"right",[Mo.Handle]:"bottom-right"};function Yq({nodeId:e,position:t,variant:n=Mo.Handle,className:o,style:i=void 0,children:a,color:l,minWidth:u=10,minHeight:f=10,maxWidth:d=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:m,autoScale:v=!0,shouldResize:E,onResizeStart:y,onResize:x,onResizeEnd:b}){const C=Zx(),_=typeof e=="string"?e:C,N=Ve(),P=k.useRef(null),T=n===Mo.Handle,I=Ie(k.useCallback(Uq(T&&v),[T,v]),Ue),O=k.useRef(null),q=t??Gq[n];k.useEffect(()=>{if(!(!P.current||!_))return O.current||(O.current=SD({domNode:P.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:F,transform:j,snapGrid:W,snapToGrid:L,nodeOrigin:H,domNode:z}=N.getState();return{nodeLookup:F,transform:j,snapGrid:W,snapToGrid:L,nodeOrigin:H,paneDomNode:z}},onChange:(F,j)=>{const{triggerNodeChanges:W,nodeLookup:L,parentLookup:H,nodeOrigin:z}=N.getState(),Y=[],M={x:F.x,y:F.y},$=L.get(_);if($&&$.expandParent&&$.parentId){const Q=$.origin??z,D=F.width??$.measured.width??0,U=F.height??$.measured.height??0,ie={id:$.id,parentId:$.parentId,rect:{width:D,height:U,...Hw({x:F.x??$.position.x,y:F.y??$.position.y},{width:D,height:U},$.parentId,L,Q)}},V=Uc([ie],L,H,z);Y.push(...V),M.x=F.x?Math.max(Q[0]*D,F.x):void 0,M.y=F.y?Math.max(Q[1]*U,F.y):void 0}if(M.x!==void 0&&M.y!==void 0){const Q={id:_,type:"position",position:{...M}};Y.push(Q)}if(F.width!==void 0&&F.height!==void 0){const D={id:_,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:F.width,height:F.height}};Y.push(D)}for(const Q of j){const D={...Q,type:"position"};Y.push(D)}W(Y)},onEnd:({width:F,height:j})=>{const W={id:_,type:"dimensions",resizing:!1,dimensions:{width:F,height:j}};N.getState().triggerNodeChanges([W])}})),O.current.update({controlPosition:q,boundaries:{minWidth:u,minHeight:f,maxWidth:d,maxHeight:h},keepAspectRatio:p,resizeDirection:m,onResizeStart:y,onResize:x,onResizeEnd:b,shouldResize:E}),()=>{var F;(F=O.current)==null||F.destroy()}},[q,u,f,d,h,p,y,x,b,E]);const G=q.split("-");return R.jsx("div",{className:tt(["react-flow__resize-control","nodrag",...G,n,o]),ref:P,style:{...i,scale:I,...l&&{[T?"backgroundColor":"borderColor"]:l}},children:a})}k.memo(Yq);function I_(e){var t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let o=0;o({classGroupId:e,validator:t}),O_=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ya="-",L_=[],Qq="arbitrary..",Zq=e=>{const t=e3(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return Jq(l);const u=l.split(Ya),f=u[0]===""&&u.length>1?1:0;return D_(u,f,t)},getConflictingClassGroupIds:(l,u)=>{if(u){const f=o[l],d=n[l];return f?d?Kq(d,f):f:d||L_}return n[l]||L_}}},D_=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const i=e[t],a=n.nextPart.get(i);if(a){const d=D_(e,t+1,a);if(d)return d}const l=n.validators;if(l===null)return;const u=t===0?e.join(Ya):e.slice(t).join(Ya),f=l.length;for(let d=0;de.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),o=t.slice(0,n);return o?Qq+o:void 0})(),e3=e=>{const{theme:t,classGroups:n}=e;return t3(n,t)},t3=(e,t)=>{const n=O_();for(const o in e){const i=e[o];af(i,n,o,t)}return n},af=(e,t,n,o)=>{const i=e.length;for(let a=0;a{if(typeof e=="string"){r3(e,t,n);return}if(typeof e=="function"){o3(e,t,n,o);return}i3(e,t,n,o)},r3=(e,t,n)=>{const o=e===""?t:j_(t,e);o.classGroupId=n},o3=(e,t,n,o)=>{if(s3(e)){af(e(o),t,n,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Xq(n,e))},i3=(e,t,n,o)=>{const i=Object.entries(e),a=i.length;for(let l=0;l{let n=e;const o=t.split(Ya),i=o.length;for(let a=0;a"isThemeGetter"in e&&e.isThemeGetter===!0,a3=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),o=Object.create(null);const i=(a,l)=>{n[a]=l,t++,t>e&&(t=0,o=n,n=Object.create(null))};return{get(a){let l=n[a];if(l!==void 0)return l;if((l=o[a])!==void 0)return i(a,l),l},set(a,l){a in n?n[a]=l:i(a,l)}}},lf="!",q_=":",l3=[],z_=(e,t,n,o,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:o,isExternal:i}),u3=e=>{const{prefix:t,experimentalParseClassName:n}=e;let o=i=>{const a=[];let l=0,u=0,f=0,d;const h=i.length;for(let y=0;yf?d-f:void 0;return z_(a,v,m,E)};if(t){const i=t+q_,a=o;o=l=>l.startsWith(i)?a(l.slice(i.length)):z_(l3,!1,l,void 0,!0)}if(n){const i=o;o=a=>n({className:a,parseClassName:i})}return o},c3=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,o)=>{t.set(n,1e6+o)}),n=>{const o=[];let i=[];for(let a=0;a0&&(i.sort(),o.push(...i),i=[]),o.push(l)):i.push(l)}return i.length>0&&(i.sort(),o.push(...i)),o}},f3=e=>({cache:a3(e.cacheSize),parseClassName:u3(e),sortModifiers:c3(e),...Zq(e)}),d3=/\s+/,h3=(e,t)=>{const{parseClassName:n,getClassGroupId:o,getConflictingClassGroupIds:i,sortModifiers:a}=t,l=[],u=e.trim().split(d3);let f="";for(let d=u.length-1;d>=0;d-=1){const h=u[d],{isExternal:p,modifiers:m,hasImportantModifier:v,baseClassName:E,maybePostfixModifierPosition:y}=n(h);if(p){f=h+(f.length>0?" "+f:f);continue}let x=!!y,b=o(x?E.substring(0,y):E);if(!b){if(!x){f=h+(f.length>0?" "+f:f);continue}if(b=o(E),!b){f=h+(f.length>0?" "+f:f);continue}x=!1}const C=m.length===0?"":m.length===1?m[0]:a(m).join(":"),_=v?C+lf:C,N=_+b;if(l.indexOf(N)>-1)continue;l.push(N);const P=i(b,x);for(let T=0;T0?" "+f:f)}return f},p3=(...e)=>{let t=0,n,o,i="";for(;t{if(typeof e=="string")return e;let t,n="";for(let o=0;o{let n,o,i,a;const l=f=>{const d=t.reduce((h,p)=>p(h),e());return n=f3(d),o=n.cache.get,i=n.cache.set,a=u,u(f)},u=f=>{const d=o(f);if(d)return d;const h=h3(f,n);return i(f,h),h};return a=l,(...f)=>a(p3(...f))},m3=[],ot=e=>{const t=n=>n[e]||m3;return t.isThemeGetter=!0,t},$_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,B_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,v3=/^\d+\/\d+$/,y3=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,w3=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,x3=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,_3=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,b3=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Lo=e=>v3.test(e),Te=e=>!!e&&!Number.isNaN(Number(e)),ur=e=>!!e&&Number.isInteger(Number(e)),uf=e=>e.endsWith("%")&&Te(e.slice(0,-1)),Wn=e=>y3.test(e),S3=()=>!0,E3=e=>w3.test(e)&&!x3.test(e),V_=()=>!1,C3=e=>_3.test(e),k3=e=>b3.test(e),N3=e=>!we(e)&&!xe(e),R3=e=>Do(e,Y_,V_),we=e=>$_.test(e),Ur=e=>Do(e,K_,E3),cf=e=>Do(e,M3,Te),H_=e=>Do(e,U_,V_),P3=e=>Do(e,G_,k3),Ka=e=>Do(e,X_,C3),xe=e=>B_.test(e),is=e=>jo(e,K_),T3=e=>jo(e,O3),W_=e=>jo(e,U_),A3=e=>jo(e,Y_),I3=e=>jo(e,G_),Xa=e=>jo(e,X_,!0),Do=(e,t,n)=>{const o=$_.exec(e);return o?o[1]?t(o[1]):n(o[2]):!1},jo=(e,t,n=!1)=>{const o=B_.exec(e);return o?o[1]?t(o[1]):n:!1},U_=e=>e==="position"||e==="percentage",G_=e=>e==="image"||e==="url",Y_=e=>e==="length"||e==="size"||e==="bg-size",K_=e=>e==="length",M3=e=>e==="number",O3=e=>e==="family-name",X_=e=>e==="shadow",L3=g3(()=>{const e=ot("color"),t=ot("font"),n=ot("text"),o=ot("font-weight"),i=ot("tracking"),a=ot("leading"),l=ot("breakpoint"),u=ot("container"),f=ot("spacing"),d=ot("radius"),h=ot("shadow"),p=ot("inset-shadow"),m=ot("text-shadow"),v=ot("drop-shadow"),E=ot("blur"),y=ot("perspective"),x=ot("aspect"),b=ot("ease"),C=ot("animate"),_=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...N(),xe,we],T=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],O=()=>[xe,we,f],q=()=>[Lo,"full","auto",...O()],G=()=>[ur,"none","subgrid",xe,we],F=()=>["auto",{span:["full",ur,xe,we]},ur,xe,we],j=()=>[ur,"auto",xe,we],W=()=>["auto","min","max","fr",xe,we],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...O()],Y=()=>[Lo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...O()],M=()=>[e,xe,we],$=()=>[...N(),W_,H_,{position:[xe,we]}],Q=()=>["no-repeat",{repeat:["","x","y","space","round"]}],D=()=>["auto","cover","contain",A3,R3,{size:[xe,we]}],U=()=>[uf,is,Ur],ie=()=>["","none","full",d,xe,we],V=()=>["",Te,is,Ur],Z=()=>["solid","dashed","dotted","double"],ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],X=()=>[Te,uf,W_,H_],te=()=>["","none",E,xe,we],se=()=>["none",Te,xe,we],ae=()=>["none",Te,xe,we],ce=()=>[Te,xe,we],de=()=>[Lo,"full",...O()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wn],breakpoint:[Wn],color:[S3],container:[Wn],"drop-shadow":[Wn],ease:["in","out","in-out"],font:[N3],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wn],shadow:[Wn],spacing:["px",Te],text:[Wn],"text-shadow":[Wn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Lo,we,xe,x]}],container:["container"],columns:[{columns:[Te,we,xe,u]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:q()}],"inset-x":[{"inset-x":q()}],"inset-y":[{"inset-y":q()}],start:[{start:q()}],end:[{end:q()}],top:[{top:q()}],right:[{right:q()}],bottom:[{bottom:q()}],left:[{left:q()}],visibility:["visible","invisible","collapse"],z:[{z:[ur,"auto",xe,we]}],basis:[{basis:[Lo,"full","auto",u,...O()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Te,Lo,"auto","initial","none",we]}],grow:[{grow:["",Te,xe,we]}],shrink:[{shrink:["",Te,xe,we]}],order:[{order:[ur,"first","last","none",xe,we]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:F()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:F()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:O()}],"gap-x":[{"gap-x":O()}],"gap-y":[{"gap-y":O()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:O()}],px:[{px:O()}],py:[{py:O()}],ps:[{ps:O()}],pe:[{pe:O()}],pt:[{pt:O()}],pr:[{pr:O()}],pb:[{pb:O()}],pl:[{pl:O()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":O()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":O()}],"space-y-reverse":["space-y-reverse"],size:[{size:Y()}],w:[{w:[u,"screen",...Y()]}],"min-w":[{"min-w":[u,"screen","none",...Y()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...Y()]}],h:[{h:["screen","lh",...Y()]}],"min-h":[{"min-h":["screen","lh","none",...Y()]}],"max-h":[{"max-h":["screen","lh",...Y()]}],"font-size":[{text:["base",n,is,Ur]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,xe,cf]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",uf,we]}],"font-family":[{font:[T3,we,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,xe,we]}],"line-clamp":[{"line-clamp":[Te,"none",xe,cf]}],leading:[{leading:[a,...O()]}],"list-image":[{"list-image":["none",xe,we]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",xe,we]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:[Te,"from-font","auto",xe,Ur]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[Te,"auto",xe,we]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",xe,we]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",xe,we]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:$()}],"bg-repeat":[{bg:Q()}],"bg-size":[{bg:D()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ur,xe,we],radial:["",xe,we],conic:[ur,xe,we]},I3,P3]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:U()}],"gradient-via-pos":[{via:U()}],"gradient-to-pos":[{to:U()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:ie()}],"rounded-s":[{"rounded-s":ie()}],"rounded-e":[{"rounded-e":ie()}],"rounded-t":[{"rounded-t":ie()}],"rounded-r":[{"rounded-r":ie()}],"rounded-b":[{"rounded-b":ie()}],"rounded-l":[{"rounded-l":ie()}],"rounded-ss":[{"rounded-ss":ie()}],"rounded-se":[{"rounded-se":ie()}],"rounded-ee":[{"rounded-ee":ie()}],"rounded-es":[{"rounded-es":ie()}],"rounded-tl":[{"rounded-tl":ie()}],"rounded-tr":[{"rounded-tr":ie()}],"rounded-br":[{"rounded-br":ie()}],"rounded-bl":[{"rounded-bl":ie()}],"border-w":[{border:V()}],"border-w-x":[{"border-x":V()}],"border-w-y":[{"border-y":V()}],"border-w-s":[{"border-s":V()}],"border-w-e":[{"border-e":V()}],"border-w-t":[{"border-t":V()}],"border-w-r":[{"border-r":V()}],"border-w-b":[{"border-b":V()}],"border-w-l":[{"border-l":V()}],"divide-x":[{"divide-x":V()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":V()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Z(),"hidden","none"]}],"divide-style":[{divide:[...Z(),"hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...Z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Te,xe,we]}],"outline-w":[{outline:["",Te,is,Ur]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",h,Xa,Ka]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",p,Xa,Ka]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:V()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[Te,Ur]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":V()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",m,Xa,Ka]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[Te,xe,we]}],"mix-blend":[{"mix-blend":[...ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Te]}],"mask-image-linear-from-pos":[{"mask-linear-from":X()}],"mask-image-linear-to-pos":[{"mask-linear-to":X()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":X()}],"mask-image-t-to-pos":[{"mask-t-to":X()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":X()}],"mask-image-r-to-pos":[{"mask-r-to":X()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":X()}],"mask-image-b-to-pos":[{"mask-b-to":X()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":X()}],"mask-image-l-to-pos":[{"mask-l-to":X()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":X()}],"mask-image-x-to-pos":[{"mask-x-to":X()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":X()}],"mask-image-y-to-pos":[{"mask-y-to":X()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[xe,we]}],"mask-image-radial-from-pos":[{"mask-radial-from":X()}],"mask-image-radial-to-pos":[{"mask-radial-to":X()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[Te]}],"mask-image-conic-from-pos":[{"mask-conic-from":X()}],"mask-image-conic-to-pos":[{"mask-conic-to":X()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:$()}],"mask-repeat":[{mask:Q()}],"mask-size":[{mask:D()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",xe,we]}],filter:[{filter:["","none",xe,we]}],blur:[{blur:te()}],brightness:[{brightness:[Te,xe,we]}],contrast:[{contrast:[Te,xe,we]}],"drop-shadow":[{"drop-shadow":["","none",v,Xa,Ka]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",Te,xe,we]}],"hue-rotate":[{"hue-rotate":[Te,xe,we]}],invert:[{invert:["",Te,xe,we]}],saturate:[{saturate:[Te,xe,we]}],sepia:[{sepia:["",Te,xe,we]}],"backdrop-filter":[{"backdrop-filter":["","none",xe,we]}],"backdrop-blur":[{"backdrop-blur":te()}],"backdrop-brightness":[{"backdrop-brightness":[Te,xe,we]}],"backdrop-contrast":[{"backdrop-contrast":[Te,xe,we]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Te,xe,we]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Te,xe,we]}],"backdrop-invert":[{"backdrop-invert":["",Te,xe,we]}],"backdrop-opacity":[{"backdrop-opacity":[Te,xe,we]}],"backdrop-saturate":[{"backdrop-saturate":[Te,xe,we]}],"backdrop-sepia":[{"backdrop-sepia":["",Te,xe,we]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":O()}],"border-spacing-x":[{"border-spacing-x":O()}],"border-spacing-y":[{"border-spacing-y":O()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",xe,we]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Te,"initial",xe,we]}],ease:[{ease:["linear","initial",b,xe,we]}],delay:[{delay:[Te,xe,we]}],animate:[{animate:["none",C,xe,we]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,xe,we]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[xe,we,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",xe,we]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",xe,we]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[Te,is,Ur,cf]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function Me(...e){return L3(M_(e))}function Qa(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return R.jsx(Qa,{type:f,position:d,id:u.id})}const{className:t,children:n,style:o,...i}=e,[a,l]=k.useState(!1);return R.jsx(os,{...i,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),style:{width:"var(--pynodeflow-handle-size, 11px)",height:"var(--pynodeflow-handle-size, 11px)",borderWidth:"var(--pynodeflow-handle-border-width, 2px)",borderColor:"var(--pynodeflow-handle-border-color, #000000ff)",backgroundColor:a?"var(--pynodeflow-handle-hover-bg, #747474ff)":"var(--pynodeflow-handle-bg, #000000ff)",...o},className:Me("h-[11px] w-[11px] rounded-full border border-slate-300 bg-slate-100 transition","dark:border-secondary dark:bg-secondary",t),children:n})}const D3={top:"flex-col",right:"flex-row-reverse justify-end",bottom:"flex-col-reverse justify-end",left:"flex-row"};function Q_(e){if("component"in e){const{component:d}=e,h=d.handle_type==="input"?"target":"source",p=d.handle_type==="input"?ve.Left:ve.Right,m=d.label+(d.required?" *":"");return R.jsx(Q_,{type:h,position:p,id:d.id,title:m})}const{className:t,labelClassName:n,handleClassName:o,title:i,position:a,...l}=e,{ref:u,...f}=l;return R.jsxs("div",{title:i,className:Me("relative flex items-center",D3[a],t),ref:u,children:[R.jsx(Qa,{position:a,className:o,...f}),R.jsx("label",{className:Me("text-foreground px-3",n),children:i})]})}const j3={[ve.Top]:"flex-col-reverse left-1/2 -translate-y-full -translate-x-1/2",[ve.Bottom]:"flex-col left-1/2 translate-y-[10px] -translate-x-1/2",[ve.Left]:"flex-row-reverse top-1/2 -translate-x-full -translate-y-1/2",[ve.Right]:"top-1/2 -translate-y-1/2 translate-x-[10px]"};function Z_(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return R.jsx(Z_,{type:f,position:d,id:u.id,showButton:!0,children:R.jsxs("div",{className:"px-3 py-1.5 bg-secondary border-2 border-border rounded text-sm font-semibold cursor-pointer hover:bg-accent transition-colors",children:[u.label,u.required&&R.jsx("span",{className:"text-red-500 ml-1",children:"*"})]})})}const{showButton:t=!0,position:n=ve.Bottom,children:o,...i}=e,a=j3[n||ve.Bottom],l=n===ve.Top||n===ve.Bottom;return R.jsx(Qa,{position:n,id:i.id,...i,children:t&&R.jsxs("div",{className:`absolute flex items-center ${a} pointer-events-none`,children:[R.jsx("div",{className:`bg-gray-300 ${l?"h-10 w-px":"h-px w-10"}`}),R.jsx("div",{className:"nodrag nopan pointer-events-auto",children:o})]})})}function Za({className:e,type:t,...n}){return R.jsx("input",{type:t,"data-slot":"input",className:Me("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...n})}const J_=$t.createContext(null);function qo(){return $t.useContext(J_)}function q3(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" "),t}function z3(e){var a;if("component"in e){const{component:l,onValueChange:u}=e,f=qo(),d=((a=f==null?void 0:f.nodeData.values)==null?void 0:a[l.id])??l.value??"",h=l.label??q3(l.id);return R.jsxs("div",{className:"component-text-field w-full flex flex-col gap-1",children:[R.jsx("label",{className:"text-xs text-gray-600",children:h}),R.jsx(Za,{type:"text",value:d,onChange:p=>u==null?void 0:u(l.id,p.target.value),onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),placeholder:l.placeholder,"aria-label":h,className:"h-8 text-xs w-full"})]})}const{value:t,onChange:n,placeholder:o,label:i}=e;return R.jsx(Za,{type:"text",value:t,onChange:l=>n(l.target.value),onMouseDown:l=>l.stopPropagation(),onPointerDown:l=>l.stopPropagation(),placeholder:o,"aria-label":i,className:"h-8 text-xs"})}function F3(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" "),t}function $3(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=qo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??0,p=u.label??F3(u.id);return R.jsxs("div",{className:"component-number-field w-full flex flex-col gap-1",children:[R.jsx("label",{className:"text-xs text-gray-600",children:p}),R.jsx(Za,{type:"number",value:h,step:"any",onChange:m=>f==null?void 0:f(u.id,Number(m.target.value)),onMouseDownCapture:m=>m.stopPropagation(),onPointerDownCapture:m=>m.stopPropagation(),onWheel:m=>m.currentTarget.blur(),"aria-label":p,className:"h-8 text-xs w-full"})]})}const{value:t,onChange:n,isInteger:o,placeholder:i,label:a}=e;return R.jsx(Za,{type:"number",value:t,step:o?1:"any",onChange:u=>n(Number(u.target.value)),onMouseDownCapture:u=>u.stopPropagation(),onPointerDownCapture:u=>u.stopPropagation(),onWheel:u=>u.currentTarget.blur(),placeholder:i,"aria-label":a,className:"h-8 text-xs"})}function e1(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function zo(...e){return t=>{let n=!1;const o=e.map(i=>{const a=e1(i,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let i=0;i{const{children:l,...u}=a,f=k.useMemo(()=>u,Object.values(u));return R.jsx(n.Provider,{value:f,children:l})};o.displayName=e+"Provider";function i(a){const l=k.useContext(n);if(l)return l;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,i]}function Fo(e,t=[]){let n=[];function o(a,l){const u=k.createContext(l),f=n.length;n=[...n,l];const d=p=>{var b;const{scope:m,children:v,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=k.useMemo(()=>E,Object.values(E));return R.jsx(y.Provider,{value:x,children:v})};d.displayName=a+"Provider";function h(p,m){var y;const v=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=k.useContext(v);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const i=()=>{const a=n.map(l=>k.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return k.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return i.scopeName=e,[o,V3(i,...t)]}function V3(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return k.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}function Oe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(i){if(e==null||e(i),n===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}var ht=globalThis!=null&&globalThis.document?k.useLayoutEffect:()=>{},H3=dc[" useInsertionEffect ".trim().toString()]||ht;function ss({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[i,a,l]=W3({defaultProp:t,onChange:n}),u=e!==void 0,f=u?e:i;{const h=k.useRef(e!==void 0);k.useEffect(()=>{const p=h.current;p!==u&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,o])}const d=k.useCallback(h=>{var p;if(u){const m=U3(h)?h(e):h;m!==e&&((p=l.current)==null||p.call(l,m))}else a(h)},[u,e,a,l]);return[f,d]}function W3({defaultProp:e,onChange:t}){const[n,o]=k.useState(e),i=k.useRef(n),a=k.useRef(t);return H3(()=>{a.current=t},[t]),k.useEffect(()=>{var l;i.current!==n&&((l=a.current)==null||l.call(a,n),i.current=n)},[n,i]),[n,o,a]}function U3(e){return typeof e=="function"}function t1(e){const t=k.useRef({value:e,previous:e});return k.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function n1(e){const[t,n]=k.useState(void 0);return ht(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const a=i[0];let l,u;if("borderBoxSize"in a){const f=a.borderBoxSize,d=Array.isArray(f)?f[0]:f;l=d.inlineSize,u=d.blockSize}else l=e.offsetWidth,u=e.offsetHeight;n({width:l,height:u})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else n(void 0)},[e]),t}function G3(e,t){return k.useReducer((n,o)=>t[n][o]??n,e)}var Gr=e=>{const{present:t,children:n}=e,o=Y3(t),i=typeof n=="function"?n({present:o.isPresent}):k.Children.only(n),a=Fe(o.ref,K3(i));return typeof n=="function"||o.isPresent?k.cloneElement(i,{ref:a}):null};Gr.displayName="Presence";function Y3(e){const[t,n]=k.useState(),o=k.useRef(null),i=k.useRef(e),a=k.useRef("none"),l=e?"mounted":"unmounted",[u,f]=G3(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return k.useEffect(()=>{const d=Ja(o.current);a.current=u==="mounted"?d:"none"},[u]),ht(()=>{const d=o.current,h=i.current;if(h!==e){const m=a.current,v=Ja(d);e?f("MOUNT"):v==="none"||(d==null?void 0:d.display)==="none"?f("UNMOUNT"):f(h&&m!==v?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,f]),ht(()=>{if(t){let d;const h=t.ownerDocument.defaultView??window,p=v=>{const y=Ja(o.current).includes(CSS.escape(v.animationName));if(v.target===t&&y&&(f("ANIMATION_END"),!i.current)){const x=t.style.animationFillMode;t.style.animationFillMode="forwards",d=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=x)})}},m=v=>{v.target===t&&(a.current=Ja(o.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{h.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:k.useCallback(d=>{o.current=d?getComputedStyle(d):null,n(d)},[])}}function Ja(e){return(e==null?void 0:e.animationName)||"none"}function K3(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function X3(e){const t=Q3(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(J3);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function Q3(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=tz(i),u=ez(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Z3=Symbol("radix.slottable");function J3(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Z3}function ez(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function tz(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var nz=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],je=nz.reduce((e,t)=>{const n=X3(`Primitive.${t}`),o=k.forwardRef((i,a)=>{const{asChild:l,...u}=i,f=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),R.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function rz(e,t){e&&ts.flushSync(()=>e.dispatchEvent(t))}var el="Checkbox",[oz]=Fo(el),[iz,ff]=oz(el);function sz(e){const{__scopeCheckbox:t,checked:n,children:o,defaultChecked:i,disabled:a,form:l,name:u,onCheckedChange:f,required:d,value:h="on",internal_do_not_use_render:p}=e,[m,v]=ss({prop:n,defaultProp:i??!1,onChange:f,caller:el}),[E,y]=k.useState(null),[x,b]=k.useState(null),C=k.useRef(!1),_=E?!!l||!!E.closest("form"):!0,N={checked:m,disabled:a,setChecked:v,control:E,setControl:y,name:u,form:l,value:h,hasConsumerStoppedPropagationRef:C,required:d,defaultChecked:cr(i)?!1:i,isFormControl:_,bubbleInput:x,setBubbleInput:b};return R.jsx(iz,{scope:t,...N,children:az(p)?p(N):o})}var r1="CheckboxTrigger",o1=k.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...o},i)=>{const{control:a,value:l,disabled:u,checked:f,required:d,setControl:h,setChecked:p,hasConsumerStoppedPropagationRef:m,isFormControl:v,bubbleInput:E}=ff(r1,e),y=Fe(i,h),x=k.useRef(f);return k.useEffect(()=>{const b=a==null?void 0:a.form;if(b){const C=()=>p(x.current);return b.addEventListener("reset",C),()=>b.removeEventListener("reset",C)}},[a,p]),R.jsx(je.button,{type:"button",role:"checkbox","aria-checked":cr(f)?"mixed":f,"aria-required":d,"data-state":c1(f),"data-disabled":u?"":void 0,disabled:u,value:l,...o,ref:y,onKeyDown:Oe(t,b=>{b.key==="Enter"&&b.preventDefault()}),onClick:Oe(n,b=>{p(C=>cr(C)?!0:!C),E&&v&&(m.current=b.isPropagationStopped(),m.current||b.stopPropagation())})})});o1.displayName=r1;var i1=k.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:o,checked:i,defaultChecked:a,required:l,disabled:u,value:f,onCheckedChange:d,form:h,...p}=e;return R.jsx(sz,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:u,required:l,onCheckedChange:d,name:o,form:h,value:f,internal_do_not_use_render:({isFormControl:m})=>R.jsxs(R.Fragment,{children:[R.jsx(o1,{...p,ref:t,__scopeCheckbox:n}),m&&R.jsx(u1,{__scopeCheckbox:n})]})})});i1.displayName=el;var s1="CheckboxIndicator",a1=k.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:o,...i}=e,a=ff(s1,n);return R.jsx(Gr,{present:o||cr(a.checked)||a.checked===!0,children:R.jsx(je.span,{"data-state":c1(a.checked),"data-disabled":a.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});a1.displayName=s1;var l1="CheckboxBubbleInput",u1=k.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:o,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:l,required:u,disabled:f,name:d,value:h,form:p,bubbleInput:m,setBubbleInput:v}=ff(l1,e),E=Fe(n,v),y=t1(a),x=n1(o);k.useEffect(()=>{const C=m;if(!C)return;const _=window.HTMLInputElement.prototype,P=Object.getOwnPropertyDescriptor(_,"checked").set,T=!i.current;if(y!==a&&P){const I=new Event("click",{bubbles:T});C.indeterminate=cr(a),P.call(C,cr(a)?!1:a),C.dispatchEvent(I)}},[m,y,a,i]);const b=k.useRef(cr(a)?!1:a);return R.jsx(je.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??b.current,required:u,disabled:f,name:d,value:h,form:p,...t,tabIndex:-1,ref:E,style:{...t.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});u1.displayName=l1;function az(e){return typeof e=="function"}function cr(e){return e==="indeterminate"}function c1(e){return cr(e)?"indeterminate":e?"checked":"unchecked"}/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const lz=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),uz=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,o)=>o?o.toUpperCase():n.toLowerCase()),f1=e=>{const t=uz(e);return t.charAt(0).toUpperCase()+t.slice(1)},d1=(...e)=>e.filter((t,n,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===n).join(" ").trim(),cz=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var fz={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const dz=k.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:i="",children:a,iconNode:l,...u},f)=>k.createElement("svg",{ref:f,...fz,width:t,height:t,stroke:e,strokeWidth:o?Number(n)*24/Number(t):n,className:d1("lucide",i),...!a&&!cz(u)&&{"aria-hidden":"true"},...u},[...l.map(([d,h])=>k.createElement(d,h)),...Array.isArray(a)?a:[a]]));/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const kn=(e,t)=>{const n=k.forwardRef(({className:o,...i},a)=>k.createElement(dz,{ref:a,iconNode:t,className:d1(`lucide-${lz(f1(e))}`,`lucide-${e}`,o),...i}));return n.displayName=f1(e),n};/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const hz=kn("arrow-down-wide-narrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const pz=kn("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const h1=kn("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const p1=kn("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gz=kn("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const mz=kn("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const vz=kn("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const yz=kn("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const wz=kn("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xz=kn("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function g1({className:e,...t}){return R.jsx(i1,{"data-slot":"checkbox",className:Me("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:R.jsx(a1,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:R.jsx(h1,{className:"size-3.5"})})})}function _z(e){var i;if("component"in e){const{component:a,onValueChange:l}=e,u=qo(),f=((i=u==null?void 0:u.nodeData.values)==null?void 0:i[a.id])??a.value??!1;return R.jsxs("div",{className:"component-bool-field w-full flex items-center gap-2",children:[R.jsx(g1,{checked:f,onCheckedChange:d=>l==null?void 0:l(a.id,d===!0),onMouseDown:d=>d.stopPropagation(),onPointerDown:d=>d.stopPropagation(),"aria-label":a.label,className:"h-4 w-4"}),R.jsx("label",{className:"text-sm text-gray-700",children:a.label})]})}const{value:t,onChange:n,label:o}=e;return R.jsx(g1,{checked:t,onCheckedChange:a=>n(a===!0),onMouseDown:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),"aria-label":o,className:"h-4 w-4"})}function m1(e,[t,n]){return Math.min(n,Math.max(t,e))}function v1(e){const t=bz(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(Ez);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function bz(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=kz(i),u=Cz(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Sz=Symbol("radix.slottable");function Ez(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Sz}function Cz(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function kz(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Nz(e){const t=e+"CollectionProvider",[n,o]=Fo(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=y=>{const{scope:x,children:b}=y,C=$t.useRef(null),_=$t.useRef(new Map).current;return R.jsx(i,{scope:x,itemMap:_,collectionRef:C,children:b})};l.displayName=t;const u=e+"CollectionSlot",f=v1(u),d=$t.forwardRef((y,x)=>{const{scope:b,children:C}=y,_=a(u,b),N=Fe(x,_.collectionRef);return R.jsx(f,{ref:N,children:C})});d.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",m=v1(h),v=$t.forwardRef((y,x)=>{const{scope:b,children:C,..._}=y,N=$t.useRef(null),P=Fe(x,N),T=a(h,b);return $t.useEffect(()=>(T.itemMap.set(N,{ref:N,..._}),()=>void T.itemMap.delete(N))),R.jsx(m,{[p]:"",ref:P,children:C})});v.displayName=h;function E(y){const x=a(e+"CollectionConsumer",y);return $t.useCallback(()=>{const C=x.collectionRef.current;if(!C)return[];const _=Array.from(C.querySelectorAll(`[${p}]`));return Array.from(x.itemMap.values()).sort((T,I)=>_.indexOf(T.ref.current)-_.indexOf(I.ref.current))},[x.collectionRef,x.itemMap])}return[{Provider:l,Slot:d,ItemSlot:v},E,o]}var Rz=k.createContext(void 0);function Pz(e){const t=k.useContext(Rz);return e||t||"ltr"}function Yr(e){const t=k.useRef(e);return k.useEffect(()=>{t.current=e}),k.useMemo(()=>(...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)},[])}function Tz(e,t=globalThis==null?void 0:globalThis.document){const n=Yr(e);k.useEffect(()=>{const o=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[n,t])}var Az="DismissableLayer",df="dismissableLayer.update",Iz="dismissableLayer.pointerDownOutside",Mz="dismissableLayer.focusOutside",y1,w1=k.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),tl=k.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:l,onDismiss:u,...f}=e,d=k.useContext(w1),[h,p]=k.useState(null),m=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=k.useState({}),E=Fe(t,I=>p(I)),y=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=y.indexOf(x),C=h?y.indexOf(h):-1,_=d.layersWithOutsidePointerEventsDisabled.size>0,N=C>=b,P=Dz(I=>{const O=I.target,q=[...d.branches].some(G=>G.contains(O));!N||q||(i==null||i(I),l==null||l(I),I.defaultPrevented||u==null||u())},m),T=jz(I=>{const O=I.target;[...d.branches].some(G=>G.contains(O))||(a==null||a(I),l==null||l(I),I.defaultPrevented||u==null||u())},m);return Tz(I=>{C===d.layers.size-1&&(o==null||o(I),!I.defaultPrevented&&u&&(I.preventDefault(),u()))},m),k.useEffect(()=>{if(h)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(y1=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),x1(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=y1)}},[h,m,n,d]),k.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),x1())},[h,d]),k.useEffect(()=>{const I=()=>v({});return document.addEventListener(df,I),()=>document.removeEventListener(df,I)},[]),R.jsx(je.div,{...f,ref:E,style:{pointerEvents:_?N?"auto":"none":void 0,...e.style},onFocusCapture:Oe(e.onFocusCapture,T.onFocusCapture),onBlurCapture:Oe(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:Oe(e.onPointerDownCapture,P.onPointerDownCapture)})});tl.displayName=Az;var Oz="DismissableLayerBranch",Lz=k.forwardRef((e,t)=>{const n=k.useContext(w1),o=k.useRef(null),i=Fe(t,o);return k.useEffect(()=>{const a=o.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),R.jsx(je.div,{...e,ref:i})});Lz.displayName=Oz;function Dz(e,t=globalThis==null?void 0:globalThis.document){const n=Yr(e),o=k.useRef(!1),i=k.useRef(()=>{});return k.useEffect(()=>{const a=u=>{if(u.target&&!o.current){let f=function(){_1(Iz,n,d,{discrete:!0})};const d={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=f,t.addEventListener("click",i.current,{once:!0})):f()}else t.removeEventListener("click",i.current);o.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",a),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function jz(e,t=globalThis==null?void 0:globalThis.document){const n=Yr(e),o=k.useRef(!1);return k.useEffect(()=>{const i=a=>{a.target&&!o.current&&_1(Mz,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function x1(){const e=new CustomEvent(df);document.dispatchEvent(e)}function _1(e,t,n,{discrete:o}){const i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),o?rz(i,a):i.dispatchEvent(a)}var hf=0;function b1(){k.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??S1()),document.body.insertAdjacentElement("beforeend",e[1]??S1()),hf++,()=>{hf===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),hf--}},[])}function S1(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var pf="focusScope.autoFocusOnMount",gf="focusScope.autoFocusOnUnmount",E1={bubbles:!1,cancelable:!0},qz="FocusScope",mf=k.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...l}=e,[u,f]=k.useState(null),d=Yr(i),h=Yr(a),p=k.useRef(null),m=Fe(t,y=>f(y)),v=k.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;k.useEffect(()=>{if(o){let y=function(_){if(v.paused||!u)return;const N=_.target;u.contains(N)?p.current=N:fr(p.current,{select:!0})},x=function(_){if(v.paused||!u)return;const N=_.relatedTarget;N!==null&&(u.contains(N)||fr(p.current,{select:!0}))},b=function(_){if(document.activeElement===document.body)for(const P of _)P.removedNodes.length>0&&fr(u)};document.addEventListener("focusin",y),document.addEventListener("focusout",x);const C=new MutationObserver(b);return u&&C.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",x),C.disconnect()}}},[o,u,v.paused]),k.useEffect(()=>{if(u){N1.add(v);const y=document.activeElement;if(!u.contains(y)){const b=new CustomEvent(pf,E1);u.addEventListener(pf,d),u.dispatchEvent(b),b.defaultPrevented||(zz(Hz(C1(u)),{select:!0}),document.activeElement===y&&fr(u))}return()=>{u.removeEventListener(pf,d),setTimeout(()=>{const b=new CustomEvent(gf,E1);u.addEventListener(gf,h),u.dispatchEvent(b),b.defaultPrevented||fr(y??document.body,{select:!0}),u.removeEventListener(gf,h),N1.remove(v)},0)}}},[u,d,h,v]);const E=k.useCallback(y=>{if(!n&&!o||v.paused)return;const x=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,b=document.activeElement;if(x&&b){const C=y.currentTarget,[_,N]=Fz(C);_&&N?!y.shiftKey&&b===N?(y.preventDefault(),n&&fr(_,{select:!0})):y.shiftKey&&b===_&&(y.preventDefault(),n&&fr(N,{select:!0})):b===C&&y.preventDefault()}},[n,o,v.paused]);return R.jsx(je.div,{tabIndex:-1,...l,ref:m,onKeyDown:E})});mf.displayName=qz;function zz(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(fr(o,{select:t}),document.activeElement!==n)return}function Fz(e){const t=C1(e),n=k1(t,e),o=k1(t.reverse(),e);return[n,o]}function C1(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const i=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||i?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function k1(e,t){for(const n of e)if(!$z(n,{upTo:t}))return n}function $z(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Bz(e){return e instanceof HTMLInputElement&&"select"in e}function fr(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Bz(e)&&t&&e.select()}}var N1=Vz();function Vz(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=R1(e,t),e.unshift(t)},remove(t){var n;e=R1(e,t),(n=e[0])==null||n.resume()}}}function R1(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function Hz(e){return e.filter(t=>t.tagName!=="A")}var Wz=dc[" useId ".trim().toString()]||(()=>{}),Uz=0;function Kr(e){const[t,n]=k.useState(Wz());return ht(()=>{n(o=>o??String(Uz++))},[e]),e||(t?`radix-${t}`:"")}const Gz=["top","right","bottom","left"],dr=Math.min,It=Math.max,nl=Math.round,rl=Math.floor,Nn=e=>({x:e,y:e}),Yz={left:"right",right:"left",bottom:"top",top:"bottom"},Kz={start:"end",end:"start"};function vf(e,t,n){return It(e,dr(t,n))}function Un(e,t){return typeof e=="function"?e(t):e}function Gn(e){return e.split("-")[0]}function $o(e){return e.split("-")[1]}function yf(e){return e==="x"?"y":"x"}function wf(e){return e==="y"?"height":"width"}const Xz=new Set(["top","bottom"]);function Rn(e){return Xz.has(Gn(e))?"y":"x"}function xf(e){return yf(Rn(e))}function Qz(e,t,n){n===void 0&&(n=!1);const o=$o(e),i=xf(e),a=wf(i);let l=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=ol(l)),[l,ol(l)]}function Zz(e){const t=ol(e);return[_f(e),t,_f(t)]}function _f(e){return e.replace(/start|end/g,t=>Kz[t])}const P1=["left","right"],T1=["right","left"],Jz=["top","bottom"],eF=["bottom","top"];function tF(e,t,n){switch(e){case"top":case"bottom":return n?t?T1:P1:t?P1:T1;case"left":case"right":return t?Jz:eF;default:return[]}}function nF(e,t,n,o){const i=$o(e);let a=tF(Gn(e),n==="start",o);return i&&(a=a.map(l=>l+"-"+i),t&&(a=a.concat(a.map(_f)))),a}function ol(e){return e.replace(/left|right|bottom|top/g,t=>Yz[t])}function rF(e){return{top:0,right:0,bottom:0,left:0,...e}}function A1(e){return typeof e!="number"?rF(e):{top:e,right:e,bottom:e,left:e}}function il(e){const{x:t,y:n,width:o,height:i}=e;return{width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function I1(e,t,n){let{reference:o,floating:i}=e;const a=Rn(t),l=xf(t),u=wf(l),f=Gn(t),d=a==="y",h=o.x+o.width/2-i.width/2,p=o.y+o.height/2-i.height/2,m=o[u]/2-i[u]/2;let v;switch(f){case"top":v={x:h,y:o.y-i.height};break;case"bottom":v={x:h,y:o.y+o.height};break;case"right":v={x:o.x+o.width,y:p};break;case"left":v={x:o.x-i.width,y:p};break;default:v={x:o.x,y:o.y}}switch($o(t)){case"start":v[l]-=m*(n&&d?-1:1);break;case"end":v[l]+=m*(n&&d?-1:1);break}return v}const oF=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:a=[],platform:l}=n,u=a.filter(Boolean),f=await(l.isRTL==null?void 0:l.isRTL(t));let d=await l.getElementRects({reference:e,floating:t,strategy:i}),{x:h,y:p}=I1(d,o,f),m=o,v={},E=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:a,platform:l,elements:u,middlewareData:f}=t,{element:d,padding:h=0}=Un(e,t)||{};if(d==null)return{};const p=A1(h),m={x:n,y:o},v=xf(i),E=wf(v),y=await l.getDimensions(d),x=v==="y",b=x?"top":"left",C=x?"bottom":"right",_=x?"clientHeight":"clientWidth",N=a.reference[E]+a.reference[v]-m[v]-a.floating[E],P=m[v]-a.reference[v],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d));let I=T?T[_]:0;(!I||!await(l.isElement==null?void 0:l.isElement(T)))&&(I=u.floating[_]||a.floating[E]);const O=N/2-P/2,q=I/2-y[E]/2-1,G=dr(p[b],q),F=dr(p[C],q),j=G,W=I-y[E]-F,L=I/2-y[E]/2+O,H=vf(j,L,W),z=!f.arrow&&$o(i)!=null&&L!==H&&a.reference[E]/2-(LL<=0)){var F,j;const L=(((F=a.flip)==null?void 0:F.index)||0)+1,H=I[L];if(H&&(!(p==="alignment"?C!==Rn(H):!1)||G.every(M=>Rn(M.placement)===C?M.overflows[0]>0:!0)))return{data:{index:L,overflows:G},reset:{placement:H}};let z=(j=G.filter(Y=>Y.overflows[0]<=0).sort((Y,M)=>Y.overflows[1]-M.overflows[1])[0])==null?void 0:j.placement;if(!z)switch(v){case"bestFit":{var W;const Y=(W=G.filter(M=>{if(T){const $=Rn(M.placement);return $===C||$==="y"}return!0}).map(M=>[M.placement,M.overflows.filter($=>$>0).reduce(($,Q)=>$+Q,0)]).sort((M,$)=>M[1]-$[1])[0])==null?void 0:W[0];Y&&(z=Y);break}case"initialPlacement":z=u;break}if(i!==z)return{reset:{placement:z}}}return{}}}};function M1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function O1(e){return Gz.some(t=>e[t]>=0)}const aF=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...i}=Un(e,t);switch(o){case"referenceHidden":{const a=await as(t,{...i,elementContext:"reference"}),l=M1(a,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:O1(l)}}}case"escaped":{const a=await as(t,{...i,altBoundary:!0}),l=M1(a,n.floating);return{data:{escapedOffsets:l,escaped:O1(l)}}}default:return{}}}}},L1=new Set(["left","top"]);async function lF(e,t){const{placement:n,platform:o,elements:i}=e,a=await(o.isRTL==null?void 0:o.isRTL(i.floating)),l=Gn(n),u=$o(n),f=Rn(n)==="y",d=L1.has(l)?-1:1,h=a&&f?-1:1,p=Un(t,e);let{mainAxis:m,crossAxis:v,alignmentAxis:E}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return u&&typeof E=="number"&&(v=u==="end"?E*-1:E),f?{x:v*h,y:m*d}:{x:m*d,y:v*h}}const uF=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:i,y:a,placement:l,middlewareData:u}=t,f=await lF(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(o=u.arrow)!=null&&o.alignmentOffset?{}:{x:i+f.x,y:a+f.y,data:{...f,placement:l}}}}},cF=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:x=>{let{x:b,y:C}=x;return{x:b,y:C}}},...f}=Un(e,t),d={x:n,y:o},h=await as(t,f),p=Rn(Gn(i)),m=yf(p);let v=d[m],E=d[p];if(a){const x=m==="y"?"top":"left",b=m==="y"?"bottom":"right",C=v+h[x],_=v-h[b];v=vf(C,v,_)}if(l){const x=p==="y"?"top":"left",b=p==="y"?"bottom":"right",C=E+h[x],_=E-h[b];E=vf(C,E,_)}const y=u.fn({...t,[m]:v,[p]:E});return{...y,data:{x:y.x-n,y:y.y-o,enabled:{[m]:a,[p]:l}}}}}},fF=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:i,rects:a,middlewareData:l}=t,{offset:u=0,mainAxis:f=!0,crossAxis:d=!0}=Un(e,t),h={x:n,y:o},p=Rn(i),m=yf(p);let v=h[m],E=h[p];const y=Un(u,t),x=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const _=m==="y"?"height":"width",N=a.reference[m]-a.floating[_]+x.mainAxis,P=a.reference[m]+a.reference[_]-x.mainAxis;vP&&(v=P)}if(d){var b,C;const _=m==="y"?"width":"height",N=L1.has(Gn(i)),P=a.reference[p]-a.floating[_]+(N&&((b=l.offset)==null?void 0:b[p])||0)+(N?0:x.crossAxis),T=a.reference[p]+a.reference[_]+(N?0:((C=l.offset)==null?void 0:C[p])||0)-(N?x.crossAxis:0);ET&&(E=T)}return{[m]:v,[p]:E}}}},dF=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:i,rects:a,platform:l,elements:u}=t,{apply:f=()=>{},...d}=Un(e,t),h=await as(t,d),p=Gn(i),m=$o(i),v=Rn(i)==="y",{width:E,height:y}=a.floating;let x,b;p==="top"||p==="bottom"?(x=p,b=m===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(b=p,x=m==="end"?"top":"bottom");const C=y-h.top-h.bottom,_=E-h.left-h.right,N=dr(y-h[x],C),P=dr(E-h[b],_),T=!t.middlewareData.shift;let I=N,O=P;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(O=_),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(I=C),T&&!m){const G=It(h.left,0),F=It(h.right,0),j=It(h.top,0),W=It(h.bottom,0);v?O=E-2*(G!==0||F!==0?G+F:It(h.left,h.right)):I=y-2*(j!==0||W!==0?j+W:It(h.top,h.bottom))}await f({...t,availableWidth:O,availableHeight:I});const q=await l.getDimensions(u.floating);return E!==q.width||y!==q.height?{reset:{rects:!0}}:{}}}};function sl(){return typeof window<"u"}function Bo(e){return D1(e)?(e.nodeName||"").toLowerCase():"#document"}function Mt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Pn(e){var t;return(t=(D1(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function D1(e){return sl()?e instanceof Node||e instanceof Mt(e).Node:!1}function ln(e){return sl()?e instanceof Element||e instanceof Mt(e).Element:!1}function Tn(e){return sl()?e instanceof HTMLElement||e instanceof Mt(e).HTMLElement:!1}function j1(e){return!sl()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Mt(e).ShadowRoot}const hF=new Set(["inline","contents"]);function ls(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=un(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!hF.has(i)}const pF=new Set(["table","td","th"]);function gF(e){return pF.has(Bo(e))}const mF=[":popover-open",":modal"];function al(e){return mF.some(t=>{try{return e.matches(t)}catch{return!1}})}const vF=["transform","translate","scale","rotate","perspective"],yF=["transform","translate","scale","rotate","perspective","filter"],wF=["paint","layout","strict","content"];function bf(e){const t=Sf(),n=ln(e)?un(e):e;return vF.some(o=>n[o]?n[o]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||yF.some(o=>(n.willChange||"").includes(o))||wF.some(o=>(n.contain||"").includes(o))}function xF(e){let t=hr(e);for(;Tn(t)&&!Vo(t);){if(bf(t))return t;if(al(t))return null;t=hr(t)}return null}function Sf(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const _F=new Set(["html","body","#document"]);function Vo(e){return _F.has(Bo(e))}function un(e){return Mt(e).getComputedStyle(e)}function ll(e){return ln(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function hr(e){if(Bo(e)==="html")return e;const t=e.assignedSlot||e.parentNode||j1(e)&&e.host||Pn(e);return j1(t)?t.host:t}function q1(e){const t=hr(e);return Vo(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tn(t)&&ls(t)?t:q1(t)}function us(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=q1(e),a=i===((o=e.ownerDocument)==null?void 0:o.body),l=Mt(i);if(a){const u=Ef(l);return t.concat(l,l.visualViewport||[],ls(i)?i:[],u&&n?us(u):[])}return t.concat(i,us(i,[],n))}function Ef(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function z1(e){const t=un(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=Tn(e),a=i?e.offsetWidth:n,l=i?e.offsetHeight:o,u=nl(n)!==a||nl(o)!==l;return u&&(n=a,o=l),{width:n,height:o,$:u}}function Cf(e){return ln(e)?e:e.contextElement}function Ho(e){const t=Cf(e);if(!Tn(t))return Nn(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:a}=z1(t);let l=(a?nl(n.width):n.width)/o,u=(a?nl(n.height):n.height)/i;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const bF=Nn(0);function F1(e){const t=Mt(e);return!Sf()||!t.visualViewport?bF:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function SF(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Mt(e)?!1:t}function Xr(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),a=Cf(e);let l=Nn(1);t&&(o?ln(o)&&(l=Ho(o)):l=Ho(e));const u=SF(a,n,o)?F1(a):Nn(0);let f=(i.left+u.x)/l.x,d=(i.top+u.y)/l.y,h=i.width/l.x,p=i.height/l.y;if(a){const m=Mt(a),v=o&&ln(o)?Mt(o):o;let E=m,y=Ef(E);for(;y&&o&&v!==E;){const x=Ho(y),b=y.getBoundingClientRect(),C=un(y),_=b.left+(y.clientLeft+parseFloat(C.paddingLeft))*x.x,N=b.top+(y.clientTop+parseFloat(C.paddingTop))*x.y;f*=x.x,d*=x.y,h*=x.x,p*=x.y,f+=_,d+=N,E=Mt(y),y=Ef(E)}}return il({width:h,height:p,x:f,y:d})}function ul(e,t){const n=ll(e).scrollLeft;return t?t.left+n:Xr(Pn(e)).left+n}function $1(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-ul(e,n),i=n.top+t.scrollTop;return{x:o,y:i}}function EF(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const a=i==="fixed",l=Pn(o),u=t?al(t.floating):!1;if(o===l||u&&a)return n;let f={scrollLeft:0,scrollTop:0},d=Nn(1);const h=Nn(0),p=Tn(o);if((p||!p&&!a)&&((Bo(o)!=="body"||ls(l))&&(f=ll(o)),Tn(o))){const v=Xr(o);d=Ho(o),h.x=v.x+o.clientLeft,h.y=v.y+o.clientTop}const m=l&&!p&&!a?$1(l,f):Nn(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-f.scrollLeft*d.x+h.x+m.x,y:n.y*d.y-f.scrollTop*d.y+h.y+m.y}}function CF(e){return Array.from(e.getClientRects())}function kF(e){const t=Pn(e),n=ll(e),o=e.ownerDocument.body,i=It(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=It(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+ul(e);const u=-n.scrollTop;return un(o).direction==="rtl"&&(l+=It(t.clientWidth,o.clientWidth)-i),{width:i,height:a,x:l,y:u}}const B1=25;function NF(e,t){const n=Mt(e),o=Pn(e),i=n.visualViewport;let a=o.clientWidth,l=o.clientHeight,u=0,f=0;if(i){a=i.width,l=i.height;const h=Sf();(!h||h&&t==="fixed")&&(u=i.offsetLeft,f=i.offsetTop)}const d=ul(o);if(d<=0){const h=o.ownerDocument,p=h.body,m=getComputedStyle(p),v=h.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,E=Math.abs(o.clientWidth-p.clientWidth-v);E<=B1&&(a-=E)}else d<=B1&&(a+=d);return{width:a,height:l,x:u,y:f}}const RF=new Set(["absolute","fixed"]);function PF(e,t){const n=Xr(e,!0,t==="fixed"),o=n.top+e.clientTop,i=n.left+e.clientLeft,a=Tn(e)?Ho(e):Nn(1),l=e.clientWidth*a.x,u=e.clientHeight*a.y,f=i*a.x,d=o*a.y;return{width:l,height:u,x:f,y:d}}function V1(e,t,n){let o;if(t==="viewport")o=NF(e,n);else if(t==="document")o=kF(Pn(e));else if(ln(t))o=PF(t,n);else{const i=F1(e);o={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return il(o)}function H1(e,t){const n=hr(e);return n===t||!ln(n)||Vo(n)?!1:un(n).position==="fixed"||H1(n,t)}function TF(e,t){const n=t.get(e);if(n)return n;let o=us(e,[],!1).filter(u=>ln(u)&&Bo(u)!=="body"),i=null;const a=un(e).position==="fixed";let l=a?hr(e):e;for(;ln(l)&&!Vo(l);){const u=un(l),f=bf(l);!f&&u.position==="fixed"&&(i=null),(a?!f&&!i:!f&&u.position==="static"&&!!i&&RF.has(i.position)||ls(l)&&!f&&H1(e,l))?o=o.filter(h=>h!==l):i=u,l=hr(l)}return t.set(e,o),o}function AF(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const l=[...n==="clippingAncestors"?al(t)?[]:TF(t,this._c):[].concat(n),o],u=l[0],f=l.reduce((d,h)=>{const p=V1(t,h,i);return d.top=It(p.top,d.top),d.right=dr(p.right,d.right),d.bottom=dr(p.bottom,d.bottom),d.left=It(p.left,d.left),d},V1(t,u,i));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function IF(e){const{width:t,height:n}=z1(e);return{width:t,height:n}}function MF(e,t,n){const o=Tn(t),i=Pn(t),a=n==="fixed",l=Xr(e,!0,a,t);let u={scrollLeft:0,scrollTop:0};const f=Nn(0);function d(){f.x=ul(i)}if(o||!o&&!a)if((Bo(t)!=="body"||ls(i))&&(u=ll(t)),o){const v=Xr(t,!0,a,t);f.x=v.x+t.clientLeft,f.y=v.y+t.clientTop}else i&&d();a&&!o&&i&&d();const h=i&&!o&&!a?$1(i,u):Nn(0),p=l.left+u.scrollLeft-f.x-h.x,m=l.top+u.scrollTop-f.y-h.y;return{x:p,y:m,width:l.width,height:l.height}}function kf(e){return un(e).position==="static"}function W1(e,t){if(!Tn(e)||un(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Pn(e)===n&&(n=n.ownerDocument.body),n}function U1(e,t){const n=Mt(e);if(al(e))return n;if(!Tn(e)){let i=hr(e);for(;i&&!Vo(i);){if(ln(i)&&!kf(i))return i;i=hr(i)}return n}let o=W1(e,t);for(;o&&gF(o)&&kf(o);)o=W1(o,t);return o&&Vo(o)&&kf(o)&&!bf(o)?n:o||xF(e)||n}const OF=async function(e){const t=this.getOffsetParent||U1,n=this.getDimensions,o=await n(e.floating);return{reference:MF(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function LF(e){return un(e).direction==="rtl"}const DF={convertOffsetParentRelativeRectToViewportRelativeRect:EF,getDocumentElement:Pn,getClippingRect:AF,getOffsetParent:U1,getElementRects:OF,getClientRects:CF,getDimensions:IF,getScale:Ho,isElement:ln,isRTL:LF};function G1(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function jF(e,t){let n=null,o;const i=Pn(e);function a(){var u;clearTimeout(o),(u=n)==null||u.disconnect(),n=null}function l(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),a();const d=e.getBoundingClientRect(),{left:h,top:p,width:m,height:v}=d;if(u||t(),!m||!v)return;const E=rl(p),y=rl(i.clientWidth-(h+m)),x=rl(i.clientHeight-(p+v)),b=rl(h),_={rootMargin:-E+"px "+-y+"px "+-x+"px "+-b+"px",threshold:It(0,dr(1,f))||1};let N=!0;function P(T){const I=T[0].intersectionRatio;if(I!==f){if(!N)return l();I?l(!1,I):o=setTimeout(()=>{l(!1,1e-7)},1e3)}I===1&&!G1(d,e.getBoundingClientRect())&&l(),N=!1}try{n=new IntersectionObserver(P,{..._,root:i.ownerDocument})}catch{n=new IntersectionObserver(P,_)}n.observe(e)}return l(!0),a}function qF(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=o,d=Cf(e),h=i||a?[...d?us(d):[],...us(t)]:[];h.forEach(b=>{i&&b.addEventListener("scroll",n,{passive:!0}),a&&b.addEventListener("resize",n)});const p=d&&u?jF(d,n):null;let m=-1,v=null;l&&(v=new ResizeObserver(b=>{let[C]=b;C&&C.target===d&&v&&(v.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var _;(_=v)==null||_.observe(t)})),n()}),d&&!f&&v.observe(d),v.observe(t));let E,y=f?Xr(e):null;f&&x();function x(){const b=Xr(e);y&&!G1(y,b)&&n(),y=b,E=requestAnimationFrame(x)}return n(),()=>{var b;h.forEach(C=>{i&&C.removeEventListener("scroll",n),a&&C.removeEventListener("resize",n)}),p==null||p(),(b=v)==null||b.disconnect(),v=null,f&&cancelAnimationFrame(E)}}const zF=uF,FF=cF,$F=sF,BF=dF,VF=aF,Y1=iF,HF=fF,WF=(e,t,n)=>{const o=new Map,i={platform:DF,...n},a={...i.platform,_c:o};return oF(e,t,{...i,platform:a})};var UF=typeof document<"u",GF=function(){},cl=UF?k.useLayoutEffect:GF;function fl(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,o,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(!fl(e[o],t[o]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(t,i[o]))return!1;for(o=n;o--!==0;){const a=i[o];if(!(a==="_owner"&&e.$$typeof)&&!fl(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function K1(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function X1(e,t){const n=K1(e);return Math.round(t*n)/n}function Nf(e){const t=k.useRef(e);return cl(()=>{t.current=e}),t}function YF(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:i,elements:{reference:a,floating:l}={},transform:u=!0,whileElementsMounted:f,open:d}=e,[h,p]=k.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,v]=k.useState(o);fl(m,o)||v(o);const[E,y]=k.useState(null),[x,b]=k.useState(null),C=k.useCallback(M=>{M!==T.current&&(T.current=M,y(M))},[]),_=k.useCallback(M=>{M!==I.current&&(I.current=M,b(M))},[]),N=a||E,P=l||x,T=k.useRef(null),I=k.useRef(null),O=k.useRef(h),q=f!=null,G=Nf(f),F=Nf(i),j=Nf(d),W=k.useCallback(()=>{if(!T.current||!I.current)return;const M={placement:t,strategy:n,middleware:m};F.current&&(M.platform=F.current),WF(T.current,I.current,M).then($=>{const Q={...$,isPositioned:j.current!==!1};L.current&&!fl(O.current,Q)&&(O.current=Q,ts.flushSync(()=>{p(Q)}))})},[m,t,n,F,j]);cl(()=>{d===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,p(M=>({...M,isPositioned:!1})))},[d]);const L=k.useRef(!1);cl(()=>(L.current=!0,()=>{L.current=!1}),[]),cl(()=>{if(N&&(T.current=N),P&&(I.current=P),N&&P){if(G.current)return G.current(N,P,W);W()}},[N,P,W,G,q]);const H=k.useMemo(()=>({reference:T,floating:I,setReference:C,setFloating:_}),[C,_]),z=k.useMemo(()=>({reference:N,floating:P}),[N,P]),Y=k.useMemo(()=>{const M={position:n,left:0,top:0};if(!z.floating)return M;const $=X1(z.floating,h.x),Q=X1(z.floating,h.y);return u?{...M,transform:"translate("+$+"px, "+Q+"px)",...K1(z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:$,top:Q}},[n,u,z.floating,h.x,h.y]);return k.useMemo(()=>({...h,update:W,refs:H,elements:z,floatingStyles:Y}),[h,W,H,z,Y])}const KF=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:o,padding:i}=typeof e=="function"?e(n):e;return o&&t(o)?o.current!=null?Y1({element:o.current,padding:i}).fn(n):{}:o?Y1({element:o,padding:i}).fn(n):{}}}},XF=(e,t)=>({...zF(e),options:[e,t]}),QF=(e,t)=>({...FF(e),options:[e,t]}),ZF=(e,t)=>({...HF(e),options:[e,t]}),JF=(e,t)=>({...$F(e),options:[e,t]}),e4=(e,t)=>({...BF(e),options:[e,t]}),t4=(e,t)=>({...VF(e),options:[e,t]}),n4=(e,t)=>({...KF(e),options:[e,t]});var r4="Arrow",Q1=k.forwardRef((e,t)=>{const{children:n,width:o=10,height:i=5,...a}=e;return R.jsx(je.svg,{...a,ref:t,width:o,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:R.jsx("polygon",{points:"0,0 30,0 15,10"})})});Q1.displayName=r4;var o4=Q1,Rf="Popper",[Z1,dl]=Fo(Rf),[i4,J1]=Z1(Rf),eb=e=>{const{__scopePopper:t,children:n}=e,[o,i]=k.useState(null);return R.jsx(i4,{scope:t,anchor:o,onAnchorChange:i,children:n})};eb.displayName=Rf;var tb="PopperAnchor",nb=k.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...i}=e,a=J1(tb,n),l=k.useRef(null),u=Fe(t,l),f=k.useRef(null);return k.useEffect(()=>{const d=f.current;f.current=(o==null?void 0:o.current)||l.current,d!==f.current&&a.onAnchorChange(f.current)}),o?null:R.jsx(je.div,{...i,ref:u})});nb.displayName=tb;var Pf="PopperContent",[s4,a4]=Z1(Pf),rb=k.forwardRef((e,t)=>{var X,te,se,ae,ce,de;const{__scopePopper:n,side:o="bottom",sideOffset:i=0,align:a="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:f=!0,collisionBoundary:d=[],collisionPadding:h=0,sticky:p="partial",hideWhenDetached:m=!1,updatePositionStrategy:v="optimized",onPlaced:E,...y}=e,x=J1(Pf,n),[b,C]=k.useState(null),_=Fe(t,pe=>C(pe)),[N,P]=k.useState(null),T=n1(N),I=(T==null?void 0:T.width)??0,O=(T==null?void 0:T.height)??0,q=o+(a!=="center"?"-"+a:""),G=typeof h=="number"?h:{top:0,right:0,bottom:0,left:0,...h},F=Array.isArray(d)?d:[d],j=F.length>0,W={padding:G,boundary:F.filter(u4),altBoundary:j},{refs:L,floatingStyles:H,placement:z,isPositioned:Y,middlewareData:M}=YF({strategy:"fixed",placement:q,whileElementsMounted:(...pe)=>qF(...pe,{animationFrame:v==="always"}),elements:{reference:x.anchor},middleware:[XF({mainAxis:i+O,alignmentAxis:l}),f&&QF({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?ZF():void 0,...W}),f&&JF({...W}),e4({...W,apply:({elements:pe,rects:be,availableWidth:me,availableHeight:Re})=>{const{width:Ee,height:Je}=be.reference,Ge=pe.floating.style;Ge.setProperty("--radix-popper-available-width",`${me}px`),Ge.setProperty("--radix-popper-available-height",`${Re}px`),Ge.setProperty("--radix-popper-anchor-width",`${Ee}px`),Ge.setProperty("--radix-popper-anchor-height",`${Je}px`)}}),N&&n4({element:N,padding:u}),c4({arrowWidth:I,arrowHeight:O}),m&&t4({strategy:"referenceHidden",...W})]}),[$,Q]=sb(z),D=Yr(E);ht(()=>{Y&&(D==null||D())},[Y,D]);const U=(X=M.arrow)==null?void 0:X.x,ie=(te=M.arrow)==null?void 0:te.y,V=((se=M.arrow)==null?void 0:se.centerOffset)!==0,[Z,ee]=k.useState();return ht(()=>{b&&ee(window.getComputedStyle(b).zIndex)},[b]),R.jsx("div",{ref:L.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:Y?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Z,"--radix-popper-transform-origin":[(ae=M.transformOrigin)==null?void 0:ae.x,(ce=M.transformOrigin)==null?void 0:ce.y].join(" "),...((de=M.hide)==null?void 0:de.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:R.jsx(s4,{scope:n,placedSide:$,onArrowChange:P,arrowX:U,arrowY:ie,shouldHideArrow:V,children:R.jsx(je.div,{"data-side":$,"data-align":Q,...y,ref:_,style:{...y.style,animation:Y?void 0:"none"}})})})});rb.displayName=Pf;var ob="PopperArrow",l4={top:"bottom",right:"left",bottom:"top",left:"right"},ib=k.forwardRef(function(t,n){const{__scopePopper:o,...i}=t,a=a4(ob,o),l=l4[a.placedSide];return R.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:R.jsx(o4,{...i,ref:n,style:{...i.style,display:"block"}})})});ib.displayName=ob;function u4(e){return e!==null}var c4=e=>({name:"transformOrigin",options:e,fn(t){var x,b,C;const{placement:n,rects:o,middlewareData:i}=t,l=((x=i.arrow)==null?void 0:x.centerOffset)!==0,u=l?0:e.arrowWidth,f=l?0:e.arrowHeight,[d,h]=sb(n),p={start:"0%",center:"50%",end:"100%"}[h],m=(((b=i.arrow)==null?void 0:b.x)??0)+u/2,v=(((C=i.arrow)==null?void 0:C.y)??0)+f/2;let E="",y="";return d==="bottom"?(E=l?p:`${m}px`,y=`${-f}px`):d==="top"?(E=l?p:`${m}px`,y=`${o.floating.height+f}px`):d==="right"?(E=`${-f}px`,y=l?p:`${v}px`):d==="left"&&(E=`${o.floating.width+f}px`,y=l?p:`${v}px`),{data:{x:E,y}}}});function sb(e){const[t,n="center"]=e.split("-");return[t,n]}var ab=eb,lb=nb,ub=rb,cb=ib,f4="Portal",hl=k.forwardRef((e,t)=>{var u;const{container:n,...o}=e,[i,a]=k.useState(!1);ht(()=>a(!0),[]);const l=n||i&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return l?DD.createPortal(R.jsx(je.div,{...o,ref:t}),l):null});hl.displayName=f4;function d4(e){const t=h4(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(g4);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function h4(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=v4(i),u=m4(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var p4=Symbol("radix.slottable");function g4(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===p4}function m4(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function v4(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var fb=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),y4="VisuallyHidden",db=k.forwardRef((e,t)=>R.jsx(je.span,{...e,ref:t,style:{...fb,...e.style}}));db.displayName=y4;var w4=db,x4=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Wo=new WeakMap,pl=new WeakMap,gl={},Tf=0,hb=function(e){return e&&(e.host||hb(e.parentNode))},_4=function(e,t){return t.map(function(n){if(e.contains(n))return n;var o=hb(n);return o&&e.contains(o)?o:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},b4=function(e,t,n,o){var i=_4(t,Array.isArray(e)?e:[e]);gl[n]||(gl[n]=new WeakMap);var a=gl[n],l=[],u=new Set,f=new Set(i),d=function(p){!p||u.has(p)||(u.add(p),d(p.parentNode))};i.forEach(d);var h=function(p){!p||f.has(p)||Array.prototype.forEach.call(p.children,function(m){if(u.has(m))h(m);else try{var v=m.getAttribute(o),E=v!==null&&v!=="false",y=(Wo.get(m)||0)+1,x=(a.get(m)||0)+1;Wo.set(m,y),a.set(m,x),l.push(m),y===1&&E&&pl.set(m,!0),x===1&&m.setAttribute(n,"true"),E||m.setAttribute(o,"true")}catch(b){console.error("aria-hidden: cannot operate on ",m,b)}})};return h(t),u.clear(),Tf++,function(){l.forEach(function(p){var m=Wo.get(p)-1,v=a.get(p)-1;Wo.set(p,m),a.set(p,v),m||(pl.has(p)||p.removeAttribute(o),pl.delete(p)),v||p.removeAttribute(n)}),Tf--,Tf||(Wo=new WeakMap,Wo=new WeakMap,pl=new WeakMap,gl={})}},pb=function(e,t,n){n===void 0&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),i=x4(e);return i?(o.push.apply(o,Array.from(i.querySelectorAll("[aria-live], script"))),b4(o,i,n,"aria-hidden")):function(){return null}},An=function(){return An=Object.assign||function(t){for(var n,o=1,i=arguments.length;o"u")return z4;var t=F4(e),n=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])}},B4=wb(),Uo="data-scroll-locked",V4=function(e,t,n,o){var i=e.left,a=e.top,l=e.right,u=e.gap;return n===void 0&&(n="margin"),` + .`.concat(E4,` { + overflow: hidden `).concat(o,`; + padding-right: `).concat(u,"px ").concat(o,`; + } + body[`).concat(Uo,`] { + overflow: hidden `).concat(o,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(o,";"),n==="margin"&&` + padding-left: `.concat(i,`px; + padding-top: `).concat(a,`px; + padding-right: `).concat(l,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(u,"px ").concat(o,`; + `),n==="padding"&&"padding-right: ".concat(u,"px ").concat(o,";")].filter(Boolean).join(""),` + } + + .`).concat(ml,` { + right: `).concat(u,"px ").concat(o,`; + } + + .`).concat(vl,` { + margin-right: `).concat(u,"px ").concat(o,`; + } + + .`).concat(ml," .").concat(ml,` { + right: 0 `).concat(o,`; + } + + .`).concat(vl," .").concat(vl,` { + margin-right: 0 `).concat(o,`; + } + + body[`).concat(Uo,`] { + `).concat(C4,": ").concat(u,`px; + } +`)},xb=function(){var e=parseInt(document.body.getAttribute(Uo)||"0",10);return isFinite(e)?e:0},H4=function(){k.useEffect(function(){return document.body.setAttribute(Uo,(xb()+1).toString()),function(){var e=xb()-1;e<=0?document.body.removeAttribute(Uo):document.body.setAttribute(Uo,e.toString())}},[])},W4=function(e){var t=e.noRelative,n=e.noImportant,o=e.gapMode,i=o===void 0?"margin":o;H4();var a=k.useMemo(function(){return $4(i)},[i]);return k.createElement(B4,{styles:V4(a,!t,i,n?"":"!important")})},Of=!1;if(typeof window<"u")try{var wl=Object.defineProperty({},"passive",{get:function(){return Of=!0,!0}});window.addEventListener("test",wl,wl),window.removeEventListener("test",wl,wl)}catch{Of=!1}var Go=Of?{passive:!1}:!1,U4=function(e){return e.tagName==="TEXTAREA"},_b=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!U4(e)&&n[t]==="visible")},G4=function(e){return _b(e,"overflowY")},Y4=function(e){return _b(e,"overflowX")},bb=function(e,t){var n=t.ownerDocument,o=t;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var i=Sb(e,o);if(i){var a=Eb(e,o),l=a[1],u=a[2];if(l>u)return!0}o=o.parentNode}while(o&&o!==n.body);return!1},K4=function(e){var t=e.scrollTop,n=e.scrollHeight,o=e.clientHeight;return[t,n,o]},X4=function(e){var t=e.scrollLeft,n=e.scrollWidth,o=e.clientWidth;return[t,n,o]},Sb=function(e,t){return e==="v"?G4(t):Y4(t)},Eb=function(e,t){return e==="v"?K4(t):X4(t)},Q4=function(e,t){return e==="h"&&t==="rtl"?-1:1},Z4=function(e,t,n,o,i){var a=Q4(e,window.getComputedStyle(t).direction),l=a*o,u=n.target,f=t.contains(u),d=!1,h=l>0,p=0,m=0;do{if(!u)break;var v=Eb(e,u),E=v[0],y=v[1],x=v[2],b=y-x-a*E;(E||b)&&Sb(e,u)&&(p+=b,m+=E);var C=u.parentNode;u=C&&C.nodeType===Node.DOCUMENT_FRAGMENT_NODE?C.host:C}while(!f&&u!==document.body||f&&(t.contains(u)||t===u));return(h&&Math.abs(p)<1||!h&&Math.abs(m)<1)&&(d=!0),d},xl=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Cb=function(e){return[e.deltaX,e.deltaY]},kb=function(e){return e&&"current"in e?e.current:e},J4=function(e,t){return e[0]===t[0]&&e[1]===t[1]},e$=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},t$=0,Yo=[];function n$(e){var t=k.useRef([]),n=k.useRef([0,0]),o=k.useRef(),i=k.useState(t$++)[0],a=k.useState(wb)[0],l=k.useRef(e);k.useEffect(function(){l.current=e},[e]),k.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var y=S4([e.lockRef.current],(e.shards||[]).map(kb),!0).filter(Boolean);return y.forEach(function(x){return x.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),y.forEach(function(x){return x.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var u=k.useCallback(function(y,x){if("touches"in y&&y.touches.length===2||y.type==="wheel"&&y.ctrlKey)return!l.current.allowPinchZoom;var b=xl(y),C=n.current,_="deltaX"in y?y.deltaX:C[0]-b[0],N="deltaY"in y?y.deltaY:C[1]-b[1],P,T=y.target,I=Math.abs(_)>Math.abs(N)?"h":"v";if("touches"in y&&I==="h"&&T.type==="range")return!1;var O=window.getSelection(),q=O&&O.anchorNode,G=q?q===T||q.contains(T):!1;if(G)return!1;var F=bb(I,T);if(!F)return!0;if(F?P=I:(P=I==="v"?"h":"v",F=bb(I,T)),!F)return!1;if(!o.current&&"changedTouches"in y&&(_||N)&&(o.current=P),!P)return!0;var j=o.current||P;return Z4(j,x,y,j==="h"?_:N)},[]),f=k.useCallback(function(y){var x=y;if(!(!Yo.length||Yo[Yo.length-1]!==a)){var b="deltaY"in x?Cb(x):xl(x),C=t.current.filter(function(P){return P.name===x.type&&(P.target===x.target||x.target===P.shadowParent)&&J4(P.delta,b)})[0];if(C&&C.should){x.cancelable&&x.preventDefault();return}if(!C){var _=(l.current.shards||[]).map(kb).filter(Boolean).filter(function(P){return P.contains(x.target)}),N=_.length>0?u(x,_[0]):!l.current.noIsolation;N&&x.cancelable&&x.preventDefault()}}},[]),d=k.useCallback(function(y,x,b,C){var _={name:y,delta:x,target:b,should:C,shadowParent:r$(b)};t.current.push(_),setTimeout(function(){t.current=t.current.filter(function(N){return N!==_})},1)},[]),h=k.useCallback(function(y){n.current=xl(y),o.current=void 0},[]),p=k.useCallback(function(y){d(y.type,Cb(y),y.target,u(y,e.lockRef.current))},[]),m=k.useCallback(function(y){d(y.type,xl(y),y.target,u(y,e.lockRef.current))},[]);k.useEffect(function(){return Yo.push(a),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:m}),document.addEventListener("wheel",f,Go),document.addEventListener("touchmove",f,Go),document.addEventListener("touchstart",h,Go),function(){Yo=Yo.filter(function(y){return y!==a}),document.removeEventListener("wheel",f,Go),document.removeEventListener("touchmove",f,Go),document.removeEventListener("touchstart",h,Go)}},[]);var v=e.removeScrollBar,E=e.inert;return k.createElement(k.Fragment,null,E?k.createElement(a,{styles:e$(i)}):null,v?k.createElement(W4,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function r$(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const o$=I4(yb,n$);var Lf=k.forwardRef(function(e,t){return k.createElement(yl,An({},e,{ref:t,sideCar:o$}))});Lf.classNames=yl.classNames;var i$=[" ","Enter","ArrowUp","ArrowDown"],s$=[" ","Enter"],Qr="Select",[_l,bl,a$]=Nz(Qr),[Ko]=Fo(Qr,[a$,dl]),Sl=dl(),[l$,pr]=Ko(Qr),[u$,c$]=Ko(Qr),Nb=e=>{const{__scopeSelect:t,children:n,open:o,defaultOpen:i,onOpenChange:a,value:l,defaultValue:u,onValueChange:f,dir:d,name:h,autoComplete:p,disabled:m,required:v,form:E}=e,y=Sl(t),[x,b]=k.useState(null),[C,_]=k.useState(null),[N,P]=k.useState(!1),T=Pz(d),[I,O]=ss({prop:o,defaultProp:i??!1,onChange:a,caller:Qr}),[q,G]=ss({prop:l,defaultProp:u,onChange:f,caller:Qr}),F=k.useRef(null),j=x?E||!!x.closest("form"):!0,[W,L]=k.useState(new Set),H=Array.from(W).map(z=>z.props.value).join(";");return R.jsx(ab,{...y,children:R.jsxs(l$,{required:v,scope:t,trigger:x,onTriggerChange:b,valueNode:C,onValueNodeChange:_,valueNodeHasChildren:N,onValueNodeHasChildrenChange:P,contentId:Kr(),value:q,onValueChange:G,open:I,onOpenChange:O,dir:T,triggerPointerDownPosRef:F,disabled:m,children:[R.jsx(_l.Provider,{scope:t,children:R.jsx(u$,{scope:e.__scopeSelect,onNativeOptionAdd:k.useCallback(z=>{L(Y=>new Set(Y).add(z))},[]),onNativeOptionRemove:k.useCallback(z=>{L(Y=>{const M=new Set(Y);return M.delete(z),M})},[]),children:n})}),j?R.jsxs(Kb,{"aria-hidden":!0,required:v,tabIndex:-1,name:h,autoComplete:p,value:q,onChange:z=>G(z.target.value),disabled:m,form:E,children:[q===void 0?R.jsx("option",{value:""}):null,Array.from(W)]},H):null]})})};Nb.displayName=Qr;var Rb="SelectTrigger",Pb=k.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:o=!1,...i}=e,a=Sl(n),l=pr(Rb,n),u=l.disabled||o,f=Fe(t,l.onTriggerChange),d=bl(n),h=k.useRef("touch"),[p,m,v]=Qb(y=>{const x=d().filter(_=>!_.disabled),b=x.find(_=>_.value===l.value),C=Zb(x,y,b);C!==void 0&&l.onValueChange(C.value)}),E=y=>{u||(l.onOpenChange(!0),v()),y&&(l.triggerPointerDownPosRef.current={x:Math.round(y.pageX),y:Math.round(y.pageY)})};return R.jsx(lb,{asChild:!0,...a,children:R.jsx(je.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Xb(l.value)?"":void 0,...i,ref:f,onClick:Oe(i.onClick,y=>{y.currentTarget.focus(),h.current!=="mouse"&&E(y)}),onPointerDown:Oe(i.onPointerDown,y=>{h.current=y.pointerType;const x=y.target;x.hasPointerCapture(y.pointerId)&&x.releasePointerCapture(y.pointerId),y.button===0&&y.ctrlKey===!1&&y.pointerType==="mouse"&&(E(y),y.preventDefault())}),onKeyDown:Oe(i.onKeyDown,y=>{const x=p.current!=="";!(y.ctrlKey||y.altKey||y.metaKey)&&y.key.length===1&&m(y.key),!(x&&y.key===" ")&&i$.includes(y.key)&&(E(),y.preventDefault())})})})});Pb.displayName=Rb;var Tb="SelectValue",Ab=k.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:i,children:a,placeholder:l="",...u}=e,f=pr(Tb,n),{onValueNodeHasChildrenChange:d}=f,h=a!==void 0,p=Fe(t,f.onValueNodeChange);return ht(()=>{d(h)},[d,h]),R.jsx(je.span,{...u,ref:p,style:{pointerEvents:"none"},children:Xb(f.value)?R.jsx(R.Fragment,{children:l}):a})});Ab.displayName=Tb;var f$="SelectIcon",Ib=k.forwardRef((e,t)=>{const{__scopeSelect:n,children:o,...i}=e;return R.jsx(je.span,{"aria-hidden":!0,...i,ref:t,children:o||"▼"})});Ib.displayName=f$;var d$="SelectPortal",Mb=e=>R.jsx(hl,{asChild:!0,...e});Mb.displayName=d$;var Zr="SelectContent",Ob=k.forwardRef((e,t)=>{const n=pr(Zr,e.__scopeSelect),[o,i]=k.useState();if(ht(()=>{i(new DocumentFragment)},[]),!n.open){const a=o;return a?ts.createPortal(R.jsx(Lb,{scope:e.__scopeSelect,children:R.jsx(_l.Slot,{scope:e.__scopeSelect,children:R.jsx("div",{children:e.children})})}),a):null}return R.jsx(Db,{...e,ref:t})});Ob.displayName=Zr;var cn=10,[Lb,gr]=Ko(Zr),h$="SelectContentImpl",p$=d4("SelectContent.RemoveScroll"),Db=k.forwardRef((e,t)=>{const{__scopeSelect:n,position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:l,side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:v,sticky:E,hideWhenDetached:y,avoidCollisions:x,...b}=e,C=pr(Zr,n),[_,N]=k.useState(null),[P,T]=k.useState(null),I=Fe(t,X=>N(X)),[O,q]=k.useState(null),[G,F]=k.useState(null),j=bl(n),[W,L]=k.useState(!1),H=k.useRef(!1);k.useEffect(()=>{if(_)return pb(_)},[_]),b1();const z=k.useCallback(X=>{const[te,...se]=j().map(de=>de.ref.current),[ae]=se.slice(-1),ce=document.activeElement;for(const de of X)if(de===ce||(de==null||de.scrollIntoView({block:"nearest"}),de===te&&P&&(P.scrollTop=0),de===ae&&P&&(P.scrollTop=P.scrollHeight),de==null||de.focus(),document.activeElement!==ce))return},[j,P]),Y=k.useCallback(()=>z([O,_]),[z,O,_]);k.useEffect(()=>{W&&Y()},[W,Y]);const{onOpenChange:M,triggerPointerDownPosRef:$}=C;k.useEffect(()=>{if(_){let X={x:0,y:0};const te=ae=>{var ce,de;X={x:Math.abs(Math.round(ae.pageX)-(((ce=$.current)==null?void 0:ce.x)??0)),y:Math.abs(Math.round(ae.pageY)-(((de=$.current)==null?void 0:de.y)??0))}},se=ae=>{X.x<=10&&X.y<=10?ae.preventDefault():_.contains(ae.target)||M(!1),document.removeEventListener("pointermove",te),$.current=null};return $.current!==null&&(document.addEventListener("pointermove",te),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",te),document.removeEventListener("pointerup",se,{capture:!0})}}},[_,M,$]),k.useEffect(()=>{const X=()=>M(!1);return window.addEventListener("blur",X),window.addEventListener("resize",X),()=>{window.removeEventListener("blur",X),window.removeEventListener("resize",X)}},[M]);const[Q,D]=Qb(X=>{const te=j().filter(ce=>!ce.disabled),se=te.find(ce=>ce.ref.current===document.activeElement),ae=Zb(te,X,se);ae&&setTimeout(()=>ae.ref.current.focus())}),U=k.useCallback((X,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&(q(X),ae&&(H.current=!0))},[C.value]),ie=k.useCallback(()=>_==null?void 0:_.focus(),[_]),V=k.useCallback((X,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&F(X)},[C.value]),Z=o==="popper"?Df:jb,ee=Z===Df?{side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:v,sticky:E,hideWhenDetached:y,avoidCollisions:x}:{};return R.jsx(Lb,{scope:n,content:_,viewport:P,onViewportChange:T,itemRefCallback:U,selectedItem:O,onItemLeave:ie,itemTextRefCallback:V,focusSelectedItem:Y,selectedItemText:G,position:o,isPositioned:W,searchRef:Q,children:R.jsx(Lf,{as:p$,allowPinchZoom:!0,children:R.jsx(mf,{asChild:!0,trapped:C.open,onMountAutoFocus:X=>{X.preventDefault()},onUnmountAutoFocus:Oe(i,X=>{var te;(te=C.trigger)==null||te.focus({preventScroll:!0}),X.preventDefault()}),children:R.jsx(tl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:X=>X.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:R.jsx(Z,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:X=>X.preventDefault(),...b,...ee,onPlaced:()=>L(!0),ref:I,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:Oe(b.onKeyDown,X=>{const te=X.ctrlKey||X.altKey||X.metaKey;if(X.key==="Tab"&&X.preventDefault(),!te&&X.key.length===1&&D(X.key),["ArrowUp","ArrowDown","Home","End"].includes(X.key)){let ae=j().filter(ce=>!ce.disabled).map(ce=>ce.ref.current);if(["ArrowUp","End"].includes(X.key)&&(ae=ae.slice().reverse()),["ArrowUp","ArrowDown"].includes(X.key)){const ce=X.target,de=ae.indexOf(ce);ae=ae.slice(de+1)}setTimeout(()=>z(ae)),X.preventDefault()}})})})})})})});Db.displayName=h$;var g$="SelectItemAlignedPosition",jb=k.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:o,...i}=e,a=pr(Zr,n),l=gr(Zr,n),[u,f]=k.useState(null),[d,h]=k.useState(null),p=Fe(t,I=>h(I)),m=bl(n),v=k.useRef(!1),E=k.useRef(!0),{viewport:y,selectedItem:x,selectedItemText:b,focusSelectedItem:C}=l,_=k.useCallback(()=>{if(a.trigger&&a.valueNode&&u&&d&&y&&x&&b){const I=a.trigger.getBoundingClientRect(),O=d.getBoundingClientRect(),q=a.valueNode.getBoundingClientRect(),G=b.getBoundingClientRect();if(a.dir!=="rtl"){const ce=G.left-O.left,de=q.left-ce,pe=I.left-de,be=I.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=m1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.left=Ee+"px"}else{const ce=O.right-G.right,de=window.innerWidth-q.right-ce,pe=window.innerWidth-I.right-de,be=I.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=m1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.right=Ee+"px"}const F=m(),j=window.innerHeight-cn*2,W=y.scrollHeight,L=window.getComputedStyle(d),H=parseInt(L.borderTopWidth,10),z=parseInt(L.paddingTop,10),Y=parseInt(L.borderBottomWidth,10),M=parseInt(L.paddingBottom,10),$=H+z+W+M+Y,Q=Math.min(x.offsetHeight*5,$),D=window.getComputedStyle(y),U=parseInt(D.paddingTop,10),ie=parseInt(D.paddingBottom,10),V=I.top+I.height/2-cn,Z=j-V,ee=x.offsetHeight/2,X=x.offsetTop+ee,te=H+z+X,se=$-te;if(te<=V){const ce=F.length>0&&x===F[F.length-1].ref.current;u.style.bottom="0px";const de=d.clientHeight-y.offsetTop-y.offsetHeight,pe=Math.max(Z,ee+(ce?ie:0)+de+Y),be=te+pe;u.style.height=be+"px"}else{const ce=F.length>0&&x===F[0].ref.current;u.style.top="0px";const pe=Math.max(V,H+y.offsetTop+(ce?U:0)+ee)+se;u.style.height=pe+"px",y.scrollTop=te-V+y.offsetTop}u.style.margin=`${cn}px 0`,u.style.minHeight=Q+"px",u.style.maxHeight=j+"px",o==null||o(),requestAnimationFrame(()=>v.current=!0)}},[m,a.trigger,a.valueNode,u,d,y,x,b,a.dir,o]);ht(()=>_(),[_]);const[N,P]=k.useState();ht(()=>{d&&P(window.getComputedStyle(d).zIndex)},[d]);const T=k.useCallback(I=>{I&&E.current===!0&&(_(),C==null||C(),E.current=!1)},[_,C]);return R.jsx(v$,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:v,onScrollButtonChange:T,children:R.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:R.jsx(je.div,{...i,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});jb.displayName=g$;var m$="SelectPopperPosition",Df=k.forwardRef((e,t)=>{const{__scopeSelect:n,align:o="start",collisionPadding:i=cn,...a}=e,l=Sl(n);return R.jsx(ub,{...l,...a,ref:t,align:o,collisionPadding:i,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Df.displayName=m$;var[v$,jf]=Ko(Zr,{}),qf="SelectViewport",qb=k.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:o,...i}=e,a=gr(qf,n),l=jf(qf,n),u=Fe(t,a.onViewportChange),f=k.useRef(0);return R.jsxs(R.Fragment,{children:[R.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),R.jsx(_l.Slot,{scope:n,children:R.jsx(je.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:Oe(i.onScroll,d=>{const h=d.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:m}=l;if(m!=null&&m.current&&p){const v=Math.abs(f.current-h.scrollTop);if(v>0){const E=window.innerHeight-cn*2,y=parseFloat(p.style.minHeight),x=parseFloat(p.style.height),b=Math.max(y,x);if(b0?N:0,p.style.justifyContent="flex-end")}}}f.current=h.scrollTop})})})]})});qb.displayName=qf;var zb="SelectGroup",[y$,w$]=Ko(zb),x$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,i=Kr();return R.jsx(y$,{scope:n,id:i,children:R.jsx(je.div,{role:"group","aria-labelledby":i,...o,ref:t})})});x$.displayName=zb;var Fb="SelectLabel",_$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,i=w$(Fb,n);return R.jsx(je.div,{id:i.id,...o,ref:t})});_$.displayName=Fb;var El="SelectItem",[b$,$b]=Ko(El),Bb=k.forwardRef((e,t)=>{const{__scopeSelect:n,value:o,disabled:i=!1,textValue:a,...l}=e,u=pr(El,n),f=gr(El,n),d=u.value===o,[h,p]=k.useState(a??""),[m,v]=k.useState(!1),E=Fe(t,C=>{var _;return(_=f.itemRefCallback)==null?void 0:_.call(f,C,o,i)}),y=Kr(),x=k.useRef("touch"),b=()=>{i||(u.onValueChange(o),u.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return R.jsx(b$,{scope:n,value:o,disabled:i,textId:y,isSelected:d,onItemTextChange:k.useCallback(C=>{p(_=>_||((C==null?void 0:C.textContent)??"").trim())},[]),children:R.jsx(_l.ItemSlot,{scope:n,value:o,disabled:i,textValue:h,children:R.jsx(je.div,{role:"option","aria-labelledby":y,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...l,ref:E,onFocus:Oe(l.onFocus,()=>v(!0)),onBlur:Oe(l.onBlur,()=>v(!1)),onClick:Oe(l.onClick,()=>{x.current!=="mouse"&&b()}),onPointerUp:Oe(l.onPointerUp,()=>{x.current==="mouse"&&b()}),onPointerDown:Oe(l.onPointerDown,C=>{x.current=C.pointerType}),onPointerMove:Oe(l.onPointerMove,C=>{var _;x.current=C.pointerType,i?(_=f.onItemLeave)==null||_.call(f):x.current==="mouse"&&C.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Oe(l.onPointerLeave,C=>{var _;C.currentTarget===document.activeElement&&((_=f.onItemLeave)==null||_.call(f))}),onKeyDown:Oe(l.onKeyDown,C=>{var N;((N=f.searchRef)==null?void 0:N.current)!==""&&C.key===" "||(s$.includes(C.key)&&b(),C.key===" "&&C.preventDefault())})})})})});Bb.displayName=El;var cs="SelectItemText",Vb=k.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:i,...a}=e,l=pr(cs,n),u=gr(cs,n),f=$b(cs,n),d=c$(cs,n),[h,p]=k.useState(null),m=Fe(t,b=>p(b),f.onItemTextChange,b=>{var C;return(C=u.itemTextRefCallback)==null?void 0:C.call(u,b,f.value,f.disabled)}),v=h==null?void 0:h.textContent,E=k.useMemo(()=>R.jsx("option",{value:f.value,disabled:f.disabled,children:v},f.value),[f.disabled,f.value,v]),{onNativeOptionAdd:y,onNativeOptionRemove:x}=d;return ht(()=>(y(E),()=>x(E)),[y,x,E]),R.jsxs(R.Fragment,{children:[R.jsx(je.span,{id:f.textId,...a,ref:m}),f.isSelected&&l.valueNode&&!l.valueNodeHasChildren?ts.createPortal(a.children,l.valueNode):null]})});Vb.displayName=cs;var Hb="SelectItemIndicator",Wb=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return $b(Hb,n).isSelected?R.jsx(je.span,{"aria-hidden":!0,...o,ref:t}):null});Wb.displayName=Hb;var zf="SelectScrollUpButton",Ub=k.forwardRef((e,t)=>{const n=gr(zf,e.__scopeSelect),o=jf(zf,e.__scopeSelect),[i,a]=k.useState(!1),l=Fe(t,o.onScrollButtonChange);return ht(()=>{if(n.viewport&&n.isPositioned){let u=function(){const d=f.scrollTop>0;a(d)};const f=n.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?R.jsx(Yb,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop-f.offsetHeight)}}):null});Ub.displayName=zf;var Ff="SelectScrollDownButton",Gb=k.forwardRef((e,t)=>{const n=gr(Ff,e.__scopeSelect),o=jf(Ff,e.__scopeSelect),[i,a]=k.useState(!1),l=Fe(t,o.onScrollButtonChange);return ht(()=>{if(n.viewport&&n.isPositioned){let u=function(){const d=f.scrollHeight-f.clientHeight,h=Math.ceil(f.scrollTop)f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),i?R.jsx(Yb,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop+f.offsetHeight)}}):null});Gb.displayName=Ff;var Yb=k.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:o,...i}=e,a=gr("SelectScrollButton",n),l=k.useRef(null),u=bl(n),f=k.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return k.useEffect(()=>()=>f(),[f]),ht(()=>{var h;const d=u().find(p=>p.ref.current===document.activeElement);(h=d==null?void 0:d.ref.current)==null||h.scrollIntoView({block:"nearest"})},[u]),R.jsx(je.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Oe(i.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(o,50))}),onPointerMove:Oe(i.onPointerMove,()=>{var d;(d=a.onItemLeave)==null||d.call(a),l.current===null&&(l.current=window.setInterval(o,50))}),onPointerLeave:Oe(i.onPointerLeave,()=>{f()})})}),S$="SelectSeparator",E$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return R.jsx(je.div,{"aria-hidden":!0,...o,ref:t})});E$.displayName=S$;var $f="SelectArrow",C$=k.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,i=Sl(n),a=pr($f,n),l=gr($f,n);return a.open&&l.position==="popper"?R.jsx(cb,{...i,...o,ref:t}):null});C$.displayName=$f;var k$="SelectBubbleInput",Kb=k.forwardRef(({__scopeSelect:e,value:t,...n},o)=>{const i=k.useRef(null),a=Fe(o,i),l=t1(t);return k.useEffect(()=>{const u=i.current;if(!u)return;const f=window.HTMLSelectElement.prototype,h=Object.getOwnPropertyDescriptor(f,"value").set;if(l!==t&&h){const p=new Event("change",{bubbles:!0});h.call(u,t),u.dispatchEvent(p)}},[l,t]),R.jsx(je.select,{...n,style:{...fb,...n.style},ref:a,defaultValue:t})});Kb.displayName=k$;function Xb(e){return e===""||e===void 0}function Qb(e){const t=Yr(e),n=k.useRef(""),o=k.useRef(0),i=k.useCallback(l=>{const u=n.current+l;t(u),(function f(d){n.current=d,window.clearTimeout(o.current),d!==""&&(o.current=window.setTimeout(()=>f(""),1e3))})(u)},[t]),a=k.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return k.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,i,a]}function Zb(e,t,n){const i=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let l=N$(e,Math.max(a,0));i.length===1&&(l=l.filter(d=>d!==n));const f=l.find(d=>d.textValue.toLowerCase().startsWith(i.toLowerCase()));return f!==n?f:void 0}function N$(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var R$=Nb,P$=Pb,T$=Ab,A$=Ib,I$=Mb,M$=Ob,O$=qb,L$=Bb,D$=Vb,j$=Wb,q$=Ub,z$=Gb;function Jb({...e}){return R.jsx(R$,{"data-slot":"select",...e})}function eS({...e}){return R.jsx(T$,{"data-slot":"select-value",...e})}function tS({className:e,size:t="default",children:n,...o}){return R.jsxs(P$,{"data-slot":"select-trigger","data-size":t,className:Me("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o,children:[n,R.jsx(A$,{asChild:!0,children:R.jsx(p1,{className:"size-4 opacity-50"})})]})}function nS({className:e,children:t,position:n="popper",align:o="center",...i}){return R.jsx(I$,{children:R.jsxs(M$,{"data-slot":"select-content",className:Me("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,align:o,...i,children:[R.jsx(F$,{}),R.jsx(O$,{className:Me("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),R.jsx($$,{})]})})}function rS({className:e,children:t,...n}){return R.jsxs(L$,{"data-slot":"select-item",className:Me("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[R.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:R.jsx(j$,{children:R.jsx(h1,{className:"size-4"})})}),R.jsx(D$,{children:t})]})}function F$({className:e,...t}){return R.jsx(q$,{"data-slot":"select-scroll-up-button",className:Me("flex cursor-default items-center justify-center py-1",e),...t,children:R.jsx(gz,{className:"size-4"})})}function $$({className:e,...t}){return R.jsx(z$,{"data-slot":"select-scroll-down-button",className:Me("flex cursor-default items-center justify-center py-1",e),...t,children:R.jsx(p1,{className:"size-4"})})}function B$(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=qo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??"";return R.jsxs("div",{className:"component-select-field w-full flex flex-col gap-1",children:[R.jsx("label",{className:"text-xs text-gray-600",children:u.label}),R.jsxs(Jb,{value:h,onValueChange:p=>f==null?void 0:f(u.id,p),children:[R.jsx(tS,{className:"h-8 text-xs w-full",onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),"aria-label":u.label,children:R.jsx(eS,{placeholder:"Select..."})}),R.jsx(nS,{children:(u.options||[]).map(p=>R.jsx(rS,{value:p,className:"text-xs",children:p},p))})]})]})}const{value:t,options:n,onChange:o,placeholder:i,label:a}=e;return R.jsxs(Jb,{value:t,onValueChange:o,children:[R.jsx(tS,{className:"h-8 text-xs",onMouseDown:u=>u.stopPropagation(),onPointerDown:u=>u.stopPropagation(),"aria-label":a,children:R.jsx(eS,{placeholder:i})}),R.jsx(nS,{children:n.map(u=>R.jsx(rS,{value:u,className:"text-xs",children:u},u))})]})}function V$(e,t=[]){let n=[];function o(a,l){const u=k.createContext(l);u.displayName=a+"Context";const f=n.length;n=[...n,l];const d=p=>{var b;const{scope:m,children:v,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=k.useMemo(()=>E,Object.values(E));return R.jsx(y.Provider,{value:x,children:v})};d.displayName=a+"Provider";function h(p,m){var y;const v=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=k.useContext(v);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const i=()=>{const a=n.map(l=>k.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return k.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return i.scopeName=e,[o,H$(i,...t)]}function H$(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return k.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}var W$=Symbol.for("react.lazy"),Cl=dc[" use ".trim().toString()];function U$(e){return typeof e=="object"&&e!==null&&"then"in e}function oS(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===W$&&"_payload"in e&&U$(e._payload)}function iS(e){const t=G$(e),n=k.forwardRef((o,i)=>{let{children:a,...l}=o;oS(a)&&typeof Cl=="function"&&(a=Cl(a._payload));const u=k.Children.toArray(a),f=u.find(K$);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}var sS=iS("Slot");function G$(e){const t=k.forwardRef((n,o)=>{let{children:i,...a}=n;if(oS(i)&&typeof Cl=="function"&&(i=Cl(i._payload)),k.isValidElement(i)){const l=Q$(i),u=X$(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Y$=Symbol("radix.slottable");function K$(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Y$}function X$(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function Q$(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Z$=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],aS=Z$.reduce((e,t)=>{const n=iS(`Primitive.${t}`),o=k.forwardRef((i,a)=>{const{asChild:l,...u}=i,f=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),R.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),Bf="Progress",Vf=100,[J$]=V$(Bf),[eB,tB]=J$(Bf),lS=k.forwardRef((e,t)=>{const{__scopeProgress:n,value:o=null,max:i,getValueLabel:a=nB,...l}=e;(i||i===0)&&!dS(i)&&console.error(rB(`${i}`,"Progress"));const u=dS(i)?i:Vf;o!==null&&!hS(o,u)&&console.error(oB(`${o}`,"Progress"));const f=hS(o,u)?o:null,d=kl(f)?a(f,u):void 0;return R.jsx(eB,{scope:n,value:f,max:u,children:R.jsx(aS.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":kl(f)?f:void 0,"aria-valuetext":d,role:"progressbar","data-state":fS(f,u),"data-value":f??void 0,"data-max":u,...l,ref:t})})});lS.displayName=Bf;var uS="ProgressIndicator",cS=k.forwardRef((e,t)=>{const{__scopeProgress:n,...o}=e,i=tB(uS,n);return R.jsx(aS.div,{"data-state":fS(i.value,i.max),"data-value":i.value??void 0,"data-max":i.max,...o,ref:t})});cS.displayName=uS;function nB(e,t){return`${Math.round(e/t*100)}%`}function fS(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function kl(e){return typeof e=="number"}function dS(e){return kl(e)&&!isNaN(e)&&e>0}function hS(e,t){return kl(e)&&!isNaN(e)&&e<=t&&e>=0}function rB(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Vf}\`.`}function oB(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${Vf} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`}var iB=lS,sB=cS;function pS({className:e,value:t,...n}){return R.jsx(iB,{"data-slot":"progress",className:Me("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",e),...n,children:R.jsx(sB,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})})}function aB(e){var u;if("component"in e){const{component:f}=e,d=qo(),h=((u=d==null?void 0:d.nodeData.values)==null?void 0:u[f.id])??f.value??0,p=f.max??100,m=f.min??0,v=Math.min(100,Math.max(0,(h-m)/(p-m)*100));return R.jsxs("div",{className:"component-progress-field space-y-1.5",children:[f.label&&R.jsx("label",{className:"text-xs text-gray-600",children:f.label}),R.jsxs("div",{className:"flex items-center justify-between text-xs",children:[R.jsx("span",{className:"text-muted-foreground",children:"Progress"}),R.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(v),"%"]})]}),R.jsx(pS,{value:v,className:"h-2"})]})}const{value:t,onChange:n,label:o,min:i=0,max:a=100}=e,l=Math.min(100,Math.max(0,(t-i)/(a-i)*100));return R.jsxs("div",{className:"space-y-1.5",children:[o&&R.jsx("label",{className:"text-xs text-gray-600",children:o}),R.jsxs("div",{className:"flex items-center justify-between text-xs",children:[R.jsx("span",{className:"text-muted-foreground",children:"Progress"}),R.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(l),"%"]})]}),R.jsx(pS,{value:l,className:"h-2"})]})}function lB({component:e}){return R.jsxs("div",{className:"component-header px-3 py-2 font-semibold flex items-center gap-2",style:{width:"100%",height:"100%",backgroundColor:e.bgColor,color:e.textColor},children:[e.icon&&R.jsx("span",{children:e.icon}),R.jsx("span",{children:e.label})]})}function uB({component:e}){return R.jsx("div",{className:`component-footer px-3 py-2 text-xs text-muted-foreground border-t ${e.className||""}`,style:{width:"100%",height:"100%",backgroundColor:e.bgColor,color:e.textColor},children:e.text})}const gS=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,mS=M_,vS=(e,t)=>n=>{var o;if((t==null?void 0:t.variants)==null)return mS(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:i,defaultVariants:a}=t,l=Object.keys(i).map(d=>{const h=n==null?void 0:n[d],p=a==null?void 0:a[d];if(h===null)return null;const m=gS(h)||gS(p);return i[d][m]}),u=n&&Object.entries(n).reduce((d,h)=>{let[p,m]=h;return m===void 0||(d[p]=m),d},{}),f=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,h)=>{let{class:p,className:m,...v}=h;return Object.entries(v).every(E=>{let[y,x]=E;return Array.isArray(x)?x.includes({...a,...u}[y]):{...a,...u}[y]===x})?[...d,p,m]:d},[]);return mS(e,l,f,n==null?void 0:n.class,n==null?void 0:n.className)},cB=vS("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Xo({className:e,variant:t,size:n,asChild:o=!1,...i}){const a=o?sS:"button";return R.jsx(a,{"data-slot":"button",className:Me(cB({variant:t,size:n,className:e})),...i})}k.createContext(null);const Hf=768;function fB(){const[e,t]=k.useState(void 0);return k.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Hf-1}px)`),o=()=>{t(window.innerWidthn.removeEventListener("change",o)},[]),!!e}function dB(e){const t=hB(e),n=k.forwardRef((o,i)=>{const{children:a,...l}=o,u=k.Children.toArray(a),f=u.find(gB);if(f){const d=f.props.children,h=u.map(p=>p===f?k.Children.count(d)>1?k.Children.only(null):k.isValidElement(d)?d.props.children:null:p);return R.jsx(t,{...l,ref:i,children:k.isValidElement(d)?k.cloneElement(d,void 0,h):null})}return R.jsx(t,{...l,ref:i,children:a})});return n.displayName=`${e}.Slot`,n}function hB(e){const t=k.forwardRef((n,o)=>{const{children:i,...a}=n;if(k.isValidElement(i)){const l=vB(i),u=mB(a,i.props);return i.type!==k.Fragment&&(u.ref=o?zo(o,l):l),k.cloneElement(i,u)}return k.Children.count(i)>1?k.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var pB=Symbol("radix.slottable");function gB(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===pB}function mB(e,t){const n={...t};for(const o in t){const i=e[o],a=t[o];/^on[A-Z]/.test(o)?i&&a?n[o]=(...u)=>{const f=a(...u);return i(...u),f}:i&&(n[o]=i):o==="style"?n[o]={...i,...a}:o==="className"&&(n[o]=[i,a].filter(Boolean).join(" "))}return{...e,...n}}function vB(e){var o,i;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Nl="Dialog",[yS]=Fo(Nl),[yB,fn]=yS(Nl),wS=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:i,onOpenChange:a,modal:l=!0}=e,u=k.useRef(null),f=k.useRef(null),[d,h]=ss({prop:o,defaultProp:i??!1,onChange:a,caller:Nl});return R.jsx(yB,{scope:t,triggerRef:u,contentRef:f,contentId:Kr(),titleId:Kr(),descriptionId:Kr(),open:d,onOpenChange:h,onOpenToggle:k.useCallback(()=>h(p=>!p),[h]),modal:l,children:n})};wS.displayName=Nl;var xS="DialogTrigger",wB=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(xS,n),a=Fe(t,i.triggerRef);return R.jsx(je.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Gf(i.open),...o,ref:a,onClick:Oe(e.onClick,i.onOpenToggle)})});wB.displayName=xS;var Wf="DialogPortal",[xB,_S]=yS(Wf,{forceMount:void 0}),bS=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:i}=e,a=fn(Wf,t);return R.jsx(xB,{scope:t,forceMount:n,children:k.Children.map(o,l=>R.jsx(Gr,{present:n||a.open,children:R.jsx(hl,{asChild:!0,container:i,children:l})}))})};bS.displayName=Wf;var Rl="DialogOverlay",SS=k.forwardRef((e,t)=>{const n=_S(Rl,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,a=fn(Rl,e.__scopeDialog);return a.modal?R.jsx(Gr,{present:o||a.open,children:R.jsx(bB,{...i,ref:t})}):null});SS.displayName=Rl;var _B=dB("DialogOverlay.RemoveScroll"),bB=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(Rl,n);return R.jsx(Lf,{as:_B,allowPinchZoom:!0,shards:[i.contentRef],children:R.jsx(je.div,{"data-state":Gf(i.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),Jr="DialogContent",ES=k.forwardRef((e,t)=>{const n=_S(Jr,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,a=fn(Jr,e.__scopeDialog);return R.jsx(Gr,{present:o||a.open,children:a.modal?R.jsx(SB,{...i,ref:t}):R.jsx(EB,{...i,ref:t})})});ES.displayName=Jr;var SB=k.forwardRef((e,t)=>{const n=fn(Jr,e.__scopeDialog),o=k.useRef(null),i=Fe(t,n.contentRef,o);return k.useEffect(()=>{const a=o.current;if(a)return pb(a)},[]),R.jsx(CS,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Oe(e.onCloseAutoFocus,a=>{var l;a.preventDefault(),(l=n.triggerRef.current)==null||l.focus()}),onPointerDownOutside:Oe(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0;(l.button===2||u)&&a.preventDefault()}),onFocusOutside:Oe(e.onFocusOutside,a=>a.preventDefault())})}),EB=k.forwardRef((e,t)=>{const n=fn(Jr,e.__scopeDialog),o=k.useRef(!1),i=k.useRef(!1);return R.jsx(CS,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var l,u;(l=e.onCloseAutoFocus)==null||l.call(e,a),a.defaultPrevented||(o.current||(u=n.triggerRef.current)==null||u.focus(),a.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:a=>{var f,d;(f=e.onInteractOutside)==null||f.call(e,a),a.defaultPrevented||(o.current=!0,a.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const l=a.target;((d=n.triggerRef.current)==null?void 0:d.contains(l))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&i.current&&a.preventDefault()}})}),CS=k.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:a,...l}=e,u=fn(Jr,n),f=k.useRef(null),d=Fe(t,f);return b1(),R.jsxs(R.Fragment,{children:[R.jsx(mf,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:a,children:R.jsx(tl,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Gf(u.open),...l,ref:d,onDismiss:()=>u.onOpenChange(!1)})}),R.jsxs(R.Fragment,{children:[R.jsx(CB,{titleId:u.titleId}),R.jsx(NB,{contentRef:f,descriptionId:u.descriptionId})]})]})}),Uf="DialogTitle",kS=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(Uf,n);return R.jsx(je.h2,{id:i.titleId,...o,ref:t})});kS.displayName=Uf;var NS="DialogDescription",RS=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(NS,n);return R.jsx(je.p,{id:i.descriptionId,...o,ref:t})});RS.displayName=NS;var PS="DialogClose",TS=k.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,i=fn(PS,n);return R.jsx(je.button,{type:"button",...o,ref:t,onClick:Oe(e.onClick,()=>i.onOpenChange(!1))})});TS.displayName=PS;function Gf(e){return e?"open":"closed"}var AS="DialogTitleWarning",[fU,IS]=B3(AS,{contentName:Jr,titleName:Uf,docsSlug:"dialog"}),CB=({titleId:e})=>{const t=IS(AS),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. + +If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. + +For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return k.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},kB="DialogDescriptionWarning",NB=({contentRef:e,descriptionId:t})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${IS(kB).contentName}}.`;return k.useEffect(()=>{var a;const i=(a=e.current)==null?void 0:a.getAttribute("aria-describedby");t&&i&&(document.getElementById(t)||console.warn(o))},[o,e,t]),null},RB=wS,PB=bS,TB=SS,AB=ES,IB=kS,MB=RS,OB=TS;function LB({...e}){return R.jsx(RB,{"data-slot":"sheet",...e})}function DB({...e}){return R.jsx(PB,{"data-slot":"sheet-portal",...e})}function jB({className:e,...t}){return R.jsx(TB,{"data-slot":"sheet-overlay",className:Me("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function qB({className:e,children:t,side:n="right",...o}){return R.jsxs(DB,{children:[R.jsx(jB,{}),R.jsxs(AB,{"data-slot":"sheet-content",className:Me("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",n==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",n==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",n==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",n==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...o,children:[t,R.jsxs(OB,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[R.jsx(xz,{className:"size-4"}),R.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function zB({className:e,...t}){return R.jsx("div",{"data-slot":"sheet-header",className:Me("flex flex-col gap-1.5 p-4",e),...t})}function FB({className:e,...t}){return R.jsx(IB,{"data-slot":"sheet-title",className:Me("text-foreground font-semibold",e),...t})}function $B({className:e,...t}){return R.jsx(MB,{"data-slot":"sheet-description",className:Me("text-muted-foreground text-sm",e),...t})}var BB=Symbol("radix.slottable");function VB(e){const t=({children:n})=>R.jsx(R.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=BB,t}var[Pl]=Fo("Tooltip",[dl]),Tl=dl(),MS="TooltipProvider",HB=700,Yf="tooltip.open",[WB,Kf]=Pl(MS),OS=e=>{const{__scopeTooltip:t,delayDuration:n=HB,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:a}=e,l=k.useRef(!0),u=k.useRef(!1),f=k.useRef(0);return k.useEffect(()=>{const d=f.current;return()=>window.clearTimeout(d)},[]),R.jsx(WB,{scope:t,isOpenDelayedRef:l,delayDuration:n,onOpen:k.useCallback(()=>{window.clearTimeout(f.current),l.current=!1},[]),onClose:k.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>l.current=!0,o)},[o]),isPointerInTransitRef:u,onPointerInTransitChange:k.useCallback(d=>{u.current=d},[]),disableHoverableContent:i,children:a})};OS.displayName=MS;var fs="Tooltip",[UB,ds]=Pl(fs),LS=e=>{const{__scopeTooltip:t,children:n,open:o,defaultOpen:i,onOpenChange:a,disableHoverableContent:l,delayDuration:u}=e,f=Kf(fs,e.__scopeTooltip),d=Tl(t),[h,p]=k.useState(null),m=Kr(),v=k.useRef(0),E=l??f.disableHoverableContent,y=u??f.delayDuration,x=k.useRef(!1),[b,C]=ss({prop:o,defaultProp:i??!1,onChange:I=>{I?(f.onOpen(),document.dispatchEvent(new CustomEvent(Yf))):f.onClose(),a==null||a(I)},caller:fs}),_=k.useMemo(()=>b?x.current?"delayed-open":"instant-open":"closed",[b]),N=k.useCallback(()=>{window.clearTimeout(v.current),v.current=0,x.current=!1,C(!0)},[C]),P=k.useCallback(()=>{window.clearTimeout(v.current),v.current=0,C(!1)},[C]),T=k.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{x.current=!0,C(!0),v.current=0},y)},[y,C]);return k.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),R.jsx(ab,{...d,children:R.jsx(UB,{scope:t,contentId:m,open:b,stateAttribute:_,trigger:h,onTriggerChange:p,onTriggerEnter:k.useCallback(()=>{f.isOpenDelayedRef.current?T():N()},[f.isOpenDelayedRef,T,N]),onTriggerLeave:k.useCallback(()=>{E?P():(window.clearTimeout(v.current),v.current=0)},[P,E]),onOpen:N,onClose:P,disableHoverableContent:E,children:n})})};LS.displayName=fs;var Xf="TooltipTrigger",DS=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,i=ds(Xf,n),a=Kf(Xf,n),l=Tl(n),u=k.useRef(null),f=Fe(t,u,i.onTriggerChange),d=k.useRef(!1),h=k.useRef(!1),p=k.useCallback(()=>d.current=!1,[]);return k.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),R.jsx(lb,{asChild:!0,...l,children:R.jsx(je.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...o,ref:f,onPointerMove:Oe(e.onPointerMove,m=>{m.pointerType!=="touch"&&!h.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),h.current=!0)}),onPointerLeave:Oe(e.onPointerLeave,()=>{i.onTriggerLeave(),h.current=!1}),onPointerDown:Oe(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:Oe(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:Oe(e.onBlur,i.onClose),onClick:Oe(e.onClick,i.onClose)})})});DS.displayName=Xf;var Qf="TooltipPortal",[GB,YB]=Pl(Qf,{forceMount:void 0}),jS=e=>{const{__scopeTooltip:t,forceMount:n,children:o,container:i}=e,a=ds(Qf,t);return R.jsx(GB,{scope:t,forceMount:n,children:R.jsx(Gr,{present:n||a.open,children:R.jsx(hl,{asChild:!0,container:i,children:o})})})};jS.displayName=Qf;var Qo="TooltipContent",qS=k.forwardRef((e,t)=>{const n=YB(Qo,e.__scopeTooltip),{forceMount:o=n.forceMount,side:i="top",...a}=e,l=ds(Qo,e.__scopeTooltip);return R.jsx(Gr,{present:o||l.open,children:l.disableHoverableContent?R.jsx(zS,{side:i,...a,ref:t}):R.jsx(KB,{side:i,...a,ref:t})})}),KB=k.forwardRef((e,t)=>{const n=ds(Qo,e.__scopeTooltip),o=Kf(Qo,e.__scopeTooltip),i=k.useRef(null),a=Fe(t,i),[l,u]=k.useState(null),{trigger:f,onClose:d}=n,h=i.current,{onPointerInTransitChange:p}=o,m=k.useCallback(()=>{u(null),p(!1)},[p]),v=k.useCallback((E,y)=>{const x=E.currentTarget,b={x:E.clientX,y:E.clientY},C=JB(b,x.getBoundingClientRect()),_=e5(b,C),N=t5(y.getBoundingClientRect()),P=r5([..._,...N]);u(P),p(!0)},[p]);return k.useEffect(()=>()=>m(),[m]),k.useEffect(()=>{if(f&&h){const E=x=>v(x,h),y=x=>v(x,f);return f.addEventListener("pointerleave",E),h.addEventListener("pointerleave",y),()=>{f.removeEventListener("pointerleave",E),h.removeEventListener("pointerleave",y)}}},[f,h,v,m]),k.useEffect(()=>{if(l){const E=y=>{const x=y.target,b={x:y.clientX,y:y.clientY},C=(f==null?void 0:f.contains(x))||(h==null?void 0:h.contains(x)),_=!n5(b,l);C?m():_&&(m(),d())};return document.addEventListener("pointermove",E),()=>document.removeEventListener("pointermove",E)}},[f,h,l,d,m]),R.jsx(zS,{...e,ref:a})}),[XB,QB]=Pl(fs,{isInside:!1}),ZB=VB("TooltipContent"),zS=k.forwardRef((e,t)=>{const{__scopeTooltip:n,children:o,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:l,...u}=e,f=ds(Qo,n),d=Tl(n),{onClose:h}=f;return k.useEffect(()=>(document.addEventListener(Yf,h),()=>document.removeEventListener(Yf,h)),[h]),k.useEffect(()=>{if(f.trigger){const p=m=>{const v=m.target;v!=null&&v.contains(f.trigger)&&h()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[f.trigger,h]),R.jsx(tl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:p=>p.preventDefault(),onDismiss:h,children:R.jsxs(ub,{"data-state":f.stateAttribute,...d,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[R.jsx(ZB,{children:o}),R.jsx(XB,{scope:n,isInside:!0,children:R.jsx(w4,{id:f.contentId,role:"tooltip",children:i||o})})]})})});qS.displayName=Qo;var FS="TooltipArrow",$S=k.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,i=Tl(n);return QB(FS,n).isInside?null:R.jsx(cb,{...i,...o,ref:t})});$S.displayName=FS;function JB(e,t){const n=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,o,i,a)){case a:return"left";case i:return"right";case n:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function e5(e,t,n=5){const o=[];switch(t){case"top":o.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":o.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":o.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":o.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return o}function t5(e){const{top:t,right:n,bottom:o,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:o},{x:i,y:o}]}function n5(e,t){const{x:n,y:o}=e;let i=!1;for(let a=0,l=t.length-1;ao!=m>o&&n<(p-d)*(o-h)/(m-h)+d&&(i=!i)}return i}function r5(e){const t=e.slice();return t.sort((n,o)=>n.xo.x?1:n.yo.y?1:0),o5(t)}function o5(e){if(e.length<=1)return e.slice();const t=[];for(let o=0;o=2;){const a=t[t.length-1],l=t[t.length-2];if((a.x-l.x)*(i.y-l.y)>=(a.y-l.y)*(i.x-l.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let o=e.length-1;o>=0;o--){const i=e[o];for(;n.length>=2;){const a=n[n.length-1],l=n[n.length-2];if((a.x-l.x)*(i.y-l.y)>=(a.y-l.y)*(i.x-l.x))n.pop();else break}n.push(i)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var i5=OS,s5=LS,a5=DS,l5=jS,u5=qS,c5=$S;function BS({delayDuration:e=0,...t}){return R.jsx(i5,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function f5({...e}){return R.jsx(BS,{children:R.jsx(s5,{"data-slot":"tooltip",...e})})}function d5({...e}){return R.jsx(a5,{"data-slot":"tooltip-trigger",...e})}function h5({className:e,sideOffset:t=0,children:n,...o}){return R.jsx(l5,{children:R.jsxs(u5,{"data-slot":"tooltip-content",sideOffset:t,className:Me("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...o,children:[n,R.jsx(c5,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}const p5="sidebar_state",g5=3600*24*7,m5="16rem",v5="18rem",y5="3rem",w5="b",VS=k.createContext(null);function Zf(){const e=k.useContext(VS);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function x5({defaultOpen:e=!0,open:t,onOpenChange:n,className:o,style:i,children:a,...l}){const u=fB(),[f,d]=k.useState(!1),[h,p]=k.useState(e),m=t??h,v=k.useCallback(b=>{const C=typeof b=="function"?b(m):b;n?n(C):p(C),document.cookie=`${p5}=${C}; path=/; max-age=${g5}`},[n,m]),E=k.useCallback(()=>u?d(b=>!b):v(b=>!b),[u,v,d]);k.useEffect(()=>{const b=C=>{C.key===w5&&(C.metaKey||C.ctrlKey)&&(C.preventDefault(),E())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[E]);const y=m?"expanded":"collapsed",x=k.useMemo(()=>({state:y,open:m,setOpen:v,isMobile:u,openMobile:f,setOpenMobile:d,toggleSidebar:E}),[y,m,v,u,f,d,E]);return R.jsx(VS.Provider,{value:x,children:R.jsx(BS,{delayDuration:0,children:R.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":m5,"--sidebar-width-icon":y5,...i},className:Me("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",o),...l,children:a})})})}function _5({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:o,children:i,...a}){const{isMobile:l,state:u,openMobile:f,setOpenMobile:d}=Zf();return n==="none"?R.jsx("div",{"data-slot":"sidebar",className:Me("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",o),...a,children:i}):l?R.jsx(LB,{open:f,onOpenChange:d,...a,children:R.jsxs(qB,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":v5},side:e,children:[R.jsxs(zB,{className:"sr-only",children:[R.jsx(FB,{children:"Sidebar"}),R.jsx($B,{children:"Displays the mobile sidebar."})]}),R.jsx("div",{className:"flex h-full w-full flex-col",children:i})]})}):R.jsxs("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":u,"data-collapsible":u==="collapsed"?n:"","data-variant":t,"data-side":e,"data-slot":"sidebar",children:[R.jsx("div",{"data-slot":"sidebar-gap",className:Me("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),R.jsx("div",{"data-slot":"sidebar-container",className:Me("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",o),...a,children:R.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:i})})]})}function b5({className:e,onClick:t,...n}){const{toggleSidebar:o}=Zf();return R.jsxs(Xo,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:Me("size-7",e),onClick:i=>{t==null||t(i),o()},...n,children:[R.jsx(vz,{}),R.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function S5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:Me("flex flex-col gap-2 p-2",e),...t})}function E5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:Me("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t})}function C5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:Me("relative flex w-full min-w-0 flex-col p-2",e),...t})}function k5({className:e,...t}){return R.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:Me("w-full text-sm",e),...t})}function N5({className:e,...t}){return R.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:Me("flex w-full min-w-0 flex-col gap-1",e),...t})}function R5({className:e,...t}){return R.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:Me("group/menu-item relative",e),...t})}const P5=vS("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function T5({asChild:e=!1,isActive:t=!1,variant:n="default",size:o="default",tooltip:i,className:a,...l}){const u=e?sS:"button",{isMobile:f,state:d}=Zf(),h=R.jsx(u,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":t,className:Me(P5({variant:n,size:o}),a),...l});return i?(typeof i=="string"&&(i={children:i}),R.jsxs(f5,{children:[R.jsx(d5,{asChild:!0,children:h}),R.jsx(h5,{side:"right",align:"center",hidden:d!=="collapsed"||f,...i})]})):h}function A5({onAddNode:e,templates:t}){return R.jsx(E5,{children:R.jsx(C5,{children:R.jsx(k5,{children:R.jsx(N5,{children:t.map((n,o)=>R.jsx(R5,{children:R.jsxs(T5,{onClick:()=>e(n),tooltip:n.description,children:[R.jsx("div",{className:"flex items-center justify-center w-5 h-5 bg-primary text-primary-foreground rounded text-sm font-bold",children:n.icon||R.jsx(yz,{className:"h-3 w-3"})}),R.jsx("span",{children:n.label})]})},o))})})})})}function I5({onExport:e,onLayoutVertical:t,onLayoutHorizontal:n}){return R.jsxs("div",{className:"flex gap-2",children:[R.jsxs(Xo,{onClick:e,variant:"default",size:"sm",children:[R.jsx(mz,{className:"h-4 w-4 mr-2"}),"Export to JSON"]}),R.jsxs(Xo,{onClick:t,variant:"outline",size:"sm",children:[R.jsx(hz,{className:"h-4 w-4 mr-2"}),"Layout Vertical"]}),R.jsxs(Xo,{onClick:n,variant:"outline",size:"sm",children:[R.jsx(pz,{className:"h-4 w-4 mr-2"}),"Layout Horizontal"]})]})}function M5({className:e,...t}){return R.jsx("div",{"data-slot":"card",className:Me("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function O5({x:e,y:t,onDelete:n,onClose:o}){return $t.useEffect(()=>{const i=()=>o(),a=l=>{l.key==="Escape"&&o()};return document.addEventListener("click",i),document.addEventListener("keydown",a),()=>{document.removeEventListener("click",i),document.removeEventListener("keydown",a)}},[o]),R.jsx(M5,{className:"fixed z-[1000] min-w-[150px] p-1 shadow-md",style:{top:t,left:e},onClick:i=>i.stopPropagation(),children:R.jsxs(Xo,{variant:"ghost",className:"w-full justify-start gap-2 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:n,children:[R.jsx(wz,{className:"h-4 w-4"}),"Delete"]})})}function L5({nodes:e,edges:t,nodeTypes:n,height:o,onNodesChange:i,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,contextMenu:h,onDelete:p,onCloseContextMenu:m,onExport:v,onLayoutVertical:E,onLayoutHorizontal:y}){return R.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[R.jsxs(_q,{nodes:e,edges:t,nodeTypes:n,onNodesChange:i,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,fitView:!0,nodesDraggable:!0,nodesConnectable:!0,elementsSelectable:!0,minZoom:.1,maxZoom:2,children:[R.jsx(kq,{}),R.jsx(Mq,{}),R.jsx(ns,{position:"top-right",children:R.jsx(I5,{onExport:v,onLayoutVertical:E,onLayoutHorizontal:y})})]}),h&&R.jsx(O5,{id:h.id,type:h.type,x:h.x,y:h.y,onDelete:p,onClose:m})]})}function Jf(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ed,HS;function D5(){if(HS)return ed;HS=1;function e(){this.__data__=[],this.size=0}return ed=e,ed}var td,WS;function Zo(){if(WS)return td;WS=1;function e(t,n){return t===n||t!==t&&n!==n}return td=e,td}var nd,US;function Al(){if(US)return nd;US=1;var e=Zo();function t(n,o){for(var i=n.length;i--;)if(e(n[i][0],o))return i;return-1}return nd=t,nd}var rd,GS;function j5(){if(GS)return rd;GS=1;var e=Al(),t=Array.prototype,n=t.splice;function o(i){var a=this.__data__,l=e(a,i);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():n.call(a,l,1),--this.size,!0}return rd=o,rd}var od,YS;function q5(){if(YS)return od;YS=1;var e=Al();function t(n){var o=this.__data__,i=e(o,n);return i<0?void 0:o[i][1]}return od=t,od}var id,KS;function z5(){if(KS)return id;KS=1;var e=Al();function t(n){return e(this.__data__,n)>-1}return id=t,id}var sd,XS;function F5(){if(XS)return sd;XS=1;var e=Al();function t(n,o){var i=this.__data__,a=e(i,n);return a<0?(++this.size,i.push([n,o])):i[a][1]=o,this}return sd=t,sd}var ad,QS;function Il(){if(QS)return ad;QS=1;var e=D5(),t=j5(),n=q5(),o=z5(),i=F5();function a(l){var u=-1,f=l==null?0:l.length;for(this.clear();++u-1&&o%1==0&&o-1&&n%1==0&&n<=e}return ih=t,ih}var ah,QE;function hV(){if(QE)return ah;QE=1;var e=eo(),t=sh(),n=In(),o="[object Arguments]",i="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",f="[object Function]",d="[object Map]",h="[object Number]",p="[object Object]",m="[object RegExp]",v="[object Set]",E="[object String]",y="[object WeakMap]",x="[object ArrayBuffer]",b="[object DataView]",C="[object Float32Array]",_="[object Float64Array]",N="[object Int8Array]",P="[object Int16Array]",T="[object Int32Array]",I="[object Uint8Array]",O="[object Uint8ClampedArray]",q="[object Uint16Array]",G="[object Uint32Array]",F={};F[C]=F[_]=F[N]=F[P]=F[T]=F[I]=F[O]=F[q]=F[G]=!0,F[o]=F[i]=F[x]=F[a]=F[b]=F[l]=F[u]=F[f]=F[d]=F[h]=F[p]=F[m]=F[v]=F[E]=F[y]=!1;function j(W){return n(W)&&t(W.length)&&!!F[e(W)]}return ah=j,ah}var lh,ZE;function zl(){if(ZE)return lh;ZE=1;function e(t){return function(n){return t(n)}}return lh=e,lh}var vs={exports:{}};vs.exports;var JE;function uh(){return JE||(JE=1,(function(e,t){var n=rE(),o=t&&!t.nodeType&&t,i=o&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===o,l=a&&n.process,u=(function(){try{var f=i&&i.require&&i.require("util").types;return f||l&&l.binding&&l.binding("util")}catch{}})();e.exports=u})(vs,vs.exports)),vs.exports}var ch,eC;function ys(){if(eC)return ch;eC=1;var e=hV(),t=zl(),n=uh(),o=n&&n.isTypedArray,i=o?t(o):e;return ch=i,ch}var fh,tC;function nC(){if(tC)return fh;tC=1;var e=cV(),t=gs(),n=nt(),o=ei(),i=ql(),a=ys(),l=Object.prototype,u=l.hasOwnProperty;function f(d,h){var p=n(d),m=!p&&t(d),v=!p&&!m&&o(d),E=!p&&!m&&!v&&a(d),y=p||m||v||E,x=y?e(d.length,String):[],b=x.length;for(var C in d)(h||u.call(d,C))&&!(y&&(C=="length"||v&&(C=="offset"||C=="parent")||E&&(C=="buffer"||C=="byteLength"||C=="byteOffset")||i(C,b)))&&x.push(C);return x}return fh=f,fh}var dh,rC;function Fl(){if(rC)return dh;rC=1;var e=Object.prototype;function t(n){var o=n&&n.constructor,i=typeof o=="function"&&o.prototype||e;return n===i}return dh=t,dh}var hh,oC;function iC(){if(oC)return hh;oC=1;function e(t,n){return function(o){return t(n(o))}}return hh=e,hh}var ph,sC;function pV(){if(sC)return ph;sC=1;var e=iC(),t=e(Object.keys,Object);return ph=t,ph}var gh,aC;function mh(){if(aC)return gh;aC=1;var e=Fl(),t=pV(),n=Object.prototype,o=n.hasOwnProperty;function i(a){if(!e(a))return t(a);var l=[];for(var u in Object(a))o.call(a,u)&&u!="constructor"&&l.push(u);return l}return gh=i,gh}var vh,lC;function Yn(){if(lC)return vh;lC=1;var e=hs(),t=sh();function n(o){return o!=null&&t(o.length)&&!e(o)}return vh=n,vh}var yh,uC;function mr(){if(uC)return yh;uC=1;var e=nC(),t=mh(),n=Yn();function o(i){return n(i)?e(i):t(i)}return yh=o,yh}var wh,cC;function gV(){if(cC)return wh;cC=1;var e=ps(),t=mr();function n(o,i){return o&&e(i,t(i),o)}return wh=n,wh}var xh,fC;function mV(){if(fC)return xh;fC=1;function e(t){var n=[];if(t!=null)for(var o in Object(t))n.push(o);return n}return xh=e,xh}var _h,dC;function vV(){if(dC)return _h;dC=1;var e=Bt(),t=Fl(),n=mV(),o=Object.prototype,i=o.hasOwnProperty;function a(l){if(!e(l))return n(l);var u=t(l),f=[];for(var d in l)d=="constructor"&&(u||!i.call(l,d))||f.push(d);return f}return _h=a,_h}var bh,hC;function no(){if(hC)return bh;hC=1;var e=nC(),t=vV(),n=Yn();function o(i){return n(i)?e(i,!0):t(i)}return bh=o,bh}var Sh,pC;function yV(){if(pC)return Sh;pC=1;var e=ps(),t=no();function n(o,i){return o&&e(i,t(i),o)}return Sh=n,Sh}var ws={exports:{}};ws.exports;var gC;function mC(){return gC||(gC=1,(function(e,t){var n=dn(),o=t&&!t.nodeType&&t,i=o&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===o,l=a?n.Buffer:void 0,u=l?l.allocUnsafe:void 0;function f(d,h){if(h)return d.slice();var p=d.length,m=u?u(p):new d.constructor(p);return d.copy(m),m}e.exports=f})(ws,ws.exports)),ws.exports}var Eh,vC;function yC(){if(vC)return Eh;vC=1;function e(t,n){var o=-1,i=t.length;for(n||(n=Array(i));++ov))return!1;var y=p.get(l),x=p.get(u);if(y&&x)return y==u&&x==l;var b=-1,C=!0,_=f&i?new e:void 0;for(p.set(l,u),p.set(u,l);++b0&&a(h)?i>1?n(h,i-1,a,l,u):e(u,h):l||(u[u.length]=h)}return u}return Sg=n,Sg}var Cg,FN;function gH(){if(FN)return Cg;FN=1;function e(t,n,o){switch(o.length){case 0:return t.call(n);case 1:return t.call(n,o[0]);case 2:return t.call(n,o[0],o[1]);case 3:return t.call(n,o[0],o[1],o[2])}return t.apply(n,o)}return Cg=e,Cg}var kg,$N;function BN(){if($N)return kg;$N=1;var e=gH(),t=Math.max;function n(o,i,a){return i=t(i===void 0?o.length-1:i,0),function(){for(var l=arguments,u=-1,f=t(l.length-i,0),d=Array(f);++u0){if(++a>=e)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return Rg=o,Rg}var Pg,WN;function UN(){if(WN)return Pg;WN=1;var e=mH(),t=vH(),n=t(e);return Pg=n,Pg}var Tg,GN;function Ul(){if(GN)return Tg;GN=1;var e=ro(),t=BN(),n=UN();function o(i,a){return n(t(i,a,e),i+"")}return Tg=o,Tg}var Ag,YN;function KN(){if(YN)return Ag;YN=1;function e(t,n,o,i){for(var a=t.length,l=o+(i?1:-1);i?l--:++l-1}return Lg=t,Lg}var Dg,eR;function bH(){if(eR)return Dg;eR=1;function e(t,n,o){for(var i=-1,a=t==null?0:t.length;++i=l){var b=d?null:i(f);if(b)return a(b);E=!1,m=o,x=new e}else x=d?[]:y;e:for(;++p1?v.setNode(E,p):v.setNode(E)}),this},i.prototype.setNode=function(h,p){return e.has(this._nodes,h)?(arguments.length>1&&(this._nodes[h]=p),this):(this._nodes[h]=arguments.length>1?p:this._defaultNodeLabelFn(h),this._isCompound&&(this._parent[h]=n,this._children[h]={},this._children[n][h]=!0),this._in[h]={},this._preds[h]={},this._out[h]={},this._sucs[h]={},++this._nodeCount,this)},i.prototype.node=function(h){return this._nodes[h]},i.prototype.hasNode=function(h){return e.has(this._nodes,h)},i.prototype.removeNode=function(h){var p=this;if(e.has(this._nodes,h)){var m=function(v){p.removeEdge(p._edgeObjs[v])};delete this._nodes[h],this._isCompound&&(this._removeFromParentsChildList(h),delete this._parent[h],e.each(this.children(h),function(v){p.setParent(v)}),delete this._children[h]),e.each(e.keys(this._in[h]),m),delete this._in[h],delete this._preds[h],e.each(e.keys(this._out[h]),m),delete this._out[h],delete this._sucs[h],--this._nodeCount}return this},i.prototype.setParent=function(h,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(p))p=n;else{p+="";for(var m=p;!e.isUndefined(m);m=this.parent(m))if(m===h)throw new Error("Setting "+p+" as parent of "+h+" would create a cycle");this.setNode(p)}return this.setNode(h),this._removeFromParentsChildList(h),this._parent[h]=p,this._children[p][h]=!0,this},i.prototype._removeFromParentsChildList=function(h){delete this._children[this._parent[h]][h]},i.prototype.parent=function(h){if(this._isCompound){var p=this._parent[h];if(p!==n)return p}},i.prototype.children=function(h){if(e.isUndefined(h)&&(h=n),this._isCompound){var p=this._children[h];if(p)return e.keys(p)}else{if(h===n)return this.nodes();if(this.hasNode(h))return[]}},i.prototype.predecessors=function(h){var p=this._preds[h];if(p)return e.keys(p)},i.prototype.successors=function(h){var p=this._sucs[h];if(p)return e.keys(p)},i.prototype.neighbors=function(h){var p=this.predecessors(h);if(p)return e.union(p,this.successors(h))},i.prototype.isLeaf=function(h){var p;return this.isDirected()?p=this.successors(h):p=this.neighbors(h),p.length===0},i.prototype.filterNodes=function(h){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var m=this;e.each(this._nodes,function(y,x){h(x)&&p.setNode(x,y)}),e.each(this._edgeObjs,function(y){p.hasNode(y.v)&&p.hasNode(y.w)&&p.setEdge(y,m.edge(y))});var v={};function E(y){var x=m.parent(y);return x===void 0||p.hasNode(x)?(v[y]=x,x):x in v?v[x]:E(x)}return this._isCompound&&e.each(p.nodes(),function(y){p.setParent(y,E(y))}),p},i.prototype.setDefaultEdgeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultEdgeLabelFn=h,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return e.values(this._edgeObjs)},i.prototype.setPath=function(h,p){var m=this,v=arguments;return e.reduce(h,function(E,y){return v.length>1?m.setEdge(E,y,p):m.setEdge(E,y),y}),this},i.prototype.setEdge=function(){var h,p,m,v,E=!1,y=arguments[0];typeof y=="object"&&y!==null&&"v"in y?(h=y.v,p=y.w,m=y.name,arguments.length===2&&(v=arguments[1],E=!0)):(h=y,p=arguments[1],m=arguments[3],arguments.length>2&&(v=arguments[2],E=!0)),h=""+h,p=""+p,e.isUndefined(m)||(m=""+m);var x=u(this._isDirected,h,p,m);if(e.has(this._edgeLabels,x))return E&&(this._edgeLabels[x]=v),this;if(!e.isUndefined(m)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(h),this.setNode(p),this._edgeLabels[x]=E?v:this._defaultEdgeLabelFn(h,p,m);var b=f(this._isDirected,h,p,m);return h=b.v,p=b.w,Object.freeze(b),this._edgeObjs[x]=b,a(this._preds[p],h),a(this._sucs[h],p),this._in[p][x]=b,this._out[h][x]=b,this._edgeCount++,this},i.prototype.edge=function(h,p,m){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return this._edgeLabels[v]},i.prototype.hasEdge=function(h,p,m){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return e.has(this._edgeLabels,v)},i.prototype.removeEdge=function(h,p,m){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m),E=this._edgeObjs[v];return E&&(h=E.v,p=E.w,delete this._edgeLabels[v],delete this._edgeObjs[v],l(this._preds[p],h),l(this._sucs[h],p),delete this._in[p][v],delete this._out[h][v],this._edgeCount--),this},i.prototype.inEdges=function(h,p){var m=this._in[h];if(m){var v=e.values(m);return p?e.filter(v,function(E){return E.v===p}):v}},i.prototype.outEdges=function(h,p){var m=this._out[h];if(m){var v=e.values(m);return p?e.filter(v,function(E){return E.w===p}):v}},i.prototype.nodeEdges=function(h,p){var m=this.inEdges(h,p);if(m)return m.concat(this.outEdges(h,p))};function a(h,p){h[p]?h[p]++:h[p]=1}function l(h,p){--h[p]||delete h[p]}function u(h,p,m,v){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}return E+o+y+o+(e.isUndefined(v)?t:v)}function f(h,p,m,v){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}var b={v:E,w:y};return v&&(b.name=v),b}function d(h,p){return u(h,p.v,p.w,p.name)}return Wg}var Gg,dR;function RH(){return dR||(dR=1,Gg="2.1.8"),Gg}var Yg,hR;function PH(){return hR||(hR=1,Yg={Graph:Ug(),version:RH()}),Yg}var Kg,pR;function TH(){if(pR)return Kg;pR=1;var e=Vt(),t=Ug();Kg={write:n,read:a};function n(l){var u={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:o(l),edges:i(l)};return e.isUndefined(l.graph())||(u.value=e.clone(l.graph())),u}function o(l){return e.map(l.nodes(),function(u){var f=l.node(u),d=l.parent(u),h={v:u};return e.isUndefined(f)||(h.value=f),e.isUndefined(d)||(h.parent=d),h})}function i(l){return e.map(l.edges(),function(u){var f=l.edge(u),d={v:u.v,w:u.w};return e.isUndefined(u.name)||(d.name=u.name),e.isUndefined(f)||(d.value=f),d})}function a(l){var u=new t(l.options).setGraph(l.value);return e.each(l.nodes,function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),e.each(l.edges,function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return Kg}var Xg,gR;function AH(){if(gR)return Xg;gR=1;var e=Vt();Xg=t;function t(n){var o={},i=[],a;function l(u){e.has(o,u)||(o[u]=!0,a.push(u),e.each(n.successors(u),l),e.each(n.predecessors(u),l))}return e.each(n.nodes(),function(u){a=[],l(u),a.length&&i.push(a)}),i}return Xg}var Qg,mR;function vR(){if(mR)return Qg;mR=1;var e=Vt();Qg=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(n){return n.key})},t.prototype.has=function(n){return e.has(this._keyIndices,n)},t.prototype.priority=function(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(n,o){var i=this._keyIndices;if(n=String(n),!e.has(i,n)){var a=this._arr,l=a.length;return i[n]=l,a.push({key:n,priority:o}),this._decrease(l),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key},t.prototype.decrease=function(n,o){var i=this._keyIndices[n];if(o>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+o);this._arr[i].priority=o,this._decrease(i)},t.prototype._heapify=function(n){var o=this._arr,i=2*n,a=i+1,l=n;i>1,!(o[a].priority0&&(p=h.removeMin(),m=d[p],m.distance!==Number.POSITIVE_INFINITY);)f(p).forEach(v);return d}return Zg}var Jg,xR;function IH(){if(xR)return Jg;xR=1;var e=wR(),t=Vt();Jg=n;function n(o,i,a){return t.transform(o.nodes(),function(l,u){l[u]=e(o,u,i,a)},{})}return Jg}var em,_R;function bR(){if(_R)return em;_R=1;var e=Vt();em=t;function t(n){var o=0,i=[],a={},l=[];function u(f){var d=a[f]={onStack:!0,lowlink:o,index:o++};if(i.push(f),n.successors(f).forEach(function(m){e.has(a,m)?a[m].onStack&&(d.lowlink=Math.min(d.lowlink,a[m].index)):(u(m),d.lowlink=Math.min(d.lowlink,a[m].lowlink))}),d.lowlink===d.index){var h=[],p;do p=i.pop(),a[p].onStack=!1,h.push(p);while(f!==p);l.push(h)}}return n.nodes().forEach(function(f){e.has(a,f)||u(f)}),l}return em}var tm,SR;function MH(){if(SR)return tm;SR=1;var e=Vt(),t=bR();tm=n;function n(o){return e.filter(t(o),function(i){return i.length>1||i.length===1&&o.hasEdge(i[0],i[0])})}return tm}var nm,ER;function OH(){if(ER)return nm;ER=1;var e=Vt();nm=n;var t=e.constant(1);function n(i,a,l){return o(i,a||t,l||function(u){return i.outEdges(u)})}function o(i,a,l){var u={},f=i.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),l(d).forEach(function(h){var p=h.v===d?h.w:h.v,m=a(h);u[d][p]={distance:m,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(p){var m=u[p];f.forEach(function(v){var E=m[d],y=h[v],x=m[v],b=E.distance+y.distance;b0;){if(d=f.removeMin(),e.has(u,d))l.setEdge(d,u[d]);else{if(p)throw new Error("Input graph is not connected: "+i);p=!0}i.nodeEdges(d).forEach(h)}return l}return lm}var um,MR;function zH(){return MR||(MR=1,um={components:AH(),dijkstra:wR(),dijkstraAll:IH(),findCycles:MH(),floydWarshall:OH(),isAcyclic:LH(),postorder:DH(),preorder:jH(),prim:qH(),tarjan:bR(),topsort:kR()}),um}var cm,OR;function FH(){if(OR)return cm;OR=1;var e=PH();return cm={Graph:e.Graph,json:TH(),alg:zH(),version:e.version},cm}var fm,LR;function hn(){if(LR)return fm;LR=1;var e;if(typeof Jf=="function")try{e=FH()}catch{}return e||(e=window.graphlib),fm=e,fm}var dm,DR;function $H(){if(DR)return dm;DR=1;var e=sk(),t=1,n=4;function o(i){return e(i,t|n)}return dm=o,dm}var hm,jR;function Gl(){if(jR)return hm;jR=1;var e=Zo(),t=Yn(),n=ql(),o=Bt();function i(a,l,u){if(!o(u))return!1;var f=typeof l;return(f=="number"?t(u)&&n(l,u.length):f=="string"&&l in u)?e(u[l],a):!1}return hm=i,hm}var pm,qR;function BH(){if(qR)return pm;qR=1;var e=Ul(),t=Zo(),n=Gl(),o=no(),i=Object.prototype,a=i.hasOwnProperty,l=e(function(u,f){u=Object(u);var d=-1,h=f.length,p=h>2?f[2]:void 0;for(p&&n(f[0],f[1],p)&&(h=1);++d-1?f[d?a[h]:h]:void 0}}return gm=o,gm}var mm,FR;function HH(){if(FR)return mm;FR=1;var e=/\s/;function t(n){for(var o=n.length;o--&&e.test(n.charAt(o)););return o}return mm=t,mm}var vm,$R;function WH(){if($R)return vm;$R=1;var e=HH(),t=/^\s+/;function n(o){return o&&o.slice(0,e(o)+1).replace(t,"")}return vm=n,vm}var ym,BR;function UH(){if(BR)return ym;BR=1;var e=WH(),t=Bt(),n=ni(),o=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;function f(d){if(typeof d=="number")return d;if(n(d))return o;if(t(d)){var h=typeof d.valueOf=="function"?d.valueOf():d;d=t(h)?h+"":h}if(typeof d!="string")return d===0?d:+d;d=e(d);var p=a.test(d);return p||l.test(d)?u(d.slice(2),p?2:8):i.test(d)?o:+d}return ym=f,ym}var wm,VR;function HR(){if(VR)return wm;VR=1;var e=UH(),t=1/0,n=17976931348623157e292;function o(i){if(!i)return i===0?i:0;if(i=e(i),i===t||i===-t){var a=i<0?-1:1;return a*n}return i===i?i:0}return wm=o,wm}var xm,WR;function GH(){if(WR)return xm;WR=1;var e=HR();function t(n){var o=e(n),i=o%1;return o===o?i?o-i:o:0}return xm=t,xm}var _m,UR;function YH(){if(UR)return _m;UR=1;var e=KN(),t=Kn(),n=GH(),o=Math.max;function i(a,l,u){var f=a==null?0:a.length;if(!f)return-1;var d=u==null?0:n(u);return d<0&&(d=o(f+d,0)),e(a,t(l,3),d)}return _m=i,_m}var bm,GR;function KH(){if(GR)return bm;GR=1;var e=VH(),t=YH(),n=e(t);return bm=n,bm}var Sm,YR;function KR(){if(YR)return Sm;YR=1;var e=Eg();function t(n){var o=n==null?0:n.length;return o?e(n,1):[]}return Sm=t,Sm}var Em,XR;function XH(){if(XR)return Em;XR=1;var e=cp(),t=mk(),n=no();function o(i,a){return i==null?i:e(i,t(a),n)}return Em=o,Em}var Cm,QR;function QH(){if(QR)return Cm;QR=1;function e(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}return Cm=e,Cm}var km,ZR;function ZH(){if(ZR)return km;ZR=1;var e=Dl(),t=dp(),n=Kn();function o(i,a){var l={};return a=n(a,3),t(i,function(u,f,d){e(l,f,a(u,f,d))}),l}return km=o,km}var Nm,JR;function Rm(){if(JR)return Nm;JR=1;var e=ni();function t(n,o,i){for(var a=-1,l=n.length;++an}return Pm=e,Pm}var Tm,tP;function e8(){if(tP)return Tm;tP=1;var e=Rm(),t=JH(),n=ro();function o(i){return i&&i.length?e(i,n,t):void 0}return Tm=o,Tm}var Am,nP;function rP(){if(nP)return Am;nP=1;var e=Dl(),t=Zo();function n(o,i,a){(a!==void 0&&!t(o[i],a)||a===void 0&&!(i in o))&&e(o,i,a)}return Am=n,Am}var Im,oP;function t8(){if(oP)return Im;oP=1;var e=eo(),t=$l(),n=In(),o="[object Object]",i=Function.prototype,a=Object.prototype,l=i.toString,u=a.hasOwnProperty,f=l.call(Object);function d(h){if(!n(h)||e(h)!=o)return!1;var p=t(h);if(p===null)return!0;var m=u.call(p,"constructor")&&p.constructor;return typeof m=="function"&&m instanceof m&&l.call(m)==f}return Im=d,Im}var Mm,iP;function sP(){if(iP)return Mm;iP=1;function e(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}return Mm=e,Mm}var Om,aP;function n8(){if(aP)return Om;aP=1;var e=ps(),t=no();function n(o){return e(o,t(o))}return Om=n,Om}var Lm,lP;function r8(){if(lP)return Lm;lP=1;var e=rP(),t=mC(),n=KC(),o=yC(),i=ek(),a=gs(),l=nt(),u=iR(),f=ei(),d=hs(),h=Bt(),p=t8(),m=ys(),v=sP(),E=n8();function y(x,b,C,_,N,P,T){var I=v(x,C),O=v(b,C),q=T.get(O);if(q){e(x,C,q);return}var G=P?P(I,O,C+"",x,b,T):void 0,F=G===void 0;if(F){var j=l(O),W=!j&&f(O),L=!j&&!W&&m(O);G=O,j||W||L?l(I)?G=I:u(I)?G=o(I):W?(F=!1,G=t(O,!0)):L?(F=!1,G=n(O,!0)):G=[]:p(O)||a(O)?(G=I,a(I)?G=E(I):(!h(I)||d(I))&&(G=i(O))):F=!1}F&&(T.set(O,G),N(G,O,_,P,T),T.delete(O)),e(x,C,G)}return Lm=y,Lm}var Dm,uP;function o8(){if(uP)return Dm;uP=1;var e=Ll(),t=rP(),n=cp(),o=r8(),i=Bt(),a=no(),l=sP();function u(f,d,h,p,m){f!==d&&n(d,function(v,E){if(m||(m=new e),i(v))o(f,d,E,h,u,p,m);else{var y=p?p(l(f,E),v,E+"",f,d,m):void 0;y===void 0&&(y=v),t(f,E,y)}},a)}return Dm=u,Dm}var jm,cP;function i8(){if(cP)return jm;cP=1;var e=Ul(),t=Gl();function n(o){return e(function(i,a){var l=-1,u=a.length,f=u>1?a[u-1]:void 0,d=u>2?a[2]:void 0;for(f=o.length>3&&typeof f=="function"?(u--,f):void 0,d&&t(a[0],a[1],d)&&(f=u<3?void 0:f,u=1),i=Object(i);++lo||u&&f&&h&&!d&&!p||a&&f&&h||!i&&h||!l)return 1;if(!a&&!u&&!p&&n=d)return h;var p=i[a];return h*(p=="desc"?-1:1)}}return n.index-o.index}return Jm=t,Jm}var ev,RP;function _8(){if(RP)return ev;RP=1;var e=Vl(),t=Wl(),n=Kn(),o=EN(),i=y8(),a=zl(),l=x8(),u=ro(),f=nt();function d(h,p,m){p.length?p=e(p,function(y){return f(y)?function(x){return t(x,y.length===1?y[0]:y)}:y}):p=[u];var v=-1;p=e(p,a(n));var E=o(h,function(y,x,b){var C=e(p,function(_){return _(y)});return{criteria:C,index:++v,value:y}});return i(E,function(y,x){return l(y,x,m)})}return ev=d,ev}var tv,PP;function b8(){if(PP)return tv;PP=1;var e=Eg(),t=_8(),n=Ul(),o=Gl(),i=n(function(a,l){if(a==null)return[];var u=l.length;return u>1&&o(a,l[0],l[1])?l=[]:u>2&&o(l[0],l[1],l[2])&&(l=[l[0]]),t(a,e(l,1),[])});return tv=i,tv}var nv,TP;function S8(){if(TP)return nv;TP=1;var e=Jk(),t=0;function n(o){var i=++t;return e(o)+i}return nv=n,nv}var rv,AP;function E8(){if(AP)return rv;AP=1;function e(t,n,o){for(var i=-1,a=t.length,l=n.length,u={};++i0;--x)if(y=h[x].dequeue(),y){m=m.concat(l(d,h,p,y,!0));break}}}return m}function l(d,h,p,m,v){var E=v?[]:void 0;return e.forEach(d.inEdges(m.v),function(y){var x=d.edge(y),b=d.node(y.v);v&&E.push({v:y.v,w:y.w}),b.out-=x,f(h,p,b)}),e.forEach(d.outEdges(m.v),function(y){var x=d.edge(y),b=y.w,C=d.node(b);C.in-=x,f(h,p,C)}),d.removeNode(m.v),E}function u(d,h){var p=new t,m=0,v=0;e.forEach(d.nodes(),function(x){p.setNode(x,{v:x,in:0,out:0})}),e.forEach(d.edges(),function(x){var b=p.edge(x.v,x.w)||0,C=h(x),_=b+C;p.setEdge(x.v,x.w,_),v=Math.max(v,p.node(x.v).out+=C),m=Math.max(m,p.node(x.w).in+=C)});var E=e.range(v+m+3).map(function(){return new n}),y=m+1;return e.forEach(p.nodes(),function(x){f(E,y,p.node(x))}),{graph:p,buckets:E,zeroIdx:y}}function f(d,h,p){p.out?p.in?d[p.out-p.in+h].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}return av}var lv,DP;function R8(){if(DP)return lv;DP=1;var e=He(),t=N8();lv={run:n,undo:i};function n(a){var l=a.graph().acyclicer==="greedy"?t(a,u(a)):o(a);e.forEach(l,function(f){var d=a.edge(f);a.removeEdge(f),d.forwardName=f.name,d.reversed=!0,a.setEdge(f.w,f.v,d,e.uniqueId("rev"))});function u(f){return function(d){return f.edge(d).weight}}}function o(a){var l=[],u={},f={};function d(h){e.has(f,h)||(f[h]=!0,u[h]=!0,e.forEach(a.outEdges(h),function(p){e.has(u,p.w)?l.push(p):d(p.w)}),delete u[h])}return e.forEach(a.nodes(),d),l}function i(a){e.forEach(a.edges(),function(l){var u=a.edge(l);if(u.reversed){a.removeEdge(l);var f=u.forwardName;delete u.reversed,delete u.forwardName,a.setEdge(l.w,l.v,u,f)}})}return lv}var uv,jP;function St(){if(jP)return uv;jP=1;var e=He(),t=hn().Graph;uv={addDummyNode:n,simplify:o,asNonCompoundGraph:i,successorWeights:a,predecessorWeights:l,intersectRect:u,buildLayerMatrix:f,normalizeRanks:d,removeEmptyRanks:h,addBorderNode:p,maxRank:m,partition:v,time:E,notime:y};function n(x,b,C,_){var N;do N=e.uniqueId(_);while(x.hasNode(N));return C.dummy=b,x.setNode(N,C),N}function o(x){var b=new t().setGraph(x.graph());return e.forEach(x.nodes(),function(C){b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){var _=b.edge(C.v,C.w)||{weight:0,minlen:1},N=x.edge(C);b.setEdge(C.v,C.w,{weight:_.weight+N.weight,minlen:Math.max(_.minlen,N.minlen)})}),b}function i(x){var b=new t({multigraph:x.isMultigraph()}).setGraph(x.graph());return e.forEach(x.nodes(),function(C){x.children(C).length||b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){b.setEdge(C,x.edge(C))}),b}function a(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.outEdges(C),function(N){_[N.w]=(_[N.w]||0)+x.edge(N).weight}),_});return e.zipObject(x.nodes(),b)}function l(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.inEdges(C),function(N){_[N.v]=(_[N.v]||0)+x.edge(N).weight}),_});return e.zipObject(x.nodes(),b)}function u(x,b){var C=x.x,_=x.y,N=b.x-C,P=b.y-_,T=x.width/2,I=x.height/2;if(!N&&!P)throw new Error("Not possible to find intersection inside of the rectangle");var O,q;return Math.abs(P)*T>Math.abs(N)*I?(P<0&&(I=-I),O=I*N/P,q=I):(N<0&&(T=-T),O=T,q=T*P/N),{x:C+O,y:_+q}}function f(x){var b=e.map(e.range(m(x)+1),function(){return[]});return e.forEach(x.nodes(),function(C){var _=x.node(C),N=_.rank;e.isUndefined(N)||(b[N][_.order]=C)}),b}function d(x){var b=e.min(e.map(x.nodes(),function(C){return x.node(C).rank}));e.forEach(x.nodes(),function(C){var _=x.node(C);e.has(_,"rank")&&(_.rank-=b)})}function h(x){var b=e.min(e.map(x.nodes(),function(P){return x.node(P).rank})),C=[];e.forEach(x.nodes(),function(P){var T=x.node(P).rank-b;C[T]||(C[T]=[]),C[T].push(P)});var _=0,N=x.graph().nodeRankFactor;e.forEach(C,function(P,T){e.isUndefined(P)&&T%N!==0?--_:_&&e.forEach(P,function(I){x.node(I).rank+=_})})}function p(x,b,C,_){var N={width:0,height:0};return arguments.length>=4&&(N.rank=C,N.order=_),n(x,"border",N,b)}function m(x){return e.max(e.map(x.nodes(),function(b){var C=x.node(b).rank;if(!e.isUndefined(C))return C}))}function v(x,b){var C={lhs:[],rhs:[]};return e.forEach(x,function(_){b(_)?C.lhs.push(_):C.rhs.push(_)}),C}function E(x,b){var C=e.now();try{return b()}finally{console.log(x+" time: "+(e.now()-C)+"ms")}}function y(x,b){return b()}return uv}var cv,qP;function P8(){if(qP)return cv;qP=1;var e=He(),t=St();cv={run:n,undo:i};function n(a){a.graph().dummyChains=[],e.forEach(a.edges(),function(l){o(a,l)})}function o(a,l){var u=l.v,f=a.node(u).rank,d=l.w,h=a.node(d).rank,p=l.name,m=a.edge(l),v=m.labelRank;if(h!==f+1){a.removeEdge(l);var E,y,x;for(x=0,++f;fq.lim&&(G=q,F=!0);var j=e.filter(N.edges(),function(W){return F===C(_,_.node(W.v),G)&&F!==C(_,_.node(W.w),G)});return e.minBy(j,function(W){return n(N,W)})}function y(_,N,P,T){var I=P.v,O=P.w;_.removeEdge(I,O),_.setEdge(T.v,T.w,{}),p(_),f(_,N),x(_,N)}function x(_,N){var P=e.find(_.nodes(),function(I){return!N.node(I).parent}),T=i(_,P);T=T.slice(1),e.forEach(T,function(I){var O=_.node(I).parent,q=N.edge(I,O),G=!1;q||(q=N.edge(O,I),G=!0),N.node(I).rank=N.node(O).rank+(G?q.minlen:-q.minlen)})}function b(_,N,P){return _.hasEdge(N,P)}function C(_,N,P){return P.low<=N.lim&&N.lim<=P.lim}return hv}var pv,VP;function A8(){if(VP)return pv;VP=1;var e=Yl(),t=e.longestPath,n=$P(),o=T8();pv=i;function i(f){switch(f.graph().ranker){case"network-simplex":u(f);break;case"tight-tree":l(f);break;case"longest-path":a(f);break;default:u(f)}}var a=t;function l(f){t(f),n(f)}function u(f){o(f)}return pv}var gv,HP;function I8(){if(HP)return gv;HP=1;var e=He();gv=t;function t(i){var a=o(i);e.forEach(i.graph().dummyChains,function(l){for(var u=i.node(l),f=u.edgeObj,d=n(i,a,f.v,f.w),h=d.path,p=d.lca,m=0,v=h[m],E=!0;l!==f.w;){if(u=i.node(l),E){for(;(v=h[m])!==p&&i.node(v).maxRankh||p>a[m].lim));for(v=m,m=u;(m=i.parent(m))!==v;)d.push(m);return{path:f.concat(d.reverse()),lca:v}}function o(i){var a={},l=0;function u(f){var d=l;e.forEach(i.children(f),u),a[f]={low:d,lim:l++}}return e.forEach(i.children(),u),a}return gv}var mv,WP;function M8(){if(WP)return mv;WP=1;var e=He(),t=St();mv={run:n,cleanup:l};function n(u){var f=t.addDummyNode(u,"root",{},"_root"),d=i(u),h=e.max(e.values(d))-1,p=2*h+1;u.graph().nestingRoot=f,e.forEach(u.edges(),function(v){u.edge(v).minlen*=p});var m=a(u)+1;e.forEach(u.children(),function(v){o(u,f,p,m,h,d,v)}),u.graph().nodeRankFactor=p}function o(u,f,d,h,p,m,v){var E=u.children(v);if(!E.length){v!==f&&u.setEdge(f,v,{weight:0,minlen:d});return}var y=t.addBorderNode(u,"_bt"),x=t.addBorderNode(u,"_bb"),b=u.node(v);u.setParent(y,v),b.borderTop=y,u.setParent(x,v),b.borderBottom=x,e.forEach(E,function(C){o(u,f,d,h,p,m,C);var _=u.node(C),N=_.borderTop?_.borderTop:C,P=_.borderBottom?_.borderBottom:C,T=_.borderTop?h:2*h,I=N!==P?1:p-m[v]+1;u.setEdge(y,N,{weight:T,minlen:I,nestingEdge:!0}),u.setEdge(P,x,{weight:T,minlen:I,nestingEdge:!0})}),u.parent(v)||u.setEdge(f,y,{weight:0,minlen:p+m[v]})}function i(u){var f={};function d(h,p){var m=u.children(h);m&&m.length&&e.forEach(m,function(v){d(v,p+1)}),f[h]=p}return e.forEach(u.children(),function(h){d(h,1)}),f}function a(u){return e.reduce(u.edges(),function(f,d){return f+u.edge(d).weight},0)}function l(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,e.forEach(u.edges(),function(d){var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return mv}var vv,UP;function O8(){if(UP)return vv;UP=1;var e=He(),t=St();vv=n;function n(i){function a(l){var u=i.children(l),f=i.node(l);if(u.length&&e.forEach(u,a),e.has(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(var d=f.minRank,h=f.maxRank+1;d0;)v%2&&(E+=h[v+1]),v=v-1>>1,h[v]+=m.weight;p+=m.weight*E})),p}return xv}var _v,XP;function q8(){if(XP)return _v;XP=1;var e=He();_v=t;function t(n,o){return e.map(o,function(i){var a=n.inEdges(i);if(a.length){var l=e.reduce(a,function(u,f){var d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:i,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:i}})}return _v}var bv,QP;function z8(){if(QP)return bv;QP=1;var e=He();bv=t;function t(i,a){var l={};e.forEach(i,function(f,d){var h=l[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};e.isUndefined(f.barycenter)||(h.barycenter=f.barycenter,h.weight=f.weight)}),e.forEach(a.edges(),function(f){var d=l[f.v],h=l[f.w];!e.isUndefined(d)&&!e.isUndefined(h)&&(h.indegree++,d.out.push(l[f.w]))});var u=e.filter(l,function(f){return!f.indegree});return n(u)}function n(i){var a=[];function l(d){return function(h){h.merged||(e.isUndefined(h.barycenter)||e.isUndefined(d.barycenter)||h.barycenter>=d.barycenter)&&o(d,h)}}function u(d){return function(h){h.in.push(d),--h.indegree===0&&i.push(h)}}for(;i.length;){var f=i.pop();a.push(f),e.forEach(f.in.reverse(),l(f)),e.forEach(f.out,u(f))}return e.map(e.filter(a,function(d){return!d.merged}),function(d){return e.pick(d,["vs","i","barycenter","weight"])})}function o(i,a){var l=0,u=0;i.weight&&(l+=i.barycenter*i.weight,u+=i.weight),a.weight&&(l+=a.barycenter*a.weight,u+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=l/u,i.weight=u,i.i=Math.min(a.i,i.i),a.merged=!0}return bv}var Sv,ZP;function F8(){if(ZP)return Sv;ZP=1;var e=He(),t=St();Sv=n;function n(a,l){var u=t.partition(a,function(y){return e.has(y,"barycenter")}),f=u.lhs,d=e.sortBy(u.rhs,function(y){return-y.i}),h=[],p=0,m=0,v=0;f.sort(i(!!l)),v=o(h,d,v),e.forEach(f,function(y){v+=y.vs.length,h.push(y.vs),p+=y.barycenter*y.weight,m+=y.weight,v=o(h,d,v)});var E={vs:e.flatten(h,!0)};return m&&(E.barycenter=p/m,E.weight=m),E}function o(a,l,u){for(var f;l.length&&(f=e.last(l)).i<=u;)l.pop(),a.push(f.vs),u++;return u}function i(a){return function(l,u){return l.barycenteru.barycenter?1:a?u.i-l.i:l.i-u.i}}return Sv}var Ev,JP;function $8(){if(JP)return Ev;JP=1;var e=He(),t=q8(),n=z8(),o=F8();Ev=i;function i(u,f,d,h){var p=u.children(f),m=u.node(f),v=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,y={};v&&(p=e.filter(p,function(P){return P!==v&&P!==E}));var x=t(u,p);e.forEach(x,function(P){if(u.children(P.v).length){var T=i(u,P.v,d,h);y[P.v]=T,e.has(T,"barycenter")&&l(P,T)}});var b=n(x,d);a(b,y);var C=o(b,h);if(v&&(C.vs=e.flatten([v,C.vs,E],!0),u.predecessors(v).length)){var _=u.node(u.predecessors(v)[0]),N=u.node(u.predecessors(E)[0]);e.has(C,"barycenter")||(C.barycenter=0,C.weight=0),C.barycenter=(C.barycenter*C.weight+_.order+N.order)/(C.weight+2),C.weight+=2}return C}function a(u,f){e.forEach(u,function(d){d.vs=e.flatten(d.vs.map(function(h){return f[h]?f[h].vs:h}),!0)})}function l(u,f){e.isUndefined(u.barycenter)?(u.barycenter=f.barycenter,u.weight=f.weight):(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight)}return Ev}var Cv,eT;function B8(){if(eT)return Cv;eT=1;var e=He(),t=hn().Graph;Cv=n;function n(i,a,l){var u=o(i),f=new t({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(d){return i.node(d)});return e.forEach(i.nodes(),function(d){var h=i.node(d),p=i.parent(d);(h.rank===a||h.minRank<=a&&a<=h.maxRank)&&(f.setNode(d),f.setParent(d,p||u),e.forEach(i[l](d),function(m){var v=m.v===d?m.w:m.v,E=f.edge(v,d),y=e.isUndefined(E)?0:E.weight;f.setEdge(v,d,{weight:i.edge(m).weight+y})}),e.has(h,"minRank")&&f.setNode(d,{borderLeft:h.borderLeft[a],borderRight:h.borderRight[a]}))}),f}function o(i){for(var a;i.hasNode(a=e.uniqueId("_root")););return a}return Cv}var kv,tT;function V8(){if(tT)return kv;tT=1;var e=He();kv=t;function t(n,o,i){var a={},l;e.forEach(i,function(u){for(var f=n.parent(u),d,h;f;){if(d=n.parent(f),d?(h=a[d],a[d]=f):(h=l,l=f),h&&h!==f){o.setEdge(h,f);return}f=d}})}return kv}var Nv,nT;function H8(){if(nT)return Nv;nT=1;var e=He(),t=D8(),n=j8(),o=$8(),i=B8(),a=V8(),l=hn().Graph,u=St();Nv=f;function f(m){var v=u.maxRank(m),E=d(m,e.range(1,v+1),"inEdges"),y=d(m,e.range(v-1,-1,-1),"outEdges"),x=t(m);p(m,x);for(var b=Number.POSITIVE_INFINITY,C,_=0,N=0;N<4;++_,++N){h(_%2?E:y,_%4>=2),x=u.buildLayerMatrix(m);var P=n(m,x);PG)&&l(_,W,F)})})}function P(T,I){var O=-1,q,G=0;return e.forEach(I,function(F,j){if(b.node(F).dummy==="border"){var W=b.predecessors(F);W.length&&(q=b.node(W[0]).order,N(I,G,j,O,q),G=j,O=q)}N(I,G,I.length,q,T.length)}),I}return e.reduce(C,P),_}function a(b,C){if(b.node(C).dummy)return e.find(b.predecessors(C),function(_){return b.node(_).dummy})}function l(b,C,_){if(C>_){var N=C;C=_,_=N}var P=b[C];P||(b[C]=P={}),P[_]=!0}function u(b,C,_){if(C>_){var N=C;C=_,_=N}return e.has(b[C],_)}function f(b,C,_,N){var P={},T={},I={};return e.forEach(C,function(O){e.forEach(O,function(q,G){P[q]=q,T[q]=q,I[q]=G})}),e.forEach(C,function(O){var q=-1;e.forEach(O,function(G){var F=N(G);if(F.length){F=e.sortBy(F,function(z){return I[z]});for(var j=(F.length-1)/2,W=Math.floor(j),L=Math.ceil(j);W<=L;++W){var H=F[W];T[G]===G&&q({})),o.setGraph({rankdir:n,nodesep:e6,ranksep:t6}),e.forEach(a=>{const{width:l,height:u}=cT(a);o.setNode(a.id,{width:l,height:u})}),t.forEach(a=>{o.setEdge(a.source,a.target)}),uT.layout(o),{nodes:e.map(a=>{const l=o.node(a.id),{width:u,height:f}=cT(a);return{...a,position:{x:l.x-u/2,y:l.y-f/2}}}),edges:t}}function r6(e,t,n){return{onLayout:k.useCallback(i=>{const{nodes:a}=n6(e,t,i);n(a)},[e,t,n])}}const fT=k.createContext(null),dT=k.createContext(null),hT=k.createContext(null),o6=()=>{const e=k.useContext(fT);if(!e)throw new Error("useSetNodesDict must be used within SetNodesDictContext.Provider");return e},pT=()=>{const e=k.useContext(dT);if(!e)throw new Error("useSetNodeValues must be used within SetNodeValuesContext.Provider");return e},gT=()=>{const e=k.useContext(hT);if(!e)throw new Error("useSetActionEvents must be used within SetActionEventsContext.Provider");return e};function i6({component:e,onValueChange:t}){var l;const n=qo(),o=gT(),i=((l=n==null?void 0:n.nodeData.values)==null?void 0:l[e.id])??e.value??0,a=()=>{if(e.action&&(n!=null&&n.nodeData.id)){console.log("🔵 ButtonComponent: Button clicked!",{action:e.action,node_id:n.nodeData.id,component_id:e.id,timestamp:Date.now()});const f={action:e.action,node_id:n.nodeData.id,component_id:e.id,timestamp:Date.now()};console.log("🔵 ButtonComponent: Created event object",f),o(d=>{console.log("🔵 ButtonComponent: Previous events",d);const h=[...d,f];return console.log("🔵 ButtonComponent: Setting new events array",h),h}),console.log("🔵 ButtonComponent: setActionEvents called")}else console.warn("⚠️ ButtonComponent: Cannot emit action",{hasAction:!!e.action,hasNodeId:!!(n!=null&&n.nodeData.id),context:n});const u=i+1;t==null||t(e.id,u)};return R.jsx(Xo,{variant:e.variant||"default",size:e.size||"default",disabled:e.disabled||!1,onClick:a,onMouseDown:u=>u.stopPropagation(),onPointerDown:u=>u.stopPropagation(),className:"w-full",style:{backgroundColor:e.bgColor,color:e.textColor,width:"100%",height:"100%"},children:e.label})}function s6({component:e}){const t=e.orientation!=="vertical";return R.jsx("div",{className:`component-divider ${t?"w-full h-px":"h-full w-px"} bg-gray-300`})}function a6({component:e}){return R.jsx("div",{className:"component-spacer",style:{width:e.size,height:e.size}})}function l6({cell:e,nodeId:t,onValueChange:n}){const o=e.layout||{type:"flex",direction:"column"},i=u6(e),a=c6(o);return R.jsx("div",{className:"nested-grid-cell",style:i,children:R.jsx("div",{className:"nested-grid-cell-content",style:a,children:e.components.map(l=>R.jsx(mT,{component:l,nodeId:t,onValueChange:n},l.id))})})}function u6(e){const t=e.coordinates.row_span||1,n=e.coordinates.col_span||1;return{gridRow:`${e.coordinates.row} / span ${t}`,gridColumn:`${e.coordinates.col} / span ${n}`}}function c6(e){return!e||e.type==="flex"||!e.type?{display:"flex",flexDirection:(e==null?void 0:e.direction)||"column",alignItems:(e==null?void 0:e.align)||"start",justifyContent:(e==null?void 0:e.justify)||"start",gap:(e==null?void 0:e.gap)||"4px",height:"100%",width:"100%"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start",height:"100%",width:"100%"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px",height:"100%",width:"100%"}:{}}function f6({component:e,nodeId:t,onValueChange:n}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"8px",minHeight:e.minHeight,minWidth:e.minWidth};return R.jsx("div",{className:`nested-grid ${e.className||""}`,style:o,children:e.cells.map(i=>R.jsx(l6,{cell:i,nodeId:t,onValueChange:n},i.id))})}function mT({component:e,nodeId:t,onValueChange:n}){switch(e.type){case"base-handle":return R.jsx(Qa,{component:e});case"labeled-handle":return R.jsx(Q_,{component:e});case"button-handle":return R.jsx(Z_,{component:e});case"text":return R.jsx(z3,{component:e,onValueChange:n});case"number":return R.jsx($3,{component:e,onValueChange:n});case"bool":return R.jsx(_z,{component:e,onValueChange:n});case"select":return R.jsx(B$,{component:e,onValueChange:n});case"progress":return R.jsx(aB,{component:e,onValueChange:n});case"header":return R.jsx(lB,{component:e});case"footer":return R.jsx(uB,{component:e});case"button":return R.jsx(i6,{component:e,onValueChange:n});case"divider":return R.jsx(s6,{component:e});case"spacer":return R.jsx(a6,{component:e});case"grid-layout":return R.jsx(f6,{component:e,nodeId:t,onValueChange:n});default:return console.warn(`Unknown component type: ${e.type}`),null}}function d6({grid:e,nodeId:t,onValueChange:n}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"0px",width:"100%",height:"100%"};return R.jsx("div",{className:"node-grid",style:o,children:e.cells.map(i=>R.jsx("div",{className:"grid-cell",style:{gridRow:`${i.coordinates.row} / span ${i.coordinates.row_span||1}`,gridColumn:`${i.coordinates.col} / span ${i.coordinates.col_span||1}`},children:R.jsx(h6,{cell:i,nodeId:t,onValueChange:n})},i.id))})}function h6({cell:e,nodeId:t,onValueChange:n}){const o=e.layout||{type:"flex",direction:"column"},i=p6(o);return R.jsx("div",{className:"grid-cell-content",style:i,children:e.components.map(a=>R.jsx(mT,{component:a,nodeId:t,onValueChange:n},a.id))})}function p6(e){return e.type==="flex"||!e.type?{display:"flex",flexDirection:e.direction||"column",alignItems:e.align||"start",justifyContent:e.justify||"start",gap:e.gap||"4px"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px"}:{}}var g6={};class Ov{constructor(t,n,o="Node"){uc(this,"grid");uc(this,"style");uc(this,"label");if(this.grid=t,this.style=n,this.label=o,!t)throw new Error("'grid' property is required in node definition.")}buildStyleConfig(){const{style:t}=this,n={};t!=null&&t.minWidth&&(n.minWidth=typeof t.minWidth=="number"?`${t.minWidth}px`:t.minWidth),t!=null&&t.maxWidth&&(n.maxWidth=typeof t.maxWidth=="number"?`${t.maxWidth}px`:t.maxWidth),t!=null&&t.borderRadius&&(n.borderRadius=t.borderRadius);const o=t!=null&&t.shadow?`shadow-${t.shadow}`:"shadow-md";return{style:n,className:Me("min-w-[200px] border-2 transition-all overflow-hidden !p-0 gap-0 bg-card text-card-foreground rounded-xl",o,t==null?void 0:t.className)}}buildComponent(){const{grid:t,label:n}=this,o=this.buildStyleConfig(),i=({id:a,data:l,selected:u})=>{const f=l,d=pT(),h=k.useCallback((v,E)=>{d(y=>({...y,[a]:{...y[a],[v]:E}}))},[a,d]),p=f.grid||t,m=k.useMemo(()=>({nodeId:a,nodeData:f||{label:n,grid:t,values:{}},onValueChange:h}),[a,f,h]);return R.jsx("div",{className:Me(o.className,u&&"border-primary shadow-lg ring-2 ring-primary/20"),style:o.style,children:R.jsx(J_.Provider,{value:m,children:R.jsx(d6,{grid:p,nodeId:a,onValueChange:h})})})};return k.memo(i,(a,l)=>{if(a.id!==l.id||a.selected!==l.selected)return!1;const u=a.data.values,f=l.data.values;return u===f?!0:!u||!f?u===f:JSON.stringify(u)===JSON.stringify(f)})}static buildComponent(t,n,o="Node"){return new Ov(t,n,o).buildComponent()}}function m6(e){const t={};for(const n of e)try{t[n.type]=Ov.buildComponent(n.definition.grid,n.definition.style,n.label)}catch(o){throw typeof g6.VITEST>"u"&&console.error(`Failed to build component for node type "${n.type}":`,o),o}return t}function v6({data:e}){const[t,n]=k.useState(e.nodes),[o,i]=k.useState(e.node_values),[a,l]=k.useState(e.edges),[u,f]=k.useState([]),[d,h]=k.useState(null),p=e.height||"600px",m=e.interactive!==!1,v=k.useMemo(()=>m6(e.node_templates),[e.node_templates]),E=k.useMemo(()=>Object.entries(t).map(([j,W])=>({id:j,...W})),[t]),y=k.useCallback(j=>{if(!m)return;const W=$x(j,E),L={};W.forEach(H=>{const{id:z,...Y}=H;L[z]=Y}),n(L)},[E,m]),x=k.useCallback(j=>{m&&l(W=>Bx(j,W))},[m]),b=k.useCallback(j=>{m&&l(W=>ex(j,W))},[m]),C=k.useCallback((j,W)=>{m&&(j.preventDefault(),h({id:W.id,type:"node",x:j.clientX,y:j.clientY}))},[m]),_=k.useCallback((j,W)=>{m&&(j.preventDefault(),h({id:W.id,type:"edge",x:j.clientX,y:j.clientY}))},[m]),N=k.useCallback(()=>{h(null)},[]),P=k.useCallback(()=>{!m||!d||(d.type==="node"?(n(j=>{const W={...j};return delete W[d.id],W}),l(j=>j.filter(W=>W.source!==d.id&&W.target!==d.id))):d.type==="edge"&&l(j=>j.filter(W=>W.id!==d.id)),h(null))},[d,m]),T=k.useCallback(j=>{if(!m)return;const W=`${j.type}-${Date.now()}`,L={type:j.type,position:{x:250,y:250},data:{}};n(H=>({...H,[W]:L}))},[m]),I=k.useCallback(j=>{n(W=>{const L=Object.entries(W).map(([Y,M])=>({id:Y,...M})),H=typeof j=="function"?j(L):j,z={};return H.forEach(Y=>{const{id:M,...$}=Y;z[M]=$}),z})},[n]),{onLayout:O}=r6(E,a,I),q=k.useCallback(()=>{O("TB")},[O]),G=k.useCallback(()=>{O("LR")},[O]);k.useEffect(()=>{E.length>0&&setTimeout(()=>{q()},100)},[]);const F=k.useCallback(()=>{const j={nodes:t,edges:a,node_values:o,node_templates:e.node_templates},W=JSON.stringify(j,null,2),L=new Blob([W],{type:"application/json"}),H=URL.createObjectURL(L),z=document.createElement("a");z.href=H,z.download="workflow.json",document.body.appendChild(z),z.click(),document.body.removeChild(z),URL.revokeObjectURL(H)},[t,a,o,e.node_templates]);return R.jsx("div",{style:{width:"100%",height:p,display:"flex",position:"relative",overflow:"hidden"},children:R.jsx(fT.Provider,{value:n,children:R.jsx(dT.Provider,{value:i,children:R.jsx(hT.Provider,{value:f,children:R.jsx(R_,{children:R.jsxs(x5,{defaultOpen:m,className:"!min-h-0 !h-full !w-full",children:[m&&R.jsxs(_5,{collapsible:"icon",className:"!relative !inset-auto !h-full",children:[R.jsxs(S5,{className:"flex flex-row items-center justify-between border-b",children:[R.jsx("span",{className:"text-sm font-semibold",children:"Add Nodes"}),R.jsx(b5,{})]}),R.jsx(A5,{onAddNode:T,templates:e.node_templates})]}),R.jsx("div",{style:{flex:1,height:"100%",position:"relative"},children:R.jsx(L5,{nodes:E,edges:a,nodeTypes:v,height:p,onNodesChange:y,onEdgesChange:x,onConnect:b,onNodeContextMenu:C,onEdgeContextMenu:_,onPaneClick:N,contextMenu:d,onDelete:P,onCloseContextMenu:()=>h(null),onExport:F,onLayoutVertical:q,onLayoutHorizontal:G})})]})})})})})})}function Lv(e,t){const n=document.getElementById(e);if(!n){console.error(`Container with id "${e}" not found`);return}UI.createRoot(n).render(R.jsx(v6,{data:t}))}if(typeof window<"u"){const e=()=>{const t=document.getElementById("pynodewidget-data");if(t&&t.textContent)try{const n=JSON.parse(t.textContent);Lv("pynodewidget-root",n)}catch(n){console.error("Failed to parse pynodewidget data:",n)}};document.readyState==="loading"?window.addEventListener("DOMContentLoaded",e):e()}return window.PyNodeWidget={initStandaloneFlow:Lv},Ft.initStandaloneFlow=Lv,Ft.useSetActionEvents=gT,Ft.useSetNodeValues=pT,Ft.useSetNodesDict=o6,Object.defineProperty(Ft,Symbol.toStringTag,{value:"Module"}),Ft})({}); diff --git a/tests/test_html_export.py b/tests/test_html_export.py new file mode 100644 index 0000000..9fdea20 --- /dev/null +++ b/tests/test_html_export.py @@ -0,0 +1,348 @@ +"""Tests for HTML export functionality.""" + +import pytest +import json +import tempfile +from pathlib import Path +from pynodewidget import NodeFlowWidget + + +class TestHTMLExport: + """Test suite for HTML export functionality.""" + + def test_basic_html_export(self): + """Test basic HTML export with default settings.""" + widget = NodeFlowWidget() + + # Add a simple node type + widget.add_node_type_from_schema( + json_schema={ + "type": "object", + "properties": { + "name": {"type": "string", "default": "test"} + } + }, + type_name="test_node", + label="Test Node" + ) + + # Add a node + widget.nodes = { + "node-1": { + "type": "test_node", + "position": {"x": 100, "y": 100}, + "data": {} + } + } + + # Export to temporary file + with tempfile.TemporaryDirectory() as tmpdir: + output_path = Path(tmpdir) / "test.html" + result = widget.export_html(str(output_path)) + + # Verify file was created + assert output_path.exists() + assert result == str(output_path) + + # Verify HTML content + html_content = output_path.read_text() + assert "" in html_content + assert "My Custom Workflow" in html_content + + def test_html_export_with_nodes_and_edges(self): + """Test HTML export with nodes and edges.""" + widget = NodeFlowWidget() + + # Add node type + widget.add_node_type_from_schema( + json_schema={ + "type": "object", + "properties": { + "value": {"type": "number", "default": 42} + } + }, + type_name="number_node", + label="Number Node" + ) + + # Add nodes + widget.nodes = { + "node-1": { + "type": "number_node", + "position": {"x": 100, "y": 100}, + "data": {} + }, + "node-2": { + "type": "number_node", + "position": {"x": 300, "y": 100}, + "data": {} + } + } + + # Add edge + widget.edges = [{ + "id": "e1", + "source": "node-1", + "target": "node-2" + }] + + # Set values + widget.values["node-1"] = {"value": 100} + widget.values["node-2"] = {"value": 200} + + # Export and verify + with tempfile.TemporaryDirectory() as tmpdir: + output_path = Path(tmpdir) / "test.html" + widget.export_html(str(output_path)) + + html_content = output_path.read_text() + + # Extract and parse embedded JSON data + start = html_content.find('', start) + json_start = interactive_content.find('>', start) + 1 + json_data = interactive_content[json_start:end].strip() + data = json.loads(json_data) + + assert data["interactive"] is True + + # Export as static + static_path = Path(tmpdir) / "static.html" + widget.export_html( + str(static_path), + interactive=False + ) + + static_content = static_path.read_text() + + # Extract JSON to check interactive flag + start = static_content.find('', start) + json_start = content1.find('>', start) + 1 + json_data = content1[json_start:end].strip() + data1 = json.loads(json_data) + assert data1["height"] == "500px" + + # Override with custom height + path2 = Path(tmpdir) / "custom_height.html" + widget.export_html(str(path2), height="100vh") + + content2 = path2.read_text() + start = content2.find('', start) + json_start = html_content.find('>', start) + 1 + json_data = html_content[json_start:end].strip() + data = json.loads(json_data) + + assert data["viewport"]["x"] == 100 + assert data["viewport"]["y"] == 50 + assert data["viewport"]["zoom"] == 1.5 + + def test_export_method_supports_html(self): + """Test that the generic export() method supports HTML format.""" + widget = NodeFlowWidget() + + with tempfile.TemporaryDirectory() as tmpdir: + # Auto-detect from extension + html_path = Path(tmpdir) / "workflow.html" + result = widget.export(str(html_path)) + assert html_path.exists() + assert result == str(html_path) + + # Explicit format + html_path2 = Path(tmpdir) / "workflow2.xyz" + result2 = widget.export(str(html_path2), format="html") + assert html_path2.exists() + assert result2 == str(html_path2) + + def test_html_export_with_complex_workflow(self): + """Test HTML export with a more complex workflow.""" + widget = NodeFlowWidget() + + # Add multiple node types + for i in range(3): + widget.add_node_type_from_schema( + json_schema={ + "type": "object", + "properties": { + f"param{i}": {"type": "string", "default": f"value{i}"} + } + }, + type_name=f"type_{i}", + label=f"Type {i}", + description=f"Node type {i}" + ) + + # Add multiple nodes + widget.nodes = { + f"node-{i}": { + "type": f"type_{i % 3}", + "position": {"x": i * 150, "y": i * 50}, + "data": {} + } + for i in range(5) + } + + # Add multiple edges + widget.edges = [ + {"id": f"e{i}", "source": f"node-{i}", "target": f"node-{i+1}"} + for i in range(4) + ] + + # Export and verify structure is preserved + with tempfile.TemporaryDirectory() as tmpdir: + output_path = Path(tmpdir) / "complex.html" + widget.export_html(str(output_path)) + + assert output_path.exists() + + html_content = output_path.read_text() + start = html_content.find(' + + + + + + + \ No newline at end of file diff --git a/workflow_interactive.html b/workflow_interactive.html new file mode 100644 index 0000000..663de81 --- /dev/null +++ b/workflow_interactive.html @@ -0,0 +1,905 @@ + + + + + + Data Processing Pipeline - Interactive + + + + + + +
+
Loading workflow visualization...
+
+ + + + + + + + + + \ No newline at end of file diff --git a/workflow_separate_assets.html b/workflow_separate_assets.html new file mode 100644 index 0000000..de4a6df --- /dev/null +++ b/workflow_separate_assets.html @@ -0,0 +1,719 @@ + + + + + + Data Processing Pipeline - Separate Assets + + + + + + +
+
Loading workflow visualization...
+
+ + + + + + + + + + \ No newline at end of file diff --git a/workflow_static.html b/workflow_static.html new file mode 100644 index 0000000..93c8b8e --- /dev/null +++ b/workflow_static.html @@ -0,0 +1,905 @@ + + + + + + Data Processing Pipeline - View Only + + + + + + +
+
Loading workflow visualization...
+
+ + + + + + + + + + \ No newline at end of file