orcheo-studio 0.24.1 → 0.24.2

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.
Files changed (73) hide show
  1. package/.bumpversion.cfg +1 -1
  2. package/dist/assets/{arc-DhTjQsml.js → arc-B5ofENSG.js} +1 -1
  3. package/dist/assets/{architectureDiagram-VXUJARFQ-CGDm4iVL.js → architectureDiagram-VXUJARFQ-DxYHdW7c.js} +1 -1
  4. package/dist/assets/{blockDiagram-VD42YOAC-B5xlwwyL.js → blockDiagram-VD42YOAC-DJFNLztP.js} +1 -1
  5. package/dist/assets/{c4Diagram-YG6GDRKO-DtVXFxFX.js → c4Diagram-YG6GDRKO-i42OpjrQ.js} +1 -1
  6. package/dist/assets/channel-D4idvlBv.js +1 -0
  7. package/dist/assets/{chunk-4BX2VUAB-CA8vZ6Tb.js → chunk-4BX2VUAB-BP38Jeu1.js} +1 -1
  8. package/dist/assets/{chunk-55IACEB6-CxNWLhGM.js → chunk-55IACEB6-DgOteLeo.js} +1 -1
  9. package/dist/assets/{chunk-B4BG7PRW-BW8UEmwi.js → chunk-B4BG7PRW-DSFMHhnv.js} +1 -1
  10. package/dist/assets/{chunk-DI55MBZ5-_6YQcHqR.js → chunk-DI55MBZ5-houO_rDU.js} +1 -1
  11. package/dist/assets/{chunk-FMBD7UC4-L-9FXYi4.js → chunk-FMBD7UC4-2uWxVMuK.js} +1 -1
  12. package/dist/assets/{chunk-QN33PNHL-DZtaWvmZ.js → chunk-QN33PNHL-CNE7iDzV.js} +1 -1
  13. package/dist/assets/{chunk-QZHKN3VN-B3c4-un7.js → chunk-QZHKN3VN-CuJasZjZ.js} +1 -1
  14. package/dist/assets/{chunk-TZMSLE5B-DmyAt3KD.js → chunk-TZMSLE5B-DdOfh1YS.js} +1 -1
  15. package/dist/assets/classDiagram-2ON5EDUG-BbsIqyB3.js +1 -0
  16. package/dist/assets/classDiagram-v2-WZHVMYZB-BbsIqyB3.js +1 -0
  17. package/dist/assets/clone-BtsJ7Mgy.js +1 -0
  18. package/dist/assets/{cose-bilkent-S5V4N54A-r3dremCG.js → cose-bilkent-S5V4N54A-n5L5u7aX.js} +1 -1
  19. package/dist/assets/{dagre-6UL2VRFP-C6AizynV.js → dagre-6UL2VRFP-DA0iPKXN.js} +1 -1
  20. package/dist/assets/{diagram-PSM6KHXK-CKTAJrFm.js → diagram-PSM6KHXK-3FRZnvw9.js} +1 -1
  21. package/dist/assets/{diagram-QEK2KX5R-B4BLbqZ6.js → diagram-QEK2KX5R-ePGkAGnY.js} +1 -1
  22. package/dist/assets/{diagram-S2PKOQOG-CLy2S4hE.js → diagram-S2PKOQOG-FYWv9iIE.js} +1 -1
  23. package/dist/assets/{erDiagram-Q2GNP2WA-DlemVcfS.js → erDiagram-Q2GNP2WA-2la-V9DA.js} +1 -1
  24. package/dist/assets/{flowDiagram-NV44I4VS-CpBPPeuN.js → flowDiagram-NV44I4VS-Cv-HCQV2.js} +1 -1
  25. package/dist/assets/{ganttDiagram-JELNMOA3-BY4cJPdg.js → ganttDiagram-JELNMOA3-DZhWBmY1.js} +1 -1
  26. package/dist/assets/{gitGraphDiagram-V2S2FVAM-D7RJFr3i.js → gitGraphDiagram-V2S2FVAM-CBfpN1uw.js} +1 -1
  27. package/dist/assets/{graph-CJZvtDnb.js → graph-D6aI-bPq.js} +1 -1
  28. package/dist/assets/{index-CARUdnbv.js → index-D8PZ9Puu.js} +185 -185
  29. package/dist/assets/{index-DcCYJX3c.css → index-Df4jFRhd.css} +1 -1
  30. package/dist/assets/{infoDiagram-HS3SLOUP-CcSzbqKG.js → infoDiagram-HS3SLOUP-Lvd-vDDU.js} +1 -1
  31. package/dist/assets/{isUndefined-BbMiFvTc.js → isUndefined-DLcwy6eJ.js} +1 -1
  32. package/dist/assets/{journeyDiagram-XKPGCS4Q-DTmP5k2H.js → journeyDiagram-XKPGCS4Q-rVvUlw1X.js} +1 -1
  33. package/dist/assets/{kanban-definition-3W4ZIXB7-BSA4gDhk.js → kanban-definition-3W4ZIXB7-Dg-tIUSI.js} +1 -1
  34. package/dist/assets/{layout-D3BxIqM1.js → layout-CYgJ9n1K.js} +1 -1
  35. package/dist/assets/{linear-CemsbS51.js → linear-CfAw1dgz.js} +1 -1
  36. package/dist/assets/{min-DkRMnH62.js → min-BBMETs6R.js} +1 -1
  37. package/dist/assets/{mindmap-definition-VGOIOE7T-CNj0QY6e.js → mindmap-definition-VGOIOE7T-DY__eUNT.js} +1 -1
  38. package/dist/assets/{pieDiagram-ADFJNKIX-CPQsqbb4.js → pieDiagram-ADFJNKIX-Nr7ukKrm.js} +1 -1
  39. package/dist/assets/{quadrantDiagram-AYHSOK5B-CPX25nd3.js → quadrantDiagram-AYHSOK5B-Bb54Oaa_.js} +1 -1
  40. package/dist/assets/{requirementDiagram-UZGBJVZJ-7mxxRNiB.js → requirementDiagram-UZGBJVZJ-BtLViRZC.js} +1 -1
  41. package/dist/assets/{sankeyDiagram-TZEHDZUN-CPhitUZ9.js → sankeyDiagram-TZEHDZUN-COqbhL3I.js} +1 -1
  42. package/dist/assets/{sequenceDiagram-WL72ISMW-BwLMsC7F.js → sequenceDiagram-WL72ISMW-DHKy94Yw.js} +1 -1
  43. package/dist/assets/{stateDiagram-FKZM4ZOC-Crx9CUqD.js → stateDiagram-FKZM4ZOC-8dJVXo1X.js} +1 -1
  44. package/dist/assets/stateDiagram-v2-4FDKWEC3-_96AsFOw.js +1 -0
  45. package/dist/assets/{timeline-definition-IT6M3QCI-DDh1Iim0.js → timeline-definition-IT6M3QCI-CyS6rBy_.js} +1 -1
  46. package/dist/assets/{treemap-GDKQZRPO-Bc6lNY0z.js → treemap-GDKQZRPO-CUM9baT2.js} +1 -1
  47. package/dist/assets/{xychartDiagram-PRI3JC2R-BAGZwI3e.js → xychartDiagram-PRI3JC2R-BztiRmM1.js} +1 -1
  48. package/dist/index.html +2 -2
  49. package/package.json +1 -1
  50. package/src/features/auth/pages/login.tsx +8 -1
  51. package/src/features/workflow/components/dialogs/update-workflow-dialog.tsx +1 -1
  52. package/src/features/workflow/components/dialogs/upload-workflow-dialog.tsx +14 -2
  53. package/src/features/workflow/data/workflow-types.ts +5 -0
  54. package/src/features/workflow/lib/workflow-storage-helpers.ts +21 -0
  55. package/src/features/workflow/lib/workflow-storage.ts +58 -31
  56. package/src/features/workflow/lib/workflow-storage.types.ts +11 -0
  57. package/src/features/workflow/lib/workflow-upload-errors.ts +81 -0
  58. package/src/features/workflow/pages/workflow/components/workflow-layout.tsx +4 -1
  59. package/src/features/workflow/pages/workflow/components/workflow-tab-content.tsx +108 -7
  60. package/src/features/workflow/pages/workflow/hooks/controller/build-layout-props.ts +3 -0
  61. package/src/features/workflow/pages/workflow/hooks/controller/use-workflow-lifecycle.ts +6 -0
  62. package/src/features/workflow/pages/workflow/hooks/controller/use-workflow-resources.ts +2 -0
  63. package/src/features/workflow/pages/workflow/hooks/execution-runtime-updates.ts +1 -1
  64. package/src/features/workflow/pages/workflow/hooks/use-workflow-loader.ts +22 -0
  65. package/src/features/workflow/pages/workflow/hooks/use-workflow-metadata-state.ts +11 -0
  66. package/src/features/workflow/pages/workflow/hooks/use-workflow-saver.ts +8 -0
  67. package/src/features/workflow/pages/workflow/hooks/use-workflow-storage-listener.ts +14 -0
  68. package/src/features/workflow/pages/workflow-gallery/workflow-card.tsx +26 -4
  69. package/dist/assets/channel-CeR8j9Si.js +0 -1
  70. package/dist/assets/classDiagram-2ON5EDUG-B2tKUrqn.js +0 -1
  71. package/dist/assets/classDiagram-v2-WZHVMYZB-B2tKUrqn.js +0 -1
  72. package/dist/assets/clone-BN-HxSe-.js +0 -1
  73. package/dist/assets/stateDiagram-v2-4FDKWEC3-elh6u9Fl.js +0 -1
