agentic-mermaid 0.4.1 → 0.5.3
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/AGENT_NATIVE.md +94 -627
- package/CHANGELOG.md +651 -0
- package/Instructions_for_agents.md +44 -23
- package/LICENSES/Khroma-MIT.txt +21 -0
- package/LICENSES/Mermaid-MIT.txt +21 -0
- package/LICENSES/es-toolkit-MIT.txt +21 -0
- package/LICENSES/pele-MIT.txt +40 -0
- package/LICENSES/zenuml-core-MIT.txt +21 -0
- package/README.md +93 -50
- package/SECURITY.md +28 -12
- package/THIRD_PARTY_NOTICES.md +60 -0
- package/assets/hero.png +0 -0
- package/dist/agent-core.d.ts +478 -210
- package/dist/agent-core.js +1 -396
- package/dist/agent.d.ts +17 -8
- package/dist/agent.js +1 -408
- package/dist/agentic-mermaid-mcp.js +1 -11
- package/dist/am.js +1 -34562
- package/dist/browser-lazy/chunks/agentic-producer-core-CC6OOLDW.js +1 -0
- package/dist/browser-lazy/chunks/architecture-QUFVKYJR.js +13 -0
- package/dist/browser-lazy/chunks/block-6J3Q63BO.js +11 -0
- package/dist/browser-lazy/chunks/builtin-backends-7SOZZHPF.js +12 -0
- package/dist/browser-lazy/chunks/c4-SQVBZAKJ.js +10 -0
- package/dist/browser-lazy/chunks/chunk-2GPK4VFF.js +5 -0
- package/dist/browser-lazy/chunks/chunk-2I4UPL7Q.js +3 -0
- package/dist/browser-lazy/chunks/chunk-2SH76OTH.js +1 -0
- package/dist/browser-lazy/chunks/chunk-2UIA2IME.js +3 -0
- package/dist/browser-lazy/chunks/chunk-4LHYF3BS.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5B2Z7575.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5FQ534HP.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5UVGUSD6.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5X6MJX3H.js +1 -0
- package/dist/browser-lazy/chunks/chunk-AMJLVPUB.js +4 -0
- package/dist/browser-lazy/chunks/chunk-BU5LHXNJ.js +3 -0
- package/dist/browser-lazy/chunks/chunk-BY2CPG6B.js +1 -0
- package/dist/browser-lazy/chunks/chunk-CN7WTBWB.js +1 -0
- package/dist/browser-lazy/chunks/chunk-CQE4HQEW.js +1 -0
- package/dist/browser-lazy/chunks/chunk-CSFUKSU6.js +1 -0
- package/dist/browser-lazy/chunks/chunk-DF6765YX.js +17 -0
- package/dist/browser-lazy/chunks/chunk-E2WMJZNM.js +1 -0
- package/dist/browser-lazy/chunks/chunk-FAIMVOX5.js +6 -0
- package/dist/browser-lazy/chunks/chunk-GVOEAY52.js +1 -0
- package/dist/browser-lazy/chunks/chunk-HLWUNUCM.js +1 -0
- package/dist/browser-lazy/chunks/chunk-ICC7HBJX.js +1 -0
- package/dist/browser-lazy/chunks/chunk-J35HAQQF.js +20 -0
- package/dist/browser-lazy/chunks/chunk-J7FFAFQF.js +1 -0
- package/dist/browser-lazy/chunks/chunk-LH7HUDKW.js +1 -0
- package/dist/browser-lazy/chunks/chunk-N5ELX7LR.js +2 -0
- package/dist/browser-lazy/chunks/chunk-NMQQMRIR.js +1 -0
- package/dist/browser-lazy/chunks/chunk-NO7ZIVRU.js +1 -0
- package/dist/browser-lazy/chunks/chunk-OZ443IVJ.js +16 -0
- package/dist/browser-lazy/chunks/chunk-PQGPS2YV.js +7 -0
- package/dist/browser-lazy/chunks/chunk-QA6GJQ4X.js +1 -0
- package/dist/browser-lazy/chunks/chunk-RIVTHZAQ.js +1 -0
- package/dist/browser-lazy/chunks/chunk-SZELX2EJ.js +1 -0
- package/dist/browser-lazy/chunks/chunk-TYZOZXUJ.js +22 -0
- package/dist/browser-lazy/chunks/chunk-UL6NDWLL.js +1 -0
- package/dist/browser-lazy/chunks/chunk-VQYYGAXP.js +1 -0
- package/dist/browser-lazy/chunks/chunk-VWVZGQE2.js +1 -0
- package/dist/browser-lazy/chunks/chunk-X2UYKWKM.js +4 -0
- package/dist/browser-lazy/chunks/chunk-YCEICNM6.js +1 -0
- package/dist/browser-lazy/chunks/chunk-Z3FDIVLN.js +20 -0
- package/dist/browser-lazy/chunks/class-5QA4SCTS.js +13 -0
- package/dist/browser-lazy/chunks/decode-63UIZGD2.js +1 -0
- package/dist/browser-lazy/chunks/elk.bundled-L4CADV5W.js +24 -0
- package/dist/browser-lazy/chunks/er-7ZSKGN7Y.js +11 -0
- package/dist/browser-lazy/chunks/eventmodeling-2BPLHWRN.js +19 -0
- package/dist/browser-lazy/chunks/flowchart-NEIMZTB5.js +4 -0
- package/dist/browser-lazy/chunks/forest-implementation-AEP24AIP.js +1 -0
- package/dist/browser-lazy/chunks/gantt-RDPIFYAF.js +11 -0
- package/dist/browser-lazy/chunks/gitgraph-N4Y5RYB7.js +9 -0
- package/dist/browser-lazy/chunks/ishikawa-LD3YBDJN.js +6 -0
- package/dist/browser-lazy/chunks/journey-6YQR5DJX.js +16 -0
- package/dist/browser-lazy/chunks/kanban-PLMJ7NBW.js +20 -0
- package/dist/browser-lazy/chunks/mermaid-yaml-runtime-QVYX4EWK.js +136 -0
- package/dist/browser-lazy/chunks/mindmap-K2UBFO3Y.js +12 -0
- package/dist/browser-lazy/chunks/packet-CUW4QY6Y.js +7 -0
- package/dist/browser-lazy/chunks/pie-7F7UUCG3.js +15 -0
- package/dist/browser-lazy/chunks/quadrant-TOONO2WC.js +10 -0
- package/dist/browser-lazy/chunks/radar-J6JVWVAX.js +16 -0
- package/dist/browser-lazy/chunks/render-core-BZOM3K7D.js +3 -0
- package/dist/browser-lazy/chunks/requirement-CMAKDJPO.js +19 -0
- package/dist/browser-lazy/chunks/sankey-AWXQEP3F.js +13 -0
- package/dist/browser-lazy/chunks/sequence-Q2RJRB4L.js +5 -0
- package/dist/browser-lazy/chunks/state-WRBFQEDX.js +4 -0
- package/dist/browser-lazy/chunks/timeline-D2KILFXM.js +6 -0
- package/dist/browser-lazy/chunks/treemap-N3VYX5D4.js +6 -0
- package/dist/browser-lazy/chunks/xychart-G73OGK66.js +16 -0
- package/dist/browser-lazy/chunks/zenuml-H4BXNYXR.js +16 -0
- package/dist/browser-lazy/index.d.ts +544 -275
- package/dist/browser-lazy/index.js +1 -1
- package/dist/browser.global.js +802 -565
- package/dist/chunk-3LGLPG33.js +2 -0
- package/dist/chunk-7CRDX2QR.js +2 -0
- package/dist/chunk-7PPW2BMO.js +2 -0
- package/dist/chunk-DQDKA5ND.js +2 -0
- package/dist/chunk-EHCMJUMD.js +52 -0
- package/dist/chunk-GVCHLSHH.js +4 -0
- package/dist/chunk-H3NCS2XZ.js +19 -0
- package/dist/chunk-JZOJ4YGS.js +201 -0
- package/dist/chunk-MKE7GNYU.js +146 -0
- package/dist/chunk-NKNFOREZ.js +2 -0
- package/dist/chunk-O7H2UX5K.js +2 -0
- package/dist/chunk-OMY6NRQD.js +58 -0
- package/dist/chunk-UA234O4M.js +4 -0
- package/dist/chunk-VUFVLGTH.js +2 -0
- package/dist/chunk-XU5LPD2D.js +2 -0
- package/dist/cli-YGGTJZH7.js +226 -0
- package/dist/elk-constructor.js +2 -0
- package/dist/elk-constructor.node.js +11 -0
- package/dist/index-EeXqJXr5.d.ts +1223 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1 -334
- package/dist/jsonl-RPJY6YWO.js +2 -0
- package/dist/mcp-cli-63DYXTVD.js +2 -0
- package/dist/{index-BGA_-6LV.d.ts → paint-certification-6rwQjIv_.d.ts} +5283 -6173
- package/dist/server-5NEOHOFS.js +524 -0
- package/dist/svg-styles-BdnoM7AT.d.ts +724 -0
- package/dist/svg-styles.d.ts +1 -0
- package/dist/svg-styles.js +2 -0
- package/dist/svg.d.ts +13 -0
- package/dist/svg.js +2 -0
- package/dist/types-BcS52Mjt.d.ts +1360 -0
- package/dist/zenuml/chunks/appearance-UOQ5KA6O.js +1 -0
- package/dist/zenuml/chunks/builtin-backends-KDKE7YHO.js +12 -0
- package/dist/zenuml/chunks/chunk-42DXZ5C6.js +4 -0
- package/dist/zenuml/chunks/chunk-7TVYPTDW.js +1 -0
- package/dist/zenuml/chunks/chunk-EVPSMEKN.js +1 -0
- package/dist/zenuml/chunks/chunk-OXQWRSBM.js +20 -0
- package/dist/zenuml/chunks/chunk-QWX77U7G.js +2 -0
- package/dist/zenuml/chunks/chunk-RLJEI7YN.js +29 -0
- package/dist/zenuml/chunks/chunk-RZ6XK5CD.js +29 -0
- package/dist/zenuml/chunks/decode-BWERFDGK.js +1 -0
- package/dist/zenuml/chunks/mermaid-yaml-runtime-KZVU74WU.js +136 -0
- package/dist/zenuml/chunks/render-core-V5RQ737O.js +3 -0
- package/dist/zenuml/chunks/zenuml-EA2ZFRUX.js +20 -0
- package/dist/zenuml-frame.global.js +3626 -0
- package/dist/zenuml.d.ts +83 -0
- package/dist/zenuml.js +1 -0
- package/docs/MCP-DIRECTORY-LISTINGS.md +5 -1
- package/docs/README.md +59 -103
- package/docs/agent-api-cookbook.md +26 -16
- package/docs/agent-mutation-policy.md +86 -15
- package/docs/agent-workflow-examples.md +1 -1
- package/docs/api-advanced.md +385 -0
- package/docs/api.md +320 -366
- package/docs/ascii.md +40 -4
- package/docs/browser.md +46 -7
- package/docs/choosing-a-diagram.md +148 -0
- package/docs/code-mode-impact.md +1 -0
- package/docs/comparison.md +244 -28
- package/docs/computational-aesthetics-prototype-plan.md +10 -10
- package/docs/config.md +60 -2
- package/docs/custom-fonts.md +78 -21
- package/docs/diagram-families.md +160 -10
- package/docs/eventmodeling-and-zenuml.md +165 -0
- package/docs/features.md +21 -19
- package/docs/fork-differences.md +105 -32
- package/docs/getting-started.md +56 -51
- package/docs/layout-certification.md +126 -0
- package/docs/mcp-code-mode-rationale.md +20 -12
- package/docs/mcp-http-transport.md +14 -8
- package/docs/quality.md +145 -15
- package/docs/react.md +76 -31
- package/docs/style-authoring.md +23 -11
- package/docs/svg-semantic-contract.md +104 -4
- package/docs/testing-strategy.md +684 -126
- package/docs/theming.md +27 -8
- package/examples/styles/readme-hero.md +25 -0
- package/examples/styles/readme-hero.mmd +13 -0
- package/examples/styles/readme-hero.style.json +7 -0
- package/package.json +114 -57
- package/server.json +2 -2
- package/skills/agentic-mermaid-diagram-workflow/SKILL.md +26 -8
- package/skills/agentic-mermaid-diagram-workflow/references/cli.md +13 -3
- package/skills/agentic-mermaid-diagram-workflow/references/code-mode.md +2 -1
- package/skills/agentic-mermaid-diagram-workflow/references/flowchart.md +9 -6
- package/skills/agentic-mermaid-diagram-workflow/references/hosted-mcp.md +1 -0
- package/skills/agentic-mermaid-diagram-workflow/references/sequence.md +4 -3
- package/skills/agentic-mermaid-diagram-workflow/references/timeline.md +7 -6
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/agentflow.md +574 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/architecture.md +10 -2
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/c4.md +18 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/classDiagram.md +123 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/cynefin.md +6 -1
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/entityRelationshipDiagram.md +129 -9
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/eventmodeling.md +22 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/flowchart.md +188 -60
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/gitgraph.md +13 -7
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/mindmap.md +110 -1
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/packet.md +38 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/requirementDiagram.md +115 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/sequenceDiagram.md +101 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/stateDiagram.md +87 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/swimlanes.md +105 -2
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/timeline.md +12 -6
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/usecase.md +953 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/venn.md +77 -0
- package/skills/agentic-mermaid-diagram-workflow/references/upstream/xyChart.md +1 -1
- package/dist/browser-lazy/chunks/architecture-KTHE2HX3.js +0 -31
- package/dist/browser-lazy/chunks/chunk-2XCPFAD5.js +0 -46
- package/dist/browser-lazy/chunks/chunk-3H4F7RBT.js +0 -1
- package/dist/browser-lazy/chunks/chunk-4EVLW2NJ.js +0 -1
- package/dist/browser-lazy/chunks/chunk-5Q4S74UO.js +0 -1
- package/dist/browser-lazy/chunks/chunk-6OAPWSDO.js +0 -1
- package/dist/browser-lazy/chunks/chunk-A7L4WWVW.js +0 -143
- package/dist/browser-lazy/chunks/chunk-C7FJO2I3.js +0 -4
- package/dist/browser-lazy/chunks/chunk-D3XXDKIO.js +0 -1
- package/dist/browser-lazy/chunks/chunk-DXA5WL7H.js +0 -4
- package/dist/browser-lazy/chunks/chunk-EPFMQPXX.js +0 -1
- package/dist/browser-lazy/chunks/chunk-FFOHLPDA.js +0 -2
- package/dist/browser-lazy/chunks/chunk-FLD63DXE.js +0 -2
- package/dist/browser-lazy/chunks/chunk-G6OLSHRG.js +0 -7
- package/dist/browser-lazy/chunks/chunk-GRXCKTHX.js +0 -0
- package/dist/browser-lazy/chunks/chunk-I6VE56S7.js +0 -1
- package/dist/browser-lazy/chunks/chunk-KJVNXJ5Y.js +0 -1
- package/dist/browser-lazy/chunks/chunk-L227EPFP.js +0 -11
- package/dist/browser-lazy/chunks/chunk-LNIHDJSF.js +0 -1
- package/dist/browser-lazy/chunks/chunk-M6BT2HIP.js +0 -1
- package/dist/browser-lazy/chunks/chunk-NZRUMODH.js +0 -1
- package/dist/browser-lazy/chunks/chunk-OFRMKQA6.js +0 -1
- package/dist/browser-lazy/chunks/chunk-P7HMSKHJ.js +0 -1
- package/dist/browser-lazy/chunks/chunk-PXKL3O6H.js +0 -1
- package/dist/browser-lazy/chunks/chunk-PZEWZT35.js +0 -1
- package/dist/browser-lazy/chunks/chunk-STQRDZ67.js +0 -1
- package/dist/browser-lazy/chunks/chunk-SUFMSWTX.js +0 -1
- package/dist/browser-lazy/chunks/chunk-T7IJ6V4B.js +0 -3
- package/dist/browser-lazy/chunks/chunk-UAEZO5VL.js +0 -1
- package/dist/browser-lazy/chunks/chunk-WEUWIFG3.js +0 -1
- package/dist/browser-lazy/chunks/chunk-X64T74C5.js +0 -24
- package/dist/browser-lazy/chunks/class-F7R6TJ73.js +0 -9
- package/dist/browser-lazy/chunks/er-BDK7CM5L.js +0 -9
- package/dist/browser-lazy/chunks/flowchart-KFU6XV7S.js +0 -4
- package/dist/browser-lazy/chunks/gantt-I64VVDSP.js +0 -28
- package/dist/browser-lazy/chunks/gitgraph-EDUVJ5IJ.js +0 -8
- package/dist/browser-lazy/chunks/journey-TLO2RNM3.js +0 -40
- package/dist/browser-lazy/chunks/mindmap-OJCNDYPM.js +0 -9
- package/dist/browser-lazy/chunks/pie-HVG6XO7K.js +0 -19
- package/dist/browser-lazy/chunks/quadrant-U6S2L4MJ.js +0 -24
- package/dist/browser-lazy/chunks/radar-ZDLOBTVG.js +0 -32
- package/dist/browser-lazy/chunks/render-core-Y2DFNMQG.js +0 -12
- package/dist/browser-lazy/chunks/sequence-Z4WFS3VB.js +0 -12
- package/dist/browser-lazy/chunks/state-2HV2YGN3.js +0 -4
- package/dist/browser-lazy/chunks/timeline-XM4UFPOC.js +0 -20
- package/dist/browser-lazy/chunks/xychart-7JDHWTQY.js +0 -36
- package/dist/chunk-GGXCNCNA.js +0 -4118
- package/dist/chunk-IVD4NXNE.js +0 -615
- package/dist/chunk-JDMRPUAG.js +0 -37
- package/dist/chunk-JWAAW3FH.js +0 -149
- package/dist/chunk-LCGBT32P.js +0 -62036
- package/dist/chunk-RWMZRUIC.js +0 -4715
- package/dist/mcp-cli-4MLKC3ZH.js +0 -17
- package/docs/mutation-testing.md +0 -285
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./chunk-QWX77U7G.js";import{ia as o,ma as r,o as l,qa as t}from"./chunk-RZ6XK5CD.js";import"./chunk-EVPSMEKN.js";function n(n){let a=e(n),s=Object.keys(a??{}).filter(e=>!["formatVersion","$schema","name","blurb","colors","roles"].includes(e));for(let[e,o]of Object.entries(a?.roles??{})){let r="node"===e||"group"===e?["fillColor","borderColor","textColor"]:"edge"===e?["strokeColor","textColor"]:"label"===e?["textColor"]:[];for(let l of Object.keys(o))r.includes(l)||s.push(`roles.${e}.${l}`)}if(s.length)throw Error(`ZenUML cannot realize ${s.join(", ")}; use a palette or node/edge/group/label paint colors.`);let d=t({...r,...a?.colors}),i=a?.roles,u=i?.node?.fillColor??d.nodeFill,c=i?.group?.fillColor??d.groupHdr,g={background:d.bg,foreground:i?.label?.textColor??d.text,muted:d.textMuted,nodeFill:u,nodeBorder:i?.node?.borderColor??d.nodeStroke,nodeText:i?.node?.textColor??l(i?.label?.textColor??d.text,u),edge:i?.edge?.strokeColor??d.line,edgeText:i?.edge?.textColor??i?.label?.textColor??d.text,groupFill:c,groupBorder:i?.group?.borderColor??d.nodeStroke,groupText:i?.group?.textColor??l(i?.label?.textColor??d.text,c)};for(let[e,r]of Object.entries(g))if(!o(r))throw Error(`ZenUML ${e} requires a concrete, non-fetching color; unresolved CSS variables are unavailable.`);return g}export{n as resolveZenUMLAppearance};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{M as t,ba as e,j as s,ja as r,k as n,la as a,ma as i,na as o,oa as l,p as h,s as u,sa as p,z as c}from"./chunk-RLJEI7YN.js";import{Ha as f,P as d,T as g,Z as k,k as y,l as M,m as m,ra as x}from"./chunk-RZ6XK5CD.js";import"./chunk-EVPSMEKN.js";function v(t,e,s){if(t&&t.length){let[r,n]=e,a=Math.PI/180*s,i=Math.cos(a),o=Math.sin(a);for(let e of t){let[t,s]=e;e[0]=(t-r)*i-(s-n)*o+r,e[1]=(t-r)*o+(s-n)*i+n}}}function b(t,e){var s;let r=e.hachureAngle+90,n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.round(Math.max(n,.1));let a=1;return e.roughness>=1&&((null==(s=e.randomizer)?void 0:s.next())||Math.random())>.7&&(a=n),function(t,e,s,r=1){let n=Math.max(e,.1),a=t[0]&&t[0][0]&&"number"==typeof t[0][0]?[t]:t,i=[0,0];if(s)for(let t of a)v(t,i,s);let o=function(t,e,s){let r=[];for(let e of t){var n,a;let t=[...e];n=t[0],a=t[t.length-1],n[0]===a[0]&&n[1]===a[1]||t.push([t[0][0],t[0][1]]),t.length>2&&r.push(t)}let i=[];e=Math.max(e,.1);let o=[];for(let t of r)for(let e=0;e<t.length-1;e++){let s=t[e],r=t[e+1];if(s[1]!==r[1]){let t=Math.min(s[1],r[1]);o.push({ymin:t,ymax:Math.max(s[1],r[1]),x:t===s[1]?s[0]:r[0],islope:(r[0]-s[0])/(r[1]-s[1])})}}if(o.sort((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax)),!o.length)return i;let l=[],h=o[0].ymin,u=0;for(;l.length||o.length;){if(o.length){let t=-1;for(let e=0;e<o.length&&!(o[e].ymin>h);e++)t=e;o.splice(0,t+1).forEach(t=>{l.push({s:h,edge:t})})}if((l=l.filter(t=>!(t.edge.ymax<=h))).sort((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x)),(1!==s||u%e==0)&&l.length>1)for(let t=0;t<l.length;t+=2){let e=t+1;if(e>=l.length)break;let s=l[t].edge,r=l[e].edge;i.push([[Math.round(s.x),h],[Math.round(r.x),h]])}h+=s,l.forEach(t=>{t.edge.x=t.edge.x+s*t.edge.islope}),u++}return i}(a,n,r);if(s){let t;for(let t of a)v(t,i,-s);t=[],o.forEach(e=>t.push(...e)),v(t,i,-s)}return o}(t,n,r,a||1)}var $=class{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){let s=b(t,e);return{type:"fillSketch",ops:this.renderLines(s,e)}}renderLines(t,e){let s=[];for(let r of t)s.push(...this.helper.doubleLineOps(r[0][0],r[0][1],r[1][0],r[1][1],e));return s}};function P(t){let e=t[0],s=t[1];return Math.sqrt(Math.pow(e[0]-s[0],2)+Math.pow(e[1]-s[1],2))}var w=class extends ${fillPolygons(t,e){let s=e.hachureGap;s<0&&(s=4*e.strokeWidth);let r=b(t,Object.assign({},e,{hachureGap:s=Math.max(s,.1)})),n=Math.PI/180*e.hachureAngle,a=[],i=.5*s*Math.cos(n),o=.5*s*Math.sin(n);for(let[t,e]of r)P([t,e])&&a.push([[t[0]-i,t[1]+o],[...e]],[[t[0]+i,t[1]-o],[...e]]);return{type:"fillSketch",ops:this.renderLines(a,e)}}},S=class extends ${fillPolygons(t,e){let s=this._fillPolygons(t,e),r=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),n=this._fillPolygons(t,r);return s.ops=s.ops.concat(n.ops),s}},O=class{constructor(t){this.helper=t}fillPolygons(t,e){let s=b(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(s,e)}dotsOnLines(t,e){let s=[],r=e.hachureGap;r<0&&(r=4*e.strokeWidth),r=Math.max(r,.1);let n=e.fillWeight;n<0&&(n=e.strokeWidth/2);let a=r/4;for(let i of t){let t=P(i),o=Math.ceil(t/r)-1,l=t-o*r,h=(i[0][0]+i[1][0])/2-r/4,u=Math.min(i[0][1],i[1][1]);for(let t=0;t<o;t++){let i=h-a+2*Math.random()*a,o=u+l+t*r-a+2*Math.random()*a,p=this.helper.ellipse(i,o,n,n,e);s.push(...p.ops)}}return{type:"fillSketch",ops:s}}},L=class{constructor(t){this.helper=t}fillPolygons(t,e){let s=b(t,e);return{type:"fillSketch",ops:this.dashedLine(s,e)}}dashedLine(t,e){let s=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,r=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,n=[];return t.forEach(t=>{let a=P(t),i=Math.floor(a/(s+r)),o=(a+r-i*(s+r))/2,l=t[0],h=t[1];l[0]>h[0]&&(l=t[1],h=t[0]);let u=Math.atan((h[1]-l[1])/(h[0]-l[0]));for(let t=0;t<i;t++){let a=t*(s+r),i=a+s,h=[l[0]+a*Math.cos(u)+o*Math.cos(u),l[1]+a*Math.sin(u)+o*Math.sin(u)],p=[l[0]+i*Math.cos(u)+o*Math.cos(u),l[1]+i*Math.sin(u)+o*Math.sin(u)];n.push(...this.helper.doubleLineOps(h[0],h[1],p[0],p[1],e))}}),n}},j=class{constructor(t){this.helper=t}fillPolygons(t,e){let s=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,r=e.zigzagOffset<0?s:e.zigzagOffset,n=b(t,e=Object.assign({},e,{hachureGap:s+r}));return{type:"fillSketch",ops:this.zigzagLines(n,r,e)}}zigzagLines(t,e,s){let r=[];return t.forEach(t=>{let n=Math.round(P(t)/(2*e)),a=t[0],i=t[1];a[0]>i[0]&&(a=t[1],i=t[0]);let o=Math.atan((i[1]-a[1])/(i[0]-a[0]));for(let t=0;t<n;t++){let n=2*t*e,i=(t+1)*2*e,l=Math.sqrt(2*Math.pow(e,2)),h=[a[0]+n*Math.cos(o),a[1]+n*Math.sin(o)],u=[a[0]+i*Math.cos(o),a[1]+i*Math.sin(o)],p=[h[0]+l*Math.cos(o+Math.PI/4),h[1]+l*Math.sin(o+Math.PI/4)];r.push(...this.helper.doubleLineOps(h[0],h[1],p[0],p[1],s),...this.helper.doubleLineOps(p[0],p[1],u[0],u[1],s))}}),r}},I={},_=class{constructor(t){this.seed=t}next(){return this.seed?(0x80000000-1&(this.seed=Math.imul(48271,this.seed)))/0x80000000:Math.random()}},z={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function W(t){let e=[],s=function(t){let e=[];for(;""!==t;)if(t.match(/^([ \t\r\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:0,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:1,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:2,text:""},e}(t),r="BOD",n=0,a=s[0];for(;2!==a.type;){let i=0,o=[];if("BOD"===r)if("M"!==a.text&&"m"!==a.text)return W("M0,0"+t);else n++,i=z[a.text],r=a.text;else 1===a.type?i=z[r]:(n++,i=z[a.text],r=a.text);if(n+i<s.length){for(let t=n;t<n+i;t++){let e=s[t];if(1===e.type)o[o.length]=+e.text;else throw Error("Param not a number: "+r+","+e.text)}if("number"==typeof z[r]){let t={key:r,data:o};e.push(t),n+=i,a=s[n],"M"===r&&(r="L"),"m"===r&&(r="l")}else throw Error("Bad segment: "+r)}else throw Error("Path data ended short")}return e}function C(t){let e=0,s=0,r=0,n=0,a=[];for(let{key:i,data:o}of t)switch(i){case"M":a.push({key:"M",data:[...o]}),[e,s]=o,[r,n]=o;break;case"m":e+=o[0],s+=o[1],a.push({key:"M",data:[e,s]}),r=e,n=s;break;case"L":a.push({key:"L",data:[...o]}),[e,s]=o;break;case"l":e+=o[0],s+=o[1],a.push({key:"L",data:[e,s]});break;case"C":a.push({key:"C",data:[...o]}),e=o[4],s=o[5];break;case"c":{let t=o.map((t,r)=>r%2?t+s:t+e);a.push({key:"C",data:t}),e=t[4],s=t[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],s=o[3];break;case"q":{let t=o.map((t,r)=>r%2?t+s:t+e);a.push({key:"Q",data:t}),e=t[2],s=t[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],s=o[6];break;case"a":e+=o[5],s+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,s]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),s=o[0];break;case"v":s+=o[0],a.push({key:"V",data:[s]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],s=o[3];break;case"s":{let t=o.map((t,r)=>r%2?t+s:t+e);a.push({key:"S",data:t}),e=t[2],s=t[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],s=o[1];break;case"t":e+=o[0],s+=o[1],a.push({key:"T",data:[e,s]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=r,s=n}return a}function T(t){let e=[],s="",r=0,n=0,a=0,i=0,o=0,l=0;for(let{key:h,data:u}of t){switch(h){case"M":e.push({key:"M",data:[...u]}),[r,n]=u,[a,i]=u;break;case"C":e.push({key:"C",data:[...u]}),r=u[4],n=u[5],o=u[2],l=u[3];break;case"L":e.push({key:"L",data:[...u]}),[r,n]=u;break;case"H":r=u[0],e.push({key:"L",data:[r,n]});break;case"V":n=u[0],e.push({key:"L",data:[r,n]});break;case"S":{let t=0,a=0;"C"===s||"S"===s?(t=r+(r-o),a=n+(n-l)):(t=r,a=n),e.push({key:"C",data:[t,a,...u]}),o=u[0],l=u[1],r=u[2],n=u[3];break}case"T":{let[t,a]=u,i=0,h=0;"Q"===s||"T"===s?(i=r+(r-o),h=n+(n-l)):(i=r,h=n);let p=r+2*(i-r)/3,c=n+2*(h-n)/3,f=t+2*(i-t)/3,d=a+2*(h-a)/3;e.push({key:"C",data:[p,c,f,d,t,a]}),o=i,l=h,r=t,n=a;break}case"Q":{let[t,s,a,i]=u,h=r+2*(t-r)/3,p=n+2*(s-n)/3,c=a+2*(t-a)/3,f=i+2*(s-i)/3;e.push({key:"C",data:[h,p,c,f,a,i]}),o=t,l=s,r=a,n=i;break}case"A":{let t=Math.abs(u[0]),s=Math.abs(u[1]),a=u[2],i=u[3],o=u[4],l=u[5],h=u[6];0===t||0===s?(e.push({key:"C",data:[r,n,l,h,l,h]}),r=l,n=h):(r!==l||n!==h)&&((function t(e,s,r,n,a,i,o,l,h,u){let p=Math.PI*o/180,c=[],f=0,d=0,g=0,k=0;if(u)[f,d,g,k]=u;else{[e,s]=A(e,s,-p),[r,n]=A(r,n,-p);let t=(e-r)/2,o=(s-n)/2,u=t*t/(a*a)+o*o/(i*i);u>1&&(a*=u=Math.sqrt(u),i*=u);let c=a*a,y=i*i,M=(l===h?-1:1)*Math.sqrt(Math.abs((c*y-c*o*o-y*t*t)/(c*o*o+y*t*t)));g=M*a*o/i+(e+r)/2,k=-(M*i)*t/a+(s+n)/2,f=Math.asin(parseFloat(((s-k)/i).toFixed(9))),d=Math.asin(parseFloat(((n-k)/i).toFixed(9))),e<g&&(f=Math.PI-f),r<g&&(d=Math.PI-d),f<0&&(f=2*Math.PI+f),d<0&&(d=2*Math.PI+d),h&&f>d&&(f-=2*Math.PI),!h&&d>f&&(d-=2*Math.PI)}let y=d-f;if(Math.abs(y)>120*Math.PI/180){let e=d,s=r,l=n;c=t(r=g+a*Math.cos(d=h&&d>f?f+120*Math.PI/180*1:f+-(120*Math.PI/180*1)),n=k+i*Math.sin(d),s,l,a,i,o,0,h,[d,e,g,k])}y=d-f;let M=Math.cos(f),m=Math.cos(d),x=Math.tan(y/4),v=4/3*a*x,b=4/3*i*x,$=[e,s],P=[e+v*Math.sin(f),s-b*M],w=[r+v*Math.sin(d),n-b*m],S=[r,n];if(P[0]=2*$[0]-P[0],P[1]=2*$[1]-P[1],u)return[P,w,S].concat(c);{c=[P,w,S].concat(c);let t=[];for(let e=0;e<c.length;e+=3){let s=A(c[e][0],c[e][1],p),r=A(c[e+1][0],c[e+1][1],p),n=A(c[e+2][0],c[e+2][1],p);t.push([s[0],s[1],r[0],r[1],n[0],n[1]])}return t}})(r,n,l,h,t,s,a,i,o).forEach(function(t){e.push({key:"C",data:t})}),r=l,n=h);break}case"Z":e.push({key:"Z",data:[]}),r=a,n=i}s=h}return e}function A(t,e,s){return[t*Math.cos(s)-e*Math.sin(s),t*Math.sin(s)+e*Math.cos(s)]}var E={randOffset:function(t,e){return K(t,e)},randOffsetWithRange:function(t,e,s){return J(t,e,s)},ellipse:function(t,e,s,r,n){let a=B(s,r,n);return F(t,e,n,a).opset},doubleLineOps:function(t,e,s,r,n){return U(t,e,s,r,n,!0)}};function G(t,e,s,r,n){return{type:"path",ops:U(t,e,s,r,n)}}function R(t,e,s){let r=(t||[]).length;if(r>2){let n=[];for(let e=0;e<r-1;e++)n.push(...U(t[e][0],t[e][1],t[e+1][0],t[e+1][1],s));return e&&n.push(...U(t[r-1][0],t[r-1][1],t[0][0],t[0][1],s)),{type:"path",ops:n}}return 2===r?G(t[0][0],t[0][1],t[1][0],t[1][1],s):{type:"path",ops:[]}}function Z(t,e){if(t.length){let s="number"==typeof t[0][0]?[t]:t,r=Y(s[0],+(1+.2*e.roughness),e),n=e.disableMultiStroke?[]:Y(s[0],1.5*(1+.22*e.roughness),H(e));for(let t=1;t<s.length;t++){let a=s[t];if(a.length){let t=Y(a,+(1+.2*e.roughness),e),s=e.disableMultiStroke?[]:Y(a,1.5*(1+.22*e.roughness),H(e));for(let e of t)"move"!==e.op&&r.push(e);for(let t of s)"move"!==t.op&&n.push(t)}}return{type:"path",ops:r.concat(n)}}return{type:"path",ops:[]}}function B(t,e,s){let r=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),n=2*Math.PI/Math.ceil(Math.max(s.curveStepCount,s.curveStepCount/Math.sqrt(200)*r)),a=Math.abs(t/2),i=Math.abs(e/2),o=1-s.curveFitting;return a+=K(a*o,s),i+=K(i*o,s),{increment:n,rx:a,ry:i}}function F(t,e,s,r){let[n,a]=te(r.increment,t,e,r.rx,r.ry,1,r.increment*J(.1,J(.4,1,s),s),s),i=tt(n,null,s);if(!s.disableMultiStroke&&0!==s.roughness){let[n]=te(r.increment,t,e,r.rx,r.ry,1.5,0,s),a=tt(n,null,s);i=i.concat(a)}return{estimatedPoints:a,opset:{type:"path",ops:i}}}function q(t,e,s,r,n,a,i,o,l){let h=Math.abs(s/2),u=Math.abs(r/2);h+=K(.01*h,l),u+=K(.01*u,l);let p=n,c=a;for(;p<0;)p+=2*Math.PI,c+=2*Math.PI;c-p>2*Math.PI&&(p=0,c=2*Math.PI);let f=Math.min(2*Math.PI/l.curveStepCount/2,(c-p)/2),d=ts(f,t,e,h,u,p,c,1,l);if(!l.disableMultiStroke){let s=ts(f,t,e,h,u,p,c,1.5,l);d.push(...s)}return i&&(o?d.push(...U(t,e,t+h*Math.cos(p),e+u*Math.sin(p),l),...U(t,e,t+h*Math.cos(c),e+u*Math.sin(c),l)):d.push({op:"lineTo",data:[t,e]},{op:"lineTo",data:[t+h*Math.cos(p),e+u*Math.sin(p)]})),{type:"path",ops:d}}function N(t,e){let s=T(C(W(t))),r=[],n=[0,0],a=[0,0];for(let{key:t,data:i}of s)switch(t){case"M":a=[i[0],i[1]],n=[i[0],i[1]];break;case"L":r.push(...U(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]];break;case"C":{let[t,s,n,o,l,h]=i;r.push(...function(t,e,s,r,n,a,i,o){let l=[],h=[o.maxRandomnessOffset||1,(o.maxRandomnessOffset||1)+.3],u=[0,0],p=o.disableMultiStroke?1:2,c=o.preserveVertices;for(let f=0;f<p;f++)0===f?l.push({op:"move",data:[i[0],i[1]]}):l.push({op:"move",data:[i[0]+(c?0:K(h[0],o)),i[1]+(c?0:K(h[0],o))]}),u=c?[n,a]:[n+K(h[f],o),a+K(h[f],o)],l.push({op:"bcurveTo",data:[t+K(h[f],o),e+K(h[f],o),s+K(h[f],o),r+K(h[f],o),u[0],u[1]]});return l}(t,s,n,o,l,h,a,e)),a=[l,h];break}case"Z":r.push(...U(a[0],a[1],n[0],n[1],e)),a=[n[0],n[1]]}return{type:"path",ops:r}}function Q(t,e){let s=[];for(let r of t)if(r.length){let t=e.maxRandomnessOffset||0,n=r.length;if(n>2){s.push({op:"move",data:[r[0][0]+K(t,e),r[0][1]+K(t,e)]});for(let a=1;a<n;a++)s.push({op:"lineTo",data:[r[a][0]+K(t,e),r[a][1]+K(t,e)]})}}return{type:"fillPath",ops:s}}function V(t,e){return(function(t,e){let s=t.fillStyle||"hachure";if(!I[s])switch(s){case"zigzag":I[s]||(I[s]=new w(e));break;case"cross-hatch":I[s]||(I[s]=new S(e));break;case"dots":I[s]||(I[s]=new O(e));break;case"dashed":I[s]||(I[s]=new L(e));break;case"zigzag-line":I[s]||(I[s]=new j(e));break;default:I[s="hachure"]||(I[s]=new $(e))}return I[s]})(e,E).fillPolygons(t,e)}function H(t){let e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function D(t){return t.randomizer||(t.randomizer=new _(t.seed||0)),t.randomizer.next()}function J(t,e,s,r=1){return s.roughness*r*(D(s)*(e-t)+t)}function K(t,e,s=1){return J(-t,t,e,s)}function U(t,e,s,r,n,a=!1){let i=a?n.disableMultiStrokeFill:n.disableMultiStroke,o=X(t,e,s,r,n,!0,!1);if(i)return o;let l=X(t,e,s,r,n,!0,!0);return o.concat(l)}function X(t,e,s,r,n,a,i){let o=Math.pow(t-s,2)+Math.pow(e-r,2),l=Math.sqrt(o),h=1;h=l<200?1:l>500?.4:-.0016668*l+1.233334;let u=n.maxRandomnessOffset||0;u*u*100>o&&(u=l/10);let p=u/2,c=.2+.2*D(n),f=n.bowing*n.maxRandomnessOffset*(r-e)/200,d=n.bowing*n.maxRandomnessOffset*(t-s)/200;f=K(f,n,h),d=K(d,n,h);let g=[],k=n.preserveVertices;return a&&(i?g.push({op:"move",data:[t+(k?0:K(p,n,h)),e+(k?0:K(p,n,h))]}):g.push({op:"move",data:[t+(k?0:K(u,n,h)),e+(k?0:K(u,n,h))]})),i?g.push({op:"bcurveTo",data:[f+t+(s-t)*c+K(p,n,h),d+e+(r-e)*c+K(p,n,h),f+t+2*(s-t)*c+K(p,n,h),d+e+2*(r-e)*c+K(p,n,h),s+(k?0:K(p,n,h)),r+(k?0:K(p,n,h))]}):g.push({op:"bcurveTo",data:[f+t+(s-t)*c+K(u,n,h),d+e+(r-e)*c+K(u,n,h),f+t+2*(s-t)*c+K(u,n,h),d+e+2*(r-e)*c+K(u,n,h),s+(k?0:K(u,n,h)),r+(k?0:K(u,n,h))]}),g}function Y(t,e,s){if(!t.length)return[];let r=[];r.push([t[0][0]+K(e,s),t[0][1]+K(e,s)]),r.push([t[0][0]+K(e,s),t[0][1]+K(e,s)]);for(let n=1;n<t.length;n++)r.push([t[n][0]+K(e,s),t[n][1]+K(e,s)]),n===t.length-1&&r.push([t[n][0]+K(e,s),t[n][1]+K(e,s)]);return tt(r,null,s)}function tt(t,e,s){let r=t.length,n=[];if(r>3){let a=[],i=1-s.curveTightness;n.push({op:"move",data:[t[1][0],t[1][1]]});for(let e=1;e+2<r;e++){let s=t[e];a[0]=[s[0],s[1]],a[1]=[s[0]+(i*t[e+1][0]-i*t[e-1][0])/6,s[1]+(i*t[e+1][1]-i*t[e-1][1])/6],a[2]=[t[e+1][0]+(i*t[e][0]-i*t[e+2][0])/6,t[e+1][1]+(i*t[e][1]-i*t[e+2][1])/6],a[3]=[t[e+1][0],t[e+1][1]],n.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(e&&2===e.length){let t=s.maxRandomnessOffset;n.push({op:"lineTo",data:[e[0]+K(t,s),e[1]+K(t,s)]})}}else 3===r?(n.push({op:"move",data:[t[1][0],t[1][1]]}),n.push({op:"bcurveTo",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===r&&n.push(...X(t[0][0],t[0][1],t[1][0],t[1][1],s,!0,!0));return n}function te(t,e,s,r,n,a,i,o){let l=0===o.roughness,h=[],u=[];if(l){t/=4,u.push([e+r*Math.cos(-t),s+n*Math.sin(-t)]);for(let a=0;a<=2*Math.PI;a+=t){let t=[e+r*Math.cos(a),s+n*Math.sin(a)];h.push(t),u.push(t)}u.push([e+ +r,s+0*n]),u.push([e+r*Math.cos(t),s+n*Math.sin(t)])}else{let l=K(.5,o)-Math.PI/2;u.push([K(a,o)+e+.9*r*Math.cos(l-t),K(a,o)+s+.9*n*Math.sin(l-t)]);let p=2*Math.PI+l-.01;for(let i=l;i<p;i+=t){let t=[K(a,o)+e+r*Math.cos(i),K(a,o)+s+n*Math.sin(i)];h.push(t),u.push(t)}u.push([K(a,o)+e+r*Math.cos(l+2*Math.PI+.5*i),K(a,o)+s+n*Math.sin(l+2*Math.PI+.5*i)]),u.push([K(a,o)+e+.98*r*Math.cos(l+i),K(a,o)+s+.98*n*Math.sin(l+i)]),u.push([K(a,o)+e+.9*r*Math.cos(l+.5*i),K(a,o)+s+.9*n*Math.sin(l+.5*i)])}return[u,h]}function ts(t,e,s,r,n,a,i,o,l){let h=a+K(.1,l),u=[];u.push([K(o,l)+e+.9*r*Math.cos(h-t),K(o,l)+s+.9*n*Math.sin(h-t)]);for(let a=h;a<=i;a+=t)u.push([K(o,l)+e+r*Math.cos(a),K(o,l)+s+n*Math.sin(a)]);return u.push([e+r*Math.cos(i),s+n*Math.sin(i)]),u.push([e+r*Math.cos(i),s+n*Math.sin(i)]),tt(u,null,l)}function tr(t,e=0){let s=t.length;if(s<3)throw Error("A curve must have at least three points.");let r=[];if(3===s)r.push([...t[0]],[...t[1]],[...t[2]],[...t[2]]);else{let s=[];s.push(t[0],t[0]);for(let e=1;e<t.length;e++)s.push(t[e]),e===t.length-1&&s.push(t[e]);let n=[],a=1-e;r.push([...s[0]]);for(let t=1;t+2<s.length;t++){let e=s[t];n[0]=[e[0],e[1]],n[1]=[e[0]+(a*s[t+1][0]-a*s[t-1][0])/6,e[1]+(a*s[t+1][1]-a*s[t-1][1])/6],n[2]=[s[t+1][0]+(a*s[t][0]-a*s[t+2][0])/6,s[t+1][1]+(a*s[t][1]-a*s[t+2][1])/6],n[3]=[s[t+1][0],s[t+1][1]],r.push(n[1],n[2],n[3])}}return r}function tn(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function ta(t,e,s){return[t[0]+(e[0]-t[0])*s,t[1]+(e[1]-t[1])*s]}function ti(t,e,s,r,n){let a=n||[],i=t[e],o=t[s-1],l=0,h=1;for(let r=e+1;r<s-1;++r){let e=function(t,e,s){let r=tn(e,s);if(0===r)return tn(t,e);let n=((t[0]-e[0])*(s[0]-e[0])+(t[1]-e[1])*(s[1]-e[1]))/r;return tn(t,ta(e,s,n=Math.max(0,Math.min(1,n))))}(t[r],i,o);e>l&&(l=e,h=r)}return Math.sqrt(l)>r?(ti(t,e,h+1,r,a),ti(t,h,s,r,a)):(a.length||a.push(i),a.push(o)),a}function to(t,e=.15,s){let r=[],n=(t.length-1)/3;for(let s=0;s<n;s++)!function t(e,s,r,n){let a,i,o,l,h,u,p,c,f=n||[];if(a=e[s+0],i=e[s+1],o=e[s+2],l=e[s+3],h=3*i[0]-2*a[0]-l[0],h*=h,u=3*i[1]-2*a[1]-l[1],u*=u,p=3*o[0]-2*l[0]-a[0],p*=p,c=3*o[1]-2*l[1]-a[1],c*=c,h<p&&(h=p),u<c&&(u=c),h+u<r){let t=e[s+0];f.length?Math.sqrt(tn(f[f.length-1],t))>1&&f.push(t):f.push(t),f.push(e[s+3])}else{let n=e[s+0],a=e[s+1],i=e[s+2],o=e[s+3],l=ta(n,a,.5),h=ta(a,i,.5),u=ta(i,o,.5),p=ta(l,h,.5),c=ta(h,u,.5),d=ta(p,c,.5);t([n,l,p,d],0,r,f),t([d,c,u,o],0,r,f)}return f}(t,3*s,e,r);return s&&s>0?ti(r,0,r.length,s):r}var tl="none",th=new class{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(0x80000000*Math.random())}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,s){return{shape:t,sets:e||[],options:s||this.defaultOptions}}line(t,e,s,r,n){let a=this._o(n);return this._d("line",[G(t,e,s,r,a)],a)}rectangle(t,e,s,r,n){let a=this._o(n),i=[],o=R([[t,e],[t+s,e],[t+s,e+r],[t,e+r]],!0,a);if(a.fill){let n=[[t,e],[t+s,e],[t+s,e+r],[t,e+r]];"solid"===a.fillStyle?i.push(Q([n],a)):i.push(V([n],a))}return a.stroke!==tl&&i.push(o),this._d("rectangle",i,a)}ellipse(t,e,s,r,n){let a=this._o(n),i=[],o=B(s,r,a),l=F(t,e,a,o);if(a.fill)if("solid"===a.fillStyle){let s=F(t,e,a,o).opset;s.type="fillPath",i.push(s)}else i.push(V([l.estimatedPoints],a));return a.stroke!==tl&&i.push(l.opset),this._d("ellipse",i,a)}circle(t,e,s,r){let n=this.ellipse(t,e,s,s,r);return n.shape="circle",n}linearPath(t,e){let s=this._o(e);return this._d("linearPath",[R(t,!1,s)],s)}arc(t,e,s,r,n,a,i=!1,o){let l=this._o(o),h=[],u=q(t,e,s,r,n,a,i,!0,l);if(i&&l.fill)if("solid"===l.fillStyle){let i=Object.assign({},l);i.disableMultiStroke=!0;let o=q(t,e,s,r,n,a,!0,!1,i);o.type="fillPath",h.push(o)}else h.push(function(t,e,s,r,n,a,i){let o=Math.abs(s/2),l=Math.abs(r/2);o+=K(.01*o,i),l+=K(.01*l,i);let h=n,u=a;for(;h<0;)h+=2*Math.PI,u+=2*Math.PI;u-h>2*Math.PI&&(h=0,u=2*Math.PI);let p=(u-h)/i.curveStepCount,c=[];for(let s=h;s<=u;s+=p)c.push([t+o*Math.cos(s),e+l*Math.sin(s)]);return c.push([t+o*Math.cos(u),e+l*Math.sin(u)]),c.push([t,e]),V([c],i)}(t,e,s,r,n,a,l));return l.stroke!==tl&&h.push(u),this._d("arc",h,l)}curve(t,e){let s=this._o(e),r=[],n=Z(t,s);if(s.fill&&s.fill!==tl)if("solid"===s.fillStyle){let e=Z(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));r.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else{let e=[];if(t.length)for(let r of"number"==typeof t[0][0]?[t]:t)r.length<3?e.push(...r):3===r.length?e.push(...to(tr([r[0],r[0],r[1],r[2]]),10,(1+s.roughness)/2)):e.push(...to(tr(r),10,(1+s.roughness)/2));e.length&&r.push(V([e],s))}return s.stroke!==tl&&r.push(n),this._d("curve",r,s)}polygon(t,e){let s=this._o(e),r=[],n=R(t,!0,s);return s.fill&&("solid"===s.fillStyle?r.push(Q([t],s)):r.push(V([t],s))),s.stroke!==tl&&r.push(n),this._d("polygon",r,s)}path(t,e){let s=this._o(e),r=[];if(!t)return this._d("path",r,s);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let n=s.fill&&"transparent"!==s.fill&&s.fill!==tl,a=s.stroke!==tl,i=!!(s.simplification&&s.simplification<1),o=i?4-4*(s.simplification||1):(1+s.roughness)/2,l=function(t,e,s){let r=T(C(W(t))),n=[],a=[],i=[0,0],o=[],l=()=>{o.length>=4&&a.push(...to(o,1)),o=[]},h=()=>{l(),a.length&&(n.push(a),a=[])};for(let{key:t,data:e}of r)switch(t){case"M":h(),i=[e[0],e[1]],a.push(i);break;case"L":l(),a.push([e[0],e[1]]);break;case"C":if(!o.length){let t=a.length?a[a.length-1]:i;o.push([t[0],t[1]])}o.push([e[0],e[1]]),o.push([e[2],e[3]]),o.push([e[4],e[5]]);break;case"Z":l(),a.push([i[0],i[1]])}if(h(),!s)return n;let u=[];for(let t of n){let e=ti(t,0,t.length,s);e.length&&u.push(e)}return u}(t,0,o),h=N(t,s);if(n)if("solid"===s.fillStyle)if(1===l.length){let e=N(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));r.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else r.push(Q(l,s));else r.push(V(l,s));return a&&(i?l.forEach(t=>{r.push(R(t,!1,s))}):r.push(h)),this._d("path",r,s)}opsToPath(t,e){let s="";for(let r of t.ops){let t="number"==typeof e&&e>=0?r.data.map(t=>+t.toFixed(e)):r.data;switch(r.op){case"move":s+=`M${t[0]} ${t[1]} `;break;case"bcurveTo":s+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case"lineTo":s+=`L${t[0]} ${t[1]} `}}return s.trim()}toPaths(t){let e=t.sets||[],s=t.options||this.defaultOptions,r=[];for(let t of e){let e=null;switch(t.type){case"path":e={d:this.opsToPath(t),stroke:s.stroke,strokeWidth:s.strokeWidth,fill:tl};break;case"fillPath":e={d:this.opsToPath(t),stroke:tl,strokeWidth:0,fill:s.fill||tl};break;case"fillSketch":e=this.fillSketch(t,s)}e&&r.push(e)}return r}fillSketch(t,e){let s=e.fillWeight;return s<0&&(s=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||tl,strokeWidth:s,fill:tl}}_mergedShape(t){return t.filter((t,e)=>0===e||"move"!==t.op)}};function tu(t){return{roughness:t?.roughness??1,bowing:t?.bowing??1,passes:t?.passes??2,strokeWidth:t?.strokeWidth??1.6,fill:t?.fill??"none",hachureAngle:t?.hachureAngle??-41,hachureGap:t?.hachureGap??5,fillWeight:t?.fillWeight??.9}}function tp(t,e,s,r,n,a={},i){let o=[],l=function(t={}){return[`stroke-linecap="${t.lineCap??"round"}"`,`stroke-linejoin="${t.lineJoin??"round"}"`,...void 0!==t.miterLimit?[`stroke-miterlimit="${d(String(t.miterLimit))}"`]:[],...void 0!==t.dashArray?[`stroke-dasharray="${d(t.dashArray)}"`]:[],...void 0!==t.dashOffset?[`stroke-dashoffset="${d(String(t.dashOffset))}"`]:[],...void 0!==t.opacity?[`stroke-opacity="${d(String(t.opacity))}"`]:[],...void 0!==t.pathLength?[`pathLength="${d(String(t.pathLength))}"`]:[],...void 0!==t.paintOrder?[`paint-order="${d(t.paintOrder)}"`]:[],...void 0!==t.mixBlendMode?[`style="mix-blend-mode:${t.mixBlendMode}"`]:[],...t.nonScaling?['vector-effect="non-scaling-stroke"']:[]].join(" ")}(a),h=l?` ${l}`:" ",u=i?.stroke===void 0?"":` stroke-opacity="${d(String(i.stroke))}"`,p=i?.fill===void 0?"":` stroke-opacity="${d(String(i.fill))}"`;for(let a of t){let t=th.opsToPath(a,2);t&&("path"===a.type?o.push(`<path d="${t}" fill="none" stroke="${e}" stroke-width="${g(s)}"${h}${u} />`):"fillPath"===a.type?o.push(`<path d="${t}" fill="${r}" fill-opacity="${d(String(i?.fill??.92))}" stroke="none" />`):"fillSketch"===a.type&&o.push(`<path d="${t}" fill="none" stroke="${r}" stroke-width="${g(n.fillWeight)}"${p} />`))}return o.join(`
|
|
2
|
+
`)}function tc(t,e,s,r,n,a,i,o,l){var h,u,p,c,f;let d={...o,...void 0!==i?{dashArray:i}:{}},g={seed:e,roughness:a.roughness,bowing:a.bowing,stroke:s,strokeWidth:r,disableMultiStroke:a.passes<2,...n?{fill:n,fillStyle:"solid"===a.fill?"solid":"hachure",fillWeight:a.fillWeight,hachureGap:a.hachureGap,hachureAngle:a.hachureAngle}:{},preserveVertices:!1};try{switch(t.kind){case"rect":let e;return(t.rx??0)>.5?tp(th.path((h=t.x,u=t.y,p=t.width,c=t.height,f=t.rx,e=Math.min(f,p/2,c/2),`M ${h+e} ${u} L ${h+p-e} ${u} Q ${h+p} ${u} ${h+p} ${u+e} L ${h+p} ${u+c-e} Q ${h+p} ${u+c} ${h+p-e} ${u+c} L ${h+e} ${u+c} Q ${h} ${u+c} ${h} ${u+c-e} L ${h} ${u+e} Q ${h} ${u} ${h+e} ${u} Z`),g).sets,s,r,n,a,d,l):tp(th.rectangle(t.x,t.y,t.width,t.height,g).sets,s,r,n,a,d,l);case"circle":return tp(th.circle(t.cx,t.cy,2*t.r,g).sets,s,r,n,a,d,l);case"ellipse":return tp(th.ellipse(t.cx,t.cy,2*t.rx,2*t.ry,g).sets,s,r,n,a,d,l);case"line":return tp(th.line(t.x1,t.y1,t.x2,t.y2,g).sets,s,r,void 0,a,d,l);case"polygon":return tp(th.polygon(t.points.map(t=>[t.x,t.y]),g).sets,s,r,n,a,d,l);case"polyline":return tp(th.linearPath(t.points.map(t=>[t.x,t.y]),g).sets,s,r,void 0,a,d,l);case"path":return tp(th.path(t.d,g).sets,s,r,n,a,d,l);case"compound":return""}}catch{return""}}function tf(t,e,s,r,n,a,i,o,l){if(t.sketcher){let h=t.sketcher(e,{seed:s,stroke:r,width:n,fill:a,p:t.p,style:t.ctx.style,dash:i,strokeProjection:o,opacity:l});if(null!==h)return h}return tc(e,s,r,n,a,t.p,i,o,l)}function td(t,e,s){return t.replace(`<${e} `,`<${e} ${s} `)}function tg(t){if(void 0===t)return 1;let e="number"==typeof t?t:parseFloat(t);return Number.isNaN(e)?1:e}function tk(t,e){return void 0!==t?t:e}function ty(t,e){return e&&""!==t?`<g transform="${c(e)}">${t}</g>`:t}function tM(t){return t.startsWith("var(--_node-fill")||t.startsWith("var(--_group")||"var(--bg)"===t||"var(--surface)"===t}function tm(t,e){return/<text\b[^>]*?\sfill="/.test(t)?t.replace(/(<text\b[^>]*?\sfill=")[^"]*(")/,`$1${d(e)}$2`):t.replace(/<text /,`<text fill="${d(e)}" `)}function tx(e,s){switch(e.kind){case"document":return t(e);case"shape":return"shape"===f(e.role).sketch?function(e,s){let r=s.p,a=t(e),i=function(t){let e=[],s=0,r,n=/<\/([a-zA-Z][a-zA-Z0-9-]*)>/g,a=[];for(let e of k(t)){let t=new Map(e.attributes.map(t=>[t.name,t.value]));a.push({index:e.start,kind:e.selfClosing?"self":"open",tag:e.name,attrs:t})}for(;null!==(r=n.exec(t));)a.push({index:r.index,kind:"close",tag:r[1]});for(let t of(a.sort((t,e)=>t.index-e.index),a))"self"===t.kind?0===s&&e.push({tag:t.tag,attrs:t.attrs}):"open"===t.kind?(0===s&&e.push({tag:t.tag,attrs:t.attrs}),s++):s--;return e}(a),o="compound"===e.geometry.kind?e.geometry.children:[e.geometry];if(i.length<o.length)return a;let l=a.split(`
|
|
3
|
+
`),u=t=>1===l.length&&0===t?a:l[t]??"",p=[];for(let t=0;t<o.length;t++){var c,f;let a=i[t],l=tk(a.attrs.get("stroke"),e.paint.stroke),h=tk(a.attrs.get("fill"),e.paint.fill),d=n(s.ctx.seed,e.id,`outline:${t}`)||1,g=tg(tk(a.attrs.get("stroke-width"),e.paint.strokeWidth)),k=tk(a.attrs.get("stroke-dasharray"),e.paint.strokeDasharray),y=void 0!==l&&"none"!==l&&g>0,M=void 0!==h&&"none"!==h,m=M&&"none"!==r.fill?h:void 0,x=function(t,e){let s=t.get("opacity")??e.opacity,r=t.get("fill-opacity")??e.fillOpacity,n=t.get("stroke-opacity")??e.strokeOpacity;if(void 0===s&&void 0===r&&void 0===n)return;let a=t=>void 0===t?s:void 0===s?t:Number(s)*Number(t);return{fill:a(r),stroke:a(n)}}(a.attrs,e.paint)??{};if("wash"===r.fill&&e.channels?.category!==void 0&&["pie-slice","actor","legend","point","bar"].includes(e.role)&&(x.fill??="1"),!y){if(e.surfaceFragment&&M&&"none"===r.fill&&tM(h))continue;if(m){let r=tf(s,o[t],d,"none",0,m,k,void 0,x);if(r){p.push(ty(r,e.transform));continue}}p.push(u(t));continue}let v=Math.max(.6,Math.min(r.strokeWidth*g,4*r.strokeWidth)),b=tf(s,o[t],d,l,v,m,k,void 0,x);if(!b){p.push(u(t));continue}M&&"none"===r.fill&&!tM(h)&&p.push((c=u(t),f=a.tag,/style="/.test(c)?c.replace(/style="([^"]*)"/,(t,e)=>{let s=0===e.trim().length||/;\s*$/.test(e)?"":";";return`style="${e}${s}stroke:none"`}):td(c,f,'style="stroke:none"'))),p.push(ty(b,e.transform))}let d=p.filter(Boolean).join(`
|
|
4
|
+
`);return e.identity&&!/\sdata-id=/.test(d)?h(d,e.identity):d}(e,s):t(e);case"connector":return"connector"===f(e.role).sketch?function(e,s){let r=t(e);if("invisible"===e.lineStyle||""===r)return r;let a=e.stroke.color,i=tg(e.stroke.width);if(i<=0)return r;let o=e.stroke.encodesValue?i:s.p.strokeWidth*i,l=n(s.ctx.seed,e.id,"stroke")||1,h=e.stroke.dash?"string"==typeof e.stroke.dash.array?e.stroke.dash.array:e.stroke.dash.array.join(" "):void 0,p={...void 0!==h?{dashArray:h}:{},...e.stroke.dash?.offset!==void 0?{dashOffset:e.stroke.dash.offset}:{},lineCap:e.stroke.lineCap,lineJoin:e.stroke.lineJoin,miterLimit:e.stroke.miterLimit,...void 0!==e.stroke.opacity?{opacity:e.stroke.opacity}:{},...void 0!==e.stroke.pathLength?{pathLength:e.stroke.pathLength}:{},...void 0!==e.stroke.paintOrder?{paintOrder:e.stroke.paintOrder}:{},...void 0!==e.stroke.mixBlendMode?{mixBlendMode:e.stroke.mixBlendMode}:{},nonScaling:e.stroke.nonScaling},c="",f=e.route.geometry;if("polyline"===f.kind)c=tf(s,{kind:"polyline",points:f.points},l,a,o,void 0,h,p);else if("line"===f.kind)c=tf(s,f,l,a,o,void 0,h,p);else{let t=u(f,e.route.closed);if(1===t.length&&(c=tf(s,{kind:"path",d:f.d},l,a,o,void 0,h,p)),!c&&f.points.length>1){let e=t.map((t,e)=>{let r=t.points[0],n=t.points.at(-1);return tf(s,{kind:"polyline",points:[...t.closed&&r&&n&&(r.x!==n.x||r.y!==n.y)?[...t.points,r]:t.points]},l+e,a,o,void 0,h,p)});c=e.every(Boolean)?e.join(`
|
|
5
|
+
`):""}}if(!c)return r;let d=r.replace(/\sstroke-opacity=(?:"[^"]*"|'[^']*')/,' stroke-opacity="0"');return`${d===r?td(r,e.route.geometry.kind,'stroke-opacity="0"'):d}
|
|
6
|
+
${ty(c,e.transform)}`}(e,s):t(e);case"text":return f(e.role).textHalo?(void 0!==e.pageFill?tm(t(e),e.pageFill):function(t,e,s){let r=s.colors,n=void 0===r?void 0:x("var(--bg)",r);if(void 0===r||void 0===n)return t;let a=e.fontSize>=24?m:M,i=t=>{let e=x(t,r);return void 0!==e&&(y(e,n)??a)<a};return(void 0!==e.paint.fill&&i(e.paint.fill)?tm(t,"var(--_text)"):t).replace(/(<tspan\b[^>]*?\sfill=")([^"]*)(")/g,(t,e,s,r)=>i(s)?`${e}var(--_text)${r}`:t)}(t(e),e,s)).replace(/<text\b[^>]*>/g,t=>t.replace(/\s(?:paint-order|stroke|stroke-width|stroke-linejoin|stroke-linecap)="[^"]*"/g,"").replace(/^<text/,'<text paint-order="stroke" stroke="var(--bg)" stroke-width="3" stroke-linejoin="round" stroke-linecap="round"')):t(e);case"group":return i(e.open,e.close,e.join,e.children.map(t=>({serialized:tx(t.node,s),indent:t.indent})))}}function tv(t,s){return{id:t,capabilities:e(`backend:${t}`,"sketch",s?"hybrid":"rough"),drawNode:(t,e)=>tx(t,{ctx:e,p:tu(e.style),sketcher:s}),render(t,e){let n=r(t),i={ctx:e,p:tu(e.style),sketcher:s,colors:n.colors},l=[];for(let t=0;t<n.parts.length;t++){let s=n.parts[t];if(l.push(a(e,s,tx(s,i))),0===t&&"document"===s.kind&&"open"===s.element){let t=o(n,e);t&&l.push(t);let s=function(t,e){let s=t?.backdrop??"plain";if("paper-ruled"===s){let t=['<g data-backdrop="paper-ruled">'];for(let s=26;s<e.height;s+=26)t.push(` <line x1="0" y1="${s}" x2="${e.width}" y2="${s}" stroke="var(--_line)" stroke-width="0.5" opacity="0.14" />`);return t.push("</g>"),t.join(`
|
|
7
|
+
`)}if("grid"===s){let t=['<g data-backdrop="grid">'];for(let s=22;s<e.width;s+=22)t.push(` <line x1="${s}" y1="0" x2="${s}" y2="${e.height}" stroke="var(--_line)" stroke-width="0.5" opacity="0.10" />`);for(let s=22;s<e.height;s+=22)t.push(` <line x1="0" y1="${s}" x2="${e.width}" y2="${s}" stroke="var(--_line)" stroke-width="0.5" opacity="0.10" />`);return t.push("</g>"),t.join(`
|
|
8
|
+
`)}return""}(e.style,n);s&&l.push(s)}}return l.join(`
|
|
9
|
+
`)}}}var tb=tv("rough"),{PI:t$}=Math,tP=t$+1e-4,tw=.5,tS=[1,1];function tO(t,e,s,r=t=>t){return t*r(.5-e*(.5-s))}var{min:tL}=Math;function tj(t,e,s){let r=tL(1,e/s);return tL(1,t+(tL(1,1-r)-t)*(.275*r))}function tI(t,e){return[t[0]+e[0],t[1]+e[1]]}function t_(t,e,s){return t[0]=e[0]+s[0],t[1]=e[1]+s[1],t}function tz(t,e){return[t[0]-e[0],t[1]-e[1]]}function tW(t,e,s){return t[0]=e[0]-s[0],t[1]=e[1]-s[1],t}function tC(t,e){return[t[0]*e,t[1]*e]}function tT(t,e,s){return t[0]=e[0]*s,t[1]=e[1]*s,t}function tA(t){return[t[1],-t[0]]}function tE(t,e){let s=e[0];return t[0]=e[1],t[1]=-s,t}function tG(t,e){return t[0]*e[0]+t[1]*e[1]}function tR(t,e){let s=t[0]-e[0],r=t[1]-e[1];return s*s+r*r}function tZ(t){var e;return e=Math.hypot(t[0],t[1]),[t[0]/e,t[1]/e]}function tB(t,e,s){let r=Math.sin(s),n=Math.cos(s),a=t[0]-e[0],i=t[1]-e[1];return[a*n-i*r+e[0],a*r+i*n+e[1]]}function tF(t,e,s,r){let n=Math.sin(r),a=Math.cos(r),i=e[0]-s[0],o=e[1]-s[1];return t[0]=i*a-o*n+s[0],t[1]=i*n+o*a+s[1],t}function tq(t,e,s){return tI(t,tC(tz(e,t),s))}var tN=[0,0],tQ=[0,0],tV=[0,0];function tH(t,e,s){return!1===t||void 0===t?0:!0===t?Math.max(e,s):t}var tD=[0,0];function tJ(t){return null!=t&&t>=0}var tK=t=>Math.round(1e3*t)/1e3,tU=(t,e,s)=>t+(e-t)*s,tX=t=>Math.max(0,Math.min(1,t));function tY(t){switch(t.kind){case"rect":return[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}];case"polygon":return t.points;case"circle":{let e=[];for(let s=0;s<24;s++){let r=s/24*Math.PI*2;e.push({x:t.cx+Math.cos(r)*t.r,y:t.cy+Math.sin(r)*t.r})}return e}case"ellipse":{let e=[];for(let s=0;s<28;s++){let r=s/28*Math.PI*2;e.push({x:t.cx+Math.cos(r)*t.rx,y:t.cy+Math.sin(r)*t.ry})}return e}default:return null}}function t0(t,e,s){if(t.length<2)return"";var r=function(t,e={}){return function(t,e={}){var s,r;let{size:n=16,smoothing:a=.5,thinning:i=.5,simulatePressure:o=!0,easing:l=t=>t,start:h={},end:u={},last:p=!1}=e,{cap:c=!0,easing:f=t=>t*(2-t)}=h,{cap:d=!0,easing:g=t=>--t*t*t+1}=u;if(0===t.length||n<=0)return[];let k=t[t.length-1].runningLength,y=tH(h.taper,n,k),M=tH(u.taper,n,k),m=(n*a)**2,x=[],v=[],b=t.slice(0,10).reduce((t,e)=>{let s=e.pressure;return o&&(s=tj(t,e.distance,n)),(t+s)/2},t[0].pressure),$=tO(n,i,t[t.length-1].pressure,l),P,w=t[0].vector,S=t[0].point,O=S,L=S,j=O,I=!1;for(let e=0;e<t.length;e++){let{pressure:s}=t[e],{point:r,vector:a,distance:h,runningLength:u}=t[e],p=e===t.length-1;if(!p&&k-u<3)continue;i?(o&&(s=tj(b,h,n)),$=tO(n,i,s,l)):$=n/2,void 0===P&&(P=$),$=Math.max(.01,$*Math.min(u<y?f(u/y):1,k-u<M?g((k-u)/M):1));let c=(p?t[e]:t[e+1]).vector,d=p?1:tG(a,c),_=0>tG(a,w)&&!I,z=null!==d&&d<0;if(_||z){tE(tN,w),tT(tN,tN,$);for(let t=0;t<=1;t+=.07692307692307693)tW(tQ,r,tN),tF(tQ,tQ,r,tP*t),L=[tQ[0],tQ[1]],x.push(L),t_(tV,r,tN),tF(tV,tV,r,-(tP*t)),j=[tV[0],tV[1]],v.push(j);S=L,O=j,z&&(I=!0);continue}if(I=!1,p){tE(tN,a),tT(tN,tN,$),x.push(tz(r,tN)),v.push(tI(r,tN));continue}(function(t,e,s,r){let n=s[0]-e[0],a=s[1]-e[1];t[0]=e[0]+n*r,t[1]=e[1]+a*r})(tN,c,a,d),tE(tN,tN),tT(tN,tN,$),tW(tQ,r,tN),L=[tQ[0],tQ[1]],(e<=1||tR(S,L)>m)&&(x.push(L),S=L),t_(tV,r,tN),j=[tV[0],tV[1]],(e<=1||tR(O,j)>m)&&(v.push(j),O=j),b=s,w=a}let _=[t[0].point[0],t[0].point[1]],z=t.length>1?[t[t.length-1].point[0],t[t.length-1].point[1]]:tI(t[0].point,[1,1]),W=[],C=[];if(1===t.length){if(!(y||M)||p)return function(t,e){var s;let r=(s=tZ(tA(tz(t,tI(t,[1,1])))),tI(t,tC(s,-e))),n=[],a=1/13;for(let e=a;e<=1;e+=a)n.push(tB(r,t,2*tP*e));return n}(_,P||$)}else{let e,n,a;y||M&&1===t.length||(c?W.push(...function(t,e,s){let r=[],n=1/13;for(let s=n;s<=1;s+=n)r.push(tB(e,t,tP*s));return r}(_,v[0],0)):W.push(...(n=tC(e=tz(x[0],v[0]),.5),a=tC(e,.51),[tz(_,n),tz(_,a),tI(_,a),tI(_,n)])));let i=tA([-(s=t[t.length-1].vector)[0],-s[1]]);M||y&&1===t.length?C.push(z):d?C.push(...function(t,e,s,r){let n=[],a=tI(t,tC(e,s)),i=1/29;for(let e=i;e<1;e+=i)n.push(tB(a,t,3*tP*e));return n}(z,i,$,0)):C.push(tI(z,tC(i,r=$)),tI(z,tC(i,.99*r)),tz(z,tC(i,.99*r)),tz(z,tC(i,r)))}return x.concat(C,v.reverse(),W)}(function(t,e={}){let{streamline:s=.5,size:r=16,last:n=!1}=e;if(0===t.length)return[];let a=.15+(1-s)*.85,i=Array.isArray(t[0])?t:t.map(({x:t,y:e,pressure:s=tw})=>[t,e,s]);if(2===i.length){let t=i[1];i=i.slice(0,-1);for(let e=1;e<5;e++)i.push(tq(i[0],t,e/4))}1===i.length&&(i=[...i,[...tI(i[0],tS),...i[0].slice(2)]]);let o=[{point:[i[0][0],i[0][1]],pressure:tJ(i[0][2])?i[0][2]:.25,vector:[...tS],distance:0,runningLength:0}],l=!1,h=0,u=o[0],p=i.length-1;for(let t=1;t<i.length;t++){var c,f;let e=n&&t===p?[i[t][0],i[t][1]]:tq(u.point,i[t],a);if((c=u.point)[0]===e[0]&&c[1]===e[1])continue;let s=(f=u.point,Math.hypot(e[1]-f[1],e[0]-f[0]));if(h+=s,t<p&&!l){if(h<r)continue;l=!0}tW(tD,u.point,e),u={point:e,pressure:tJ(i[t][2])?i[t][2]:tw,vector:tZ(tD),distance:s,runningLength:h},o.push(u)}return o[0].vector=o[1]?.vector||[0,0],o}(t,e),e)}(function(t,e,s,r){let n=s?[...t,t[0]]:t,a=[];for(let t=0;t<n.length-1;t++){let r=n[t],i=n[t+1],o=Math.hypot(i.x-r.x,i.y-r.y)||1,l=Math.max(1,Math.ceil(o/14)),h=-(i.y-r.y)/o,u=(i.x-r.x)/o;for(let o=0;o<l;o++){if(t>0&&0===o)continue;let p=o/l,c=s||(0!==t||0!==o)&&(t!==n.length-2||o!==l)?(e()-.5)*2:0,f={x:tU(r.x,i.x,p)+h*c,y:tU(r.y,i.y,p)+u*c},d=tX(.52+.12*Math.sin((t+p)/Math.max(1,n.length-1)*Math.PI*2)+(e()-.5)*.16);a.push([f.x,f.y,d])}}let i=n[n.length-1];return a.push([i.x,i.y,s?a[0]?.[2]??.55:.46]),a}(t,e,s.closed,0),{size:s.width,thinning:.58,smoothing:.62,streamline:.35,simulatePressure:!1,start:{cap:!0,taper:10*!s.closed},end:{cap:!0,taper:14*!s.closed},last:!0});if(r.length<2)return"";let n=[`M${tK(r[0][0])},${tK(r[0][1])}`];for(let t=1;t<r.length;t++){let[e,s]=r[t],[a,i]=r[(t+1)%r.length];n.push(`Q${tK(e)},${tK(s)} ${tK((e+a)/2)},${tK((s+i)/2)}`)}return n.push("Z"),n.join(" ")}var t1=Object.freeze([l,tb,tv("hybrid",(t,e)=>{var r,n,a,i,o,l,h,u;let p=e.style?.stroke??"jittered",c=(e.style?.fill??"none")==="wash"&&void 0!==e.fill,f="freehand"===p,g=e.opacity?.fill===void 0?void 0:Number(e.opacity.fill),k=e.opacity?.stroke===void 0?void 0:Number(e.opacity.stroke);if(!c&&!f)return null;let y=[];if(c){let i,o=s((0x9e3779b9^e.seed)>>>0),l="path"===t.kind?null:tY(t);l?y.push((r=e.fill,n=g??e.style?.washOpacity??.3,a=e.style?.washEdge??.34,i=l.map(t=>({x:t.x+(o()-.5)*3,y:t.y+(o()-.5)*3})).map((t,e)=>`${e?"L":"M"}${tK(t.x)},${tK(t.y)}`).join(" ")+" Z",`<path d="${i}" fill="${r}" fill-opacity="${n}" stroke="none" />
|
|
10
|
+
<path d="${i}" fill="none" stroke="${r}" stroke-width="1.4" stroke-opacity="${a}" />`)):"path"===t.kind&&y.push(`<path d="${t.d}" fill="${e.fill}" fill-opacity="${g??e.style?.washOpacity??.3}" stroke="${e.fill}" stroke-width="1.4" stroke-opacity="${e.style?.washEdge??.34}" />`)}if(f&&!e.dash){let r=s(e.seed||1),n=Math.max(2.5,2.2*e.width),a="";if("polyline"===t.kind)a=t0(t.points,r,{width:n,closed:!1});else if("line"===t.kind)a=t0([{x:t.x1,y:t.y1},{x:t.x2,y:t.y2}],r,{width:n,closed:!1});else{let e=tY(t);e&&(a=t0(e,r,{width:n,closed:!0}))}if(a){let t=e.strokeProjection?[...void 0!==e.strokeProjection.opacity?[`opacity="${d(String(e.strokeProjection.opacity))}"`]:[],...void 0!==e.strokeProjection.paintOrder?[`paint-order="${d(e.strokeProjection.paintOrder)}"`]:[],...void 0!==e.strokeProjection.mixBlendMode?[`style="mix-blend-mode:${e.strokeProjection.mixBlendMode}"`]:[]].join(" "):"",s=void 0===k?"":` fill-opacity="${d(String(k))}"`;return y.push(`<path d="${a}" fill="${e.stroke}" stroke="none"${s}${t?` ${t}`:""} />`),y.join(`
|
|
11
|
+
`)}}let M=(i=e.seed,o=e.stroke,l=e.width,h=c?void 0:e.fill,u=e.p,tc(t,i,o,l,h,u,e.dash,e.strokeProjection,e.opacity));return M&&y.push(M),y.length>0?y.join(`
|
|
12
|
+
`):null})]);for(let t of t1)t!==l&&p(t);export{t1 as BUILTIN_BACKENDS};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{A as e,B as t,C as i,F as a,G as r,b as n,c as o,d as s,e as l,f as c,h as d,i as u,j as f,k as p,m as m,n as g,p as h,q as y,s as v,u as b,v as S,z as $}from"./chunk-OXQWRSBM.js";import{a as w,b as x,c as C,e as O,g as j,i as k,l as E,m as F,n as A,o as I,p as T}from"./chunk-QWX77U7G.js";import{$ as z,a as D,c as L,m as M,ta as R}from"./chunk-RLJEI7YN.js";import{a as q,b as N,d as P,e as B,ga as W,ha as _,ia as V,ja as J,ka as G,la as H,v as U,w as Y}from"./chunk-RZ6XK5CD.js";function K(e){return q(e)?e:void 0}function X(e,t){let i=e.$ref;if("string"!=typeof i||!i.startsWith("#/"))return;let a=t;for(let e of i.slice(2).split("/")){if(!q(a))return;a=a[e.replaceAll("~1","/").replaceAll("~0","~")]}return K(a)}function Q(e,t,i=t,a=[],r={}){let n="field"===r.diagnostics,o=(e,t,i,a,s)=>{let l=K(t.$defs)?t:i,c=(e,t=!0)=>[{path:a,message:e,generic:t}];if(void 0!==t.$ref){let i=X(t,l);return i?o(e,i,l,a,s):c(n?"uses an unresolved schema reference":`uses unresolved schema reference ${String(t.$ref)}`,!1)}let d=Array.isArray(t.anyOf)?t.anyOf.map(K).filter(e=>void 0!==e):[];if(d.length>0){let i=n?d.filter(t=>(function e(t,i,a){let r=X(i,a);if(r)return e(t,r,a);let n=Array.isArray(i.anyOf)?i.anyOf.map(K).filter(e=>void 0!==e):[];if(n.length>0)return n.some(i=>e(t,i,a));switch(i.type){case"null":return null===t;case"string":return"string"==typeof t;case"number":case"integer":return"number"==typeof t;case"boolean":return"boolean"==typeof t;case"array":return Array.isArray(t);case"object":return q(t);default:return!0}})(e,t,l)):[],r=(i.length>0?i:d).map(t=>o(e,t,l,a,new Set(s)));if(!r.some(e=>0===e.length)){let e=t["x-agentic-mermaid-validation-expectation"];return n&&0!==i.length||"string"!=typeof e?r.sort((e,t)=>e.length-t.length)[0]??c("must match an allowed shape"):c(`must be ${e}`)}}let u=Array.isArray(t.oneOf)?t.oneOf.map(K).filter(e=>void 0!==e):[];if(u.length>0&&!n){let t=u.filter(t=>0===o(e,t,l,a,new Set(s)).length);if(1!==t.length)return c(`must match exactly one allowed shape (matched ${t.length})`)}let f=n?(e,t)=>e===t:Object.is;if(Object.prototype.hasOwnProperty.call(t,"const")&&!f(e,t.const))return c(`must equal ${String(t.const)}`);if(Array.isArray(t.enum)&&!(n?t.enum.includes(e):t.enum.some(t=>Object.is(t,e))))return c(`must be one of ${t.enum.map(String).join(" | ")}`);let p=t.type;if(!(void 0===p||"null"===p&&null===e||"string"===p&&"string"==typeof e||"number"===p&&"number"==typeof e&&Number.isFinite(e)||"integer"===p&&"number"==typeof e&&Number.isFinite(e)&&Number.isInteger(e)||"boolean"===p&&"boolean"==typeof e||"array"===p&&Array.isArray(e)||"object"===p&&q(e))){let e="number"===p?"a finite number":"integer"===p?"a finite integer":"object"===p?"a plain JSON object":"array"===p?"an array":"null"===p?"null":`a ${String(p)}`;return c(`must be ${e}`)}if("number"==typeof e){if("number"==typeof t.minimum&&e<t.minimum)return c(`must be at least ${t.minimum}`);if("number"==typeof t.exclusiveMinimum&&e<=t.exclusiveMinimum)return c(`must be greater than ${t.exclusiveMinimum}`);if("number"==typeof t.maximum&&e>t.maximum)return c(`must be at most ${t.maximum}`)}if("string"==typeof e){if("number"==typeof t.minLength&&e.length<t.minLength)return c(`must contain at least ${t.minLength} character${1===t.minLength?"":"s"}`);if("string"==typeof t.pattern){let i;try{i=new RegExp(t.pattern,n?void 0:"u").test(e)}catch{return c("uses an invalid schema pattern",!1)}if(!i)return c(r.patternMismatch?.(t)??`must match ${t.pattern}`)}if("number"==typeof t.maxLength&&e.length>t.maxLength)return c(`must contain at most ${t.maxLength} characters`)}if(Array.isArray(e)&&"array"===p){if("number"==typeof t.minItems&&e.length<t.minItems)return c(`must contain at least ${t.minItems} item${1===t.minItems?"":"s"}`);if("number"==typeof t.maxItems&&e.length>t.maxItems)return c(`must contain at most ${t.maxItems} items`);if(s.has(e))return c("must be acyclic",!1);let i=K(t.items);if(i){s.add(e);try{let t=e.flatMap((e,t)=>o(e,i,l,[...a,t],s));if(t.length>0)return t}finally{s.delete(e)}}}if(q(e)&&("object"===p||void 0!==t.properties||void 0!==t.required||void 0!==t.additionalProperties)){if(s.has(e))return c("must be acyclic",!1);s.add(e);try{let i=K(t.properties)??{},r=Array.isArray(t.required)?t.required.filter(e=>"string"==typeof e):[],n=[];for(let t of r)Object.prototype.hasOwnProperty.call(e,t)||n.push({path:[...a,t],message:"is required",generic:!1});for(let[r,c]of Object.entries(e)){if(x(r)){n.push({path:[...a,r],message:"uses a forbidden prototype key",generic:!1});continue}let e=K(i[r]);if(e){n.push(...o(c,e,l,[...a,r],s));continue}if(!1===t.additionalProperties){n.push({path:[...a,r],message:"is not allowed",generic:!1});continue}let d=K(t.additionalProperties);d&&n.push(...o(c,d,l,[...a,r],s))}if(n.length>0)return n}finally{s.delete(e)}}return r.validateRuntime?.(e,t,a)??[]};return o(e,t,i,a,new Set)}var Z,ee=new Set(Object.values(e).flat()),et=new Set(["primaryTextColor","textColor","nodeTextColor","secondaryTextColor","tertiaryTextColor"]),ei=new Set([...Array.from({length:12},(e,t)=>`pie${t+1}`),"pieStrokeColor","pieOuterStrokeColor","pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),ea=new Set(["pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),er=new Set([...Array.from({length:8},(e,t)=>[`git${t}`,`gitBranchLabel${t}`,`gitInv${t}`]).flat(),"commitLabelColor","commitLabelBackground"]),en=new Set([...Array.from({length:8},(e,t)=>`gitBranchLabel${t}`),"commitLabelColor"]),eo=new Set(Array.from({length:12},(e,t)=>[`cScale${t}`,`cScaleLabel${t}`,`cScaleInv${t}`]).flat()),es=new Set([...Array.from({length:12},(e,t)=>`cScale${t}`),"titleColor"]),el=new Set(["clusterBkg","clusterBorder"]),ec=["backgroundColor","titleColor","xAxisLabelColor","xAxisTickColor","xAxisLineColor","xAxisTitleColor","yAxisLabelColor","yAxisTickColor","yAxisLineColor","yAxisTitleColor","legendTextColor","dataLabelColor"],ed=new Set(["xAxisTickColor","xAxisLineColor","yAxisTickColor","yAxisLineColor"]),eu=[["bg",e.bg],["surface",e.surface],["line",e.line],["accent",e.accent]];function ef(e,t=!1){let i="string"==typeof e?e:JSON.stringify(e)??String(e);return t&&i.length>256?`${i.slice(0,256)}\u2026`:i}var ep=class extends Error{code="INVALID_THEME_COLOR";key;value;constructor(e,t,i){let a=ef(t,!0);super(m({what:`themeVariables.${e}: ${JSON.stringify(a)} is not a CSS color`,expectedForm:G(i),example:`themeVariables.${e}:#f96`}).message),this.name="ThemeVariableColorError",this.key=e,this.value=a}},em=class extends Error{code="INVALID_RENDER_COLOR";field;value;constructor(e,t){let i=ef(t,!0);super(m({what:`render option "${e}": ${JSON.stringify(i)} is not a CSS color for Architecture derived paint`,expectedForm:"a drawable CSS color or var(--name)",example:`${e}:#f96`}).message),this.name="RenderOptionColorError",this.field=e,this.value=i}},eg=class extends Error{code="INVALID_CONFIG_COLOR";path;value;constructor(e,t,i,a){let r=ef(t,!0),n=ef(e,!0);super(m({what:`${n}: ${JSON.stringify(r)} is not ${"array"===a?"an array of CSS colors":"map"===a?"a map of CSS colors":"a CSS color"}`,expectedForm:a?"array"===a?"an array of drawable CSS colors":"an object mapping node labels to drawable CSS colors":G(i),example:`${n}${"array"===a?': ["#f96"]':"map"===a?': {"A":"#f96"}':": #f96"}`}).message),this.name="FamilyConfigColorError",this.path=n,this.value=r}};function eh(e){return null===e||"object"!=typeof e||Array.isArray(e)?void 0:e}function ey(e,t,i,a){let r=e[i];if(void 0!==r&&void 0===J(r,a))throw new eg(`${t}.${i}`,r,a)}function ev(e,t,i,a){let r=e[i];if(void 0!==r){if(!Array.isArray(r))throw new eg(`${t}.${i}`,r,a,"array");for(let e=0;e<r.length;e++){let n=r[e];if(void 0===J(n,a))throw new eg(`${t}.${i}[${e}]`,n,a)}}}function eb(e,t,i,a){if(!e)return;let r="pie"===t?ei:"gitgraph"===t?er:"timeline"===t?eo:"radar"===t?es:"architecture"===t?el:void 0,n=r?new Set([...ee,...r]):ee,o="architecture"===t?new Set(eu.flatMap(([t,r])=>i?.[t]!==void 0||"surface"===t&&a&&(a?.groupHeaderSurface||a?.groupSurface?.trim().toLowerCase()!=="none")||("line"===t||"accent"===t)&&a?.edgeStroke?[]:r.find(t=>{let i=e[t];return"string"==typeof i&&i.length>0})??[])):void 0;for(let i of n){if(!Object.hasOwn(e,i))continue;let r=e[i];if(void 0===r)continue;let n=ef(r),s=et.has(i)||ea.has(i)||en.has(i)||"timeline"===t&&eo.has(i)||"radar"===t&&es.has(i)||"architecture"===t&&("clusterBkg"===i&&(!a||!a.groupHeaderSurface&&a.groupSurface?.trim().toLowerCase()==="none")||o?.has(i));if(void 0===J(r,!s))throw new ep(i,n,!s)}if("radar"===t){let t=eh(e.radar);if(!t)return;for(let e of["axisColor","graticuleColor"]){let i=t[e];if(void 0===i)continue;let a="graticuleColor"===e,r=ef(i);if(void 0===J(i,a))throw new ep(`radar.${e}`,r,a)}}if("xychart"===t){let t=eh(e.xyChart);if(!t)return;for(let e of ec){if("backgroundColor"===e&&i?.bg!==void 0)continue;let a=t[e];if(void 0===a)continue;let r=ed.has(e),n=ef(a);if(void 0===J(a,r))throw new ep(`xyChart.${e}`,n,r)}let a=t.plotColorPalette;if(void 0!==a&&("string"!=typeof a||0!==a.trim().length)){let e="string"==typeof a?_(a):a;if(!Array.isArray(e))throw new ep("xyChart.plotColorPalette",JSON.stringify(a)??String(a),!1);for(let[t,i]of e.entries()){let e="string"==typeof i?i.trim():JSON.stringify(i)??String(i);if(void 0===J(i))throw new ep(`xyChart.plotColorPalette[${t}]`,e,!1)}}}if("architecture"===t&&("string"!=typeof e.mainBkg||0===e.mainBkg.length)){let t=e.secondaryColor;if(void 0!==t){let e=ef(t);if(void 0===J(t,!0))throw new ep("secondaryColor",e,!0)}}}var eS={schemaVersion:2,provenance:{version:"12.2.0"},families:[{id:"flowchart",headers:[{value:"flowchart",agenticStatus:"native"},{value:"graph",agenticStatus:"native"},{value:"flowchart-elk",agenticStatus:"unsupported"}]},{id:"swimlane",headers:[{value:"swimlane-beta",agenticStatus:"unsupported"}]},{id:"sequence",headers:[{value:"sequenceDiagram",agenticStatus:"native"}]},{id:"class",headers:[{value:"classDiagram",agenticStatus:"native"},{value:"classDiagram-v2",agenticStatus:"native"}]},{id:"state",headers:[{value:"stateDiagram",agenticStatus:"native"},{value:"stateDiagram-v2",agenticStatus:"native"}]},{id:"er",headers:[{value:"erDiagram",agenticStatus:"native"}]},{id:"journey",headers:[{value:"journey",agenticStatus:"native"}]},{id:"gantt",headers:[{value:"gantt",agenticStatus:"native"}]},{id:"pie",headers:[{value:"pie",agenticStatus:"native"}]},{id:"quadrant",headers:[{value:"quadrantChart",agenticStatus:"native"}]},{id:"requirement",headers:[{value:"requirementDiagram",agenticStatus:"native"},{value:"requirement",agenticStatus:"native"}]},{id:"gitgraph",headers:[{value:"gitGraph",agenticStatus:"native"}]},{id:"c4",headers:[{value:"C4Context",agenticStatus:"native"},{value:"C4Container",agenticStatus:"native"},{value:"C4Component",agenticStatus:"native"},{value:"C4Dynamic",agenticStatus:"native"},{value:"C4Deployment",agenticStatus:"native"}]},{id:"mindmap",headers:[{value:"mindmap",agenticStatus:"native"}]},{id:"timeline",headers:[{value:"timeline",agenticStatus:"native"}]},{id:"zenuml",headers:[{value:"zenuml",agenticStatus:"native"}]},{id:"sankey",headers:[{value:"sankey",agenticStatus:"native"},{value:"sankey-beta",agenticStatus:"native"}]},{id:"xychart",headers:[{value:"xychart",agenticStatus:"native"},{value:"xychart-beta",agenticStatus:"native"}]},{id:"block",headers:[{value:"block",agenticStatus:"native"},{value:"block-beta",agenticStatus:"native"}]},{id:"packet",headers:[{value:"packet",agenticStatus:"native"},{value:"packet-beta",agenticStatus:"native"}]},{id:"kanban",headers:[{value:"kanban",agenticStatus:"native"}]},{id:"architecture",headers:[{value:"architecture",agenticStatus:"native"},{value:"architecture-beta",agenticStatus:"native"}]},{id:"radar",headers:[{value:"radar-beta",agenticStatus:"native"}]},{id:"eventmodeling",headers:[{value:"eventmodeling",agenticStatus:"native"}]},{id:"treemap",headers:[{value:"treemap",agenticStatus:"native"},{value:"treemap-beta",agenticStatus:"native"}]},{id:"venn",headers:[{value:"venn-beta",agenticStatus:"unsupported"}]},{id:"ishikawa",headers:[{value:"ishikawa",agenticStatus:"native"},{value:"ishikawa-beta",agenticStatus:"native"}]},{id:"wardley",headers:[{value:"wardley-beta",agenticStatus:"unsupported"}]},{id:"cynefin",headers:[{value:"cynefin-beta",agenticStatus:"unsupported"}]},{id:"treeview",headers:[{value:"treeView-beta",agenticStatus:"unsupported"}]},{id:"railroad",headers:[{value:"railroad-beta",agenticStatus:"unsupported"},{value:"railroad-ebnf-beta",agenticStatus:"unsupported"},{value:"railroad-abnf-beta",agenticStatus:"unsupported"},{value:"railroad-peg-beta",agenticStatus:"unsupported"}]},{id:"agentflow",headers:[{value:"agentflow-beta",agenticStatus:"unsupported"}]},{id:"usecase",headers:[{value:"usecase-beta",agenticStatus:"unsupported"}]}]};function e$(e,t,i,a){let r=g(e),l=-1,d=-1,u=e.length,m=Math.max(0,Math.min(e.length,i??0)),$=m;for(;$<=e.length;){let i=/\r\n?|\n/g;i.lastIndex=$;let a=i.exec(e),r=a?.index??-1,n=r<0?e.length:r,o=e.slice($,n).replace(/\r$/,""),c=o.trim(),f=c.startsWith(t)?c.slice(t.length):"",p=/^\s*;/.test(f);if(c===t||p||/^\s/.test(f)&&s(c)!==c){if(d=(l=$+o.indexOf(t))+t.length,c===t)u=a?a.index+a[0].length:e.length;else for(u=p?e.indexOf(";",d)+1:d;u<n&&/[ \t]/.test(e[u]);)u++;break}if(r<0)break;$=a.index+a[0].length}if(l<0){let i=e.indexOf(t,m);l=i<0?m:i,d=Math.min(e.length,l+t.length);let a=e.indexOf(`
|
|
2
|
+
`,d);for(u=a<0?e.length:a+1,$=l;$>0&&10!==e.charCodeAt($-1);)$--}return Object.freeze({source:h(r,0,e.length),...(i??$)>0?{wrapper:h(r,0,i??$)}:{},...function(e,t,i,a=g(e),r){let s=n(e),l=s?.source.length??0,d=function(e,t,i=g(e),a=c(e),r){let n=[...e.slice(t).matchAll(/[^\r\n]*(?:\r\n?|\n|$)/g)],o=n.map(e=>e[0]),s=e.slice(t),l=f(P(a),S(s).split(/\r\n?|\n/),r),d=b(s,l),u=s.split("");for(let e of d.directives)for(let t=e.start;t<e.end;t++)"\r"!==u[t]&&u[t]!==`
|
|
3
|
+
`&&(u[t]=" ");let p=u.join("").split(/\r\n?|\n/),m=n.map(e=>t+e.index),$=[],w=f(P(a),p,r);for(let e=0;e<p.length;e++){let t=y(p,e);if(void 0===t)break;if(null===t){e=v(w,e,p.length);continue}let a=m[e],r;r="block"===t.form?m[t.endIndex]+p[t.endIndex].indexOf("}")+1:a+o[e].length,$.push(h(i,a,r)),e=t.endIndex}return Object.freeze($)}(e,l,a,i,r),u=e.split("");for(let t of d)if(/^\s*%% agentic-mermaid (?:accTitle|accDescr):/.test(e.slice(t.start.offset,t.end.offset)))for(let e=t.start.offset;e<t.end.offset;e++)"\r"!==u[e]&&u[e]!==`
|
|
4
|
+
`&&(u[e]=" ");let m=(function(e,t,i=0,a=g(e)){let r=[],n=new RegExp(t.source,t.flags.includes("g")?t.flags:`${t.flags}g`),o;for(;null!==(o=n.exec(e));)r.push(h(a,i+o.index,i+o.index+o[0].length)),0===o[0].length&&n.lastIndex++;return Object.freeze(r)})(u.join("").slice(l),RegExp(o.source,"gm"),l,a).filter(t=>p(e.slice(t.start.offset,t.end.offset)));return{...s?{frontmatter:h(a,0,l)}:{},...m.length>0?{initDirectives:m}:{},...d.length>0?{accessibilityDirectives:Object.freeze(d)}:{}}}(e,0,t,r,a),header:h(r,l,d),body:h(r,u,e.length)})}var ew=class extends Error{name="MermaidFamilyDetectionError";code;line;preservation;help;constructor(e){super(e.message),this.code=e.code,this.line=e.line,this.preservation=e.preservation,this.help=e.help}toJSON(){return{code:this.code,message:this.message,line:this.line,preservation:this.preservation,help:this.help}}};function ex(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return;let i=e[t];return i&&"object"==typeof i&&!Array.isArray(i)?i:void 0}Object.freeze(["library","cli","codeMode","localMcp","hostedMcp","editor","website"]);var eC=["onConfigDiagnostic"],eO=(e,t)=>({type:"string",...void 0===t?{}:{default:t}}),ej=(e,t,i={})=>({type:"number",...void 0===t?{}:{default:t},...i}),ek=(e,t)=>ej(void 0,t,{minimum:0}),eE=(e,t)=>ej(void 0,t,{exclusiveMinimum:0}),eF=e=>ej(void 0,void 0,{minimum:1,maximum:1e3}),eA=(e,t)=>({type:"boolean",...void 0===t?{}:{default:t}}),eI=(e,t)=>({...eO(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssPaint"}),eT=(e,t)=>({...eO(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssFontFamily"}),ez=(e,t,i=[])=>({type:"object",additionalProperties:!1,properties:e,...0===i.length?{}:{required:i}}),eD={type:"string",enum:["uppercase","lowercase","capitalize"]},eL={...ez({groupHeaderHeight:eE(void 0),groupFontSize:eE(void 0),groupFontWeight:eF(void 0),groupLetterSpacing:ej(void 0),groupFont:eT(void 0),groupTextTransform:{...eD},groupPaddingX:ek(void 0),groupPaddingY:ek(void 0),groupLabelPaddingX:ek(void 0),groupCornerRadius:ek(void 0),groupLineWidth:ek(void 0),groupText:eI(void 0),serviceFontSize:eE(void 0),serviceFontWeight:eF(void 0),serviceLetterSpacing:ej(void 0),serviceTextTransform:{...eD},servicePaddingX:ek(void 0),servicePaddingY:ek(void 0),serviceCornerRadius:ek(void 0),serviceLineWidth:ek(void 0),serviceText:eI(void 0),edgeFontSize:eE(void 0),edgeFontWeight:eF(void 0),edgeLetterSpacing:ej(void 0),edgeTextTransform:{...eD},edgeLineWidth:ek(void 0),edgeBendRadius:ek(void 0),edgeStroke:eI(void 0),edgeText:eI(void 0),iconSize:eE(void 0),serviceIconSize:eE(void 0),junctionOuterRadius:eE(void 0),junctionInnerRadius:ek(void 0),groupSurface:eI(void 0),groupHeaderSurface:eI(void 0),groupBorder:eI(void 0),serviceSurface:eI(void 0),serviceBorder:eI(void 0)},void 0),"x-agentic-mermaid-runtime-validator":"architectureVisual"},eM={anyOf:[{type:"string"},(()=>{let e=k(),t=e.$defs,i=e=>{if(Array.isArray(e))return e.map(i);if(null===e||"object"!=typeof e)return e;let a=e.$ref;if("string"==typeof a&&a.startsWith("#/$defs/")){let e=t?.[a.slice(8)];if(!e)throw Error(`StyleSpec schema has unresolved local reference ${a}`);return i(e)}return Object.fromEntries(Object.entries(e).filter(([e])=>"$defs"!==e).map(([e,t])=>[e,i(t)]))},{$schema:a,$id:r,title:n,...o}=e;return i(o)})()],"x-agentic-mermaid-validation-expectation":"a registered Style name or StyleSpec"},eR={anyOf:[{type:"null"},{type:"string"},{type:"number"},{type:"boolean"},{type:"array",items:{$ref:"#/$defs/jsonValue"}},{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}],"x-agentic-mermaid-validation-expectation":"a finite, acyclic JSON value without prototype keys"},eq=["flowchart","state","class","er","architecture","c4"],eN=N({layoutHints:{validationExpectation:"contain integer ranks, node groups and edge IDs",schema:{type:"object",additionalProperties:!1,properties:{ranks:{type:"object",additionalProperties:{type:"integer",minimum:0,maximum:1e4}},adjacent:{type:"array",items:{type:"array",minItems:2,items:{type:"string"}}},shortEdges:{type:"array",items:{type:"string"}}}},applicableBuiltinFamilies:["flowchart","state"]},graphLayout:{validationExpectation:"be a graph layout selection object",schema:{anyOf:[ez({backend:{type:"string",const:"elk"},fallback:{type:"string",enum:["none"]}},void 0,["backend"]),ez({backend:{type:"string",const:"agentic"},fallback:{type:"string",enum:["none","elk"]}},void 0,["backend"])]},applicableBuiltinFamilies:["flowchart","state","architecture","class","er","requirement"]},layoutSafety:{validationExpectation:"be report or strict",schema:{type:"string",enum:["report","strict"],default:"report"}},bg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eI(void 0,"#FFFFFF")},fg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eI(void 0,"#27272A")},line:{validationExpectation:"be a safe non-fetching CSS paint",schema:eI(void 0)},accent:{validationExpectation:"be a safe non-fetching CSS paint",schema:eI(void 0)},muted:{validationExpectation:"be a safe non-fetching CSS paint",schema:eI(void 0)},surface:{validationExpectation:"be a safe non-fetching CSS paint",schema:eI(void 0)},border:{validationExpectation:"be a safe non-fetching CSS paint",schema:eI(void 0)},font:{validationExpectation:"be a safe non-fetching CSS font family or stack",schema:eT(void 0,"Inter")},style:{validationExpectation:"be a registered Style name or StyleSpec, or an array of them",schema:{anyOf:[eM,{type:"array",items:eM}],"x-agentic-mermaid-runtime-validator":"styleInput"}},padding:{validationExpectation:"be a non-negative finite number",schema:ek(void 0,40),applicableBuiltinFamilies:["flowchart","state","architecture","c4"]},nodeSpacing:{validationExpectation:"be a non-negative finite number",schema:ek(void 0,24),applicableBuiltinFamilies:eq},layerSpacing:{validationExpectation:"be a non-negative finite number",schema:ek(void 0,40),applicableBuiltinFamilies:eq},wrappingWidth:{validationExpectation:"be a positive finite number",schema:eE(void 0),applicableBuiltinFamilies:["flowchart"]},componentSpacing:{validationExpectation:"be a non-negative finite number",schema:ek(void 0),applicableBuiltinFamilies:[]},transparent:{validationExpectation:"be a boolean",schema:eA(void 0,!1)},interactive:{validationExpectation:"be a boolean",schema:eA(void 0,!1),applicableBuiltinFamilies:["xychart","pie","quadrant"]},shadow:{validationExpectation:"be a boolean",schema:eA(void 0,!1),applicableBuiltinFamilies:["flowchart","state","sequence","timeline","class","er","journey","xychart","pie","quadrant","gantt","mindmap","gitgraph","sankey"]},class:{validationExpectation:"be a class options object",schema:ez({hierarchicalNamespaces:eA(void 0,!0)},void 0),applicableBuiltinFamilies:["class"]},kanban:{validationExpectation:"be a kanban options object",schema:ez({maxWidth:eE(void 0)},void 0),applicableBuiltinFamilies:["kanban"]},pie:{validationExpectation:"be a pie options object",schema:ez({maxWidth:eE(void 0)},void 0),applicableBuiltinFamilies:["pie"]},radar:{validationExpectation:"be a radar options object",schema:ez({maxWidth:eE(void 0)},void 0),applicableBuiltinFamilies:["radar"]},architecture:{validationExpectation:"be an architecture options object",schema:ez({visual:eL},void 0),applicableBuiltinFamilies:["architecture"]},timeline:{validationExpectation:"be a timeline options object",schema:ez({maxWidth:eE(void 0)},void 0),applicableBuiltinFamilies:["timeline"]},journey:{validationExpectation:"be a journey options object",schema:ez({experienceCurve:eA(void 0,!0)},void 0),applicableBuiltinFamilies:["journey"]},gantt:{validationExpectation:"be a Gantt options object",schema:ez({dependencyArrows:eA(void 0,!1),criticalPath:eA(void 0,!1)},void 0),applicableBuiltinFamilies:["gantt"]},mermaidConfig:{validationExpectation:"be a plain JSON object",schema:{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}},embedFontImport:{validationExpectation:"be a boolean",schema:eA(void 0,!1)},compact:{validationExpectation:"be a boolean",schema:eA(void 0,!1)},idPrefix:{validationExpectation:"be non-empty and contain only ASCII letters, digits, underscore, hyphen, dot, and colon",schema:{...eO(void 0),pattern:"^[A-Za-z0-9_.:-]+$"}},security:{validationExpectation:"be default or strict",schema:{type:"string",enum:["default","strict"],default:"default"}},ganttToday:{validationExpectation:"be a string",schema:eO(void 0),applicableBuiltinFamilies:["gantt"]},seed:{validationExpectation:"be a finite number",schema:ej(void 0,0)}}),eP=Object.freeze(Object.keys(eN)),eB=Object.freeze(eP.filter(e=>"applicableBuiltinFamilies"in eN[e]));function eW(e){let t=e=>Array.isArray(e)?e.map(t):q(e)?Object.fromEntries(Object.entries(e).map(([e,i])=>[e,t(i)])):e;return t(e)}function e_(e){let t=String(e[0]??"");for(let i of e.slice(1))t+="number"==typeof i?`[${i}]`:`.${i}`;return`render option "${t}"`}function eV(e){return j(C(e).map(e=>e.path.length>0?`${e_(e.path)} ${e.message}`:`render options ${e.message}`),"render options")}function eJ(e,t,i){let a=t["x-agentic-mermaid-runtime-validator"];if("safeCssColor"===a&&void 0===V(e))return[{path:i,message:"must be a safe, non-fetching CSS color",generic:!1}];if("safeCssPaint"===a&&void 0===H(e))return[{path:i,message:"must be a safe, non-fetching CSS paint",generic:!1}];if("safeCssFontFamily"===a&&void 0===W(e))return[{path:i,message:"must be a safe, non-fetching CSS font family or stack",generic:!1}];if("styleInput"===a)try{A(e)}catch(e){return[{path:i,message:`is invalid: ${e instanceof Error?e.message:String(e)}`,generic:!1}]}if("architectureVisual"===a&&q(e)){let t=e.junctionOuterRadius,a=e.junctionInnerRadius;if("number"==typeof t&&"number"==typeof a&&a>t)return[{path:[...i,"junctionInnerRadius"],message:"must not exceed junctionOuterRadius",generic:!1}]}return[]}function eG(e){if(!q(e))return["render options must be a plain JSON object"];let t=eV(e);if(t.length>0)return t;let i=[],a=Z??=N(function(){let e={};for(let t of eP){let i=eN[t],a="terminalNote"in i?i.terminalNote:void 0,r="applicableBuiltinFamilies"in i?i.applicableBuiltinFamilies:void 0;e[t]={...eW(i.schema),"x-agentic-mermaid-terminal":i.terminal,...void 0===a?{}:{"x-agentic-mermaid-terminal-note":a},...void 0===r?{}:{"x-agentic-mermaid-applicable-builtin-families":[...r]}}}return{type:"object",additionalProperties:!1,properties:e,$defs:{jsonValue:eW(eR)}}}());for(let[t,r]of Object.entries(e)){if(!Object.hasOwn(eN,t)){i.push(`unknown render option "${t}"`);continue}if(null===r){i.push(`render option "${t}" must be omitted instead of null`);continue}let e=eN[t],n=Q(r,e.schema,a,[t],{diagnostics:"field",validateRuntime:eJ});n.length>0&&n.every(e=>e.generic&&1===e.path.length)?i.push(`render option "${t}" must ${e.validationExpectation}`):i.push(...n.map(e=>`${e_(e.path)} ${e.message}`))}return j(i,"render options")}var eH=class extends Error{constructor(e,t){super(`Parsed Mermaid family "${e}" serialized as family "${t}"`),this.expectedFamilyId=e,this.detectedFamilyId=t}expectedFamilyId;detectedFamilyId;name="ParsedDiagramFamilyMismatchError";code="PARSED_DIAGRAM_FAMILY_MISMATCH"},eU=class extends Error{name="RenderCapabilityError";code="UNSATISFIED_RENDER_CAPABILITIES";output;family;decision;constructor(e,t,i,a){super(e),this.output=t,this.family=Object.freeze({id:i.identity.id,version:i.identity.version}),this.decision=a}toJSON(){return{name:this.name,code:this.code,message:this.message,output:this.output,family:this.family,decision:this.decision}}},eY=class extends TypeError{constructor(e){super(e),this.name="RenderConfigError"}},eK=new WeakMap;function eX(e){let t=eK.get(e);if(!t)throw Error("Resolved render request has no internal execution plan");return t}function eQ(e,t=[]){let i,a=eK.get(e),r=a?.executionDecision,n=a&&Object.hasOwn(a,"textMeasurement")?a.textMeasurement:void 0;return Object.freeze({version:e.version,output:e.output,sharedRequestDigest:e.sharedRequestDigest,requestDigest:e.requestDigest,appearanceDigest:e.appearance.digest,capabilityDecision:e.capabilityDecision,diagnostics:(i=new Set,Object.freeze([...Object.hasOwn(e,"resolutionDiagnostics")?e.resolutionDiagnostics:[],...t,...L(e).flatMap(e=>"agentic"===e.requested&&"elk"===e.selected?[{code:"GRAPH_LAYOUT_FALLBACK",feature:"graph-layout",message:`Agentic graph layout used the requested ELK fallback: ${e.reason??"candidate rejected"}`}]:[])].flatMap(e=>{let t=e5(e);return i.has(t)?[]:(i.add(t),[Object.freeze({...e})])}))),...r?{executionDecision:r}:{},...n?{textMeasurement:n.identity}:{},...L(e).length?{layoutDecisions:L(e)}:{}})}function eZ(e){let t=e0.get(e);if(t)return t;let i=eK.get(e)?.backend?.identity.id??("layout"===e.output?`backend:${e.appearance.inferredBackend}`:void 0),a=Object.freeze({renderOptions:e.renderOptions,...e.appearance.face?{styleFace:e.appearance.face}:{},...i?{paintBackendId:i}:{},...e.familyConfig?{familyConfig:e.familyConfig}:{},...e.appearance.family?{familyAppearance:e.appearance.family}:{}});return eK.has(e)&&e0.set(e,a),a}var e0=new WeakMap;function e1(e){let t={};for(let i of eP){let a=e[i];void 0!==a&&(t[i]=a)}return t}var e2=new Set(["padding","nodeSpacing","layerSpacing","wrappingWidth","class"]);function e6(e,t="$",i=0,a=new Set,r={nodes:0,chars:0,opaque:!1,admission:void 0}){let n=r.admission;if(n?.valid)switch((++n.nodes>w.maxNodes||i>w.maxDepth)&&(n.valid=!1),typeof e){case"number":e-e!=0&&(n.valid=!1);break;case"undefined":case"bigint":case"symbol":case"function":n.valid=!1}if("string"==typeof e){if(r.chars+=e.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}`);return e}if(null===e||"object"!=typeof e)return e;if(i>64)throw TypeError(`data exceeds maximum depth 64 at ${t}`);if(++r.nodes>1e5)throw TypeError(`data exceeds the 100000-node aggregate limit at ${t}`);if(a.has(e))throw TypeError(`data must be acyclic at ${t}`);if(Array.isArray(e)){if(e.length>1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);a.add(e);try{let o=[],s=Object.create(null);s.enumerable=s.configurable=s.writable=!0;for(let n=0;n<e.length;n++){if(n>=1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError(`data must not contain a sparse array at ${t}[${n}]`);s.value=e6(e[n],`${t}[${n}]`,i+1,a,r),Object.defineProperty(o,n,s)}return n&&o.length>w.maxItemsPerContainer&&(n.valid=!1),te(o,!r.opaque)}finally{a.delete(e)}}if(!q(e))return r.opaque=!0,n&&(n.valid=!1),e;a.add(e);try{let o={},s=0;for(let[l,c]of Object.entries(e)){if(r.chars+=l.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}.${l}`);if(void 0!==c){n&&(++s>w.maxItemsPerContainer||x(l))&&(n.valid=!1);let e=e6(c,`${t}.${l}`,i+1,a,r);l in o?Object.defineProperty(o,l,{value:e,enumerable:!0}):o[l]=e}}return te(o,!r.opaque)}finally{a.delete(e)}}function e4(e,t,i,a=!1){let r;if(void 0===t)return;if(!q(t))throw TypeError(`Family "${e.id}" returned ${i} data that is not a plain object`);if(a)return t;try{r=e6(t)}catch(t){throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t instanceof Error?t.message:String(t)}`)}let n={...eR,$defs:{jsonValue:eR}},o=Q(r,n,n,[`family${"config"===i?"Config":"Appearance"}`],{diagnostics:"field",validateRuntime:eJ});if(o.length>0){let t=o.map(e=>`${e.path.join(".")} ${e.message}`).join("; ");throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t}`)}return tt(r)}function e5(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e5).join(",")}]`;let t="{",i="";for(let a of Object.keys(e).sort()){let r=e[a];void 0!==r&&(t+=`${i}${JSON.stringify(a)}:${e5(r)}`,i=",")}return`${t}}`}function e3(e,t){try{let t,i;return t=e8(e),()=>(void 0===i&&(i=e7(e5(t)),t=void 0),i)}catch(e){throw e instanceof TypeError&&/aggregate limit/.test(e.message)?new a("sourceCharacters",t.originalText.length+t.text.length,!0):e}}function e8(e){let t,i={nodes:0,valid:2e6<=w.maxAggregateTextCharacters&&6e6<=w.maxAggregateTextBytes};try{t=ti(e,"render contract digest input",i)}catch(e){throw TypeError((e instanceof Error?e.message:String(e)).replace("data exceeds maximum depth","data exceeds maximum nesting depth"))}return i.valid||O(t,"render contract digest input",{allowUndefinedObjectProperties:!0}),t}function e7(e){let t=-0x340d631c,i=-0x7bdddcdb;for(let a=0;a<e.length;a++){let r=i^e.charCodeAt(a),n=(r>>>16)*435+((65535&r)*435>>>16)>>>16;i=Math.imul(r,435),t=Math.imul(t,435)+n+(r<<8)|0}return`fnv1a64:${(t>>>0).toString(16).padStart(8,"0")}${(i>>>0).toString(16).padStart(8,"0")}`}var e9=new WeakSet;function te(e,t=!0){return Object.freeze(e),t&&e9.add(e),e}function tt(e,t="$",i,a){let r;if(null===e||"object"!=typeof e||e9.has(e))return e;if(i??=new Set,a??=new WeakMap,i.has(e))throw TypeError(`render request contains a cycle at ${t}`);let n=a.get(e);if(n)return n;let o=Object.getPrototypeOf(e);if(!Array.isArray(e)&&o!==Object.prototype&&null!==o)throw TypeError(`render request contains a non-JSON object at ${t}`);if(i.add(e),Array.isArray(e)){let n=e.length,o=Array(n);for(let r=0;r<n;r++)r in e&&(o[r]=tt(e[r],`${t}[${r}]`,i,a));r=o}else{let n={};for(let[r,o]of Object.entries(e)){let e=tt(o,`${t}.${r}`,i,a);r in n?Object.defineProperty(n,r,{value:e,enumerable:!0}):n[r]=e}r=n}return i.delete(e),a.set(e,r),te(r)}function ti(e,t,i){try{return tt(i?e6(e,"$",0,new Set,{nodes:0,chars:0,opaque:!1,admission:i}):e6(e))}catch(e){throw TypeError(`${t} could not be snapshotted: ${e instanceof Error?e.message:String(e)}`)}}var ta=Object.freeze({serializable:tt({})}),tr=new WeakMap,tn=new WeakMap;function to(e){if(tr.has(e))return e;let t=tl(e),i=tt(I(t.serializable.style)),a=eG(t.serializable);if(a.length)throw new eY(`Invalid RenderOptions: ${a.join("; ")}`);let r=tc(t.serializable.style),n=Object.freeze({...t.serializable,...t.onConfigDiagnostic?{onConfigDiagnostic:t.onConfigDiagnostic}:{}});return tr.set(n,Object.freeze({...t,capturedStyle:i})),tn.set(t.serializable,r),n}function ts(e){let t=tr.get(e)?.capturedStyle;if(!t)throw TypeError("Render options have not been captured");return t.style?F(t.style):"default"}function tl(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new eY("Invalid RenderOptions: render options must be an object");let t=tr.get(e);if(t)return t;let i=[],a;for(let[t,r]of Object.entries(e))"onConfigDiagnostic"===t?a=r:void 0!==r&&i.push([t,r]);if(void 0!==a&&"function"!=typeof a)throw new eY("Invalid RenderOptions: onConfigDiagnostic must be a function");if(0===i.length&&void 0===a)return ta;let r=Object.fromEntries(i),n;try{n=ti(r,"RenderOptions")}catch(t){let e=(t instanceof Error?t.message:String(t)).replace("data exceeds maximum depth","render option tree exceeds maximum nesting depth");throw new eY(`Invalid RenderOptions: ${e}`)}return Object.freeze({serializable:n,...void 0===a?{}:{onConfigDiagnostic:a}})}function tc(e){return tt((void 0===e?[]:Array.isArray(e)?e:[e]).flatMap(e=>{if("string"!=typeof e||"crisp"===e)return[];let t=E(e);return t?[{input:e,canonicalId:t.canonicalId}]:[]}))}var td="1.0.0";function tu(e,t,i=td){return t?[{id:e,version:i}]:[]}function tf(e,t=`^${td}`){return{id:e,range:t,level:"required"}}function tp(e){return`scene-primitive:${e.primitive}/${e.feature}/${e.operation}`}var tm=new WeakMap;function tg(e,t){let i=tm.get(e.backend);return i||(i=new Set(z.filter(t=>e.backend.capabilities.some(e=>e.primitive===t.primitive&&e.feature===t.feature&&e.operation===t.operation&&"unsupported"!==e.realization))),tm.set(e.backend,i)),i.has(t)}var th=new Map;function ty(e){return!e.id.startsWith("output:")&&!e.id.startsWith("operation:")&&!e.id.startsWith("backend:")&&!e.id.startsWith("scene-primitive:")&&"core:scene"!==e.id}function tv(a,n={},o="svg",s,c={}){let f=tl(n),p=f.serializable,m=eV(p);if(m.length>0)throw new eY(`Invalid RenderOptions: ${m.join("; ")}`);let g=f.capturedStyle??I(p.style),h=g.style,y=tt(g.face),v=f.capturedStyle?[]:eG(p);if(v.length>0)throw new eY(`Invalid RenderOptions: ${v.join("; ")}`);let b,S=tt($(a,p.mermaidConfig??{},e=>c.familyDescriptor?c.familyDescriptor:"registered"===(b=function(e,t="strict"){let i=l(e),a=u(i,t);if(a)return{kind:"registered",family:a};let r=function(e,t=eS){let i=(e.split(";")[0]??"").trim().toLowerCase();return t.families.flatMap(e=>e.headers.map(t=>({family:e,header:t}))).sort((e,t)=>t.header.value.length-e.header.value.length||D(e.family.id,t.family.id)).find(e=>(function(e,t){let i=t.trim().toLowerCase();if(e===i)return!0;if(!e.startsWith(i))return!1;let a=e[i.length];return void 0!==a&&/[\s:]/.test(a)})(i,e.header.value))??null}(i);return r?{kind:"upstream",match:r}:{kind:"unknown",header:e}}(e)).kind?b.family:null)),w=c.familyDescriptor??function(e,t){if("registered"===t.kind)return t.family;throw new ew(function(e,t,i,a,r){let n=eS.provenance.version;if("unknown"===e.kind)return{code:"UNKNOWN_HEADER",message:`Unrecognized Mermaid header: "${e.header}"`,line:1,preservation:{version:1,classification:"unknown",source:t,header:e.header,mermaidVersion:n,spans:e$(t,a??e.header,i,null)},help:"Check for a Mermaid upgrade or register a namespaced family descriptor; the source was preserved unchanged."};let{family:o,header:s}=e.match,l="inventory-only"===s.agenticStatus?"inventory-only":"unsupported",c="native"===s.agenticStatus;return{code:c?"FAMILY_DESCRIPTOR_MISMATCH":"UNSUPPORTED_FAMILY",message:c?`Mermaid ${n} header "${s.value}" is marked native but no installed family descriptor claimed it`:`Mermaid ${n} family "${o.id}" is ${l} in Agentic Mermaid`,line:1,preservation:{version:1,classification:l,source:t,header:s.value,upstreamFamilyId:o.id,mermaidVersion:n,spans:e$(t,a??s.value,i,null)},help:c?"Report a descriptor/manifest mismatch; the source was preserved unchanged.":`Install a family descriptor for "${s.value}" or use a currently native family; the source was preserved unchanged.`}}("unknown"===t.kind?{...t,header:e.lines[0]??e.firstLine}:t,e.originalText,e.authoredWrapperLength??e.wrapperSource?.length??0,e.authoredHeader??e.lines[0]??e.firstLine,0))}(S,b);if(void 0!==c.expectedFamilyId&&w.id!==c.expectedFamilyId)throw new eH(c.expectedFamilyId,w.id);r("sourceCharacters",S.originalText.length+S.text.length);let x=M(S.config.themeCSS,p.security??"default");if(x)throw new eY(x);"architecture"!==w.id&&eb(S.config.themeVariables,w.id,p),function(e,t){let i=eh(e[t]);if(i){if("timeline"===t)ev(i,"timeline","sectionFills",!1),ev(i,"timeline","sectionColours",!1),(void 0===i.sectionColours||Array.isArray(i.sectionColours)&&0===i.sectionColours.length)&&ev(i,"timeline","sectionColors",!1);else if("journey"===t)ev(i,"journey","actorColours",!0),ev(i,"journey","sectionFills",!1),ev(i,"journey","sectionColours",!1),ey(i,"journey","titleColor",!1);else if("requirement"===t)ey(i,"requirement","rect_fill",!0),ey(i,"requirement","rect_border_color",!0),ey(i,"requirement","text_color",!1);else if("sankey"===t){let e=i.linkColor;if("source"!==e&&"target"!==e&&"gradient"!==e&&ey(i,"sankey","linkColor",!0),void 0===i.nodeColors)return;let t=eh(i.nodeColors);if(!t)throw new eg("sankey.nodeColors",i.nodeColors,!1,"map");let a=void 0!==e&&"gradient"!==e;for(let[e,i]of Object.entries(t))if(void 0===J(i,a))throw new eg(/^[\w-]+$/.test(e)?`sankey.nodeColors.${e}`:`sankey.nodeColors[${JSON.stringify(e)}]`,i,a)}}}(S.frontmatter,w.id);let C=Object.freeze(eP.filter(e=>void 0!==p[e])),O=function(e,t){if(e.id.startsWith("family:")){let i=new Set(e.applicableRenderOptions??[]);return Object.freeze(t.flatMap(t=>!eB.includes(t)||i.has(t)?[]:[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${t}`,message:`Render option "${t}" does not apply to extension family "${e.id}". Its FamilyDescriptor does not list the field in applicableRenderOptions.`})]))}let i=e.id;return Object.freeze(t.flatMap(e=>{let t=eN[e];if(!("applicableBuiltinFamilies"in t))return[];let a=t.applicableBuiltinFamilies;if(a.includes(i))return[];let r=0===a.length?"No built-in family currently consumes this option.":`Applicable built-in families: ${a.join(", ")}.`;return[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${e}`,message:`Render option "${e}" does not apply to built-in Mermaid family "${i}". ${r}`})]}))}(w,C),{appearance:j,renderOptions:k,familyConfig:E}=function(a){let{family:r,source:n,options:o,style:s,styleFace:l}=a,c="strict"===o.security?{...o,embedFontImport:!1}:{...o};o.graphLayout&&(c.graphLayout={...o.graphLayout,fallback:o.graphLayout.fallback??"none"});let d=void 0!==s&&T(s);d&&(c=function(t,i,a){let r={...t},n=t=>e[t].some(e=>a?.[e]!==void 0);for(let e of["bg","fg","line","accent","muted","surface","border"])void 0!==r[e]||n(e)||i.colors?.[e]===void 0||(r[e]=i.colors[e]);return void 0===r.font&&void 0!==i.font&&(r.font=i.font),r}(c,s,n.config.themeVariables));let u=o.font??n.config.fontFamily??i(n.config.themeVariables,"fontFamily")??c.font??"Inter",f=W(u)??u,{style:p,...m}=c,g={...m,...s?{style:s}:{},font:f,mermaidConfig:n.config},h={...t(g,n.config,f)},y=function(e,t,i,a,r,n){if(!e.normalizeRequest)return{renderOptions:i,colors:a};let o=Object.freeze({source:tt(t),renderOptions:tt(i),colors:tt(a),...r?{style:tt(r)}:{},...n?{styleFace:tt(n)}:{}}),s=e.normalizeRequest(o);if(void 0===s)return{renderOptions:i,colors:a};let l,c={nodes:0,valid:!0};try{l=ti(s,`Family "${e.id}" request normalizer result`,c)}catch(t){throw TypeError(`Family "${e.id}" request normalizer returned invalid data: ${t instanceof Error?t.message:String(t)}`)}if(!q(l))throw TypeError(`Family "${e.id}" request normalizer must return a plain object`);let d=Object.keys(l).find(e=>!["renderOptions","familyConfig","appearance"].includes(e));if(d)throw TypeError(`Family "${e.id}" request normalizer returned unknown field "${d}"`);let u=l,f=u.appearance;if(void 0!==f){if(!q(f))throw TypeError(`Family "${e.id}" request normalizer returned a non-object appearance`);let t=Object.keys(f).find(e=>!["colors","family"].includes(e));if(t)throw TypeError(`Family "${e.id}" request normalizer returned unknown appearance field "${t}"`)}let p=u.renderOptions??i;if(void 0!==p.onConfigDiagnostic)throw TypeError(`Family "${e.id}" request normalizer may not return executable option "onConfigDiagnostic"`);let m=eG(Object.fromEntries(Object.entries(p).filter(([e,t])=>void 0!==t&&!eC.includes(e))));if(m.length>0)throw new eY(`Family "${e.id}" returned invalid normalized RenderOptions: ${m.join("; ")}`);let g=e1(i),h=e1(p);for(let t of eP)if(!e2.has(t)&&e5(g[t])!==e5(h[t]))throw TypeError(`Family "${e.id}" request normalizer may not rewrite non-geometry option "${t}"`);let y=f?.colors?function(e,t,i){let a=new Set(["bg","fg","line","accent","muted","surface","border","shadow","font","embedFontImport"]),r=Object.keys(t).find(e=>!a.has(e));if(r)throw TypeError(`Family "${e.id}" returned unknown appearance color field "${r}"`);let n={...i};for(let i of["bg","fg","line","accent","muted","surface","border"]){let a=t[i];if(void 0===a)continue;let r=H(a);if(void 0===r)throw new eY(`Family "${e.id}" returned an unsafe ${i} paint`);n[i]=r}if(void 0!==t.font){let a=W(t.font);if(void 0===a)throw new eY(`Family "${e.id}" returned an unsafe font family`);if(a!==i.font)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "font"`)}if(void 0!==t.shadow){if("boolean"!=typeof t.shadow)throw TypeError(`Family "${e.id}" returned a non-boolean shadow value`);if(t.shadow!==i.shadow)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "shadow"`)}if(void 0!==t.embedFontImport){if("boolean"!=typeof t.embedFontImport)throw TypeError(`Family "${e.id}" returned a non-boolean embedFontImport value`);if(t.embedFontImport!==i.embedFontImport)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "embedFontImport"`)}return n}(e,f.colors,a):a,v=e4(e,u.familyConfig,"config",c.valid),b=e4(e,f?.family,"appearance",c.valid);return{renderOptions:p,colors:y,...v?{familyConfig:v}:{},...b?{familyAppearance:b}:{}}}(r,n,g,h,s,l),v=tt(y.colors),b=tn.get(o)??tc(o.style),S=function(t){let i=new Set;for(let a of Object.values(e))for(let e of a){let a=t.config.themeVariables?.[e];"string"==typeof a&&a.length>0&&void 0===V(a)&&i.add(e)}return Object.freeze([...i].sort())}(n),$={version:2,colors:v,font:f,style:tt(s),face:tt(l),styled:d,inferredBackend:s?F(s):"default",styleReferences:b,...S.length>0?{unsafeThemeColorKeys:S}:{},...y.familyAppearance?{family:y.familyAppearance}:{}},w=tt({...$,digest:e7(e5(e8($)))});return tt({renderOptions:tt(y.renderOptions),appearance:w,...y.familyConfig?{familyConfig:y.familyConfig}:{}})}({family:w,source:S,options:p,...h?{style:h}:{},...y?{styleFace:y}:{}}),A=j.family?.visual;"architecture"===w.id&&eb(S.config.themeVariables,w.id,p,A),function(e,t,i){if("architecture"!==t||!e)return;let a=i?.edgeStroke;if("string"==typeof a&&"none"===a.trim().toLowerCase())throw new em("architecture.visual.edgeStroke",a);for(let t of["bg","surface","line","accent"]){let r=e[t];if("string"==typeof r&&"none"===r.trim().toLowerCase()&&("surface"!==t||i?.groupSurface?.trim().toLowerCase()==="none")&&!("surface"===t&&i?.groupHeaderSurface)&&!(("line"===t||"accent"===t)&&a))throw new em(t,r)}let r=i?.groupSurface;if(!i?.groupHeaderSurface&&"string"==typeof r&&"none"===r.trim().toLowerCase())throw new em("architecture.visual.groupSurface",r)}(p,w.id,A);let L=function(e,t,i,a,r,n){var o,s,l,c,u;let f,p,m,g,h;"svg"===i||"png"===i?"scene"==(f=t.styled||e.lowerScene?"scene":"family-svg")&&(p=R(m=t.styled?t.inferredBackend:"default",a.backendPolicy)):f="layout"===i?"layout":"terminal";let y="scene"===f?(g=new Set(e.scenePrimitiveEvidence.filter(e=>"applicable"===e.applicability).map(e=>e.primitive)),z.filter(e=>g.has(e.primitive))):[],v=p?y.flatMap(e=>tu(tp(e),tg(p,e))):[],b=[{id:e.identity.id,version:e.identity.version},...tu("operation:layout",void 0!==e.layout),...tu("operation:project-positioned",void 0!==e.projectPositioned),...tu("operation:lower-scene",void 0!==e.lowerScene),...tu("operation:render-svg",void 0!==e.renderSvg),...tu("operation:render-terminal",void 0!==e.renderAscii),...tu("core:scene","scene"===f),...tu("backend:scene-renderer",void 0!==p,p?.identity.version),...v],S=[tf("core:family-descriptor"),tf(e.identity.id,e.identity.version)],$;switch(f){case"scene":S.push(tf("core:scene"),tf("operation:layout"),tf("operation:lower-scene"),tf("backend:scene-renderer",p?.identity.version??td),...y.map(e=>tf(tp(e)))),$=!!(e.layout&&e.lowerScene&&p&&y.every(e=>tg(p,e)));break;case"family-svg":S.push(tf("operation:layout"),tf("operation:render-svg")),$=!!(e.layout&&e.renderSvg);break;case"terminal":S.push(tf("operation:render-terminal")),$=void 0!==e.renderAscii;break;case"layout":S.push(tf("operation:layout"),tf("operation:project-positioned")),$=!!(e.layout&&e.projectPositioned)}let w=function(e,t,i,a){let r=function(e,t,i,a){let r=t.length+i.length;if("string"!=typeof e||r>256)return;let n=e.length+16*r;if(n>16384)return;let o=`${e.length}:${e};${a};${t.length};${i.length};`;for(let e of t){if("string"!=typeof e.id||"string"!=typeof e.version||(n+=e.id.length+e.version.length)>16384)return;o+=`${e.id.length}:${e.id}${e.version.length}:${e.version}`}for(let e of i){if("string"!=typeof e.id||"string"!=typeof e.range||"string"!=typeof e.level||(n+=e.id.length+e.range.length+e.level.length)>16384)return;o+=`${e.id.length}:${e.id}${e.range.length}:${e.range}${e.level.length}:${e.level}`}return o.length<=8192?o:void 0}(e,t,i,a),n=void 0===r?void 0:th.get(r);if(B("capability-decision",void 0===r?"bypass":n?"hit":"miss",void 0===r?"tuple-budget":void 0),n)return n;let o=U(e,{offers:t,requirements:i,outputAvailable:a});return void 0!==r&&(th.size<32?th.set(r,o):B("capability-decision","store-skipped","capacity")),o}(i,b,S,$);if(!w.accepted){let a,r;throw c=f,u=p,r=(a=w.resolutions.filter(e=>"required"===e.level&&"selected"!==e.status).map(e=>e.id).join(", "))?` (unsatisfied capabilities: ${a})`:"","layout"===i?new eU(`No public layout projection registered for Mermaid family "${e.id}"${r}`,i,e,w):"ascii"===i||"unicode"===i||"html"===i?new eU(`No ASCII renderer registered for Mermaid family ${e.id}${r}`,i,e,w):t.styled&&!e.lowerScene?new eU(`Family "${e.id}" does not support styled rendering (no SceneGraph lowering registered). Render without the style option, or register a lowerScene hook for the family.${r}`,i,e,w):"scene"===c&&e.layout&&e.lowerScene&&!u?new eU(t.styled?`Style "${t.style?.name??"(inline)"}" requires an unavailable SceneGraph backend${r}`:`Default SceneGraph backend is not registered${r}`,i,e,w):new eU(`No SVG renderer registered for Mermaid family ${e.id}${r}`,i,e,w)}let x="terminal"===f?void 0:Y(a.textMeasurement,t.font),C;if("scene"===f||"family-svg"===f){let t=Object.freeze("scene"===f?{mode:"scene",requestedId:m,selectedId:p.identity.id,version:p.identity.version,hostPolicy:void 0!==a.backendPolicy}:{mode:"family-svg"}),i={family:Object.freeze({id:e.identity.id,version:e.identity.version}),backend:t,...x?{textMeasurement:x.identity}:{}};C=Object.freeze({...i,digest:e7(e5(e8(i)))})}let O=void 0===r?void 0:Object.freeze((o=e.id,s=e.config,l=e.configDiagnostics,h=d(o),function(e,t,i,a){var r;let n;if(!i)return[];let o=a??d(e)?.configDiagnostics;return r=t.flatMap(t=>o?[...o({root:t,config:i})]:function(e,{root:t,config:i},a={}){let r=function(e,t,i){if(!i)return[];let a=t&&"object"==typeof t&&!Array.isArray(t)?t:void 0,r=ex(t,i.section);if(!r)return a&&i.section in a?[{code:"INEFFECTIVE_CONFIG",field:i.section,message:`${e} config section "${i.section}" must be an object; the invalid value has no effect.`}]:[];let n=new Set(i.keys);return Object.keys(r).filter(e=>!n.has(e)).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is unknown and has no effect; check the spelling or remove it.`}))}(e,t,i),n=ex(t,i.section);if(n){for(let[e,t]of Object.entries(a))if(e in n&&!t.valid(n[e])){let a=`${i.section}.${e}`;r.push({code:"INEFFECTIVE_CONFIG",field:a,message:`${a} must be ${t.expected}; the invalid value has no effect.`})}}return[...r,...function(e,t,i,a={}){if(!i)return[];let r=ex(t,i.section);if(!r)return[];let n=new Set(i.noopKeys??[]);return Object.keys(r).filter(e=>{if(!n.has(e))return!1;let t=a[e];return!t||t.valid(r[e])}).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is accepted for ${e.includes(":")?"compatibility":"Mermaid compatibility"} but has no effect on this renderer.`}))}(e,t,i,a)]}(e,{root:t,config:i})),n=new Set,r.sort((e,t)=>D(e.field,t.field)||D(e.message,t.message)).filter(e=>{let t=`${e.code}\0${e.field}\0${e.message}`;return!n.has(t)&&(n.add(t),!0)})}(o,[r],s??h?.config,l??h?.configDiagnostics)).map(e=>Object.freeze({...e})));return Object.freeze({output:i,mode:f,family:e,...p?{backend:p}:{},...m?{requestedBackendId:m}:{},...void 0===O?{}:{configDiagnostics:O},...n?{onConfigDiagnostic:n}:{},capabilityDecision:w,...C?{executionDecision:C}:{},...x?{textMeasurement:x}:{}})}(w,j,o,c,p.mermaidConfig,f.onConfigDiagnostic),N=L.capabilityDecision,P=Object.freeze(N.resolutions.filter(ty)),_=Object.freeze({version:N.version,accepted:P.every(e=>"required"!==e.level||"selected"===e.status),resolutions:P}),G={version:2,authoredSource:S.originalText,source:S.text,options:e1(k),appearance:j.digest,...E?{familyConfig:E}:{},...L.textMeasurement?{textMeasurement:L.textMeasurement.identity}:{},capabilities:_},K=e3(G,S),X=e3({...G,output:o,outputOptions:s,capabilities:N},S),Q=Object.freeze({version:2,output:o,source:tt(S),renderOptions:k,appearance:j,...E?{familyConfig:E}:{},capabilityDecision:N,explicitOptionFields:C,...0===O.length?{}:{resolutionDiagnostics:O},get sharedRequestDigest(){return K()},get requestDigest(){return X()}});return eK.set(Q,L),Q}export{eY as a,eX as b,eQ as c,eZ as d,e7 as e,to as f,ts as g,tv as h};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as n}from"./chunk-RLJEI7YN.js";var r=new WeakSet;function t(n){r.add(n)}function e(n){return r.has(n)}var a=new WeakMap;function u(r){let t=t=>r(n,t);return a.set(t,{original:r,current:r}),t}function c(n,r){let t=a.get(n)?.current;if(t){let n=a.get(r);n?n.current=t:a.set(r,{original:t,current:t})}return r}function i(n){return n&&a.get(n)?.current}function o(n){return n&&a.get(n)?.original}export{t as a,e as b,u as c,c as d,i as e,o as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.defineProperty,r=(e,r)=>()=>{try{return r||e((r={exports:{}}).exports,r),r.exports}catch(e){throw r=0,e}},t=(r,t)=>{for(var a in t)e(r,a,{get:t[a],enumerable:!0})};export{r as a,t as b};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{d as e,e as t,f as r}from"./chunk-QWX77U7G.js";import{a as n,g as i}from"./chunk-RLJEI7YN.js";import{d as o,h as a,i as l,j as s,l as c,la as u,ma as d,n as f,o as g,q as m,ra as p}from"./chunk-RZ6XK5CD.js";var h,b=e=>/^zenuml\s*$/.test(e);function y(e){let t=/^(?:[^\S\r\n]*(?:\r\n?|\n))*[^\S\r\n]*---[^\S\r\n]*(?:\r\n?|\n)/.exec(e)?.[0].length;if(!t)return;let r=-1,n="",i=/([^\S\r\n]*)([^\r\n]*)(?:\r\n?|\n|$)/g;i.lastIndex=t;for(let o=i.exec(e);o?.[0];o=i.exec(e)){let a=o[1].length,l=o[2].trimEnd();if(!l)continue;if(a<=r&&(r=-1),"---"===l&&r<0)return{source:e.slice(0,i.lastIndex),yaml:e.slice(t,o.index)};if(r>=0||!n&&"#"===l[0])continue;let s=/^((?:-[ \t]+)*)(?:("(?:[^"\\]|\\.)*"|'(?:[^']|'')*'|[^"':](?:[^:]|:(?![ \t]))*):[ \t]+)?(?:[!&][^ \t]+[ \t]+)*/.exec(l),c=n?n+l:l.slice(s[0].length);if(/^["'[{]/.test(c)){n="";let e=!0,t="";for(let r=0;r<c.length;r++){let i=c[r];if(n)'"'===n&&"\\"===i?r++:i===n&&("'"===n&&"'"===c[r+1]?r++:(n="",t=i));else{if("#"===i&&(0===r||/[ \t,]/.test(c[r-1])))break;if(e&&"?"===i&&/[ \t]/.test(c[r+1]??""))continue;if(e&&("&"===i||"!"===i)){let e=/^(?:!<[^>]*>|[!&][^ \t,[\]{}]*)/.exec(c.slice(r));r+=e[0].length-1}else('"'===i||"'"===i)&&e?(n=i,e=!1):/[ \t]/.test(i)||(e="[{,".includes(i)||":"===i&&('"'===t||"'"===t||/[ \t]/.test(c[r+1]??"")),t=i)}}continue}/^[|>](?:[+-][1-9]?|[1-9][+-]?)?(?:[ \t]+#.*)?$/.test(c)&&(r=a+(s[2]?s[1].length:0))}}var x=/^[^\S\r\n]*%%\{\s*\w+\s*(?::\s*([\s\S]*?))?\}\s*%%[^\S\r\n]*(?:\r\n?|\n)?|%%\{\s*\w+\s*(?::\s*([\s\S]*?))?\}\s*%%/gm,S=/%%\{\s*\w+(?:(?!\}%%)[\s\S])*\}%%/g;function _(e,t){return(t?e.replace(x,(e,r,n)=>(t(r??n),"")):e.replace(x,"")).replace(S,"")}function F(e){return e.split(/\r\n?|\n/).map(e=>e.trim()).filter(e=>e&&!e.startsWith("%%"))}var v=/^[^\S\r\n]*(?:sequenceDiagram|stateDiagram(?:-v2)?|mindmap|architecture(?:-beta)?|gitGraph(?:[^\S\r\n]+(?:LR|TB|BT))?(?:[^\S\r\n]*:)?|gantt(?=[^\S\r\n]+(?:(?:dateFormat|inclusiveEndDates|topAxis|axisFormat|tickInterval|includes|excludes|todayMarker|weekday|weekend|title|accTitle|accDescr|section|click)\b|[^\r\n]*:))|journey|quadrantChart|timeline(?:[^\S\r\n]+(?:LR|TD))?(?=[^\S\r\n]+(?:(?:title|section|accTitle|accDescr)\b|[^\r\n]*:))|pie(?:[^\S\r\n]+showData)?|xychart(?:-beta)?(?:[^\S\r\n]+(?:horizontal|vertical))?|radar-beta(?:[^\S\r\n]*:)?|erDiagram)/i;function w(e){let t=e.split(/\r\n?|\n/),r=t.findIndex(e=>""!==e.trim()&&!e.trim().startsWith("%%")),n=r<0?null:v.exec(t[r]),i=n?t[r].slice(n[0].length):"";if(!n||!i.trim()||/^\s*(?:erDiagram|stateDiagram)/i.test(n[0])&&/direction\s+(?:TB|BT|LR|RL)/i.test(i)||/^\s*gitGraph\s+(?:LR|TB|BT)$/i.test(n[0]))return e;let o=/^\s*stateDiagram/i.test(n[0])&&/^[^\S\r\n]*;/.test(i),a=/^\s*quadrantChart/i.test(n[0])&&/^[^\S\r\n]*;/.test(i),l=n[0].endsWith(":")?/^[^\S\r\n]*(?!%%)\S/:/^[^\S\r\n]+(?!%%)\S/;return o||a||l.test(i)?(t.splice(r,1,n[0],/^\s*mindmap/i.test(n[0])?i.trimEnd():a?i.replace(/^[^\S\r\n]*;/,"").trim():i.trim()),t.join(`
|
|
2
|
+
`)):e}function k(e){return e.replace(/%%.*$/,"").split(";",1)[0].trim().toLowerCase()}function C(e){return F(w(_(e.slice(y(e)?.source.length??0))))[0]?.toLowerCase()??""}var j,A,T=new Map;function O(e){T.set(e.id,e)}function B(e){return A?.(e)??T.get(e)}function L(e,t="strict"){let r=j?.(e,t);if(r)return r;let i=k(e);return[...T.values()].sort((e,t)=>t.collisionPriority-e.collisionPriority||n(e.id,t.id)).find(e=>"loose"===t?(e.detectLoose??e.detect)(i):e.detect(i))??null}function z(e,t,r){return t.some(e=>/acc(?:Title|Descr)/i.test(e))?(void 0===r?L(e,"loose"):r)?.statementEnds?.(t):void 0}function M(e){let t=/%%\{\s*(\w+)/.exec(e)?.[1];return void 0!==t&&(null!==t.match(/(?:init\b)|(?:initialize\b)/)||null!==t.match("wrap"))}function W(){let e=1e5;function t(){if(--e<0){let e=Error("Configuration validation exceeded 100000 loop steps");throw e.name="MermaidConfigWorkLimitError",e}}var r=(e,t,{depth:n=2}={})=>{let i={depth:n};return Array.isArray(t)&&!Array.isArray(e)?(t.forEach(t=>r(e,t,i)),e):Array.isArray(t)&&Array.isArray(e)?(t.forEach(t=>{e.includes(t)||e.push(t)}),e):null==e||n<=0?null!=e&&"object"==typeof e&&"object"==typeof t?Object.assign(e,t):t:(null!=t&&"object"==typeof e&&"object"==typeof t&&Object.entries(t).forEach(([t,i])=>{"object"==typeof i?null!==i&&(Object.hasOwn(e,t)||Object.defineProperty(e,t,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),void 0===e[t]&&(e[t]=Array.isArray(i)?[]:{}),"object"==typeof e[t]&&(e[t]=r(e[t],i,{depth:n-1}))):"object"!=typeof e[t]&&(Object.hasOwn(e,t)?e[t]=i:Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!0,configurable:!0}))}),e)},n=new Set(["flowchart","useMaxWidth","theme","look","titleTopMargin","subGraphTitleMargin","top","bottom","diagramPadding","htmlLabels","nodeSpacing","rankSpacing","curve","padding","wrappingWidth","minNodeWidth","inheritDir","swimlane","layout","lineHops","ignoreCrossLaneEdges","optimizeRanksByCrossings","automaticLaneOrdering","agentflow","sequence","hideUnusedParticipants","activationWidth","diagramMarginX","diagramMarginY","actorMargin","width","height","boxMargin","boxTextMargin","noteMargin","messageMargin","messageAlign","mirrorActors","forceMenus","bottomMarginAdj","rightAngles","showSequenceNumbers","actorFontSize","actorFontFamily","actorFontWeight","noteFontSize","noteFontFamily","noteFontWeight","noteAlign","messageFontSize","messageFontFamily","messageFontWeight","wrap","wrapPadding","labelBoxWidth","labelBoxHeight","messageFont","noteFont","actorFont","gantt","barHeight","barGap","topPadding","rightPadding","leftPadding","gridLineStartPadding","fontSize","sectionFontSize","numberSectionStyles","axisFormat","topAxis","displayMode","weekday","tickInterval","useWidth","journey","leftMargin","maxLabelWidth","taskFontSize","taskFontFamily","taskMargin","textPlacement","titleColor","titleFontFamily","titleFontSize","class","hideEmptyMembersBox","hierarchicalNamespaces","state","dividerMargin","sizeUnit","textHeight","titleShift","forkWidth","forkHeight","miniPadding","fontSizeFactor","labelHeight","edgeLengthFactor","compositTitleSize","radius","er","layoutDirection","minEntityWidth","minEntityHeight","entityPadding","stroke","fill","pie","textPosition","donutHole","legendPosition","highlightSlice","quadrantChart","chartWidth","chartHeight","titlePadding","quadrantPadding","xAxisLabelPadding","yAxisLabelPadding","xAxisLabelFontSize","yAxisLabelFontSize","quadrantLabelFontSize","quadrantTextTopPadding","pointTextPadding","pointLabelFontSize","pointRadius","xAxisPosition","yAxisPosition","quadrantInternalBorderStrokeWidth","quadrantExternalBorderStrokeWidth","xyChart","showDataLabel","showDataLabelOutsideBar","showTitle","showLegend","legendFontSize","legendPadding","xAxis","$ref","showLabel","labelFontSize","labelPadding","showTick","tickLength","tickWidth","showAxisLine","axisLineWidth","labelRotation","yAxis","chartOrientation","plotReservedSpacePercent","requirement","rect_fill","text_color","rect_border_size","rect_border_color","rect_min_width","rect_min_height","rect_padding","line_height","mindmap","colorBy","maxNodeWidth","layoutAlgorithm","ishikawa","kanban","sectionWidth","ticketBaseUrl","timeline","disableMulticolor","gitGraph","nodeLabel","x","y","mainBranchName","mainBranchOrder","showCommitLabel","showBranches","rotateCommitLabel","parallelCommits","arrowMarkerAbsolute","c4","c4ShapeMargin","c4ShapePadding","c4ShapeInRow","nextLinePaddingX","c4BoundaryInRow","personFontSize","personFontFamily","personFontWeight","external_personFontSize","external_personFontFamily","external_personFontWeight","systemFontSize","systemFontFamily","systemFontWeight","external_systemFontSize","external_systemFontFamily","external_systemFontWeight","system_dbFontSize","system_dbFontFamily","system_dbFontWeight","external_system_dbFontSize","external_system_dbFontFamily","external_system_dbFontWeight","system_queueFontSize","system_queueFontFamily","system_queueFontWeight","external_system_queueFontSize","external_system_queueFontFamily","external_system_queueFontWeight","boundaryFontSize","boundaryFontFamily","boundaryFontWeight","containerFontSize","containerFontFamily","containerFontWeight","external_containerFontSize","external_containerFontFamily","external_containerFontWeight","container_dbFontSize","container_dbFontFamily","container_dbFontWeight","external_container_dbFontSize","external_container_dbFontFamily","external_container_dbFontWeight","container_queueFontSize","container_queueFontFamily","container_queueFontWeight","external_container_queueFontSize","external_container_queueFontFamily","external_container_queueFontWeight","componentFontSize","componentFontFamily","componentFontWeight","external_componentFontSize","external_componentFontFamily","external_componentFontWeight","component_dbFontSize","component_dbFontFamily","component_dbFontWeight","external_component_dbFontSize","external_component_dbFontFamily","external_component_dbFontWeight","component_queueFontSize","component_queueFontFamily","component_queueFontWeight","external_component_queueFontSize","external_component_queueFontFamily","external_component_queueFontWeight","person_bg_color","person_border_color","external_person_bg_color","external_person_border_color","system_bg_color","system_border_color","system_db_bg_color","system_db_border_color","system_queue_bg_color","system_queue_border_color","external_system_bg_color","external_system_border_color","external_system_db_bg_color","external_system_db_border_color","external_system_queue_bg_color","external_system_queue_border_color","container_bg_color","container_border_color","container_db_bg_color","container_db_border_color","container_queue_bg_color","container_queue_border_color","external_container_bg_color","external_container_border_color","external_container_db_bg_color","external_container_db_border_color","external_container_queue_bg_color","external_container_queue_border_color","component_bg_color","component_border_color","component_db_bg_color","component_db_border_color","component_queue_bg_color","component_queue_border_color","external_component_bg_color","external_component_border_color","external_component_db_bg_color","external_component_db_border_color","external_component_queue_bg_color","external_component_queue_border_color","personFont","external_personFont","systemFont","external_systemFont","system_dbFont","external_system_dbFont","system_queueFont","external_system_queueFont","containerFont","external_containerFont","container_dbFont","external_container_dbFont","container_queueFont","external_container_queueFont","componentFont","external_componentFont","component_dbFont","external_component_dbFont","component_queueFont","external_component_queueFont","boundaryFont","sankey","linkColor","nodeAlignment","showValues","prefix","suffix","nodeWidth","nodePadding","labelStyle","nodeColors","block","packet","rowHeight","bitWidth","bitsPerRow","showBits","bitOrder","paddingX","paddingY","treeView","rowIndent","lineThickness","showIcons","defaultIconPack","filenameIcons","extensionIcons","architecture","iconSize","randomize","nodeSeparation","idealEdgeLengthMultiplier","edgeElasticity","numIter","seed","eventmodeling","radar","marginTop","marginRight","marginBottom","marginLeft","axisScaleFactor","axisLabelFactor","curveTension","usecase","usecaseFontSize","usecaseFontFamily","usecaseFontWeight","colorScheme","venn","useDebugLayout","cynefin","showDomainDescriptions","boundaryAmplitude","handDrawnSeed","maxTextSize","maxEdges","darkMode","fontFamily","logLevel","securityLevel","startOnLoad","legacyMathML","forceLegacyMathML","deterministicIds","markdownAutoWrap","suppressErrorRendering","deterministicIDSeed","elk","mergeEdges","straightenEdges","preset","nodePlacementStrategy","layeringStrategy","cycleBreakingStrategy","layeringLayerBound","nodePlacementAlignment","forceNodeModelOrder","considerModelOrder","keepEntryNodeOnTop","orientFeedbackEdges","themeCSS","themeVariables","background","primaryColor","secondaryColor","tertiaryColor","primaryBorderColor","secondaryBorderColor","tertiaryBorderColor","primaryTextColor","secondaryTextColor","tertiaryTextColor","lineColor","textColor","mainBkg","secondBkg","border1","border2","arrowheadColor","labelBackground","THEME_COLOR_LIMIT","strokeWidth","nodeBkg","nodeBorder","clusterBkg","clusterBorder","defaultLinkColor","edgeLabelBackground","actorBorder","actorBkg","actorTextColor","actorLineColor","signalColor","signalTextColor","labelBoxBkgColor","labelBoxBorderColor","labelTextColor","loopTextColor","noteBorderColor","noteBkgColor","noteTextColor","activationBorderColor","activationBkgColor","sequenceNumberColor","sectionBkgColor","altSectionBkgColor","sectionBkgColor2","excludeBkgColor","taskBorderColor","taskBkgColor","taskTextLightColor","taskTextColor","taskTextDarkColor","taskTextOutsideColor","taskTextClickableColor","activeTaskBorderColor","activeTaskBkgColor","gridColor","doneTaskBkgColor","doneTaskBorderColor","critBorderColor","critBkgColor","todayLineColor","vertLineColor","fontWeight","personBorder","personBkg","archEdgeColor","archEdgeArrowColor","archEdgeWidth","archGroupBorderColor","archGroupBorderWidth","rowOdd","rowEven","labelColor","errorBkgColor","errorTextColor","useGradient","gradientStart","gradientStop","dropShadow","cScale0","cScale1","cScale2","cScale3","cScale4","cScale5","cScale6","cScale7","cScale8","cScale9","cScale10","cScale11","cScalePeer1","cScalePeer2","cScalePeer0","cScalePeer3","cScalePeer4","cScalePeer5","cScalePeer6","cScalePeer7","cScalePeer8","cScalePeer9","cScalePeer10","cScalePeer11","cScaleInv0","cScaleInv1","cScaleInv2","cScaleInv3","cScaleInv4","cScaleInv5","cScaleInv6","cScaleInv7","cScaleInv8","cScaleInv9","cScaleInv10","cScaleInv11","surface0","surfacePeer0","surface1","surfacePeer1","surface2","surfacePeer2","surface3","surfacePeer3","surface4","surfacePeer4","scaleLabelColor","flowContainerStroke","rectBkgColor","transitionColor","transitionLabelColor","stateLabelColor","stateBkg","labelBackgroundColor","compositeBackground","altBackground","compositeTitleBackground","compositeBorder","innerEndBackground","specialStateColor","classText","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12","pieTitleTextSize","pieTitleTextColor","pieSectionTextSize","pieSectionTextColor","pieLegendTextSize","pieLegendTextColor","pieStrokeColor","pieStrokeWidth","pieOuterStrokeWidth","pieOuterStrokeColor","pieOpacity","venn1","venn2","venn3","venn4","venn5","venn6","venn7","venn8","vennTitleTextColor","vennSetTextColor","domainFontSize","itemFontSize","boundaryColor","boundaryWidth","cliffColor","cliffWidth","arrowColor","arrowWidth","complexBg","complicatedBg","chaoticBg","clearBg","confusionBg","quadrant1Fill","quadrant2Fill","quadrant3Fill","quadrant4Fill","quadrant1TextFill","quadrant2TextFill","quadrant3TextFill","quadrant4TextFill","quadrantPointFill","quadrantPointTextFill","quadrantXAxisTextFill","quadrantYAxisTextFill","quadrantInternalBorderStrokeFill","quadrantExternalBorderStrokeFill","quadrantTitleFill","axisColor","axisStrokeWidth","axisLabelFontSize","curveOpacity","curveStrokeWidth","graticuleColor","graticuleStrokeWidth","graticuleOpacity","legendBoxSize","wardleyEvolutionColor","wardley","backgroundColor","axisTextColor","componentFill","componentStroke","componentLabelColor","linkStroke","evolutionStroke","annotationStroke","annotationTextColor","annotationFill","dataLabelColor","legendTextColor","xAxisTitleColor","xAxisLabelColor","xAxisTickColor","xAxisLineColor","yAxisTitleColor","yAxisLabelColor","yAxisTickColor","yAxisLineColor","plotColorPalette","requirementBackground","requirementBorderColor","requirementBorderSize","requirementTextColor","relationColor","relationLabelBackground","relationLabelColor","git0","git1","git2","git3","git4","git5","git6","git7","gitInv0","gitInv1","gitInv2","gitInv3","gitInv4","gitInv5","gitInv6","gitInv7","gitBranchLabel0","gitBranchLabel1","gitBranchLabel2","gitBranchLabel3","gitBranchLabel4","gitBranchLabel5","gitBranchLabel6","gitBranchLabel7","tagLabelColor","tagLabelBackground","tagLabelBorder","tagLabelFontSize","commitLabelColor","commitLabelBackground","commitLabelFontSize","emUiFill","emUiStroke","emProcessorFill","emProcessorStroke","emReadModelFill","emReadModelStroke","emCommandFill","emCommandStroke","emEventFill","emEventStroke","emSwimlaneBackgroundOdd","emSwimlaneBackgroundStroke","emArrowhead","emRelationStroke","attributeBackgroundColorOdd","attributeBackgroundColorEven","cScaleLabel0","cScaleLabel3","cScaleLabel1","cScaleLabel2","cScaleLabel4","cScaleLabel5","cScaleLabel6","cScaleLabel7","cScaleLabel8","cScaleLabel9","cScaleLabel10","cScaleLabel11","railroad","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","treemap","nodeHeight","borderWidth","valueFontSize","valueFormat"]),i={trace(){},debug(){},info(){},warn(){},error(){},fatal(){}},o={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},a=(e,r)=>{for(let n of Object.keys(e)){t();let o=e[n];(n.startsWith("__")||n.includes("proto")||n.includes("constr")||"string"!=typeof o||!r.test(o))&&(i.debug("sanitize deleting dictionary entry:",n,o),delete e[n])}},l=e=>{if(i.debug("sanitizeDirective called with",e),"object"==typeof e&&null!=e){if(Array.isArray(e))return void e.forEach(e=>l(e));for(let r of Object.keys(e)){if(t(),i.debug("Checking key",r),r.startsWith("__")||r.includes("proto")||r.includes("constr")||!n.has(r)||null==e[r]){i.debug("sanitize deleting key: ",r),delete e[r];continue}if("object"==typeof e[r]){let t=o[r];t?a(e[r],t):(i.debug("sanitizing object",r),l(e[r]));continue}for(let n of["themeCSS","fontFamily","altFontFamily"])t(),r.includes(n)&&(i.debug("sanitizing css option",r),e[r]=s(e[r]))}if(e.themeVariables)for(let r of Object.keys(e.themeVariables)){t();let n=e.themeVariables[r];n?.match&&!n.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[r]="")}i.debug("After sanitization",e)}},s=e=>{let r=0,n=0;for(let i of e){if(t(),r<n)return"{ /* ERROR: Unbalanced CSS */ }";"{"===i?r++:"}"===i&&n++}return r!==n?"{ /* ERROR: Unbalanced CSS */ }":e};function c(){}function u(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function d(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var f="object"==typeof globalThis&&globalThis||"object"==typeof window&&window||"object"==typeof self&&self||"object"==typeof global&&global||function(){return this}();function g(e){return"u">typeof f.Buffer&&f.Buffer.isBuffer(e)}function m(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){var r;let t=e[Symbol.toStringTag];return null!=t&&!!(null!=(r=Object.getOwnPropertyDescriptor(e,Symbol.toStringTag))&&r.writable)&&e.toString()===`[object ${t}]`}let n=e;for(;null!==Object.getPrototypeOf(n);)t(),n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}function p(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function h(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var b="[object String]",y="[object Number]",x="[object Boolean]",S="[object Arguments]",_=Object.prototype.hasOwnProperty;function F(e,r,n,i,o){if(null!=o){let t=o(e,r,n,i);if(void 0!==t)return t}if(u(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let r=Array(e.length);i.set(e,r);for(let a=0;a<e.length;a++)t(),r[a]=F(e[a],a,n,i,o);return _.call(e,"index")&&(r.index=e.index),_.call(e,"input")&&(r.input=e.input),r}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;return i.set(e,t),e.forEach((e,r)=>{t.set(r,F(e,r,n,i,o))}),t}if(e instanceof Set){let t=new Set;return i.set(e,t),e.forEach(e=>{t.add(F(e,void 0,n,i,o))}),t}if(g(e))return e.subarray();if(p(e)){let r=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,r);for(let a=0;a<e.length;a++)t(),r[a]=F(e[a],a,n,i,o);return r}if(e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,t),v(t,e,n,i,o),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return i.set(e,t),v(t,e,n,i,o),t}if("u">typeof Blob&&e instanceof Blob){let t=new Blob([e],{type:e.type});return i.set(e,t),v(t,e,n,i,o),t}let a=h(e);if("[object Error]"===a)return e===n?{}:e;switch(a){case y:case b:case x:{let t=new e.constructor(e.valueOf());return i.set(e,t),v(t,e,n,i,o),t}case S:{let t={};return i.set(e,t),v(t,e,n,i,o),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}}if("object"==typeof e&&function(e){switch(e){case S:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case x:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case y:case"[object Object]":case"[object RegExp]":case"[object Set]":case b:case"[object Symbol]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return!0;default:return!1}}(a)){let t="[object Object]"===a&&"function"!=typeof e.constructor?{}:Object.create(Object.getPrototypeOf(e));return i.set(e,t),v(t,e,n,i,o),t}return e}function v(e,r,n,i,o){let a=[...Object.keys(r),...d(r)];for(let l=0;l<a.length;l++){t();let s=a[l],c=Object.getOwnPropertyDescriptor(e,s);(null==c||c.writable)&&(e[s]=F(r[s],s,n,i,o))}}function w(e){return F(e,void 0,e,new Map,void 0)}function k(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===h(e)}function C(e){return"object"==typeof e&&null!==e}var j={debug(){},error(){}},A="",T=!1,O=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,B=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,L=function(e,r=null){try{let n=RegExp(`[%]{2}(?![{]${B.source})(?=[}][%]{2}).*
|
|
3
|
+
`,"ig");e=e.trim().replace(n,"").replace(/'/gm,'"'),j.debug(`Detecting diagram directive${null!==r?" type:"+r:""} based on the text:${e}`);let i,o=[];for(;null!==(i=O.exec(e));)if(t(),i.index===O.lastIndex&&O.lastIndex++,i&&!r||r&&i[1]?.match(r)||r&&i[2]?.match(r)){let e=i[1]?i[1]:i[2],t=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;o.push({type:e,args:t})}return 0===o.length?{type:e,args:null}:1===o.length?o[0]:o}catch(t){return j.error(`ERROR: ${t.message} - Unable to parse directive type: '${r}' based on the text: '${e}'`),{type:void 0,args:null}}},z=function(e,n){let i=L(e,/(?:init\b)|(?:initialize\b)/),o={};if(Array.isArray(i)){let e,n=i.map(e=>e.args);e=T?structuredClone(n):void 0,l(n),e&&function e(r,n){if(!(!r||!n||"object"!=typeof r||"object"!=typeof n))for(let i of Object.keys(n))t(),"string"==typeof r[i]&&"string"==typeof n[i]?n[i]=r[i]:e(r[i],n[i])}(e,n),o=r(o,[...n])}else o=i.args;if(!o)return;let a=A,s="config";return void 0!==o[s]&&("flowchart-v2"===a&&(a="flowchart"),o[a]=o[s],delete o[s]),o};function M(e,t,r=!0){if(!/^\w+$/.test(e))throw Error("Invalid directive name");if(!r)return"%%{"+e+"}%%";let n="%%{"+e+": "+(Object.is(t,-0)?"-0":JSON.stringify(t)).replace(/[&<>#%'\u2028\u2029]/g,e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"))+"}%%";O.lastIndex=0;let i=O.exec(n);O.lastIndex=0;let o=L(n,e);if(!i||i[0]!==n||!Object.is(typeof o.args,typeof t))throw Error("init argument has no complete pinned scalar token");return n}function W(e){return M("init",e)}function q(e,r,n,i=!1){A=n,T=i;try{let n,i;return function(e,...r){return function(e,...r){let n=r.slice(0,-1),i=r[r.length-1],o=e;for(let e=0;e<n.length;e++)t(),o=function e(r,n,i,o){if(u(r)&&(r=Object(r)),null==n||"object"!=typeof n)return r;if(o.has(n))return function(e){if(u(e))return e;if(Array.isArray(e)||p(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e);if(null==t)return Object.assign(Object.create(t),e);let r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){let t=new r(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){let t;return(t="u">typeof AggregateError&&e instanceof AggregateError?new r(e.errors,e.message,{cause:e.cause}):new r(e.message,{cause:e.cause})).stack=e.stack,Object.assign(t,e),t}return"u">typeof File&&e instanceof File?new r([e],e.name,{type:e.type,lastModified:e.lastModified}):"object"==typeof e?Object.assign(Object.create(t),e):e}(o.get(n));if(o.set(n,r),Array.isArray(n)){n=n.slice();for(let e=0;e<n.length;e++)t(),e in n||(n[e]=void 0)}let a=[...Object.keys(n),...d(n)];for(let l=0;l<a.length;l++){t();let s=a[l];if("__proto__"===s)continue;let c=n[s],u=r[s];if(k(c)&&(c=Object.assign({},c)),k(u)&&(u=Object.assign({},u)),g(c)&&(c=w(c)),Array.isArray(c))if(Array.isArray(u)){let e=[],r=Reflect.ownKeys(u);for(let n=0;n<r.length;n++){t();let i=r[n];e[i]=u[i]}u=e}else if(function(e){var t;return C(e)&&null!=e&&"function"!=typeof e&&Number.isSafeInteger(t=e.length)&&t>=0}(u)){let e=[];for(let r=0;r<u.length;r++)t(),e[r]=u[r];u=e}else u=[];let d=i(u,c,s,r,n,o);void 0!==d?r[s]=d:Array.isArray(c)||C(u)&&C(c)&&(m(u)||m(c)||p(u)||p(c))?r[s]=e(u,c,i,o):null==u&&m(c)?r[s]=e({},c,i,o):null==u&&p(c)?r[s]=w(c):(void 0===u||void 0!==c)&&(r[s]=c)}return r}(o,n[e],i,new Map);return o}(e,...r,c)}({},structuredClone(e),(n=z(r)??{},i=L(r,"wrap"),Array.isArray(i)?n.wrap=i.some(({type:e})=>"wrap"===e):i?.type==="wrap"&&(n.wrap=!0),{text:r.replace(O,""),directive:n}).directive)}finally{T=!1}}return{configDirective:M,initDirective:W,mergeConfig:function(e,t,r,n=!1,i=!1){A=r,T=i;try{let o=t.map(W).join(`
|
|
4
|
+
`)+(n?`
|
|
5
|
+
%%{wrap}%%`:"");return q(e,o,r,i)}finally{T=!1}},mergeConfigSource:q}}var q=/^note\s+(left|right)\s+of\s+([\w\p{L}-]+)\s*$/iu,I=/^note\s+(left|right)\s+of\s+([\w\p{L}-]+)\s+([^\s:].*)$/iu,E=/^end\s+note$/i;function P(e,t=!1){for(let r=0;r<e.length;r++){let n=e[r];if('"'===n){t=!t;continue}if(t)continue;if("%"===n&&"%"===e[r+1])return{comment:r,quoted:t};if(":"!==n||":"===e[r-1]||":"===e[r+1])continue;let i=e.slice(0,r).trim();if(/^[\w\p{L}-]+$/u.test(i)||i.includes("--\x3e")||/^note\s+(?:left|right)\s+of\s+[\w\p{L}-]+$/iu.test(i))return{comment:-1,quoted:!1}}return{comment:-1,quoted:t}}function D(e){let t=[],r=[];for(let n=e.length-1,i=!1,o=!1;n>=0;n--)t[n]=i,r[n]=o,i||=E.test(function(e){let t=P(e).comment;return(t<0?e:e.slice(0,t)).trim()}(e[n])),o||=e[n].includes('"');let n=!1,i=!1;return e.map((e,o)=>{let a=i,l=P(e,!n&&a),s=(l.comment<0?e:e.slice(0,l.comment)).trim(),c=n&&!E.test(s),u=c?e.trim():s,d=!1;n?c||(n=!1):!a&&(q.test(u)||t[o]&&I.test(u))&&(n=d=!0),i=!n&&l.quoted&&r[o]&&(a||/^(?:state|note)\s/i.test(u));let f=!c&&l.comment>0&&!/\s/.test(e[l.comment-1]);return{text:u,commentIndex:c?-1:l.comment,noteBody:c,noteOpen:d,openQuote:i,commentGlued:f}})}var $=/fl°°(\d+)¶ß|fl°(\w+)¶ß/g;function R(e,t){let r=e.lastIndexOf(";");if(r<0||!e.includes(t))return e;let n=new Uint8Array(e.length+1),i=-1,o=!1;for(let t=e.length-1;t>=0;t--){let a=e[t];/\s/.test(a)?i=-1:"#"===a&&(i=t),":"===a&&i>=0&&i<r&&(o=!0),n[t]=+!!o}for(let i=e.indexOf(t);i>=0;i=e.indexOf(t,i+t.length))if(1===n[i+t.length])return e.slice(0,r)+e.slice(r+1);return e}function N(e){return e.replace($,(e,t,r)=>`#${t??r};`)}var V=new Set([..."#&:;,%{}\"'\\`","fl","¶"]),U={amp:"&",quot:'"',apos:"'"};function G(e,t=""){let r=N(e);return r.replace(/#(\w+);/g,(e,n,i)=>{if(i>0&&"&"===r[i-1])return e;let o=U[n]??(/^\d+$/.test(n)&&1114111>=Number(n)?String.fromCodePoint(Number(n)):void 0);return o&&(V.has(o)||t.includes(o)||0===i&&/^[A-Za-z]$/.test(o))?o:e})}function H(e){return{...void 0!==e.title?{title:G(e.title)}:{},...void 0!==e.descr?{descr:G(e.descr)}:{}}}var Y=class extends Error{constructor(e){super(e),this.name="MermaidSyntaxError"}};function X(e){let t=e.known&&e.known.length>0?` (known: ${e.known.join(", ")})`:"";return new Y(`${e.what} \u2014 expected ${e.expectedForm}, e.g. ${e.example}${t}`)}function J(e){let t=[0];for(let r=0;r<e.length;r++)13===e.charCodeAt(r)?(10===e.charCodeAt(r+1)&&r++,t.push(r+1)):10===e.charCodeAt(r)&&t.push(r+1);return t}function Z(e,t){let r=0,n=e.length;for(;r<n;){let i=r+Math.floor((n-r)/2);e[i]<=t?r=i+1:n=i}let i=Math.max(0,r-1);return Object.freeze({offset:t,line:i+1,col:t-e[i]+1})}function K(e,t,r){return Object.freeze({start:Z(e,t),end:Z(e,r)})}var Q=/^\s*accTitle(?:\s*:\s*|\s+)([^\r\n]+)$/i,ee=/^\s*accDescr(?=\s|:|\{|$)/i;function et(e,t){let r=e[t];if(void 0===r)return null;let n=r.match(/^\s*%% agentic-mermaid (accTitle|accDescr): ("[^\r\n]*")\s*$/);if(n)try{let e=JSON.parse(n[2]);if("string"==typeof e)return{title:"accTitle"===n[1],form:"native",value:e,endIndex:t}}catch{}let i=r.match(ee);if(i){let n=r.slice(i[0].length).trimStart();if(n.startsWith(":")&&(n=n.slice(1).trimStart()),!n.startsWith("{")){let e=n.trim();return e?{title:!1,form:"inline",value:e,endIndex:t}:null}let o=[];for(let r=t;r<e.length;r++){let i=r===t?n.slice(1):e[r],a=i.indexOf("}");if(a<0){i.trim()&&o.push(i.trim());continue}let l=i.slice(0,a).trim();l&&o.push(l);let s=i.slice(a+1),c=e[r].match(/^\s*/)?.[0]??"";return{title:!1,form:"block",value:o.join(`
|
|
6
|
+
`).trim(),endIndex:r,...s.trim()?{suffixLine:c+s.trimStart()}:{}}}return}let o=r.match(Q);return o?{title:!0,form:"inline",value:o[1].trim(),endIndex:t}:null}function er(e,t,r){let n={},i=[],o=[],a;for(let l=0;l<e.length;l++){let s=et(e,l);if(void 0===s){a=l,i.push(...e.slice(l));for(let t=l;t<e.length;t++)o.push(t);break}if(null===s){let r=en(t,l,e.length);i.push(...e.slice(l,r+1));for(let e=l;e<=r;e++)o.push(e);l=r;continue}let c=r?r(s):s.value;s.title?n.title=c:n.descr=c,s.suffixLine&&(i.push(s.suffixLine),o.push(s.endIndex)),l=s.endIndex}return{accessibility:n,familyLines:i,familyOrigins:o,...void 0!==a?{unclosedIndex:a}:{}}}function en(e,t,r){let n=e?.[t]??t;return n>t?Math.min(n,r-1):t}function ei(e){return{...void 0!==e.title?{accessibilityTitle:e.title}:{},...void 0!==e.descr?{accessibilityDescription:e.descr}:{}}}function eo(e,t){let{openers:r,closings:n}=ea(e),i=[],o=[],a=e.split(/\r\n?|\n/),l=0,s=0,c=0,u=0,d=-1,f=e=>{for(;s<r.length&&r[s]<e;){let e=r[s++];if(!(e<u)){for(;c<n.length&&n[c].start<e;)c++;c!==n.length&&(u=n[c].end,i.push({start:e,end:u}))}}};for(let n=0;n<a.length;n++){let i=a[n];if(f(l),u<=l&&n>d){let e=et(a,n);if(e?.form==="native"){let t=l+i.length;for(o.push({start:l,end:t,directive:e});s<r.length&&r[s]<t;)s++}else d=void 0===e?a.length:Math.max(en(t,n,a.length),e?.endIndex??n)}"\r"===e[l+=i.length]&&l++,e[l]===`
|
|
7
|
+
`&&l++}return f(1/0),{native:o,directives:i}}function ea(e){return{openers:[...e.matchAll(/%%\{\s*\w+/g)].map(e=>e.index),closings:[...e.matchAll(/\}\s*%%/g)].map(e=>({start:e.index,end:e.index+e[0].length}))}}function el(e){let{openers:t,closings:r}=ea(e),n=e.split(""),i=0,o=0;for(let e of t)if(!(e<o)){for(;i<r.length&&r[i].start<e;)i++;if(i===r.length)break;o=r[i].end;for(let t=e;t<o;t++)"\r"!==n[t]&&n[t]!==`
|
|
8
|
+
`&&(n[t]=" ")}return n.join("")}function es(e){return e}function ec(e,t){let r=[],n=!1;for(let[i,o]of e.entries()){let e=0,a=!o.trim(),l=(n,o)=>{if(!n.trim()&&!a)return;let l=e+o;r.push(t(n,i,l))},s=o;if(n){let t=s.indexOf("}");if(t<0){l(s,0);continue}l(s.slice(0,t+1),0),s=s.slice(t+1),e=t+1,n=!1}let c=0,u=!1,d=-1;for(let e=0;e<s.length;e++){if(e===c){let t=s.slice(c).trimStart();if(/^accDescr\s*:?\s*\{/i.exec(t)){let t=s.indexOf("{",c),r=s.indexOf("}",t+1);if(r<0){l(s.slice(c),c),n=!0,u=!0;break}l(s.slice(c,r+1),c),c=r+1,e=r;continue}let r=/^\s*end(?=[^\S\r\n]+\S)/i.exec(s.slice(c));if(r){l(s.slice(c,c+r[0].length),c),c+=r[0].length,e=c-1;continue}if(/^(?:rect|box)\s+#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8});/i.test(t)||/^(?:%(?!\{)|#(?![a-z\d]+;))/i.test(t.trimStart())||/^(?:accTitle|accDescr)(?:\s*:|\s+)/i.test(t)){l(s.slice(c),c),u=!0;break}}let t=s[e];if("@"===t&&"{"===s[e+1]&&/^(?:participant|actor)\b/i.test(s.slice(c,e).trimStart())){let t=function(e,t,r,n){if("{"!==e[t])throw RangeError(`scanMetadataBlock: no "{" at ${t}`);if("sequence"===r){let r=e.indexOf("}",t+1);return r<0?{kind:"unclosed"}:r===t+1?{kind:"invalid",message:"empty @{} participant metadata"}:{kind:"closed",body:e.slice(t+1,r).trim(),end:r}}let i="";for(let r=t+1;r<e.length;r++){let t=e[r];if('"'===t){let t=e.indexOf('"',r+1);if(t<0)return{kind:"unclosed"};let n=r+1;i+=`"${e.slice(n,t).replace(/\n\s*/g,(e,t)=>"<br/>")}"`,r=t}else{if("}"===t)return{kind:"closed",body:i,end:r};if("^"===t)return{kind:"invalid",message:'unquoted "^" in @{} metadata'};i+=t}}return{kind:"unclosed"}}(s,e+1,"sequence");e="closed"===t.kind?t.end:"unclosed"===t.kind?s.length:e+1;continue}if("#"===t&&d<0&&(d=e),"#"===t&&!ed(s,e)&&!(/^\s*(?:rect|box)\s*$/i.test(s.slice(c,e))&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})(?=\s|;|$)/i.test(s.slice(e)))){l(s.slice(c,e),c),l(s.slice(e),e),u=!0;break}";"!==s[e]||function(e,t,r,n){let i=r-1;for(;i>=t&&/[a-z\d]/i.test(e[i]);)i--;return!("#"!==e[i]||i===r-1||!ed(e,i)||n===i&&/^\s*(?:rect|box)\s+#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e.slice(t,r)))}(s,c,e,d)||(l(s.slice(c,e),c),c=e+1,d=-1)}u||l(s.slice(c),c)}return r}var eu=/#(?:\d+|[a-z][a-z\d]*);/iy;function ed(e,t){return eu.lastIndex=t,eu.test(e)}async function ef(){h??=await import("./mermaid-yaml-runtime-KZVU74WU.js")}function eg(){if(!h)throw new i("YAML",ef);return h}function em(e){return eg().parseMermaidYaml(e)}var ep=Object.freeze([]),eh=Object.freeze([]),eb=Object.freeze([]);function ey(e){return Object.freeze({originalText:e,text:e,payloadText:e,authoredPayloadText:e,lineText:e,upstreamText:e,prepassedText:e,changes:eh,mappings:ep,lineMappings:ep,upstreamMappings:ep,prepassedMappings:ep})}function ex(e,t,r){if(0===t.length)return e;let n=[],i=[],o=0,a=0;for(let r of t){n.push(e.text.slice(o,r.start),r.text);let t=r.start+a;i.push(Object.freeze({originalStart:r.start,originalEnd:r.end,cleanedStart:t,cleanedEnd:t+r.text.length})),a+=r.text.length-(r.end-r.start),o=r.end}n.push(e.text.slice(o));let l=e.mappings.length;return{text:n.join(""),mappings:[...e.mappings,Object.freeze({edits:Object.freeze(i)})],changes:[...e.changes,...i.map(e=>({reason:r,stage:l,edit:e}))]}}function eS(e,t,r){let n=[];for(let i of e.matchAll(t)){let e=r(i[0]);e!==i[0]&&n.push({start:i.index,end:i.index+i[0].length,text:e})}return n}function e_(e){return e.text.includes("\r")?ex(e,eS(e.text,/\r\n?/g,()=>`
|
|
9
|
+
`),"line-ending"):e}function eF(e,t,r,n=!1){let i=e.edits,o=0,a=i.length;for(;o<a;){let e=o+Math.floor((a-o)/2);(n?i[e].originalStart:i[e].cleanedStart)<=t?o=e+1:a=e}if(0===o)return t;let l=i[o-1],s=n?l.originalStart:l.cleanedStart,c=n?l.originalEnd:l.cleanedEnd,u=n?l.cleanedStart:l.originalStart,d=n?l.cleanedEnd:l.originalEnd;return t>c?t+d-c:t===s&&s!==c?u:t===c&&s!==c?d:"start"===r?u:d}function ev(e,t,r,n=e.length){for(let i=n-1;i>=0;i--)t=eF(e[i],t,r);return t}function ew(e,t){return"text"===t||"payloadText"===t?e.mappings:"lineText"===t||"authoredPayloadText"===t?e.lineMappings:"upstreamText"===t?e.upstreamMappings:e.prepassedMappings}function ek(e,t,r="start",n="text"){if(!Number.isInteger(t)||t<0||t>e[n].length)throw RangeError("Cleanup offset is outside the selected source view");return ev(ew(e,n),t,r)}function eC(e,t,r="start",n="text"){if(!Number.isInteger(t)||t<0||t>e.originalText.length)throw RangeError("Cleanup offset is outside the original source");for(let i of ew(e,n))t=eF(i,t,r,!0);return t}function ej(e,t,r,n){let i=[];for(let{reason:o,stage:a,edit:l}of e.changes){if(void 0!==n&&o!==n)continue;let s=ev(e.mappings,l.originalStart,"start",a),c=ev(e.mappings,l.originalEnd,"end",a),u=l.cleanedStart,d=l.cleanedEnd;for(let t=a+1;t<e.mappings.length;t++)u=eF(e.mappings[t],u,"start",!0),d=eF(e.mappings[t],d,"end",!0);let f=0,g=r.length;for(;f<g;){let e=f+Math.floor((g-f)/2);r[e]<=s?f=e+1:g=e}let m=Math.max(1,f);i.push(Object.freeze({reason:o,view:t,originalStart:s,originalEnd:c,cleanedStart:u,cleanedEnd:d,line:m,col:s-r[m-1]+1}))}return i}function eA(e,t=[]){let r=e.includes("\r"),n=e.includes("&"),i=e.includes("<")&&e.includes('="')&&e.includes(">"),a=e.includes(";")&&(e.includes("style")||e.includes("classDef"));if(!t.length&&!r&&!n&&!i&&!a)return ey(e);let l={text:e,mappings:ep,changes:eb},s=ex(l,t,"native-accessibility"),c=e_(s),u=n?ex(s,eS(s.text,/&(?:#[xX][0-9a-fA-F]+|#[0-9]+|[A-Za-z][A-Za-z0-9]*);/g,o),"xml-entity"):s,d=u===s?c:e_(u),f=a?function(e){if(!e.text.includes(";")||!e.text.includes("style")&&!e.text.includes("classDef"))return e;let t=[];for(let r of e.text.matchAll(/[^\r\n\u2028\u2029]+/g)){if(!r[0].includes(";")||!r[0].includes("style")&&!r[0].includes("classDef"))continue;let e=r[0].replace(/[^\r\n\u2028\u2029]+/g,e=>R(R(e,"style"),"classDef")),n=r[0].length,i=[];for(let t=r[0].length-e.length;t>0;t--){let e=r[0].lastIndexOf(";",n-1);i.push({start:r.index+e,end:r.index+e+1,text:""}),n=e}t.push(...i.reverse())}let r=[];for(let e of t){let t=r.at(-1);t&&t.end===e.start?t.end=e.end:r.push(e)}return ex(e,r,"style-semicolon")}(c):c,g=i?function(e){let t=e.text.includes("<")?e.text.lastIndexOf(">"):-1;if(t<0)return e;let r=[];for(let n of e.text.slice(0,t+1).matchAll(/<(\w+)([^>]*)>/g)){let e=n.index+1+n[1].length;for(let t of n[2].matchAll(/="([^"]*)"/g)){let n=e+t.index+1;r.push({start:n,end:n+1,text:"'"},{start:n+t[0].length-2,end:n+t[0].length-1,text:"'"})}}return ex(e,r,"html-attribute-quotes")}(c):c;if(d===l&&f===l&&g===l)return ey(e);let m=[0];for(let t=0;t<e.length;t++)"\r"===e[t]?(e[t+1]===`
|
|
10
|
+
`&&t++,m.push(t+1)):e[t]===`
|
|
11
|
+
`&&m.push(t+1);let p=[...ej(d,"text",m),...ej(f,"prepassedText",m,"style-semicolon"),...ej(g,"upstreamText",m,"html-attribute-quotes")];return Object.freeze({originalText:e,text:d.text,payloadText:u.text.includes("\r")?u.text.replace(/\r\n/g,`
|
|
12
|
+
`):u.text,authoredPayloadText:r?s.text.replace(/\r\n/g,`
|
|
13
|
+
`):s.text,lineText:c.text,upstreamText:g.text,prepassedText:f.text,changes:Object.freeze(p),mappings:Object.freeze(d.mappings),lineMappings:Object.freeze(c.mappings),upstreamMappings:Object.freeze(g.mappings),prepassedMappings:Object.freeze(f.mappings)})}function eT(e){let t=e?.title;return"string"==typeof t&&""!==t.trim()?t:void 0}var eO=/^\s*%%(?!\{)\s*(.*)\r?$/;function eB(e,t="render"){return function(e,t="render"){var r;let n=e.cleanup??eA(e.originalText),i=e.wrapperSource?.length??0,o=e.cleanup&&void 0!==e.authoredWrapperLength?ek(n,i,"end","text"):i,a=e.cleanup&&"render"===t?"payloadText":"authoredPayloadText",l=eC(n,o,"end",a),s=n[a].slice(l),c,u=0,d=(r=(e,t)=>{let r=e-u,n=c?.at(-1);n?.at===r?n.after=e+t:(c??=[]).push({at:r,before:e,after:e+t}),u+=t})?s.replace(x,(e,t,n,i)=>(r(i,e.length),"")):s.replace(x,"");return{text:d,sourceOffset:(e,t="start")=>{if(!Number.isInteger(e)||e<0||e>d.length)throw RangeError("Family source offset is outside the preserved payload");let r=0,i=c?.length??0;for(;r<i;){let t=r+Math.floor((i-r)/2);c[t].at<=e?r=t+1:i=t}let o=c?.[r-1];return ek(n,l+(o?e===o.at?"start"===t?o.before:o.after:e+o.after-o.at:e),t,a)},familyOffset:(e,t="start")=>{let r=eC(n,e,t,a)-l;if(r<0||r>s.length)throw RangeError("Authored offset is outside the preserved family");let i=0,o=c?.length??0;for(;i<o;){let e=i+Math.floor((o-i)/2);c[e].before<=r?i=e+1:o=e}let u=c?.[i-1];return u?r<=u.after?u.at:r-u.after+u.at:r}}}(e,t).text}function eL(e){let t=[],r=RegExp(x.source,"gm"),n;for(;null!==(n=r.exec(e));)M(n[0])&&t.push({raw:n[0],parsed:function(e){let t=RegExp(x.source,"m").exec(e);return t?void 0!==t[1]||void 0!==t[2]?eR(t[1]??t[2]):/%%\{\s*wrap\s*\}/.test(t[0])?{wrap:!0}:{}:void 0}(n[0])??{}});return t}function ez(e,t){if(!e.includes("%% agentic-mermaid "))return[];let r=y(e)?.source.length??0,n=e.slice(r);return eo(n,z(o(C(e)),el(n).split(/\r\n?|\n/),t)).native.map(e=>{let t=n.slice(e.start,e.end);return{start:e.start+t.indexOf('"'),end:e.start+t.trimEnd().length,text:JSON.stringify(e.directive.value).replace(/[&<>#%\u2028\u2029]/g,e=>`\\u${e.charCodeAt(0).toString(16).padStart(4,"0")}`)}}).filter(e=>e.text!==n.slice(e.start,e.end)).map(e=>({...e,start:r+e.start,end:r+e.end}))}function eM(n,i,a){return function(n,i={},a="authored",l){let s=function(n,i={},a="authored",l){let s=ez(n,null),c=eA(n,s),u=C("render"===a?c.text:c.lineText),d=l?l(u,"loose"):L("authored"===a?o(u):u,"loose"),f=ez(n,d),g=s.length>0||f.length>0?eA(n,f):c;return function n(i,a,l,s,c){let u="render"===l?s.text:s.lineText,d=function(n,i={},a=L(o(C(n)),"loose")){var l;for(let e of ez(n,a).toReversed())n=n.slice(0,e.start)+e.text+n.slice(e.end);let s=y(n),c=s?eD(function(e){r(e,"Mermaid frontmatter");let n=em(e);if(!n.ok)throw new e$(X({what:`Mermaid frontmatter is not valid YAML: ${n.message}`,expectedForm:"a YAML mapping between the two `---` lines",example:`---
|
|
14
|
+
title: "Order flow: v2"
|
|
15
|
+
---`}).message);return t(n.value,"Mermaid frontmatter"),eN(n.value)??{}}(s.yaml)):{},u=function(n,i,o){let a,l=eL(n).flatMap(n=>{let i=function(n){let i=RegExp(x.source,"m").exec(n),o=function(n){let i=RegExp(x.source,"m").exec(n);if(!i)return;let o=i[1]??i[2];if(void 0===o)return null;if(!o.trim())return{};if(/^\w+$/.test(o.trim()))return o.trim();r(o,"Mermaid init directive",{trackFlowDepth:!0});try{let e=JSON.parse(o.replace(/'/g,'"'));return t(e,"Mermaid init directive"),eV(e)}catch(t){if(t instanceof e)throw t;return eR(o)}}(n);if(!(!i||void 0===o))return{kind:/%%\{\s*(\w+)/.exec(i[0])[1],hasArgs:void 0!==i[1]||void 0!==i[2],payload:o}}(n.raw);return i?[i]:[]}),s=_(n),c=F(s)[0]?.split(/\s/)[0]??"",u=(a=(o?.id??c).split(/[;:\s]/,1)[0].replace(/-(?:v2|beta)$/i,"").toLowerCase(),/^c4(?:context|container|component|dynamic|deployment)?$/.test(a)?"c4":({graph:"flowchart-v2",flowchart:"flowchart-v2",class:"classDiagram",classdiagram:"classDiagram",state:"stateDiagram",statediagram:"stateDiagram",sequencediagram:"sequence",erdiagram:"er",requirementdiagram:"requirement",quadrant:"quadrantChart",quadrantchart:"quadrantChart",gitgraph:"gitGraph"})[a]??a);if(0===l.length&&0===Object.keys(i).length)return{body:s,frontmatter:i};let d=l.filter(e=>/(?:init\b)|(?:initialize\b)/.test(e.kind)).map(e=>e.payload),f=l.some(e=>"wrap"===e.kind);try{return{body:s,frontmatter:function(...e){return W().mergeConfigSource(...e)}(i,l.map(e=>(function(...e){return W().configDirective(...e)})(e.kind,e.payload,e.hasArgs)).join(`
|
|
16
|
+
`),u,!0)}}catch{let e=eW({},i);for(let t of d){if(!t||"object"!=typeof t||Array.isArray(t))continue;let r=eW({},t);void 0!==r.config&&(1===d.length&&(r["flowchart-v2"===u?"flowchart":u]=r.config),delete r.config),e=eW(e,r)}return f&&(e.wrap=!0),{body:s,frontmatter:e}}}(s?n.slice(s.source.length):n,(l=eD(i),eW(l,c)),a),d=w(u.body),f=u.frontmatter;return{body:d,lines:F(d),frontmatter:f}}(u,eq(a),c),f=d.body.split(/\r?\n/),g=/^sequenceDiagram\b/i.test(d.lines[0]??"")&&/;\s*acc(?:Title|Descr)\b/i.test(d.body)?ec(f,es):f,m=er(g,z(o(d.lines[0]??""),g,c),"render"===l?e=>("native"===e.form?function(e){return H({...void 0!==e.title?{title:o(N(e.title))}:{},...void 0!==e.descr?{descr:o(N(e.descr))}:{}})}:H)({title:e.value}).title:void 0),p=function(e,t,r){let n=y(e),i=n?.source.length??+!!e.startsWith("\uFEFF"),a=eL(e.slice(i)),l=e=>e.replace(/[^\r\n]/g," "),s=(n?l(n.source)+e.slice(n.source.length):e).replace(RegExp(x.source,"gm"),l),c=[],u=s.split(/\r?\n/),d=u.find(e=>e.trim().length>0&&!eO.test(e))?.trim()??"",f=/^stateDiagram(?:-v2)?(?=$|[\s;%])/i.test(d),g=/^sequenceDiagram\b/i.test(d),m=f?D(u):void 0,p=(e,t)=>{if(!g)return;let r=ec([e],es).find(e=>e.trimStart().startsWith("%%"));r&&c.push({text:r.trimStart().slice(2).trim(),line:t})},h=z(o(d),u,r),b=-1;for(let e=0;e<u.length;e++){let t=e>b?et(u,e):null;if(void 0===t)break;if(null!==t){t.suffixLine&&p(t.suffixLine,t.endIndex+1),e=t.endIndex;continue}e>b&&(b=en(h,e,u.length));let r=u[e],n=m?.[e];if(n){n.commentIndex>=0&&c.push({text:r.slice(n.commentIndex+2).trim(),line:e+1});continue}let i=r.match(eO);i?c.push({text:i[1],line:e+1}):g&&p(r,e+1)}let S=i,_=new RegExp(x.source);for(;;){let t=e.slice(S);if(0===t.length)break;let r=t.match(_);if(r?.index===0&&r[0].length>0){S+=r[0].length;continue}let n=t.indexOf(`
|
|
17
|
+
`),i=-1===n?t:t.slice(0,n);if(et([i],0)?.form==="native")break;if(/^\s*$/.test(i)||eO.test(i)){S+=-1===n?t.length:n+1;continue}break}return{...S>0?{wrapperSource:e.slice(0,S)}:{},initDirectives:a,comments:c,accessibility:t}}(u,m.accessibility,c),h=u===s.lineText;if(h&&u!==i){void 0!==p.wrapperSource&&(p.wrapperSource=i.slice(0,ek(s,p.wrapperSource.length,"end","lineText")));let e=y(u)?.source.length??+!!u.startsWith("\uFEFF"),t=[...u.slice(e).matchAll(RegExp(x.source,"gm"))].filter(e=>M(e[0])).values();for(let r of p.initDirectives){let n=e+t.next().value.index,i=n+r.raw.length;r.raw=function(e,t,r,n="text"){let i=function(e,t,r,n="text"){if(r<t)throw RangeError("Cleanup range ends before it starts");return{start:ek(e,t,"start",n),end:ek(e,r,"end",n)}}(e,t,r,n);return e.originalText.slice(i.start,i.end)}(s,n,i,"lineText")}}let b=m.familyLines.join(`
|
|
18
|
+
`),S=/^stateDiagram(?:-v2)?(?=$|[\s;%])/i.test(d.lines[0]??""),v=/^timeline(?=$|[\s;#%])/i.test(d.lines[0]??""),k=S?D(m.familyLines).filter(e=>e.noteBody||e.text.length>0).map(e=>e.text):v?m.familyLines.map(e=>e.trimStart()).filter(e=>e.trim().length>0&&!eO.test(e)):F(b),j=h?void 0:n(i,a,"authored",s,c);return{originalText:i,cleanup:s,...j?{authoredFamilyLines:j.familyLines,authoredFamilyBody:j.familyBody,authoredHeader:j.lines[0]??"",authoredWrapperLength:j.wrapperSource?.length??0}:{},text:d.lines.join(`
|
|
19
|
+
`),body:d.body,lines:d.lines,familyBody:b,familyText:k.join(`
|
|
20
|
+
`),familyLines:k,firstLine:d.lines[0]?.toLowerCase()??"",config:eI(d.frontmatter),frontmatter:d.frontmatter,...void 0!==p.wrapperSource?{wrapperSource:p.wrapperSource}:{},initDirectives:p.initDirectives,comments:p.comments,accessibility:p.accessibility}}(n,i,a,g,d)}(n,{},a,l);if(0===Object.keys(i).length)return s;let c=eW(s.frontmatter,eq(i));return{...s,frontmatter:c,config:eI(c)}}(n,i,"render",a)}function eW(e,t){let r=eU(e);for(let[e,n]of Object.entries(t)){if(void 0===n)continue;let t=r[e];if(eH(t)&&eH(n)){r[e]=eW(t,n);continue}r[e]=eG(n)}return r}function eq(e){return t(e,"Mermaid runtime configuration"),eD(eN(e)??{})}function eI(e){let t,r,n,i,o=eU(e);return eH(o.themeVariables)&&(o.themeVariables=eU(o.themeVariables)),eH(o.timeline)&&("boolean"!=typeof(t=eU(o.timeline)).disableMulticolor&&delete t.disableMulticolor,(r=eP(t.sectionFills)).length>0?t.sectionFills=r:delete t.sectionFills,n=eP(t.sectionColours),i=eP(t.sectionColors),n.length>0?t.sectionColours=n:i.length>0?t.sectionColours=i:delete t.sectionColours,delete t.sectionColors,o.timeline=t),eH(o.journey)&&(o.journey=function(e){let t=eU(e);for(let e of["diagramMarginX","diagramMarginY","leftMargin","maxLabelWidth","width","height","boxMargin","boxTextMargin","noteMargin","messageMargin","bottomMarginAdj","taskMargin","activationWidth"]){let r=t[e];("number"!=typeof r||!Number.isFinite(r)||r<0)&&delete t[e]}"boolean"!=typeof t.useMaxWidth&&delete t.useMaxWidth,"boolean"!=typeof t.rightAngles&&delete t.rightAngles,"left"!==t.messageAlign&&"center"!==t.messageAlign&&"right"!==t.messageAlign&&delete t.messageAlign;let r=eE(t.taskFontSize);for(let e of(void 0!==r?t.taskFontSize=r:delete t.taskFontSize,["taskFontFamily","textPlacement","titleColor","titleFontFamily"]))("string"!=typeof t[e]||0===t[e].trim().length)&&delete t[e];let n=eE(t.titleFontSize);for(let e of(void 0!==n?t.titleFontSize=n:delete t.titleFontSize,["actorColours","sectionFills","sectionColours"])){let r=eP(t[e]);r.length>0?t[e]=r:delete t[e]}return t}(o.journey)),o}function eE(e){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:"string"==typeof e&&e.trim().length>0?e.trim():void 0}function eP(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}function eD(e){t(e,"Mermaid configuration");let r=eU(e),n=eH(r.config)?r.config:void 0;return delete r.config,n?eW(n,r):r}var e$=class extends Error{};function eR(n){return void 0===n?{wrap:!0}:""===n.trim()?{}:function(n){r(n,"Mermaid init directive",{trackFlowDepth:!0});try{let e=eg().parseDirectiveYaml(n);return t(e,"Mermaid init directive"),eN(e)}catch(a){let r;if(a instanceof e||a instanceof i)throw a;let o=eH(r=function e(t){let r=t.trim();if(0!==r.length)return r.startsWith("{")&&r.endsWith("}")?function(t){let r={};for(let n of eY(t)){let t=function(e,t){let r=null,n=0,i=0;for(let t=0;t<e.length;t++){let o=e[t];if(r){o===r&&"\\"!==e[t-1]&&(r=null);continue}if('"'===o||"'"===o){r=o;continue}if("{"===o){n++;continue}if("}"===o){n--;continue}if("["===o){i++;continue}if("]"===o){i--;continue}if(":"===o&&0===n&&0===i)return t}return -1}(n,0);if(-1===t)return;let i=n.slice(0,t).trim(),o=n.slice(t+1).trim(),a=function(e){let t=e.trim();if(t)return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?eX(t):t}(i);if(!a)return;let l=e(o);if(void 0===l)return;r[a]=l}return r}(r.slice(1,-1)):r.startsWith("[")&&r.endsWith("]")?function(t){let r=[];for(let n of eY(t)){let t=e(n);if(void 0===t)return;r.push(t)}return r}(r.slice(1,-1)):r.startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'")?eX(r):"true"===r||"false"!==r&&("null"===r?null:/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)$/.test(r)?Number(r):r)}(n.trim()))?r:void 0;return void 0!==o&&t(o,"Mermaid init directive"),o}}(n.trim())}function eN(e){if(!(e&&"object"==typeof e&&!Array.isArray(e)))return;let t={};for(let[r,n]of Object.entries(e)){let e=eV(n);void 0!==e&&(t[r]=e)}return t}function eV(e){if(null===e)return null;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e)){let t=[];for(let r of e){let e=eV(r);if(void 0===e)return;t.push(e)}return t}return eN(e)}function eU(e){let t={};for(let[r,n]of Object.entries(e))t[r]=eG(n);return t}function eG(e){return null==e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e?e:Array.isArray(e)?e.map(e=>eG(e)):eU(e)}function eH(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eY(e){let t=[],r="",n=null,i=0,o=0;for(let a=0;a<e.length;a++){let l=e[a];if(n){r+=l,l===n&&"\\"!==e[a-1]&&(n=null);continue}if('"'===l||"'"===l){n=l,r+=l;continue}if("{"===l){i++,r+=l;continue}if("}"===l){i--,r+=l;continue}if("["===l){o++,r+=l;continue}if("]"===l){o--,r+=l;continue}if(","===l&&0===i&&0===o){let e=r.trim();e&&t.push(e),r="";continue}r+=l}let a=r.trim();return a&&t.push(a),t}function eX(e){try{return e.startsWith("'")?e.slice(1,-1).replace(/\\\\/g,"\\").replace(/\\'/g,"'"):JSON.parse(e)}catch{return e.slice(1,-1)}}var eJ={default:{bg:d.bg,fg:d.fg},base:{bg:d.bg,fg:d.fg},neutral:{bg:"#ffffff",fg:"#1f2937",line:"#9ca3af",accent:"#6b7280",muted:"#6b7280"},dark:{bg:"#18181B",fg:"#FAFAFA"},forest:{bg:"#f0fdf4",fg:"#14532d",line:"#4d7c0f",accent:"#15803d",muted:"#65a30d",border:"#86efac"}},eZ={bg:["background","mainBkg"],fg:["primaryTextColor","textColor","nodeTextColor"],line:["lineColor","defaultLinkColor"],accent:["arrowheadColor","primaryColor"],muted:["secondaryTextColor","tertiaryTextColor"],surface:["primaryColor","nodeBkg","mainBkg"],border:["primaryBorderColor","secondaryBorderColor"]};function eK(e,t,r,n=!1){let i=function(e){if(!("string"!=typeof e||!e))return eJ[e.toLowerCase()]}(t.theme),o=t.themeVariables,a=(...e)=>{let t=eQ(o,...e);return n?t:u(t)};return{bg:e.bg??a(...eZ.bg)??i?.bg??d.bg,fg:e.fg??a(...eZ.fg)??i?.fg??d.fg,line:e.line??a(...eZ.line)??i?.line,accent:e.accent??a(...eZ.accent)??i?.accent,muted:e.muted??a(...eZ.muted)??i?.muted,surface:e.surface??a(...eZ.surface)??i?.surface,border:e.border??a(...eZ.border)??i?.border,shadow:e.shadow??i?.shadow,font:r,embedFontImport:e.embedFontImport}}function eQ(e,...t){if(e)for(let r of t){let t=e[r];if("string"==typeof t&&t.length>0)return t}}function e0(e){let t,r=((t=a(e))?{r:t[0],g:t[1],b:t[2]}:null)??function(e){let t=e.match(/^rgba?\(\s*(\d{1,3})(?:\s*,\s*|\s+)(\d{1,3})(?:\s*,\s*|\s+)(\d{1,3})/i);if(!t)return null;let r={r:Number.parseInt(t[1],10),g:Number.parseInt(t[2],10),b:Number.parseInt(t[3],10)};return Object.values(r).every(e=>e>=0&&e<=255)?r:null}(e);if(!r)return;let n=s(`rgb(${r.r}, ${r.g}, ${r.b})`);return(n+.05)/.05>=1.05/(n+.05)?"#000000":"#FFFFFF"}var e1=new Set(["var(--_text)","var(--_text-sec)","var(--_text-muted)","var(--_text-faint)"]);function e2(e,t,r){if(!e1.has(e))return e;let n=p(e,r),i=p(t,r),o=n&&i?m(i,p("var(--bg)",r)??"#ffffff"):null;if(!o)return e;let a="var(--_text-faint)"===e?f:c,s=g(n,l(...o),a);return s===n?e:s}var e4=Object.freeze({nodes:5e3,edges:5e3,nesting:64,sourceCharacters:2e6}),e3=class extends RangeError{code="DIAGRAM_WORK_LIMIT";resource;requested;constructor(e,t,r=!1){let n="sourceCharacters"===e?`authored plus normalized source of ${t} characters${r?", with its configuration,":""}`:`expanded graph ${e} ${t}`;super(`DIAGRAM_WORK_LIMIT: ${n} exceeds the host limit of ${e4[e]}; split the diagram${"sourceCharacters"===e?"":` or reduce its ${e}`}`),this.name="DiagramWorkLimitError",this.resource=e,this.requested=t}};function e6(e,t){if(t>e4[e])throw new e3(e,t)}export{b as a,y as b,x as c,w as d,k as e,C as f,O as g,B as h,L as i,z as j,M as k,$ as l,X as m,J as n,Z as o,K as p,et as q,er as r,en as s,ei as t,eo as u,el as v,em as w,eT as x,eB as y,eM as z,eZ as A,eK as B,eQ as C,e0 as D,e2 as E,e3 as F,e6 as G};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Aa as e,Ba as t,Ca as r,Da as n,Ea as i,Ga as a,a as o,b as s,c as l,ga as c,ia as d,la as f,wa as u,xa as m,za as p}from"./chunk-RZ6XK5CD.js";var g=Object.freeze({maxDepth:64,maxNodes:1e5,maxItemsPerContainer:4096,maxAggregateTextCharacters:5e6,maxAggregateTextBytes:1e7,maxDiagnostics:64});function b(e){return"__proto__"===e||"prototype"===e||"constructor"===e}function h(e){return"number"==typeof e?"must be a finite number":`must be a JSON value, not ${typeof e}`}function y(e,t=[],r={}){let n=[],i=new WeakSet,a=[{kind:"visit",value:e,path:t,depth:0}],s=0,c=0,d=0,f=!1,u=(e,r,i,a=!1)=>{if(!f){if(n.length>=g.maxDiagnostics-1){n.push({code:"JSON_DIAGNOSTIC_LIMIT",path:t,message:`exceeds the ${g.maxDiagnostics}-diagnostic admission limit`}),f=!0;return}n.push({code:e,path:r,message:i}),a&&(f=!0)}},m=(e,t)=>{if(f)return;if((c+=e.length)>g.maxAggregateTextCharacters)return void u("JSON_TEXT_CHARACTER_LIMIT",t,`exceeds the aggregate ${g.maxAggregateTextCharacters}-character text limit`,!0);let r=g.maxAggregateTextBytes-d;(d+=l(e,Math.max(0,r)))>g.maxAggregateTextBytes&&u("JSON_TEXT_BYTE_LIMIT",t,`exceeds the aggregate ${g.maxAggregateTextBytes}-byte UTF-8 text limit`,!0)};for(;a.length>0&&!f;){let e=a.pop();if("exit"===e.kind){i.delete(e.value);continue}if(e.depth>g.maxDepth){u("JSON_DEPTH_LIMIT",e.path,`exceeds maximum nesting depth ${g.maxDepth}`,!0);continue}if(++s>g.maxNodes){u("JSON_NODE_LIMIT",e.path,`exceeds the aggregate ${g.maxNodes}-node limit`,!0);continue}let t=e.value;if(null===t||"boolean"==typeof t)continue;if("string"==typeof t){m(t,e.path);continue}if("number"==typeof t){Number.isFinite(t)||u("JSON_NON_JSON_VALUE",e.path,h(t));continue}if("object"!=typeof t){u("JSON_NON_JSON_VALUE",e.path,h(t));continue}if(i.has(t)){u("JSON_CYCLE",e.path,"must be acyclic");continue}if(Array.isArray(t)){if(t.length>g.maxItemsPerContainer){u("JSON_ITEM_LIMIT",e.path,`must contain at most ${g.maxItemsPerContainer} items`,!0);continue}i.add(t),a.push({kind:"exit",value:t});for(let r=t.length-1;r>=0;r--){if(!Object.prototype.hasOwnProperty.call(t,r)){u("JSON_SPARSE_ARRAY",[...e.path,r],"must not be a sparse array");continue}a.push({kind:"visit",value:t[r],path:[...e.path,r],depth:e.depth+1})}continue}if(!o(t)){u("JSON_NON_PLAIN_OBJECT",e.path,"must be a plain JSON object");continue}let n=Object.entries(t);if(n.length>g.maxItemsPerContainer){u("JSON_ITEM_LIMIT",e.path,`must contain at most ${g.maxItemsPerContainer} properties`,!0);continue}i.add(t),a.push({kind:"exit",value:t});for(let t=n.length-1;t>=0;t--){let[i,o]=n[t],s=[...e.path,i];if(m(i,s),b(i)){u("JSON_PROTOTYPE_KEY",s,"uses a forbidden prototype key");continue}void 0===o&&r.allowUndefinedObjectProperties||a.push({kind:"visit",value:o,path:s,depth:e.depth+1})}}return n}var k=class extends TypeError{constructor(e,t){super(`${e} failed JSON/config admission: ${t.map(e=>`${function(e){let t="$";for(let r of e)"number"==typeof r?t+=`[${r}]`:/^[A-Za-z_$][\w$]*$/.test(r)?t+=`.${r}`:t+=`[${JSON.stringify(r)}]`;return t}(e.path)} ${e.message}`).join("; ")}`),this.context=e,this.problems=t,this.name="JsonConfigAdmissionError"}context;problems;code="JSON_CONFIG_ADMISSION_FAILED"};function x(e,t,r={}){let n=y(e,[],r);if(n.length>0)throw new k(t,n)}function v(e,t,r={}){let n=[];if(e.length>g.maxAggregateTextCharacters?n.push({code:"JSON_TEXT_CHARACTER_LIMIT",path:[],message:`exceeds the aggregate ${g.maxAggregateTextCharacters}-character text limit`}):l(e,g.maxAggregateTextBytes)>g.maxAggregateTextBytes&&n.push({code:"JSON_TEXT_BYTE_LIMIT",path:[],message:`exceeds the aggregate ${g.maxAggregateTextBytes}-byte UTF-8 text limit`}),0===n.length&&r.trackFlowDepth){let t=[],r,i=!1,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if(a){(s===`
|
|
2
|
+
`||"\r"===s)&&(a=!1);continue}if(r){if('"'===r&&i){i=!1;continue}if('"'===r&&"\\"===s){i=!0;continue}if("'"===r&&"'"===s&&"'"===e[o+1]){o++;continue}s===r&&(r=void 0);continue}if('"'===s||"'"===s){r=s;continue}if("#"===s){a=!0;continue}if("{"===s||"["===s){if(t.push(s),t.length>g.maxDepth){n.push({code:"JSON_DEPTH_LIMIT",path:[],message:`exceeds maximum nesting depth ${g.maxDepth}`});break}}else("}"===s||"]"===s)&&t.pop()}}if(n.length>0)throw new k(t,n)}function O(e,t){let r=g.maxDiagnostics;return e.length<=r?[...e]:[...e.slice(0,r-1),`${t} exceeds the ${r}-diagnostic admission limit`]}var j=Object.freeze({contrast:Object.freeze({properties:Object.freeze({role:Object.freeze({kind:"role"}),minimum:Object.freeze({kind:"number",minimum:1,maximum:21})}),recovery:"Choose an authored text/surface pair that meets the requested ratio, or remove the rule; the renderer will not repaint it."}),"accent-area":Object.freeze({properties:Object.freeze({maxFraction:Object.freeze({kind:"number",minimum:0,maximum:1,required:!0})}),recovery:"Reduce authored accent-filled area or raise the declared maximum; the renderer will not rewrite fills."}),"mono-role":Object.freeze({properties:Object.freeze({role:Object.freeze({kind:"role",required:!0})}),recovery:"Use measurable monochrome paint for the named role or remove the rule; the renderer will not rewrite paint."})}),S=Object.freeze(Object.keys(j));function w(e){return j[e].properties}var C=Object.freeze({warn:Object.freeze({code:"BRAND_CONSTRAINT_WARNING",severity:"warning",tier:"lint"}),error:Object.freeze({code:"BRAND_CONSTRAINT_ERROR",severity:"error",tier:"lint"})}),$=s({bg:{},fg:{},line:{},accent:{},muted:{},surface:{},border:{}}),z=Object.freeze(["category"]),T=s({formatVersion:{kind:"const",value:1},$schema:{kind:"string"},name:{kind:"string"},blurb:{kind:"string"},colors:{kind:"colors"},font:{kind:"string",runtimeValidator:"safeCssFontFamily"},roles:{kind:"roles"},semanticSlots:{kind:"semanticSlots"},bindings:{kind:"bindings"},constraints:{kind:"constraints"},stroke:{kind:"enum",values:["crisp","jittered","freehand"]},roughness:{kind:"number",minimum:0,maximum:10,expected:"between 0 and 10"},bowing:{kind:"number",minimum:0,maximum:10,expected:"between 0 and 10"},passes:{kind:"integer",minimum:1,maximum:8,expected:"an integer from 1 through 8"},strokeWidth:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20"},fill:{kind:"enum",values:["none","hachure","solid","wash"]},hachureAngle:{kind:"number",minimum:-360,maximum:360,expected:"between -360 and 360"},hachureGap:{kind:"number",exclusiveMinimum:0,maximum:100,expected:"greater than 0 and at most 100"},fillWeight:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20"},washOpacity:{kind:"number",minimum:0,maximum:1,expected:"between 0 and 1"},washEdge:{kind:"number",minimum:0,maximum:1,expected:"between 0 and 1"},backdrop:{kind:"enum",values:["plain","paper-ruled","grid"]},intent:{kind:"enum",values:["premium","draft","lofi"]},mono:{kind:"boolean"}});function A(e,t){return!("number"!=typeof e||!Number.isFinite(e)||"integer"===t.kind&&!Number.isInteger(e)||void 0!==t.minimum&&e<t.minimum||void 0!==t.exclusiveMinimum&&e<=t.exclusiveMinimum||void 0!==t.maximum&&e>t.maximum)}var N=new Set(Object.freeze(["--bg","--fg","--_text","--_text-sec","--_text-muted","--_text-faint","--_line","--_arrow","--_node-fill","--_node-stroke","--_group-fill","--_group-hdr","--_inner-stroke","--_key-badge"])),W=new Map(a.map(e=>[e.role,e])),_=r.map(e=>W.get(e)),E=new Set(n),I=/^[A-Za-z][A-Za-z0-9._-]{0,63}$/,L=new Set(["__proto__","constructor","prototype"]);function P(e,r,n){if(!o(e))return[`"${r}" must be an object`];let i=[];for(let[a,o]of Object.entries(e)){if(!Object.hasOwn(t,a)){i.push(`unknown role style field "${r.slice(r.indexOf(".")+1)}.${a}"`);continue}if(n&&!n.has(a)){i.push(`role style field "${r}.${a}" is not applicable`);continue}let e=t[a],s=`${r}.${a}`;void 0!==o&&("number"!==e.kind||A(o,e)?"font"===e.kind&&("string"!=typeof o||void 0===c(o))?i.push(`"${s}" must be a safe non-fetching CSS font family or stack`):"color"!==e.kind||"string"==typeof o&&void 0!==f(o)&&[...o.matchAll(/var\(\s*(--[a-z0-9_-]+)/gi)].map(e=>e[1]).every(e=>N.has(e))?"enum"!==e.kind||"string"==typeof o&&e.values.includes(o)||i.push(`"${s}" must be one of ${e.values.join(" | ")}`):i.push(`"${s}" must be a safe non-fetching CSS paint`):i.push(`"${s}" must be ${e.expected}`))}return i}function R(e){return"string"==typeof e&&I.test(e)&&!L.has(e)}function F(e){if(!o(e))return["style spec must be a plain object"];if(Object.keys(e).length>g.maxItemsPerContainer)return[`style spec must contain at most ${g.maxItemsPerContainer} fields`];let t=[];for(let[r,i]of Object.entries(e)){if(!Object.hasOwn(T,r)){t.push(`unknown field "${r}"`);continue}let e=T[r];if(void 0!==i)switch(e.kind){case"const":i!==e.value&&t.push(`"${r}" must be ${e.value}`);break;case"string":"string"!=typeof i?t.push(`"${r}" must be a string`):"safeCssFontFamily"===e.runtimeValidator&&void 0===c(i)&&t.push(`"${r}" must be a safe non-fetching CSS font family or stack`);break;case"boolean":"boolean"!=typeof i&&t.push(`"${r}" must be a boolean`);break;case"number":case"integer":A(i,e)||t.push(`"${r}" must be ${e.expected}`);break;case"enum":"string"==typeof i&&e.values.includes(i)||t.push(`"${r}" must be one of ${e.values.join(" | ")}`);break;case"roles":t.push(...function(e){if(!o(e))return['"roles" must be an object of SceneRole records'];let t=[];for(let[r,n]of Object.entries(e)){let e=W.get(r);if(!e){t.push(`unknown scene role "${r}"`);continue}if("fallback-only"===e.traits.styleConsumption){t.push(`scene role "${r}" is fallback-only; set roles.${e.style.fallbackRole} instead`);continue}let i=P(n,`roles.${r}`,new Set(e.style.applicableProperties)).map(e=>e===`"roles.${r}" must be an object`?e:e.replace(`role style field "roles.${r}.`,`role style field "${r}.`).replace('" is not applicable',`" is not applicable to ${r} roles`));t.push(...i)}return t}(i));break;case"semanticSlots":t.push(...function(e){if(!o(e))return['"semanticSlots" must be an object of named role-style slots'];if(Object.keys(e).length>g.maxItemsPerContainer)return[`"semanticSlots" must contain at most ${g.maxItemsPerContainer} slots`];let t=[];for(let[r,n]of Object.entries(e)){if(!R(r)){t.push(`invalid semantic slot name "${r}"`);continue}t.push(...P(n,`semanticSlots.${r}`))}return t}(i));break;case"bindings":t.push(...function(e){if(!Array.isArray(e))return['"bindings" must be an array'];if(e.length>g.maxItemsPerContainer)return[`"bindings" must contain at most ${g.maxItemsPerContainer} entries`];let t=[];return e.forEach((e,r)=>{let i=`bindings[${r}]`;if(!o(e))return void t.push(`"${i}" must be an object`);for(let r of Object.keys(e))["channel","value","slot","role"].includes(r)||t.push(`unknown binding field "${i}.${r}"`);"string"==typeof e.channel&&z.includes(e.channel)||t.push(`"${i}.channel" must be one of ${z.join(" | ")}`),("string"!=typeof e.value||0===e.value.length||e.value.length>256||/[\r\n\0]/.test(e.value))&&t.push(`"${i}.value" must be a non-empty single-line string of at most 256 characters`),R(e.slot)||t.push(`"${i}.slot" must be a valid semantic slot name`),void 0===e.role||E.has(e.role)||t.push(`"${i}.role" must be a SceneRole with an executable category-binding consumer (${n.join(" | ")})`)}),t}(i));break;case"constraints":t.push(...function(e){if(!Array.isArray(e))return['"constraints" must be an array'];if(e.length>g.maxItemsPerContainer)return[`"constraints" must contain at most ${g.maxItemsPerContainer} entries`];let t=[];return e.forEach((e,r)=>{let n=`constraints[${r}]`;if(!o(e))return void t.push(`"${n}" must be an object`);if("string"!=typeof e.kind||!S.includes(e.kind))return void t.push(`"${n}.kind" must be one of ${S.join(" | ")}`);let i=e.kind,a=w(i),s=new Set(Object.freeze(["kind","action",...Object.keys(j[i].properties)]));for(let r of Object.keys(e))s.has(r)||t.push(`unknown constraint field "${n}.${r}"`);for(let[r,o]of("warn"!==e.action&&"error"!==e.action&&t.push(`"${n}.action" must be one of warn | error`),Object.entries(a))){let a=e[r];if(void 0===a){o.required&&t.push(`"${n}.${r}" is required for ${i}`);continue}"role"!==o.kind||W.has(a)?"number"!==o.kind||A(a,o)||t.push(`"${n}.${r}" must be between ${o.minimum} and ${o.maximum}`):t.push(`"${n}.${r}" must be a registered built-in SceneRole`)}}),t}(i));break;case"colors":if(!o(i)){t.push('"colors" must be an object of color tokens');break}for(let[e,r]of Object.entries(i))Object.hasOwn($,e)?void 0!==r&&"string"!=typeof r?t.push(`color token "${e}" must be a string`):void 0!==r&&void 0===d(r)&&t.push(`color token "${e}" must be a safe non-fetching CSS color`):t.push(`unknown color token "${e}"`)}}return O(t,"Style validation")}function D(e=Object.keys(t)){let r=Object.fromEntries(Object.entries(t).map(([e,t])=>"number"===t.kind?[e,{type:"number",...void 0!==t.minimum?{minimum:t.minimum}:{},...void 0!==t.exclusiveMinimum?{exclusiveMinimum:t.exclusiveMinimum}:{},...void 0!==t.maximum?{maximum:t.maximum}:{}}]:"enum"===t.kind?[e,{type:"string",enum:[...t.values]}]:[e,{type:"string","x-agentic-mermaid-runtime-validator":"font"===t.kind?"safeCssFontFamily":"safeStylePaint"}]));return{type:"object",additionalProperties:!1,maxProperties:e.length,properties:Object.fromEntries(e.map(e=>[e,r[e]]))}}function M(e){return`roleStyle-${e.role}`}var B="^[A-Za-z][A-Za-z0-9._-]{0,63}$";function J(){let e=Object.fromEntries(_.map(e=>[M(e),D(e.style.applicableProperties)]));return{type:"object",additionalProperties:!1,maxProperties:Object.keys(T).length,properties:Object.fromEntries(Object.entries(T).map(([e,t])=>[e,function(e){switch(e.kind){case"const":return{const:e.value};case"string":return{type:"string",...e.runtimeValidator?{"x-agentic-mermaid-runtime-validator":e.runtimeValidator}:{}};case"boolean":return{type:"boolean"};case"enum":return{type:"string",enum:[...e.values]};case"number":case"integer":return{type:e.kind,...void 0!==e.minimum?{minimum:e.minimum}:{},...void 0!==e.exclusiveMinimum?{exclusiveMinimum:e.exclusiveMinimum}:{},...void 0!==e.maximum?{maximum:e.maximum}:{}};case"roles":return{type:"object",additionalProperties:!1,properties:Object.fromEntries(_.map(e=>[e.role,{$ref:`#/$defs/${M(e)}`}]))};case"semanticSlots":return{type:"object",maxProperties:g.maxItemsPerContainer,propertyNames:{pattern:B,not:{enum:[...L]}},additionalProperties:{$ref:"#/$defs/roleStyle-any"}};case"bindings":return{type:"array",maxItems:g.maxItemsPerContainer,items:{type:"object",additionalProperties:!1,maxProperties:4,required:["channel","value","slot"],properties:{channel:{type:"string",enum:[...z]},value:{type:"string",minLength:1,maxLength:256,pattern:"^[^\\r\\n\\u0000]+$"},slot:{type:"string",pattern:B,not:{enum:[...L]}},role:{type:"string",enum:[...n]}}}};case"constraints":{let e={type:"string",enum:["warn","error"]},t={type:"string",enum:a.map(e=>e.role)},r=S.map(r=>{let n=Object.fromEntries(Object.entries(w(r)).map(([e,r])=>[e,"role"===r.kind?t:{type:"number",minimum:r.minimum,maximum:r.maximum}]));return{type:"object",additionalProperties:!1,required:[...Object.freeze(["kind","action",...Object.entries(w(r)).filter(([,e])=>!0===e.required).map(([e])=>e)])],properties:{kind:{const:r},action:e,...n}}});return{type:"array",maxItems:g.maxItemsPerContainer,items:{oneOf:r}}}case"colors":return{type:"object",additionalProperties:!1,maxProperties:Object.keys($).length,properties:Object.fromEntries(Object.entries($).map(([e,t])=>[e,{type:"string","x-agentic-mermaid-runtime-validator":"safeCssColor"}]))}}}(t)])),$defs:{...e,"roleStyle-any":D()}}}var Y=Object.freeze([{id:"palette:paper",inputName:"paper",displayLabel:"Paper",colors:{bg:"#F5F0E4",fg:"#221E16",accent:"#9A4A24"}},{id:"palette:dusk",inputName:"dusk",displayLabel:"Dusk",colors:{bg:"#2A2521",fg:"#E9DFCC",accent:"#CC8A57"}},{id:"palette:zinc-light",inputName:"zinc-light",displayLabel:"Zinc Light",colors:{bg:"#FFFFFF",fg:"#27272A"}},{id:"palette:zinc-dark",inputName:"zinc-dark",displayLabel:"Zinc Dark",colors:{bg:"#18181B",fg:"#FAFAFA"}},{id:"palette:tokyo-night",inputName:"tokyo-night",displayLabel:"Tokyo Night",colors:{bg:"#1a1b26",fg:"#a9b1d6",line:"#3d59a1",accent:"#7aa2f7",muted:"#565f89"}},{id:"palette:tokyo-night-storm",inputName:"tokyo-night-storm",displayLabel:"Tokyo Night Storm",colors:{bg:"#24283b",fg:"#a9b1d6",line:"#3d59a1",accent:"#7aa2f7",muted:"#565f89"}},{id:"palette:tokyo-night-light",inputName:"tokyo-night-light",displayLabel:"Tokyo Night Light",colors:{bg:"#d5d6db",fg:"#343b58",line:"#34548a",accent:"#34548a",muted:"#9699a3"}},{id:"palette:catppuccin-mocha",inputName:"catppuccin-mocha",displayLabel:"Catppuccin Mocha",colors:{bg:"#1e1e2e",fg:"#cdd6f4",line:"#585b70",accent:"#cba6f7",muted:"#6c7086"}},{id:"palette:catppuccin-latte",inputName:"catppuccin-latte",displayLabel:"Catppuccin Latte",colors:{bg:"#eff1f5",fg:"#4c4f69",line:"#9ca0b0",accent:"#8839ef",muted:"#9ca0b0"}},{id:"palette:nord",inputName:"nord",displayLabel:"Nord",colors:{bg:"#2e3440",fg:"#d8dee9",line:"#4c566a",accent:"#88c0d0",muted:"#616e88"}},{id:"palette:nord-light",inputName:"nord-light",displayLabel:"Nord Light",colors:{bg:"#eceff4",fg:"#2e3440",line:"#aab1c0",accent:"#5e81ac",muted:"#7b88a1"}},{id:"palette:dracula",inputName:"dracula",displayLabel:"Dracula",colors:{bg:"#282a36",fg:"#f8f8f2",line:"#6272a4",accent:"#bd93f9",muted:"#6272a4"}},{id:"palette:github-light",inputName:"github-light",displayLabel:"GitHub Light",colors:{bg:"#ffffff",fg:"#1f2328",line:"#d1d9e0",accent:"#0969da",muted:"#59636e"}},{id:"palette:github-dark",inputName:"github-dark",displayLabel:"GitHub Dark",colors:{bg:"#0d1117",fg:"#e6edf3",line:"#3d444d",accent:"#4493f8",muted:"#9198a1"}},{id:"palette:solarized-light",inputName:"solarized-light",displayLabel:"Solarized Light",colors:{bg:"#fdf6e3",fg:"#657b83",line:"#93a1a1",accent:"#268bd2",muted:"#93a1a1"}},{id:"palette:solarized-dark",inputName:"solarized-dark",displayLabel:"Solarized Dark",colors:{bg:"#002b36",fg:"#839496",line:"#586e75",accent:"#268bd2",muted:"#586e75"}},{id:"palette:one-dark",inputName:"one-dark",displayLabel:"One Dark",colors:{bg:"#282c34",fg:"#abb2bf",line:"#4b5263",accent:"#c678dd",muted:"#5c6370"}},{id:"palette:salmon",inputName:"salmon",displayLabel:"Salmon",colors:{bg:"#FFFBF5",fg:"#521000",line:"#C9A88A",accent:"#FF4801",muted:"#85532E",surface:"#FFFDFB",border:"#D4B89E"}},{id:"palette:salmon-dark",inputName:"salmon-dark",displayLabel:"Salmon Dark",colors:{bg:"#1F1008",fg:"#F5DCC8",line:"#6B4A2E",accent:"#FF6B35",muted:"#A07858",surface:"#2A1810",border:"#5A3A22"}},{id:"palette:tufte-dark",inputName:"tufte-dark",displayLabel:"Tufte Dark",colors:{bg:"#1C1C1A",fg:"#E8E4DC",line:"#666660",accent:"#C87070",muted:"#908880",surface:"#2A2926",border:"#444440"}}]),X=0;function G(e){X++;try{return e()}finally{X--}}function q(e){let t=new WeakMap,r=new WeakSet,n=new Set(["__proto__","prototype","constructor"]),i=0,a=0,s=(e,l)=>{if(l>g.maxDepth)throw TypeError(`Style input exceeds maximum nesting depth ${g.maxDepth}`);if(++i>g.maxNodes)throw TypeError(`Style input exceeds the ${g.maxNodes}-node limit`);if("string"==typeof e){if((a+=e.length)>g.maxAggregateTextCharacters)throw TypeError(`Style input exceeds the ${g.maxAggregateTextCharacters}-character text limit`);return e}if("object"!=typeof e||null===e)return e;if(r.has(e))throw TypeError("Style input must be acyclic");let c=t.get(e);if(void 0!==c)return c;if(Array.isArray(e)){if(e.length>g.maxItemsPerContainer)throw TypeError(`Style array must contain at most ${g.maxItemsPerContainer} items`);let n=[];t.set(e,n),r.add(e);for(let t=0;t<e.length;t++){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("Style arrays must not be sparse");n.push(s(e[t],l+1))}return r.delete(e),Object.freeze(n)}if(!o(e))return e;let d=Object.entries(e);if(d.length>g.maxItemsPerContainer)throw TypeError(`Style object must contain at most ${g.maxItemsPerContainer} properties`);let f=Object.create(null);for(let[i,o]of(t.set(e,f),r.add(e),d)){if(n.has(i))throw TypeError(`Style input uses forbidden key "${i}"`);if((a+=i.length)>g.maxAggregateTextCharacters)throw TypeError(`Style input exceeds the ${g.maxAggregateTextCharacters}-character text limit`);Object.defineProperty(f,i,{value:s(o,l+1),enumerable:!0,writable:!1,configurable:!1})}return r.delete(e),Object.freeze(f)};return s(e,0)}var V=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor"]),H=Object.freeze(["paddingX","paddingY","cornerRadius","lineWidth","fillColor","borderColor"]),U=(Object.freeze({text:Object.freeze({sourceRole:"label",fields:V}),node:Object.freeze({sourceRole:"node",fields:Object.freeze([...V,...H])}),edge:Object.freeze({sourceRole:"edge",fields:Object.freeze([...V,"lineWidth","bendRadius","strokeColor"])}),group:Object.freeze({sourceRole:"group",fields:Object.freeze([...V,...H,"fontFamily","headerFillColor"])})}),"1.0.0"),Z=Object.freeze({core:u}),K=Object.freeze({owner:"agentic-mermaid",source:"built-in",reference:"src/scene/style-registry.ts"}),Q=Object.freeze({owner:"host",source:"in-process"}),ee=new Map,et=new Map,er=class extends Error{constructor(e){super(e),this.name="StyleSpecError"}};function en(e){if(e)return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Object.freeze({...t})])))}function ei(e){if(e)return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Object.freeze({...t})])))}function ea(e){return e?Object.freeze(e.map(e=>Object.freeze({...e}))):void 0}function eo(e){if(!e)return;let{displayLabel:t,...r}=e;return Object.freeze({...r,formatVersion:1,...r.colors?{colors:Object.freeze({...r.colors})}:{},...r.roles?{roles:en(r.roles)}:{},...r.semanticSlots?{semanticSlots:ei(r.semanticSlots)}:{},...r.bindings?{bindings:ea(r.bindings)}:{},...r.constraints?{constraints:ea(r.constraints)}:{}})}function es(t,r="look",n=t.name??""){if(!t.name)throw Error("registerBuiltInStyle requires a name");let i=m(r,t.name),a=F(eo({...t,name:i}));if(a.length)throw Error(`Invalid built-in style "${i}": ${a.join("; ")}`);!function(t,r,n,i){let a=t.name,o=Object.freeze({...t,formatVersion:1,...t.colors?{colors:Object.freeze({...t.colors})}:{},...t.roles?{roles:en(t.roles)}:{},...t.semanticSlots?{semanticSlots:ei(t.semanticSlots)}:{},...t.bindings?{bindings:ea(t.bindings)}:{},...t.constraints?{constraints:ea(t.constraints)}:{}});if(e(ee,{identity:p({id:a,kind:r,version:n.version??U,compatibility:{...Z,...n.compatibility},provenance:n.provenance??Q}),value:o}),void 0!==i){let e=et.get(i),t=ee.has(i)&&i!==a?i:void 0;if(void 0!==e||void 0!==t)throw ee.delete(a),Error(`Style input name "${i}" already selects "${e??t}"`);et.set(i,a)}}({...t,name:i},r,{version:U,compatibility:Z,provenance:K},n)}function el(e){return ee.has(e)?e:et.get(e)}function ec(e){let t=el(e);if(!t)return;let r=eo(ee.get(t)?.value);if(r)return Object.freeze({canonicalId:t,spec:r})}function ed(e){return"freehand"===e.stroke||"wash"===e.fill?"hybrid":"jittered"===e.stroke||"hachure"===e.fill||void 0!==e.backdrop&&"plain"!==e.backdrop||void 0!==e.roughness||void 0!==e.bowing||void 0!==e.passes||void 0!==e.hachureGap||void 0!==e.hachureAngle||void 0!==e.fillWeight?"rough":"default"}function ef(e,t){if(!e&&!t)return;let r=[],n=new Set;for(let i of[...e??[],...t??[]]){let e=JSON.stringify(i);n.has(e)||(n.add(e),r.push(i))}return r}function eu(e){if(void 0===e)return;let t=Array.isArray(e)?e:[e],r=[];for(let e of t)if("string"==typeof e){let t=el(e);if("look:crisp"===t)continue;let n=t?ee.get(t)?.value:void 0;if(!n)throw new er(`Unknown style "${e}". Known styles: ${Object.freeze(Array.from(ee.values(),({identity:e,value:t})=>{let r=Array.from(et.entries()).find(([,t])=>t===e.id)?.[0]??e.id,n=e.id.slice(e.id.indexOf(":")+1),i=t.displayLabel??n.split("-").filter(Boolean).map(e=>"ops"===e?"OPS":e.charAt(0).toUpperCase()+e.slice(1)).join(" ");return Object.freeze({identity:e,spec:eo(t),inputName:r,displayLabel:i,kind:e.kind,isDefault:"look:crisp"===e.id})})).map(e=>e.inputName).join(", ")}`);r.push(n)}else r.push(function(e){let t=q(e),r=F(t);if(r.length)throw new er(`Invalid style spec: ${r.join("; ")}`);return t}(e));if(0===r.length)return;let n={formatVersion:1};for(let e of r)for(let[t,r]of Object.entries(e))if(void 0!==r)if("colors"===t){let t={...n.colors};for(let[r,n]of Object.entries(e.colors??{}))void 0!==n&&(t[r]=n);n.colors=t}else"roles"===t?n.roles=function(e,t){if(!e&&!t)return;let r={...e};for(let[e,n]of Object.entries(t??{}))void 0!==n&&(r[e]={...r[e],...n});return r}(n.roles,e.roles):"semanticSlots"===t?n.semanticSlots=function(e,t){if(!e&&!t)return;let r={...e};for(let[e,n]of Object.entries(t??{}))r[e]={...r[e],...n};return r}(n.semanticSlots,e.semanticSlots):"bindings"===t?n.bindings=ef(n.bindings,e.bindings):"constraints"===t?n.constraints=ef(n.constraints,e.constraints):n[t]=r;return n}function em(e){return G(()=>{let t=eu(e);return t&&ep(t),eo(t)})}function ep(e){for(let[t,r]of(e.bindings??[]).entries()){let n=e.semanticSlots?.[r.slot];if(!n)throw new er(`Invalid style spec: binding ${t+1} references missing semantic slot "${r.slot}"`);let o=new Set(void 0===r.role?i:a.find(e=>e.role===r.role).style.applicableProperties);if(!Object.keys(n).some(e=>o.has(e)))throw new er(void 0===r.role?`Invalid style spec: semantic slot "${r.slot}" has no field applicable to any executable category-binding role`:`Invalid style spec: semantic slot "${r.slot}" has no field applicable to role "${r.role}"`)}let t=["hachureAngle","hachureGap","fillWeight"].filter(t=>void 0!==e[t]&&"hachure"!==e.fill);if(t.length>0)throw new er(`Invalid style spec: ${t.map(e=>`"${e}"`).join(", ")} require fill "hachure" in the final Style stack`);let r=["washOpacity","washEdge"].filter(t=>void 0!==e[t]&&"wash"!==e.fill);if(r.length>0)throw new er(`Invalid style spec: ${r.map(e=>`"${e}"`).join(", ")} require fill "wash" in the final Style stack`);if(void 0!==e.fill&&"default"===ed(e))throw new er('Invalid style spec: "fill" has no crisp/default backend projection; combine it with stroke "jittered"/"freehand" or another rough/hybrid backend field')}function eg(e){return G(()=>{let t=eu(e);if(void 0===t)return{};ep(t);let r=eo(t),n=function(e){let t=e.strokeWidth,r=e.roles?Object.fromEntries(Object.entries(e.roles).map(([e,t])=>[e,t?{...t}:void 0])):void 0,n={...void 0!==t&&t>0&&"default"===ed(e)?{lineWidth:t}:{},...r?.node},i={...void 0!==t&&t>0&&"default"===ed(e)?{lineWidth:t}:{},...r?.edge},a={...void 0!==t&&t>0&&"default"===ed(e)?{lineWidth:t}:{},...r?.group};if(!(!r&&!e.semanticSlots&&!e.bindings&&!e.constraints&&0===Object.keys(n).length&&0===Object.keys(i).length&&0===Object.keys(a).length))return{...r?{roles:en(r)}:{},...e.semanticSlots?{semanticSlots:ei(e.semanticSlots)}:{},...e.bindings?{bindings:ea(e.bindings)}:{},...e.constraints?{constraints:ea(e.constraints)}:{},...r?.label?{text:{...r.label}}:{},...Object.keys(n).length?{node:n}:{},...Object.keys(i).length?{edge:i}:{},...Object.keys(a).length?{group:a}:{}}}(t);return{...r?{style:r}:{},...n?{face:n}:{}}})}function eb(e){return"default"!==ed(e)||void 0!==e.colors||void 0!==e.font||void 0!==e.strokeWidth||void 0!==e.roles||void 0!==e.semanticSlots||void 0!==e.bindings||void 0!==e.constraints}for(let e of(es({name:"crisp",displayLabel:"Crisp",blurb:"The default renderer with precise SVG geometry.",stroke:"crisp"},"look"),Y)){let{inputName:t,colors:r}=e;if(m("palette",t)!==e.id)throw Error(`Built-in palette identity mismatch: ${e.id}`);es({name:t,displayLabel:e.displayLabel,blurb:`Palette: ${t}.`,colors:{bg:r.bg,fg:r.fg,line:r.line,accent:r.accent,muted:r.muted,surface:r.surface,border:r.border}},"palette",t)}es({name:"hand-drawn",displayLabel:"Hand-drawn",blurb:"Black ink on ruled paper — wobbly double strokes, unfilled boxes.",intent:"draft",colors:{bg:"#f7f5ef",fg:"#1a1a1e",line:"#26262b",accent:"#26262b",border:"#26262b"},font:"Caveat",stroke:"jittered",roughness:1,bowing:1,passes:2,strokeWidth:1.8,fill:"none",backdrop:"paper-ruled",mono:!0}),es({name:"excalidraw",displayLabel:"Excalidraw",blurb:"Virtual whiteboard style — rough strokes, pastel hachure fills.",intent:"draft",colors:{bg:"#ffffff",fg:"#1e1e1e",line:"#1e1e1e",accent:"#4263eb",surface:"#f1f3f5"},font:"Caveat",stroke:"jittered",roughness:1.1,bowing:1.2,passes:2,strokeWidth:1.6,fill:"hachure",hachureAngle:-41,hachureGap:5.5,fillWeight:.9}),es({name:"pen-and-ink",displayLabel:"Pen & ink",blurb:"Fine single-pass linework on warm cream — no interior hatching.",intent:"premium",colors:{bg:"#faf6ec",fg:"#241f1a",line:"#2b241d",accent:"#2b241d",border:"#2b241d"},font:"EB Garamond",stroke:"jittered",roughness:.5,bowing:.6,passes:1,strokeWidth:1.5,fill:"none",mono:!0}),es({name:"freehand",displayLabel:"Freehand",blurb:"Pressure-sensitive marker ribbons — variable-width filled strokes.",intent:"draft",colors:{bg:"#fbfaf7",fg:"#16161a",line:"#1d1d22",accent:"#1d1d22",border:"#1d1d22"},font:"Architects Daughter",stroke:"freehand",roughness:.9,passes:1,strokeWidth:1.6,fill:"none",mono:!0}),es({name:"watercolor",displayLabel:"Watercolor",blurb:"Rough outlines over translucent glazes with pigment-pooled edges.",intent:"premium",colors:{bg:"#fdfbf6",fg:"#31302c",line:"#4d4a44",accent:"#7a6a52",surface:"#ead9b9",border:"#5a564e"},font:"Caveat",stroke:"jittered",roughness:.9,bowing:.8,passes:1,strokeWidth:1.5,fill:"wash",washOpacity:.3,washEdge:.34}),es({name:"blueprint",displayLabel:"Blueprint",blurb:"Cyanotype: white linework on Prussian blue with a drafting grid.",intent:"premium",colors:{bg:"#123a63",fg:"#eaf2fb",line:"#dbe9f7",accent:"#ffffff",muted:"#b8cfe6",surface:"#1c4a78",border:"#dbe9f7"},font:"Share Tech Mono",stroke:"jittered",roughness:.4,bowing:.4,passes:1,strokeWidth:1.4,fill:"none",backdrop:"grid",mono:!0}),es({name:"tufte",displayLabel:"Tufte",blurb:"Maximal data-ink: crisp hairlines, warm paper, one red accent.",intent:"premium",colors:{bg:"#fffff8",fg:"#111111",line:"#4a4a45",accent:"#a00000",muted:"#6b6b64",border:"#8a8a80"},font:"EB Garamond",roles:{node:{lineWidth:.8,cornerRadius:0},edge:{lineWidth:.8},group:{lineWidth:.8}},mono:!0},"look","look:tufte"),es({name:"accessible-high-contrast",displayLabel:"Accessible Contrast",blurb:"Accessibility-first: large labels, heavy strokes, white ground, colorblind-safe blue accent.",intent:"premium",colors:{bg:"#ffffff",fg:"#050505",line:"#111111",accent:"#005fcc",muted:"#333333",surface:"#ffffff",border:"#050505"},roles:{node:{fontSize:17,fontWeight:700,textColor:"var(--fg)",paddingX:28,paddingY:16,cornerRadius:8,lineWidth:2.4,borderColor:"var(--fg)"},edge:{fontSize:14,fontWeight:700,textColor:"var(--fg)",lineWidth:2.6,bendRadius:10,strokeColor:"var(--fg)"},group:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:22,cornerRadius:8,lineWidth:2.2,borderColor:"var(--fg)"}}}),es({name:"patent-drawing",displayLabel:"Patent Hatching",blurb:"Print-safe patent figure: uniform ink, strong outlines, tone via oblique hatching.",intent:"premium",colors:{bg:"#ffffff",fg:"#111111",line:"#111111",accent:"#111111",muted:"#444444",surface:"#ffffff",border:"#111111"},font:"EB Garamond",stroke:"jittered",roughness:.3,bowing:.2,passes:1,strokeWidth:1.35,fill:"hachure",hachureAngle:-50,hachureGap:7,fillWeight:.65,roles:{node:{fontSize:14,fontWeight:600,textColor:"var(--fg)",paddingX:24,paddingY:13,lineWidth:1.35,cornerRadius:0,borderColor:"var(--fg)"},edge:{fontSize:12,textColor:"var(--fg)",lineWidth:1.45,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:12,fontWeight:700,textColor:"var(--fg)",paddingX:22,paddingY:18,lineWidth:1.35,cornerRadius:0,borderColor:"var(--fg)"}},mono:!0}),es({name:"status-dashboard",displayLabel:"Dark Ops Dashboard",blurb:"Operational dashboard: dark surface, rounded modules, bright status-friendly accent.",intent:"premium",colors:{bg:"#08111f",fg:"#e6f4ff",line:"#5a7c99",accent:"#2dd4bf",muted:"#8aa6bf",surface:"#102033",border:"#2e4c63"},roles:{node:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:13,cornerRadius:10,lineWidth:1.4,borderColor:"var(--fg)"},edge:{fontSize:12,fontWeight:600,textColor:"var(--fg)",lineWidth:2,bendRadius:14,strokeColor:"var(--fg)"},group:{fontSize:13,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.06,paddingX:22,paddingY:20,cornerRadius:10,lineWidth:1.3,borderColor:"var(--fg)"}}}),es({name:"ops-schematic",displayLabel:"Compact Trace Map",blurb:"Dense operational schematic: compact mono labels, sturdy traces, theme-friendly geometry.",intent:"lofi",colors:{bg:"#f8faf7",fg:"#17211c",line:"#24523b",accent:"#0f766e",muted:"#4f665a",surface:"#f0f5ef",border:"#24523b"},font:"Share Tech Mono",stroke:"jittered",roughness:.18,bowing:.2,passes:1,strokeWidth:1.6,fill:"none",roles:{node:{fontSize:12,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",paddingX:16,paddingY:8,cornerRadius:2,lineWidth:1.6,borderColor:"var(--fg)"},edge:{fontSize:10,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",lineWidth:1.8,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:11,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.05,paddingX:16,paddingY:16,cornerRadius:2,lineWidth:1.5,borderColor:"var(--fg)"}}}),es({name:"chalkboard",displayLabel:"Chalkboard",blurb:"Classroom chalkboard: dusty off-white strokes on green slate.",intent:"draft",colors:{bg:"#17362f",fg:"#f5f1df",line:"#ece6cf",accent:"#ffe08a",muted:"#c7d2c4",surface:"#17362f",border:"#f3ecd5"},font:"Caveat",stroke:"jittered",roughness:1.25,bowing:1,passes:2,strokeWidth:1.9,fill:"none",roles:{node:{fontSize:16,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:12,borderColor:"var(--fg)"},edge:{fontSize:13,textColor:"var(--fg)",lineWidth:1.8,strokeColor:"var(--fg)"},group:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:20,paddingY:20,lineWidth:1.7,borderColor:"var(--fg)"}},mono:!0}),es({name:"risograph",displayLabel:"Riso Print",blurb:"Two-ink poster print: warm stock, offset blue linework, coral accent, coarse hachure.",intent:"premium",colors:{bg:"#fff5df",fg:"#2b2725",line:"#1f3d5a",accent:"#ff5a5f",muted:"#876a52",surface:"#ffd166",border:"#1f3d5a"},font:"EB Garamond",stroke:"jittered",roughness:.7,bowing:.55,passes:1,strokeWidth:1.5,fill:"hachure",hachureAngle:18,hachureGap:6.5,fillWeight:.75,roles:{node:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:13,cornerRadius:3,borderColor:"var(--fg)"},edge:{fontSize:12,textColor:"var(--fg)",lineWidth:1.5,strokeColor:"var(--fg)"},group:{fontSize:13,fontWeight:700,textColor:"var(--fg)",paddingX:22,paddingY:18,cornerRadius:3,borderColor:"var(--fg)"}}}),es({name:"architectural-plan",displayLabel:"Plan Drafting",blurb:"Architectural plan: square technical linework, uppercase mono labels, room-like frames.",intent:"premium",colors:{bg:"#fbf7ea",fg:"#202a2f",line:"#38535e",accent:"#1f6f8b",muted:"#60727a",surface:"#fffaf0",border:"#38535e"},font:"Share Tech Mono",stroke:"jittered",roughness:.18,bowing:.25,passes:1,strokeWidth:1.45,fill:"none",roles:{node:{fontSize:12,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",paddingX:20,paddingY:10,cornerRadius:0,lineWidth:1.45,borderColor:"var(--fg)"},edge:{fontSize:10,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",lineWidth:1.55,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:11,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.06,paddingX:20,paddingY:20,cornerRadius:0,lineWidth:1.45,borderColor:"var(--fg)"}}}),es({name:"publication-figure",displayLabel:"Report Figure",blurb:"Polished publication figure: serif labels, confident rules, rounded boxes, one quiet accent.",intent:"premium",colors:{bg:"#fffdf8",fg:"#171512",line:"#24211d",accent:"#1d4ed8",muted:"#5f5a52",surface:"#faf5ea",border:"#24211d"},font:"EB Garamond",strokeWidth:1.45,roles:{node:{fontSize:15,fontWeight:700,textColor:"var(--fg)",paddingX:26,paddingY:14,cornerRadius:7,lineWidth:1.45,borderColor:"var(--fg)"},edge:{fontSize:12,fontWeight:600,textColor:"var(--fg)",lineWidth:1.45,bendRadius:8,strokeColor:"var(--fg)"},group:{fontSize:12,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.08,paddingX:24,paddingY:22,cornerRadius:7,lineWidth:1.35,borderColor:"var(--fg)"}}});export{g as a,b as b,y as c,k as d,x as e,v as f,O as g,C as h,J as i,G as j,q as k,ec as l,ed as m,em as n,eg as o,eb as p};
|