Lines Matching refs:o1

9 `,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),Kt.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let g;const w=[];for(;(g=TF.exec(i))!==null;)if(g.index===TF.lastIndex&&TF.lastIndex++,g&&!a||a&&g[1]&&g[1].match(a)||a&&g[2]&&g[2].match(a)){const v=g[1]?g[1]:g[2],b=g[3]?g[3].trim():g[4]?JSON.parse(g[4].trim()):null;w.push({type:v,args:b})}return w.length===0?{type:i,args:null}:w.length===1?w[0]:w}catch(f){return Kt.error(`ERROR: ${f.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},uNe=function(i){return i.replace(TF,"")},lNe=function(i,a){for(const[f,g]of a.entries())if(g.match(i))return f;return-1};function Xw(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return aNe[f]??a}function hNe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?h8(f):f}const fNe=(i,...a)=>{const f=i.split("."),g=f.length-1,w=f[g];let v=window;for(let b=0;b<g;b++)if(v=v[f[b]],!v){Kt.error(`Function name: ${i} not found in window`);return}v[w](...a)};function TFt(i,a){return!i||!a?0:Math.sqrt(Math.pow(a.x-i.x,2)+Math.pow(a.y-i.y,2))}function dNe(i){let a,f=0;i.forEach(w=>{f+=TFt(w,a),a=w});const g=f/2;return Egt(i,g)}function gNe(i){return i.length===1?i[0]:dNe(i)}const CFt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},Egt=(i,a)=>{let f,g=a;for(const w of i){if(f){const v=TFt(w,f);if(v<g)g-=v;else{const b=g/v;if(b<=0)return f;if(b>=1)return{x:w.x,y:w.y};if(b>0&&b<1)return{x:CFt((1-b)*f.x+b*w.x,5),y:CFt((1-b)*f.y+b*w.y,5)}}}f=w}throw new Error("Could not find a suitable point for the given distance")},pNe=(i,a,f)=>{Kt.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const w=Egt(a,25),v=i?10:5,b=Math.atan2(a[0].y-w.y,a[0].x-w.x),E={x:0,y:0};return E.x=Math.sin(b)*v+(a[0].x+w.x)/2,E.y=-Math.cos(b)*v+(a[0].y+w.y)/2,E};function bNe(i,a,f){const g=structuredClone(f);Kt.info("our points",g),a!=="start_left"&&a!=="start_right"&&g.reverse();const w=25+i,v=Egt(g,w),b=10+i*.5,E=Math.atan2(g[0].y-v.y,g[0].x-v.x),S={x:0,y:0};return a==="start_left"?(S.x=Math.sin(E+Math.PI)*b+(g[0].x+v.x)/2,S.y=-Math.cos(E+Math.PI)*b+(g[0].y+v.y)/2):a==="end_right"?(S.x=Math.sin(E-Math.PI)*b+(g[0].x+v.x)/2-5,S.y=-Math.cos(E-Math.PI)*b+(g[0].y+v.y)/2-5):a==="end_left"?(S.x=Math.sin(E)*b+(g[0].x+v.x)/2-5,S.y=-Math.cos(E)*b+(g[0].y+v.y)/2-5):(S.x=Math.sin(E)*b+(g[0].x+v.x)/2,S.y=-Math.cos(E)*b+(g[0].y+v.y)/2),S}function C2(i){let a="",f="";for(const g of i)g!==void 0&&(g.startsWith("color:")||g.startsWith("text-align:")?f=f+g+";":a=a+g+";");return{style:a,labelStyle:f}}let SFt=0;const _Ft=()=>(SFt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+SFt);function wNe(i){let a="";const f="0123456789abcdef",g=f.length;for(let w=0;w<i;w++)a+=f.charAt(Math.floor(Math.random()*g));return a}const AFt=i=>wNe(i.length),mNe=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},vNe=function(i,a){const f=a.text.replace(ei.lineBreakRegex," "),[,g]=k9(a.fontSize),w=i.append("text");w.attr("x",a.x),w.attr("y",a.y),w.style("text-anchor",a.anchor),w.style("font-family",a.fontFamily),w.style("font-size",g),w.style("font-weight",a.fontWeight),w.attr("fill",a.fill),a.class!==void 0&&w.attr("class",a.class);const v=w.append("tspan");return v.attr("x",a.x+a.textMargin*2),v.attr("fill",a.fill),v.text(f),w},LFt=eD((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},f),ei.lineBreakRegex.test(i)))return i;const g=i.split(" "),w=[];let v="";return g.forEach((b,E)=>{const S=n4(`${b} `,f),_=n4(v,f);if(S>a){const{hyphenatedStrings:R,remainingWord:B}=yNe(b,a,"-",f);w.push(v,...R),v=B}else _+S>=a?(w.push(v),v=b):v=[v,b].filter(Boolean).join(" ");E+1===g.length&&w.push(v)}),w.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),yNe=eD((i,a,f="-",g)=>{g=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},g);const w=[...i],v=[];let b="";return w.forEach((E,S)=>{const _=`${b}${E}`;if(n4(_,g)>=a){const F=S+1,R=w.length===F,B=`${_}${f}`;v.push(R?_:B),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,a,f="-",g)=>`${i}${a}${f}${g.fontSize}${g.fontWeight}${g.fontFamily}`);function Tgt(i,a){return Cgt(i,a).height}function n4(i,a){return Cgt(i,a).width}const Cgt=eD((i,a)=>{const{fontSize:f=12,fontFamily:g="Arial",fontWeight:w=400}=a;if(!i)return{width:0,height:0};const[,v]=k9(f),b=["sans-serif",g],E=i.split(ei.lineBreakRegex),S=[],_=Tr("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const M=_.append("svg");for(const R of b){let B=0;const z={width:0,height:0,lineHeight:0};for(const Y of E){const nt=mNe();nt.text=Y||kFt;const ot=vNe(M,nt).style("font-size",v).style("font-weight",w).style("font-family",R),ft=(ot._groups||ot)[0][0].getBBox();if(ft.width===0&&ft.height===0)throw new Error("svg element not in render tree");z.width=Math.round(Math.max(z.width,ft.width)),B=Math.round(ft.height),z.height+=B,z.lineHeight=Math.round(Math.max(z.lineHeight,B))}S.push(z)}M.remove();const F=isNaN(S[1].height)||isNaN(S[1].width)||isNaN(S[1].lineHeight)||S[0].height>S[1].height&&S[0].width>S[1].width&&S[0].lineHeight>S[1].lineHeight?0:1;return S[F]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class xNe{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let lY;const kNe=function(i){return lY=lY||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),lY.innerHTML=i,unescape(lY.textContent)};function DFt(i){return"str"in i}const ENe=(i,a,f,g)=>{var v;if(!g)return;const w=(v=i.node())==null?void 0:v.getBBox();w&&i.append("text").text(g).attr("x",w.x+w.width/2).attr("y",-f).attr("class",a)},k9=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function MF(i,a){return uY({},i,a)}const uo={assignWithDepth:Ld,wrapLabel:LFt,calculateTextHeight:Tgt,calculateTextWidth:n4,calculateTextDimensions:Cgt,cleanAndMerge:MF,detectInit:cNe,detectDirective:EFt,isSubstringInArray:lNe,interpolateToCurve:Xw,calcLabelPosition:gNe,calcCardinalityPosition:pNe,calcTerminalLabelPosition:bNe,formatUrl:hNe,getStylesFromArray:C2,generateId:_Ft,random:AFt,runFunc:fNe,entityDecode:kNe,insertTitle:ENe,parseFontSize:k9,InitIDGenerator:xNe},TNe=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/#\w+;/g,function(f){const g=f.substring(1,f.length-1);return/^\+?\d+$/.test(g)?"fl°°"+g+"¶ß":"fl°"+g+"¶ß"}),a},IF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var MFt="comm",IFt="rule",OFt="decl",CNe="@import",SNe="@keyframes",_Ne=Math.abs,Sgt=String.fromCharCode;function NFt(i){return i.trim()}function _gt(i,a,f){return i.replace(a,f)}function ANe(i,a){return i.indexOf(a)}function OF(i,a){return i.charCodeAt(a)|0}function NF(i,a,f){return i.slice(a,f)}function b8(i){return i.length}function PFt(i){return i.length}function hY(i,a){return a.push(i),i}var fY=1,aD=1,FFt=0,Qw=0,a1=0,oD="";function Agt(i,a,f,g,w,v,b){return{value:i,root:a,parent:f,type:g,props:w,children:v,line:fY,column:aD,length:b,return:""}}function LNe(){return a1}function DNe(){return a1=Qw>0?OF(oD,--Qw):0,aD--,a1===10&&(aD=1,fY--),a1}function Kv(){return a1=Qw<FFt?OF(oD,Qw++):0,aD++,a1===10&&(aD=1,fY++),a1}function E9(){return OF(oD,Qw)}function dY(){return Qw}function gY(i,a){return NF(oD,i,a)}function Lgt(i){switch(i){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function MNe(i){return fY=aD=1,FFt=b8(oD=i),Qw=0,[]}function INe(i){return oD="",i}function Dgt(i){return NFt(gY(Qw-1,Mgt(i===91?i+2:i===40?i+1:i)))}function ONe(i){for(;(a1=E9())&&a1<33;)Kv();return Lgt(i)>2||Lgt(a1)>3?"":" "}function NNe(i,a){for(;--a&&Kv()&&!(a1<48||a1>102||a1>57&&a1<65||a1>70&&a1<97););return gY(i,dY()+(a<6&&E9()==32&&Kv()==32))}function Mgt(i){for(;Kv();)switch(a1){case i:return Qw;case 34:case 39:i!==34&&i!==39&&Mgt(a1);break;case 40:i===41&&Mgt(i);break;case 92:Kv();break}return Qw}function PNe(i,a){for(;Kv()&&i+a1!==47+10;)if(i+a1===42+42&&E9()===47)break;return"/*"+gY(a,Qw-1)+"*"+Sgt(i===47?i:Kv())}function FNe(i){for(;!Lgt(E9());)Kv();return gY(i,Qw)}function BNe(i){return INe(pY("",null,null,null,[""],i=MNe(i),0,[0],i))}function pY(i,a,f,g,w,v,b,E,S){for(var _=0,M=0,F=b,R=0,B=0,z=0,Y=1,nt=1,ot=1,ft=0,wt="",mt=w,ct=v,rt=g,it=wt;nt;)switch(z=ft,ft=Kv()){case 40:if(z!=108&&OF(it,F-1)==58){ANe(it+=_gt(Dgt(ft),"&","&\f"),"&\f")!=-1&&(ot=-1);break}case 34:case 39:case 91:it+=Dgt(ft);break;case 9:case 10:case 13:case 32:it+=ONe(z);break;case 92:it+=NNe(dY()-1,7);continue;case 47:switch(E9()){case 42:case 47:hY(RNe(PNe(Kv(),dY()),a,f),S);break;default:it+="/"}break;case 123*Y:E[_++]=b8(it)*ot;case 125*Y:case 59:case 0:switch(ft){case 0:case 125:nt=0;case 59+M:B>0&&b8(it)-F&&hY(B>32?RFt(it+";",g,f,F-1):RFt(_gt(it," ","")+";",g,f,F-2),S);break;case 59:it+=";";default:if(hY(rt=BFt(it,a,f,_,M,w,E,wt,mt=[],ct=[],F),v),ft===123)if(M===0)pY(it,a,rt,rt,mt,v,F,E,ct);else switch(R===99&&OF(it,3)===110?100:R){case 100:case 109:case 115:pY(i,rt,rt,g&&hY(BFt(i,rt,rt,0,0,w,E,wt,w,mt=[],F),ct),w,ct,F,E,g?mt:ct);break;default:pY(it,rt,rt,rt,[""],ct,0,E,ct)}}_=M=B=0,Y=ot=1,wt=it="",F=b;break;case 58:F=1+b8(it),B=z;default:if(Y<1){if(ft==123)--Y;else if(ft==125&&Y++==0&&DNe()==125)continue}switch(it+=Sgt(ft),ft*Y){case 38:ot=M>0?1:(it+="\f",-1);break;case 44:E[_++]=(b8(it)-1)*ot,ot=1;break;case 64:E9()===45&&(it+=Dgt(Kv())),R=E9(),M=F=b8(wt=it+=FNe(dY())),ft++;break;case 45:z===45&&b8(it)==2&&(Y=0)}}return v}function BFt(i,a,f,g,w,v,b,E,S,_,M){for(var F=w-1,R=w===0?v:[""],B=PFt(R),z=0,Y=0,nt=0;z<g;++z)for(var ot=0,ft=NF(i,F+1,F=_Ne(Y=b[z])),wt=i;ot<B;++ot)(wt=NFt(Y>0?R[ot]+" "+ft:_gt(ft,/&\f/g,R[ot])))&&(S[nt++]=wt);return Agt(i,a,f,w===0?IFt:E,S,_,M)}function RNe(i,a,f){return Agt(i,a,f,MFt,Sgt(LNe()),NF(i,2,-2),0)}function RFt(i,a,f,g){return Agt(i,a,f,OFt,NF(i,0,g),NF(i,g+1,-1),g)}function Igt(i,a){for(var f="",g=PFt(i),w=0;w<g;w++)f+=a(i[w],w,i,a)||"";return f}function jNe(i,a,f,g){switch(i.type){case CNe:case OFt:return i.return=i.return||i.value;case MFt:return"";case SNe:return i.return=i.value+"{"+Igt(i.children,g)+"}";case IFt:i.value=i.props.join(",")}return b8(f=Igt(i.children,g))?i.return=i.value+"{"+f+"}":""}const jFt="10.8.0",cD=Object.freeze(Bl);let ib=Ld({},cD),$Ft,uD=[],PF=Ld({},cD);const bY=(i,a)=>{let f=Ld({},i),g={};for(const w of a)HFt(w),g=Ld(g,w);if(f=Ld(f,g),g.theme&&g.theme in Lx){const w=Ld({},$Ft),v=Ld(w.themeVariables||{},g.themeVariables);f.theme&&f.theme in Lx&&(f.themeVariables=Lx[f.theme].getThemeVariables(v))}return PF=f,UFt(PF),PF},$Ne=i=>(ib=Ld({},cD),ib=Ld(ib,i),i.theme&&Lx[i.theme]&&(ib.themeVariables=Lx[i.theme].getThemeVariables(i.themeVariables)),bY(ib,uD),ib),zNe=i=>{$Ft=Ld({},i)},qNe=i=>(ib=Ld(ib,i),bY(ib,uD),ib),zFt=()=>Ld({},ib),qFt=i=>(UFt(i),Ld(PF,i),o1()),o1=()=>Ld({},PF),HFt=i=>{i&&(["secure",...ib.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Kt.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&HFt(i[a])}))},HNe=i=>{XW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),uD.push(i),bY(ib,uD)},wY=(i=ib)=>{uD=[],bY(i,uD)},VNe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},VFt={},UNe=i=>{VFt[i]||(Kt.warn(VNe[i]),VFt[i]=!0)},UFt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&UNe("LAZY_LOAD_DEPRECATED")},GFt="c4",GNe={id:GFt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uje);return{id:GFt,diagram:i}}},KFt="flowchart",KNe={id:KFt,detector:(i,a)=>{var f,g;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((g=a==null?void 0:a.flowchart)==null?void 0:g.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wWe);return{id:KFt,diagram:i}}},WFt="flowchart-v2",WNe={id:WFt,detector:(i,a)=>{var f,g,w;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((g=a==null?void 0:a.flowchart)==null?void 0:g.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((w=a==null?void 0:a.flowchart)==null?void 0:w.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mWe);return{id:WFt,diagram:i}}},YFt="er",YNe={id:YFt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>VWe);return{id:YFt,diagram:i}}},XFt="gitGraph",XNe={id:XFt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>bYe);return{id:XFt,diagram:i}}},QFt="gantt",QNe={id:QFt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sXe);return{id:QFt,diagram:i}}},JFt="info",JNe={id:JFt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>oXe);return{id:JFt,diagram:i}}},ZFt="pie",ZNe={id:ZFt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>dXe);return{id:ZFt,diagram:i}}},tBt="quadrantChart",tPe={id:tBt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>LXe);return{id:tBt,diagram:i}}},eBt="xychart",ePe={id:eBt,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ZXe);return{id:eBt,diagram:i}}},nBt="requirement",nPe={id:nBt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uQe);return{id:nBt,diagram:i}}},rBt="sequence",rPe={id:rBt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>fJe);return{id:rBt,diagram:i}}},iBt="class",iPe={id:iBt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>FJe);return{id:iBt,diagram:i}}},sBt="classDiagram",sPe={id:sBt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>qJe);return{id:sBt,diagram:i}}},aBt="state",aPe={id:aBt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>LZe);return{id:aBt,diagram:i}}},oBt="stateDiagram",oPe={id:oBt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>WZe);return{id:oBt,diagram:i}}},cBt="journey",cPe={id:cBt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>dtn);return{id:cBt,diagram:i}}},uPe=function(i,a){for(let f of a)i.attr(f[0],f[1])},lPe=function(i,a,f){let g=new Map;return f?(g.set("width","100%"),g.set("style",`max-width: ${a}px;`)):(g.set("height",i),g.set("width",a)),g},sg=function(i,a,f,g){const w=lPe(a,f,g);uPe(i,w)},w8=function(i,a,f,g){const w=a.node().getBBox(),v=w.width,b=w.height;Kt.info(`SVG bounds: ${v}x${b}`,w);let E=0,S=0;Kt.info(`Graph bounds: ${E}x${S}`,i),E=v+f*2,S=b+f*2,Kt.info(`Calculated bounds: ${E}x${S}`),sg(a,S,E,g);const _=`${w.x-f} ${w.y-f} ${w.width+2*f} ${w.height+2*f}`;a.attr("viewBox",_)},mY={},hPe=(i,a,f)=>{let g="";return i in mY&&mY[i]?g=mY[i](f):Kt.warn(`No theme found for ${i}`),` & {

58 `},fPe=(i,a)=>{a!==void 0&&(mY[i]=a)},dPe=hPe;let Ogt="",Ngt="",Pgt="";const Fgt=i=>Ef(i,o1()),ag=()=>{Ogt="",Pgt="",Ngt=""},og=i=>{Ogt=Fgt(i).replace(/^\s+/g,"")},Xg=()=>Ogt,Qg=i=>{Pgt=Fgt(i).replace(/\n\s+/g,`
59 `)},Jg=()=>Pgt,S2=i=>{Ngt=Fgt(i)},Zg=()=>Ngt,uBt=Object.freeze(Object.defineProperty({__proto__:null,clear:ag,getAccDescription:Jg,getAccTitle:Xg,getDiagramTitle:Zg,setAccDescription:Qg,setAccTitle:og,setDiagramTitle:S2},Symbol.toStringTag,{value:"Module"})),gPe=Kt,pPe=d0t,Re=o1,bPe=qFt,lBt=cD,wPe=i=>Ef(i,Re()),hBt=w8,mPe=()=>uBt,vY={},yY=(i,a,f)=>{var g;if(vY[i])throw new Error(`Diagram ${i} already registered.`);vY[i]=a,f&&GPt(i,f),fPe(i,a.styles),(g=a.injectUtils)==null||g.call(a,gPe,pPe,Re,wPe,hBt,mPe(),()=>{})},Bgt=i=>{if(i in vY)return vY[i];throw new vPe(i)};class vPe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const FF=i=>{var w;const{securityLevel:a}=Re();let f=Tr("body");if(a==="sandbox"){const b=((w=Tr(`#i${i}`).node())==null?void 0:w.contentDocument)??document;f=Tr(b.body)}return f.select(`#${i}`)},fBt={draw:(i,a,f)=>{Kt.debug(`rendering svg for syntax error
61 `;const g=o1();try{this.type=QW(a,g)}catch(v){this.type="error",this.detectError=v}const w=Bgt(this.type);Kt.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,g,w,v,b;if(this.detectError)throw this.detectError;(g=(f=this.db).clear)==null||g.call(f);const a=o1();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const _Pe=async(i,a={})=>{const f=QW(i,o1());try{Bgt(f)}catch{const w=DMe(f);if(!w)throw new VPt(`Diagram ${f} not found.`);const{id:v,diagram:b}=await w();yY(v,b)}return new vBt(i,a)};let yBt=[];const APe=()=>{yBt.forEach(i=>{i()}),yBt=[]};var LPe=sFt(Object.keys,Object);const DPe=LPe;var MPe=Object.prototype,IPe=MPe.hasOwnProperty;function xBt(i){if(!rY(i))return DPe(i);var a=[];for(var f in Object(i))IPe.call(i,f)&&f!="constructor"&&a.push(f);return a}var OPe=m9(Uv,"DataView");const jgt=OPe;var NPe=m9(Uv,"Promise");const $gt=NPe;var PPe=m9(Uv,"Set");const lD=PPe;var FPe=m9(Uv,"WeakMap");const zgt=FPe;var kBt="[object Map]",BPe="[object Object]",EBt="[object Promise]",TBt="[object Set]",CBt="[object WeakMap]",SBt="[object DataView]",RPe=w9(jgt),jPe=w9(_F),$Pe=w9($gt),zPe=w9(lD),qPe=w9(zgt),T9=b9;(jgt&&T9(new jgt(new ArrayBuffer(1)))!=SBt||_F&&T9(new _F)!=kBt||$gt&&T9($gt.resolve())!=EBt||lD&&T9(new lD)!=TBt||zgt&&T9(new zgt)!=CBt)&&(T9=function(i){var a=b9(i),f=a==BPe?i.constructor:void 0,g=f?w9(f):"";if(g)switch(g){case RPe:return SBt;case jPe:return kBt;case $Pe:return EBt;case zPe:return TBt;case qPe:return CBt}return a});const hD=T9;var HPe="[object Map]",VPe="[object Set]",UPe=Object.prototype,GPe=UPe.hasOwnProperty;function BF(i){if(i==null)return!0;if(p8(i)&&(s1(i)||typeof i=="string"||typeof i.splice=="function"||rD(i)||sY(i)||nD(i)))return!i.length;var a=hD(i);if(a==HPe||a==VPe)return!i.size;if(rY(i))return!xBt(i).length;for(var f in i)if(GPe.call(i,f))return!1;return!0}const KPe="graphics-document document";function WPe(i,a){i.attr("role",KPe),a!==""&&i.attr("aria-roledescription",a)}function YPe(i,a,f,g){if(i.insert!==void 0){if(f){const w=`chart-desc-${g}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${g}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const XPe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function _Bt(i){return typeof i>"u"||i===null}function QPe(i){return typeof i=="object"&&i!==null}function JPe(i){return Array.isArray(i)?i:_Bt(i)?[]:[i]}function ZPe(i,a){var f,g,w,v;if(a)for(v=Object.keys(a),f=0,g=v.length;f<g;f+=1)w=v[f],i[w]=a[w];return i}function tFe(i,a){var f="",g;for(g=0;g<a;g+=1)f+=i;return f}function eFe(i){return i===0&&Number.NEGATIVE_INFINITY===1/i}var nFe=_Bt,rFe=QPe,iFe=JPe,sFe=tFe,aFe=eFe,oFe=ZPe,tp={isNothing:nFe,isObject:rFe,toArray:iFe,repeat:sFe,isNegativeZero:aFe,extend:oFe};function ABt(i,a){var f="",g=i.reason||"(unknown reason)";return i.mark?(i.mark.name&&(f+='in "'+i.mark.name+'" '),f+="("+(i.mark.line+1)+":"+(i.mark.column+1)+")",!a&&i.mark.snippet&&(f+=`
85 </iframe>`},XBt=(i,a,f,g,w)=>{const v=i.append("div");v.attr("id",f),g&&v.attr("style",g);const b=v.append("svg").attr("id",a).attr("width","100%").attr("xmlns",WBe);return w&&b.attr("xmlns:xlink",w),b.append("g"),i};function QBt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const lRe=(i,a,f,g)=>{var w,v,b;(w=i.getElementById(a))==null||w.remove(),(v=i.getElementById(f))==null||v.remove(),(b=i.getElementById(g))==null||b.remove()},hRe=async function(i,a,f){var V,Ot,It,jt,xt,Ft;Rgt();const g=WBt(a);a=g.code;const w=o1();Kt.debug(w),a.length>((w==null?void 0:w.maxTextSize)??VBe)&&(a=UBe);const v="#"+i,b="i"+i,E="#"+b,S="d"+i,_="#"+S;let M=Tr("body");const F=w.securityLevel===GBe,R=w.securityLevel===KBe,B=w.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),F){const Ct=QBt(Tr(f),b);M=Tr(Ct.nodes()[0].contentDocument.body),M.node().style.margin=0}else M=Tr(f);XBt(M,i,S,`font-family: ${B}`,YBe)}else{if(lRe(document,i,S,b),F){const Ct=QBt(Tr("body"),b);M=Tr(Ct.nodes()[0].contentDocument.body),M.node().style.margin=0}else M=Tr("body");XBt(M,i,S)}let z,Y;try{z=await Ygt(a,{title:g.title})}catch(Ct){z=new vBt("error"),Y=Ct}const nt=M.select(_).node(),ot=z.type,ft=nt.firstChild,wt=ft.firstChild,mt=(Ot=(V=z.renderer).getClasses)==null?void 0:Ot.call(V,a,z),ct=oRe(w,ot,mt,v),rt=document.createElement("style");rt.innerHTML=ct,ft.insertBefore(rt,wt);try{await z.renderer.draw(a,i,jFt,z)}catch(Ct){throw yPe.draw(a,i,jFt),Ct}const it=M.select(`${_} svg`),gt=(jt=(It=z.db).getAccTitle)==null?void 0:jt.call(It),Q=(Ft=(xt=z.db).getAccDescription)==null?void 0:Ft.call(xt);dRe(ot,it,gt,Q),M.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",XBe);let dt=M.select(_).node().innerHTML;if(Kt.debug("config.arrowMarkerAbsolute",w.arrowMarkerAbsolute),dt=cRe(dt,F,j1(w.arrowMarkerAbsolute)),F){const Ct=M.select(_+" svg").node();dt=uRe(dt,Ct)}else R||(dt=QL.sanitize(dt,{ADD_TAGS:rRe,ADD_ATTR:iRe}));if(APe(),Y)throw Y;const yt=Tr(F?E:_).node();return yt&&"remove"in yt&&yt.remove(),{svg:dt,bindFunctions:z.db.bindFunctions}};function fRe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),zNe(i),i!=null&&i.theme&&i.theme in Lx?i.themeVariables=Lx[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=Lx.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?$Ne(i):zFt();d0t(a.logLevel),Rgt()}const Ygt=(i,a={})=>{const{code:f}=KBt(i);return _Pe(f,a)};function dRe(i,a,f,g){WPe(a,i),YPe(a,f,g,a.attr("id"))}const S9=Object.freeze({render:hRe,parse:sRe,getDiagramFromText:Ygt,initialize:fRe,getConfig:o1,setConfig:qFt,getSiteConfig:zFt,updateSiteConfig:qNe,reset:()=>{wY()},globalReset:()=>{wY(cD)},defaultConfig:cD});d0t(o1().logLevel),wY(o1());const gRe=async()=>{Kt.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(JL).map(async([f,{detector:g,loader:w}])=>{if(w)try{Bgt(f)}catch{try{const{diagram:b,id:E}=await w();yY(E,b,g)}catch(b){throw Kt.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete JL[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Kt.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Kt.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},pRe=(i,a,f)=>{Kt.warn(i),DFt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},JBt=async function(i={querySelector:".mermaid"}){try{await bRe(i)}catch(a){if(DFt(a)&&Kt.error(a.str),_2.parseError&&_2.parseError(a),!i.suppressErrors)throw Kt.error("Use the suppressErrors option to suppress these errors"),a}},bRe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const g=S9.getConfig();Kt.debug(`${i?"":"No "}Callback function found`);let w;if(f)w=f;else if(a)w=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Kt.debug(`Found ${w.length} diagrams`),(g==null?void 0:g.startOnLoad)!==void 0&&(Kt.debug("Start On Load: "+(g==null?void 0:g.startOnLoad)),S9.updateSiteConfig({startOnLoad:g==null?void 0:g.startOnLoad}));const v=new uo.InitIDGenerator(g.deterministicIds,g.deterministicIDSeed);let b;const E=[];for(const S of Array.from(w)){Kt.info("Rendering diagram: "+S.id);/*! Check if previously processed */if(S.getAttribute("data-processed"))continue;S.setAttribute("data-processed","true");const _=`mermaid-${v.next()}`;b=S.innerHTML,b=BL(uo.entityDecode(b)).trim().replace(/<br\s*\/?>/gi,"<br/>");const M=uo.detectInit(b);M&&Kt.debug("Detected early reinit: ",M);try{const{svg:F,bindFunctions:R}=await nRt(_,b,S);S.innerHTML=F,i&&await i(_),R&&R(S)}catch(F){pRe(F,E,_2.parseError)}}if(E.length>0)throw E[0]},ZBt=function(i){S9.initialize(i)},wRe=async function(i,a,f){Kt.warn("mermaid.init is deprecated. Please use run instead."),i&&ZBt(i);const g={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?g.querySelector=a:a&&(a instanceof HTMLElement?g.nodes=[a]:g.nodes=a),await JBt(g)},mRe=async(i,{lazyLoad:a=!0}={})=>{UPt(...i),a===!1&&await gRe()},tRt=function(){if(_2.startOnLoad){const{startOnLoad:i}=S9.getConfig();i&&_2.run().catch(a=>Kt.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*!
652 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var xt=this.next();return xt||this.lex()},begin:function(xt){this.conditionStack.push(xt)},popState:function(){var xt=this.conditionStack.length-1;return xt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(xt){return xt=this.conditionStack.length-1-Math.abs(xt||0),xt>=0?this.conditionStack[xt]:"INITIAL"},pushState:function(xt){this.begin(xt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(xt,Ft,Ct,kt){switch(Ct){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return It}();yt.lexer=V;function Ot(){this.yy={}}return Ot.prototype=yt,yt.Parser=Ot,new Ot}();Sbt.parser=Sbt;const DXe=Sbt;function Kzt(i){return i.type==="bar"}function Wzt(i){return i.type==="band"}function lB(i){return i.type==="linear"}class Yzt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((v,b)=>Math.max(b.length,v),0)*f,height:f};const g={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const v of a){const b=AKe(w,1,v),E=b?b.width:v.length*f,S=b?b.height:f;g.width=Math.max(g.width,E),g.height=Math.max(g.height,S)}return w.remove(),g}}const Xzt=.7,Qzt=.2;class Jzt{constructor(a,f,g,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=g,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Xzt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Xzt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.width;this.outerPadding=Math.min(g.width/2,w);const v=g.height+this.axisConfig.labelPadding*2;this.labelTextHeight=g.height,v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.height;this.outerPadding=Math.min(g.height/2,w);const v=g.width+this.axisConfig.labelPadding*2;v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${f},${this.getScaleValue(g)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(g)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f} L ${this.getScaleValue(g)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(g)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class MXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.categories=g,this.scale=V0t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=V0t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Kt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class IXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.domain=g,this.scale=VL().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=VL().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function Zzt(i,a,f,g){const w=new Yzt(g);return Wzt(i)?new MXe(a,f,i.categories,i.title,w):new IXe(a,f,[i.min,i.max],i.title,w)}class OXe{constructor(a,f,g,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=g,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),g=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=g&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=g,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function NXe(i,a,f,g){const w=new Yzt(g);return new OXe(w,i,a,f)}class PXe{constructor(a,f,g,w,v){this.plotData=a,this.xAxis=f,this.yAxis=g,this.orientation=w,this.plotIndex=v}getDrawableElement(){const a=this.plotData.data.map(g=>[this.xAxis.getScaleValue(g[0]),this.yAxis.getScaleValue(g[1])]);let f;return this.orientation==="horizontal"?f=Ax().y(g=>g[0]).x(g=>g[1])(a):f=Ax().x(g=>g[0]).y(g=>g[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class FXe{constructor(a,f,g,w,v,b){this.barData=a,this.boundingRect=f,this.xAxis=g,this.yAxis=w,this.orientation=v,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),f=.05,g=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=g/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:this.boundingRect.x,y:v[0]-w,height:g,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:v[0]-w,y:v[1],width:g,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class BXe{constructor(a,f,g){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=g,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,g]of this.chartData.plots.entries())switch(g.type){case"line":{const w=new PXe(g,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new FXe(g,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function RXe(i,a,f){return new BXe(i,a,f)}class jXe{constructor(a,f,g,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:NXe(a,f,g,w),plot:RXe(a,f,g),xAxis:Zzt(f.xAxis,a.xAxis,{titleColor:g.xAxisTitleColor,labelColor:g.xAxisLabelColor,tickColor:g.xAxisTickColor,axisLineColor:g.xAxisLineColor},w),yAxis:Zzt(f.yAxis,a.yAxis,{titleColor:g.yAxisTitleColor,labelColor:g.yAxisLabelColor,tickColor:g.yAxisTickColor,axisLineColor:g.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:v,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),g=E.width,a-=E.width,a>0&&(v+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:g,y:w}),this.componentStore.xAxis.setRange([g,g+v]),this.componentStore.xAxis.setBoundingBoxXY({x:g,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(S=>Kzt(S))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),S=this.componentStore.plot.calculateSpace({width:b,height:E});a-=S.width,f-=S.height,S=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),g=S.height,f-=S.height,this.componentStore.xAxis.setAxisPosition("left"),S=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=S.width,w=S.width,this.componentStore.yAxis.setAxisPosition("top"),S=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=S.height,v=g+S.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:v}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:g}),this.componentStore.xAxis.setRange([v,v+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>Kzt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class $Xe{static build(a,f,g,w){return new jXe(a,f,g,w).getDrawableElement()}}let hB=0,tqt,fB=nqt(),dB=eqt(),Pu=rqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1;function eqt(){const i=dgt(),a=o1();return MF(i.xyChart,a.themeVariables.xyChart)}function nqt(){const i=o1();return MF(Bl.xyChart,i.xyChart)}function rqt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Lbt(i){const a=o1();return Ef(i.trim(),a)}function zXe(i){tqt=i}function qXe(i){i==="horizontal"?fB.chartOrientation="horizontal":fB.chartOrientation="vertical"}function HXe(i){Pu.xAxis.title=Lbt(i.text)}function iqt(i,a){Pu.xAxis={type:"linear",title:Pu.xAxis.title,min:i,max:a},pX=!0}function VXe(i){Pu.xAxis={type:"band",title:Pu.xAxis.title,categories:i.map(a=>Lbt(a.text))},pX=!0}function UXe(i){Pu.yAxis.title=Lbt(i.text)}function GXe(i,a){Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:i,max:a},Abt=!0}function KXe(i){const a=Math.min(...i),f=Math.max(...i),g=lB(Pu.yAxis)?Pu.yAxis.min:1/0,w=lB(Pu.yAxis)?Pu.yAxis.max:-1/0;Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:Math.min(g,a),max:Math.max(w,f)}}function sqt(i){let a=[];if(i.length===0)return a;if(!pX){const f=lB(Pu.xAxis)?Pu.xAxis.min:1/0,g=lB(Pu.xAxis)?Pu.xAxis.max:-1/0;iqt(Math.min(f,1),Math.max(g,i.length))}if(Abt||KXe(i),Wzt(Pu.xAxis)&&(a=Pu.xAxis.categories.map((f,g)=>[f,i[g]])),lB(Pu.xAxis)){const f=Pu.xAxis.min,g=Pu.xAxis.max,w=(g-f+1)/i.length,v=[];for(let b=f;b<=g;b+=w)v.push(`${b}`);a=v.map((b,E)=>[b,i[E]])}return a}function aqt(i){return _bt[i===0?0:i%_bt.length]}function WXe(i,a){const f=sqt(a);Pu.plots.push({type:"line",strokeFill:aqt(hB),strokeWidth:2,data:f}),hB++}function YXe(i,a){const f=sqt(a);Pu.plots.push({type:"bar",fill:aqt(hB),data:f}),hB++}function XXe(){if(Pu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Pu.title=Zg(),$Xe.build(fB,Pu,dB,tqt)}function QXe(){return dB}function JXe(){return fB}const ZXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:DXe,db:{getDrawableElem:XXe,clear:function(){ag(),hB=0,fB=nqt(),Pu=rqt(),dB=eqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1},setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,getAccDescription:Jg,setAccDescription:Qg,setOrientation:qXe,setXAxisTitle:HXe,setXAxisRangeData:iqt,setXAxisBand:VXe,setYAxisTitle:UXe,setYAxisRangeData:GXe,setLineData:WXe,setBarData:YXe,setTmpSVGG:zXe,getChartThemeConfig:QXe,getChartConfig:JXe},renderer:{draw:(i,a,f,g)=>{const w=g.db,v=w.getChartThemeConfig(),b=w.getChartConfig();function E(nt){return nt==="top"?"text-before-edge":"middle"}function S(nt){return nt==="left"?"start":nt==="right"?"end":"middle"}function _(nt){return`translate(${nt.x}, ${nt.y}) rotate(${nt.rotation||0})`}Kt.debug(`Rendering xychart chart
1355 ... Falling back to non-web worker version.`);if(!B.workerFactory){var nt=f("./elk-worker.min.js"),ot=nt.Worker;B.workerFactory=function(ft){return new ot(ft)}}return b(this,(F.__proto__||Object.getPrototypeOf(F)).call(this,B))}return F}(S);Object.defineProperty(g.exports,"__esModule",{value:!0}),g.exports=_,_.default=_},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(f,g,w){g.exports=Worker},{}]},{},[3])(3)})})(THt);var ptn=THt.exports;const btn=e9(ptn),CHt=new btn;let nm={};const wtn={};let Ux={};const mtn=async function(i,a,f,g,w,v,b){const S=f.select(`[id="${a}"]`).insert("g").attr("class","nodes"),_=Object.keys(i);return await Promise.all(_.map(async function(M){const F=i[M];let R="default";F.classes.length>0&&(R=F.classes.join(" ")),R=R+" flowchart-label";const B=C2(F.styles);let z=F.text!==void 0?F.text:F.id;const Y={width:0,height:0},nt=[{id:F.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:F.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:F.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:F.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let ot=0,ft="",wt={};switch(F.type){case"round":ot=5,ft="rect";break;case"square":ft="rect";break;case"diamond":ft="question",wt={portConstraints:"FIXED_SIDE"};break;case"hexagon":ft="hexagon";break;case"odd":ft="rect_left_inv_arrow";break;case"lean_right":ft="lean_right";break;case"lean_left":ft="lean_left";break;case"trapezoid":ft="trapezoid";break;case"inv_trapezoid":ft="inv_trapezoid";break;case"odd_right":ft="rect_left_inv_arrow";break;case"circle":ft="circle";break;case"ellipse":ft="ellipse";break;case"stadium":ft="stadium";break;case"subroutine":ft="subroutine";break;case"cylinder":ft="cylinder";break;case"group":ft="rect";break;case"doublecircle":ft="doublecircle";break;default:ft="rect"}const mt={labelStyle:B.labelStyle,shape:ft,labelText:z,labelType:F.labelType,rx:ot,ry:ot,class:R,style:B.style,id:F.id,link:F.link,linkTarget:F.linkTarget,tooltip:w.db.getTooltip(F.id)||"",domId:w.db.lookUpDomId(F.id),haveCallback:F.haveCallback,width:F.type==="group"?500:void 0,dir:F.dir,type:F.type,props:F.props,padding:o1().flowchart.padding};let ct,rt;if(mt.type!=="group")rt=await nX(S,mt,F.dir),ct=rt.node().getBBox();else{g.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:gt,bbox:Q}=await $1(S,mt,void 0,!0);Y.width=Q.width,Y.wrappingWidth=o1().flowchart.wrappingWidth,Y.height=Q.height,Y.labelNode=gt.node(),mt.labelData=Y}const it={id:F.id,ports:F.type==="diamond"?nt:[],layoutOptions:wt,labelText:z,labelData:Y,domId:w.db.lookUpDomId(F.id),width:ct==null?void 0:ct.width,height:ct==null?void 0:ct.height,type:F.type,el:rt,parent:v.parentById[F.id]};Ux[mt.id]=it})),b},SHt=(i,a,f)=>{const g={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return g.TD=g.TB,g[f][a][i]},_Ht=(i,a,f)=>{if(Kt.info("getNextPort",{node:i,edgeDirection:a,graphDirection:f}),!nm[i])switch(f){case"TB":case"TD":nm[i]={inPosition:"north",outPosition:"south"};break;case"BT":nm[i]={inPosition:"south",outPosition:"north"};break;case"RL":nm[i]={inPosition:"east",outPosition:"west"};break;case"LR":nm[i]={inPosition:"west",outPosition:"east"};break}const g=a==="in"?nm[i].inPosition:nm[i].outPosition;return a==="in"?nm[i].inPosition=SHt(nm[i].inPosition,a,f):nm[i].outPosition=SHt(nm[i].outPosition,a,f),g},vtn=(i,a)=>{let f=i.start,g=i.end;const w=f,v=g,b=Ux[f],E=Ux[g];return!b||!E?{source:f,target:g}:(b.type==="diamond"&&(f=`${f}-${_Ht(f,"out",a)}`),E.type==="diamond"&&(g=`${g}-${_Ht(g,"in",a)}`),{source:f,target:g,sourceId:w,targetId:v})},ytn=function(i,a,f,g){Kt.info("abc78 edges = ",i);const w=g.insert("g").attr("class","edgeLabels");let v={},b=a.db.getDirection(),E,S;if(i.defaultStyle!==void 0){const _=C2(i.defaultStyle);E=_.style,S=_.labelStyle}return i.forEach(function(_){const M="L-"+_.start+"-"+_.end;v[M]===void 0?(v[M]=0,Kt.info("abc78 new entry",M,v[M])):(v[M]++,Kt.info("abc78 new entry",M,v[M]));let F=M+"-"+v[M];Kt.info("abc78 new link id to be used is",M,F,v[M]);const R="LS-"+_.start,B="LE-"+_.end,z={style:"",labelStyle:""};switch(z.minlen=_.length||1,_.type==="arrow_open"?z.arrowhead="none":z.arrowhead="normal",z.arrowTypeStart="arrow_open",z.arrowTypeEnd="arrow_open",_.type){case"double_arrow_cross":z.arrowTypeStart="arrow_cross";case"arrow_cross":z.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":z.arrowTypeStart="arrow_point";case"arrow_point":z.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":z.arrowTypeStart="arrow_circle";case"arrow_circle":z.arrowTypeEnd="arrow_circle";break}let Y="",nt="";switch(_.stroke){case"normal":Y="fill:none;",E!==void 0&&(Y=E),S!==void 0&&(nt=S),z.thickness="normal",z.pattern="solid";break;case"dotted":z.thickness="normal",z.pattern="dotted",z.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":z.thickness="thick",z.pattern="solid",z.style="stroke-width: 3.5px;fill:none;";break}if(_.style!==void 0){const rt=C2(_.style);Y=rt.style,nt=rt.labelStyle}z.style=z.style+=Y,z.labelStyle=z.labelStyle+=nt,_.interpolate!==void 0?z.curve=Xw(_.interpolate,Kg):i.defaultInterpolate!==void 0?z.curve=Xw(i.defaultInterpolate,Kg):z.curve=Xw(wtn.curve,Kg),_.text===void 0?_.style!==void 0&&(z.arrowheadStyle="fill: #333"):(z.arrowheadStyle="fill: #333",z.labelpos="c"),z.labelType=_.labelType,z.label=_.text.replace(ei.lineBreakRegex,`
1356 `),_.style===void 0&&(z.style=z.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),z.labelStyle=z.labelStyle.replace("color:","fill:"),z.id=F,z.classes="flowchart-link "+R+" "+B;const ot=tbt(w,z),{source:ft,target:wt,sourceId:mt,targetId:ct}=vtn(_,b);Kt.debug("abc78 source and target",ft,wt),f.edges.push({id:"e"+_.start+_.end,sources:[ft],targets:[wt],sourceId:mt,targetId:ct,labelEl:ot,labels:[{width:z.width,height:z.height,orgWidth:z.width,orgHeight:z.height,text:z.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:z})}),f},xtn=function(i,a,f,g,w){let v="";g&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),uzt(i,a,v,w,f)},ktn=function(i,a){return Kt.info("Extracting classes"),a.db.getClasses()},Etn=function(i){const a={parentById:{},childrenById:{}},f=i.getSubGraphs();return Kt.info("Subgraphs - ",f),f.forEach(function(g){g.nodes.forEach(function(w){a.parentById[w]=g.id,a.childrenById[g.id]===void 0&&(a.childrenById[g.id]=[]),a.childrenById[g.id].push(w)})}),f.forEach(function(g){g.id,a.parentById[g.id]!==void 0&&a.parentById[g.id]}),a},Ttn=function(i,a,f){const g=gtn(i,a,f);if(g===void 0||g==="root")return{x:0,y:0};const w=Ux[g].offset;return{x:w.posX,y:w.posY}},Ctn=function(i,a,f,g,w,v){const b=Ttn(a.sourceId,a.targetId,w),E=a.sections[0].startPoint,S=a.sections[0].endPoint,M=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(wt=>[wt.x+b.x,wt.y+b.y]),F=[[E.x+b.x,E.y+b.y],...M,[S.x+b.x,S.y+b.y]],{x:R,y:B}=czt(a.edgeData),z=Ax().x(R).y(B).curve(Kg),Y=i.insert("path").attr("d",z(F)).attr("class","path "+f.classes).attr("fill","none"),nt=i.insert("g").attr("class","edgeLabel"),ot=Tr(nt.node().appendChild(a.labelEl)),ft=ot.node().firstChild.getBoundingClientRect();ot.attr("width",ft.width),ot.attr("height",ft.height),nt.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),xtn(Y,f,g.type,g.arrowMarkerAbsolute,v)},AHt=(i,a)=>{i.forEach(f=>{f.children||(f.children=[]);const g=a.childrenById[f.id];g&&g.forEach(w=>{f.children.push(Ux[w])}),AHt(f.children,a)})},Stn=async function(i,a,f,g){var it;g.db.clear(),Ux={},nm={},g.db.setGen("gen-2"),g.parser.parse(i);const w=Tr("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Kt.info("Drawing flowchart using v3 renderer",CHt),g.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:E,flowchart:S}=o1();let _;E==="sandbox"&&(_=Tr("#i"+a));const M=Tr(E==="sandbox"?_.nodes()[0].contentDocument.body:"body"),F=E==="sandbox"?_.nodes()[0].contentDocument:document,R=M.select(`[id="${a}"]`);jpt(R,["point","circle","cross"],g.type,a);const z=g.db.getVertices();let Y;const nt=g.db.getSubGraphs();Kt.info("Subgraphs - ",nt);for(let gt=nt.length-1;gt>=0;gt--)Y=nt[gt],g.db.addVertex(Y.id,{text:Y.title,type:Y.labelType},"group",void 0,Y.classes,Y.dir);const ot=R.insert("g").attr("class","subgraphs"),ft=Etn(g.db);v=await mtn(z,a,M,F,g,ft,v);const wt=R.insert("g").attr("class","edges edgePath"),mt=g.db.getEdges();v=ytn(mt,g,v,R),Object.keys(Ux).forEach(gt=>{const Q=Ux[gt];Q.parent||v.children.push(Q),ft.childrenById[gt]!==void 0&&(Q.labels=[{text:Q.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:Q.labelData.width,height:Q.labelData.height}],delete Q.x,delete Q.y,delete Q.width,delete Q.height)}),AHt(v.children,ft),Kt.info("after layout",JSON.stringify(v,null,2));const rt=await CHt.layout(v);LHt(0,0,rt.children,R,ot,g,0),Kt.info("after layout",rt),(it=rt.edges)==null||it.map(gt=>{Ctn(wt,gt,gt.edgeData,g,ft,a)}),w8({},R,S.diagramPadding,S.useMaxWidth),w.remove()},LHt=(i,a,f,g,w,v,b)=>{f.forEach(function(E){if(E)if(Ux[E.id].offset={posX:E.x+i,posY:E.y+a,x:i,y:a,depth:b,width:E.width,height:E.height},E.type==="group"){const S=w.insert("g").attr("class","subgraph");S.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",E.x+i).attr("y",E.y+a).attr("width",E.width).attr("height",E.height);const _=S.insert("g").attr("class","label"),M=o1().flowchart.htmlLabels?E.labelData.width/2:0;_.attr("transform",`translate(${E.labels[0].x+i+E.x+M}, ${E.labels[0].y+a+E.y+3})`),_.node().appendChild(E.labelData.labelNode),Kt.info("Id (UGH)= ",E.type,E.labels)}else Kt.info("Id (UGH)= ",E.id),E.el.attr("transform",`translate(${E.x+i+E.width/2}, ${E.y+a+E.height/2})`)}),f.forEach(function(E){E&&E.type==="group"&&LHt(i+E.x,a+E.y,E.children,g,w,v,b+1)})},_tn={getClasses:ktn,draw:Stn},Atn=i=>{let a="";for(let f=0;f<5;f++)a+=`
1648 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ct=this.next();return ct||this.lex()},begin:function(ct){this.conditionStack.push(ct)},popState:function(){var ct=this.conditionStack.length-1;return ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ct){return ct=this.conditionStack.length-1-Math.abs(ct||0),ct>=0?this.conditionStack[ct]:"INITIAL"},pushState:function(ct){this.begin(ct)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ct,rt,it,gt){switch(it){case 0:return 10;case 1:return ct.getLogger().debug("Found space-block"),31;case 2:return ct.getLogger().debug("Found nl-block"),31;case 3:return ct.getLogger().debug("Found space-block"),29;case 4:ct.getLogger().debug(".",rt.yytext);break;case 5:ct.getLogger().debug("_",rt.yytext);break;case 6:return 5;case 7:return rt.yytext=-1,28;case 8:return rt.yytext=rt.yytext.replace(/columns\s+/,""),ct.getLogger().debug("COLUMNS (LEX)",rt.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:ct.getLogger().debug("LEX: POPPING STR:",rt.yytext),this.popState();break;case 14:return ct.getLogger().debug("LEX: STR end:",rt.yytext),"STR";case 15:return rt.yytext=rt.yytext.replace(/space\:/,""),ct.getLogger().debug("SPACE NUM (LEX)",rt.yytext),21;case 16:return rt.yytext="1",ct.getLogger().debug("COLUMNS (LEX)",rt.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),ct.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),ct.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),ct.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),ct.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),ct.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),ct.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),ct.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),ct.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),ct.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),ct.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),ct.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),ct.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return ct.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return ct.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return ct.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return ct.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return ct.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return ct.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return ct.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),ct.getLogger().debug("LEX ARR START"),38;case 75:return ct.getLogger().debug("Lex: NODE_ID",rt.yytext),32;case 76:return ct.getLogger().debug("Lex: EOF",rt.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:ct.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:ct.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return ct.getLogger().debug("LEX: NODE_DESCR:",rt.yytext),"NODE_DESCR";case 84:ct.getLogger().debug("LEX POPPING"),this.popState();break;case 85:ct.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (right): dir:",rt.yytext),"DIR";case 87:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (left):",rt.yytext),"DIR";case 88:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (x):",rt.yytext),"DIR";case 89:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (y):",rt.yytext),"DIR";case 90:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (up):",rt.yytext),"DIR";case 91:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (down):",rt.yytext),"DIR";case 92:return rt.yytext="]>",ct.getLogger().debug("Lex (ARROW_DIR end):",rt.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return ct.getLogger().debug("Lex: LINK","#"+rt.yytext+"#"),15;case 94:return ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 95:return ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 96:return ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 97:return ct.getLogger().debug("Lex: START_LINK",rt.yytext),this.pushState("LLABEL"),16;case 98:return ct.getLogger().debug("Lex: START_LINK",rt.yytext),this.pushState("LLABEL"),16;case 99:return ct.getLogger().debug("Lex: START_LINK",rt.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return ct.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),ct.getLogger().debug("Lex: LINK","#"+rt.yytext+"#"),15;case 103:return this.popState(),ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 104:return this.popState(),ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 105:return ct.getLogger().debug("Lex: COLON",rt.yytext),rt.yytext=rt.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return wt}();nt.lexer=ot;function ft(){this.yy={}}return ft.prototype=nt,nt.Parser=ft,new ft}();E2t.parser=E2t;const Zen=E2t;let lb={},T2t=[],AB={};const lVt="color",hVt="fill",tnn="bgFill",fVt=",";let LB={};const enn=function(i,a=""){LB[i]===void 0&&(LB[i]={id:i,styles:[],textStyles:[]});const f=LB[i];a!=null&&a.split(fVt).forEach(g=>{const w=g.replace(/([^;]*);/,"$1").trim();if(g.match(lVt)){const b=w.replace(hVt,tnn).replace(lVt,hVt);f.textStyles.push(b)}f.styles.push(w)})},nnn=function(i,a=""){const f=lb[i];a!=null&&(f.styles=a.split(fVt))},rnn=function(i,a){i.split(",").forEach(function(f){let g=lb[f];if(g===void 0){const w=f.trim();lb[w]={id:w,type:"na",children:[]},g=lb[w]}g.classes||(g.classes=[]),g.classes.push(a)})},dVt=(i,a)=>{const f=i.flat(),g=[];for(const w of f){if(w.type==="classDef"){enn(w.id,w.css);continue}if(w.type==="applyClass"){rnn(w.id,(w==null?void 0:w.styleClass)||"");continue}if(w.type==="applyStyles"){w!=null&&w.stylesStr&&nnn(w.id,w==null?void 0:w.stylesStr);continue}if(w.type==="column-setting")a.columns=w.columns||-1;else if(w.type==="edge")AB[w.id]?AB[w.id]++:AB[w.id]=1,w.id=AB[w.id]+"-"+w.id,T2t.push(w);else{w.label||(w.type==="composite"?w.label="":w.label=w.id);const v=!lb[w.id];if(v?lb[w.id]=w:(w.type!=="na"&&(lb[w.id].type=w.type),w.label!==w.id&&(lb[w.id].label=w.label)),w.children&&dVt(w.children,w),w.type==="space"){const b=w.width||1;for(let E=0;E<b;E++){const S=fjt(w);S.id=S.id+"-"+E,lb[S.id]=S,g.push(S)}}else v&&g.push(w)}}a.children=g};let C2t=[],DB={id:"root",type:"composite",children:[],columns:-1};const inn=()=>{Kt.debug("Clear called"),ag(),DB={id:"root",type:"composite",children:[],columns:-1},lb={root:DB},C2t=[],LB={},T2t=[],AB={}};function snn(i){switch(Kt.debug("typeStr2Type",i),i){case"[]":return"square";case"()":return Kt.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function ann(i){switch(Kt.debug("typeStr2Type",i),i){case"==":return"thick";default:return"normal"}}function onn(i){switch(i.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let gVt=0;const cnn={getConfig:()=>o1().block,typeStr2Type:snn,edgeTypeStr2Type:ann,edgeStrToEdgeData:onn,getLogger:()=>console,getBlocksFlat:()=>[...Object.values(lb)],getBlocks:()=>C2t||[],getEdges:()=>T2t,setHierarchy:i=>{DB.children=i,dVt(i,DB),C2t=DB.children},getBlock:i=>lb[i],setBlock:i=>{lb[i.id]=i},getColumns:i=>{const a=lb[i];return a?a.columns?a.columns:a.children?a.children.length:-1:-1},getClasses:function(){return LB},clear:inn,generateId:()=>(gVt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+gVt)},jX=(i,a)=>{const f=jPt,g=f(i,"r"),w=f(i,"g"),v=f(i,"b");return g9(g,w,v,a)},unn=i=>`.label {
1760 `;function pVt(i,a,f=!1){var R,B,z;const g=i;let w="default";(((R=g==null?void 0:g.classes)==null?void 0:R.length)||0)>0&&(w=((g==null?void 0:g.classes)||[]).join(" ")),w=w+" flowchart-label";let v=0,b="",E;switch(g.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",E=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const S=C2((g==null?void 0:g.styles)||[]),_=g.label,M=g.size||{width:0,height:0,x:0,y:0};return{labelStyle:S.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:w,style:S.style,id:g.id,directions:g.directions,width:M.width,height:M.height,x:M.x,y:M.y,positioned:f,intersect:void 0,type:g.type,padding:E??(((z=(B=o1())==null?void 0:B.block)==null?void 0:z.padding)||0)}}async function lnn(i,a,f){const g=pVt(a,f,!1);if(g.type==="group")return;const w=await nX(i,g),v=w.node().getBBox(),b=f.getBlock(g.id);b.size={width:v.width,height:v.height,x:0,y:0,node:w},f.setBlock(b),w.remove()}async function hnn(i,a,f){const g=pVt(a,f,!0);f.getBlock(g.id).type!=="space"&&(await nX(i,g),a.intersect=g==null?void 0:g.intersect,Zpt(g))}async function S2t(i,a,f,g){for(const w of a)await g(i,w,f),w.children&&await S2t(i,w.children,f,g)}async function fnn(i,a,f){await S2t(i,a,f,lnn)}async function dnn(i,a,f){await S2t(i,a,f,hnn)}async function gnn(i,a,f,g,w){const v=new l1({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of f)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of a)if(b.start&&b.end){const E=g.getBlock(b.start),S=g.getBlock(b.end);if(E!=null&&E.size&&(S!=null&&S.size)){const _=E.size,M=S.size,F=[{x:_.x,y:_.y},{x:_.x+(M.x-_.x)/2,y:_.y+(M.y-_.y)/2},{x:M.x,y:M.y}];await dzt(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:F,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,w),b.label&&(await tbt(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:F,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await hzt({...b,x:F[1].x,y:F[1].y},{originalPath:F}))}}}const Af=((vVt=(mVt=Re())==null?void 0:mVt.block)==null?void 0:vVt.padding)||8;function pnn(i,a){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(i<0)return{px:a,py:0};if(i===1)return{px:0,py:a};const f=a%i,g=Math.floor(a/i);return{px:f,py:g}}const bnn=i=>{let a=0,f=0;for(const g of i.children){const{width:w,height:v,x:b,y:E}=g.size||{width:0,height:0,x:0,y:0};Kt.debug("getMaxChildSize abc95 child:",g.id,"width:",w,"height:",v,"x:",b,"y:",E,g.type),g.type!=="space"&&(w>a&&(a=w/(i.widthInColumns||1)),v>f&&(f=v))}return{width:a,height:f}};function _2t(i,a,f=0,g=0){var b,E,S,_,M,F,R,B,z,Y,nt;Kt.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",f),(E=i==null?void 0:i.size)!=null&&E.width||(i.size={width:f,height:g,x:0,y:0});let w=0,v=0;if(((S=i.children)==null?void 0:S.length)>0){for(const gt of i.children)_2t(gt,a);const ot=bnn(i);w=ot.width,v=ot.height,Kt.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",w,v);for(const gt of i.children)gt.size&&(Kt.debug(`abc95 Setting size of children of ${i.id} id=${gt.id} ${w} ${v} ${gt.size}`),gt.size.width=w*(gt.widthInColumns||1)+Af*((gt.widthInColumns||1)-1),gt.size.height=v,gt.size.x=0,gt.size.y=0,Kt.debug(`abc95 updating size of ${i.id} children child:${gt.id} maxWidth:${w} maxHeight:${v}`));for(const gt of i.children)_2t(gt,a,w,v);const ft=i.columns||-1;let wt=0;for(const gt of i.children)wt+=gt.widthInColumns||1;let mt=i.children.length;ft>0&&ft<wt&&(mt=ft),i.widthInColumns;const ct=Math.ceil(wt/mt);let rt=mt*(w+Af)+Af,it=ct*(v+Af)+Af;if(rt<f){Kt.debug(`Detected to small siebling: abc95 ${i.id} sieblingWidth ${f} sieblingHeight ${g} width ${rt}`),rt=f,it=g;const gt=(f-mt*Af-Af)/mt,Q=(g-ct*Af-Af)/ct;Kt.debug("Size indata abc88",i.id,"childWidth",gt,"maxWidth",w),Kt.debug("Size indata abc88",i.id,"childHeight",Q,"maxHeight",v),Kt.debug("Size indata abc88 xSize",mt,"paddiong",Af);for(const dt of i.children)dt.size&&(dt.size.width=gt,dt.size.height=Q,dt.size.x=0,dt.size.y=0)}if(Kt.debug(`abc95 (finale calc) ${i.id} xSize ${mt} ySize ${ct} columns ${ft}${i.children.length} width=${Math.max(rt,((_=i.size)==null?void 0:_.width)||0)}`),rt<(((M=i==null?void 0:i.size)==null?void 0:M.width)||0)){rt=((F=i==null?void 0:i.size)==null?void 0:F.width)||0;const gt=ft>0?Math.min(i.children.length,ft):i.children.length;if(gt>0){const Q=(rt-gt*Af-Af)/gt;Kt.debug("abc95 (growing to fit) width",i.id,rt,(R=i.size)==null?void 0:R.width,Q);for(const dt of i.children)dt.size&&(dt.size.width=Q)}}i.size={width:rt,height:it,x:0,y:0}}Kt.debug("setBlockSizes abc94 (done)",i.id,(B=i==null?void 0:i.size)==null?void 0:B.x,(z=i==null?void 0:i.size)==null?void 0:z.width,(Y=i==null?void 0:i.size)==null?void 0:Y.y,(nt=i==null?void 0:i.size)==null?void 0:nt.height)}function bVt(i,a){var g,w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft,wt;Kt.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(g=i==null?void 0:i.size)==null?void 0:g.x} y: ${(w=i==null?void 0:i.size)==null?void 0:w.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const f=i.columns||-1;if(Kt.debug("layoutBlocks columns abc95",i.id,"=>",f,i),i.children&&i.children.length>0){const mt=((E=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:E.width)||0,ct=i.children.length*mt+(i.children.length-1)*Af;Kt.debug("widthOfChildren 88",ct,"posX");let rt=0;Kt.debug("abc91 block?.size?.x",i.id,(S=i==null?void 0:i.size)==null?void 0:S.x);let it=(_=i==null?void 0:i.size)!=null&&_.x?((M=i==null?void 0:i.size)==null?void 0:M.x)+(-((F=i==null?void 0:i.size)==null?void 0:F.width)/2||0):-Af,gt=0;for(const Q of i.children){const dt=i;if(!Q.size)continue;const{width:K,height:yt}=Q.size,{px:V,py:Ot}=pnn(f,rt);if(Ot!=gt&&(gt=Ot,it=(R=i==null?void 0:i.size)!=null&&R.x?((B=i==null?void 0:i.size)==null?void 0:B.x)+(-((z=i==null?void 0:i.size)==null?void 0:z.width)/2||0):-Af,Kt.debug("New row in layout for block",i.id," and child ",Q.id,gt)),Kt.debug(`abc89 layout blocks (child) id: ${Q.id} Pos: ${rt} (px, py) ${V},${Ot} (${(Y=dt==null?void 0:dt.size)==null?void 0:Y.x},${(nt=dt==null?void 0:dt.size)==null?void 0:nt.y}) parent: ${dt.id} width: ${K}${Af}`),dt.size){const It=K/2;Q.size.x=it+Af+It,Kt.debug(`abc91 layout blocks (calc) px, pyid:${Q.id} startingPos=X${it} new startingPosX${Q.size.x} ${It} padding=${Af} width=${K} halfWidth=${It} => x:${Q.size.x} y:${Q.size.y} ${Q.widthInColumns} (width * (child?.w || 1)) / 2 ${K*((Q==null?void 0:Q.widthInColumns)||1)/2}`),it=Q.size.x+It,Q.size.y=dt.size.y-dt.size.height/2+Ot*(yt+Af)+yt/2+Af,Kt.debug(`abc88 layout blocks (calc) px, pyid:${Q.id}startingPosX${it}${Af}${It}=>x:${Q.size.x}y:${Q.size.y}${Q.widthInColumns}(width * (child?.w || 1)) / 2${K*((Q==null?void 0:Q.widthInColumns)||1)/2}`)}Q.children&&bVt(Q),rt+=(Q==null?void 0:Q.widthInColumns)||1,Kt.debug("abc88 columnsPos",Q,rt)}}Kt.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ot=i==null?void 0:i.size)==null?void 0:ot.x} y: ${(ft=i==null?void 0:i.size)==null?void 0:ft.y} width: ${(wt=i==null?void 0:i.size)==null?void 0:wt.width}`)}function wVt(i,{minX:a,minY:f,maxX:g,maxY:w}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:E,height:S}=i.size;v-E/2<a&&(a=v-E/2),b-S/2<f&&(f=b-S/2),v+E/2>g&&(g=v+E/2),b+S/2>w&&(w=b+S/2)}if(i.children)for(const v of i.children)({minX:a,minY:f,maxX:g,maxY:w}=wVt(v,{minX:a,minY:f,maxX:g,maxY:w}));return{minX:a,minY:f,maxX:g,maxY:w}}function wnn(i){const a=i.getBlock("root");if(!a)return;_2t(a,i,0,0),bVt(a),Kt.debug("getBlocks",JSON.stringify(a,null,2));const{minX:f,minY:g,maxX:w,maxY:v}=wVt(a),b=v-g,E=w-f;return{x:f,y:g,width:E,height:b}}const mnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Zen,db:cnn,renderer:{draw:async function(i,a,f,g){const{securityLevel:w,block:v}=o1(),b=g.db;let E;w==="sandbox"&&(E=Tr("#i"+a));const S=Tr(w==="sandbox"?E.nodes()[0].contentDocument.body:"body"),_=w==="sandbox"?S.select(`[id="${a}"]`):Tr(`[id="${a}"]`);jpt(_,["point","circle","cross"],g.type,a);const F=b.getBlocks(),R=b.getBlocksFlat(),B=b.getEdges(),z=_.insert("g").attr("class","block");await fnn(z,F,b);const Y=wnn(b);if(await dnn(z,F,b),await gnn(z,B,R,b,a),Y){const nt=Y,ot=Math.max(1,Math.round(.125*(nt.width/nt.height))),ft=nt.height+ot+10,wt=nt.width+10,{useMaxWidth:mt}=v;sg(_,ft,wt,!!mt),Kt.debug("Here Bounds",Y,nt),_.attr("viewBox",`${nt.x-5} ${nt.y-5} ${nt.width+10} ${nt.height+10}`)}oF(tPt)},getClasses:function(i,a){return a.db.getClasses()}},styles:unn}},Symbol.toStringTag,{value:"Module"}));return _2});