@@ -1 +1 @@
1
- import{s as G,a as W,S as N}from"./chunk-DI55MBZ5-_6YQcHqR.js";import{_ as f,c as t,d as H,l as S,e as P,k as z,R as _,S as U,O as C,u as F}from"./index-CARUdnbv.js";import{G as O}from"./graph-CJZvtDnb.js";import{l as J}from"./layout-D3BxIqM1.js";import"./chunk-55IACEB6-CxNWLhGM.js";import"./chunk-QN33PNHL-DZtaWvmZ.js";import"./isUndefined-BbMiFvTc.js";import"./min-DkRMnH62.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(g,B,m){const E=g.append("tspan").attr("x",2*t().state.padding).text(B);m||E.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,x=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(g){a||(d(x,g,s),s=!1),a=!1});const w=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),p=x.node().getBBox(),o=Math.max(p.width,n.width);return w.attr("x2",o+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",o+2*t().state.padding).attr("height",p.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),x=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),p=s.node().getBBox().width+n;let o=Math.max(p,x);o===x&&(o=o+n);let g;const B=e.node().getBBox();i.doc,g=a-c,p>x&&(g=(x-o)/2+c),Math.abs(a-B.x)<c&&p>x&&(g=a-(p-x)/2);const m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",g).attr("y",m).attr("class",d?"alt-composit":"composit").attr("width",o).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",g+c),p<=x&&s.attr("x",a+(o-n)/2-p/2+c),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let x=e.replace(/\r\n/g,"<br/>");x=x.replace(/\n/g,"<br/>");const a=x.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const w of a){const p=w.trim();if(p.length>0){const o=l.append("tspan");if(o.text(p),s===0){const g=o.node().getBBox();s+=g.height}n+=s,o.attr("x",i+t().state.noteMargin),o.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),R=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=_().x(function(s){return s.x}).y(function(s){return s.y}).curve(U),x=e.append("path").attr("d",l(n)).attr("id","edge"+R).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),x.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:w,y:p}=F.calcLabelPosition(i.points),o=z.getRows(d.title);let g=0;const B=[];let m=0,E=0;for(let u=0;u<=o.length;u++){const h=s.append("text").attr("text-anchor","middle").text(o[u]).attr("x",w).attr("y",p+g),y=h.node().getBBox();m=Math.max(m,y.width),E=Math.min(E,y.x),S.info(y.x,w,p+g),g===0&&(g=h.node().getBBox().height,S.info("Title height",g,p)),B.push(h)}let k=g*o.length;if(o.length>1){const u=(o.length-1)*g*.5;B.forEach((h,y)=>h.attr("y",p+y*g-u)),k=g*o.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",w-m/2-t().state.padding/2).attr("y",p-k/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",k+t().state.padding),S.info(r)}R++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const x=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=x.select(`[id='${i}']`);tt(s);const w=c.db.getRootDoc();A(w,s,void 0,!1,x,a,c);const p=b.padding,o=s.node().getBBox(),g=o.width+p*2,B=o.height+p*2,m=g*1.75;P(s,B,m,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+g+" "+B)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,x)=>{const a=new O({compound:!0,multigraph:!0});let s,w=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){w=!1;break}d?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:w?1:b.edgeLengthFactor,nodeSep:w?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:w?1:b.edgeLengthFactor,nodeSep:w?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const p=x.db.getStates(),o=x.db.getRelations(),g=Object.keys(p);for(const r of g){const u=p[r];d&&(u.parentId=d);let h;if(u.doc){let y=i.append("g").attr("id",u.id).attr("class","stateGroup");h=A(u.doc,y,u.id,!c,n,l,x);{y=$(y,u,c);let v=y.node().getBBox();h.width=v.width,h.height=v.height+b.padding/2,T[u.id]={y:b.compositTitleSize}}}else h=L(i,u,a);if(u.note){const y={descriptions:[],id:u.id+"-note",note:u.note,type:"note"},v=L(i,y,a);u.note.position==="left of"?(a.setNode(h.id+"-note",v),a.setNode(h.id,h)):(a.setNode(h.id,h),a.setNode(h.id+"-note",v)),a.setParent(h.id,h.id+"-group"),a.setParent(h.id+"-note",h.id+"-group")}else a.setNode(h.id,h)}S.debug("Count=",a.nodeCount(),a);let B=0;o.forEach(function(r){B++,S.debug("Setting edge",r),a.setEdge(r.id1,r.id2,{relation:r,width:at(r.title),height:b.labelHeight*z.getRows(r.title).length,labelpos:"c"},"id"+B)}),J(a),S.debug("Graph after layout",a.nodes());const m=i.node();a.nodes().forEach(function(r){r!==void 0&&a.node(r)!==void 0?(S.warn("Node "+r+": "+JSON.stringify(a.node(r))),n.select("#"+m.id+" #"+r).attr("transform","translate("+(a.node(r).x-a.node(r).width/2)+","+(a.node(r).y+(T[r]?T[r].y:0)-a.node(r).height/2)+" )"),n.select("#"+m.id+" #"+r).attr("data-x-shift",a.node(r).x-a.node(r).width/2),l.querySelectorAll("#"+m.id+" #"+r+" .divider").forEach(h=>{const y=h.parentElement;let v=0,M=0;y&&(y.parentElement&&(v=y.parentElement.getBBox().width),M=parseInt(y.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",v-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let E=m.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),E=m.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=E.width+2*b.padding,k.height=E.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},ht={parser:W,get db(){return new N(1)},renderer:it,styles:G,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{ht as diagram};
1
+ import{s as G,a as W,S as N}from"./chunk-DI55MBZ5-houO_rDU.js";import{_ as f,c as t,d as H,l as S,e as P,k as z,R as _,S as U,O as C,u as F}from"./index-D8PZ9Puu.js";import{G as O}from"./graph-D6aI-bPq.js";import{l as J}from"./layout-CYgJ9n1K.js";import"./chunk-55IACEB6-DgOteLeo.js";import"./chunk-QN33PNHL-CNE7iDzV.js";import"./isUndefined-DLcwy6eJ.js";import"./min-BBMETs6R.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(g,B,m){const E=g.append("tspan").attr("x",2*t().state.padding).text(B);m||E.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,x=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(g){a||(d(x,g,s),s=!1),a=!1});const w=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),p=x.node().getBBox(),o=Math.max(p.width,n.width);return w.attr("x2",o+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",o+2*t().state.padding).attr("height",p.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),x=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),p=s.node().getBBox().width+n;let o=Math.max(p,x);o===x&&(o=o+n);let g;const B=e.node().getBBox();i.doc,g=a-c,p>x&&(g=(x-o)/2+c),Math.abs(a-B.x)<c&&p>x&&(g=a-(p-x)/2);const m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",g).attr("y",m).attr("class",d?"alt-composit":"composit").attr("width",o).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",g+c),p<=x&&s.attr("x",a+(o-n)/2-p/2+c),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",o).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let x=e.replace(/\r\n/g,"<br/>");x=x.replace(/\n/g,"<br/>");const a=x.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const w of a){const p=w.trim();if(p.length>0){const o=l.append("tspan");if(o.text(p),s===0){const g=o.node().getBBox();s+=g.height}n+=s,o.attr("x",i+t().state.noteMargin),o.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),R=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=_().x(function(s){return s.x}).y(function(s){return s.y}).curve(U),x=e.append("path").attr("d",l(n)).attr("id","edge"+R).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),x.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:w,y:p}=F.calcLabelPosition(i.points),o=z.getRows(d.title);let g=0;const B=[];let m=0,E=0;for(let u=0;u<=o.length;u++){const h=s.append("text").attr("text-anchor","middle").text(o[u]).attr("x",w).attr("y",p+g),y=h.node().getBBox();m=Math.max(m,y.width),E=Math.min(E,y.x),S.info(y.x,w,p+g),g===0&&(g=h.node().getBBox().height,S.info("Title height",g,p)),B.push(h)}let k=g*o.length;if(o.length>1){const u=(o.length-1)*g*.5;B.forEach((h,y)=>h.attr("y",p+y*g-u)),k=g*o.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",w-m/2-t().state.padding/2).attr("y",p-k/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",k+t().state.padding),S.info(r)}R++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const x=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=x.select(`[id='${i}']`);tt(s);const w=c.db.getRootDoc();A(w,s,void 0,!1,x,a,c);const p=b.padding,o=s.node().getBBox(),g=o.width+p*2,B=o.height+p*2,m=g*1.75;P(s,B,m,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+g+" "+B)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,x)=>{const a=new O({compound:!0,multigraph:!0});let s,w=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){w=!1;break}d?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:w?1:b.edgeLengthFactor,nodeSep:w?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:w?1:b.edgeLengthFactor,nodeSep:w?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const p=x.db.getStates(),o=x.db.getRelations(),g=Object.keys(p);for(const r of g){const u=p[r];d&&(u.parentId=d);let h;if(u.doc){let y=i.append("g").attr("id",u.id).attr("class","stateGroup");h=A(u.doc,y,u.id,!c,n,l,x);{y=$(y,u,c);let v=y.node().getBBox();h.width=v.width,h.height=v.height+b.padding/2,T[u.id]={y:b.compositTitleSize}}}else h=L(i,u,a);if(u.note){const y={descriptions:[],id:u.id+"-note",note:u.note,type:"note"},v=L(i,y,a);u.note.position==="left of"?(a.setNode(h.id+"-note",v),a.setNode(h.id,h)):(a.setNode(h.id,h),a.setNode(h.id+"-note",v)),a.setParent(h.id,h.id+"-group"),a.setParent(h.id+"-note",h.id+"-group")}else a.setNode(h.id,h)}S.debug("Count=",a.nodeCount(),a);let B=0;o.forEach(function(r){B++,S.debug("Setting edge",r),a.setEdge(r.id1,r.id2,{relation:r,width:at(r.title),height:b.labelHeight*z.getRows(r.title).length,labelpos:"c"},"id"+B)}),J(a),S.debug("Graph after layout",a.nodes());const m=i.node();a.nodes().forEach(function(r){r!==void 0&&a.node(r)!==void 0?(S.warn("Node "+r+": "+JSON.stringify(a.node(r))),n.select("#"+m.id+" #"+r).attr("transform","translate("+(a.node(r).x-a.node(r).width/2)+","+(a.node(r).y+(T[r]?T[r].y:0)-a.node(r).height/2)+" )"),n.select("#"+m.id+" #"+r).attr("data-x-shift",a.node(r).x-a.node(r).width/2),l.querySelectorAll("#"+m.id+" #"+r+" .divider").forEach(h=>{const y=h.parentElement;let v=0,M=0;y&&(y.parentElement&&(v=y.parentElement.getBBox().width),M=parseInt(y.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",v-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let E=m.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),E=m.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=E.width+2*b.padding,k.height=E.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},ht={parser:W,get db(){return new N(1)},renderer:it,styles:G,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{ht as diagram};
@@ -0,0 +1 @@
1
+ import{s as t,b as r,a,S as s}from"./chunk-DI55MBZ5-houO_rDU.js";import{_ as i}from"./index-D8PZ9Puu.js";import"./chunk-55IACEB6-DgOteLeo.js";import"./chunk-QN33PNHL-CNE7iDzV.js";var l={parser:a,get db(){return new s(2)},renderer:r,styles:t,init:i(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{l as diagram};
@@ -1,4 +1,4 @@
1
- import{_ as s,c as xt,l as E,d as q,V as kt,W as vt,X as _t,Y as bt,B as wt,$ as St,y as Et}from"./index-CARUdnbv.js";import{d as nt}from"./arc-DhTjQsml.js";var X=(function(){var n=s(function(f,r,a,h){for(a=a||{},h=f.length;h--;a[f[h]]=r);return a},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],l=[1,10],i=[1,11],d=[1,12],c=[1,13],g=[1,16],m=[1,17],p={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(r,a,h,u,y,o,S){var k=o.length-1;switch(y){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.getCommonDb().setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.getCommonDb().setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 15:u.addTask(o[k],0,""),this.$=o[k];break;case 16:u.addEvent(o[k].substr(2)),this.$=o[k];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:l,14:i,16:d,17:c,18:14,19:15,20:g,21:m},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:l,14:i,16:d,17:c,18:14,19:15,20:g,21:m},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:s(function(r,a){if(a.recoverable)this.trace(r);else{var h=new Error(r);throw h.hash=a,h}},"parseError"),parse:s(function(r){var a=this,h=[0],u=[],y=[null],o=[],S=this.table,k="",$=0,C=0,B=2,J=1,O=o.slice.call(arguments,1),v=Object.create(this.lexer),N={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(N.yy[L]=this.yy[L]);v.setInput(r,N.yy),N.yy.lexer=v,N.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var b=v.yylloc;o.push(b);var M=v.options&&v.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(T){h.length=h.length-2*T,y.length=y.length-T,o.length=o.length-T}s(R,"popStack");function A(){var T;return T=u.pop()||v.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=a.symbols_[T]||T),T}s(A,"lex");for(var w,H,I,K,V={},j,P,et,G;;){if(H=h[h.length-1],this.defaultActions[H]?I=this.defaultActions[H]:((w===null||typeof w>"u")&&(w=A()),I=S[H]&&S[H][w]),typeof I>"u"||!I.length||!I[0]){var Q="";G=[];for(j in S[H])this.terminals_[j]&&j>B&&G.push("'"+this.terminals_[j]+"'");v.showPosition?Q="Parse error on line "+($+1)+`:
1
+ import{_ as s,c as xt,l as E,d as q,V as kt,W as vt,X as _t,Y as bt,B as wt,$ as St,y as Et}from"./index-D8PZ9Puu.js";import{d as nt}from"./arc-B5ofENSG.js";var X=(function(){var n=s(function(f,r,a,h){for(a=a||{},h=f.length;h--;a[f[h]]=r);return a},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],l=[1,10],i=[1,11],d=[1,12],c=[1,13],g=[1,16],m=[1,17],p={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(r,a,h,u,y,o,S){var k=o.length-1;switch(y){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.getCommonDb().setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.getCommonDb().setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 15:u.addTask(o[k],0,""),this.$=o[k];break;case 16:u.addEvent(o[k].substr(2)),this.$=o[k];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:l,14:i,16:d,17:c,18:14,19:15,20:g,21:m},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:l,14:i,16:d,17:c,18:14,19:15,20:g,21:m},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:s(function(r,a){if(a.recoverable)this.trace(r);else{var h=new Error(r);throw h.hash=a,h}},"parseError"),parse:s(function(r){var a=this,h=[0],u=[],y=[null],o=[],S=this.table,k="",$=0,C=0,B=2,J=1,O=o.slice.call(arguments,1),v=Object.create(this.lexer),N={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(N.yy[L]=this.yy[L]);v.setInput(r,N.yy),N.yy.lexer=v,N.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var b=v.yylloc;o.push(b);var M=v.options&&v.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(T){h.length=h.length-2*T,y.length=y.length-T,o.length=o.length-T}s(R,"popStack");function A(){var T;return T=u.pop()||v.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=a.symbols_[T]||T),T}s(A,"lex");for(var w,H,I,K,V={},j,P,et,G;;){if(H=h[h.length-1],this.defaultActions[H]?I=this.defaultActions[H]:((w===null||typeof w>"u")&&(w=A()),I=S[H]&&S[H][w]),typeof I>"u"||!I.length||!I[0]){var Q="";G=[];for(j in S[H])this.terminals_[j]&&j>B&&G.push("'"+this.terminals_[j]+"'");v.showPosition?Q="Parse error on line "+($+1)+`:
2
2
  `+v.showPosition()+`
3
3
  Expecting `+G.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Q="Parse error on line "+($+1)+": Unexpected "+(w==J?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Q,{text:v.match,token:this.terminals_[w]||w,line:v.yylineno,loc:b,expected:G})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+w);switch(I[0]){case 1:h.push(w),y.push(v.yytext),o.push(v.yylloc),h.push(I[1]),w=null,C=v.yyleng,k=v.yytext,$=v.yylineno,b=v.yylloc;break;case 2:if(P=this.productions_[I[1]][1],V.$=y[y.length-P],V._$={first_line:o[o.length-(P||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(P||1)].first_column,last_column:o[o.length-1].last_column},M&&(V._$.range=[o[o.length-(P||1)].range[0],o[o.length-1].range[1]]),K=this.performAction.apply(V,[k,C,$,N.yy,I[1],y,o].concat(O)),typeof K<"u")return K;P&&(h=h.slice(0,-1*P*2),y=y.slice(0,-1*P),o=o.slice(0,-1*P)),h.push(this.productions_[I[1]][0]),y.push(V.$),o.push(V._$),et=S[h[h.length-2]][h[h.length-1]],h.push(et);break;case 3:return!0}}return!0},"parse")},x=(function(){var f={EOF:1,parseError:s(function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},"parseError"),setInput:s(function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var a=r.length,h=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===u.length?this.yylloc.first_column:0)+u[u.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
@@ -1,4 +1,4 @@
1
- var Ih=Object.defineProperty;var Ph=(t,e,n)=>e in t?Ih(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ln=(t,e,n)=>Ph(t,typeof e!="symbol"?e+"":e,n);import{bt as $h,bu as Lh,aY as bd,bv as Oh,at as jr,bl as xh,aL as nl,aM as ns,aN as We,aZ as rl,bw as _d,bk as Dh,bg as Mh,bx as nt,by as Id,bz as Fh,bA as Gh,bi as Uh,bB as _l,aO as qh,bC as jh,bD as zh,bE as Nt,au as q,bF as il,bm as yt,bo as z,as as Xn,aw as Je,ax as ae,bG as Ia,bH as Fe,b0 as Bh,bq as zn,bI as Wh,bJ as Vh,bK as An}from"./index-CARUdnbv.js";import{m as M,f as zr,e as sl,d as Kh}from"./min-DkRMnH62.js";import{v as $e,b as Hh,i as tn,f as ht}from"./isUndefined-BbMiFvTc.js";import{c as ze}from"./clone-BN-HxSe-.js";var Yh=Object.prototype,Xh=Yh.hasOwnProperty,ft=$h(function(t,e){if(Lh(e)||bd(e)){Oh(e,jr(e),t);return}for(var n in e)Xh.call(e,n)&&xh(t,n,e[n])});function rs(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function Jh(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function Qh(t,e,n,r){return nl(t,function(i,s,a){e(r,i,n(i),a)}),r}function Zh(t,e){return function(n,r){var i=We(n)?Jh:Qh,s=e?e():{};return i(n,t,ns(r),s)}}function Ge(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),_d(t,e<0?0:e,r)):[]}function zi(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),e=r-e,_d(t,0,e<0?0:e)):[]}function ep(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function tp(t,e){var n=!0;return nl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Ct(t,e,n){var r=We(t)?ep:tp;return r(t,ns(e))}function wt(t){return t&&t.length?t[0]:void 0}function dt(t,e){return Dh(M(t,e),1)}var np=Object.prototype,rp=np.hasOwnProperty,ip=Zh(function(t,e,n){rp.call(t,n)?t[n].push(e):Mh(t,n,[e])}),sp=Math.max;function et(t,e,n,r){t=bd(t)?t:$e(t),n=n?rl(n):0;var i=t.length;return n<0&&(n=sp(i+n,0)),nt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Id(t,e,n)>-1}function Il(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Id(t,e,i)}var ap="[object RegExp]";function op(t){return Fh(t)&&Gh(t)==ap}var Pl=_l&&_l.isRegExp,nn=Pl?Uh(Pl):op,cp="Expected a function";function lp(t){if(typeof t!="function")throw new TypeError(cp);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Pa(t,e){var n=We(t)?qh:Hh;return n(t,lp(ns(e)))}function up(t,e){var n;return nl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Pd(t,e,n){var r=We(t)?jh:up;return r(t,ns(e))}function dp(t,e){return t&&t.length?zh(t,ns(e)):[]}function Be(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function dn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function fp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function fi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class $d{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=(i=n.properties[e.property])==null?void 0:i.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return Be(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Bi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Ld(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Od(t){return Bi(t)&&typeof t.fullText=="string"}class Ue{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Ue(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return lt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=hp(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?lt:{done:!1,value:e(i)}})}filter(e){return new Ue(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return lt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new Ue(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(oa(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return lt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ue(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(oa(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return lt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ue(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new Ue(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?lt:this.nextFn(n.state)))}distinct(e){return new Ue(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return lt})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function hp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function oa(t){return!!t&&typeof t[Symbol.iterator]=="function"}const xd=new Ue(()=>{},()=>lt),lt=Object.freeze({done:!0,value:void 0});function ge(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(oa(e))return new Ue(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ue(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:lt)}return t.length>1?new Ue(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];oa(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return lt}):xd}class al extends Ue{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return lt})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ro;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Ro||(Ro={}));function vo(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{Be(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&vo(i,e))}):Be(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&vo(r,e)))}function $a(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Vs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Vs(t){for(;t.$container;)t=t.$container;return t}function $l(t){return St(t)?t.ref?[t.ref]:[]:dn(t)?t.items.map(e=>e.ref):[]}function ol(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(Be(s)){if(r.keyIndex++,Ll(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(Be(o)&&Ll(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return lt})}function is(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e),{includeRoot:!0})}function Ll(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?Dp(n,e):!1}function ca(t){return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(St(r)||dn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(St(s)||dn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return lt})}function pp(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Dd(i.defaultValue))}function Dd(t){return Array.isArray(t)?[...t.map(Dd)]:t}const ct={$type:"AbstractElement",cardinality:"cardinality"};function mp(t){return ee.isInstance(t,ct.$type)}const Ks={$type:"AbstractParserRule"};function ss(t){return ee.isInstance(t,Ks.$type)}const Ps={$type:"AbstractRule"},Et={$type:"AbstractType"},xn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function La(t){return ee.isInstance(t,xn.$type)}const Hs={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Md(t){return ee.isInstance(t,Hs.$type)}const Ol={$type:"ArrayLiteral",elements:"elements"},xl={$type:"ArrayType",elementType:"elementType"},Dn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return ee.isInstance(t,Dn.$type)}const Eo={$type:"BooleanLiteral",true:"true"};function gp(t){return ee.isInstance(t,Eo.$type)}const Mn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function yp(t){return ee.isInstance(t,Mn.$type)}const rr={$type:"Condition"},Ys={$type:"Conjunction",left:"left",right:"right"};function Tp(t){return ee.isInstance(t,Ys.$type)}const Fn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Oa(t){return ee.isInstance(t,Fn.$type)}const Xs={$type:"Disjunction",left:"left",right:"right"};function Rp(t){return ee.isInstance(t,Xs.$type)}const Ao={$type:"EndOfFile",cardinality:"cardinality"};function vp(t){return ee.isInstance(t,Ao.$type)}const Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Dl={$type:"GrammarImport",path:"path"},lr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function cl(t){return ee.isInstance(t,lr.$type)}const So={$type:"InferredType",name:"name"};function Fd(t){return ee.isInstance(t,So.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function la(t){return ee.isInstance(t,Vt.$type)}const Ha={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Ml={$type:"InfixRuleOperators",precedences:"precedences"},Li={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Ep(t){return ee.isInstance(t,Li.$type)}const Oi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Wn(t){return ee.isInstance(t,Oi.$type)}const $s={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},ur={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Ap(t){return ee.isInstance(t,ur.$type)}const Co={$type:"Negation",value:"value"};function Sp(t){return ee.isInstance(t,Co.$type)}const Fl={$type:"NumberLiteral",value:"value"},Ls={$type:"Parameter",name:"name"},ko={$type:"ParameterReference",parameter:"parameter"};function Cp(t){return ee.isInstance(t,ko.$type)}const Pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function sn(t){return ee.isInstance(t,Pt.$type)}const Ya={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},dr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function kp(t){return ee.isInstance(t,dr.$type)}const wo={$type:"ReturnType",name:"name"};function wp(t){return ee.isInstance(t,wo.$type)}const fr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Vn(t){return ee.isInstance(t,fr.$type)}const xi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Np(t){return ee.isInstance(t,xi.$type)}const Gl={$type:"StringLiteral",value:"value"},hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function bp(t){return ee.isInstance(t,hr.$type)}const gt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},pr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function _p(t){return ee.isInstance(t,pr.$type)}const un={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function an(t){return ee.isInstance(t,un.$type)}const mr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Ip(t){return ee.isInstance(t,mr.$type)}const Js={$type:"Type",name:"name",type:"type"};function Pp(t){return ee.isInstance(t,Js.$type)}const hi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},pi={$type:"TypeDefinition"},Ul={$type:"UnionType",types:"types"},Qs={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Gd(t){return ee.isInstance(t,Qs.$type)}const gr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function $p(t){return ee.isInstance(t,gr.$type)}const mi={$type:"ValueLiteral"},Di={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Lp(t){return ee.isInstance(t,Di.$type)}class Ud extends $d{constructor(){super(...arguments),this.types={AbstractElement:{name:ct.$type,properties:{cardinality:{name:ct.cardinality}},superTypes:[]},AbstractParserRule:{name:Ks.$type,properties:{},superTypes:[Ps.$type,Et.$type]},AbstractRule:{name:Ps.$type,properties:{},superTypes:[]},AbstractType:{name:Et.$type,properties:{},superTypes:[]},Action:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},inferredType:{name:xn.inferredType},operator:{name:xn.operator},type:{name:xn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Alternatives:{name:Hs.$type,properties:{cardinality:{name:Hs.cardinality},elements:{name:Hs.elements,defaultValue:[]}},superTypes:[ct.$type]},ArrayLiteral:{name:Ol.$type,properties:{elements:{name:Ol.elements,defaultValue:[]}},superTypes:[mi.$type]},ArrayType:{name:xl.$type,properties:{elementType:{name:xl.elementType}},superTypes:[pi.$type]},Assignment:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},feature:{name:Dn.feature},operator:{name:Dn.operator},predicate:{name:Dn.predicate},terminal:{name:Dn.terminal}},superTypes:[ct.$type]},BooleanLiteral:{name:Eo.$type,properties:{true:{name:Eo.true,defaultValue:!1}},superTypes:[rr.$type,mi.$type]},CharacterRange:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},left:{name:Mn.left},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},right:{name:Mn.right}},superTypes:[gt.$type]},Condition:{name:rr.$type,properties:{},superTypes:[]},Conjunction:{name:Ys.$type,properties:{left:{name:Ys.left},right:{name:Ys.right}},superTypes:[rr.$type]},CrossReference:{name:Fn.$type,properties:{cardinality:{name:Fn.cardinality},deprecatedSyntax:{name:Fn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fn.isMulti,defaultValue:!1},terminal:{name:Fn.terminal},type:{name:Fn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Disjunction:{name:Xs.$type,properties:{left:{name:Xs.left},right:{name:Xs.right}},superTypes:[rr.$type]},EndOfFile:{name:Ao.$type,properties:{cardinality:{name:Ao.cardinality}},superTypes:[ct.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Dl.$type,properties:{path:{name:Dl.path}},superTypes:[]},Group:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},elements:{name:lr.elements,defaultValue:[]},guardCondition:{name:lr.guardCondition},predicate:{name:lr.predicate}},superTypes:[ct.$type]},InferredType:{name:So.$type,properties:{name:{name:So.name}},superTypes:[Et.$type]},InfixRule:{name:Vt.$type,properties:{call:{name:Vt.call},dataType:{name:Vt.dataType},inferredType:{name:Vt.inferredType},name:{name:Vt.name},operators:{name:Vt.operators},parameters:{name:Vt.parameters,defaultValue:[]},returnType:{name:Vt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},InfixRuleOperatorList:{name:Ha.$type,properties:{associativity:{name:Ha.associativity},operators:{name:Ha.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Ml.$type,properties:{precedences:{name:Ml.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Li.$type,properties:{attributes:{name:Li.attributes,defaultValue:[]},name:{name:Li.name},superTypes:{name:Li.superTypes,defaultValue:[],referenceType:Et.$type}},superTypes:[Et.$type]},Keyword:{name:Oi.$type,properties:{cardinality:{name:Oi.cardinality},predicate:{name:Oi.predicate},value:{name:Oi.value}},superTypes:[ct.$type]},NamedArgument:{name:$s.$type,properties:{calledByName:{name:$s.calledByName,defaultValue:!1},parameter:{name:$s.parameter,referenceType:Ls.$type},value:{name:$s.value}},superTypes:[]},NegatedToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},terminal:{name:ur.terminal}},superTypes:[gt.$type]},Negation:{name:Co.$type,properties:{value:{name:Co.value}},superTypes:[rr.$type]},NumberLiteral:{name:Fl.$type,properties:{value:{name:Fl.value}},superTypes:[mi.$type]},Parameter:{name:Ls.$type,properties:{name:{name:Ls.name}},superTypes:[]},ParameterReference:{name:ko.$type,properties:{parameter:{name:ko.parameter,referenceType:Ls.$type}},superTypes:[rr.$type]},ParserRule:{name:Pt.$type,properties:{dataType:{name:Pt.dataType},definition:{name:Pt.definition},entry:{name:Pt.entry,defaultValue:!1},fragment:{name:Pt.fragment,defaultValue:!1},inferredType:{name:Pt.inferredType},name:{name:Pt.name},parameters:{name:Pt.parameters,defaultValue:[]},returnType:{name:Pt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},ReferenceType:{name:Ya.$type,properties:{isMulti:{name:Ya.isMulti,defaultValue:!1},referenceType:{name:Ya.referenceType}},superTypes:[pi.$type]},RegexToken:{name:dr.$type,properties:{cardinality:{name:dr.cardinality},lookahead:{name:dr.lookahead},parenthesized:{name:dr.parenthesized,defaultValue:!1},regex:{name:dr.regex}},superTypes:[gt.$type]},ReturnType:{name:wo.$type,properties:{name:{name:wo.name}},superTypes:[]},RuleCall:{name:fr.$type,properties:{arguments:{name:fr.arguments,defaultValue:[]},cardinality:{name:fr.cardinality},predicate:{name:fr.predicate},rule:{name:fr.rule,referenceType:Ps.$type}},superTypes:[ct.$type]},SimpleType:{name:xi.$type,properties:{primitiveType:{name:xi.primitiveType},stringType:{name:xi.stringType},typeRef:{name:xi.typeRef,referenceType:Et.$type}},superTypes:[pi.$type]},StringLiteral:{name:Gl.$type,properties:{value:{name:Gl.value}},superTypes:[mi.$type]},TerminalAlternatives:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},elements:{name:hr.elements,defaultValue:[]},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalElement:{name:gt.$type,properties:{cardinality:{name:gt.cardinality},lookahead:{name:gt.lookahead},parenthesized:{name:gt.parenthesized,defaultValue:!1}},superTypes:[ct.$type]},TerminalGroup:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},elements:{name:pr.elements,defaultValue:[]},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalRule:{name:un.$type,properties:{definition:{name:un.definition},fragment:{name:un.fragment,defaultValue:!1},hidden:{name:un.hidden,defaultValue:!1},name:{name:un.name},type:{name:un.type}},superTypes:[Ps.$type]},TerminalRuleCall:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},rule:{name:mr.rule,referenceType:un.$type}},superTypes:[gt.$type]},Type:{name:Js.$type,properties:{name:{name:Js.name},type:{name:Js.type}},superTypes:[Et.$type]},TypeAttribute:{name:hi.$type,properties:{defaultValue:{name:hi.defaultValue},isOptional:{name:hi.isOptional,defaultValue:!1},name:{name:hi.name},type:{name:hi.type}},superTypes:[]},TypeDefinition:{name:pi.$type,properties:{},superTypes:[]},UnionType:{name:Ul.$type,properties:{types:{name:Ul.types,defaultValue:[]}},superTypes:[pi.$type]},UnorderedGroup:{name:Qs.$type,properties:{cardinality:{name:Qs.cardinality},elements:{name:Qs.elements,defaultValue:[]}},superTypes:[ct.$type]},UntilToken:{name:gr.$type,properties:{cardinality:{name:gr.cardinality},lookahead:{name:gr.lookahead},parenthesized:{name:gr.parenthesized,defaultValue:!1},terminal:{name:gr.terminal}},superTypes:[gt.$type]},ValueLiteral:{name:mi.$type,properties:{},superTypes:[]},Wildcard:{name:Di.$type,properties:{cardinality:{name:Di.cardinality},lookahead:{name:Di.lookahead},parenthesized:{name:Di.parenthesized,defaultValue:!1}},superTypes:[gt.$type]}}}}const ee=new Ud;function No(t){return new al(t,e=>Bi(e)?e.content:[],{includeRoot:!0})}function Op(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ua(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var Xt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Xt||(Xt={}));function xp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Xt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Xt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?Xt.Inside:n?Xt.OverlapBack:r?Xt.OverlapFront:Xt.Outside}function Dp(t,e){return xp(t,e)>Xt.After}const Mp=/^[\w\p{L}]$/u;function Fp(t,e){if(t){const n=Gp(t,!0);if(n&&ql(n,e))return n;if(Od(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(ql(s,e))return s}}}}function ql(t,e){return Ld(t)&&e.includes(t.tokenType.name)}function Gp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class qd extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function as(t,e="Error: Got unexpected value."){throw new Error(e)}function W(t){return t.charCodeAt(0)}function Xa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function gi(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function ir(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Up(){throw Error("Internal Error - Should never get here!")}function jl(t){return t.type==="Character"}const da=[];for(let t=W("0");t<=W("9");t++)da.push(t);const fa=[W("_")].concat(da);for(let t=W("a");t<=W("z");t++)fa.push(t);for(let t=W("A");t<=W("Z");t++)fa.push(t);const zl=[W(" "),W("\f"),W(`
1
+ var Ih=Object.defineProperty;var Ph=(t,e,n)=>e in t?Ih(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ln=(t,e,n)=>Ph(t,typeof e!="symbol"?e+"":e,n);import{bt as $h,bu as Lh,aY as bd,bv as Oh,at as jr,bl as xh,aL as nl,aM as ns,aN as We,aZ as rl,bw as _d,bk as Dh,bg as Mh,bx as nt,by as Id,bz as Fh,bA as Gh,bi as Uh,bB as _l,aO as qh,bC as jh,bD as zh,bE as Nt,au as q,bF as il,bm as yt,bo as z,as as Xn,aw as Je,ax as ae,bG as Ia,bH as Fe,b0 as Bh,bq as zn,bI as Wh,bJ as Vh,bK as An}from"./index-D8PZ9Puu.js";import{m as M,f as zr,e as sl,d as Kh}from"./min-BBMETs6R.js";import{v as $e,b as Hh,i as tn,f as ht}from"./isUndefined-DLcwy6eJ.js";import{c as ze}from"./clone-BtsJ7Mgy.js";var Yh=Object.prototype,Xh=Yh.hasOwnProperty,ft=$h(function(t,e){if(Lh(e)||bd(e)){Oh(e,jr(e),t);return}for(var n in e)Xh.call(e,n)&&xh(t,n,e[n])});function rs(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function Jh(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function Qh(t,e,n,r){return nl(t,function(i,s,a){e(r,i,n(i),a)}),r}function Zh(t,e){return function(n,r){var i=We(n)?Jh:Qh,s=e?e():{};return i(n,t,ns(r),s)}}function Ge(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),_d(t,e<0?0:e,r)):[]}function zi(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),e=r-e,_d(t,0,e<0?0:e)):[]}function ep(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function tp(t,e){var n=!0;return nl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Ct(t,e,n){var r=We(t)?ep:tp;return r(t,ns(e))}function wt(t){return t&&t.length?t[0]:void 0}function dt(t,e){return Dh(M(t,e),1)}var np=Object.prototype,rp=np.hasOwnProperty,ip=Zh(function(t,e,n){rp.call(t,n)?t[n].push(e):Mh(t,n,[e])}),sp=Math.max;function et(t,e,n,r){t=bd(t)?t:$e(t),n=n?rl(n):0;var i=t.length;return n<0&&(n=sp(i+n,0)),nt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Id(t,e,n)>-1}function Il(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Id(t,e,i)}var ap="[object RegExp]";function op(t){return Fh(t)&&Gh(t)==ap}var Pl=_l&&_l.isRegExp,nn=Pl?Uh(Pl):op,cp="Expected a function";function lp(t){if(typeof t!="function")throw new TypeError(cp);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Pa(t,e){var n=We(t)?qh:Hh;return n(t,lp(ns(e)))}function up(t,e){var n;return nl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Pd(t,e,n){var r=We(t)?jh:up;return r(t,ns(e))}function dp(t,e){return t&&t.length?zh(t,ns(e)):[]}function Be(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function dn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function fp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function fi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class $d{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=(i=n.properties[e.property])==null?void 0:i.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return Be(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Bi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Ld(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Od(t){return Bi(t)&&typeof t.fullText=="string"}class Ue{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Ue(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return lt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=hp(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?lt:{done:!1,value:e(i)}})}filter(e){return new Ue(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return lt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new Ue(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(oa(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return lt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ue(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(oa(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return lt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ue(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new Ue(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?lt:this.nextFn(n.state)))}distinct(e){return new Ue(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return lt})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function hp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function oa(t){return!!t&&typeof t[Symbol.iterator]=="function"}const xd=new Ue(()=>{},()=>lt),lt=Object.freeze({done:!0,value:void 0});function ge(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(oa(e))return new Ue(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ue(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:lt)}return t.length>1?new Ue(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];oa(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return lt}):xd}class al extends Ue{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return lt})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ro;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Ro||(Ro={}));function vo(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{Be(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&vo(i,e))}):Be(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&vo(r,e)))}function $a(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Vs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Vs(t){for(;t.$container;)t=t.$container;return t}function $l(t){return St(t)?t.ref?[t.ref]:[]:dn(t)?t.items.map(e=>e.ref):[]}function ol(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(Be(s)){if(r.keyIndex++,Ll(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(Be(o)&&Ll(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return lt})}function is(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e),{includeRoot:!0})}function Ll(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?Dp(n,e):!1}function ca(t){return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(St(r)||dn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(St(s)||dn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return lt})}function pp(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Dd(i.defaultValue))}function Dd(t){return Array.isArray(t)?[...t.map(Dd)]:t}const ct={$type:"AbstractElement",cardinality:"cardinality"};function mp(t){return ee.isInstance(t,ct.$type)}const Ks={$type:"AbstractParserRule"};function ss(t){return ee.isInstance(t,Ks.$type)}const Ps={$type:"AbstractRule"},Et={$type:"AbstractType"},xn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function La(t){return ee.isInstance(t,xn.$type)}const Hs={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Md(t){return ee.isInstance(t,Hs.$type)}const Ol={$type:"ArrayLiteral",elements:"elements"},xl={$type:"ArrayType",elementType:"elementType"},Dn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return ee.isInstance(t,Dn.$type)}const Eo={$type:"BooleanLiteral",true:"true"};function gp(t){return ee.isInstance(t,Eo.$type)}const Mn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function yp(t){return ee.isInstance(t,Mn.$type)}const rr={$type:"Condition"},Ys={$type:"Conjunction",left:"left",right:"right"};function Tp(t){return ee.isInstance(t,Ys.$type)}const Fn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Oa(t){return ee.isInstance(t,Fn.$type)}const Xs={$type:"Disjunction",left:"left",right:"right"};function Rp(t){return ee.isInstance(t,Xs.$type)}const Ao={$type:"EndOfFile",cardinality:"cardinality"};function vp(t){return ee.isInstance(t,Ao.$type)}const Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Dl={$type:"GrammarImport",path:"path"},lr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function cl(t){return ee.isInstance(t,lr.$type)}const So={$type:"InferredType",name:"name"};function Fd(t){return ee.isInstance(t,So.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function la(t){return ee.isInstance(t,Vt.$type)}const Ha={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Ml={$type:"InfixRuleOperators",precedences:"precedences"},Li={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Ep(t){return ee.isInstance(t,Li.$type)}const Oi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Wn(t){return ee.isInstance(t,Oi.$type)}const $s={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},ur={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Ap(t){return ee.isInstance(t,ur.$type)}const Co={$type:"Negation",value:"value"};function Sp(t){return ee.isInstance(t,Co.$type)}const Fl={$type:"NumberLiteral",value:"value"},Ls={$type:"Parameter",name:"name"},ko={$type:"ParameterReference",parameter:"parameter"};function Cp(t){return ee.isInstance(t,ko.$type)}const Pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function sn(t){return ee.isInstance(t,Pt.$type)}const Ya={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},dr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function kp(t){return ee.isInstance(t,dr.$type)}const wo={$type:"ReturnType",name:"name"};function wp(t){return ee.isInstance(t,wo.$type)}const fr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Vn(t){return ee.isInstance(t,fr.$type)}const xi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Np(t){return ee.isInstance(t,xi.$type)}const Gl={$type:"StringLiteral",value:"value"},hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function bp(t){return ee.isInstance(t,hr.$type)}const gt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},pr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function _p(t){return ee.isInstance(t,pr.$type)}const un={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function an(t){return ee.isInstance(t,un.$type)}const mr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Ip(t){return ee.isInstance(t,mr.$type)}const Js={$type:"Type",name:"name",type:"type"};function Pp(t){return ee.isInstance(t,Js.$type)}const hi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},pi={$type:"TypeDefinition"},Ul={$type:"UnionType",types:"types"},Qs={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Gd(t){return ee.isInstance(t,Qs.$type)}const gr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function $p(t){return ee.isInstance(t,gr.$type)}const mi={$type:"ValueLiteral"},Di={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Lp(t){return ee.isInstance(t,Di.$type)}class Ud extends $d{constructor(){super(...arguments),this.types={AbstractElement:{name:ct.$type,properties:{cardinality:{name:ct.cardinality}},superTypes:[]},AbstractParserRule:{name:Ks.$type,properties:{},superTypes:[Ps.$type,Et.$type]},AbstractRule:{name:Ps.$type,properties:{},superTypes:[]},AbstractType:{name:Et.$type,properties:{},superTypes:[]},Action:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},inferredType:{name:xn.inferredType},operator:{name:xn.operator},type:{name:xn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Alternatives:{name:Hs.$type,properties:{cardinality:{name:Hs.cardinality},elements:{name:Hs.elements,defaultValue:[]}},superTypes:[ct.$type]},ArrayLiteral:{name:Ol.$type,properties:{elements:{name:Ol.elements,defaultValue:[]}},superTypes:[mi.$type]},ArrayType:{name:xl.$type,properties:{elementType:{name:xl.elementType}},superTypes:[pi.$type]},Assignment:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},feature:{name:Dn.feature},operator:{name:Dn.operator},predicate:{name:Dn.predicate},terminal:{name:Dn.terminal}},superTypes:[ct.$type]},BooleanLiteral:{name:Eo.$type,properties:{true:{name:Eo.true,defaultValue:!1}},superTypes:[rr.$type,mi.$type]},CharacterRange:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},left:{name:Mn.left},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},right:{name:Mn.right}},superTypes:[gt.$type]},Condition:{name:rr.$type,properties:{},superTypes:[]},Conjunction:{name:Ys.$type,properties:{left:{name:Ys.left},right:{name:Ys.right}},superTypes:[rr.$type]},CrossReference:{name:Fn.$type,properties:{cardinality:{name:Fn.cardinality},deprecatedSyntax:{name:Fn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fn.isMulti,defaultValue:!1},terminal:{name:Fn.terminal},type:{name:Fn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Disjunction:{name:Xs.$type,properties:{left:{name:Xs.left},right:{name:Xs.right}},superTypes:[rr.$type]},EndOfFile:{name:Ao.$type,properties:{cardinality:{name:Ao.cardinality}},superTypes:[ct.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Dl.$type,properties:{path:{name:Dl.path}},superTypes:[]},Group:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},elements:{name:lr.elements,defaultValue:[]},guardCondition:{name:lr.guardCondition},predicate:{name:lr.predicate}},superTypes:[ct.$type]},InferredType:{name:So.$type,properties:{name:{name:So.name}},superTypes:[Et.$type]},InfixRule:{name:Vt.$type,properties:{call:{name:Vt.call},dataType:{name:Vt.dataType},inferredType:{name:Vt.inferredType},name:{name:Vt.name},operators:{name:Vt.operators},parameters:{name:Vt.parameters,defaultValue:[]},returnType:{name:Vt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},InfixRuleOperatorList:{name:Ha.$type,properties:{associativity:{name:Ha.associativity},operators:{name:Ha.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Ml.$type,properties:{precedences:{name:Ml.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Li.$type,properties:{attributes:{name:Li.attributes,defaultValue:[]},name:{name:Li.name},superTypes:{name:Li.superTypes,defaultValue:[],referenceType:Et.$type}},superTypes:[Et.$type]},Keyword:{name:Oi.$type,properties:{cardinality:{name:Oi.cardinality},predicate:{name:Oi.predicate},value:{name:Oi.value}},superTypes:[ct.$type]},NamedArgument:{name:$s.$type,properties:{calledByName:{name:$s.calledByName,defaultValue:!1},parameter:{name:$s.parameter,referenceType:Ls.$type},value:{name:$s.value}},superTypes:[]},NegatedToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},terminal:{name:ur.terminal}},superTypes:[gt.$type]},Negation:{name:Co.$type,properties:{value:{name:Co.value}},superTypes:[rr.$type]},NumberLiteral:{name:Fl.$type,properties:{value:{name:Fl.value}},superTypes:[mi.$type]},Parameter:{name:Ls.$type,properties:{name:{name:Ls.name}},superTypes:[]},ParameterReference:{name:ko.$type,properties:{parameter:{name:ko.parameter,referenceType:Ls.$type}},superTypes:[rr.$type]},ParserRule:{name:Pt.$type,properties:{dataType:{name:Pt.dataType},definition:{name:Pt.definition},entry:{name:Pt.entry,defaultValue:!1},fragment:{name:Pt.fragment,defaultValue:!1},inferredType:{name:Pt.inferredType},name:{name:Pt.name},parameters:{name:Pt.parameters,defaultValue:[]},returnType:{name:Pt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},ReferenceType:{name:Ya.$type,properties:{isMulti:{name:Ya.isMulti,defaultValue:!1},referenceType:{name:Ya.referenceType}},superTypes:[pi.$type]},RegexToken:{name:dr.$type,properties:{cardinality:{name:dr.cardinality},lookahead:{name:dr.lookahead},parenthesized:{name:dr.parenthesized,defaultValue:!1},regex:{name:dr.regex}},superTypes:[gt.$type]},ReturnType:{name:wo.$type,properties:{name:{name:wo.name}},superTypes:[]},RuleCall:{name:fr.$type,properties:{arguments:{name:fr.arguments,defaultValue:[]},cardinality:{name:fr.cardinality},predicate:{name:fr.predicate},rule:{name:fr.rule,referenceType:Ps.$type}},superTypes:[ct.$type]},SimpleType:{name:xi.$type,properties:{primitiveType:{name:xi.primitiveType},stringType:{name:xi.stringType},typeRef:{name:xi.typeRef,referenceType:Et.$type}},superTypes:[pi.$type]},StringLiteral:{name:Gl.$type,properties:{value:{name:Gl.value}},superTypes:[mi.$type]},TerminalAlternatives:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},elements:{name:hr.elements,defaultValue:[]},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalElement:{name:gt.$type,properties:{cardinality:{name:gt.cardinality},lookahead:{name:gt.lookahead},parenthesized:{name:gt.parenthesized,defaultValue:!1}},superTypes:[ct.$type]},TerminalGroup:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},elements:{name:pr.elements,defaultValue:[]},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalRule:{name:un.$type,properties:{definition:{name:un.definition},fragment:{name:un.fragment,defaultValue:!1},hidden:{name:un.hidden,defaultValue:!1},name:{name:un.name},type:{name:un.type}},superTypes:[Ps.$type]},TerminalRuleCall:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},rule:{name:mr.rule,referenceType:un.$type}},superTypes:[gt.$type]},Type:{name:Js.$type,properties:{name:{name:Js.name},type:{name:Js.type}},superTypes:[Et.$type]},TypeAttribute:{name:hi.$type,properties:{defaultValue:{name:hi.defaultValue},isOptional:{name:hi.isOptional,defaultValue:!1},name:{name:hi.name},type:{name:hi.type}},superTypes:[]},TypeDefinition:{name:pi.$type,properties:{},superTypes:[]},UnionType:{name:Ul.$type,properties:{types:{name:Ul.types,defaultValue:[]}},superTypes:[pi.$type]},UnorderedGroup:{name:Qs.$type,properties:{cardinality:{name:Qs.cardinality},elements:{name:Qs.elements,defaultValue:[]}},superTypes:[ct.$type]},UntilToken:{name:gr.$type,properties:{cardinality:{name:gr.cardinality},lookahead:{name:gr.lookahead},parenthesized:{name:gr.parenthesized,defaultValue:!1},terminal:{name:gr.terminal}},superTypes:[gt.$type]},ValueLiteral:{name:mi.$type,properties:{},superTypes:[]},Wildcard:{name:Di.$type,properties:{cardinality:{name:Di.cardinality},lookahead:{name:Di.lookahead},parenthesized:{name:Di.parenthesized,defaultValue:!1}},superTypes:[gt.$type]}}}}const ee=new Ud;function No(t){return new al(t,e=>Bi(e)?e.content:[],{includeRoot:!0})}function Op(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ua(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var Xt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Xt||(Xt={}));function xp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Xt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Xt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?Xt.Inside:n?Xt.OverlapBack:r?Xt.OverlapFront:Xt.Outside}function Dp(t,e){return xp(t,e)>Xt.After}const Mp=/^[\w\p{L}]$/u;function Fp(t,e){if(t){const n=Gp(t,!0);if(n&&ql(n,e))return n;if(Od(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(ql(s,e))return s}}}}function ql(t,e){return Ld(t)&&e.includes(t.tokenType.name)}function Gp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class qd extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function as(t,e="Error: Got unexpected value."){throw new Error(e)}function W(t){return t.charCodeAt(0)}function Xa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function gi(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function ir(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Up(){throw Error("Internal Error - Should never get here!")}function jl(t){return t.type==="Character"}const da=[];for(let t=W("0");t<=W("9");t++)da.push(t);const fa=[W("_")].concat(da);for(let t=W("a");t<=W("z");t++)fa.push(t);for(let t=W("A");t<=W("Z");t++)fa.push(t);const zl=[W(" "),W("\f"),W(`
2
2
  `),W("\r"),W(" "),W("\v"),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W(" "),W("\u2028"),W("\u2029"),W(" "),W(" "),W(" "),W("\uFEFF")],qp=/[0-9a-fA-F]/,Os=/[0-9]/,jp=/[1-9]/;class jd{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":gi(r,"global");break;case"i":gi(r,"ignoreCase");break;case"m":gi(r,"multiLine");break;case"u":gi(r,"unicode");break;case"y":gi(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":n="Lookbehind";break;case"!":n="NegativeLookbehind"}break}}ir(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return Up()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;ir(n);break}if(!(e===!0&&n===void 0)&&ir(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),ir(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[W(`
3
3
  `),W("\r"),W("\u2028"),W("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=da;break;case"D":e=da,n=!0;break;case"s":e=zl;break;case"S":e=zl,n=!0;break;case"w":e=fa;break;case"W":e=fa,n=!0;break}if(ir(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=W("\f");break;case"n":e=W(`
4
4
  `);break;case"r":e=W("\r");break;case"t":e=W(" ");break;case"v":e=W("\v");break}if(ir(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:W("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:W(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
@@ -1,4 +1,4 @@
1
- import{s as gi,g as xi,q as Xt,p as di,a as fi,b as pi,_ as a,l as Nt,H as mi,e as yi,y as bi,F as St,i as Ai,D as Yt,E as wi,K as Ci,aI as Si,R as Wt}from"./index-CARUdnbv.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as zt}from"./linear-CemsbS51.js";import"./defaultLocale-C4B-KCzX.js";function Ri(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function yt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,g,m=!1,p=0,k=0,v=.5;delete e.unknown;function C(){var b=t().length,E=n<s,D=E?n:s,P=E?s:n;o=(P-D)/Math.max(1,b-p+k*2),m&&(o=Math.floor(o)),D+=(P-D-o*(b-p))*v,g=o*(1-p),m&&(D=Math.round(D),g=Math.round(g));var I=Ri(b).map(function(y){return D+o*y});return i(E?I.reverse():I)}return e.domain=function(b){return arguments.length?(t(b),C()):t()},e.range=function(b){return arguments.length?([s,n]=b,s=+s,n=+n,C()):[s,n]},e.rangeRound=function(b){return[s,n]=b,s=+s,n=+n,m=!0,C()},e.bandwidth=function(){return g},e.step=function(){return o},e.round=function(b){return arguments.length?(m=!!b,C()):m},e.padding=function(b){return arguments.length?(p=Math.min(1,k=+b),C()):p},e.paddingInner=function(b){return arguments.length?(p=Math.min(1,b),C()):p},e.paddingOuter=function(b){return arguments.length?(k=+b,C()):k},e.align=function(b){return arguments.length?(v=Math.max(0,Math.min(1,b)),C()):v},e.copy=function(){return yt(t(),[s,n]).round(m).paddingInner(p).paddingOuter(k).align(v)},_i.apply(C(),arguments)}var bt=(function(){var e=a(function(F,h,u,x){for(u=u||{},x=F.length;x--;u[F[x]]=h);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],g=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],p=[1,25],k=[1,26],v=[1,28],C=[1,29],b=[1,30],E=[1,31],D=[1,32],P=[1,33],I=[1,34],y=[1,35],_=[1,36],c=[1,37],W=[1,43],z=[1,42],U=[1,47],X=[1,50],l=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],$={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,u,x,d,w,r,at){var f=r.length-1;switch(w){case 5:d.setOrientation(r[f]);break;case 9:d.setDiagramTitle(r[f].text.trim());break;case 12:d.setLineData({text:"",type:"text"},r[f]);break;case 13:d.setLineData(r[f-1],r[f]);break;case 14:d.setBarData({text:"",type:"text"},r[f]);break;case 15:d.setBarData(r[f-1],r[f]);break;case 16:this.$=r[f].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=r[f].trim(),d.setAccDescription(this.$);break;case 19:this.$=r[f-1];break;case 20:this.$=[Number(r[f-2]),...r[f]];break;case 21:this.$=[Number(r[f])];break;case 22:d.setXAxisTitle(r[f]);break;case 23:d.setXAxisTitle(r[f-1]);break;case 24:d.setXAxisTitle({type:"text",text:""});break;case 25:d.setXAxisBand(r[f]);break;case 26:d.setXAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 27:this.$=r[f-1];break;case 28:this.$=[r[f-2],...r[f]];break;case 29:this.$=[r[f]];break;case 30:d.setYAxisTitle(r[f]);break;case 31:d.setYAxisTitle(r[f-1]);break;case 32:d.setYAxisTitle({type:"text",text:""});break;case 33:d.setYAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 37:this.$={text:r[f],type:"text"};break;case 38:this.$={text:r[f],type:"text"};break;case 39:this.$={text:r[f],type:"markdown"};break;case 40:this.$=r[f];break;case 41:this.$=r[f-1]+""+r[f];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:g}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:g}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(m,[2,34]),e(m,[2,35]),e(m,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:g}),{1:[2,3]},e(m,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:g}),{11:23,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:39,13:38,24:W,27:z,29:40,30:41,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:45,15:44,27:U,33:46,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:49,17:48,24:X,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:52,17:51,24:X,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{20:[1,53]},{22:[1,54]},e(l,[2,18]),{1:[2,2]},e(l,[2,8]),e(l,[2,9]),e(L,[2,37],{40:55,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c}),e(L,[2,38]),e(L,[2,39]),e(S,[2,40]),e(S,[2,42]),e(S,[2,43]),e(S,[2,44]),e(S,[2,45]),e(S,[2,46]),e(S,[2,47]),e(S,[2,48]),e(S,[2,49]),e(S,[2,50]),e(S,[2,51]),e(l,[2,10]),e(l,[2,22],{30:41,29:56,24:W,27:z}),e(l,[2,24]),e(l,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,11]),e(l,[2,30],{33:60,27:U}),e(l,[2,32]),{31:[1,61]},e(l,[2,12]),{17:62,24:X},{25:63,27:R},e(l,[2,14]),{17:65,24:X},e(l,[2,16]),e(l,[2,17]),e(S,[2,41]),e(l,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(l,[2,31]),{27:[1,69]},e(l,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(l,[2,15]),e(l,[2,26]),e(l,[2,27]),{11:59,32:72,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,33]),e(l,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,u){if(u.recoverable)this.trace(h);else{var x=new Error(h);throw x.hash=u,x}},"parseError"),parse:a(function(h){var u=this,x=[0],d=[],w=[null],r=[],at=this.table,f="",lt=0,It=0,hi=2,Mt=1,li=r.slice.call(arguments,1),T=Object.create(this.lexer),Y={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Y.yy[dt]=this.yy[dt]);T.setInput(h,Y.yy),Y.yy.lexer=T,Y.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var ft=T.yylloc;r.push(ft);var ci=T.options&&T.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(V){x.length=x.length-2*V,w.length=w.length-V,r.length=r.length-V}a(ui,"popStack");function Vt(){var V;return V=d.pop()||T.lex()||Mt,typeof V!="number"&&(V instanceof Array&&(d=V,V=d.pop()),V=u.symbols_[V]||V),V}a(Vt,"lex");for(var M,H,B,pt,q={},ct,O,Bt,ut;;){if(H=x[x.length-1],this.defaultActions[H]?B=this.defaultActions[H]:((M===null||typeof M>"u")&&(M=Vt()),B=at[H]&&at[H][M]),typeof B>"u"||!B.length||!B[0]){var mt="";ut=[];for(ct in at[H])this.terminals_[ct]&&ct>hi&&ut.push("'"+this.terminals_[ct]+"'");T.showPosition?mt="Parse error on line "+(lt+1)+`:
1
+ import{s as gi,g as xi,q as Xt,p as di,a as fi,b as pi,_ as a,l as Nt,H as mi,e as yi,y as bi,F as St,i as Ai,D as Yt,E as wi,K as Ci,aI as Si,R as Wt}from"./index-D8PZ9Puu.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-Cboi1Yqb.js";import{l as zt}from"./linear-CfAw1dgz.js";import"./defaultLocale-C4B-KCzX.js";function Ri(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function yt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,g,m=!1,p=0,k=0,v=.5;delete e.unknown;function C(){var b=t().length,E=n<s,D=E?n:s,P=E?s:n;o=(P-D)/Math.max(1,b-p+k*2),m&&(o=Math.floor(o)),D+=(P-D-o*(b-p))*v,g=o*(1-p),m&&(D=Math.round(D),g=Math.round(g));var I=Ri(b).map(function(y){return D+o*y});return i(E?I.reverse():I)}return e.domain=function(b){return arguments.length?(t(b),C()):t()},e.range=function(b){return arguments.length?([s,n]=b,s=+s,n=+n,C()):[s,n]},e.rangeRound=function(b){return[s,n]=b,s=+s,n=+n,m=!0,C()},e.bandwidth=function(){return g},e.step=function(){return o},e.round=function(b){return arguments.length?(m=!!b,C()):m},e.padding=function(b){return arguments.length?(p=Math.min(1,k=+b),C()):p},e.paddingInner=function(b){return arguments.length?(p=Math.min(1,b),C()):p},e.paddingOuter=function(b){return arguments.length?(k=+b,C()):k},e.align=function(b){return arguments.length?(v=Math.max(0,Math.min(1,b)),C()):v},e.copy=function(){return yt(t(),[s,n]).round(m).paddingInner(p).paddingOuter(k).align(v)},_i.apply(C(),arguments)}var bt=(function(){var e=a(function(F,h,u,x){for(u=u||{},x=F.length;x--;u[F[x]]=h);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],g=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],p=[1,25],k=[1,26],v=[1,28],C=[1,29],b=[1,30],E=[1,31],D=[1,32],P=[1,33],I=[1,34],y=[1,35],_=[1,36],c=[1,37],W=[1,43],z=[1,42],U=[1,47],X=[1,50],l=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],$={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,u,x,d,w,r,at){var f=r.length-1;switch(w){case 5:d.setOrientation(r[f]);break;case 9:d.setDiagramTitle(r[f].text.trim());break;case 12:d.setLineData({text:"",type:"text"},r[f]);break;case 13:d.setLineData(r[f-1],r[f]);break;case 14:d.setBarData({text:"",type:"text"},r[f]);break;case 15:d.setBarData(r[f-1],r[f]);break;case 16:this.$=r[f].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=r[f].trim(),d.setAccDescription(this.$);break;case 19:this.$=r[f-1];break;case 20:this.$=[Number(r[f-2]),...r[f]];break;case 21:this.$=[Number(r[f])];break;case 22:d.setXAxisTitle(r[f]);break;case 23:d.setXAxisTitle(r[f-1]);break;case 24:d.setXAxisTitle({type:"text",text:""});break;case 25:d.setXAxisBand(r[f]);break;case 26:d.setXAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 27:this.$=r[f-1];break;case 28:this.$=[r[f-2],...r[f]];break;case 29:this.$=[r[f]];break;case 30:d.setYAxisTitle(r[f]);break;case 31:d.setYAxisTitle(r[f-1]);break;case 32:d.setYAxisTitle({type:"text",text:""});break;case 33:d.setYAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 37:this.$={text:r[f],type:"text"};break;case 38:this.$={text:r[f],type:"text"};break;case 39:this.$={text:r[f],type:"markdown"};break;case 40:this.$=r[f];break;case 41:this.$=r[f-1]+""+r[f];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:g}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:g}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(m,[2,34]),e(m,[2,35]),e(m,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:g}),{1:[2,3]},e(m,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:g}),{11:23,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:39,13:38,24:W,27:z,29:40,30:41,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:45,15:44,27:U,33:46,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:49,17:48,24:X,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:52,17:51,24:X,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{20:[1,53]},{22:[1,54]},e(l,[2,18]),{1:[2,2]},e(l,[2,8]),e(l,[2,9]),e(L,[2,37],{40:55,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c}),e(L,[2,38]),e(L,[2,39]),e(S,[2,40]),e(S,[2,42]),e(S,[2,43]),e(S,[2,44]),e(S,[2,45]),e(S,[2,46]),e(S,[2,47]),e(S,[2,48]),e(S,[2,49]),e(S,[2,50]),e(S,[2,51]),e(l,[2,10]),e(l,[2,22],{30:41,29:56,24:W,27:z}),e(l,[2,24]),e(l,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,11]),e(l,[2,30],{33:60,27:U}),e(l,[2,32]),{31:[1,61]},e(l,[2,12]),{17:62,24:X},{25:63,27:R},e(l,[2,14]),{17:65,24:X},e(l,[2,16]),e(l,[2,17]),e(S,[2,41]),e(l,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(l,[2,31]),{27:[1,69]},e(l,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(l,[2,15]),e(l,[2,26]),e(l,[2,27]),{11:59,32:72,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,33]),e(l,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,u){if(u.recoverable)this.trace(h);else{var x=new Error(h);throw x.hash=u,x}},"parseError"),parse:a(function(h){var u=this,x=[0],d=[],w=[null],r=[],at=this.table,f="",lt=0,It=0,hi=2,Mt=1,li=r.slice.call(arguments,1),T=Object.create(this.lexer),Y={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Y.yy[dt]=this.yy[dt]);T.setInput(h,Y.yy),Y.yy.lexer=T,Y.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var ft=T.yylloc;r.push(ft);var ci=T.options&&T.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(V){x.length=x.length-2*V,w.length=w.length-V,r.length=r.length-V}a(ui,"popStack");function Vt(){var V;return V=d.pop()||T.lex()||Mt,typeof V!="number"&&(V instanceof Array&&(d=V,V=d.pop()),V=u.symbols_[V]||V),V}a(Vt,"lex");for(var M,H,B,pt,q={},ct,O,Bt,ut;;){if(H=x[x.length-1],this.defaultActions[H]?B=this.defaultActions[H]:((M===null||typeof M>"u")&&(M=Vt()),B=at[H]&&at[H][M]),typeof B>"u"||!B.length||!B[0]){var mt="";ut=[];for(ct in at[H])this.terminals_[ct]&&ct>hi&&ut.push("'"+this.terminals_[ct]+"'");T.showPosition?mt="Parse error on line "+(lt+1)+`:
2
2
  `+T.showPosition()+`
3
3
  Expecting `+ut.join(", ")+", got '"+(this.terminals_[M]||M)+"'":mt="Parse error on line "+(lt+1)+": Unexpected "+(M==Mt?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(mt,{text:T.match,token:this.terminals_[M]||M,line:T.yylineno,loc:ft,expected:ut})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+M);switch(B[0]){case 1:x.push(M),w.push(T.yytext),r.push(T.yylloc),x.push(B[1]),M=null,It=T.yyleng,f=T.yytext,lt=T.yylineno,ft=T.yylloc;break;case 2:if(O=this.productions_[B[1]][1],q.$=w[w.length-O],q._$={first_line:r[r.length-(O||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(O||1)].first_column,last_column:r[r.length-1].last_column},ci&&(q._$.range=[r[r.length-(O||1)].range[0],r[r.length-1].range[1]]),pt=this.performAction.apply(q,[f,It,lt,Y.yy,B[1],w,r].concat(li)),typeof pt<"u")return pt;O&&(x=x.slice(0,-1*O*2),w=w.slice(0,-1*O),r=r.slice(0,-1*O)),x.push(this.productions_[B[1]][0]),w.push(q.$),r.push(q._$),Bt=at[x[x.length-2]][x[x.length-1]],x.push(Bt);break;case 3:return!0}}return!0},"parse")},Et=(function(){var F={EOF:1,parseError:a(function(u,x){if(this.yy.parser)this.yy.parser.parseError(u,x);else throw new Error(u)},"parseError"),setInput:a(function(h,u){return this.yy=u||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var u=h.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var u=h.length,x=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var w=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===d.length?this.yylloc.first_column:0)+d[d.length-x.length].length-x[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),u=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
package/dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/favicon.ico" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Orcheo</title>
8
- <script type="module" crossorigin src="/assets/index-CARUdnbv.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-DcCYJX3c.css">
8
+ <script type="module" crossorigin src="/assets/index-D8PZ9Puu.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-Df4jFRhd.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "orcheo-studio",
3
3
  "private": false,
4
- "version": "0.24.1",
4
+ "version": "0.24.2",
5
5
  "type": "module",
6
6
  "description": "Orcheo UI for Orcheo workflow orchestration platform",
7
7
  "keywords": [
@@ -1,4 +1,4 @@
1
- import { useMemo, useState, type FormEvent } from "react";
1
+ import { useEffect, useMemo, useState, type FormEvent } from "react";
2
2
  import { useLocation, useNavigate } from "react-router-dom";
3
3
  import { Loader2, Mail } from "lucide-react";
4
4
  import { Button } from "@/design-system/ui/button";
@@ -15,6 +15,7 @@ import {
15
15
  startEmailChallenge,
16
16
  verifyEmailCode,
17
17
  } from "@features/auth/lib/auth-api";
18
+ import { isAuthenticated } from "@features/auth/lib/auth-session";
18
19
 
19
20
  // Only allow same-origin relative paths to avoid open-redirect via state/query.
20
21
  const sanitizeRedirect = (value: unknown): string | undefined => {
@@ -57,6 +58,12 @@ export default function Login() {
57
58
  const [busy, setBusy] = useState(false);
58
59
  const [error, setError] = useState<string | null>(null);
59
60
 
61
+ useEffect(() => {
62
+ if (isAuthenticated()) {
63
+ navigate(redirectTo, { replace: true });
64
+ }
65
+ }, [navigate, redirectTo]);
66
+
60
67
  const handleSendEmail = async (event: FormEvent) => {
61
68
  event.preventDefault();
62
69
  setError(null);
@@ -127,7 +127,7 @@ export function UpdateWorkflowDialog({
127
127
  setError(message);
128
128
  toast({
129
129
  title: "Update failed",
130
- description: message,
130
+ description: `${message} Fix the error and upload again.`,
131
131
  variant: "destructive",
132
132
  });
133
133
  } finally {
@@ -13,7 +13,10 @@ import {
13
13
  import { Input } from "@/design-system/ui/input";
14
14
  import { Label } from "@/design-system/ui/label";
15
15
  import { toast } from "@/hooks/use-toast";
16
- import { uploadWorkflowFromFiles } from "@features/workflow/lib/workflow-storage";
16
+ import {
17
+ uploadWorkflowFromFiles,
18
+ WorkflowUploadFailedError,
19
+ } from "@features/workflow/lib/workflow-storage";
17
20
  import { getWorkflowRouteRef } from "@features/workflow/lib/workflow-storage-helpers";
18
21
  import { getSelectedWorkspaceSlug } from "@/lib/workspace-session";
19
22
  import { getWorkspaceWorkflowPath } from "@/lib/workspace-routing";
@@ -197,9 +200,18 @@ export function UploadWorkflowDialog({
197
200
  setError(message);
198
201
  toast({
199
202
  title: "Upload failed",
200
- description: message,
203
+ description: `${message} Fix the error and upload again.`,
201
204
  variant: "destructive",
202
205
  });
206
+ if (err instanceof WorkflowUploadFailedError) {
207
+ handleOpenChange(false);
208
+ navigate(
209
+ getWorkspaceWorkflowPath(
210
+ getSelectedWorkspaceSlug(),
211
+ getWorkflowRouteRef(err.workflow),
212
+ ),
213
+ );
214
+ }
203
215
  } finally {
204
216
  setIsUploading(false);
205
217
  }
@@ -37,6 +37,7 @@ export interface Workflow {
37
37
  id: string;
38
38
  handle?: string;
39
39
  teamId?: string | null;
40
+ teamSlug?: string | null;
40
41
  /**
41
42
  * Group slug for candidate colleagues, derived from the first path segment
42
43
  * of the colleague-candidates directory (e.g. "news_desk"). Null when the
@@ -46,6 +47,10 @@ export interface Workflow {
46
47
  name: string;
47
48
  description?: string;
48
49
  avatarEmoji?: string | null;
50
+ uploadError?: {
51
+ message: string;
52
+ occurredAt: string;
53
+ };
49
54
  draftAccess?: "personal" | "authenticated" | "workspace";
50
55
  createdAt: string;
51
56
  updatedAt: string;
@@ -12,6 +12,10 @@ import {
12
12
  DEFAULT_SUMMARY,
13
13
  HISTORY_LIMIT,
14
14
  } from "./workflow-storage.constants";
15
+ import {
16
+ clearWorkflowUploadError,
17
+ readWorkflowUploadError,
18
+ } from "./workflow-upload-errors";
15
19
  import {
16
20
  forceMermaidLeftToRight,
17
21
  normalizeMermaidPalette,
@@ -419,11 +423,28 @@ export const toStoredWorkflow = (
419
423
  versionRecords.at(-1)?.snapshot ??
420
424
  emptySnapshot(workflow.name, workflow.description ?? undefined);
421
425
  const avatarEmoji = versionRecords.at(-1)?.avatarEmoji ?? undefined;
426
+ const hasBackendUploadError = Object.prototype.hasOwnProperty.call(
427
+ workflow,
428
+ "upload_error",
429
+ );
430
+ const uploadError = workflow.upload_error
431
+ ? {
432
+ message: workflow.upload_error.message,
433
+ occurredAt: workflow.upload_error.occurred_at,
434
+ }
435
+ : hasBackendUploadError
436
+ ? undefined
437
+ : readWorkflowUploadError(workflow.id);
438
+ if (hasBackendUploadError && workflow.upload_error === null) {
439
+ clearWorkflowUploadError(workflow.id);
440
+ }
422
441
 
423
442
  return {
424
443
  id: workflow.id,
425
444
  handle: workflow.handle ?? undefined,
426
445
  teamId: workflow.team_id ?? undefined,
446
+ teamSlug: workflow.team_slug ?? undefined,
447
+ uploadError,
427
448
  name: workflow.name,
428
449
  description: workflow.description ?? undefined,
429
450
  avatarEmoji,
@@ -25,6 +25,10 @@ import {
25
25
  persistRunnableConfig,
26
26
  primeWorkflowCache,
27
27
  } from "./workflow-storage-versioning";
28
+ import {
29
+ clearWorkflowUploadError,
30
+ saveWorkflowUploadError,
31
+ } from "./workflow-upload-errors";
28
32
  import type {
29
33
  ApiWorkflow,
30
34
  SaveWorkflowInput,
@@ -53,6 +57,16 @@ let workflowListCache: WorkflowListCacheEntry | undefined;
53
57
  let workflowListInflight: Promise<StoredWorkflow[]> | undefined;
54
58
  let workflowListRequestId = 0;
55
59
 
60
+ export class WorkflowUploadFailedError extends Error {
61
+ workflow: StoredWorkflow;
62
+
63
+ constructor(message: string, workflow: StoredWorkflow) {
64
+ super(message);
65
+ this.name = "WorkflowUploadFailedError";
66
+ this.workflow = workflow;
67
+ }
68
+ }
69
+
56
70
  const resolveActor = (actor?: string): string => {
57
71
  const explicitActor = actor?.trim();
58
72
  if (explicitActor) {
@@ -135,24 +149,6 @@ const buildTemplateWorkflowMetadata = ({
135
149
  summary: { added: 0, removed: 0, modified: 0 },
136
150
  });
137
151
 
138
- const archiveWorkflowAfterFailedIngest = async (
139
- workflowId: string,
140
- actor: string,
141
- ): Promise<void> => {
142
- try {
143
- await request(
144
- `${API_BASE}/${workflowId}?actor=${encodeURIComponent(actor)}`,
145
- {
146
- method: "DELETE",
147
- },
148
- );
149
- invalidateWorkflowListCache();
150
- emitUpdate();
151
- } catch {
152
- // Preserve the original ingest error so callers see why the upload failed.
153
- }
154
- };
155
-
156
152
  const assertTemplatePluginRequirements = async (
157
153
  requiredPlugins: string[] | undefined,
158
154
  ): Promise<void> => {
@@ -249,6 +245,8 @@ export const saveWorkflow = async (
249
245
  if (options?.runnableConfig !== undefined) {
250
246
  await persistRunnableConfig(workflowId, actor, options.runnableConfig);
251
247
  }
248
+ clearWorkflowUploadError(workflowId);
249
+ invalidateWorkflowCache(workflowId);
252
250
 
253
251
  const stored = await ensureWorkflow(workflowId);
254
252
  if (!stored) {
@@ -397,9 +395,27 @@ export const uploadWorkflowFromFiles = async (
397
395
  }),
398
396
  });
399
397
  } catch (error) {
400
- await archiveWorkflowAfterFailedIngest(created.id, actor);
401
- throw error;
398
+ const message =
399
+ error instanceof Error ? error.message : "Upload failed. Please try again.";
400
+ const uploadError = saveWorkflowUploadError(created.id, message);
401
+ const stored = await ensureWorkflow(created.id);
402
+ invalidateWorkflowListCache();
403
+ if (stored) {
404
+ const failedWorkflow = {
405
+ ...stored,
406
+ uploadError,
407
+ };
408
+ primeWorkflowCache(failedWorkflow);
409
+ emitUpdate();
410
+ throw new WorkflowUploadFailedError(message, failedWorkflow);
411
+ }
412
+ emitUpdate();
413
+ throw new WorkflowUploadFailedError(message, {
414
+ ...toStoredWorkflow(created, []),
415
+ uploadError,
416
+ });
402
417
  }
418
+ clearWorkflowUploadError(created.id);
403
419
 
404
420
  const stored = await ensureWorkflow(created.id);
405
421
  if (!stored) {
@@ -420,17 +436,28 @@ export const updateWorkflowFromFiles = async (
420
436
  ): Promise<StoredWorkflow> => {
421
437
  const actor = resolveActor(options?.actor);
422
438
 
423
- await request(`${API_BASE}/${workflowId}/versions/ingest`, {
424
- method: "POST",
425
- body: JSON.stringify({
426
- script,
427
- entrypoint: null,
428
- runnable_config: config ?? null,
429
- metadata: { source: "studio-update" },
430
- notes: null,
431
- created_by: actor,
432
- }),
433
- });
439
+ try {
440
+ await request(`${API_BASE}/${workflowId}/versions/ingest`, {
441
+ method: "POST",
442
+ body: JSON.stringify({
443
+ script,
444
+ entrypoint: null,
445
+ runnable_config: config ?? null,
446
+ metadata: { source: "studio-update" },
447
+ notes: null,
448
+ created_by: actor,
449
+ }),
450
+ });
451
+ } catch (error) {
452
+ const message =
453
+ error instanceof Error ? error.message : "Update failed. Please try again.";
454
+ saveWorkflowUploadError(workflowId, message);
455
+ invalidateWorkflowListCache();
456
+ invalidateWorkflowCache(workflowId);
457
+ emitUpdate();
458
+ throw error;
459
+ }
460
+ clearWorkflowUploadError(workflowId);
434
461
 
435
462
  const stored = await ensureWorkflow(workflowId);
436
463
  if (!stored) {