@zukhruf/diagram 0.3.32 → 0.3.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -52
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/compiler/diagram-compile.d.ts +3 -4
- package/dist/lib/compiler/diagram-compile.d.ts.map +1 -1
- package/dist/lib/compiler/diagram-compile.js +85 -370
- package/dist/lib/compiler/diagram-compile.js.map +1 -1
- package/dist/lib/layouts/graph/attach.d.ts +25 -0
- package/dist/lib/layouts/graph/attach.d.ts.map +1 -0
- package/dist/lib/layouts/graph/attach.js +272 -0
- package/dist/lib/layouts/graph/attach.js.map +1 -0
- package/dist/lib/layouts/graph/connections.d.ts +45 -0
- package/dist/lib/layouts/graph/connections.d.ts.map +1 -0
- package/dist/lib/layouts/graph/connections.js +138 -0
- package/dist/lib/layouts/graph/connections.js.map +1 -0
- package/dist/lib/layouts/graph/graph-layout-result.d.ts +5 -3
- package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -1
- package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -1
- package/dist/lib/layouts/graph/gutters.js +41 -22
- package/dist/lib/layouts/graph/gutters.js.map +1 -1
- package/dist/lib/layouts/graph/labels.d.ts +23 -0
- package/dist/lib/layouts/graph/labels.d.ts.map +1 -0
- package/dist/lib/layouts/graph/labels.js +120 -0
- package/dist/lib/layouts/graph/labels.js.map +1 -0
- package/dist/lib/layouts/graph/layout.d.ts +1 -1
- package/dist/lib/layouts/graph/layout.d.ts.map +1 -1
- package/dist/lib/layouts/graph/layout.js +37 -12
- package/dist/lib/layouts/graph/layout.js.map +1 -1
- package/dist/lib/layouts/graph/measure.d.ts +15 -11
- package/dist/lib/layouts/graph/measure.d.ts.map +1 -1
- package/dist/lib/layouts/graph/measure.js +82 -38
- package/dist/lib/layouts/graph/measure.js.map +1 -1
- package/dist/lib/layouts/graph/min-heap.d.ts +8 -0
- package/dist/lib/layouts/graph/min-heap.d.ts.map +1 -0
- package/dist/lib/layouts/graph/min-heap.js +56 -0
- package/dist/lib/layouts/graph/min-heap.js.map +1 -0
- package/dist/lib/layouts/graph/node-content.d.ts +2 -3
- package/dist/lib/layouts/graph/node-content.d.ts.map +1 -1
- package/dist/lib/layouts/graph/node-content.js +67 -47
- package/dist/lib/layouts/graph/node-content.js.map +1 -1
- package/dist/lib/layouts/graph/path.d.ts +6 -0
- package/dist/lib/layouts/graph/path.d.ts.map +1 -0
- package/dist/lib/layouts/graph/path.js +53 -0
- package/dist/lib/layouts/graph/path.js.map +1 -0
- package/dist/lib/layouts/graph/round.d.ts +11 -0
- package/dist/lib/layouts/graph/round.d.ts.map +1 -0
- package/dist/lib/layouts/graph/round.js +181 -0
- package/dist/lib/layouts/graph/round.js.map +1 -0
- package/dist/lib/layouts/graph/route-search.d.ts +34 -0
- package/dist/lib/layouts/graph/route-search.d.ts.map +1 -0
- package/dist/lib/layouts/graph/route-search.js +208 -0
- package/dist/lib/layouts/graph/route-search.js.map +1 -0
- package/dist/lib/layouts/graph/route.d.ts +20 -0
- package/dist/lib/layouts/graph/route.d.ts.map +1 -0
- package/dist/lib/layouts/graph/route.js +276 -0
- package/dist/lib/layouts/graph/route.js.map +1 -0
- package/dist/lib/layouts/graph/sides.d.ts +28 -0
- package/dist/lib/layouts/graph/sides.d.ts.map +1 -0
- package/dist/lib/layouts/graph/sides.js +98 -0
- package/dist/lib/layouts/graph/sides.js.map +1 -0
- package/dist/lib/layouts/timeline/timeline-layout.d.ts +2 -1
- package/dist/lib/layouts/timeline/timeline-layout.d.ts.map +1 -1
- package/dist/lib/layouts/timeline/timeline-layout.js +9 -4
- package/dist/lib/layouts/timeline/timeline-layout.js.map +1 -1
- package/dist/lib/model/diagram-ir.d.ts +19 -156
- package/dist/lib/model/diagram-ir.d.ts.map +1 -1
- package/dist/lib/model/diagram-ir.js.map +1 -1
- package/dist/lib/model/validate-graph.d.ts +7 -0
- package/dist/lib/model/validate-graph.d.ts.map +1 -0
- package/dist/lib/model/validate-graph.js +54 -0
- package/dist/lib/model/validate-graph.js.map +1 -0
- package/dist/lib/react/Diagram.d.ts +3 -9
- package/dist/lib/react/Diagram.d.ts.map +1 -1
- package/dist/lib/react/Diagram.js +1 -13
- package/dist/lib/react/Diagram.js.map +1 -1
- package/dist/lib/react/diagram-types.d.ts +17 -46
- package/dist/lib/react/diagram-types.d.ts.map +1 -1
- package/dist/lib/react/diagram-types.js.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.d.ts +2 -5
- package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.js +68 -43
- package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
- package/dist/lib/renderers/html/graph-html.d.ts +2 -3
- package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
- package/dist/lib/renderers/html/graph-html.js +298 -289
- package/dist/lib/renderers/html/graph-html.js.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts +3 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.js +350 -418
- package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
- package/dist/lib/renderers/shared/node-parts.d.ts +5 -6
- package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/node-parts.js +112 -190
- package/dist/lib/renderers/shared/node-parts.js.map +1 -1
- package/dist/lib/renderers/shared/run-spans.js +2 -2
- package/dist/lib/renderers/shared/run-spans.js.map +1 -1
- package/dist/lib/renderers/shared/text-runs.d.ts +0 -6
- package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -1
- package/dist/lib/renderers/shared/text-runs.js +0 -12
- package/dist/lib/renderers/shared/text-runs.js.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.d.ts +1 -3
- package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.js +66 -80
- package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.js +7 -5
- package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/layouts/graph/graph-layout.d.ts +0 -154
- package/dist/lib/layouts/graph/graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/graph-layout.js +0 -2340
- package/dist/lib/layouts/graph/graph-layout.js.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +0 -6
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.js +0 -542
- package/dist/lib/layouts/graph/legacy-graph-layout.js.map +0 -1
- package/dist/lib/layouts/text-metrics.d.ts +0 -7
- package/dist/lib/layouts/text-metrics.d.ts.map +0 -1
- package/dist/lib/layouts/text-metrics.js +0 -40
- package/dist/lib/layouts/text-metrics.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-html.js","names":["motion","useTransform","compileGraph","legacyGraphLayout","FONT_FAMILY","TEXT_SHAPING","DIAGRAM_DOT","DIAGRAM_HATCH","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramNodeIcon","EdgeOverlay","EdgeStroke","GroupRect","buildSegments","nodeFrameFill","nodeFrameStroke","nodeFrameStrokeWidth","nodeTextFill","nodeTexture","ANNOTATION_REVEAL_START","AnnotationText","NodeCaption","NodePorts","NodeStackFrames","SpecialNode","isSpecialNode","splitNotes","DiagramPaperRect","nodeTextParts","runFill","formatZoom","normalizeZoom","jsx","_jsx","jsxs","_jsxs","HtmlGraphDiagram","t0","$","_c","children","chrome","graph","paper","title","viewport","t1","ir","t2","flat","lines","t3","zoom","t4","t5","progress","GraphHTML","t6","stylePreset","t10","t11","t12","t13","t14","t15","t16","t7","t8","t9","layout","viewBox","segments","nodes","length","edges","seg","kind","t17","index","undefined","segment","find","candidate","Error","groupsSeg","indexedEdges","map","edgeLayout","index_0","layer","edge","filter","_temp","graphNodes","notes","nodeLayout","i","_temp2","boxNodes","_temp3","svgLayer","className","width","w","height","h","x","y","join","t18","Symbol","for","t19","t20","d","d_0","index_1","segment_0","start","end","t21","nodeLayout_0","segment_1","node","id","NodeStack","groups","groupLayout","group","_temp4","nodeLayout_1","segment_2","NodeBox","t22","t23","nodeLayout_2","segment_3","NodeReveal","t24","d_1","edge_0","index_2","segment_4","_temp5","edgeLayout_0","note","annotations","leaders","style","role","layer_0","node_0","hidden","Boolean","clamp","opacity","translateY","g","accent","themeAccent","frame","frames","fill","stroke","strokeWidth","textureImage","texture","backgroundImage","backgroundSize","origin","box","icon","text","T0","lastRun","description","items","at","div","tone","backgroundColor","boxShadow","radius","left","top","boxSizing","borderRadius","color","textColor","size","run","RunText","run_0","i_0","i_1","run_1","bullet","content","bounds","font","face","weight","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing"],"sources":["../../../../src/lib/renderers/html/graph-html.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\nimport type { CSSProperties, ReactNode } from 'react';\n\nimport { compileGraph } from '../../compiler/diagram-compile.ts';\nimport type {\n NodeLayout,\n TextRun,\n} from '../../layouts/graph/graph-layout-result.ts';\nimport { legacyGraphLayout } from '../../layouts/graph/legacy-graph-layout.ts';\nimport { FONT_FAMILY, TEXT_SHAPING } from '../../layouts/text/font.ts';\nimport type {\n Box,\n DiagramGraphLayout,\n DiagramTexture,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_DOT,\n DIAGRAM_HATCH,\n DiagramFrame,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport {\n DiagramNodeIcon,\n EdgeOverlay,\n EdgeStroke,\n GroupRect,\n type SegmentKind,\n buildSegments,\n nodeFrameFill,\n nodeFrameStroke,\n nodeFrameStrokeWidth,\n nodeTextFill,\n nodeTexture,\n} from '../shared/graph-parts.tsx';\nimport {\n ANNOTATION_REVEAL_START,\n AnnotationText,\n NodeCaption,\n NodePorts,\n NodeStackFrames,\n SpecialNode,\n isSpecialNode,\n splitNotes,\n} from '../shared/node-parts.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport { nodeTextParts, runFill } from '../shared/text-runs.ts';\nimport { formatZoom, normalizeZoom } from '../shared/viewport-zoom.ts';\nimport type { GraphRendererProps } from '../types.ts';\n\nexport type HtmlGraphDiagramProps = Omit<DiagramProps, 'viewport'> & {\n graph?: DiagramGraphLayout;\n viewport?: Omit<DiagramViewport, 'fit'>;\n};\n\nexport function HtmlGraphDiagram({\n title,\n children,\n graph,\n viewport,\n paper,\n ...chrome\n}: HtmlGraphDiagramProps) {\n const ir = compileGraph(children, graph);\n const lines = [title].flat();\n const zoom = normalizeZoom(viewport?.zoom);\n return (\n <DiagramFrame title={lines} {...chrome}>\n {(progress) => (\n <GraphHTML\n ir={ir}\n title={lines}\n progress={progress}\n zoom={zoom}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction GraphHTML({\n ir,\n title,\n progress,\n zoom,\n paper,\n}: Omit<GraphRendererProps, 'viewport'> & { zoom: number }) {\n const { stylePreset } = useDiagramTheme();\n const layout = legacyGraphLayout(ir);\n const { viewBox } = layout;\n const segments = buildSegments(ir.nodes.length, ir.edges.length);\n const seg = (kind: SegmentKind, index = 0) => {\n const segment = segments.find(\n (candidate) => candidate.kind === kind && candidate.index === index,\n );\n if (!segment) throw new Error(`segment ${kind}[${index}] missing`);\n return segment;\n };\n const groupsSeg = seg('groups');\n const indexedEdges = layout.edges\n .map((edgeLayout, index) => ({\n ...edgeLayout,\n index,\n segment: seg('edge', index),\n layer: edgeLayout.edge.layer ?? 'foreground',\n }))\n .filter(({ d }) => Boolean(d));\n const { graphNodes, notes } = splitNotes(layout.nodes);\n const nodes = graphNodes\n .map((nodeLayout, i) => ({ layout: nodeLayout, segment: seg('node', i) }))\n .filter(({ layout: { node } }) => !node.hidden);\n const boxNodes = nodes.filter(({ layout: { node } }) => !isSpecialNode(node));\n const svgLayer = {\n className: 'pointer-events-none absolute inset-0 overflow-visible',\n width: viewBox.w,\n height: viewBox.h,\n viewBox: `${viewBox.x} ${viewBox.y} ${viewBox.w} ${viewBox.h}`,\n 'aria-hidden': true,\n } as const;\n\n return (\n <div\n role=\"group\"\n aria-label={title.join(' ')}\n className=\"w-full overflow-x-auto\"\n style={TEXT_SHAPING}\n data-diagram-style-preset={stylePreset}\n data-diagram-viewport-zoom={formatZoom(zoom)}\n >\n <div\n className=\"relative mx-auto\"\n style={{ width: viewBox.w, height: viewBox.h, zoom }}\n data-diagram-html=\"graph\"\n >\n <svg {...svgLayer}>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"graph\"\n paper={paper}\n x={viewBox.x}\n y={viewBox.y}\n width={viewBox.w}\n height={viewBox.h}\n />\n {layout.groups.map((groupLayout) => (\n <GroupRect\n key={`group-${groupLayout.group.id}`}\n layout={groupLayout}\n progress={progress}\n start={groupsSeg.start}\n end={groupsSeg.end}\n />\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'background')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-background-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {nodes.map(({ layout: nodeLayout, segment }) =>\n isSpecialNode(nodeLayout.node) ? (\n <SpecialNode\n key={`node-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ) : (\n <NodeStack\n key={`stack-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ),\n )}\n </svg>\n {boxNodes.map(({ layout: nodeLayout, segment }) => (\n <NodeBox\n key={`node-${nodeLayout.node.id}`}\n layout={nodeLayout}\n origin={viewBox}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n <svg {...svgLayer}>\n {boxNodes.map(({ layout: nodeLayout, segment }) => (\n <NodeReveal\n key={`node-marks-${nodeLayout.node.id}`}\n progress={progress}\n start={segment.start}\n end={segment.end}\n >\n <NodePorts layout={nodeLayout} />\n <NodeCaption layout={nodeLayout} />\n </NodeReveal>\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'foreground')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-foreground-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {indexedEdges.map((edgeLayout) => (\n <EdgeOverlay\n key={`edge-overlay-${edgeLayout.index}`}\n layout={edgeLayout}\n progress={progress}\n start={edgeLayout.segment.start}\n end={edgeLayout.segment.end}\n />\n ))}\n {notes.map((note) => (\n <AnnotationText\n key={note.node.id}\n note={note}\n annotations={ir.annotations}\n leaders={layout.leaders}\n progress={progress}\n start={ANNOTATION_REVEAL_START}\n end={1}\n />\n ))}\n </svg>\n </div>\n </div>\n );\n}\n\nfunction NodeReveal({\n progress,\n start,\n end,\n children,\n}: {\n progress: MotionValue<number>;\n start: number;\n end: number;\n children: ReactNode;\n}) {\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n return <motion.g style={{ opacity, y: translateY }}>{children}</motion.g>;\n}\n\nfunction NodeStack({\n layout,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const { node } = layout;\n const frame = node.frame ?? 'solid';\n if (layout.frames.length === 0) return null;\n return (\n <NodeReveal progress={progress} start={start} end={end}>\n <NodeStackFrames\n layout={layout}\n fill={nodeFrameFill(node, frame)}\n stroke={nodeFrameStroke(node, frame, themeAccent)}\n strokeWidth={nodeFrameStrokeWidth(node)}\n />\n </NodeReveal>\n );\n}\n\nfunction textureImage(\n texture: DiagramTexture,\n): Pick<CSSProperties, 'backgroundImage' | 'backgroundSize'> {\n if (texture === 'dots') {\n return {\n backgroundImage: `radial-gradient(circle at 2px 2px, ${DIAGRAM_DOT} 0.7px, transparent 0.8px)`,\n backgroundSize: '6px 6px',\n };\n }\n if (texture === 'hatch') {\n return {\n backgroundImage: `repeating-linear-gradient(135deg, ${DIAGRAM_HATCH} 0 0.8px, transparent 0.8px 5.66px)`,\n };\n }\n return {};\n}\n\n/**\n * A node frame with its text drawn as absolutely placed runs, at the positions\n * the SVG output draws them. The frame is an inset shadow, not a border, so the\n * runs share the frame's origin.\n */\nfunction NodeBox({\n layout,\n origin,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n origin: Box;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const { node, box, icon, text } = layout;\n const frame = node.frame ?? 'solid';\n const fill = nodeTextFill(node, frame, themeAccent);\n const { title, description, items } = nodeTextParts(layout);\n const lastRun = text.at(-1);\n\n return (\n <motion.div\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n className=\"absolute\"\n style={{\n left: box.x - origin.x,\n top: box.y - origin.y,\n width: box.w,\n height: box.h,\n boxSizing: 'border-box',\n borderRadius: layout.radius,\n ...(frame === 'none'\n ? {}\n : {\n backgroundColor: nodeFrameFill(node, frame),\n boxShadow: `inset 0 0 0 ${nodeFrameStrokeWidth(node)}px ${nodeFrameStroke(node, frame, themeAccent)}`,\n ...textureImage(nodeTexture(node, frame)),\n }),\n color: fill,\n opacity,\n y: translateY,\n }}\n >\n {node.icon && icon && (\n <svg\n width={icon.size}\n height={icon.size}\n className=\"absolute\"\n style={{ left: icon.x - box.x, top: icon.y - box.y }}\n aria-hidden\n >\n <DiagramNodeIcon\n icon={node.icon}\n x={0}\n y={0}\n size={icon.size}\n color={node.textColor === 'accent' ? themeAccent : fill}\n />\n </svg>\n )}\n {title.map((run, i) => (\n <RunText\n key={i}\n run={run}\n origin={box}\n color={runFill(run, fill, themeAccent)}\n />\n ))}\n {description.length > 0 && (\n <div data-diagram-node-description={node.id}>\n {description.map((run, i) => (\n <RunText key={i} run={run} origin={box} />\n ))}\n </div>\n )}\n {items.map(({ run, bullet }, i) => (\n <div key={i} data-diagram-node-item={`${node.id}:${i}`}>\n <span\n className=\"absolute rounded-full bg-current\"\n style={{\n left: bullet.x - box.x - 2.2,\n top: bullet.y - box.y - 2.2,\n width: 4.4,\n height: 4.4,\n }}\n />\n <RunText run={run} origin={box} />\n </div>\n ))}\n {node.content !== undefined && (\n <div\n className=\"absolute inset-x-0 bottom-0 flex flex-col items-center justify-center\"\n style={{\n top: lastRun ? lastRun.bounds.y + lastRun.bounds.h - box.y : 0,\n }}\n >\n <div data-diagram-node-content={node.id}>{node.content}</div>\n </div>\n )}\n </motion.div>\n );\n}\n\nfunction RunText({\n run,\n origin,\n color,\n}: {\n run: TextRun;\n origin: Box;\n color?: string;\n}) {\n return (\n <span\n className=\"absolute whitespace-pre\"\n style={{\n left: run.bounds.x - origin.x,\n top: run.bounds.y - origin.y,\n fontFamily: FONT_FAMILY[run.font.face],\n fontSize: run.font.size,\n fontWeight: run.font.weight,\n lineHeight: `${run.bounds.h}px`,\n letterSpacing: run.font.face === 'mono' ? 0.6 : undefined,\n color,\n }}\n >\n {run.text}\n </span>\n );\n}\n"],"mappings":";AAAA,SAA2BA,MAAM,EAAEC,YAAY,QAAQ,cAAc;AAGrE,SAASC,YAAY,QAAQ,mCAAmC;AAKhE,SAASC,iBAAiB,QAAQ,4CAA4C;AAC9E,SAASC,WAAW,EAAEC,YAAY,QAAQ,4BAA4B;AAOtE,SACEC,WAAW,EACXC,aAAa,EACbC,YAAY,EACZC,eAAe,QACV,6BAA6B;AAEpC,SAASC,WAAW,QAAQ,mBAAoB;AAChD,SACEC,eAAe,EACfC,WAAW,EACXC,UAAU,EACVC,SAAS,EAETC,aAAa,EACbC,aAAa,EACbC,eAAe,EACfC,oBAAoB,EACpBC,YAAY,EACZC,WAAW,QACN,0BAA2B;AAClC,SACEC,uBAAuB,EACvBC,cAAc,EACdC,WAAW,EACXC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,aAAa,EACbC,UAAU,QACL,yBAA0B;AACjC,SAASC,gBAAgB,QAAQ,oBAAqB;AACtD,SAASC,aAAa,EAAEC,OAAO,QAAQ,wBAAwB;AAC/D,SAASC,UAAU,EAAEC,aAAa,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQvE,OAAO,SAAAC,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAA,IAAAC,QAAA;EAAA,IAAAC,MAAA;EAAA,IAAAC,KAAA;EAAA,IAAAC,KAAA;EAAA,IAAAC,KAAA;EAAA,IAAAC,QAAA;EAAA,IAAAP,CAAA,QAAAD,EAAA;IAA0B;MAAAO,KAAA;MAAAJ,QAAA;MAAAE,KAAA;MAAAG,QAAA;MAAAF,KAAA;MAAA,GAAAF;IAAA,IAAAJ,EAOT;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAK,KAAA;IAAAL,CAAA,MAAAM,KAAA;IAAAN,CAAA,MAAAO,QAAA;EAAA;IAAAL,QAAA,GAAAF,CAAA;IAAAG,MAAA,GAAAH,CAAA;IAAAI,KAAA,GAAAJ,CAAA;IAAAK,KAAA,GAAAL,CAAA;IAAAM,KAAA,GAAAN,CAAA;IAAAO,QAAA,GAAAP,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAI,KAAA;IACXI,EAAA,GAAA9C,YAAY,CAACwC,QAAQ,EAAEE,KAAK,CAAC;IAAAJ,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAxC,MAAAS,EAAA,GAAWD,EAA6B;EAAC,IAAAE,EAAA;EAAA,IAAAV,CAAA,SAAAM,KAAA;IAC3BI,EAAA,IAACJ,KAAK,CAAC,CAAAK,IAAK,CAAC,CAAC;IAAAX,CAAA,OAAAM,KAAA;IAAAN,CAAA,OAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAA5B,MAAAY,KAAA,GAAcF,EAAc;EACD,MAAAG,EAAA,GAAAN,QAAQ,EAAAO,IAAM;EAAA,IAAAC,EAAA;EAAA,IAAAf,CAAA,SAAAa,EAAA;IAA5BE,EAAA,GAAAtB,aAAa,CAACoB,EAAc,CAAC;IAAAb,CAAA,OAAAa,EAAA;IAAAb,CAAA,OAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAA1C,MAAAc,IAAA,GAAaC,EAA6B;EAAC,IAAAC,EAAA;EAAA,IAAAhB,CAAA,SAAAS,EAAA,IAAAT,CAAA,SAAAY,KAAA,IAAAZ,CAAA,SAAAK,KAAA,IAAAL,CAAA,SAAAc,IAAA;IAGtCE,EAAA,GAAAC,QAAA,iBACCtB,IAAA,CAACuB,SAAS;MACJT,EAAE,EAAFA,EAAE;MACCG,KAAK,EAALA,KAAK;MACFK,QAAQ,EAARA,QAAQ;MACZH,IAAI,EAAJA,IAAI;MACHT,KAAK,EAALA;IAAK,CACb,CACF;IAAAL,CAAA,OAAAS,EAAA;IAAAT,CAAA,OAAAY,KAAA;IAAAZ,CAAA,OAAAK,KAAA;IAAAL,CAAA,OAAAc,IAAA;IAAAd,CAAA,OAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAnB,CAAA,SAAAG,MAAA,IAAAH,CAAA,SAAAY,KAAA,IAAAZ,CAAA,SAAAgB,EAAA;IATHG,EAAA,gBAAAxB,IAAA,CAAC3B,YAAY;MAAQ4C,KAAK,EAALA,KAAK;MAAA,GAAMT,MAAM;MAAAD,QAAA,EACnCc;IAQA,CACW,CAAC;IAAAhB,CAAA,OAAAG,MAAA;IAAAH,CAAA,OAAAY,KAAA;IAAAZ,CAAA,OAAAgB,EAAA;IAAAhB,CAAA,OAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EAAA,OAVfmB,EAUe;AAAA;AAInB,SAAAD,UAAAnB,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAmB;IAAAQ,EAAA;IAAAH,KAAA;IAAAW,QAAA;IAAAH,IAAA;IAAAT;EAAA,IAAAN,EAMuC;EACxD;IAAAqB;EAAA,IAAwBnD,eAAe,CAAC,CAAC;EAAC,IAAAuC,EAAA;EAAA,IAAAa,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAjB,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAS,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA9B,CAAA,QAAAS,EAAA,IAAAT,CAAA,QAAAK,KAAA,IAAAL,CAAA,QAAAiB,QAAA,IAAAjB,CAAA,QAAAoB,WAAA,IAAApB,CAAA,QAAAM,KAAA,IAAAN,CAAA,QAAAc,IAAA;IAC1C,MAAAiB,MAAA,GAAepE,iBAAiB,CAAC8C,EAAE,CAAC;IACpC;MAAAuB;IAAA,IAAoBD,MAAM;IAC1B,MAAAE,QAAA,GAAiB1D,aAAa,CAACkC,EAAE,CAAAyB,KAAM,CAAAC,MAAO,EAAE1B,EAAE,CAAA2B,KAAM,CAAAD,MAAO,CAAC;IAChE,MAAAE,GAAA,GAAYA,CAAAC,IAAA,EAAAC,GAAA;MAAoB,MAAAC,KAAA,GAAAD,GAAS,KAATE,SAAS,GAAT,CAAS,GAATF,GAAS;MACvC,MAAAG,OAAA,GAAgBT,QAAQ,CAAAU,IAAK,CAC3BC,SAAA,IAAeA,SAAS,CAAAN,IAAK,KAAKA,IAAiC,IAAzBM,SAAS,CAAAJ,KAAM,KAAKA,KAChE,CAAC;MACD,IAAI,CAACE,OAAO;QAAE,MAAM,IAAIG,KAAK,CAAC,WAAWP,IAAI,IAAIE,KAAK,WAAW,CAAC;MAAC;MAAA,OAC5DE,OAAO;IAAA,CACf;IACD,MAAAI,SAAA,GAAkBT,GAAG,CAAC,QAAQ,CAAC;IAC/B,MAAAU,YAAA,GAAqBhB,MAAM,CAAAK,KAAM,CAAAY,GAC3B,CAAC,CAAAC,UAAA,EAAAC,OAAA,MAAwB;MAAA,GACxBD,UAAU;MAAAT,KAAA,EACbA,OAAK;MAAAE,OAAA,EACIL,GAAG,CAAC,MAAM,EAAEG,OAAK,CAAC;MAAAW,KAAA,EACpBF,UAAU,CAAAG,IAAK,CAAAD,KAAsB,IAArC;IACT,CAAC,CAAC,CAAC,CAAAE,MACI,CAACC,KAAqB,CAAC;IAChC;MAAAC,UAAA;MAAAC;IAAA,IAA8BpE,UAAU,CAAC2C,MAAM,CAAAG,KAAM,CAAC;IACtD,MAAAA,KAAA,GAAcqB,UAAU,CAAAP,GAClB,CAAC,CAAAS,UAAA,EAAAC,CAAA,MAAoB;MAAA3B,MAAA,EAAU0B,UAAU;MAAAf,OAAA,EAAWL,GAAG,CAAC,MAAM,EAAEqB,CAAC;IAAE,CAAC,CAAC,CAAC,CAAAL,MACnE,CAACM,MAAsC,CAAC;IACjD,MAAAC,QAAA,GAAiB1B,KAAK,CAAAmB,MAAO,CAACQ,MAA8C,CAAC;IAC7E,MAAAC,QAAA,GAAiB;MAAAC,SAAA,EACJ,uDAAuD;MAAAC,KAAA,EAC3DhC,OAAO,CAAAiC,CAAE;MAAAC,MAAA,EACRlC,OAAO,CAAAmC,CAAE;MAAAnC,OAAA,EACR,GAAGA,OAAO,CAAAoC,CAAE,IAAIpC,OAAO,CAAAqC,CAAE,IAAIrC,OAAO,CAAAiC,CAAE,IAAIjC,OAAO,CAAAmC,CAAE,EAAE;MAAA,eAC/C;IACjB,CAAC;IAIQ7C,GAAA,UAAO;IAAA,IAAAtB,CAAA,SAAAM,KAAA;MACAiB,GAAA,GAAAjB,KAAK,CAAAgE,IAAK,CAAC,GAAG,CAAC;MAAAtE,CAAA,OAAAM,KAAA;MAAAN,CAAA,OAAAuB,GAAA;IAAA;MAAAA,GAAA,GAAAvB,CAAA;IAAA;IACjBwB,GAAA,2BAAwB;IAC3B3D,GAAA,CAAAA,CAAA,CAAAA,YAAY;IACQuD,GAAA,CAAAA,CAAA,CAAAA,WAAW;IAAA,IAAApB,CAAA,SAAAc,IAAA;MACVa,GAAA,GAAAnC,UAAU,CAACsB,IAAI,CAAC;MAAAd,CAAA,OAAAc,IAAA;MAAAd,CAAA,OAAA2B,GAAA;IAAA;MAAAA,GAAA,GAAA3B,CAAA;IAAA;IAGhCmB,EAAA,qBAAkB;IACrBS,EAAA;MAAAoC,KAAA,EAAShC,OAAO,CAAAiC,CAAE;MAAAC,MAAA,EAAUlC,OAAO,CAAAmC,CAAE;MAAArD;IAAO,CAAC;IAClCe,EAAA,UAAO;IAAA,IAAA0C,GAAA;IAAA,IAAAvE,CAAA,SAAAwE,MAAA,CAAAC,GAAA;MAGvBF,GAAA,gBAAA5E,IAAA,CAACzB,WAAW,IAAE,CAAC;MAAA8B,CAAA,OAAAuE,GAAA;IAAA;MAAAA,GAAA,GAAAvE,CAAA;IAAA;IAAA,IAAA0E,GAAA;IAAA,IAAA1E,CAAA,SAAAiB,QAAA;MAoBRyD,GAAA,GAAAC,GAAA;QAAC;UAAAC,CAAA,EAAAC,GAAA;UAAAzB,IAAA;UAAAZ,KAAA,EAAAsC,OAAA;UAAApC,OAAA,EAAAqC;QAAA,IAAAJ,GAA2B;QAAA,oBAC/BhF,IAAA,CAACtB,UAAU;UAENuG,CAAC,EAADA,GAAC;UACExB,IAAI,EAAJA,IAAI;UACAnC,QAAQ,EAARA,QAAQ;UACX+D,KAAa,EAAbtC,SAAO,CAAAsC,KAAM;UACfC,GAAW,EAAXvC,SAAO,CAAAuC;QAAI,GALX,mBAAmBzC,OAAK,EAM9B,CAAC;MAAA,CACH;MAAAxC,CAAA,OAAAiB,QAAA;MAAAjB,CAAA,OAAA0E,GAAA;IAAA;MAAAA,GAAA,GAAA1E,CAAA;IAAA;IAAA,IAAA2E,GAAA;IAAA,IAAA3E,CAAA,SAAAiB,QAAA;MACQ0D,GAAA,GAAAO,GAAA;QAAC;UAAAnD,MAAA,EAAAoD,YAAA;UAAAzC,OAAA,EAAA0C;QAAA,IAAAF,GAA+B;QAAA,OACzC/F,aAAa,CAACsE,YAAU,CAAA4B,IAgBxB,CAAC,gBAhBD1F,IAAA,CACGT,WAAW;UAEFuE,MAAU,EAAVA,YAAU;UACRxC,QAAQ,EAARA,QAAQ;UACX+D,KAAa,EAAbtC,SAAO,CAAAsC,KAAM;UACfC,GAAW,EAAXvC,SAAO,CAAAuC;QAAI,GAJX,QAAQxB,YAAU,CAAA4B,IAAK,CAAAC,EAAG,EAcnC,CAAC,gBAhBD3F,IAAA,CASG4F,SAAS;UAEA9B,MAAU,EAAVA,YAAU;UACRxC,QAAQ,EAARA,QAAQ;UACX+D,KAAa,EAAbtC,SAAO,CAAAsC,KAAM;UACfC,GAAW,EAAXvC,SAAO,CAAAuC;QAAI,GAJX,SAASxB,YAAU,CAAA4B,IAAK,CAAAC,EAAG,EAMpC,CAAC;MAAA;MAAAtF,CAAA,OAAAiB,QAAA;MAAAjB,CAAA,OAAA2E,GAAA;IAAA;MAAAA,GAAA,GAAA3E,CAAA;IAAA;IAhDL8B,EAAA,gBAAAjC,KAAA;MAAA,GAASiE,QAAQ;MAAA5D,QAAA,GACfqE,GAAe,eACf5E,IAAA,CAACN,gBAAgB;QACViD,IAAO,EAAP,OAAO;QACLjC,KAAK,EAALA,KAAK;QACT+D,CAAS,EAATpC,OAAO,CAAAoC,CAAE;QACTC,CAAS,EAATrC,OAAO,CAAAqC,CAAE;QACLL,KAAS,EAAThC,OAAO,CAAAiC,CAAE;QACRC,MAAS,EAATlC,OAAO,CAAAmC;MAAE,CAClB,CAAC,EACDpC,MAAM,CAAAyD,MAAO,CAAAxC,GAAI,CAACyC,WAAA,iBACjB9F,IAAA,CAACrB,SAAS;QAEAmH,MAAW,EAAXA,WAAW;QACTxE,QAAQ,EAARA,QAAQ;QACX+D,KAAe,EAAflC,SAAS,CAAAkC,KAAM;QACjBC,GAAa,EAAbnC,SAAS,CAAAmC;MAAI,GAJb,SAASQ,WAAW,CAAAC,KAAM,CAAAJ,EAAG,EAKnC,CACF,CAAC,EACDvC,YAAY,CAAAM,MACJ,CAACsC,MAAqC,CAAC,CAAA3C,GAC1C,CAAC0B,GASJ,CAAC,EACHxC,KAAK,CAAAc,GAAI,CAAC2B,GAkBX,CAAC;IAAA,CACE,CAAC;IACLtD,GAAA,GAAAuC,QAAQ,CAAAZ,GAAI,CAACkC,GAAA;MAAC;QAAAnD,MAAA,EAAA6D,YAAA;QAAAlD,OAAA,EAAAmD;MAAA,IAAAX,GAA+B;MAAA,oBAC5CvF,IAAA,CAACmG,OAAO;QAEErC,MAAU,EAAVA,YAAU;QACVzB,MAAO,EAAPA,OAAO;QACLf,QAAQ,EAARA,QAAQ;QACX+D,KAAa,EAAbtC,SAAO,CAAAsC,KAAM;QACfC,GAAW,EAAXvC,SAAO,CAAAuC;MAAI,GALX,QAAQxB,YAAU,CAAA4B,IAAK,CAAAC,EAAG,EAMhC,CAAC;IAAA,CACH,CAAC;IACOxB,EAAA,CAAAA,CAAA,CAAAA,QAAQ;IAAA,IAAAiC,GAAA;IAAA,IAAA/F,CAAA,SAAAiB,QAAA;MACD8E,GAAA,GAAAC,GAAA;QAAC;UAAAjE,MAAA,EAAAkE,YAAA;UAAAvD,OAAA,EAAAwD;QAAA,IAAAF,GAA+B;QAAA,oBAC5CnG,KAAA,CAACsG,UAAU;UAEClF,QAAQ,EAARA,QAAQ;UACX+D,KAAa,EAAbtC,SAAO,CAAAsC,KAAM;UACfC,GAAW,EAAXvC,SAAO,CAAAuC,GAAI;UAAA/E,QAAA,gBAEhBP,IAAA,CAACX,SAAS;YAASyE,MAAU,EAAVA;UAAU,CAAG,CAAC,eACjC9D,IAAA,CAACZ,WAAW;YAAS0E,MAAU,EAAVA;UAAU,CAAG,CAAC;QAAA,GAN9B,cAAcA,YAAU,CAAA4B,IAAK,CAAAC,EAAG,EAO3B,CAAC;MAAA,CACd;MAAAtF,CAAA,OAAAiB,QAAA;MAAAjB,CAAA,OAAA+F,GAAA;IAAA;MAAAA,GAAA,GAAA/F,CAAA;IAAA;IAVAU,EAAA,GAAAkD,QAAQ,CAAAZ,GAAI,CAAC+C,GAUb,CAAC;IAAA,IAAAC,GAAA;IAAA,IAAAhG,CAAA,SAAAiB,QAAA;MAGK+E,GAAA,GAAAI,GAAA;QAAC;UAAAxB,CAAA,EAAAyB,GAAA;UAAAjD,IAAA,EAAAkD,MAAA;UAAA9D,KAAA,EAAA+D,OAAA;UAAA7D,OAAA,EAAA8D;QAAA,IAAAJ,GAA2B;QAAA,oBAC/BzG,IAAA,CAACtB,UAAU;UAENuG,CAAC,EAADA,GAAC;UACExB,IAAI,EAAJA,MAAI;UACAnC,QAAQ,EAARA,QAAQ;UACX+D,KAAa,EAAbtC,SAAO,CAAAsC,KAAM;UACfC,GAAW,EAAXvC,SAAO,CAAAuC;QAAI,GALX,mBAAmBzC,OAAK,EAM9B,CAAC;MAAA,CACH;MAAAxC,CAAA,OAAAiB,QAAA;MAAAjB,CAAA,OAAAgG,GAAA;IAAA;MAAAA,GAAA,GAAAhG,CAAA;IAAA;IAXFa,EAAA,GAAAkC,YAAY,CAAAM,MACJ,CAACoD,MAAqC,CAAC,CAAAzD,GAC1C,CAACgD,GASJ,CAAC;IAAA,IAAAI,GAAA;IAAA,IAAApG,CAAA,SAAAiB,QAAA;MACcmF,GAAA,GAAAM,YAAA,iBAChB/G,IAAA,CAACvB,WAAW;QAEF6E,MAAU,EAAVA,YAAU;QACRhC,QAAQ,EAARA,QAAQ;QACX+D,KAAwB,EAAxB/B,YAAU,CAAAP,OAAQ,CAAAsC,KAAM;QAC1BC,GAAsB,EAAtBhC,YAAU,CAAAP,OAAQ,CAAAuC;MAAI,GAJtB,gBAAgBhC,YAAU,CAAAT,KAAM,EAKtC,CACF;MAAAxC,CAAA,OAAAiB,QAAA;MAAAjB,CAAA,OAAAoG,GAAA;IAAA;MAAAA,GAAA,GAAApG,CAAA;IAAA;IARAe,EAAA,GAAAgC,YAAY,CAAAC,GAAI,CAACoD,GAQjB,CAAC;IACDpF,EAAA,GAAAwC,KAAK,CAAAR,GAAI,CAAC2D,IAAA,iBACThH,IAAA,CAACb,cAAc;MAEP6H,IAAI,EAAJA,IAAI;MACGC,WAAc,EAAdnG,EAAE,CAAAmG,WAAY;MAClBC,OAAc,EAAd9E,MAAM,CAAA8E,OAAQ;MACb5F,QAAQ,EAARA,QAAQ;MACXpC,KAAuB,EAAvBA,uBAAuB;MACzBoG,GAAC,EAAD;IAAC,GAND0B,IAAI,CAAAtB,IAAK,CAAAC,EAOf,CACF,CAAC;IAAAtF,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAK,KAAA;IAAAL,CAAA,MAAAiB,QAAA;IAAAjB,CAAA,MAAAoB,WAAA;IAAApB,CAAA,MAAAM,KAAA;IAAAN,CAAA,MAAAc,IAAA;IAAAd,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAqB,GAAA;IAAArB,CAAA,MAAAsB,GAAA;IAAAtB,CAAA,MAAAuB,GAAA;IAAAvB,CAAA,OAAAwB,GAAA;IAAAxB,CAAA,OAAAyB,GAAA;IAAAzB,CAAA,OAAA0B,GAAA;IAAA1B,CAAA,OAAA2B,GAAA;IAAA3B,CAAA,OAAAU,EAAA;IAAAV,CAAA,OAAAa,EAAA;IAAAb,CAAA,OAAAe,EAAA;IAAAf,CAAA,OAAAgB,EAAA;IAAAhB,CAAA,OAAAmB,EAAA;IAAAnB,CAAA,OAAA4B,EAAA;IAAA5B,CAAA,OAAA6B,EAAA;IAAA7B,CAAA,OAAA8B,EAAA;EAAA;IAAAtB,EAAA,GAAAR,CAAA;IAAAqB,GAAA,GAAArB,CAAA;IAAAsB,GAAA,GAAAtB,CAAA;IAAAuB,GAAA,GAAAvB,CAAA;IAAAwB,GAAA,GAAAxB,CAAA;IAAAyB,GAAA,GAAAzB,CAAA;IAAA0B,GAAA,GAAA1B,CAAA;IAAA2B,GAAA,GAAA3B,CAAA;IAAAU,EAAA,GAAAV,CAAA;IAAAa,EAAA,GAAAb,CAAA;IAAAe,EAAA,GAAAf,CAAA;IAAAgB,EAAA,GAAAhB,CAAA;IAAAmB,EAAA,GAAAnB,CAAA;IAAA4B,EAAA,GAAA5B,CAAA;IAAA6B,EAAA,GAAA7B,CAAA;IAAA8B,EAAA,GAAA9B,CAAA;EAAA;EAAA,IAAAuC,GAAA;EAAA,IAAAvC,CAAA,SAAAQ,EAAA,IAAAR,CAAA,SAAAU,EAAA,IAAAV,CAAA,SAAAa,EAAA,IAAAb,CAAA,SAAAe,EAAA,IAAAf,CAAA,SAAAgB,EAAA;IA3CJuB,GAAA,gBAAA1C,KAAA;MAAA,GAASiE,EAAQ;MAAA5D,QAAA,GACdQ,EAUC,EACDG,EAWG,EACHE,EAQC,EACDC,EAUC;IAAA,CACC,CAAC;IAAAhB,CAAA,OAAAQ,EAAA;IAAAR,CAAA,OAAAU,EAAA;IAAAV,CAAA,OAAAa,EAAA;IAAAb,CAAA,OAAAe,EAAA;IAAAf,CAAA,OAAAgB,EAAA;IAAAhB,CAAA,OAAAuC,GAAA;EAAA;IAAAA,GAAA,GAAAvC,CAAA;EAAA;EAAA,IAAAuE,GAAA;EAAA,IAAAvE,CAAA,SAAAqB,GAAA,IAAArB,CAAA,SAAAuC,GAAA,IAAAvC,CAAA,SAAAmB,EAAA,IAAAnB,CAAA,SAAA4B,EAAA,IAAA5B,CAAA,SAAA6B,EAAA,IAAA7B,CAAA,SAAA8B,EAAA;IA9GRyC,GAAA,gBAAA1E,KAAA;MACYkE,SAAkB,EAAlB5C,EAAkB;MACrB2F,KAA6C,EAA7ClF,EAA6C;MAClC,qBAAAC,EAAO;MAAA3B,QAAA,GAEzB4B,EAkDM,EACLT,GASC,EACFkB,GA4CM;IAAA,CACH,CAAC;IAAAvC,CAAA,OAAAqB,GAAA;IAAArB,CAAA,OAAAuC,GAAA;IAAAvC,CAAA,OAAAmB,EAAA;IAAAnB,CAAA,OAAA4B,EAAA;IAAA5B,CAAA,OAAA6B,EAAA;IAAA7B,CAAA,OAAA8B,EAAA;IAAA9B,CAAA,OAAAuE,GAAA;EAAA;IAAAA,GAAA,GAAAvE,CAAA;EAAA;EAAA,IAAA0E,GAAA;EAAA,IAAA1E,CAAA,SAAAsB,GAAA,IAAAtB,CAAA,SAAAuB,GAAA,IAAAvB,CAAA,SAAAwB,GAAA,IAAAxB,CAAA,SAAAyB,GAAA,IAAAzB,CAAA,SAAA0B,GAAA,IAAA1B,CAAA,SAAA2B,GAAA,IAAA3B,CAAA,SAAAuE,GAAA;IAvHRG,GAAA,gBAAA/E,IAAA;MACOoH,IAAO,EAAPzF,GAAO;MACA,cAAAC,GAAe;MACjBwC,SAAwB,EAAxBvC,GAAwB;MAC3B3D,KAAY,EAAZA,GAAY;MACQuD,4BAAA,CAAAA,GAAW;MACV,8BAAAO,GAAgB;MAAAzB,QAAA,EAE5CqE;IA+GM,CACH,CAAC;IAAAvE,CAAA,OAAAsB,GAAA;IAAAtB,CAAA,OAAAuB,GAAA;IAAAvB,CAAA,OAAAwB,GAAA;IAAAxB,CAAA,OAAAyB,GAAA;IAAAzB,CAAA,OAAA0B,GAAA;IAAA1B,CAAA,OAAA2B,GAAA;IAAA3B,CAAA,OAAAuE,GAAA;IAAAvE,CAAA,OAAA0E,GAAA;EAAA;IAAAA,GAAA,GAAA1E,CAAA;EAAA;EAAA,OAxHN0E,GAwHM;AAAA;AAjKV,SAAA+B,OAAA1G,EAAA;EAgIqB;IAAAoD,KAAA,EAAA6D;EAAA,IAAAjH,EAAS;EAAA,OAAKoD,OAAK,KAAK,YAAY;AAAA;AAhIzD,SAAAwC,OAAA5F,EAAA;EA0EqB;IAAAoD;EAAA,IAAApD,EAAS;EAAA,OAAKoD,KAAK,KAAK,YAAY;AAAA;AA1EzD,SAAAU,OAAA9D,EAAA;EA+BiC;IAAAgC,MAAA,EAAAvB;EAAA,IAAAT,EAAoB;EAAV;IAAAsF,IAAA,EAAA4B;EAAA,IAAAzG,EAAQ;EAAA,OAAO,CAACrB,aAAa,CAACkG,MAAI,CAAC;AAAA;AA/B9E,SAAA1B,OAAA5D,EAAA;EA8Ba;IAAAgC,MAAA,EAAAvB;EAAA,IAAAT,EAAoB;EAAV;IAAAsF;EAAA,IAAA7E,EAAQ;EAAA,OAAO,CAAC6E,IAAI,CAAA6B,MAAO;AAAA;AA9BlD,SAAA5D,MAAAvD,EAAA;EA0Ba;IAAA6E;EAAA,IAAA7E,EAAK;EAAA,OAAKoH,OAAO,CAACvC,CAAC,CAAC;AAAA;AA2IjC,SAAAuB,WAAApG,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAoB;IAAAgB,QAAA;IAAA+D,KAAA;IAAAC,GAAA;IAAA/E;EAAA,IAAAH,EAUnB;EAAA,IAAAS,EAAA;EAAA,IAAAR,CAAA,QAAAiF,GAAA,IAAAjF,CAAA,QAAAgF,KAAA;IACwCxE,EAAA,IAACwE,KAAK,EAAEC,GAAG,CAAC;IAAAjF,CAAA,MAAAiF,GAAA;IAAAjF,CAAA,MAAAgF,KAAA;IAAAhF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAb,CAAA,QAAAwE,MAAA,CAAAC,GAAA;IAAE/D,EAAA,IAAC,CAAC,EAAE,CAAC,CAAC;IAAEG,EAAA;MAAAuG,KAAA,EAAS;IAAK,CAAC;IAAApH,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAa,EAAA;EAAA;IAAAH,EAAA,GAAAV,CAAA;IAAAa,EAAA,GAAAb,CAAA;EAAA;EAA5E,MAAAqH,OAAA,GAAgB5J,YAAY,CAACwD,QAAQ,EAAET,EAAY,EAAEE,EAAM,EAAEG,EAAe,CAAC;EAAC,IAAAE,EAAA;EAAA,IAAAf,CAAA,QAAAiF,GAAA,IAAAjF,CAAA,QAAAgF,KAAA;IACpCjE,EAAA,IAACiE,KAAK,EAAEC,GAAG,CAAC;IAAAjF,CAAA,MAAAiF,GAAA;IAAAjF,CAAA,MAAAgF,KAAA;IAAAhF,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAnB,CAAA,QAAAwE,MAAA,CAAAC,GAAA;IAAEzD,EAAA,IAAC,GAAG,EAAE,CAAC,CAAC;IAAEG,EAAA;MAAAiG,KAAA,EACzD;IACT,CAAC;IAAApH,CAAA,MAAAgB,EAAA;IAAAhB,CAAA,MAAAmB,EAAA;EAAA;IAAAH,EAAA,GAAAhB,CAAA;IAAAmB,EAAA,GAAAnB,CAAA;EAAA;EAFD,MAAAsH,UAAA,GAAmB7J,YAAY,CAACwD,QAAQ,EAAEF,EAAY,EAAEC,EAAQ,EAAEG,EAEjE,CAAC;EAAC,IAAAS,EAAA;EAAA,IAAA5B,CAAA,SAAAqH,OAAA,IAAArH,CAAA,SAAAsH,UAAA;IACqB1F,EAAA;MAAAyF,OAAA;MAAAhD,CAAA,EAAciD;IAAW,CAAC;IAAAtH,CAAA,OAAAqH,OAAA;IAAArH,CAAA,OAAAsH,UAAA;IAAAtH,CAAA,OAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAAA,IAAA6B,EAAA;EAAA,IAAA7B,CAAA,SAAAE,QAAA,IAAAF,CAAA,SAAA4B,EAAA;IAA3CC,EAAA,gBAAAlC,IAAA,CAAAnC,MAAA,CAAA+J,CAAA;MAAiBT,KAA0B,EAA1BlF,EAA0B;MAAA1B,QAAA,EAAGA;IAAQ,CAAW,CAAC;IAAAF,CAAA,OAAAE,QAAA;IAAAF,CAAA,OAAA4B,EAAA;IAAA5B,CAAA,OAAA6B,EAAA;EAAA;IAAAA,EAAA,GAAA7B,CAAA;EAAA;EAAA,OAAlE6B,EAAkE;AAAA;AAG3E,SAAA0D,UAAAxF,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAmB;IAAA8B,MAAA;IAAAd,QAAA;IAAA+D,KAAA;IAAAC;EAAA,IAAAlF,EAUlB;EACC;IAAAyH,MAAA,EAAAC;EAAA,IAAgCxJ,eAAe,CAAC,CAAC;EACjD;IAAAoH;EAAA,IAAiBtD,MAAM;EACvB,MAAA2F,KAAA,GAAcrC,IAAI,CAAAqC,KAAiB,IAArB,OAAqB;EACnC,IAAI3F,MAAM,CAAA4F,MAAO,CAAAxF,MAAO,KAAK,CAAC;IAAA,OAAS,IAAI;EAAA;EAAC,IAAA3B,EAAA;EAAA,IAAAR,CAAA,QAAA0H,KAAA,IAAA1H,CAAA,QAAAqF,IAAA;IAKhC7E,EAAA,GAAAhC,aAAa,CAAC6G,IAAI,EAAEqC,KAAK,CAAC;IAAA1H,CAAA,MAAA0H,KAAA;IAAA1H,CAAA,MAAAqF,IAAA;IAAArF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAA0H,KAAA,IAAA1H,CAAA,QAAAqF,IAAA,IAAArF,CAAA,QAAAyH,WAAA;IACxB/G,EAAA,GAAAjC,eAAe,CAAC4G,IAAI,EAAEqC,KAAK,EAAED,WAAW,CAAC;IAAAzH,CAAA,MAAA0H,KAAA;IAAA1H,CAAA,MAAAqF,IAAA;IAAArF,CAAA,MAAAyH,WAAA;IAAAzH,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAa,EAAA;EAAA,IAAAb,CAAA,QAAAqF,IAAA;IACpCxE,EAAA,GAAAnC,oBAAoB,CAAC2G,IAAI,CAAC;IAAArF,CAAA,MAAAqF,IAAA;IAAArF,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAA,IAAAe,EAAA;EAAA,IAAAf,CAAA,QAAA+B,MAAA,IAAA/B,CAAA,SAAAQ,EAAA,IAAAR,CAAA,SAAAU,EAAA,IAAAV,CAAA,SAAAa,EAAA;IAJzCE,EAAA,gBAAApB,IAAA,CAACV,eAAe;MACN8C,MAAM,EAANA,MAAM;MACR6F,IAA0B,EAA1BpH,EAA0B;MACxBqH,MAAyC,EAAzCnH,EAAyC;MACpCoH,WAA0B,EAA1BjH;IAA0B,CACxC,CAAC;IAAAb,CAAA,MAAA+B,MAAA;IAAA/B,CAAA,OAAAQ,EAAA;IAAAR,CAAA,OAAAU,EAAA;IAAAV,CAAA,OAAAa,EAAA;IAAAb,CAAA,OAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAhB,CAAA,SAAAiF,GAAA,IAAAjF,CAAA,SAAAiB,QAAA,IAAAjB,CAAA,SAAAgF,KAAA,IAAAhF,CAAA,SAAAe,EAAA;IANJC,EAAA,gBAAArB,IAAA,CAACwG,UAAU;MAAWlF,QAAQ,EAARA,QAAQ;MAAS+D,KAAK,EAALA,KAAK;MAAOC,GAAG,EAAHA,GAAG;MAAA/E,QAAA,EACpDa;IAKE,CACQ,CAAC;IAAAf,CAAA,OAAAiF,GAAA;IAAAjF,CAAA,OAAAiB,QAAA;IAAAjB,CAAA,OAAAgF,KAAA;IAAAhF,CAAA,OAAAe,EAAA;IAAAf,CAAA,OAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAAA,OAPbgB,EAOa;AAAA;AAIjB,SAAS+G,YAAYA,CACnBC,OAAuB,EACoC;EAC3D,IAAIA,OAAO,KAAK,MAAM,EAAE;IACtB,OAAO;MACLC,eAAe,EAAE,sCAAsCnK,WAAW,4BAA4B;MAC9FoK,cAAc,EAAE;IAClB,CAAC;EACH;EACA,IAAIF,OAAO,KAAK,OAAO,EAAE;IACvB,OAAO;MACLC,eAAe,EAAE,qCAAqClK,aAAa;IACrE,CAAC;EACH;EACA,OAAO,CAAC,CAAC;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAA+H,QAAA/F,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAiB;IAAA8B,MAAA;IAAAoG,MAAA;IAAAlH,QAAA;IAAA+D,KAAA;IAAAC;EAAA,IAAAlF,EAYhB;EACC;IAAAyH,MAAA,EAAAC;EAAA,IAAgCxJ,eAAe,CAAC,CAAC;EAAC,IAAAuC,EAAA;EAAA,IAAAR,CAAA,QAAAiF,GAAA,IAAAjF,CAAA,QAAAgF,KAAA;IACXxE,EAAA,IAACwE,KAAK,EAAEC,GAAG,CAAC;IAAAjF,CAAA,MAAAiF,GAAA;IAAAjF,CAAA,MAAAgF,KAAA;IAAAhF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAb,CAAA,QAAAwE,MAAA,CAAAC,GAAA;IAAE/D,EAAA,IAAC,CAAC,EAAE,CAAC,CAAC;IAAEG,EAAA;MAAAuG,KAAA,EAAS;IAAK,CAAC;IAAApH,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAa,EAAA;EAAA;IAAAH,EAAA,GAAAV,CAAA;IAAAa,EAAA,GAAAb,CAAA;EAAA;EAA5E,MAAAqH,OAAA,GAAgB5J,YAAY,CAACwD,QAAQ,EAAET,EAAY,EAAEE,EAAM,EAAEG,EAAe,CAAC;EAAC,IAAAE,EAAA;EAAA,IAAAf,CAAA,QAAAiF,GAAA,IAAAjF,CAAA,QAAAgF,KAAA;IACpCjE,EAAA,IAACiE,KAAK,EAAEC,GAAG,CAAC;IAAAjF,CAAA,MAAAiF,GAAA;IAAAjF,CAAA,MAAAgF,KAAA;IAAAhF,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAnB,CAAA,QAAAwE,MAAA,CAAAC,GAAA;IAAEzD,EAAA,IAAC,GAAG,EAAE,CAAC,CAAC;IAAEG,EAAA;MAAAiG,KAAA,EACzD;IACT,CAAC;IAAApH,CAAA,MAAAgB,EAAA;IAAAhB,CAAA,MAAAmB,EAAA;EAAA;IAAAH,EAAA,GAAAhB,CAAA;IAAAmB,EAAA,GAAAnB,CAAA;EAAA;EAFD,MAAAsH,UAAA,GAAmB7J,YAAY,CAACwD,QAAQ,EAAEF,EAAY,EAAEC,EAAQ,EAAEG,EAEjE,CAAC;EACF;IAAAkE,IAAA;IAAA+C,GAAA;IAAAC,IAAA;IAAAC;EAAA,IAAkCvG,MAAM;EACxC,MAAA2F,KAAA,GAAcrC,IAAI,CAAAqC,KAAiB,IAArB,OAAqB;EAAC,IAAA9F,EAAA;EAAA,IAAA5B,CAAA,SAAA0H,KAAA,IAAA1H,CAAA,SAAAqF,IAAA,IAAArF,CAAA,SAAAyH,WAAA;IACvB7F,EAAA,GAAAjD,YAAY,CAAC0G,IAAI,EAAEqC,KAAK,EAAED,WAAW,CAAC;IAAAzH,CAAA,OAAA0H,KAAA;IAAA1H,CAAA,OAAAqF,IAAA;IAAArF,CAAA,OAAAyH,WAAA;IAAAzH,CAAA,OAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAAnD,MAAA4H,IAAA,GAAahG,EAAsC;EAAC,IAAA2G,EAAA;EAAA,IAAAC,OAAA;EAAA,IAAAnH,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAG,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA9B,CAAA,SAAAoI,GAAA,IAAApI,CAAA,SAAA4H,IAAA,IAAA5H,CAAA,SAAA0H,KAAA,IAAA1H,CAAA,SAAAqI,IAAA,IAAArI,CAAA,SAAA+B,MAAA,IAAA/B,CAAA,SAAAqF,IAAA,IAAArF,CAAA,SAAAqH,OAAA,IAAArH,CAAA,SAAAmI,MAAA,CAAA/D,CAAA,IAAApE,CAAA,SAAAmI,MAAA,CAAA9D,CAAA,IAAArE,CAAA,SAAAsI,IAAA,IAAAtI,CAAA,SAAAyH,WAAA,IAAAzH,CAAA,SAAAsH,UAAA;IACpD;MAAAhH,KAAA;MAAAmI,WAAA;MAAAC;IAAA,IAAsCpJ,aAAa,CAACyC,MAAM,CAAC;IAAC,IAAAJ,GAAA;IAAA,IAAA3B,CAAA,SAAAsI,IAAA;MAC5C3G,GAAA,GAAA2G,IAAI,CAAAK,EAAG,CAAC,EAAE,CAAC;MAAA3I,CAAA,OAAAsI,IAAA;MAAAtI,CAAA,OAAA2B,GAAA;IAAA;MAAAA,GAAA,GAAA3B,CAAA;IAAA;IAA3BwI,OAAA,GAAgB7G,GAAW;IAGxB4G,EAAA,GAAA/K,MAAM,CAAAoL,GAAI;IACU/G,EAAA,GAAAwD,IAAI,CAAAC,EAAG;IACFxD,EAAA,GAAAuD,IAAI,CAAAwD,IAAK;IACvBxH,GAAA,aAAU;IAEZ,MAAAkB,GAAA,GAAA6F,GAAG,CAAAhE,CAAE,GAAG+D,MAAM,CAAA/D,CAAE;IACjB,MAAAG,GAAA,GAAA6D,GAAG,CAAA/D,CAAE,GAAG8D,MAAM,CAAA9D,CAAE;IAAA,IAAAK,GAAA;IAAA,IAAA1E,CAAA,SAAA0H,KAAA,IAAA1H,CAAA,SAAAqF,IAAA,IAAArF,CAAA,SAAAyH,WAAA;MAKjB/C,GAAA,GAAAgD,KAAK,KAAK,MAMT,GAND,CAMA,CAAC,GAND;QAAAoB,eAAA,EAGmBtK,aAAa,CAAC6G,IAAI,EAAEqC,KAAK,CAAC;QAAAqB,SAAA,EAChC,eAAerK,oBAAoB,CAAC2G,IAAI,CAAC,MAAM5G,eAAe,CAAC4G,IAAI,EAAEqC,KAAK,EAAED,WAAW,CAAC,EAAE;QAAA,GAClGM,YAAY,CAACnJ,WAAW,CAACyG,IAAI,EAAEqC,KAAK,CAAC;MAC1C,CAAC;MAAA1H,CAAA,OAAA0H,KAAA;MAAA1H,CAAA,OAAAqF,IAAA;MAAArF,CAAA,OAAAyH,WAAA;MAAAzH,CAAA,OAAA0E,GAAA;IAAA;MAAAA,GAAA,GAAA1E,CAAA;IAAA;IAAA,IAAAA,CAAA,SAAAoI,GAAA,CAAAjE,CAAA,IAAAnE,CAAA,SAAAoI,GAAA,CAAAnE,CAAA,IAAAjE,CAAA,SAAA4H,IAAA,IAAA5H,CAAA,SAAA+B,MAAA,CAAAiH,MAAA,IAAAhJ,CAAA,SAAAqH,OAAA,IAAArH,CAAA,SAAAuC,GAAA,IAAAvC,CAAA,SAAAuE,GAAA,IAAAvE,CAAA,SAAA0E,GAAA,IAAA1E,CAAA,SAAAsH,UAAA;MAbAhG,GAAA;QAAA2H,IAAA,EACC1G,GAAgB;QAAA2G,GAAA,EACjB3E,GAAgB;QAAAP,KAAA,EACdoE,GAAG,CAAAnE,CAAE;QAAAC,MAAA,EACJkE,GAAG,CAAAjE,CAAE;QAAAgF,SAAA,EACF,YAAY;QAAAC,YAAA,EACTrH,MAAM,CAAAiH,MAAO;QAAA,GACvBtE,GAMC;QAAA2E,KAAA,EACEzB,IAAI;QAAAP,OAAA;QAAAhD,CAAA,EAERiD;MACL,CAAC;MAAAtH,CAAA,OAAAoI,GAAA,CAAAjE,CAAA;MAAAnE,CAAA,OAAAoI,GAAA,CAAAnE,CAAA;MAAAjE,CAAA,OAAA4H,IAAA;MAAA5H,CAAA,OAAA+B,MAAA,CAAAiH,MAAA;MAAAhJ,CAAA,OAAAqH,OAAA;MAAArH,CAAA,OAAAuC,GAAA;MAAAvC,CAAA,OAAAuE,GAAA;MAAAvE,CAAA,OAAA0E,GAAA;MAAA1E,CAAA,OAAAsH,UAAA;MAAAtH,CAAA,OAAAsB,GAAA;IAAA;MAAAA,GAAA,GAAAtB,CAAA;IAAA;IAAA,IAAAA,CAAA,SAAAoI,GAAA,CAAAhE,CAAA,IAAApE,CAAA,SAAAoI,GAAA,CAAA/D,CAAA,IAAArE,CAAA,SAAA4H,IAAA,IAAA5H,CAAA,SAAAqI,IAAA,IAAArI,CAAA,SAAAqF,IAAA,CAAAgD,IAAA,IAAArI,CAAA,SAAAqF,IAAA,CAAAiE,SAAA,IAAAtJ,CAAA,SAAAyH,WAAA;MAEAlG,GAAA,GAAA8D,IAAI,CAAAgD,IAAa,IAAjBA,IAgBA,iBAhBA1I,IAAA;QAEUqE,KAAS,EAATqE,IAAI,CAAAkB,IAAK;QACRrF,MAAS,EAATmE,IAAI,CAAAkB,IAAK;QACPxF,SAAU,EAAV,UAAU;QACb+C,KAA6C,EAA7C;UAAAmC,IAAA,EAAQZ,IAAI,CAAAjE,CAAE,GAAGgE,GAAG,CAAAhE,CAAE;UAAA8E,GAAA,EAAOb,IAAI,CAAAhE,CAAE,GAAG+D,GAAG,CAAA/D;QAAG,CAAC;QACpD,mBAAW;QAAAnE,QAAA,eAEXP,IAAA,CAACxB,eAAe;UACRkK,IAAS,EAAThD,IAAI,CAAAgD,IAAK;UACZjE,CAAC,EAAD,CAAC;UACDC,CAAC,EAAD,CAAC;UACEkF,IAAS,EAATlB,IAAI,CAAAkB,IAAK;UACRF,KAAgD,EAAhDhE,IAAI,CAAAiE,SAAU,KAAK,QAA6B,GAAhD7B,WAAgD,GAAhDG;QAAgD,CACxD;MAAC,CAEN,CAAC;MAAA5H,CAAA,OAAAoI,GAAA,CAAAhE,CAAA;MAAApE,CAAA,OAAAoI,GAAA,CAAA/D,CAAA;MAAArE,CAAA,OAAA4H,IAAA;MAAA5H,CAAA,OAAAqI,IAAA;MAAArI,CAAA,OAAAqF,IAAA,CAAAgD,IAAA;MAAArI,CAAA,OAAAqF,IAAA,CAAAiE,SAAA;MAAAtJ,CAAA,OAAAyH,WAAA;MAAAzH,CAAA,OAAAuB,GAAA;IAAA;MAAAA,GAAA,GAAAvB,CAAA;IAAA;IAAA,IAAA2E,GAAA;IAAA,IAAA3E,CAAA,SAAAoI,GAAA,IAAApI,CAAA,SAAA4H,IAAA,IAAA5H,CAAA,SAAAyH,WAAA;MACU9C,GAAA,GAAAA,CAAA6E,GAAA,EAAA9F,CAAA,kBACT/D,IAAA,CAAC8J,OAAO;QAEDD,GAAG,EAAHA,GAAG;QACApB,MAAG,EAAHA,GAAG;QACJiB,KAA+B,EAA/B9J,OAAO,CAACiK,GAAG,EAAE5B,IAAI,EAAEH,WAAW;MAAC,GAHjC/D,CAIN,CACF;MAAA1D,CAAA,OAAAoI,GAAA;MAAApI,CAAA,OAAA4H,IAAA;MAAA5H,CAAA,OAAAyH,WAAA;MAAAzH,CAAA,OAAA2E,GAAA;IAAA;MAAAA,GAAA,GAAA3E,CAAA;IAAA;IAPAwB,GAAA,GAAAlB,KAAK,CAAA0C,GAAI,CAAC2B,GAOV,CAAC;IACDlD,GAAA,GAAAgH,WAAW,CAAAtG,MAAO,GAAG,CAMrB,iBANAxC,IAAA;MACqC,iCAAA0F,IAAI,CAAAC,EAAG;MAAApF,QAAA,EACxCuI,WAAW,CAAAzF,GAAI,CAAC,CAAA0G,KAAA,EAAAC,GAAA,kBACfhK,IAAA,CAAC8J,OAAO;QAAcD,GAAG,EAAHA,KAAG;QAAUpB,MAAG,EAAHA;MAAG,GAAxB1E,GAA2B,CAC1C;IAAC,CAEN,CAAC;IAAA,IAAAwB,GAAA;IAAA,IAAAlF,CAAA,SAAAoI,GAAA,IAAApI,CAAA,SAAAqF,IAAA,CAAAC,EAAA;MACUJ,GAAA,GAAAA,CAAAa,GAAA,EAAA6D,GAAA;QAAC;UAAAJ,GAAA,EAAAK,KAAA;UAAAC;QAAA,IAAA/D,GAAe;QAAA,oBACzBlG,KAAA;UAAqC,6BAAGwF,IAAI,CAAAC,EAAG,IAAI5B,GAAC,EAAE;UAAAxD,QAAA,gBACpDP,IAAA;YACYoE,SAAkC,EAAlC,kCAAkC;YACrC+C,KAKN,EALM;cAAAmC,IAAA,EACCa,MAAM,CAAA1F,CAAE,GAAGgE,GAAG,CAAAhE,CAAE,GAAG,GAAG;cAAA8E,GAAA,EACvBY,MAAM,CAAAzF,CAAE,GAAG+D,GAAG,CAAA/D,CAAE,GAAG,GAAG;cAAAL,KAAA,EACpB,GAAG;cAAAE,MAAA,EACF;YACV;UAAC,CACF,CAAC,eACFvE,IAAA,CAAC8J,OAAO;YAAMD,GAAG,EAAHA,KAAG;YAAUpB,MAAG,EAAHA;UAAG,CAAG,CAAC;QAAA,GAV1B1E,GAWL,CAAC;MAAA,CACP;MAAA1D,CAAA,OAAAoI,GAAA;MAAApI,CAAA,OAAAqF,IAAA,CAAAC,EAAA;MAAAtF,CAAA,OAAAkF,GAAA;IAAA;MAAAA,GAAA,GAAAlF,CAAA;IAAA;IAbA0B,GAAA,GAAAgH,KAAK,CAAA1F,GAAI,CAACkC,GAaV,CAAC;IAAAlF,CAAA,OAAAoI,GAAA;IAAApI,CAAA,OAAA4H,IAAA;IAAA5H,CAAA,OAAA0H,KAAA;IAAA1H,CAAA,OAAAqI,IAAA;IAAArI,CAAA,OAAA+B,MAAA;IAAA/B,CAAA,OAAAqF,IAAA;IAAArF,CAAA,OAAAqH,OAAA;IAAArH,CAAA,OAAAmI,MAAA,CAAA/D,CAAA;IAAApE,CAAA,OAAAmI,MAAA,CAAA9D,CAAA;IAAArE,CAAA,OAAAsI,IAAA;IAAAtI,CAAA,OAAAyH,WAAA;IAAAzH,CAAA,OAAAsH,UAAA;IAAAtH,CAAA,OAAAuI,EAAA;IAAAvI,CAAA,OAAAwI,OAAA;IAAAxI,CAAA,OAAAqB,GAAA;IAAArB,CAAA,OAAAsB,GAAA;IAAAtB,CAAA,OAAAuB,GAAA;IAAAvB,CAAA,OAAAwB,GAAA;IAAAxB,CAAA,OAAAyB,GAAA;IAAAzB,CAAA,OAAA0B,GAAA;IAAA1B,CAAA,OAAA6B,EAAA;IAAA7B,CAAA,OAAA8B,EAAA;EAAA;IAAAyG,EAAA,GAAAvI,CAAA;IAAAwI,OAAA,GAAAxI,CAAA;IAAAqB,GAAA,GAAArB,CAAA;IAAAsB,GAAA,GAAAtB,CAAA;IAAAuB,GAAA,GAAAvB,CAAA;IAAAwB,GAAA,GAAAxB,CAAA;IAAAyB,GAAA,GAAAzB,CAAA;IAAA0B,GAAA,GAAA1B,CAAA;IAAA6B,EAAA,GAAA7B,CAAA;IAAA8B,EAAA,GAAA9B,CAAA;EAAA;EAAA,IAAA2B,GAAA;EAAA,IAAA3B,CAAA,SAAAoI,GAAA,CAAA/D,CAAA,IAAArE,CAAA,SAAAwI,OAAA,IAAAxI,CAAA,SAAAqF,IAAA,CAAA0E,OAAA,IAAA/J,CAAA,SAAAqF,IAAA,CAAAC,EAAA;IACD3D,GAAA,GAAA0D,IAAI,CAAA0E,OAAQ,KAAKtH,SASjB,iBATA9C,IAAA;MAEaoE,SAAuE,EAAvE,uEAAuE;MAC1E+C,KAEN,EAFM;QAAAoC,GAAA,EACAV,OAAO,GAAGA,OAAO,CAAAwB,MAAO,CAAA3F,CAAE,GAAGmE,OAAO,CAAAwB,MAAO,CAAA7F,CAAE,GAAGiE,GAAG,CAAA/D,CAAM,GAAzD;MACP,CAAC;MAAAnE,QAAA,eAEDP,IAAA;QAAgC,6BAAA0F,IAAI,CAAAC,EAAG;QAAApF,QAAA,EAAGmF,IAAI,CAAA0E;MAAQ,CAAM;IAAC,CAEjE,CAAC;IAAA/J,CAAA,OAAAoI,GAAA,CAAA/D,CAAA;IAAArE,CAAA,OAAAwI,OAAA;IAAAxI,CAAA,OAAAqF,IAAA,CAAA0E,OAAA;IAAA/J,CAAA,OAAAqF,IAAA,CAAAC,EAAA;IAAAtF,CAAA,OAAA2B,GAAA;EAAA;IAAAA,GAAA,GAAA3B,CAAA;EAAA;EAAA,IAAAuC,GAAA;EAAA,IAAAvC,CAAA,SAAAuI,EAAA,IAAAvI,CAAA,SAAAqB,GAAA,IAAArB,CAAA,SAAAsB,GAAA,IAAAtB,CAAA,SAAAuB,GAAA,IAAAvB,CAAA,SAAAwB,GAAA,IAAAxB,CAAA,SAAAyB,GAAA,IAAAzB,CAAA,SAAA0B,GAAA,IAAA1B,CAAA,SAAA2B,GAAA,IAAA3B,CAAA,SAAA6B,EAAA,IAAA7B,CAAA,SAAA8B,EAAA;IA9EHS,GAAA,gBAAA1C,KAAA,CAAC0I,EAAU;MACU,qBAAA1G,EAAO;MACF,0BAAAC,EAAS;MACvBiC,SAAU,EAAV1C,GAAU;MACbyF,KAiBN,EAjBMxF,GAiBN;MAAApB,QAAA,GAEAqB,GAgBA,EACAC,GAOC,EACDC,GAMA,EACAC,GAaC,EACDC,GASA;IAAA,CACS,CAAC;IAAA3B,CAAA,OAAAuI,EAAA;IAAAvI,CAAA,OAAAqB,GAAA;IAAArB,CAAA,OAAAsB,GAAA;IAAAtB,CAAA,OAAAuB,GAAA;IAAAvB,CAAA,OAAAwB,GAAA;IAAAxB,CAAA,OAAAyB,GAAA;IAAAzB,CAAA,OAAA0B,GAAA;IAAA1B,CAAA,OAAA2B,GAAA;IAAA3B,CAAA,OAAA6B,EAAA;IAAA7B,CAAA,OAAA8B,EAAA;IAAA9B,CAAA,OAAAuC,GAAA;EAAA;IAAAA,GAAA,GAAAvC,CAAA;EAAA;EAAA,OA/EbuC,GA+Ea;AAAA;AAIjB,SAAAkH,QAAA1J,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAiB;IAAAuJ,GAAA;IAAArB,MAAA;IAAAkB;EAAA,IAAAtJ,EAQhB;EAKa,MAAAS,EAAA,GAAAgJ,GAAG,CAAAQ,MAAO,CAAA5F,CAAE,GAAG+D,MAAM,CAAA/D,CAAE;EACxB,MAAA1D,EAAA,GAAA8I,GAAG,CAAAQ,MAAO,CAAA3F,CAAE,GAAG8D,MAAM,CAAA9D,CAAE;EAChB,MAAAxD,EAAA,GAAAjD,WAAW,CAAC4L,GAAG,CAAAS,IAAK,CAAAC,IAAK,CAAC;EAG1B,MAAAnJ,EAAA,MAAGyI,GAAG,CAAAQ,MAAO,CAAA7F,CAAE,IAAI;EAChB,MAAAnD,EAAA,GAAAwI,GAAG,CAAAS,IAAK,CAAAC,IAAK,KAAK,MAAwB,GAA1C,GAA0C,GAA1CzH,SAA0C;EAAA,IAAAtB,EAAA;EAAA,IAAAnB,CAAA,QAAAqJ,KAAA,IAAArJ,CAAA,QAAAwJ,GAAA,CAAAS,IAAA,CAAAV,IAAA,IAAAvJ,CAAA,QAAAwJ,GAAA,CAAAS,IAAA,CAAAE,MAAA,IAAAnK,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAU,EAAA,IAAAV,CAAA,QAAAa,EAAA,IAAAb,CAAA,QAAAe,EAAA,IAAAf,CAAA,QAAAgB,EAAA;IAPpDG,EAAA;MAAA8H,IAAA,EACCzI,EAAuB;MAAA0I,GAAA,EACxBxI,EAAuB;MAAA0J,UAAA,EAChBvJ,EAA0B;MAAAwJ,QAAA,EAC5Bb,GAAG,CAAAS,IAAK,CAAAV,IAAK;MAAAe,UAAA,EACXd,GAAG,CAAAS,IAAK,CAAAE,MAAO;MAAAI,UAAA,EACfxJ,EAAmB;MAAAyJ,aAAA,EAChBxJ,EAA0C;MAAAqI;IAE3D,CAAC;IAAArJ,CAAA,MAAAqJ,KAAA;IAAArJ,CAAA,MAAAwJ,GAAA,CAAAS,IAAA,CAAAV,IAAA;IAAAvJ,CAAA,MAAAwJ,GAAA,CAAAS,IAAA,CAAAE,MAAA;IAAAnK,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAa,EAAA;IAAAb,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;IAAAhB,CAAA,MAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EAAA,IAAA4B,EAAA;EAAA,IAAA5B,CAAA,QAAAwJ,GAAA,CAAAlB,IAAA,IAAAtI,CAAA,SAAAmB,EAAA;IAXHS,EAAA,gBAAAjC,IAAA;MACYoE,SAAyB,EAAzB,yBAAyB;MAC5B+C,KASN,EATM3F,EASN;MAAAjB,QAAA,EAEAsJ,GAAG,CAAAlB;IAAK,CACL,CAAC;IAAAtI,CAAA,MAAAwJ,GAAA,CAAAlB,IAAA;IAAAtI,CAAA,OAAAmB,EAAA;IAAAnB,CAAA,OAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAAA,OAdP4B,EAcO;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"graph-html.js","names":["motion","useTransform","compileGraph","layoutGraph","FONT_FAMILY","TEXT_SHAPING","DIAGRAM_DOT","DIAGRAM_HATCH","DiagramFrame","useDiagramTheme","DiagramDefs","DiagramNodeIcon","EdgeOverlay","EdgeStroke","GroupRect","buildSegments","nodeFrameFill","nodeFrameStroke","nodeFrameStrokeWidth","nodeTextFill","nodeTexture","NOTE_REVEAL_START","NodeCaption","NodePorts","NodeStackFrames","NoteText","SpecialNode","isSpecialNode","splitNotes","DiagramPaperRect","nodeTextParts","runFill","formatZoom","normalizeZoom","jsx","_jsx","jsxs","_jsxs","HtmlGraphDiagram","t0","$","_c","children","chrome","paper","title","viewport","t1","ir","t2","flat","lines","t3","zoom","t4","t5","progress","GraphHTML","t6","stylePreset","t10","t11","t12","t13","t14","t15","t16","t7","t8","t9","layout","viewBox","segments","nodes","length","edges","seg","kind","t17","index","undefined","segment","find","candidate","Error","groupsSeg","indexedEdges","map","edgeLayout","index_0","layer","edge","filter","_temp","graphNodes","notes","nodeLayout","i","_temp2","boxNodes","_temp3","svgLayer","className","width","w","height","h","x","y","join","t18","Symbol","for","t19","t20","d","d_0","index_1","segment_0","start","end","t21","nodeLayout_0","segment_1","node","id","NodeStack","groups","groupLayout","group","_temp4","t22","t23","left","top","t24","t25","nodeLayout_1","segment_2","NodeBox","style","t26","nodeLayout_2","segment_3","NodeReveal","t27","d_1","edge_0","index_2","segment_4","_temp5","edgeLayout_0","note","leaders","role","layer_0","node_0","hidden","Boolean","clamp","opacity","translateY","g","accent","themeAccent","frame","frames","fill","stroke","strokeWidth","textureImage","texture","backgroundImage","backgroundSize","box","icon","contentBox","T0","description","items","div","color","backgroundColor","boxShadow","radius","boxSizing","borderRadius","tone","textColor","size","run","RunText","_temp6","i_1","run_1","bullet","translate","content","element","run_0","i_0","font","face","bounds","weight","fontFamily","fontSize","fontWeight","lineHeight","text"],"sources":["../../../../src/lib/renderers/html/graph-html.tsx"],"sourcesContent":["import { type MotionValue, motion, useTransform } from 'motion/react';\nimport type { CSSProperties, ReactNode } from 'react';\n\nimport { compileGraph } from '../../compiler/diagram-compile.ts';\nimport type {\n NodeLayout,\n TextRun,\n} from '../../layouts/graph/graph-layout-result.ts';\nimport { layoutGraph } from '../../layouts/graph/layout.ts';\nimport { FONT_FAMILY, TEXT_SHAPING } from '../../layouts/text/font.ts';\nimport type {\n DiagramTexture,\n DiagramViewport,\n} from '../../model/diagram-ir.ts';\nimport {\n DIAGRAM_DOT,\n DIAGRAM_HATCH,\n DiagramFrame,\n useDiagramTheme,\n} from '../../react/chrome/index.ts';\nimport type { DiagramProps } from '../../react/diagram-types.ts';\nimport { DiagramDefs } from '../shared/defs.tsx';\nimport {\n DiagramNodeIcon,\n EdgeOverlay,\n EdgeStroke,\n GroupRect,\n type SegmentKind,\n buildSegments,\n nodeFrameFill,\n nodeFrameStroke,\n nodeFrameStrokeWidth,\n nodeTextFill,\n nodeTexture,\n} from '../shared/graph-parts.tsx';\nimport {\n NOTE_REVEAL_START,\n NodeCaption,\n NodePorts,\n NodeStackFrames,\n NoteText,\n SpecialNode,\n isSpecialNode,\n splitNotes,\n} from '../shared/node-parts.tsx';\nimport { DiagramPaperRect } from '../shared/paper.tsx';\nimport { nodeTextParts, runFill } from '../shared/text-runs.ts';\nimport { formatZoom, normalizeZoom } from '../shared/viewport-zoom.ts';\nimport type { GraphRendererProps } from '../types.ts';\n\nexport type HtmlGraphDiagramProps = Omit<DiagramProps, 'viewport'> & {\n viewport?: Omit<DiagramViewport, 'fit'>;\n};\n\nexport function HtmlGraphDiagram({\n title,\n children,\n viewport,\n paper,\n ...chrome\n}: HtmlGraphDiagramProps) {\n const ir = compileGraph(children);\n const lines = [title].flat();\n const zoom = normalizeZoom(viewport?.zoom);\n return (\n <DiagramFrame title={lines} {...chrome}>\n {(progress) => (\n <GraphHTML\n ir={ir}\n title={lines}\n progress={progress}\n zoom={zoom}\n paper={paper}\n />\n )}\n </DiagramFrame>\n );\n}\n\nfunction GraphHTML({\n ir,\n title,\n progress,\n zoom,\n paper,\n}: Omit<GraphRendererProps, 'viewport'> & { zoom: number }) {\n const { stylePreset } = useDiagramTheme();\n const layout = layoutGraph(ir);\n const { viewBox } = layout;\n const segments = buildSegments(ir.nodes.length, ir.edges.length);\n const seg = (kind: SegmentKind, index = 0) => {\n const segment = segments.find(\n (candidate) => candidate.kind === kind && candidate.index === index,\n );\n if (!segment) throw new Error(`segment ${kind}[${index}] missing`);\n return segment;\n };\n const groupsSeg = seg('groups');\n const indexedEdges = layout.edges\n .map((edgeLayout, index) => ({\n ...edgeLayout,\n index,\n segment: seg('edge', index),\n layer: edgeLayout.edge.layer ?? 'foreground',\n }))\n .filter(({ d }) => Boolean(d));\n const { graphNodes, notes } = splitNotes(layout.nodes);\n const nodes = graphNodes\n .map((nodeLayout, i) => ({ layout: nodeLayout, segment: seg('node', i) }))\n .filter(({ layout: { node } }) => !node.hidden);\n const boxNodes = nodes.filter(({ layout: { node } }) => !isSpecialNode(node));\n const svgLayer = {\n className: 'pointer-events-none absolute inset-0 overflow-visible',\n width: viewBox.w,\n height: viewBox.h,\n viewBox: `${viewBox.x} ${viewBox.y} ${viewBox.w} ${viewBox.h}`,\n 'aria-hidden': true,\n } as const;\n\n return (\n <div\n role=\"group\"\n aria-label={title.join(' ')}\n className=\"w-full overflow-x-auto\"\n style={TEXT_SHAPING}\n data-diagram-style-preset={stylePreset}\n data-diagram-viewport-zoom={formatZoom(zoom)}\n >\n <div\n className=\"relative mx-auto\"\n style={{ width: viewBox.w, height: viewBox.h, zoom }}\n data-diagram-html=\"graph\"\n >\n <svg {...svgLayer}>\n <DiagramDefs />\n <DiagramPaperRect\n kind=\"graph\"\n paper={paper}\n x={viewBox.x}\n y={viewBox.y}\n width={viewBox.w}\n height={viewBox.h}\n />\n {layout.groups.map((groupLayout) => (\n <GroupRect\n key={`group-${groupLayout.group.id}`}\n layout={groupLayout}\n progress={progress}\n start={groupsSeg.start}\n end={groupsSeg.end}\n />\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'background')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-background-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {nodes.map(({ layout: nodeLayout, segment }) =>\n isSpecialNode(nodeLayout.node) ? (\n <SpecialNode\n key={`node-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ) : (\n <NodeStack\n key={`stack-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ),\n )}\n </svg>\n <div className=\"absolute\" style={{ left: -viewBox.x, top: -viewBox.y }}>\n {boxNodes.map(({ layout: nodeLayout, segment }) => (\n <NodeBox\n key={`node-${nodeLayout.node.id}`}\n layout={nodeLayout}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n </div>\n <svg {...svgLayer}>\n {boxNodes.map(({ layout: nodeLayout, segment }) => (\n <NodeReveal\n key={`node-marks-${nodeLayout.node.id}`}\n progress={progress}\n start={segment.start}\n end={segment.end}\n >\n <NodePorts layout={nodeLayout} />\n <NodeCaption layout={nodeLayout} />\n </NodeReveal>\n ))}\n {indexedEdges\n .filter(({ layer }) => layer === 'foreground')\n .map(({ d, edge, index, segment }) => (\n <EdgeStroke\n key={`edge-foreground-${index}`}\n d={d}\n edge={edge}\n progress={progress}\n start={segment.start}\n end={segment.end}\n />\n ))}\n {indexedEdges.map((edgeLayout) => (\n <EdgeOverlay\n key={`edge-overlay-${edgeLayout.index}`}\n layout={edgeLayout}\n progress={progress}\n start={edgeLayout.segment.start}\n end={edgeLayout.segment.end}\n />\n ))}\n {notes.map((note) => (\n <NoteText\n key={note.node.id}\n note={note}\n leaders={layout.leaders}\n progress={progress}\n start={NOTE_REVEAL_START}\n end={1}\n />\n ))}\n </svg>\n </div>\n </div>\n );\n}\n\nfunction NodeReveal({\n progress,\n start,\n end,\n children,\n}: {\n progress: MotionValue<number>;\n start: number;\n end: number;\n children: ReactNode;\n}) {\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n return <motion.g style={{ opacity, y: translateY }}>{children}</motion.g>;\n}\n\nfunction NodeStack({\n layout,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const { node } = layout;\n const frame = node.frame ?? 'solid';\n if (layout.frames.length === 0) return null;\n return (\n <NodeReveal progress={progress} start={start} end={end}>\n <NodeStackFrames\n layout={layout}\n fill={nodeFrameFill(node, frame)}\n stroke={nodeFrameStroke(node, frame, themeAccent)}\n strokeWidth={nodeFrameStrokeWidth(node)}\n />\n </NodeReveal>\n );\n}\n\nfunction textureImage(\n texture: DiagramTexture,\n): Pick<CSSProperties, 'backgroundImage' | 'backgroundSize'> {\n if (texture === 'dots') {\n return {\n backgroundImage: `radial-gradient(circle at 2px 2px, ${DIAGRAM_DOT} 0.7px, transparent 0.8px)`,\n backgroundSize: '6px 6px',\n };\n }\n if (texture === 'hatch') {\n return {\n backgroundImage: `repeating-linear-gradient(135deg, ${DIAGRAM_HATCH} 0 0.8px, transparent 0.8px 5.66px)`,\n };\n }\n return {};\n}\n\n/**\n * A node frame and its text, each at the layout's own coordinates, in the\n * layer that GraphHTML moves to the viewBox origin. The runs are siblings of\n * the frame, so no position is relative to the frame.\n */\nfunction NodeBox({\n layout,\n progress,\n start,\n end,\n}: {\n layout: NodeLayout;\n progress: MotionValue<number>;\n start: number;\n end: number;\n}) {\n const { accent: themeAccent } = useDiagramTheme();\n const opacity = useTransform(progress, [start, end], [0, 1], { clamp: true });\n const translateY = useTransform(progress, [start, end], [-10, 0], {\n clamp: true,\n });\n const { node, box, icon, contentBox } = layout;\n const frame = node.frame ?? 'solid';\n const fill = nodeTextFill(node, frame, themeAccent);\n const { title, description, items } = nodeTextParts(layout);\n\n return (\n <motion.div\n className=\"absolute top-0 left-0\"\n style={{ color: fill, opacity, y: translateY }}\n >\n <div\n data-diagram-node={node.id}\n data-diagram-node-tone={node.tone}\n className=\"absolute\"\n style={{\n left: box.x,\n top: box.y,\n width: box.w,\n height: box.h,\n boxSizing: 'border-box',\n borderRadius: layout.radius,\n ...(frame === 'none'\n ? {}\n : {\n backgroundColor: nodeFrameFill(node, frame),\n boxShadow: `inset 0 0 0 ${nodeFrameStrokeWidth(node)}px ${nodeFrameStroke(node, frame, themeAccent)}`,\n ...textureImage(nodeTexture(node, frame)),\n }),\n }}\n />\n {node.icon && icon && (\n <svg\n width={icon.size}\n height={icon.size}\n className=\"absolute\"\n style={{ left: icon.x, top: icon.y }}\n aria-hidden\n >\n <DiagramNodeIcon\n icon={node.icon}\n x={0}\n y={0}\n size={icon.size}\n color={node.textColor === 'accent' ? themeAccent : fill}\n />\n </svg>\n )}\n {title.map((run, i) => (\n <RunText key={i} run={run} color={runFill(run, fill, themeAccent)} />\n ))}\n {description.length > 0 && (\n <div data-diagram-node-description={node.id}>\n {description.map((run, i) => (\n <RunText key={i} run={run} />\n ))}\n </div>\n )}\n {items.map(({ run, bullet }, i) => (\n <div key={i} data-diagram-node-item={`${node.id}:${i}`}>\n <span\n className=\"absolute rounded-full bg-current\"\n style={{\n left: bullet.x,\n top: bullet.y,\n width: 4.4,\n height: 4.4,\n translate: '-50% -50%',\n }}\n />\n <RunText run={run} />\n </div>\n ))}\n {node.content && contentBox && (\n <div\n data-diagram-node-content={node.id}\n className=\"absolute\"\n style={{\n left: contentBox.x,\n top: contentBox.y,\n width: contentBox.w,\n height: contentBox.h,\n }}\n >\n {node.content.element}\n </div>\n )}\n </motion.div>\n );\n}\n\nfunction RunText({ run, color }: { run: TextRun; color?: string }) {\n return (\n <span\n className=\"absolute whitespace-pre\"\n style={{\n left: run.bounds.x,\n top: run.bounds.y,\n fontFamily: FONT_FAMILY[run.font.face],\n fontSize: run.font.size,\n fontWeight: run.font.weight,\n lineHeight: `${run.bounds.h}px`,\n color,\n }}\n >\n {run.text}\n </span>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type MotionValue } from 'motion/react';
|
|
2
2
|
import type { EdgeLayout, GroupLayout, PortLayout } from '../../layouts/graph/graph-layout-result.ts';
|
|
3
|
-
import type { DiagramEdge, DiagramNode, DiagramNodeIcon as DiagramNodeIconName, DiagramNodePort, DiagramTexture, DiagramTone } from '../../model/diagram-ir.ts';
|
|
3
|
+
import type { DiagramEdge, DiagramEdgeWeight, DiagramNode, DiagramNodeIcon as DiagramNodeIconName, DiagramNodePort, DiagramTexture, DiagramTone } from '../../model/diagram-ir.ts';
|
|
4
4
|
import { type DiagramIds } from '../../react/chrome/index.ts';
|
|
5
5
|
export declare function nodeFrameFill(node: DiagramNode, frame: DiagramNode['frame']): string;
|
|
6
6
|
export declare function nodeFrameStroke(node: DiagramNode, frame: DiagramNode['frame'], themeAccent: string): string;
|
|
@@ -13,6 +13,8 @@ export declare function nodeTextFill(node: DiagramNode, frame: DiagramNode['fram
|
|
|
13
13
|
export declare function nodeFrameStrokeWidth(node: DiagramNode): 0 | 1.5;
|
|
14
14
|
export declare function nodeTexture(node: DiagramNode, frame: DiagramNode['frame']): DiagramTexture;
|
|
15
15
|
export declare function textureFill(texture: DiagramTexture, ids: DiagramIds): string | null;
|
|
16
|
+
/** The stroke width of an edge of each weight. */
|
|
17
|
+
export declare const EDGE_STROKE_WIDTH: Record<DiagramEdgeWeight, number>;
|
|
16
18
|
export type SegmentKind = 'groups' | 'node' | 'edge';
|
|
17
19
|
export type LayoutSegment = {
|
|
18
20
|
kind: SegmentKind;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-parts.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/shared/graph-parts.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,cAAc,CAAC;AAEtE,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACX,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,eAAe,IAAI,mBAAmB,EACtC,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAOL,KAAK,UAAU,EAIhB,MAAM,6BAA6B,CAAC;AAGrC,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,UAM3E;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAC3B,WAAW,EAAE,MAAM,UAKpB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,EACzE,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,UAKjB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAC3B,WAAW,EAAE,MAAM,UAKpB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,WAErD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,kBAEzE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,iBAInE;
|
|
1
|
+
{"version":3,"file":"graph-parts.d.ts","sourceRoot":"","sources":["../../../../src/lib/renderers/shared/graph-parts.tsx"],"names":[],"mappings":"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"}
|