m.args);JA(v),p=sd(p,[...v])}else p=f.args;if(p){let v=IW(i,a);["config"].forEach(m=>{p[m]!==void 0&&(v==="flowchart-v2"&&(v="flowchart"),p[v]=p[m],delete p[m])})}return p},UIt=function(i,a=null){try{const f=new RegExp(`[%]{2}(?![{]${cSe.source})(?=[}][%]{2}).*
-`,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),$t.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let p;const v=[];for(;(p=bdt.exec(i))!==null;)if(p.index===bdt.lastIndex&&bdt.lastIndex++,p&&!a||a&&p[1]&&p[1].match(a)||a&&p[2]&&p[2].match(a)){const m=p[1]?p[1]:p[2],b=p[3]?p[3].trim():p[4]?JSON.parse(p[4].trim()):null;v.push({type:m,args:b})}return v.length===0&&v.push({type:i,args:null}),v.length===1?v[0]:v}catch(f){return $t.error(`ERROR: ${f.message} - Unable to parse directive
- ${a!==null?" type:"+a:""} based on the text:${i}`),{type:null,args:null}}},lSe=function(i,a){for(const[f,p]of a.entries())if(p.match(i))return f;return-1};function Qb(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return oSe[f]||a}function hSe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?nk(f):f}const fSe=(i,...a)=>{const f=i.split("."),p=f.length-1,v=f[p];let m=window;for(let b=0;b{f+=PW(m,a),a=m});let p=f/2,v;return a=void 0,i.forEach(m=>{if(a&&!v){const b=PW(m,a);if(b
=1&&(v={x:m.x,y:m.y}),E>0&&E<1&&(v={x:(1-E)*a.x+E*m.x,y:(1-E)*a.y+E*m.y})}}a=m}),v}function gSe(i){return i.length===1?i[0]:dSe(i)}const pSe=(i,a,f)=>{let p;$t.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());let m=25,b;p=void 0,a.forEach(P=>{if(p&&!b){const B=PW(P,p);if(B=1&&(b={x:P.x,y:P.y}),j>0&&j<1&&(b={x:(1-j)*p.x+j*P.x,y:(1-j)*p.y+j*P.y})}}p=P});const E=i?10:5,C=Math.atan2(a[0].y-b.y,a[0].x-b.x),M={x:0,y:0};return M.x=Math.sin(C)*E+(a[0].x+b.x)/2,M.y=-Math.cos(C)*E+(a[0].y+b.y)/2,M};function bSe(i,a,f){let p=JSON.parse(JSON.stringify(f)),v;$t.info("our points",p),a!=="start_left"&&a!=="start_right"&&(p=p.reverse()),p.forEach(B=>{v=B});let b=25+i,E;v=void 0,p.forEach(B=>{if(v&&!E){const j=PW(B,v);if(j=1&&(E={x:B.x,y:B.y}),R>0&&R<1&&(E={x:(1-R)*v.x+R*B.x,y:(1-R)*v.y+R*B.y})}}v=B});const C=10+i*.5,M=Math.atan2(p[0].y-E.y,p[0].x-E.x),P={x:0,y:0};return P.x=Math.sin(M)*C+(p[0].x+E.x)/2,P.y=-Math.cos(M)*C+(p[0].y+E.y)/2,a==="start_left"&&(P.x=Math.sin(M+Math.PI)*C+(p[0].x+E.x)/2,P.y=-Math.cos(M+Math.PI)*C+(p[0].y+E.y)/2),a==="end_right"&&(P.x=Math.sin(M-Math.PI)*C+(p[0].x+E.x)/2-5,P.y=-Math.cos(M-Math.PI)*C+(p[0].y+E.y)/2-5),a==="end_left"&&(P.x=Math.sin(M)*C+(p[0].x+E.x)/2-5,P.y=-Math.cos(M)*C+(p[0].y+E.y)/2-5),P}function tm(i){let a="",f="";for(const p of i)p!==void 0&&(p.startsWith("color:")||p.startsWith("text-align:")?f=f+p+";":a=a+p+";");return{style:a,labelStyle:f}}let WIt=0;const KIt=()=>(WIt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+WIt);function vSe(i){let a="";const f="0123456789abcdef",p=f.length;for(let v=0;vvSe(i.length),wSe=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}},mSe=function(i,a){const f=a.text.replace(yi.lineBreakRegex," "),[,p]=tL(a.fontSize),v=i.append("text");v.attr("x",a.x),v.attr("y",a.y),v.style("text-anchor",a.anchor),v.style("font-family",a.fontFamily),v.style("font-size",p),v.style("font-weight",a.fontWeight),v.attr("fill",a.fill),a.class!==void 0&&v.attr("class",a.class);const m=v.append("tspan");return m.attr("x",a.x+a.textMargin*2),m.attr("fill",a.fill),m.text(f),v},XIt=ZA((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},f),yi.lineBreakRegex.test(i)))return i;const p=i.split(" "),v=[];let m="";return p.forEach((b,E)=>{const C=f3(`${b} `,f),M=f3(m,f);if(C>a){const{hyphenatedStrings:j,remainingWord:R}=ySe(b,a,"-",f);v.push(m,...j),m=R}else M+C>=a?(v.push(m),m=b):m=[m,b].filter(Boolean).join(" ");E+1===p.length&&v.push(m)}),v.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),ySe=ZA((i,a,f="-",p)=>{p=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},p);const v=[...i],m=[];let b="";return v.forEach((E,C)=>{const M=`${b}${E}`;if(f3(M,p)>=a){const B=C+1,j=v.length===B,R=`${M}${f}`;m.push(j?M:R),b=""}else b=M}),{hyphenatedStrings:m,remainingWord:b}},(i,a,f="-",p)=>`${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`);function vdt(i,a){return a=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},a),wdt(i,a).height}function f3(i,a){return a=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},a),wdt(i,a).width}const wdt=ZA((i,a)=>{a=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},a);const{fontSize:f,fontFamily:p,fontWeight:v}=a;if(!i)return{width:0,height:0};const[,m]=tL(f),b=["sans-serif",p],E=i.split(yi.lineBreakRegex),C=[],M=Dr("body");if(!M.remove)return{width:0,height:0,lineHeight:0};const P=M.append("svg");for(const j of b){let R=0;const H={width:0,height:0,lineHeight:0};for(const Y of E){const st=wSe();st.text=Y;const et=mSe(P,st).style("font-size",m).style("font-weight",v).style("font-family",j),it=(et._groups||et)[0][0].getBBox();if(it.width===0&&it.height===0)throw new Error("svg element not in render tree");H.width=Math.round(Math.max(H.width,it.width)),R=Math.round(it.height),H.height+=R,H.lineHeight=Math.round(Math.max(H.lineHeight,R))}C.push(H)}P.remove();const B=isNaN(C[1].height)||isNaN(C[1].width)||isNaN(C[1].lineHeight)||C[0].height>C[1].height&&C[0].width>C[1].width&&C[0].lineHeight>C[1].lineHeight?0:1;return C[B]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`),xSe=class{constructor(a,f){this.deterministic=a,this.seed=f,this.count=f?f.length:0}next(){return this.deterministic?this.count++:Date.now()}};let FW;const kSe=function(i){return FW=FW||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),FW.innerHTML=i,unescape(FW.textContent)},JA=i=>{if($t.debug("directiveSanitizer called with",i),typeof i=="object"&&(i.length?i.forEach(a=>JA(a)):Object.keys(i).forEach(a=>{$t.debug("Checking key",a),a.startsWith("__")&&($t.debug("sanitize deleting __ option",a),delete i[a]),a.includes("proto")&&($t.debug("sanitize deleting proto option",a),delete i[a]),a.includes("constr")&&($t.debug("sanitize deleting constr option",a),delete i[a]),a.includes("themeCSS")&&($t.debug("sanitizing themeCss option"),i[a]=BW(i[a])),a.includes("fontFamily")&&($t.debug("sanitizing fontFamily option"),i[a]=BW(i[a])),a.includes("altFontFamily")&&($t.debug("sanitizing altFontFamily option"),i[a]=BW(i[a])),YEe.includes(a)?typeof i[a]=="object"&&($t.debug("sanitize deleting object",a),JA(i[a])):($t.debug("sanitize deleting option",a),delete i[a])})),i.themeVariables){const a=Object.keys(i.themeVariables);for(const f of a){const p=i.themeVariables[f];p&&p.match&&!p.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[f]="")}}$t.debug("After sanitization",i)},BW=i=>{let a=0,f=0;for(const p of i){if(a{if(!p)return;const v=i.node().getBBox();i.append("text").text(p).attr("x",v.x+v.width/2).attr("y",-f).attr("class",a)},tL=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]},lo={assignWithDepth:sd,wrapLabel:XIt,calculateTextHeight:vdt,calculateTextWidth:f3,calculateTextDimensions:wdt,detectInit:uSe,detectDirective:UIt,isSubstringInArray:lSe,interpolateToCurve:Qb,calcLabelPosition:gSe,calcCardinalityPosition:pSe,calcTerminalLabelPosition:bSe,formatUrl:hSe,getStylesFromArray:tm,generateId:KIt,random:YIt,runFunc:fSe,entityDecode:kSe,initIdGenerator:xSe,directiveSanitizer:JA,sanitizeCss:BW,insertTitle:TSe,parseFontSize:tL};var ZIt="comm",JIt="rule",tOt="decl",_Se="@import",CSe="@keyframes",SSe=Math.abs,mdt=String.fromCharCode;function eOt(i){return i.trim()}function ydt(i,a,f){return i.replace(a,f)}function ASe(i,a){return i.indexOf(a)}function oP(i,a){return i.charCodeAt(a)|0}function cP(i,a,f){return i.slice(a,f)}function ck(i){return i.length}function nOt(i){return i.length}function RW(i,a){return a.push(i),i}var jW=1,eL=1,rOt=0,Zb=0,Rf=0,nL="";function xdt(i,a,f,p,v,m,b){return{value:i,root:a,parent:f,type:p,props:v,children:m,line:jW,column:eL,length:b,return:""}}function LSe(){return Rf}function DSe(){return Rf=Zb>0?oP(nL,--Zb):0,eL--,Rf===10&&(eL=1,jW--),Rf}function em(){return Rf=Zb2||kdt(Rf)>3?"":" "}function NSe(i,a){for(;--a&&em()&&!(Rf<48||Rf>102||Rf>57&&Rf<65||Rf>70&&Rf<97););return zW(i,$W()+(a<6&&fE()==32&&em()==32))}function Tdt(i){for(;em();)switch(Rf){case i:return Zb;case 34:case 39:i!==34&&i!==39&&Tdt(Rf);break;case 40:i===41&&Tdt(i);break;case 92:em();break}return Zb}function PSe(i,a){for(;em()&&i+Rf!==47+10;)if(i+Rf===42+42&&fE()===47)break;return"/*"+zW(a,Zb-1)+"*"+mdt(i===47?i:em())}function FSe(i){for(;!kdt(fE());)em();return zW(i,Zb)}function BSe(i){return ISe(qW("",null,null,null,[""],i=MSe(i),0,[0],i))}function qW(i,a,f,p,v,m,b,E,C){for(var M=0,P=0,B=b,j=0,R=0,H=0,Y=1,st=1,et=1,it=0,dt="",Tt=v,yt=m,xt=p,ft=dt;st;)switch(H=it,it=em()){case 40:if(H!=108&&oP(ft,B-1)==58){ASe(ft+=ydt(Edt(it),"&","&\f"),"&\f")!=-1&&(et=-1);break}case 34:case 39:case 91:ft+=Edt(it);break;case 9:case 10:case 13:case 32:ft+=OSe(H);break;case 92:ft+=NSe($W()-1,7);continue;case 47:switch(fE()){case 42:case 47:RW(RSe(PSe(em(),$W()),a,f),C);break;default:ft+="/"}break;case 123*Y:E[M++]=ck(ft)*et;case 125*Y:case 59:case 0:switch(it){case 0:case 125:st=0;case 59+P:R>0&&ck(ft)-B&&RW(R>32?sOt(ft+";",p,f,B-1):sOt(ydt(ft," ","")+";",p,f,B-2),C);break;case 59:ft+=";";default:if(RW(xt=iOt(ft,a,f,M,P,v,E,dt,Tt=[],yt=[],B),m),it===123)if(P===0)qW(ft,a,xt,xt,Tt,m,B,E,yt);else switch(j===99&&oP(ft,3)===110?100:j){case 100:case 109:case 115:qW(i,xt,xt,p&&RW(iOt(i,xt,xt,0,0,v,E,dt,v,Tt=[],B),yt),v,yt,B,E,p?Tt:yt);break;default:qW(ft,xt,xt,xt,[""],yt,0,E,yt)}}M=P=R=0,Y=et=1,dt=ft="",B=b;break;case 58:B=1+ck(ft),R=H;default:if(Y<1){if(it==123)--Y;else if(it==125&&Y++==0&&DSe()==125)continue}switch(ft+=mdt(it),it*Y){case 38:et=P>0?1:(ft+="\f",-1);break;case 44:E[M++]=(ck(ft)-1)*et,et=1;break;case 64:fE()===45&&(ft+=Edt(em())),j=fE(),P=B=ck(dt=ft+=FSe($W())),it++;break;case 45:H===45&&ck(ft)==2&&(Y=0)}}return m}function iOt(i,a,f,p,v,m,b,E,C,M,P){for(var B=v-1,j=v===0?m:[""],R=nOt(j),H=0,Y=0,st=0;H0?j[et]+" "+it:ydt(it,/&\f/g,j[et])))&&(C[st++]=dt);return xdt(i,a,f,v===0?JIt:E,C,M,P)}function RSe(i,a,f){return xdt(i,a,f,ZIt,mdt(LSe()),cP(i,2,-2),0)}function sOt(i,a,f,p){return xdt(i,a,f,tOt,cP(i,0,p),cP(i,p+1,-1),p)}function _dt(i,a){for(var f="",p=nOt(i),v=0;v
i.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>FDe);return{id:oOt,diagram:i}}},cOt="flowchart",zSe={id:cOt,detector:(i,a)=>{var f,p;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:i.match(/^\s*graph/)!==null},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>T$e);return{id:cOt,diagram:i}}},uOt="flowchart-v2",qSe={id:uOt,detector:(i,a)=>{var f,p,v;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:i.match(/^\s*graph/)!==null&&((v=a==null?void 0:a.flowchart)==null?void 0:v.defaultRenderer)==="dagre-wrapper"?!0:i.match(/^\s*flowchart/)!==null},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>_$e);return{id:uOt,diagram:i}}},lOt="er",HSe={id:lOt,detector:i=>i.match(/^\s*erDiagram/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Z$e);return{id:lOt,diagram:i}}},hOt="gitGraph",VSe={id:hOt,detector:i=>i.match(/^\s*gitGraph/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>_ze);return{id:hOt,diagram:i}}},fOt="gantt",GSe={id:fOt,detector:i=>i.match(/^\s*gantt/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>_qe);return{id:fOt,diagram:i}}},dOt="info",USe={id:dOt,detector:i=>i.match(/^\s*info/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Sqe);return{id:dOt,diagram:i}}},gOt="pie",WSe={id:gOt,detector:i=>i.match(/^\s*pie/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Mqe);return{id:gOt,diagram:i}}},pOt="quadrantChart",KSe={id:pOt,detector:i=>i.match(/^\s*quadrantChart/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Wqe);return{id:pOt,diagram:i}}},bOt="requirement",YSe={id:bOt,detector:i=>i.match(/^\s*requirement(Diagram)?/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>rHe);return{id:bOt,diagram:i}}},vOt="sequence",XSe={id:vOt,detector:i=>i.match(/^\s*sequenceDiagram/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aVe);return{id:vOt,diagram:i}}},wOt="class",QSe={id:wOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:i.match(/^\s*classDiagram/)!==null},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>AVe);return{id:wOt,diagram:i}}},mOt="classDiagram",ZSe={id:mOt,detector:(i,a)=>{var f;return i.match(/^\s*classDiagram/)!==null&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:i.match(/^\s*classDiagram-v2/)!==null},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>NVe);return{id:mOt,diagram:i}}},yOt="state",JSe={id:yOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:i.match(/^\s*stateDiagram/)!==null},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>kGe);return{id:yOt,diagram:i}}},xOt="stateDiagram",tAe={id:xOt,detector:(i,a)=>{var f,p;return!!(i.match(/^\s*stateDiagram-v2/)!==null||i.match(/^\s*stateDiagram/)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||i.match(/^\s*stateDiagram/)&&((p=a==null?void 0:a.state)==null?void 0:p.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>zGe);return{id:xOt,diagram:i}}},kOt="journey",eAe={id:kOt,detector:i=>i.match(/^\s*journey/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>oUe);return{id:kOt,diagram:i}}},nAe=()=>"",EOt={setConf:function(){},draw:(i,a,f)=>{try{$t.debug(`Renering svg for syntax error
-`);const p=Dr("#"+a),v=p.append("g");v.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),v.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),v.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),v.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),v.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),v.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),v.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),v.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+f),p.attr("height",100),p.attr("width",500),p.attr("viewBox","768 0 912 512")}catch(p){$t.error("Error while rendering info diagram"),$t.error(ESe(p))}}},rAe={db:{clear:()=>{}},styles:nAe,renderer:EOt,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},TOt="flowchart-elk",iAe={id:TOt,detector:(i,a)=>{var f;return!!(i.match(/^\s*flowchart-elk/)||i.match(/^\s*flowchart|graph/)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>EUe);return{id:TOt,diagram:i}}},_Ot="timeline",sAe={id:_Ot,detector:i=>i.match(/^\s*timeline/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>qUe);return{id:_Ot,diagram:i}}},COt="mindmap",aAe={id:COt,detector:i=>i.match(/^\s*mindmap/)!==null,loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>yWe);return{id:COt,diagram:i}}};let SOt=!1;const Cdt=()=>{SOt||(SOt=!0,MW("error",rAe,i=>i.toLowerCase().trim()==="error"),MW("---",{db:{clear:()=>{}},styles:{},renderer:{},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),$It($Se,ZSe,QSe,HSe,GSe,USe,WSe,YSe,XSe,iAe,qSe,zSe,aAe,sAe,VSe,tAe,JSe,eAe,KSe))},oAe=i=>i.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm,"");class AOt{constructor(a){var m,b;this.text=a,this.type="graph",this.text+=`
-`;const f=Ie();try{this.type=IW(a,f)}catch(E){this.type="error",this.detectError=E}const p=gdt(this.type);$t.debug("Type "+this.type),this.db=p.db,(b=(m=this.db).clear)==null||b.call(m),this.renderer=p.renderer,this.parser=p.parser;const v=this.parser.parse.bind(this.parser);this.parser.parse=E=>v(oAe(j_e(E,this.db))),this.parser.parser.yy=this.db,p.init&&(p.init(f),$t.info("Initialized diagram "+this.type,f)),this.parse()}parse(){var a,f;if(this.detectError)throw this.detectError;(f=(a=this.db).clear)==null||f.call(a),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 Sdt=async i=>{const a=IW(i,Ie());try{gdt(a)}catch{const p=iCe(a);if(!p)throw new jIt(`Diagram ${a} not found.`);const{id:v,diagram:m}=await p();MW(v,m)}return new AOt(i)};let Adt=[];const cAe=i=>{Adt.push(i)},uAe=()=>{Adt.forEach(i=>{i()}),Adt=[]};var lAe=Object.prototype;function HW(i){var a=i&&i.constructor,f=typeof a=="function"&&a.prototype||lAe;return i===f}function LOt(i,a){return function(f){return i(a(f))}}var hAe=LOt(Object.keys,Object);const fAe=hAe;var dAe=Object.prototype,gAe=dAe.hasOwnProperty;function DOt(i){if(!HW(i))return fAe(i);var a=[];for(var f in Object(i))gAe.call(i,f)&&f!="constructor"&&a.push(f);return a}var pAe=lE(Jw,"DataView");const Ldt=pAe;var bAe=lE(Jw,"Promise");const Ddt=bAe;var vAe=lE(Jw,"Set");const rL=vAe;var wAe=lE(Jw,"WeakMap");const Mdt=wAe;var MOt="[object Map]",mAe="[object Object]",IOt="[object Promise]",OOt="[object Set]",NOt="[object WeakMap]",POt="[object DataView]",yAe=uE(Ldt),xAe=uE(aP),kAe=uE(Ddt),EAe=uE(rL),TAe=uE(Mdt),dE=cE;(Ldt&&dE(new Ldt(new ArrayBuffer(1)))!=POt||aP&&dE(new aP)!=MOt||Ddt&&dE(Ddt.resolve())!=IOt||rL&&dE(new rL)!=OOt||Mdt&&dE(new Mdt)!=NOt)&&(dE=function(i){var a=cE(i),f=a==mAe?i.constructor:void 0,p=f?uE(f):"";if(p)switch(p){case yAe:return POt;case xAe:return MOt;case kAe:return IOt;case EAe:return OOt;case TAe:return NOt}return a});const iL=dE;function d3(i){return i!=null&&typeof i=="object"}var _Ae="[object Arguments]";function FOt(i){return d3(i)&&cE(i)==_Ae}var BOt=Object.prototype,CAe=BOt.hasOwnProperty,SAe=BOt.propertyIsEnumerable,AAe=FOt(function(){return arguments}())?FOt:function(i){return d3(i)&&CAe.call(i,"callee")&&!SAe.call(i,"callee")};const sL=AAe;var LAe=Array.isArray;const jf=LAe;var DAe=9007199254740991;function Idt(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=DAe}function uk(i){return i!=null&&Idt(i.length)&&!XA(i)}function MAe(){return!1}var ROt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,jOt=ROt&&typeof module=="object"&&module&&!module.nodeType&&module,IAe=jOt&&jOt.exports===ROt,$Ot=IAe?Jw.Buffer:void 0,OAe=$Ot?$Ot.isBuffer:void 0,NAe=OAe||MAe;const aL=NAe;var PAe="[object Arguments]",FAe="[object Array]",BAe="[object Boolean]",RAe="[object Date]",jAe="[object Error]",$Ae="[object Function]",zAe="[object Map]",qAe="[object Number]",HAe="[object Object]",VAe="[object RegExp]",GAe="[object Set]",UAe="[object String]",WAe="[object WeakMap]",KAe="[object ArrayBuffer]",YAe="[object DataView]",XAe="[object Float32Array]",QAe="[object Float64Array]",ZAe="[object Int8Array]",JAe="[object Int16Array]",tLe="[object Int32Array]",eLe="[object Uint8Array]",nLe="[object Uint8ClampedArray]",rLe="[object Uint16Array]",iLe="[object Uint32Array]",Sl={};Sl[XAe]=Sl[QAe]=Sl[ZAe]=Sl[JAe]=Sl[tLe]=Sl[eLe]=Sl[nLe]=Sl[rLe]=Sl[iLe]=!0,Sl[PAe]=Sl[FAe]=Sl[KAe]=Sl[BAe]=Sl[YAe]=Sl[RAe]=Sl[jAe]=Sl[$Ae]=Sl[zAe]=Sl[qAe]=Sl[HAe]=Sl[VAe]=Sl[GAe]=Sl[UAe]=Sl[WAe]=!1;function sLe(i){return d3(i)&&Idt(i.length)&&!!Sl[cE(i)]}function VW(i){return function(a){return i(a)}}var zOt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,uP=zOt&&typeof module=="object"&&module&&!module.nodeType&&module,aLe=uP&&uP.exports===zOt,Odt=aLe&&qIt.process,oLe=function(){try{var i=uP&&uP.require&&uP.require("util").types;return i||Odt&&Odt.binding&&Odt.binding("util")}catch{}}();const oL=oLe;var qOt=oL&&oL.isTypedArray,cLe=qOt?VW(qOt):sLe;const GW=cLe;var uLe="[object Map]",lLe="[object Set]",hLe=Object.prototype,fLe=hLe.hasOwnProperty;function cL(i){if(i==null)return!0;if(uk(i)&&(jf(i)||typeof i=="string"||typeof i.splice=="function"||aL(i)||GW(i)||sL(i)))return!i.length;var a=iL(i);if(a==uLe||a==lLe)return!i.size;if(HW(i))return!DOt(i).length;for(var f in i)if(fLe.call(i,f))return!1;return!0}const dLe="graphics-document document";function gLe(i,a){i.attr("role",dLe),cL(a)||i.attr("aria-roledescription",a)}function pLe(i,a,f,p){if(i.insert!==void 0)if(a||f){if(f){const v="chart-desc-"+p;i.attr("aria-describedby",v),i.insert("desc",":first-child").attr("id",v).text(f)}if(a){const v="chart-title-"+p;i.attr("aria-labelledby",v),i.insert("title",":first-child").attr("id",v).text(a)}}else return}const HOt=["graph","flowchart","flowchart-v2","flowchart-elk","stateDiagram","stateDiagram-v2"],bLe=5e4,vLe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",wLe="sandbox",mLe="loose",yLe="http://www.w3.org/2000/svg",xLe="http://www.w3.org/1999/xlink",kLe="http://www.w3.org/1999/xhtml",ELe="100%",TLe="100%",_Le="border:0;margin:0;",CLe="margin:0",SLe="allow-top-navigation-by-user-activation allow-popups",ALe='The "iframe" tag is not supported by your browser.',LLe=["foreignobject"],DLe=["dominant-baseline"];async function MLe(i,a){Cdt();try{(await Sdt(i)).parse()}catch(f){if(a!=null&&a.suppressErrors)return!1;throw f}return!0}const ILe=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 p=f.substring(1,f.length-1);return/^\+?\d+$/.test(p)?"fl°°"+p+"¶ß":"fl°"+p+"¶ß"}),a},lP=function(i){return i.replace(/fl°°/g,"").replace(/fl°/g,"&").replace(/¶ß/g,";")},VOt=(i,a,f=[])=>`
-.${i} ${a} { ${f.join(" !important; ")} !important; }`,OLe=(i,a,f={})=>{var v;let p="";if(i.themeCSS!==void 0&&(p+=`
+`},H_e=(i,a)=>{a!==void 0&&(mW[i]=a)},V_e=q_e;let Z1t="",yW="",J1t="";const tdt=i=>cg(i,Me()),hg=function(){Z1t="",J1t="",yW=""},E0=function(i){Z1t=tdt(i).replace(/^\s+/g,"")},fg=function(){return Z1t||yW},dg=function(i){J1t=tdt(i).replace(/\n\s+/g,`
+`)},gg=function(){return J1t},F2=function(i){yW=tdt(i)},fp=function(){return yW},MIt=Object.freeze(Object.defineProperty({__proto__:null,clear:hg,default:{getAccTitle:fg,setAccTitle:E0,getDiagramTitle:fp,setDiagramTitle:F2,getAccDescription:gg,setAccDescription:dg,clear:hg},getAccDescription:gg,getAccTitle:fg,getDiagramTitle:fp,setAccDescription:dg,setAccTitle:E0,setDiagramTitle:F2},Symbol.toStringTag,{value:"Module"}));let rE={};const edt=function(i,a,f,p){Vt.debug("parseDirective is being called",a,f,p);try{if(a!==void 0)switch(a=a.trim(),f){case"open_directive":rE={};break;case"type_directive":if(!rE)throw new Error("currentDirective is undefined");rE.type=a.toLowerCase();break;case"arg_directive":if(!rE)throw new Error("currentDirective is undefined");rE.args=JSON.parse(a);break;case"close_directive":G_e(i,rE,p),rE=void 0;break}}catch(v){Vt.error(`Error while rendering sequenceDiagram directive: ${a} jison context: ${f}`),Vt.error(v.message)}},G_e=function(i,a,f){switch(Vt.info(`Directive type=${a.type} with args:`,a.args),a.type){case"init":case"initialize":{["config"].forEach(p=>{a.args[p]!==void 0&&(f==="flowchart-v2"&&(f="flowchart"),a.args[f]=a.args[p],delete a.args[p])}),Vt.info("sanitize in handleDirective",a.args),qA(a.args),Vt.info("sanitize in handleDirective (done)",a.args),SIt(a.args);break}case"wrap":case"nowrap":i&&i.setWrap&&i.setWrap(a.type==="wrap");break;case"themeCss":Vt.warn("themeCss encountered");break;default:Vt.warn(`Unhandled directive: source: '%%{${a.type}: ${JSON.stringify(a.args?a.args:{})}}%%`,a);break}},U_e=Vt,W_e=jft,WP=Me,K_e=i=>cg(i,WP()),DIt=nE,Y_e=()=>MIt,X_e=(i,a,f,p)=>edt(i,a,f,p),xW={},kW=(i,a,f)=>{if(xW[i])throw new Error(`Diagram ${i} already registered.`);xW[i]=a,f&&PIt(i,f),H_e(i,a.styles),a.injectUtils&&a.injectUtils(U_e,W_e,WP,K_e,DIt,Y_e(),X_e)},ndt=i=>{if(i in xW)return xW[i];throw new Error(`Diagram ${i} not found.`)};class IIt extends Error{constructor(a){super(a),this.name="UnknownDiagramError"}}const Q_e=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Z_e=/\s*%%.*\n/gm,RA={},EW=function(i,a){i=i.replace(kIt,"").replace(Q_e,"").replace(Z_e,`
+`);for(const[f,{detector:p}]of Object.entries(RA))if(p(i,a))return f;throw new IIt(`No diagram type detected matching given configuration for text: ${i}`)},OIt=(...i)=>{for(const{id:a,detector:f,loader:p}of i)PIt(a,f,p)},J_e=async()=>{Vt.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(RA).map(async([f,{detector:p,loader:v}])=>{if(v)try{ndt(f)}catch{try{const{diagram:b,id:E}=await v();kW(E,b,p)}catch(b){throw Vt.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete RA[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Vt.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Vt.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},PIt=(i,a,f)=>{RA[i]?Vt.error(`Detector with key ${i} already exists`):RA[i]={detector:a,loader:f},Vt.debug(`Detector with key ${i} added${f?" with loader":""}`)},tCe=i=>RA[i].loader;var eCe=typeof global=="object"&&global&&global.Object===Object&&global;const NIt=eCe;var nCe=typeof self=="object"&&self&&self.Object===Object&&self,rCe=NIt||nCe||Function("return this")();const Zw=rCe;var iCe=Zw.Symbol;const Qb=iCe;var FIt=Object.prototype,sCe=FIt.hasOwnProperty,aCe=FIt.toString,KP=Qb?Qb.toStringTag:void 0;function oCe(i){var a=sCe.call(i,KP),f=i[KP];try{i[KP]=void 0;var p=!0}catch{}var v=aCe.call(i);return p&&(a?i[KP]=f:delete i[KP]),v}var cCe=Object.prototype,uCe=cCe.toString;function lCe(i){return uCe.call(i)}var hCe="[object Null]",fCe="[object Undefined]",BIt=Qb?Qb.toStringTag:void 0;function iE(i){return i==null?i===void 0?fCe:hCe:BIt&&BIt in Object(i)?oCe(i):lCe(i)}function B2(i){var a=typeof i;return i!=null&&(a=="object"||a=="function")}var dCe="[object AsyncFunction]",gCe="[object Function]",pCe="[object GeneratorFunction]",bCe="[object Proxy]";function jA(i){if(!B2(i))return!1;var a=iE(i);return a==gCe||a==pCe||a==dCe||a==bCe}var vCe=Zw["__core-js_shared__"];const rdt=vCe;var RIt=function(){var i=/[^.]+$/.exec(rdt&&rdt.keys&&rdt.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function wCe(i){return!!RIt&&RIt in i}var mCe=Function.prototype,yCe=mCe.toString;function sE(i){if(i!=null){try{return yCe.call(i)}catch{}try{return i+""}catch{}}return""}var xCe=/[\\^$.*+?()[\]{}|]/g,kCe=/^\[object .+?Constructor\]$/,ECe=Function.prototype,TCe=Object.prototype,_Ce=ECe.toString,CCe=TCe.hasOwnProperty,SCe=RegExp("^"+_Ce.call(CCe).replace(xCe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ACe(i){if(!B2(i)||wCe(i))return!1;var a=jA(i)?SCe:kCe;return a.test(sE(i))}function LCe(i,a){return i==null?void 0:i[a]}function aE(i,a){var f=LCe(i,a);return ACe(f)?f:void 0}var MCe=aE(Object,"create");const YP=MCe;function DCe(){this.__data__=YP?YP(null):{},this.size=0}function ICe(i){var a=this.has(i)&&delete this.__data__[i];return this.size-=a?1:0,a}var OCe="__lodash_hash_undefined__",PCe=Object.prototype,NCe=PCe.hasOwnProperty;function FCe(i){var a=this.__data__;if(YP){var f=a[i];return f===OCe?void 0:f}return NCe.call(a,i)?a[i]:void 0}var BCe=Object.prototype,RCe=BCe.hasOwnProperty;function jCe(i){var a=this.__data__;return YP?a[i]!==void 0:RCe.call(a,i)}var $Ce="__lodash_hash_undefined__";function zCe(i,a){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=YP&&a===void 0?$Ce:a,this}function oE(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1}function KCe(i,a){var f=this.__data__,p=TW(f,i);return p<0?(++this.size,f.push([i,a])):f[p][1]=a,this}function x5(i){var a=-1,f=i==null?0:i.length;for(this.clear();++am.args);qA(v),p=rd(p,[...v])}else p=f.args;if(p){let v=EW(i,a);["config"].forEach(m=>{p[m]!==void 0&&(v==="flowchart-v2"&&(v="flowchart"),p[v]=p[m],delete p[m])})}return p},$It=function(i,a=null){try{const f=new RegExp(`[%]{2}(?![{]${iSe.source})(?=[}][%]{2}).*
+`,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),Vt.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let p;const v=[];for(;(p=idt.exec(i))!==null;)if(p.index===idt.lastIndex&&idt.lastIndex++,p&&!a||a&&p[1]&&p[1].match(a)||a&&p[2]&&p[2].match(a)){const m=p[1]?p[1]:p[2],b=p[3]?p[3].trim():p[4]?JSON.parse(p[4].trim()):null;v.push({type:m,args:b})}return v.length===0&&v.push({type:i,args:null}),v.length===1?v[0]:v}catch(f){return Vt.error(`ERROR: ${f.message} - Unable to parse directive
+ ${a!==null?" type:"+a:""} based on the text:${i}`),{type:null,args:null}}},aSe=function(i,a){for(const[f,p]of a.entries())if(p.match(i))return f;return-1};function Zb(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return rSe[f]||a}function oSe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?Zx(f):f}const cSe=(i,...a)=>{const f=i.split("."),p=f.length-1,v=f[p];let m=window;for(let b=0;b{f+=CW(m,a),a=m});let p=f/2,v;return a=void 0,i.forEach(m=>{if(a&&!v){const b=CW(m,a);if(b
=1&&(v={x:m.x,y:m.y}),E>0&&E<1&&(v={x:(1-E)*a.x+E*m.x,y:(1-E)*a.y+E*m.y})}}a=m}),v}function lSe(i){return i.length===1?i[0]:uSe(i)}const hSe=(i,a,f)=>{let p;Vt.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());let m=25,b;p=void 0,a.forEach(N=>{if(p&&!b){const F=CW(N,p);if(F=1&&(b={x:N.x,y:N.y}),j>0&&j<1&&(b={x:(1-j)*p.x+j*N.x,y:(1-j)*p.y+j*N.y})}}p=N});const E=i?10:5,C=Math.atan2(a[0].y-b.y,a[0].x-b.x),A={x:0,y:0};return A.x=Math.sin(C)*E+(a[0].x+b.x)/2,A.y=-Math.cos(C)*E+(a[0].y+b.y)/2,A};function fSe(i,a,f){let p=JSON.parse(JSON.stringify(f)),v;Vt.info("our points",p),a!=="start_left"&&a!=="start_right"&&(p=p.reverse()),p.forEach(F=>{v=F});let b=25+i,E;v=void 0,p.forEach(F=>{if(v&&!E){const j=CW(F,v);if(j=1&&(E={x:F.x,y:F.y}),R>0&&R<1&&(E={x:(1-R)*v.x+R*F.x,y:(1-R)*v.y+R*F.y})}}v=F});const C=10+i*.5,A=Math.atan2(p[0].y-E.y,p[0].x-E.x),N={x:0,y:0};return N.x=Math.sin(A)*C+(p[0].x+E.x)/2,N.y=-Math.cos(A)*C+(p[0].y+E.y)/2,a==="start_left"&&(N.x=Math.sin(A+Math.PI)*C+(p[0].x+E.x)/2,N.y=-Math.cos(A+Math.PI)*C+(p[0].y+E.y)/2),a==="end_right"&&(N.x=Math.sin(A-Math.PI)*C+(p[0].x+E.x)/2-5,N.y=-Math.cos(A-Math.PI)*C+(p[0].y+E.y)/2-5),a==="end_left"&&(N.x=Math.sin(A)*C+(p[0].x+E.x)/2-5,N.y=-Math.cos(A)*C+(p[0].y+E.y)/2-5),N}function Jw(i){let a="",f="";for(const p of i)p!==void 0&&(p.startsWith("color:")||p.startsWith("text-align:")?f=f+p+";":a=a+p+";");return{style:a,labelStyle:f}}let zIt=0;const qIt=()=>(zIt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+zIt);function dSe(i){let a="";const f="0123456789abcdef",p=f.length;for(let v=0;vdSe(i.length),gSe=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}},pSe=function(i,a){const f=a.text.replace(bi.lineBreakRegex," "),[,p]=HA(a.fontSize),v=i.append("text");v.attr("x",a.x),v.attr("y",a.y),v.style("text-anchor",a.anchor),v.style("font-family",a.fontFamily),v.style("font-size",p),v.style("font-weight",a.fontWeight),v.attr("fill",a.fill),a.class!==void 0&&v.attr("class",a.class);const m=v.append("tspan");return m.attr("x",a.x+a.textMargin*2),m.attr("fill",a.fill),m.text(f),v},VIt=zA((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},f),bi.lineBreakRegex.test(i)))return i;const p=i.split(" "),v=[];let m="";return p.forEach((b,E)=>{const C=h3(`${b} `,f),A=h3(m,f);if(C>a){const{hyphenatedStrings:j,remainingWord:R}=bSe(b,a,"-",f);v.push(m,...j),m=R}else A+C>=a?(v.push(m),m=b):m=[m,b].filter(Boolean).join(" ");E+1===p.length&&v.push(m)}),v.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),bSe=zA((i,a,f="-",p)=>{p=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},p);const v=[...i],m=[];let b="";return v.forEach((E,C)=>{const A=`${b}${E}`;if(h3(A,p)>=a){const F=C+1,j=v.length===F,R=`${A}${f}`;m.push(j?A:R),b=""}else b=A}),{hyphenatedStrings:m,remainingWord:b}},(i,a,f="-",p)=>`${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`);function sdt(i,a){return a=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},a),adt(i,a).height}function h3(i,a){return a=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},a),adt(i,a).width}const adt=zA((i,a)=>{a=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},a);const{fontSize:f,fontFamily:p,fontWeight:v}=a;if(!i)return{width:0,height:0};const[,m]=HA(f),b=["sans-serif",p],E=i.split(bi.lineBreakRegex),C=[],A=wr("body");if(!A.remove)return{width:0,height:0,lineHeight:0};const N=A.append("svg");for(const j of b){let R=0;const H={width:0,height:0,lineHeight:0};for(const Y of E){const rt=gSe();rt.text=Y||jIt;const J=pSe(N,rt).style("font-size",m).style("font-weight",v).style("font-family",j),it=(J._groups||J)[0][0].getBBox();if(it.width===0&&it.height===0)throw new Error("svg element not in render tree");H.width=Math.round(Math.max(H.width,it.width)),R=Math.round(it.height),H.height+=R,H.lineHeight=Math.round(Math.max(H.lineHeight,R))}C.push(H)}N.remove();const F=isNaN(C[1].height)||isNaN(C[1].width)||isNaN(C[1].lineHeight)||C[0].height>C[1].height&&C[0].width>C[1].width&&C[0].lineHeight>C[1].lineHeight?0:1;return C[F]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`),vSe=class{constructor(a,f){this.deterministic=a,this.seed=f,this.count=f?f.length:0}next(){return this.deterministic?this.count++:Date.now()}};let SW;const wSe=function(i){return SW=SW||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),SW.innerHTML=i,unescape(SW.textContent)},qA=i=>{if(Vt.debug("directiveSanitizer called with",i),typeof i=="object"&&(i.length?i.forEach(a=>qA(a)):Object.keys(i).forEach(a=>{Vt.debug("Checking key",a),a.startsWith("__")&&(Vt.debug("sanitize deleting __ option",a),delete i[a]),a.includes("proto")&&(Vt.debug("sanitize deleting proto option",a),delete i[a]),a.includes("constr")&&(Vt.debug("sanitize deleting constr option",a),delete i[a]),a.includes("themeCSS")&&(Vt.debug("sanitizing themeCss option"),i[a]=AW(i[a])),a.includes("fontFamily")&&(Vt.debug("sanitizing fontFamily option"),i[a]=AW(i[a])),a.includes("altFontFamily")&&(Vt.debug("sanitizing altFontFamily option"),i[a]=AW(i[a])),VEe.includes(a)?typeof i[a]=="object"&&(Vt.debug("sanitize deleting object",a),qA(i[a])):(Vt.debug("sanitize deleting option",a),delete i[a])})),i.themeVariables){const a=Object.keys(i.themeVariables);for(const f of a){const p=i.themeVariables[f];p&&p.match&&!p.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[f]="")}}Vt.debug("After sanitization",i)},AW=i=>{let a=0,f=0;for(const p of i){if(a{if(!p)return;const v=i.node().getBBox();i.append("text").text(p).attr("x",v.x+v.width/2).attr("y",-f).attr("class",a)},HA=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]},ho={assignWithDepth:rd,wrapLabel:VIt,calculateTextHeight:sdt,calculateTextWidth:h3,calculateTextDimensions:adt,detectInit:sSe,detectDirective:$It,isSubstringInArray:aSe,interpolateToCurve:Zb,calcLabelPosition:lSe,calcCardinalityPosition:hSe,calcTerminalLabelPosition:fSe,formatUrl:oSe,getStylesFromArray:Jw,generateId:qIt,random:HIt,runFunc:cSe,entityDecode:wSe,initIdGenerator:vSe,directiveSanitizer:qA,sanitizeCss:AW,insertTitle:ySe,parseFontSize:HA};var UIt="comm",WIt="rule",KIt="decl",xSe="@import",kSe="@keyframes",ESe=Math.abs,odt=String.fromCharCode;function YIt(i){return i.trim()}function cdt(i,a,f){return i.replace(a,f)}function TSe(i,a){return i.indexOf(a)}function QP(i,a){return i.charCodeAt(a)|0}function ZP(i,a,f){return i.slice(a,f)}function ik(i){return i.length}function XIt(i){return i.length}function LW(i,a){return a.push(i),i}var MW=1,VA=1,QIt=0,Jb=0,Bf=0,GA="";function udt(i,a,f,p,v,m,b){return{value:i,root:a,parent:f,type:p,props:v,children:m,line:MW,column:VA,length:b,return:""}}function _Se(){return Bf}function CSe(){return Bf=Jb>0?QP(GA,--Jb):0,VA--,Bf===10&&(VA=1,MW--),Bf}function tm(){return Bf=Jb2||ldt(Bf)>3?"":" "}function MSe(i,a){for(;--a&&tm()&&!(Bf<48||Bf>102||Bf>57&&Bf<65||Bf>70&&Bf<97););return IW(i,DW()+(a<6&&cE()==32&&tm()==32))}function fdt(i){for(;tm();)switch(Bf){case i:return Jb;case 34:case 39:i!==34&&i!==39&&fdt(Bf);break;case 40:i===41&&fdt(i);break;case 92:tm();break}return Jb}function DSe(i,a){for(;tm()&&i+Bf!==47+10;)if(i+Bf===42+42&&cE()===47)break;return"/*"+IW(a,Jb-1)+"*"+odt(i===47?i:tm())}function ISe(i){for(;!ldt(cE());)tm();return IW(i,Jb)}function OSe(i){return ASe(OW("",null,null,null,[""],i=SSe(i),0,[0],i))}function OW(i,a,f,p,v,m,b,E,C){for(var A=0,N=0,F=b,j=0,R=0,H=0,Y=1,rt=1,J=1,it=0,ht="",Tt=v,yt=m,vt=p,ut=ht;rt;)switch(H=it,it=tm()){case 40:if(H!=108&&QP(ut,F-1)==58){TSe(ut+=cdt(hdt(it),"&","&\f"),"&\f")!=-1&&(J=-1);break}case 34:case 39:case 91:ut+=hdt(it);break;case 9:case 10:case 13:case 32:ut+=LSe(H);break;case 92:ut+=MSe(DW()-1,7);continue;case 47:switch(cE()){case 42:case 47:LW(PSe(DSe(tm(),DW()),a,f),C);break;default:ut+="/"}break;case 123*Y:E[A++]=ik(ut)*J;case 125*Y:case 59:case 0:switch(it){case 0:case 125:rt=0;case 59+N:R>0&&ik(ut)-F&&LW(R>32?JIt(ut+";",p,f,F-1):JIt(cdt(ut," ","")+";",p,f,F-2),C);break;case 59:ut+=";";default:if(LW(vt=ZIt(ut,a,f,A,N,v,E,ht,Tt=[],yt=[],F),m),it===123)if(N===0)OW(ut,a,vt,vt,Tt,m,F,E,yt);else switch(j===99&&QP(ut,3)===110?100:j){case 100:case 109:case 115:OW(i,vt,vt,p&&LW(ZIt(i,vt,vt,0,0,v,E,ht,v,Tt=[],F),yt),v,yt,F,E,p?Tt:yt);break;default:OW(ut,vt,vt,vt,[""],yt,0,E,yt)}}A=N=R=0,Y=J=1,ht=ut="",F=b;break;case 58:F=1+ik(ut),R=H;default:if(Y<1){if(it==123)--Y;else if(it==125&&Y++==0&&CSe()==125)continue}switch(ut+=odt(it),it*Y){case 38:J=N>0?1:(ut+="\f",-1);break;case 44:E[A++]=(ik(ut)-1)*J,J=1;break;case 64:cE()===45&&(ut+=hdt(tm())),j=cE(),N=F=ik(ht=ut+=ISe(DW())),it++;break;case 45:H===45&&ik(ut)==2&&(Y=0)}}return m}function ZIt(i,a,f,p,v,m,b,E,C,A,N){for(var F=v-1,j=v===0?m:[""],R=XIt(j),H=0,Y=0,rt=0;H0?j[J]+" "+it:cdt(it,/&\f/g,j[J])))&&(C[rt++]=ht);return udt(i,a,f,v===0?WIt:E,C,A,N)}function PSe(i,a,f){return udt(i,a,f,UIt,odt(_Se()),ZP(i,2,-2),0)}function JIt(i,a,f,p){return udt(i,a,f,KIt,ZP(i,0,p),ZP(i,p+1,-1),p)}function ddt(i,a){for(var f="",p=XIt(i),v=0;v
/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>OMe);return{id:eOt,diagram:i}}},nOt="flowchart",BSe={id:nOt,detector:(i,a)=>{var f,p;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>_$e);return{id:nOt,diagram:i}}},rOt="flowchart-v2",RSe={id:rOt,detector:(i,a)=>{var f,p,v;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((v=a==null?void 0:a.flowchart)==null?void 0:v.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>C$e);return{id:rOt,diagram:i}}},iOt="er",jSe={id:iOt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>J$e);return{id:iOt,diagram:i}}},sOt="gitGraph",$Se={id:sOt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>_ze);return{id:sOt,diagram:i}}},aOt="gantt",zSe={id:aOt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>pqe);return{id:aOt,diagram:i}}},oOt="info",qSe={id:oOt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>vqe);return{id:oOt,diagram:i}}},cOt="pie",HSe={id:cOt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xqe);return{id:cOt,diagram:i}}},uOt="quadrantChart",VSe={id:uOt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Bqe);return{id:uOt,diagram:i}}},lOt="requirement",GSe={id:lOt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Wqe);return{id:lOt,diagram:i}}},hOt="sequence",USe={id:hOt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>tVe);return{id:hOt,diagram:i}}},fOt="class",WSe={id:fOt,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(()=>kVe);return{id:fOt,diagram:i}}},dOt="classDiagram",KSe={id:dOt,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(()=>AVe);return{id:dOt,diagram:i}}},gOt="state",YSe={id:gOt,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(()=>bGe);return{id:gOt,diagram:i}}},pOt="stateDiagram",XSe={id:pOt,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(()=>NGe);return{id:pOt,diagram:i}}},bOt="journey",QSe={id:bOt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>eUe);return{id:bOt,diagram:i}}},ZSe=()=>"",vOt={setConf:function(){},draw:(i,a,f)=>{try{Vt.debug(`Renering svg for syntax error
+`);const p=wr("#"+a),v=p.append("g");v.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),v.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),v.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),v.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),v.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),v.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),v.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),v.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+f),p.attr("height",100),p.attr("width",500),p.attr("viewBox","768 0 912 512")}catch(p){Vt.error("Error while rendering info diagram"),Vt.error(mSe(p))}}},JSe={db:{clear:()=>{}},styles:ZSe,renderer:vOt,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},wOt="flowchart-elk",tAe={id:wOt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>vUe);return{id:wOt,diagram:i}}},mOt="timeline",eAe={id:mOt,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>FUe);return{id:mOt,diagram:i}}},yOt="mindmap",nAe={id:yOt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>fWe);return{id:yOt,diagram:i}}},xOt="sankey",rAe={id:xOt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>qWe);return{id:xOt,diagram:i}}};let kOt=!1;const gdt=()=>{kOt||(kOt=!0,kW("error",JSe,i=>i.toLowerCase().trim()==="error"),kW("---",{db:{clear:()=>{}},styles:{},renderer:{},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),OIt(FSe,KSe,WSe,jSe,zSe,qSe,HSe,GSe,USe,tAe,RSe,BSe,nAe,eAe,$Se,XSe,YSe,QSe,VSe,rAe))},iAe=i=>i.trimStart().replace(/^\s*%%(?!{)[^\n]+\n?/gm,"");class EOt{constructor(a){var m,b;this.text=a,this.type="graph",this.text+=`
+`;const f=Me();try{this.type=EW(a,f)}catch(E){this.type="error",this.detectError=E}const p=ndt(this.type);Vt.debug("Type "+this.type),this.db=p.db,(b=(m=this.db).clear)==null||b.call(m),this.renderer=p.renderer,this.parser=p.parser;const v=this.parser.parse.bind(this.parser);this.parser.parse=E=>v(iAe(P_e(E,this.db))),this.parser.parser.yy=this.db,p.init&&(p.init(f),Vt.info("Initialized diagram "+this.type,f)),this.parse()}parse(){var a,f;if(this.detectError)throw this.detectError;(f=(a=this.db).clear)==null||f.call(a),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 pdt=async i=>{const a=EW(i,Me());try{ndt(a)}catch{const p=tCe(a);if(!p)throw new IIt(`Diagram ${a} not found.`);const{id:v,diagram:m}=await p();kW(v,m)}return new EOt(i)};let bdt=[];const sAe=i=>{bdt.push(i)},aAe=()=>{bdt.forEach(i=>{i()}),bdt=[]};var oAe=Object.prototype;function PW(i){var a=i&&i.constructor,f=typeof a=="function"&&a.prototype||oAe;return i===f}function TOt(i,a){return function(f){return i(a(f))}}var cAe=TOt(Object.keys,Object);const uAe=cAe;var lAe=Object.prototype,hAe=lAe.hasOwnProperty;function _Ot(i){if(!PW(i))return uAe(i);var a=[];for(var f in Object(i))hAe.call(i,f)&&f!="constructor"&&a.push(f);return a}var fAe=aE(Zw,"DataView");const vdt=fAe;var dAe=aE(Zw,"Promise");const wdt=dAe;var gAe=aE(Zw,"Set");const UA=gAe;var pAe=aE(Zw,"WeakMap");const mdt=pAe;var COt="[object Map]",bAe="[object Object]",SOt="[object Promise]",AOt="[object Set]",LOt="[object WeakMap]",MOt="[object DataView]",vAe=sE(vdt),wAe=sE(XP),mAe=sE(wdt),yAe=sE(UA),xAe=sE(mdt),uE=iE;(vdt&&uE(new vdt(new ArrayBuffer(1)))!=MOt||XP&&uE(new XP)!=COt||wdt&&uE(wdt.resolve())!=SOt||UA&&uE(new UA)!=AOt||mdt&&uE(new mdt)!=LOt)&&(uE=function(i){var a=iE(i),f=a==bAe?i.constructor:void 0,p=f?sE(f):"";if(p)switch(p){case vAe:return MOt;case wAe:return COt;case mAe:return SOt;case yAe:return AOt;case xAe:return LOt}return a});const WA=uE;function f3(i){return i!=null&&typeof i=="object"}var kAe="[object Arguments]";function DOt(i){return f3(i)&&iE(i)==kAe}var IOt=Object.prototype,EAe=IOt.hasOwnProperty,TAe=IOt.propertyIsEnumerable,_Ae=DOt(function(){return arguments}())?DOt:function(i){return f3(i)&&EAe.call(i,"callee")&&!TAe.call(i,"callee")};const KA=_Ae;var CAe=Array.isArray;const Rf=CAe;var SAe=9007199254740991;function ydt(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=SAe}function sk(i){return i!=null&&ydt(i.length)&&!jA(i)}function AAe(){return!1}var OOt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,POt=OOt&&typeof module=="object"&&module&&!module.nodeType&&module,LAe=POt&&POt.exports===OOt,NOt=LAe?Zw.Buffer:void 0,MAe=NOt?NOt.isBuffer:void 0,DAe=MAe||AAe;const YA=DAe;var IAe="[object Arguments]",OAe="[object Array]",PAe="[object Boolean]",NAe="[object Date]",FAe="[object Error]",BAe="[object Function]",RAe="[object Map]",jAe="[object Number]",$Ae="[object Object]",zAe="[object RegExp]",qAe="[object Set]",HAe="[object String]",VAe="[object WeakMap]",GAe="[object ArrayBuffer]",UAe="[object DataView]",WAe="[object Float32Array]",KAe="[object Float64Array]",YAe="[object Int8Array]",XAe="[object Int16Array]",QAe="[object Int32Array]",ZAe="[object Uint8Array]",JAe="[object Uint8ClampedArray]",tLe="[object Uint16Array]",eLe="[object Uint32Array]",_l={};_l[WAe]=_l[KAe]=_l[YAe]=_l[XAe]=_l[QAe]=_l[ZAe]=_l[JAe]=_l[tLe]=_l[eLe]=!0,_l[IAe]=_l[OAe]=_l[GAe]=_l[PAe]=_l[UAe]=_l[NAe]=_l[FAe]=_l[BAe]=_l[RAe]=_l[jAe]=_l[$Ae]=_l[zAe]=_l[qAe]=_l[HAe]=_l[VAe]=!1;function nLe(i){return f3(i)&&ydt(i.length)&&!!_l[iE(i)]}function NW(i){return function(a){return i(a)}}var FOt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,JP=FOt&&typeof module=="object"&&module&&!module.nodeType&&module,rLe=JP&&JP.exports===FOt,xdt=rLe&&NIt.process,iLe=function(){try{var i=JP&&JP.require&&JP.require("util").types;return i||xdt&&xdt.binding&&xdt.binding("util")}catch{}}();const XA=iLe;var BOt=XA&&XA.isTypedArray,sLe=BOt?NW(BOt):nLe;const FW=sLe;var aLe="[object Map]",oLe="[object Set]",cLe=Object.prototype,uLe=cLe.hasOwnProperty;function tN(i){if(i==null)return!0;if(sk(i)&&(Rf(i)||typeof i=="string"||typeof i.splice=="function"||YA(i)||FW(i)||KA(i)))return!i.length;var a=WA(i);if(a==aLe||a==oLe)return!i.size;if(PW(i))return!_Ot(i).length;for(var f in i)if(uLe.call(i,f))return!1;return!0}const lLe="graphics-document document";function hLe(i,a){i.attr("role",lLe),a!==""&&i.attr("aria-roledescription",a)}function fLe(i,a,f,p){if(i.insert!==void 0){if(f){const v=`chart-desc-${p}`;i.attr("aria-describedby",v),i.insert("desc",":first-child").attr("id",v).text(f)}if(a){const v=`chart-title-${p}`;i.attr("aria-labelledby",v),i.insert("title",":first-child").attr("id",v).text(a)}}}const ROt=["graph","flowchart","flowchart-v2","flowchart-elk","stateDiagram","stateDiagram-v2"],dLe=5e4,gLe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",pLe="sandbox",bLe="loose",vLe="http://www.w3.org/2000/svg",wLe="http://www.w3.org/1999/xlink",mLe="http://www.w3.org/1999/xhtml",yLe="100%",xLe="100%",kLe="border:0;margin:0;",ELe="margin:0",TLe="allow-top-navigation-by-user-activation allow-popups",_Le='The "iframe" tag is not supported by your browser.',CLe=["foreignobject"],SLe=["dominant-baseline"];async function ALe(i,a){gdt();try{(await pdt(i)).parse()}catch(f){if(a!=null&&a.suppressErrors)return!1;throw f}return!0}const LLe=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 p=f.substring(1,f.length-1);return/^\+?\d+$/.test(p)?"fl°°"+p+"¶ß":"fl°"+p+"¶ß"}),a},eN=function(i){return i.replace(/fl°°/g,"").replace(/fl°/g,"&").replace(/¶ß/g,";")},jOt=(i,a,f=[])=>`
+.${i} ${a} { ${f.join(" !important; ")} !important; }`,MLe=(i,a,f={})=>{var v;let p="";if(i.themeCSS!==void 0&&(p+=`
${i.themeCSS}`),i.fontFamily!==void 0&&(p+=`
:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(p+=`
-:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!cL(f)&&HOt.includes(a)){const C=i.htmlLabels||((v=i.flowchart)==null?void 0:v.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const M in f){const P=f[M];cL(P.styles)||C.forEach(B=>{p+=VOt(P.id,B,P.styles)}),cL(P.textStyles)||(p+=VOt(P.id,"tspan",P.textStyles))}}return p},NLe=(i,a,f,p)=>{const v=OLe(i,a,f),m=K_e(a,v,i.themeVariables);return _dt(BSe(`${p}{${m}}`),jSe)},PLe=(i="",a,f)=>{let p=i;return!f&&!a&&(p=p.replace(/marker-end="url\(.*?#/g,'marker-end="url(#')),p=lP(p),p=p.replace(/
/g,"
"),p},FLe=(i="",a)=>{const f=a?a.viewBox.baseVal.height+"px":TLe,p=btoa('
'+i+"");return``},GOt=(i,a,f,p,v)=>{const m=i.append("div");m.attr("id",f),p&&m.attr("style",p);const b=m.append("svg").attr("id",a).attr("width","100%").attr("xmlns",yLe);return v&&b.attr("xmlns:xlink",v),b.append("g"),i};function UOt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const BLe=(i,a,f,p)=>{var v,m,b;(v=i.getElementById(a))==null||v.remove(),(m=i.getElementById(f))==null||m.remove(),(b=i.getElementById(p))==null||b.remove()},RLe=async function(i,a,f){var Mt,Z,Zt,vt;Cdt(),SW();const p=lo.detectInit(a);p&&(JA(p),OIt(p));const v=Ie();$t.debug(v),a.length>((v==null?void 0:v.maxTextSize)??bLe)&&(a=vLe),a=a.replace(/\r\n?/g,`
-`),a=a.replace(/<(\w+)([^>]*)>/g,(ze,rt,Ae)=>"<"+rt+Ae.replace(/="([^"]*)"/g,"='$1'")+">");const m="#"+i,b="i"+i,E="#"+b,C="d"+i,M="#"+C;let P=Dr("body");const B=v.securityLevel===wLe,j=v.securityLevel===mLe,R=v.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),B){const ze=UOt(Dr(f),b);P=Dr(ze.nodes()[0].contentDocument.body),P.node().style.margin=0}else P=Dr(f);GOt(P,i,C,`font-family: ${R}`,xLe)}else{if(BLe(document,i,C,b),B){const ze=UOt(Dr("body"),b);P=Dr(ze.nodes()[0].contentDocument.body),P.node().style.margin=0}else P=Dr("body");GOt(P,i,C)}a=ILe(a);let H,Y;try{H=await Sdt(a)}catch(ze){H=new AOt("error"),Y=ze}const st=P.select(M).node(),et=H.type,it=st.firstChild,dt=it.firstChild,Tt=HOt.includes(et)?H.renderer.getClasses(a,H):{},yt=NLe(v,et,Tt,m),xt=document.createElement("style");xt.innerHTML=yt,it.insertBefore(xt,dt);try{await H.renderer.draw(a,i,aOt,H)}catch(ze){throw EOt.draw(a,i,aOt),ze}const ft=P.select(`${M} svg`),wt=(Z=(Mt=H.db).getAccTitle)==null?void 0:Z.call(Mt),nt=(vt=(Zt=H.db).getAccDescription)==null?void 0:vt.call(Zt);$Le(et,ft,wt,nt),P.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",kLe);let kt=P.select(M).node().innerHTML;if($t.debug("config.arrowMarkerAbsolute",v.arrowMarkerAbsolute),kt=PLe(kt,B,d1(v.arrowMarkerAbsolute)),B){const ze=P.select(M+" svg").node();kt=FLe(kt,ze)}else j||(kt=fW.sanitize(kt,{ADD_TAGS:LLe,ADD_ATTR:DLe}));if(uAe(),Y)throw Y;const ht=Dr(B?E:M).node();return ht&&"remove"in ht&&ht.remove(),{svg:kt,bindFunctions:H.db.bindFunctions}};function jLe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),z_e(i),i!=null&&i.theme&&i.theme in E5?i.themeVariables=E5[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=E5.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?$_e(i):DIt();Qft(a.logLevel),Cdt()}function $Le(i,a,f,p){gLe(a,i),pLe(a,f,p,a.attr("id"))}const p1=Object.freeze({render:RLe,parse:MLe,parseDirective:ddt,getDiagramFromText:Sdt,initialize:jLe,getConfig:Ie,setConfig:MIt,getSiteConfig:DIt,updateSiteConfig:q_e,reset:()=>{SW()},globalReset:()=>{SW(WA)},defaultConfig:WA});Qft(Ie().logLevel),SW(Ie());const zLe=(i,a,f)=>{$t.warn(i),QIt(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}))},WOt=async function(i={querySelector:".mermaid"}){try{await qLe(i)}catch(a){if(QIt(a)&&$t.error(a.str),F2.parseError&&F2.parseError(a),!i.suppressErrors)throw $t.error("Use the suppressErrors option to suppress these errors"),a}},qLe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const p=p1.getConfig();$t.debug(`${i?"":"No "}Callback function found`);let v;if(f)v=f;else if(a)v=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");$t.debug(`Found ${v.length} diagrams`),(p==null?void 0:p.startOnLoad)!==void 0&&($t.debug("Start On Load: "+(p==null?void 0:p.startOnLoad)),p1.updateSiteConfig({startOnLoad:p==null?void 0:p.startOnLoad}));const m=new lo.initIdGenerator(p.deterministicIds,p.deterministicIDSeed);let b;const E=[];for(const C of Array.from(v)){$t.info("Rendering diagram: "+C.id);/*! Check if previously processed */if(C.getAttribute("data-processed"))continue;C.setAttribute("data-processed","true");const M=`mermaid-${m.next()}`;b=C.innerHTML,b=yA(lo.entityDecode(b)).trim().replace(/
/gi,"
");const P=lo.detectInit(b);P&&$t.debug("Detected early reinit: ",P);try{const{svg:B,bindFunctions:j}=await QOt(M,b,C);C.innerHTML=B,i&&await i(M),j&&j(C)}catch(B){zLe(B,E,F2.parseError)}}if(E.length>0)throw E[0]},KOt=function(i){p1.initialize(i)},HLe=async function(i,a,f){$t.warn("mermaid.init is deprecated. Please use run instead."),i&&KOt(i);const p={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?p.querySelector=a:a&&(a instanceof HTMLElement?p.nodes=[a]:p.nodes=a),await WOt(p)},VLe=async(i,{lazyLoad:a=!0}={})=>{$It(...i),a===!1&&await rCe()},YOt=function(){if(F2.startOnLoad){const{startOnLoad:i}=p1.getConfig();i&&F2.run().catch(a=>$t.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*!
+:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!tN(f)&&ROt.includes(a)){const C=i.htmlLabels||((v=i.flowchart)==null?void 0:v.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const A in f){const N=f[A];tN(N.styles)||C.forEach(F=>{p+=jOt(N.id,F,N.styles)}),tN(N.textStyles)||(p+=jOt(N.id,"tspan",N.textStyles))}}return p},DLe=(i,a,f,p)=>{const v=MLe(i,a,f),m=V_e(a,v,i.themeVariables);return ddt(OSe(`${p}{${m}}`),NSe)},ILe=(i="",a,f)=>{let p=i;return!f&&!a&&(p=p.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),p=eN(p),p=p.replace(/
/g,"
"),p},OLe=(i="",a)=>{const f=a?a.viewBox.baseVal.height+"px":xLe,p=btoa(''+i+"");return``},$Ot=(i,a,f,p,v)=>{const m=i.append("div");m.attr("id",f),p&&m.attr("style",p);const b=m.append("svg").attr("id",a).attr("width","100%").attr("xmlns",vLe);return v&&b.attr("xmlns:xlink",v),b.append("g"),i};function zOt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const PLe=(i,a,f,p)=>{var v,m,b;(v=i.getElementById(a))==null||v.remove(),(m=i.getElementById(f))==null||m.remove(),(b=i.getElementById(p))==null||b.remove()},NLe=async function(i,a,f){var Ct,nt,Nt,dt;gdt(),wW();const p=ho.detectInit(a);p&&(qA(p),SIt(p));const v=Me();Vt.debug(v),a.length>((v==null?void 0:v.maxTextSize)??dLe)&&(a=gLe),a=a.replace(/\r\n?/g,`
+`),a=a.replace(/<(\w+)([^>]*)>/g,(Ft,X,Bt)=>"<"+X+Bt.replace(/="([^"]*)"/g,"='$1'")+">");const m="#"+i,b="i"+i,E="#"+b,C="d"+i,A="#"+C;let N=wr("body");const F=v.securityLevel===pLe,j=v.securityLevel===bLe,R=v.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),F){const Ft=zOt(wr(f),b);N=wr(Ft.nodes()[0].contentDocument.body),N.node().style.margin=0}else N=wr(f);$Ot(N,i,C,`font-family: ${R}`,wLe)}else{if(PLe(document,i,C,b),F){const Ft=zOt(wr("body"),b);N=wr(Ft.nodes()[0].contentDocument.body),N.node().style.margin=0}else N=wr("body");$Ot(N,i,C)}a=LLe(a);let H,Y;try{H=await pdt(a)}catch(Ft){H=new EOt("error"),Y=Ft}const rt=N.select(A).node(),J=H.type,it=rt.firstChild,ht=it.firstChild,Tt=ROt.includes(J)?H.renderer.getClasses(a,H):{},yt=DLe(v,J,Tt,m),vt=document.createElement("style");vt.innerHTML=yt,it.insertBefore(vt,ht);try{await H.renderer.draw(a,i,tOt,H)}catch(Ft){throw vOt.draw(a,i,tOt),Ft}const ut=N.select(`${A} svg`),xt=(nt=(Ct=H.db).getAccTitle)==null?void 0:nt.call(Ct),st=(dt=(Nt=H.db).getAccDescription)==null?void 0:dt.call(Nt);BLe(J,ut,xt,st),N.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",mLe);let Et=N.select(A).node().innerHTML;if(Vt.debug("config.arrowMarkerAbsolute",v.arrowMarkerAbsolute),Et=ILe(Et,F,l1(v.arrowMarkerAbsolute)),F){const Ft=N.select(A+" svg").node();Et=OLe(Et,Ft)}else j||(Et=rW.sanitize(Et,{ADD_TAGS:CLe,ADD_ATTR:SLe}));if(aAe(),Y)throw Y;const pt=wr(F?E:A).node();return pt&&"remove"in pt&&pt.remove(),{svg:Et,bindFunctions:H.db.bindFunctions}};function FLe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),F_e(i),i!=null&&i.theme&&i.theme in m5?i.themeVariables=m5[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=m5.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?N_e(i):TIt();jft(a.logLevel),gdt()}function BLe(i,a,f,p){hLe(a,i),fLe(a,f,p,a.attr("id"))}const f1=Object.freeze({render:NLe,parse:ALe,parseDirective:edt,getDiagramFromText:pdt,initialize:FLe,getConfig:Me,setConfig:_It,getSiteConfig:TIt,updateSiteConfig:B_e,reset:()=>{wW()},globalReset:()=>{wW(eE)},defaultConfig:eE});jft(Me().logLevel),wW(Me());const RLe=(i,a,f)=>{Vt.warn(i),GIt(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}))},qOt=async function(i={querySelector:".mermaid"}){try{await jLe(i)}catch(a){if(GIt(a)&&Vt.error(a.str),R2.parseError&&R2.parseError(a),!i.suppressErrors)throw Vt.error("Use the suppressErrors option to suppress these errors"),a}},jLe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const p=f1.getConfig();Vt.debug(`${i?"":"No "}Callback function found`);let v;if(f)v=f;else if(a)v=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Vt.debug(`Found ${v.length} diagrams`),(p==null?void 0:p.startOnLoad)!==void 0&&(Vt.debug("Start On Load: "+(p==null?void 0:p.startOnLoad)),f1.updateSiteConfig({startOnLoad:p==null?void 0:p.startOnLoad}));const m=new ho.initIdGenerator(p.deterministicIds,p.deterministicIDSeed);let b;const E=[];for(const C of Array.from(v)){Vt.info("Rendering diagram: "+C.id);/*! Check if previously processed */if(C.getAttribute("data-processed"))continue;C.setAttribute("data-processed","true");const A=`mermaid-${m.next()}`;b=C.innerHTML,b=wA(ho.entityDecode(b)).trim().replace(/
/gi,"
");const N=ho.detectInit(b);N&&Vt.debug("Detected early reinit: ",N);try{const{svg:F,bindFunctions:j}=await UOt(A,b,C);C.innerHTML=F,i&&await i(A),j&&j(C)}catch(F){RLe(F,E,R2.parseError)}}if(E.length>0)throw E[0]},HOt=function(i){f1.initialize(i)},$Le=async function(i,a,f){Vt.warn("mermaid.init is deprecated. Please use run instead."),i&&HOt(i);const p={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?p.querySelector=a:a&&(a instanceof HTMLElement?p.nodes=[a]:p.nodes=a),await qOt(p)},zLe=async(i,{lazyLoad:a=!0}={})=>{OIt(...i),a===!1&&await J_e()},VOt=function(){if(R2.startOnLoad){const{startOnLoad:i}=f1.getConfig();i&&R2.run().catch(a=>Vt.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*!
* Wait for document loaded before starting the execution
- */window.addEventListener("load",YOt,!1)}const GLe=function(i){F2.parseError=i},UW=[];let Ndt=!1;const XOt=async()=>{if(!Ndt){for(Ndt=!0;UW.length>0;){const i=UW.shift();if(i)try{await i()}catch(a){$t.error("Error executing queue",a)}}Ndt=!1}},ULe=async(i,a)=>new Promise((f,p)=>{const v=()=>new Promise((m,b)=>{p1.parse(i,a).then(E=>{m(E),f(E)},E=>{var C;$t.error("Error parsing",E),(C=F2.parseError)==null||C.call(F2,E),b(E),p(E)})});UW.push(v),XOt().catch(p)}),QOt=(i,a,f)=>new Promise((p,v)=>{const m=()=>new Promise((b,E)=>{p1.render(i,a,f).then(C=>{b(C),p(C)},C=>{var M;$t.error("Error parsing",C),(M=F2.parseError)==null||M.call(F2,C),E(C),v(C)})});UW.push(m),XOt().catch(v)}),F2={startOnLoad:!0,mermaidAPI:p1,parse:ULe,render:QOt,init:HLe,run:WOt,registerExternalDiagrams:VLe,initialize:KOt,parseError:void 0,contentLoaded:YOt,setParseErrorHandler:GLe,detectType:IW};var WW=function(){var i=function(qi,zn,Zn,Pr){for(Zn=Zn||{},Pr=qi.length;Pr--;Zn[qi[Pr]]=zn);return Zn},a=[1,6],f=[1,7],p=[1,8],v=[1,9],m=[1,16],b=[1,11],E=[1,12],C=[1,13],M=[1,14],P=[1,15],B=[1,27],j=[1,33],R=[1,34],H=[1,35],Y=[1,36],st=[1,37],et=[1,72],it=[1,73],dt=[1,74],Tt=[1,75],yt=[1,76],xt=[1,77],ft=[1,78],wt=[1,38],nt=[1,39],kt=[1,40],gt=[1,41],ht=[1,42],Mt=[1,43],Z=[1,44],Zt=[1,45],vt=[1,46],ze=[1,47],rt=[1,48],Ae=[1,49],ne=[1,50],Ot=[1,51],Nt=[1,52],xe=[1,53],cn=[1,54],Fn=[1,55],Te=[1,56],vr=[1,57],Ee=[1,59],le=[1,60],ke=[1,61],me=[1,62],Gt=[1,63],Le=[1,64],Ht=[1,65],ln=[1,66],Rt=[1,67],We=[1,68],se=[1,69],Or=[24,52],Ce=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],Nr=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],he=[1,94],ir=[1,95],Yn=[1,96],tr=[1,97],cr=[15,24,52],gn=[7,8,9,10,18,22,25,26,27,28],En=[15,24,43,52],Mr=[15,24,43,52,86,87,89,90],lr=[15,43],Ki=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],Is={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(zn,Zn,Pr,In,xi,Mn,rc){var qn=Mn.length-1;switch(xi){case 4:In.setDirection("TB");break;case 5:In.setDirection("BT");break;case 6:In.setDirection("RL");break;case 7:In.setDirection("LR");break;case 11:In.parseDirective("%%{","open_directive");break;case 12:break;case 13:Mn[qn]=Mn[qn].trim().replace(/'/g,'"'),In.parseDirective(Mn[qn],"arg_directive");break;case 14:In.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:In.setC4Type(Mn[qn-3]);break;case 26:In.setTitle(Mn[qn].substring(6)),this.$=Mn[qn].substring(6);break;case 27:In.setAccDescription(Mn[qn].substring(15)),this.$=Mn[qn].substring(15);break;case 28:this.$=Mn[qn].trim(),In.setTitle(this.$);break;case 29:case 30:this.$=Mn[qn].trim(),In.setAccDescription(this.$);break;case 35:case 36:Mn[qn].splice(2,0,"ENTERPRISE"),In.addPersonOrSystemBoundary(...Mn[qn]),this.$=Mn[qn];break;case 37:In.addPersonOrSystemBoundary(...Mn[qn]),this.$=Mn[qn];break;case 38:Mn[qn].splice(2,0,"CONTAINER"),In.addContainerBoundary(...Mn[qn]),this.$=Mn[qn];break;case 39:In.addDeploymentNode("node",...Mn[qn]),this.$=Mn[qn];break;case 40:In.addDeploymentNode("nodeL",...Mn[qn]),this.$=Mn[qn];break;case 41:In.addDeploymentNode("nodeR",...Mn[qn]),this.$=Mn[qn];break;case 42:In.popBoundaryParseStack();break;case 46:In.addPersonOrSystem("person",...Mn[qn]),this.$=Mn[qn];break;case 47:In.addPersonOrSystem("external_person",...Mn[qn]),this.$=Mn[qn];break;case 48:In.addPersonOrSystem("system",...Mn[qn]),this.$=Mn[qn];break;case 49:In.addPersonOrSystem("system_db",...Mn[qn]),this.$=Mn[qn];break;case 50:In.addPersonOrSystem("system_queue",...Mn[qn]),this.$=Mn[qn];break;case 51:In.addPersonOrSystem("external_system",...Mn[qn]),this.$=Mn[qn];break;case 52:In.addPersonOrSystem("external_system_db",...Mn[qn]),this.$=Mn[qn];break;case 53:In.addPersonOrSystem("external_system_queue",...Mn[qn]),this.$=Mn[qn];break;case 54:In.addContainer("container",...Mn[qn]),this.$=Mn[qn];break;case 55:In.addContainer("container_db",...Mn[qn]),this.$=Mn[qn];break;case 56:In.addContainer("container_queue",...Mn[qn]),this.$=Mn[qn];break;case 57:In.addContainer("external_container",...Mn[qn]),this.$=Mn[qn];break;case 58:In.addContainer("external_container_db",...Mn[qn]),this.$=Mn[qn];break;case 59:In.addContainer("external_container_queue",...Mn[qn]),this.$=Mn[qn];break;case 60:In.addComponent("component",...Mn[qn]),this.$=Mn[qn];break;case 61:In.addComponent("component_db",...Mn[qn]),this.$=Mn[qn];break;case 62:In.addComponent("component_queue",...Mn[qn]),this.$=Mn[qn];break;case 63:In.addComponent("external_component",...Mn[qn]),this.$=Mn[qn];break;case 64:In.addComponent("external_component_db",...Mn[qn]),this.$=Mn[qn];break;case 65:In.addComponent("external_component_queue",...Mn[qn]),this.$=Mn[qn];break;case 67:In.addRel("rel",...Mn[qn]),this.$=Mn[qn];break;case 68:In.addRel("birel",...Mn[qn]),this.$=Mn[qn];break;case 69:In.addRel("rel_u",...Mn[qn]),this.$=Mn[qn];break;case 70:In.addRel("rel_d",...Mn[qn]),this.$=Mn[qn];break;case 71:In.addRel("rel_l",...Mn[qn]),this.$=Mn[qn];break;case 72:In.addRel("rel_r",...Mn[qn]),this.$=Mn[qn];break;case 73:In.addRel("rel_b",...Mn[qn]),this.$=Mn[qn];break;case 74:Mn[qn].splice(0,1),In.addRel("rel",...Mn[qn]),this.$=Mn[qn];break;case 75:In.updateElStyle("update_el_style",...Mn[qn]),this.$=Mn[qn];break;case 76:In.updateRelStyle("update_rel_style",...Mn[qn]),this.$=Mn[qn];break;case 77:In.updateLayoutConfig("update_layout_config",...Mn[qn]),this.$=Mn[qn];break;case 78:this.$=[Mn[qn]];break;case 79:Mn[qn].unshift(Mn[qn-1]),this.$=Mn[qn];break;case 80:case 82:this.$=Mn[qn].trim();break;case 81:let ss={};ss[Mn[qn-1].trim()]=Mn[qn].trim(),this.$=ss;break;case 83:this.$="";break}},table:[{3:1,4:2,5:3,6:4,7:a,8:f,9:p,10:v,11:5,12:10,18:m,22:b,25:E,26:C,27:M,28:P},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:a,8:f,9:p,10:v,11:5,12:10,18:m,22:b,25:E,26:C,27:M,28:P},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:B},i([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:st,39:58,40:70,42:71,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,53:32,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se},{23:79,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:st,39:58,40:70,42:71,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,53:32,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se},{23:80,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:st,39:58,40:70,42:71,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,53:32,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se},{23:81,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:st,39:58,40:70,42:71,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,53:32,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se},{23:82,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:st,39:58,40:70,42:71,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,53:32,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},i(Or,[2,20],{53:32,39:58,40:70,42:71,30:87,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se}),i(Or,[2,21]),i(Ce,[2,23],{15:[1,88]}),i(Or,[2,43],{15:[1,89]}),i(Nr,[2,26]),i(Nr,[2,27]),{35:[1,90]},{37:[1,91]},i(Nr,[2,30]),{45:92,85:93,86:he,87:ir,89:Yn,90:tr},{45:98,85:93,86:he,87:ir,89:Yn,90:tr},{45:99,85:93,86:he,87:ir,89:Yn,90:tr},{45:100,85:93,86:he,87:ir,89:Yn,90:tr},{45:101,85:93,86:he,87:ir,89:Yn,90:tr},{45:102,85:93,86:he,87:ir,89:Yn,90:tr},{45:103,85:93,86:he,87:ir,89:Yn,90:tr},{45:104,85:93,86:he,87:ir,89:Yn,90:tr},{45:105,85:93,86:he,87:ir,89:Yn,90:tr},{45:106,85:93,86:he,87:ir,89:Yn,90:tr},{45:107,85:93,86:he,87:ir,89:Yn,90:tr},{45:108,85:93,86:he,87:ir,89:Yn,90:tr},{45:109,85:93,86:he,87:ir,89:Yn,90:tr},{45:110,85:93,86:he,87:ir,89:Yn,90:tr},{45:111,85:93,86:he,87:ir,89:Yn,90:tr},{45:112,85:93,86:he,87:ir,89:Yn,90:tr},{45:113,85:93,86:he,87:ir,89:Yn,90:tr},{45:114,85:93,86:he,87:ir,89:Yn,90:tr},{45:115,85:93,86:he,87:ir,89:Yn,90:tr},{45:116,85:93,86:he,87:ir,89:Yn,90:tr},i(cr,[2,66]),{45:117,85:93,86:he,87:ir,89:Yn,90:tr},{45:118,85:93,86:he,87:ir,89:Yn,90:tr},{45:119,85:93,86:he,87:ir,89:Yn,90:tr},{45:120,85:93,86:he,87:ir,89:Yn,90:tr},{45:121,85:93,86:he,87:ir,89:Yn,90:tr},{45:122,85:93,86:he,87:ir,89:Yn,90:tr},{45:123,85:93,86:he,87:ir,89:Yn,90:tr},{45:124,85:93,86:he,87:ir,89:Yn,90:tr},{45:125,85:93,86:he,87:ir,89:Yn,90:tr},{45:126,85:93,86:he,87:ir,89:Yn,90:tr},{45:127,85:93,86:he,87:ir,89:Yn,90:tr},{30:128,39:58,40:70,42:71,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,53:32,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se},{15:[1,130],43:[1,129]},{45:131,85:93,86:he,87:ir,89:Yn,90:tr},{45:132,85:93,86:he,87:ir,89:Yn,90:tr},{45:133,85:93,86:he,87:ir,89:Yn,90:tr},{45:134,85:93,86:he,87:ir,89:Yn,90:tr},{45:135,85:93,86:he,87:ir,89:Yn,90:tr},{45:136,85:93,86:he,87:ir,89:Yn,90:tr},{45:137,85:93,86:he,87:ir,89:Yn,90:tr},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},i(gn,[2,9]),{14:142,21:B},{21:[2,13]},{1:[2,15]},i(Or,[2,22]),i(Ce,[2,24],{31:31,29:143,32:j,33:R,34:H,36:Y,38:st}),i(Or,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:j,33:R,34:H,36:Y,38:st,44:et,46:it,47:dt,48:Tt,49:yt,50:xt,51:ft,54:wt,55:nt,56:kt,57:gt,58:ht,59:Mt,60:Z,61:Zt,62:vt,63:ze,64:rt,65:Ae,66:ne,67:Ot,68:Nt,69:xe,70:cn,71:Fn,72:Te,73:vr,74:Ee,75:le,76:ke,77:me,78:Gt,79:Le,80:Ht,81:ln,82:Rt,83:We,84:se}),i(Nr,[2,28]),i(Nr,[2,29]),i(cr,[2,46]),i(En,[2,78],{85:93,45:145,86:he,87:ir,89:Yn,90:tr}),i(Mr,[2,80]),{88:[1,146]},i(Mr,[2,82]),i(Mr,[2,83]),i(cr,[2,47]),i(cr,[2,48]),i(cr,[2,49]),i(cr,[2,50]),i(cr,[2,51]),i(cr,[2,52]),i(cr,[2,53]),i(cr,[2,54]),i(cr,[2,55]),i(cr,[2,56]),i(cr,[2,57]),i(cr,[2,58]),i(cr,[2,59]),i(cr,[2,60]),i(cr,[2,61]),i(cr,[2,62]),i(cr,[2,63]),i(cr,[2,64]),i(cr,[2,65]),i(cr,[2,67]),i(cr,[2,68]),i(cr,[2,69]),i(cr,[2,70]),i(cr,[2,71]),i(cr,[2,72]),i(cr,[2,73]),i(cr,[2,74]),i(cr,[2,75]),i(cr,[2,76]),i(cr,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},i(lr,[2,35]),i(lr,[2,36]),i(lr,[2,37]),i(lr,[2,38]),i(lr,[2,39]),i(lr,[2,40]),i(lr,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},i(Ce,[2,25]),i(Or,[2,45]),i(En,[2,79]),i(Mr,[2,81]),i(cr,[2,31]),i(cr,[2,42]),i(Ki,[2,32]),i(Ki,[2,33],{15:[1,152]}),i(gn,[2,10]),i(Ki,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(zn,Zn){if(Zn.recoverable)this.trace(zn);else{var Pr=new Error(zn);throw Pr.hash=Zn,Pr}},parse:function(zn){var Zn=this,Pr=[0],In=[],xi=[null],Mn=[],rc=this.table,qn="",ss=0,Aa=0,Ya=2,Ea=1,ga=Mn.slice.call(arguments,1),Es=Object.create(this.lexer),Bs={yy:{}};for(var Ta in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ta)&&(Bs.yy[Ta]=this.yy[Ta]);Es.setInput(zn,Bs.yy),Bs.yy.lexer=Es,Bs.yy.parser=this,typeof Es.yylloc>"u"&&(Es.yylloc={});var La=Es.yylloc;Mn.push(La);var Va=Es.options&&Es.options.ranges;typeof Bs.yy.parseError=="function"?this.parseError=Bs.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function av(){var ci;return ci=In.pop()||Es.lex()||Ea,typeof ci!="number"&&(ci instanceof Array&&(In=ci,ci=In.pop()),ci=Zn.symbols_[ci]||ci),ci}for(var sl,yu,As,pp,od={},$l,zu,Gi,He;;){if(yu=Pr[Pr.length-1],this.defaultActions[yu]?As=this.defaultActions[yu]:((sl===null||typeof sl>"u")&&(sl=av()),As=rc[yu]&&rc[yu][sl]),typeof As>"u"||!As.length||!As[0]){var Er="";He=[];for($l in rc[yu])this.terminals_[$l]&&$l>Ya&&He.push("'"+this.terminals_[$l]+"'");Es.showPosition?Er="Parse error on line "+(ss+1)+`:
+ */window.addEventListener("load",VOt,!1)}const qLe=function(i){R2.parseError=i},BW=[];let kdt=!1;const GOt=async()=>{if(!kdt){for(kdt=!0;BW.length>0;){const i=BW.shift();if(i)try{await i()}catch(a){Vt.error("Error executing queue",a)}}kdt=!1}},HLe=async(i,a)=>new Promise((f,p)=>{const v=()=>new Promise((m,b)=>{f1.parse(i,a).then(E=>{m(E),f(E)},E=>{var C;Vt.error("Error parsing",E),(C=R2.parseError)==null||C.call(R2,E),b(E),p(E)})});BW.push(v),GOt().catch(p)}),UOt=(i,a,f)=>new Promise((p,v)=>{const m=()=>new Promise((b,E)=>{f1.render(i,a,f).then(C=>{b(C),p(C)},C=>{var A;Vt.error("Error parsing",C),(A=R2.parseError)==null||A.call(R2,C),E(C),v(C)})});BW.push(m),GOt().catch(v)}),R2={startOnLoad:!0,mermaidAPI:f1,parse:HLe,render:UOt,init:$Le,run:qOt,registerExternalDiagrams:zLe,initialize:HOt,parseError:void 0,contentLoaded:VOt,setParseErrorHandler:qLe,detectType:EW};var RW=function(){var i=function(Hi,Gn,Jn,Or){for(Jn=Jn||{},Or=Hi.length;Or--;Jn[Hi[Or]]=Gn);return Jn},a=[1,6],f=[1,7],p=[1,8],v=[1,9],m=[1,16],b=[1,11],E=[1,12],C=[1,13],A=[1,14],N=[1,15],F=[1,27],j=[1,33],R=[1,34],H=[1,35],Y=[1,36],rt=[1,37],J=[1,72],it=[1,73],ht=[1,74],Tt=[1,75],yt=[1,76],vt=[1,77],ut=[1,78],xt=[1,38],st=[1,39],Et=[1,40],gt=[1,41],pt=[1,42],Ct=[1,43],nt=[1,44],Nt=[1,45],dt=[1,46],Ft=[1,47],X=[1,48],Bt=[1,49],Rt=[1,50],mt=[1,51],Ot=[1,52],Gt=[1,53],Ve=[1,54],Cn=[1,55],xe=[1,56],Kn=[1,57],Se=[1,59],ee=[1,60],_e=[1,61],qe=[1,62],ce=[1,63],Ce=[1,64],he=[1,65],Re=[1,66],se=[1,67],Pe=[1,68],Qt=[1,69],vr=[24,52],$t=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],ur=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],le=[1,94],rr=[1,95],ar=[1,96],Qn=[1,97],Zn=[15,24,52],dn=[7,8,9,10,18,22,25,26,27,28],kn=[15,24,43,52],_r=[15,24,43,52,86,87,89,90],Rr=[15,43],os=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],As={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(Gn,Jn,Or,Fn,Li,Dn,Ba){var zn=Dn.length-1;switch(Li){case 4:Fn.setDirection("TB");break;case 5:Fn.setDirection("BT");break;case 6:Fn.setDirection("RL");break;case 7:Fn.setDirection("LR");break;case 11:Fn.parseDirective("%%{","open_directive");break;case 12:break;case 13:Dn[zn]=Dn[zn].trim().replace(/'/g,'"'),Fn.parseDirective(Dn[zn],"arg_directive");break;case 14:Fn.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:Fn.setC4Type(Dn[zn-3]);break;case 26:Fn.setTitle(Dn[zn].substring(6)),this.$=Dn[zn].substring(6);break;case 27:Fn.setAccDescription(Dn[zn].substring(15)),this.$=Dn[zn].substring(15);break;case 28:this.$=Dn[zn].trim(),Fn.setTitle(this.$);break;case 29:case 30:this.$=Dn[zn].trim(),Fn.setAccDescription(this.$);break;case 35:case 36:Dn[zn].splice(2,0,"ENTERPRISE"),Fn.addPersonOrSystemBoundary(...Dn[zn]),this.$=Dn[zn];break;case 37:Fn.addPersonOrSystemBoundary(...Dn[zn]),this.$=Dn[zn];break;case 38:Dn[zn].splice(2,0,"CONTAINER"),Fn.addContainerBoundary(...Dn[zn]),this.$=Dn[zn];break;case 39:Fn.addDeploymentNode("node",...Dn[zn]),this.$=Dn[zn];break;case 40:Fn.addDeploymentNode("nodeL",...Dn[zn]),this.$=Dn[zn];break;case 41:Fn.addDeploymentNode("nodeR",...Dn[zn]),this.$=Dn[zn];break;case 42:Fn.popBoundaryParseStack();break;case 46:Fn.addPersonOrSystem("person",...Dn[zn]),this.$=Dn[zn];break;case 47:Fn.addPersonOrSystem("external_person",...Dn[zn]),this.$=Dn[zn];break;case 48:Fn.addPersonOrSystem("system",...Dn[zn]),this.$=Dn[zn];break;case 49:Fn.addPersonOrSystem("system_db",...Dn[zn]),this.$=Dn[zn];break;case 50:Fn.addPersonOrSystem("system_queue",...Dn[zn]),this.$=Dn[zn];break;case 51:Fn.addPersonOrSystem("external_system",...Dn[zn]),this.$=Dn[zn];break;case 52:Fn.addPersonOrSystem("external_system_db",...Dn[zn]),this.$=Dn[zn];break;case 53:Fn.addPersonOrSystem("external_system_queue",...Dn[zn]),this.$=Dn[zn];break;case 54:Fn.addContainer("container",...Dn[zn]),this.$=Dn[zn];break;case 55:Fn.addContainer("container_db",...Dn[zn]),this.$=Dn[zn];break;case 56:Fn.addContainer("container_queue",...Dn[zn]),this.$=Dn[zn];break;case 57:Fn.addContainer("external_container",...Dn[zn]),this.$=Dn[zn];break;case 58:Fn.addContainer("external_container_db",...Dn[zn]),this.$=Dn[zn];break;case 59:Fn.addContainer("external_container_queue",...Dn[zn]),this.$=Dn[zn];break;case 60:Fn.addComponent("component",...Dn[zn]),this.$=Dn[zn];break;case 61:Fn.addComponent("component_db",...Dn[zn]),this.$=Dn[zn];break;case 62:Fn.addComponent("component_queue",...Dn[zn]),this.$=Dn[zn];break;case 63:Fn.addComponent("external_component",...Dn[zn]),this.$=Dn[zn];break;case 64:Fn.addComponent("external_component_db",...Dn[zn]),this.$=Dn[zn];break;case 65:Fn.addComponent("external_component_queue",...Dn[zn]),this.$=Dn[zn];break;case 67:Fn.addRel("rel",...Dn[zn]),this.$=Dn[zn];break;case 68:Fn.addRel("birel",...Dn[zn]),this.$=Dn[zn];break;case 69:Fn.addRel("rel_u",...Dn[zn]),this.$=Dn[zn];break;case 70:Fn.addRel("rel_d",...Dn[zn]),this.$=Dn[zn];break;case 71:Fn.addRel("rel_l",...Dn[zn]),this.$=Dn[zn];break;case 72:Fn.addRel("rel_r",...Dn[zn]),this.$=Dn[zn];break;case 73:Fn.addRel("rel_b",...Dn[zn]),this.$=Dn[zn];break;case 74:Dn[zn].splice(0,1),Fn.addRel("rel",...Dn[zn]),this.$=Dn[zn];break;case 75:Fn.updateElStyle("update_el_style",...Dn[zn]),this.$=Dn[zn];break;case 76:Fn.updateRelStyle("update_rel_style",...Dn[zn]),this.$=Dn[zn];break;case 77:Fn.updateLayoutConfig("update_layout_config",...Dn[zn]),this.$=Dn[zn];break;case 78:this.$=[Dn[zn]];break;case 79:Dn[zn].unshift(Dn[zn-1]),this.$=Dn[zn];break;case 80:case 82:this.$=Dn[zn].trim();break;case 81:let is={};is[Dn[zn-1].trim()]=Dn[zn].trim(),this.$=is;break;case 83:this.$="";break}},table:[{3:1,4:2,5:3,6:4,7:a,8:f,9:p,10:v,11:5,12:10,18:m,22:b,25:E,26:C,27:A,28:N},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:a,8:f,9:p,10:v,11:5,12:10,18:m,22:b,25:E,26:C,27:A,28:N},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:F},i([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:rt,39:58,40:70,42:71,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,53:32,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt},{23:79,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:rt,39:58,40:70,42:71,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,53:32,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt},{23:80,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:rt,39:58,40:70,42:71,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,53:32,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt},{23:81,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:rt,39:58,40:70,42:71,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,53:32,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt},{23:82,29:29,30:30,31:31,32:j,33:R,34:H,36:Y,38:rt,39:58,40:70,42:71,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,53:32,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},i(vr,[2,20],{53:32,39:58,40:70,42:71,30:87,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt}),i(vr,[2,21]),i($t,[2,23],{15:[1,88]}),i(vr,[2,43],{15:[1,89]}),i(ur,[2,26]),i(ur,[2,27]),{35:[1,90]},{37:[1,91]},i(ur,[2,30]),{45:92,85:93,86:le,87:rr,89:ar,90:Qn},{45:98,85:93,86:le,87:rr,89:ar,90:Qn},{45:99,85:93,86:le,87:rr,89:ar,90:Qn},{45:100,85:93,86:le,87:rr,89:ar,90:Qn},{45:101,85:93,86:le,87:rr,89:ar,90:Qn},{45:102,85:93,86:le,87:rr,89:ar,90:Qn},{45:103,85:93,86:le,87:rr,89:ar,90:Qn},{45:104,85:93,86:le,87:rr,89:ar,90:Qn},{45:105,85:93,86:le,87:rr,89:ar,90:Qn},{45:106,85:93,86:le,87:rr,89:ar,90:Qn},{45:107,85:93,86:le,87:rr,89:ar,90:Qn},{45:108,85:93,86:le,87:rr,89:ar,90:Qn},{45:109,85:93,86:le,87:rr,89:ar,90:Qn},{45:110,85:93,86:le,87:rr,89:ar,90:Qn},{45:111,85:93,86:le,87:rr,89:ar,90:Qn},{45:112,85:93,86:le,87:rr,89:ar,90:Qn},{45:113,85:93,86:le,87:rr,89:ar,90:Qn},{45:114,85:93,86:le,87:rr,89:ar,90:Qn},{45:115,85:93,86:le,87:rr,89:ar,90:Qn},{45:116,85:93,86:le,87:rr,89:ar,90:Qn},i(Zn,[2,66]),{45:117,85:93,86:le,87:rr,89:ar,90:Qn},{45:118,85:93,86:le,87:rr,89:ar,90:Qn},{45:119,85:93,86:le,87:rr,89:ar,90:Qn},{45:120,85:93,86:le,87:rr,89:ar,90:Qn},{45:121,85:93,86:le,87:rr,89:ar,90:Qn},{45:122,85:93,86:le,87:rr,89:ar,90:Qn},{45:123,85:93,86:le,87:rr,89:ar,90:Qn},{45:124,85:93,86:le,87:rr,89:ar,90:Qn},{45:125,85:93,86:le,87:rr,89:ar,90:Qn},{45:126,85:93,86:le,87:rr,89:ar,90:Qn},{45:127,85:93,86:le,87:rr,89:ar,90:Qn},{30:128,39:58,40:70,42:71,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,53:32,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt},{15:[1,130],43:[1,129]},{45:131,85:93,86:le,87:rr,89:ar,90:Qn},{45:132,85:93,86:le,87:rr,89:ar,90:Qn},{45:133,85:93,86:le,87:rr,89:ar,90:Qn},{45:134,85:93,86:le,87:rr,89:ar,90:Qn},{45:135,85:93,86:le,87:rr,89:ar,90:Qn},{45:136,85:93,86:le,87:rr,89:ar,90:Qn},{45:137,85:93,86:le,87:rr,89:ar,90:Qn},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},i(dn,[2,9]),{14:142,21:F},{21:[2,13]},{1:[2,15]},i(vr,[2,22]),i($t,[2,24],{31:31,29:143,32:j,33:R,34:H,36:Y,38:rt}),i(vr,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:j,33:R,34:H,36:Y,38:rt,44:J,46:it,47:ht,48:Tt,49:yt,50:vt,51:ut,54:xt,55:st,56:Et,57:gt,58:pt,59:Ct,60:nt,61:Nt,62:dt,63:Ft,64:X,65:Bt,66:Rt,67:mt,68:Ot,69:Gt,70:Ve,71:Cn,72:xe,73:Kn,74:Se,75:ee,76:_e,77:qe,78:ce,79:Ce,80:he,81:Re,82:se,83:Pe,84:Qt}),i(ur,[2,28]),i(ur,[2,29]),i(Zn,[2,46]),i(kn,[2,78],{85:93,45:145,86:le,87:rr,89:ar,90:Qn}),i(_r,[2,80]),{88:[1,146]},i(_r,[2,82]),i(_r,[2,83]),i(Zn,[2,47]),i(Zn,[2,48]),i(Zn,[2,49]),i(Zn,[2,50]),i(Zn,[2,51]),i(Zn,[2,52]),i(Zn,[2,53]),i(Zn,[2,54]),i(Zn,[2,55]),i(Zn,[2,56]),i(Zn,[2,57]),i(Zn,[2,58]),i(Zn,[2,59]),i(Zn,[2,60]),i(Zn,[2,61]),i(Zn,[2,62]),i(Zn,[2,63]),i(Zn,[2,64]),i(Zn,[2,65]),i(Zn,[2,67]),i(Zn,[2,68]),i(Zn,[2,69]),i(Zn,[2,70]),i(Zn,[2,71]),i(Zn,[2,72]),i(Zn,[2,73]),i(Zn,[2,74]),i(Zn,[2,75]),i(Zn,[2,76]),i(Zn,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},i(Rr,[2,35]),i(Rr,[2,36]),i(Rr,[2,37]),i(Rr,[2,38]),i(Rr,[2,39]),i(Rr,[2,40]),i(Rr,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},i($t,[2,25]),i(vr,[2,45]),i(kn,[2,79]),i(_r,[2,81]),i(Zn,[2,31]),i(Zn,[2,42]),i(os,[2,32]),i(os,[2,33],{15:[1,152]}),i(dn,[2,10]),i(os,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(Gn,Jn){if(Jn.recoverable)this.trace(Gn);else{var Or=new Error(Gn);throw Or.hash=Jn,Or}},parse:function(Gn){var Jn=this,Or=[0],Fn=[],Li=[null],Dn=[],Ba=this.table,zn="",is=0,La=0,Xa=2,Ta=1,ga=Dn.slice.call(arguments,1),Es=Object.create(this.lexer),Bs={yy:{}};for(var _a in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_a)&&(Bs.yy[_a]=this.yy[_a]);Es.setInput(Gn,Bs.yy),Bs.yy.lexer=Es,Bs.yy.parser=this,typeof Es.yylloc>"u"&&(Es.yylloc={});var Ma=Es.yylloc;Dn.push(Ma);var Ga=Es.options&&Es.options.ranges;typeof Bs.yy.parseError=="function"?this.parseError=Bs.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ov(){var ci;return ci=Fn.pop()||Es.lex()||Ta,typeof ci!="number"&&(ci instanceof Array&&(Fn=ci,ci=Fn.pop()),ci=Jn.symbols_[ci]||ci),ci}for(var rl,mu,Ls,bp,ad={},Rl,$u,Gi,Ue;;){if(mu=Or[Or.length-1],this.defaultActions[mu]?Ls=this.defaultActions[mu]:((rl===null||typeof rl>"u")&&(rl=ov()),Ls=Ba[mu]&&Ba[mu][rl]),typeof Ls>"u"||!Ls.length||!Ls[0]){var Cr="";Ue=[];for(Rl in Ba[mu])this.terminals_[Rl]&&Rl>Xa&&Ue.push("'"+this.terminals_[Rl]+"'");Es.showPosition?Cr="Parse error on line "+(is+1)+`:
`+Es.showPosition()+`
-Expecting `+He.join(", ")+", got '"+(this.terminals_[sl]||sl)+"'":Er="Parse error on line "+(ss+1)+": Unexpected "+(sl==Ea?"end of input":"'"+(this.terminals_[sl]||sl)+"'"),this.parseError(Er,{text:Es.match,token:this.terminals_[sl]||sl,line:Es.yylineno,loc:La,expected:He})}if(As[0]instanceof Array&&As.length>1)throw new Error("Parse Error: multiple actions possible at state: "+yu+", token: "+sl);switch(As[0]){case 1:Pr.push(sl),xi.push(Es.yytext),Mn.push(Es.yylloc),Pr.push(As[1]),sl=null,Aa=Es.yyleng,qn=Es.yytext,ss=Es.yylineno,La=Es.yylloc;break;case 2:if(zu=this.productions_[As[1]][1],od.$=xi[xi.length-zu],od._$={first_line:Mn[Mn.length-(zu||1)].first_line,last_line:Mn[Mn.length-1].last_line,first_column:Mn[Mn.length-(zu||1)].first_column,last_column:Mn[Mn.length-1].last_column},Va&&(od._$.range=[Mn[Mn.length-(zu||1)].range[0],Mn[Mn.length-1].range[1]]),pp=this.performAction.apply(od,[qn,Aa,ss,Bs.yy,As[1],xi,Mn].concat(ga)),typeof pp<"u")return pp;zu&&(Pr=Pr.slice(0,-1*zu*2),xi=xi.slice(0,-1*zu),Mn=Mn.slice(0,-1*zu)),Pr.push(this.productions_[As[1]][0]),xi.push(od.$),Mn.push(od._$),Gi=rc[Pr[Pr.length-2]][Pr[Pr.length-1]],Pr.push(Gi);break;case 3:return!0}}return!0}},Ha=function(){var qi={EOF:1,parseError:function(Zn,Pr){if(this.yy.parser)this.yy.parser.parseError(Zn,Pr);else throw new Error(Zn)},setInput:function(zn,Zn){return this.yy=Zn||this.yy||{},this._input=zn,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},input:function(){var zn=this._input[0];this.yytext+=zn,this.yyleng++,this.offset++,this.match+=zn,this.matched+=zn;var Zn=zn.match(/(?:\r\n?|\n).*/g);return Zn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),zn},unput:function(zn){var Zn=zn.length,Pr=zn.split(/(?:\r\n?|\n)/g);this._input=zn+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Zn),this.offset-=Zn;var In=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),Pr.length-1&&(this.yylineno-=Pr.length-1);var xi=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:Pr?(Pr.length===In.length?this.yylloc.first_column:0)+In[In.length-Pr.length].length-Pr[0].length:this.yylloc.first_column-Zn},this.options.ranges&&(this.yylloc.range=[xi[0],xi[0]+this.yyleng-Zn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(zn){this.unput(this.match.slice(zn))},pastInput:function(){var zn=this.matched.substr(0,this.matched.length-this.match.length);return(zn.length>20?"...":"")+zn.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var zn=this.match;return zn.length<20&&(zn+=this._input.substr(0,20-zn.length)),(zn.substr(0,20)+(zn.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var zn=this.pastInput(),Zn=new Array(zn.length+1).join("-");return zn+this.upcomingInput()+`
-`+Zn+"^"},test_match:function(zn,Zn){var Pr,In,xi;if(this.options.backtrack_lexer&&(xi={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(xi.yylloc.range=this.yylloc.range.slice(0))),In=zn[0].match(/(?:\r\n?|\n).*/g),In&&(this.yylineno+=In.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:In?In[In.length-1].length-In[In.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+zn[0].length},this.yytext+=zn[0],this.match+=zn[0],this.matches=zn,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(zn[0].length),this.matched+=zn[0],Pr=this.performAction.call(this,this.yy,this,Zn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Pr)return Pr;if(this._backtrack){for(var Mn in xi)this[Mn]=xi[Mn];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var zn,Zn,Pr,In;this._more||(this.yytext="",this.match="");for(var xi=this._currentRules(),Mn=0;MnZn[0].length)){if(Zn=Pr,In=Mn,this.options.backtrack_lexer){if(zn=this.test_match(Pr,xi[Mn]),zn!==!1)return zn;if(this._backtrack){Zn=!1;continue}else return!1}else if(!this.options.flex)break}return Zn?(zn=this.test_match(Zn,xi[In]),zn!==!1?zn:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Zn=this.next();return Zn||this.lex()},begin:function(Zn){this.conditionStack.push(Zn)},popState:function(){var Zn=this.conditionStack.length-1;return Zn>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(Zn){return Zn=this.conditionStack.length-1-Math.abs(Zn||0),Zn>=0?this.conditionStack[Zn]:"INITIAL"},pushState:function(Zn){this.begin(Zn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Zn,Pr,In,xi){switch(In){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:break;case 19:c;break;case 20:return 15;case 21:break;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:return this.begin("node"),49;case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:return this.begin("rel_u"),76;case 58:return this.begin("rel_u"),76;case 59:return this.begin("rel_d"),77;case 60:return this.begin("rel_d"),77;case 61:return this.begin("rel_l"),78;case 62:return this.begin("rel_l"),78;case 63:return this.begin("rel_r"),79;case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return"EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:this.popState(),this.popState();break;case 74:return 90;case 75:break;case 76:return 90;case 77:this.begin("string");break;case 78:this.popState();break;case 79:return"STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return"STR_VALUE";case 84:this.popState(),this.popState();break;case 85:return"STR";case 86:return"LBRACE";case 87:return"RBRACE";case 88:return"SPACE";case 89:return"EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}};return qi}();Is.lexer=Ha;function hi(){this.yy={}}return hi.prototype=Is,Is.Parser=hi,new hi}();WW.parser=WW;const WLe=WW;let nm=[],lk=[""],hg="global",rm="",g3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],hP=[],Pdt="",Fdt=!1,KW=4,YW=2;var ZOt;const KLe=function(){return ZOt},YLe=function(i){ZOt=ag(i,Ie())},XLe=function(i,a,f){p1.parseDirective(this,i,a,f)},QLe=function(i,a,f,p,v,m,b,E,C){if(i==null||a===void 0||a===null||f===void 0||f===null||p===void 0||p===null)return;let M={};const P=hP.find(B=>B.from===a&&B.to===f);if(P?M=P:hP.push(M),M.type=i,M.from=a,M.to=f,M.label={text:p},v==null)M.techn={text:""};else if(typeof v=="object"){let[B,j]=Object.entries(v)[0];M[B]={text:j}}else M.techn={text:v};if(m==null)M.descr={text:""};else if(typeof m=="object"){let[B,j]=Object.entries(m)[0];M[B]={text:j}}else M.descr={text:m};if(typeof b=="object"){let[B,j]=Object.entries(b)[0];M[B]=j}else M.sprite=b;if(typeof E=="object"){let[B,j]=Object.entries(E)[0];M[B]=j}else M.tags=E;if(typeof C=="object"){let[B,j]=Object.entries(C)[0];M[B]=j}else M.link=C;M.wrap=hk()},ZLe=function(i,a,f,p,v,m,b){if(a===null||f===null)return;let E={};const C=nm.find(M=>M.alias===a);if(C&&a===C.alias?E=C:(E.alias=a,nm.push(E)),f==null?E.label={text:""}:E.label={text:f},p==null)E.descr={text:""};else if(typeof p=="object"){let[M,P]=Object.entries(p)[0];E[M]={text:P}}else E.descr={text:p};if(typeof v=="object"){let[M,P]=Object.entries(v)[0];E[M]=P}else E.sprite=v;if(typeof m=="object"){let[M,P]=Object.entries(m)[0];E[M]=P}else E.tags=m;if(typeof b=="object"){let[M,P]=Object.entries(b)[0];E[M]=P}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=hg,E.wrap=hk()},JLe=function(i,a,f,p,v,m,b,E){if(a===null||f===null)return;let C={};const M=nm.find(P=>P.alias===a);if(M&&a===M.alias?C=M:(C.alias=a,nm.push(C)),f==null?C.label={text:""}:C.label={text:f},p==null)C.techn={text:""};else if(typeof p=="object"){let[P,B]=Object.entries(p)[0];C[P]={text:B}}else C.techn={text:p};if(v==null)C.descr={text:""};else if(typeof v=="object"){let[P,B]=Object.entries(v)[0];C[P]={text:B}}else C.descr={text:v};if(typeof m=="object"){let[P,B]=Object.entries(m)[0];C[P]=B}else C.sprite=m;if(typeof b=="object"){let[P,B]=Object.entries(b)[0];C[P]=B}else C.tags=b;if(typeof E=="object"){let[P,B]=Object.entries(E)[0];C[P]=B}else C.link=E;C.wrap=hk(),C.typeC4Shape={text:i},C.parentBoundary=hg},tDe=function(i,a,f,p,v,m,b,E){if(a===null||f===null)return;let C={};const M=nm.find(P=>P.alias===a);if(M&&a===M.alias?C=M:(C.alias=a,nm.push(C)),f==null?C.label={text:""}:C.label={text:f},p==null)C.techn={text:""};else if(typeof p=="object"){let[P,B]=Object.entries(p)[0];C[P]={text:B}}else C.techn={text:p};if(v==null)C.descr={text:""};else if(typeof v=="object"){let[P,B]=Object.entries(v)[0];C[P]={text:B}}else C.descr={text:v};if(typeof m=="object"){let[P,B]=Object.entries(m)[0];C[P]=B}else C.sprite=m;if(typeof b=="object"){let[P,B]=Object.entries(b)[0];C[P]=B}else C.tags=b;if(typeof E=="object"){let[P,B]=Object.entries(E)[0];C[P]=B}else C.link=E;C.wrap=hk(),C.typeC4Shape={text:i},C.parentBoundary=hg},eDe=function(i,a,f,p,v){if(i===null||a===null)return;let m={};const b=g3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,g3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"system"};else if(typeof f=="object"){let[E,C]=Object.entries(f)[0];m[E]={text:C}}else m.type={text:f};if(typeof p=="object"){let[E,C]=Object.entries(p)[0];m[E]=C}else m.tags=p;if(typeof v=="object"){let[E,C]=Object.entries(v)[0];m[E]=C}else m.link=v;m.parentBoundary=hg,m.wrap=hk(),rm=hg,hg=i,lk.push(rm)},nDe=function(i,a,f,p,v){if(i===null||a===null)return;let m={};const b=g3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,g3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"container"};else if(typeof f=="object"){let[E,C]=Object.entries(f)[0];m[E]={text:C}}else m.type={text:f};if(typeof p=="object"){let[E,C]=Object.entries(p)[0];m[E]=C}else m.tags=p;if(typeof v=="object"){let[E,C]=Object.entries(v)[0];m[E]=C}else m.link=v;m.parentBoundary=hg,m.wrap=hk(),rm=hg,hg=i,lk.push(rm)},rDe=function(i,a,f,p,v,m,b,E){if(a===null||f===null)return;let C={};const M=g3.find(P=>P.alias===a);if(M&&a===M.alias?C=M:(C.alias=a,g3.push(C)),f==null?C.label={text:""}:C.label={text:f},p==null)C.type={text:"node"};else if(typeof p=="object"){let[P,B]=Object.entries(p)[0];C[P]={text:B}}else C.type={text:p};if(v==null)C.descr={text:""};else if(typeof v=="object"){let[P,B]=Object.entries(v)[0];C[P]={text:B}}else C.descr={text:v};if(typeof b=="object"){let[P,B]=Object.entries(b)[0];C[P]=B}else C.tags=b;if(typeof E=="object"){let[P,B]=Object.entries(E)[0];C[P]=B}else C.link=E;C.nodeType=i,C.parentBoundary=hg,C.wrap=hk(),rm=hg,hg=a,lk.push(rm)},iDe=function(){hg=rm,lk.pop(),rm=lk.pop(),lk.push(rm)},sDe=function(i,a,f,p,v,m,b,E,C,M,P){let B=nm.find(j=>j.alias===a);if(!(B===void 0&&(B=g3.find(j=>j.alias===a),B===void 0))){if(f!=null)if(typeof f=="object"){let[j,R]=Object.entries(f)[0];B[j]=R}else B.bgColor=f;if(p!=null)if(typeof p=="object"){let[j,R]=Object.entries(p)[0];B[j]=R}else B.fontColor=p;if(v!=null)if(typeof v=="object"){let[j,R]=Object.entries(v)[0];B[j]=R}else B.borderColor=v;if(m!=null)if(typeof m=="object"){let[j,R]=Object.entries(m)[0];B[j]=R}else B.shadowing=m;if(b!=null)if(typeof b=="object"){let[j,R]=Object.entries(b)[0];B[j]=R}else B.shape=b;if(E!=null)if(typeof E=="object"){let[j,R]=Object.entries(E)[0];B[j]=R}else B.sprite=E;if(C!=null)if(typeof C=="object"){let[j,R]=Object.entries(C)[0];B[j]=R}else B.techn=C;if(M!=null)if(typeof M=="object"){let[j,R]=Object.entries(M)[0];B[j]=R}else B.legendText=M;if(P!=null)if(typeof P=="object"){let[j,R]=Object.entries(P)[0];B[j]=R}else B.legendSprite=P}},aDe=function(i,a,f,p,v,m,b){const E=hP.find(C=>C.from===a&&C.to===f);if(E!==void 0){if(p!=null)if(typeof p=="object"){let[C,M]=Object.entries(p)[0];E[C]=M}else E.textColor=p;if(v!=null)if(typeof v=="object"){let[C,M]=Object.entries(v)[0];E[C]=M}else E.lineColor=v;if(m!=null)if(typeof m=="object"){let[C,M]=Object.entries(m)[0];E[C]=parseInt(M)}else E.offsetX=parseInt(m);if(b!=null)if(typeof b=="object"){let[C,M]=Object.entries(b)[0];E[C]=parseInt(M)}else E.offsetY=parseInt(b)}},oDe=function(i,a,f){let p=KW,v=YW;if(typeof a=="object"){const m=Object.values(a)[0];p=parseInt(m)}else p=parseInt(a);if(typeof f=="object"){const m=Object.values(f)[0];v=parseInt(m)}else v=parseInt(f);p>=1&&(KW=p),v>=1&&(YW=v)},cDe=function(){return KW},uDe=function(){return YW},lDe=function(){return hg},hDe=function(){return rm},JOt=function(i){return i==null?nm:nm.filter(a=>a.parentBoundary===i)},fDe=function(i){return nm.find(a=>a.alias===i)},dDe=function(i){return Object.keys(JOt(i))},gDe=function(i){return i==null?g3:g3.filter(a=>a.parentBoundary===i)},pDe=function(){return hP},bDe=function(){return Pdt},vDe=function(i){Fdt=i},hk=function(){return Fdt},tNt={addPersonOrSystem:ZLe,addPersonOrSystemBoundary:eDe,addContainer:JLe,addContainerBoundary:nDe,addComponent:tDe,addDeploymentNode:rDe,popBoundaryParseStack:iDe,addRel:QLe,updateElStyle:sDe,updateRelStyle:aDe,updateLayoutConfig:oDe,autoWrap:hk,setWrap:vDe,getC4ShapeArray:JOt,getC4Shape:fDe,getC4ShapeKeys:dDe,getBoundarys:gDe,getCurrentBoundaryParse:lDe,getParentBoundaryParse:hDe,getRels:pDe,getTitle:bDe,getC4Type:KLe,getC4ShapeInRow:cDe,getC4BoundaryInRow:uDe,setAccTitle:lg,getAccTitle:op,getAccDescription:up,setAccDescription:cp,parseDirective:XLe,getConfig:()=>Ie().c4,clear:function(){nm=[],g3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],rm="",hg="global",lk=[""],hP=[],lk=[""],Pdt="",Fdt=!1,KW=4,YW=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Pdt=ag(i,Ie())},setC4Type:YLe},XW=function(i,a){const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),f.attr("rx",a.rx),f.attr("ry",a.ry),a.attrs!=="undefined"&&a.attrs!==null)for(let p in a.attrs)f.attr(p,a.attrs[p]);return a.class!=="undefined"&&f.attr("class",a.class),f},eNt=function(i,a){XW(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"}).lower()},wDe=function(i,a){const f=a.text.replace(/
/gi," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const v=p.append("tspan");return v.attr("x",a.x+a.textMargin*2),v.text(f),p},mDe=function(i,a,f,p){const v=i.append("image");v.attr("x",a),v.attr("y",f);var m=nk(p);v.attr("xlink:href",m)},yDe=function(i,a,f,p){const v=i.append("use");v.attr("x",a),v.attr("y",f);const m=nk(p);v.attr("xlink:href","#"+m)},gE=function(){return{x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}},Bdt=function(){return{x:0,y:0,width:100,height:100,fill:void 0,anchor:void 0,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},Rdt=function(i,a){return XW(i,a)},nNt=function(i,a,f,p,v,m){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",p),b.attr("y",v);let E=m.startsWith("data:image/png;base64")?m:nk(m);b.attr("xlink:href",E)},xDe=(i,a,f)=>{const p=i.append("g");let v=0;for(let m of a){let b=m.textColor?m.textColor:"#444444",E=m.lineColor?m.lineColor:"#444444",C=m.offsetX?parseInt(m.offsetX):0,M=m.offsetY?parseInt(m.offsetY):0,P="";if(v===0){let j=p.append("line");j.attr("x1",m.startPoint.x),j.attr("y1",m.startPoint.y),j.attr("x2",m.endPoint.x),j.attr("y2",m.endPoint.y),j.attr("stroke-width","1"),j.attr("stroke",E),j.style("fill","none"),m.type!=="rel_b"&&j.attr("marker-end","url("+P+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&j.attr("marker-start","url("+P+"#arrowend)"),v=-1}else{let j=p.append("path");j.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",m.startPoint.x).replaceAll("starty",m.startPoint.y).replaceAll("controlx",m.startPoint.x+(m.endPoint.x-m.startPoint.x)/2-(m.endPoint.x-m.startPoint.x)/4).replaceAll("controly",m.startPoint.y+(m.endPoint.y-m.startPoint.y)/2).replaceAll("stopx",m.endPoint.x).replaceAll("stopy",m.endPoint.y)),m.type!=="rel_b"&&j.attr("marker-end","url("+P+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&j.attr("marker-start","url("+P+"#arrowend)")}let B=f.messageFont();S5(f)(m.label.text,p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+C,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+M,m.label.width,m.label.height,{fill:b},B),m.techn&&m.techn.text!==""&&(B=f.messageFont(),S5(f)("["+m.techn.text+"]",p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+C,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+f.messageFontSize+5+M,Math.max(m.label.width,m.techn.width),m.techn.height,{fill:b,"font-style":"italic"},B))}},kDe=function(i,a,f){const p=i.append("g");let v=a.bgColor?a.bgColor:"none",m=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let C={x:a.x,y:a.y,fill:v,stroke:m,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};Rdt(p,C);let M=f.boundaryFont();M.fontWeight="bold",M.fontSize=M.fontSize+2,M.fontColor=b,S5(f)(a.label.text,p,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},M),a.type&&a.type.text!==""&&(M=f.boundaryFont(),M.fontColor=b,S5(f)(a.type.text,p,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},M)),a.descr&&a.descr.text!==""&&(M=f.boundaryFont(),M.fontSize=M.fontSize-2,M.fontColor=b,S5(f)(a.descr.text,p,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},M))},EDe=function(i,a,f){var B;let p=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],v=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],m=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const C=gE();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":C.x=a.x,C.y=a.y,C.fill=p,C.width=a.width,C.height=a.height,C.stroke=v,C.rx=2.5,C.ry=2.5,C.attrs={"stroke-width":.5},Rdt(E,C);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let M=IDe(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",m).attr("font-family",M.fontFamily).attr("font-size",M.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":nNt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let P=f[a.typeC4Shape.text+"Font"]();return P.fontWeight="bold",P.fontSize=P.fontSize+2,P.fontColor=m,S5(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:m},P),P=f[a.typeC4Shape.text+"Font"](),P.fontColor=m,a.techn&&((B=a.techn)==null?void 0:B.text)!==""?S5(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:m,"font-style":"italic"},P):a.type&&a.type.text!==""&&S5(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:m,"font-style":"italic"},P),a.descr&&a.descr.text!==""&&(P=f.personFont(),P.fontColor=m,S5(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:m},P)),a.height},TDe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},_De=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},CDe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},SDe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},ADe=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},LDe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},DDe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},MDe=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},IDe=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),S5=function(){function i(v,m,b,E,C,M,P){const B=m.append("text").attr("x",b+C/2).attr("y",E+M/2+5).style("text-anchor","middle").text(v);p(B,P)}function a(v,m,b,E,C,M,P,B){const{fontSize:j,fontFamily:R,fontWeight:H}=B,Y=v.split(yi.lineBreakRegex);for(let st=0;st=this.data.widthLimit||p>=this.data.widthLimit||this.nextData.cnt>rNt)&&(f=this.nextData.startx+a.margin+Ss.nextLinePaddingX,v=this.nextData.stopy+a.margin*2,this.nextData.stopx=p=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=m=v+a.height,this.nextData.cnt=1),a.x=f,a.y=v,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",v,Math.min),this.updateVal(this.data,"stopx",p,Math.max),this.updateVal(this.data,"stopy",m,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",v,Math.min),this.updateVal(this.nextData,"stopx",p,Math.max),this.updateVal(this.nextData,"stopy",m,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},$dt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const $dt=function(i){sd(Ss,i),i.fontFamily&&(Ss.personFontFamily=Ss.systemFontFamily=Ss.messageFontFamily=i.fontFamily),i.fontSize&&(Ss.personFontSize=Ss.systemFontSize=Ss.messageFontSize=i.fontSize),i.fontWeight&&(Ss.personFontWeight=Ss.systemFontWeight=Ss.messageFontWeight=i.fontWeight)},fP=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),JW=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),ODe=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function im(i,a,f,p,v){if(!a[i].width)if(f)a[i].text=XIt(a[i].text,v,p),a[i].textLines=a[i].text.split(yi.lineBreakRegex).length,a[i].width=v,a[i].height=vdt(a[i].text,p);else{let m=a[i].text.split(yi.lineBreakRegex);a[i].textLines=m.length;let b=0;a[i].height=0,a[i].width=0;for(const E of m)a[i].width=Math.max(f3(E,p),a[i].width),b=vdt(E,p),a[i].height=a[i].height+b}}const sNt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=Ss.c4ShapeMargin-35;let p=a.wrap&&Ss.wrap,v=JW(Ss);v.fontSize=v.fontSize+2,v.fontWeight="bold";let m=f3(a.label.text,v);im("label",a,p,v,m),p3.drawBoundary(i,a,Ss)},aNt=function(i,a,f,p){let v=0;for(const m of p){v=0;const b=f[m];let E=fP(Ss,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=f3("<<"+b.typeC4Shape.text+">>",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=Ss.c4ShapePadding,v=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=v,v=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=v,v=b.image.Y+b.image.height);let C=b.wrap&&Ss.wrap,M=Ss.width-Ss.c4ShapePadding*2,P=fP(Ss,b.typeC4Shape.text);if(P.fontSize=P.fontSize+2,P.fontWeight="bold",im("label",b,C,P,M),b.label.Y=v+8,v=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let R=fP(Ss,b.typeC4Shape.text);im("type",b,C,R,M),b.type.Y=v+5,v=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let R=fP(Ss,b.techn.text);im("techn",b,C,R,M),b.techn.Y=v+5,v=b.techn.Y+b.techn.height}let B=v,j=b.label.width;if(b.descr&&b.descr.text!==""){let R=fP(Ss,b.typeC4Shape.text);im("descr",b,C,R,M),b.descr.Y=v+20,v=b.descr.Y+b.descr.height,j=Math.max(b.label.width,b.descr.width),B=v-b.descr.textLines*5}j=j+Ss.c4ShapePadding,b.width=Math.max(b.width||Ss.width,j,Ss.width),b.height=Math.max(b.height||Ss.height,B,Ss.height),b.margin=b.margin||Ss.c4ShapeMargin,i.insert(b),p3.drawC4Shape(a,b,Ss)}i.bumpLastMargin(Ss.c4ShapeMargin)};let Jb=class{constructor(a,f){this.x=a,this.y=f}},oNt=function(i,a){let f=i.x,p=i.y,v=a.x,m=a.y,b=f+i.width/2,E=p+i.height/2,C=Math.abs(f-v),M=Math.abs(p-m),P=M/C,B=i.height/i.width,j=null;return p==m&&fv?j=new Jb(f,E):f==v&&pm&&(j=new Jb(b,p)),f>v&&p=P?j=new Jb(f,E+P*i.width/2):j=new Jb(b-C/M*i.height/2,p+i.height):f=P?j=new Jb(f+i.width,E+P*i.width/2):j=new Jb(b+C/M*i.height/2,p+i.height):fm?B>=P?j=new Jb(f+i.width,E-P*i.width/2):j=new Jb(b+i.height/2*C/M,p):f>v&&p>m&&(B>=P?j=new Jb(f,E-i.width/2*P):j=new Jb(b-i.height/2*C/M,p)),j},NDe=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let p=oNt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let v=oNt(a,f);return{startPoint:p,endPoint:v}};const PDe=function(i,a,f,p){let v=0;for(let m of a){v=v+1;let b=m.wrap&&Ss.wrap,E=ODe(Ss);p.db.getC4Type()==="C4Dynamic"&&(m.label.text=v+": "+m.label.text);let M=f3(m.label.text,E);im("label",m,b,E,M),m.techn&&m.techn.text!==""&&(M=f3(m.techn.text,E),im("techn",m,b,E,M)),m.descr&&m.descr.text!==""&&(M=f3(m.descr.text,E),im("descr",m,b,E,M));let P=f(m.from),B=f(m.to),j=NDe(P,B);m.startPoint=j.startPoint,m.endPoint=j.endPoint}p3.drawRels(i,a,Ss)};function cNt(i,a,f,p,v){let m=new iNt(v);m.data.widthLimit=f.data.widthLimit/Math.min(jdt,p.length);for(let[b,E]of p.entries()){let C=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=C,C=E.image.Y+E.image.height);let M=E.wrap&&Ss.wrap,P=JW(Ss);if(P.fontSize=P.fontSize+2,P.fontWeight="bold",im("label",E,M,P,m.data.widthLimit),E.label.Y=C+8,C=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let H=JW(Ss);im("type",E,M,H,m.data.widthLimit),E.type.Y=C+5,C=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let H=JW(Ss);H.fontSize=H.fontSize-2,im("descr",E,M,H,m.data.widthLimit),E.descr.Y=C+20,C=E.descr.Y+E.descr.height}if(b==0||b%jdt===0){let H=f.data.startx+Ss.diagramMarginX,Y=f.data.stopy+Ss.diagramMarginY+C;m.setData(H,H,Y,Y)}else{let H=m.data.stopx!==m.data.startx?m.data.stopx+Ss.diagramMarginX:m.data.startx,Y=m.data.starty;m.setData(H,H,Y,Y)}m.name=E.alias;let B=v.db.getC4ShapeArray(E.alias),j=v.db.getC4ShapeKeys(E.alias);j.length>0&&aNt(m,i,B,j),a=E.alias;let R=v.db.getBoundarys(a);R.length>0&&cNt(i,a,m,R,v),E.alias!=="global"&&sNt(i,E,m),f.data.stopy=Math.max(m.data.stopy+Ss.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(m.data.stopx+Ss.c4ShapeMargin,f.data.stopx),QW=Math.max(QW,f.data.stopx),ZW=Math.max(ZW,f.data.stopy)}}const uNt={drawPersonOrSystemArray:aNt,drawBoundary:sNt,setConf:$dt,draw:function(i,a,f,p){Ss=Ie().c4;const v=Ie().securityLevel;let m;v==="sandbox"&&(m=Dr("#i"+a));const b=Dr(v==="sandbox"?m.nodes()[0].contentDocument.body:"body");let E=p.db;p.db.setWrap(Ss.wrap),rNt=E.getC4ShapeInRow(),jdt=E.getC4BoundaryInRow(),$t.debug(`C:${JSON.stringify(Ss,null,2)}`);const C=v==="sandbox"?b.select(`[id="${a}"]`):Dr(`[id="${a}"]`);p3.insertComputerIcon(C),p3.insertDatabaseIcon(C),p3.insertClockIcon(C);let M=new iNt(p);M.setData(Ss.diagramMarginX,Ss.diagramMarginX,Ss.diagramMarginY,Ss.diagramMarginY),M.data.widthLimit=screen.availWidth,QW=Ss.diagramMarginX,ZW=Ss.diagramMarginY;const P=p.db.getTitle();let B=p.db.getBoundarys("");cNt(C,"",M,B,p),p3.insertArrowHead(C),p3.insertArrowEnd(C),p3.insertArrowCrossHead(C),p3.insertArrowFilledHead(C),PDe(C,p.db.getRels(),p.db.getC4Shape,p),M.data.stopx=QW,M.data.stopy=ZW;const j=M.data;let H=j.stopy-j.starty+2*Ss.diagramMarginY;const st=j.stopx-j.startx+2*Ss.diagramMarginX;P&&C.append("text").text(P).attr("x",(j.stopx-j.startx)/2-4*Ss.diagramMarginX).attr("y",j.starty+Ss.diagramMarginY),Kb(C,H,st,Ss.useMaxWidth);const et=P?60:0;C.attr("viewBox",j.startx-Ss.diagramMarginX+" -"+(Ss.diagramMarginY+et)+" "+st+" "+(H+et)),$t.debug("models:",j)}},FDe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:WLe,db:tNt,renderer:uNt,styles:i=>`.person {
+Expecting `+Ue.join(", ")+", got '"+(this.terminals_[rl]||rl)+"'":Cr="Parse error on line "+(is+1)+": Unexpected "+(rl==Ta?"end of input":"'"+(this.terminals_[rl]||rl)+"'"),this.parseError(Cr,{text:Es.match,token:this.terminals_[rl]||rl,line:Es.yylineno,loc:Ma,expected:Ue})}if(Ls[0]instanceof Array&&Ls.length>1)throw new Error("Parse Error: multiple actions possible at state: "+mu+", token: "+rl);switch(Ls[0]){case 1:Or.push(rl),Li.push(Es.yytext),Dn.push(Es.yylloc),Or.push(Ls[1]),rl=null,La=Es.yyleng,zn=Es.yytext,is=Es.yylineno,Ma=Es.yylloc;break;case 2:if($u=this.productions_[Ls[1]][1],ad.$=Li[Li.length-$u],ad._$={first_line:Dn[Dn.length-($u||1)].first_line,last_line:Dn[Dn.length-1].last_line,first_column:Dn[Dn.length-($u||1)].first_column,last_column:Dn[Dn.length-1].last_column},Ga&&(ad._$.range=[Dn[Dn.length-($u||1)].range[0],Dn[Dn.length-1].range[1]]),bp=this.performAction.apply(ad,[zn,La,is,Bs.yy,Ls[1],Li,Dn].concat(ga)),typeof bp<"u")return bp;$u&&(Or=Or.slice(0,-1*$u*2),Li=Li.slice(0,-1*$u),Dn=Dn.slice(0,-1*$u)),Or.push(this.productions_[Ls[1]][0]),Li.push(ad.$),Dn.push(ad._$),Gi=Ba[Or[Or.length-2]][Or[Or.length-1]],Or.push(Gi);break;case 3:return!0}}return!0}},ma=function(){var Hi={EOF:1,parseError:function(Jn,Or){if(this.yy.parser)this.yy.parser.parseError(Jn,Or);else throw new Error(Jn)},setInput:function(Gn,Jn){return this.yy=Jn||this.yy||{},this._input=Gn,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},input:function(){var Gn=this._input[0];this.yytext+=Gn,this.yyleng++,this.offset++,this.match+=Gn,this.matched+=Gn;var Jn=Gn.match(/(?:\r\n?|\n).*/g);return Jn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Gn},unput:function(Gn){var Jn=Gn.length,Or=Gn.split(/(?:\r\n?|\n)/g);this._input=Gn+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Jn),this.offset-=Jn;var Fn=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),Or.length-1&&(this.yylineno-=Or.length-1);var Li=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:Or?(Or.length===Fn.length?this.yylloc.first_column:0)+Fn[Fn.length-Or.length].length-Or[0].length:this.yylloc.first_column-Jn},this.options.ranges&&(this.yylloc.range=[Li[0],Li[0]+this.yyleng-Jn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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).
+`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Gn){this.unput(this.match.slice(Gn))},pastInput:function(){var Gn=this.matched.substr(0,this.matched.length-this.match.length);return(Gn.length>20?"...":"")+Gn.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Gn=this.match;return Gn.length<20&&(Gn+=this._input.substr(0,20-Gn.length)),(Gn.substr(0,20)+(Gn.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Gn=this.pastInput(),Jn=new Array(Gn.length+1).join("-");return Gn+this.upcomingInput()+`
+`+Jn+"^"},test_match:function(Gn,Jn){var Or,Fn,Li;if(this.options.backtrack_lexer&&(Li={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Li.yylloc.range=this.yylloc.range.slice(0))),Fn=Gn[0].match(/(?:\r\n?|\n).*/g),Fn&&(this.yylineno+=Fn.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Fn?Fn[Fn.length-1].length-Fn[Fn.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Gn[0].length},this.yytext+=Gn[0],this.match+=Gn[0],this.matches=Gn,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Gn[0].length),this.matched+=Gn[0],Or=this.performAction.call(this,this.yy,this,Jn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Or)return Or;if(this._backtrack){for(var Dn in Li)this[Dn]=Li[Dn];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Gn,Jn,Or,Fn;this._more||(this.yytext="",this.match="");for(var Li=this._currentRules(),Dn=0;DnJn[0].length)){if(Jn=Or,Fn=Dn,this.options.backtrack_lexer){if(Gn=this.test_match(Or,Li[Dn]),Gn!==!1)return Gn;if(this._backtrack){Jn=!1;continue}else return!1}else if(!this.options.flex)break}return Jn?(Gn=this.test_match(Jn,Li[Fn]),Gn!==!1?Gn:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
+`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Jn=this.next();return Jn||this.lex()},begin:function(Jn){this.conditionStack.push(Jn)},popState:function(){var Jn=this.conditionStack.length-1;return Jn>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(Jn){return Jn=this.conditionStack.length-1-Math.abs(Jn||0),Jn>=0?this.conditionStack[Jn]:"INITIAL"},pushState:function(Jn){this.begin(Jn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Jn,Or,Fn,Li){switch(Fn){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:break;case 19:c;break;case 20:return 15;case 21:break;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:return this.begin("node"),49;case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:return this.begin("rel_u"),76;case 58:return this.begin("rel_u"),76;case 59:return this.begin("rel_d"),77;case 60:return this.begin("rel_d"),77;case 61:return this.begin("rel_l"),78;case 62:return this.begin("rel_l"),78;case 63:return this.begin("rel_r"),79;case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return"EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:this.popState(),this.popState();break;case 74:return 90;case 75:break;case 76:return 90;case 77:this.begin("string");break;case 78:this.popState();break;case 79:return"STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return"STR_VALUE";case 84:this.popState(),this.popState();break;case 85:return"STR";case 86:return"LBRACE";case 87:return"RBRACE";case 88:return"SPACE";case 89:return"EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[70,71,72,73],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}};return Hi}();As.lexer=ma;function Zr(){this.yy={}}return Zr.prototype=As,As.Parser=Zr,new Zr}();RW.parser=RW;const VLe=RW;let em=[],ak=[""],pg="global",nm="",d3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],nN=[],Edt="",Tdt=!1,jW=4,$W=2;var WOt;const GLe=function(){return WOt},ULe=function(i){WOt=cg(i,Me())},WLe=function(i,a,f){f1.parseDirective(this,i,a,f)},KLe=function(i,a,f,p,v,m,b,E,C){if(i==null||a===void 0||a===null||f===void 0||f===null||p===void 0||p===null)return;let A={};const N=nN.find(F=>F.from===a&&F.to===f);if(N?A=N:nN.push(A),A.type=i,A.from=a,A.to=f,A.label={text:p},v==null)A.techn={text:""};else if(typeof v=="object"){let[F,j]=Object.entries(v)[0];A[F]={text:j}}else A.techn={text:v};if(m==null)A.descr={text:""};else if(typeof m=="object"){let[F,j]=Object.entries(m)[0];A[F]={text:j}}else A.descr={text:m};if(typeof b=="object"){let[F,j]=Object.entries(b)[0];A[F]=j}else A.sprite=b;if(typeof E=="object"){let[F,j]=Object.entries(E)[0];A[F]=j}else A.tags=E;if(typeof C=="object"){let[F,j]=Object.entries(C)[0];A[F]=j}else A.link=C;A.wrap=ok()},YLe=function(i,a,f,p,v,m,b){if(a===null||f===null)return;let E={};const C=em.find(A=>A.alias===a);if(C&&a===C.alias?E=C:(E.alias=a,em.push(E)),f==null?E.label={text:""}:E.label={text:f},p==null)E.descr={text:""};else if(typeof p=="object"){let[A,N]=Object.entries(p)[0];E[A]={text:N}}else E.descr={text:p};if(typeof v=="object"){let[A,N]=Object.entries(v)[0];E[A]=N}else E.sprite=v;if(typeof m=="object"){let[A,N]=Object.entries(m)[0];E[A]=N}else E.tags=m;if(typeof b=="object"){let[A,N]=Object.entries(b)[0];E[A]=N}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=pg,E.wrap=ok()},XLe=function(i,a,f,p,v,m,b,E){if(a===null||f===null)return;let C={};const A=em.find(N=>N.alias===a);if(A&&a===A.alias?C=A:(C.alias=a,em.push(C)),f==null?C.label={text:""}:C.label={text:f},p==null)C.techn={text:""};else if(typeof p=="object"){let[N,F]=Object.entries(p)[0];C[N]={text:F}}else C.techn={text:p};if(v==null)C.descr={text:""};else if(typeof v=="object"){let[N,F]=Object.entries(v)[0];C[N]={text:F}}else C.descr={text:v};if(typeof m=="object"){let[N,F]=Object.entries(m)[0];C[N]=F}else C.sprite=m;if(typeof b=="object"){let[N,F]=Object.entries(b)[0];C[N]=F}else C.tags=b;if(typeof E=="object"){let[N,F]=Object.entries(E)[0];C[N]=F}else C.link=E;C.wrap=ok(),C.typeC4Shape={text:i},C.parentBoundary=pg},QLe=function(i,a,f,p,v,m,b,E){if(a===null||f===null)return;let C={};const A=em.find(N=>N.alias===a);if(A&&a===A.alias?C=A:(C.alias=a,em.push(C)),f==null?C.label={text:""}:C.label={text:f},p==null)C.techn={text:""};else if(typeof p=="object"){let[N,F]=Object.entries(p)[0];C[N]={text:F}}else C.techn={text:p};if(v==null)C.descr={text:""};else if(typeof v=="object"){let[N,F]=Object.entries(v)[0];C[N]={text:F}}else C.descr={text:v};if(typeof m=="object"){let[N,F]=Object.entries(m)[0];C[N]=F}else C.sprite=m;if(typeof b=="object"){let[N,F]=Object.entries(b)[0];C[N]=F}else C.tags=b;if(typeof E=="object"){let[N,F]=Object.entries(E)[0];C[N]=F}else C.link=E;C.wrap=ok(),C.typeC4Shape={text:i},C.parentBoundary=pg},ZLe=function(i,a,f,p,v){if(i===null||a===null)return;let m={};const b=d3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,d3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"system"};else if(typeof f=="object"){let[E,C]=Object.entries(f)[0];m[E]={text:C}}else m.type={text:f};if(typeof p=="object"){let[E,C]=Object.entries(p)[0];m[E]=C}else m.tags=p;if(typeof v=="object"){let[E,C]=Object.entries(v)[0];m[E]=C}else m.link=v;m.parentBoundary=pg,m.wrap=ok(),nm=pg,pg=i,ak.push(nm)},JLe=function(i,a,f,p,v){if(i===null||a===null)return;let m={};const b=d3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,d3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"container"};else if(typeof f=="object"){let[E,C]=Object.entries(f)[0];m[E]={text:C}}else m.type={text:f};if(typeof p=="object"){let[E,C]=Object.entries(p)[0];m[E]=C}else m.tags=p;if(typeof v=="object"){let[E,C]=Object.entries(v)[0];m[E]=C}else m.link=v;m.parentBoundary=pg,m.wrap=ok(),nm=pg,pg=i,ak.push(nm)},tMe=function(i,a,f,p,v,m,b,E){if(a===null||f===null)return;let C={};const A=d3.find(N=>N.alias===a);if(A&&a===A.alias?C=A:(C.alias=a,d3.push(C)),f==null?C.label={text:""}:C.label={text:f},p==null)C.type={text:"node"};else if(typeof p=="object"){let[N,F]=Object.entries(p)[0];C[N]={text:F}}else C.type={text:p};if(v==null)C.descr={text:""};else if(typeof v=="object"){let[N,F]=Object.entries(v)[0];C[N]={text:F}}else C.descr={text:v};if(typeof b=="object"){let[N,F]=Object.entries(b)[0];C[N]=F}else C.tags=b;if(typeof E=="object"){let[N,F]=Object.entries(E)[0];C[N]=F}else C.link=E;C.nodeType=i,C.parentBoundary=pg,C.wrap=ok(),nm=pg,pg=a,ak.push(nm)},eMe=function(){pg=nm,ak.pop(),nm=ak.pop(),ak.push(nm)},nMe=function(i,a,f,p,v,m,b,E,C,A,N){let F=em.find(j=>j.alias===a);if(!(F===void 0&&(F=d3.find(j=>j.alias===a),F===void 0))){if(f!=null)if(typeof f=="object"){let[j,R]=Object.entries(f)[0];F[j]=R}else F.bgColor=f;if(p!=null)if(typeof p=="object"){let[j,R]=Object.entries(p)[0];F[j]=R}else F.fontColor=p;if(v!=null)if(typeof v=="object"){let[j,R]=Object.entries(v)[0];F[j]=R}else F.borderColor=v;if(m!=null)if(typeof m=="object"){let[j,R]=Object.entries(m)[0];F[j]=R}else F.shadowing=m;if(b!=null)if(typeof b=="object"){let[j,R]=Object.entries(b)[0];F[j]=R}else F.shape=b;if(E!=null)if(typeof E=="object"){let[j,R]=Object.entries(E)[0];F[j]=R}else F.sprite=E;if(C!=null)if(typeof C=="object"){let[j,R]=Object.entries(C)[0];F[j]=R}else F.techn=C;if(A!=null)if(typeof A=="object"){let[j,R]=Object.entries(A)[0];F[j]=R}else F.legendText=A;if(N!=null)if(typeof N=="object"){let[j,R]=Object.entries(N)[0];F[j]=R}else F.legendSprite=N}},rMe=function(i,a,f,p,v,m,b){const E=nN.find(C=>C.from===a&&C.to===f);if(E!==void 0){if(p!=null)if(typeof p=="object"){let[C,A]=Object.entries(p)[0];E[C]=A}else E.textColor=p;if(v!=null)if(typeof v=="object"){let[C,A]=Object.entries(v)[0];E[C]=A}else E.lineColor=v;if(m!=null)if(typeof m=="object"){let[C,A]=Object.entries(m)[0];E[C]=parseInt(A)}else E.offsetX=parseInt(m);if(b!=null)if(typeof b=="object"){let[C,A]=Object.entries(b)[0];E[C]=parseInt(A)}else E.offsetY=parseInt(b)}},iMe=function(i,a,f){let p=jW,v=$W;if(typeof a=="object"){const m=Object.values(a)[0];p=parseInt(m)}else p=parseInt(a);if(typeof f=="object"){const m=Object.values(f)[0];v=parseInt(m)}else v=parseInt(f);p>=1&&(jW=p),v>=1&&($W=v)},sMe=function(){return jW},aMe=function(){return $W},oMe=function(){return pg},cMe=function(){return nm},KOt=function(i){return i==null?em:em.filter(a=>a.parentBoundary===i)},uMe=function(i){return em.find(a=>a.alias===i)},lMe=function(i){return Object.keys(KOt(i))},hMe=function(i){return i==null?d3:d3.filter(a=>a.parentBoundary===i)},fMe=function(){return nN},dMe=function(){return Edt},gMe=function(i){Tdt=i},ok=function(){return Tdt},YOt={addPersonOrSystem:YLe,addPersonOrSystemBoundary:ZLe,addContainer:XLe,addContainerBoundary:JLe,addComponent:QLe,addDeploymentNode:tMe,popBoundaryParseStack:eMe,addRel:KLe,updateElStyle:nMe,updateRelStyle:rMe,updateLayoutConfig:iMe,autoWrap:ok,setWrap:gMe,getC4ShapeArray:KOt,getC4Shape:uMe,getC4ShapeKeys:lMe,getBoundarys:hMe,getCurrentBoundaryParse:oMe,getParentBoundaryParse:cMe,getRels:fMe,getTitle:dMe,getC4Type:GLe,getC4ShapeInRow:sMe,getC4BoundaryInRow:aMe,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,parseDirective:WLe,getConfig:()=>Me().c4,clear:function(){em=[],d3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],nm="",pg="global",ak=[""],nN=[],ak=[""],Edt="",Tdt=!1,jW=4,$W=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Edt=cg(i,Me())},setC4Type:ULe},zW=function(i,a){const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),f.attr("rx",a.rx),f.attr("ry",a.ry),a.attrs!=="undefined"&&a.attrs!==null)for(let p in a.attrs)f.attr(p,a.attrs[p]);return a.class!=="undefined"&&f.attr("class",a.class),f},XOt=function(i,a){zW(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"}).lower()},pMe=function(i,a){const f=a.text.replace(/
/gi," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const v=p.append("tspan");return v.attr("x",a.x+a.textMargin*2),v.text(f),p},bMe=function(i,a,f,p){const v=i.append("image");v.attr("x",a),v.attr("y",f);var m=Zx(p);v.attr("xlink:href",m)},vMe=function(i,a,f,p){const v=i.append("use");v.attr("x",a),v.attr("y",f);const m=Zx(p);v.attr("xlink:href","#"+m)},lE=function(){return{x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}},_dt=function(){return{x:0,y:0,width:100,height:100,fill:void 0,anchor:void 0,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},Cdt=function(i,a){return zW(i,a)},QOt=function(i,a,f,p,v,m){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",p),b.attr("y",v);let E=m.startsWith("data:image/png;base64")?m:Zx(m);b.attr("xlink:href",E)},wMe=(i,a,f)=>{const p=i.append("g");let v=0;for(let m of a){let b=m.textColor?m.textColor:"#444444",E=m.lineColor?m.lineColor:"#444444",C=m.offsetX?parseInt(m.offsetX):0,A=m.offsetY?parseInt(m.offsetY):0,N="";if(v===0){let j=p.append("line");j.attr("x1",m.startPoint.x),j.attr("y1",m.startPoint.y),j.attr("x2",m.endPoint.x),j.attr("y2",m.endPoint.y),j.attr("stroke-width","1"),j.attr("stroke",E),j.style("fill","none"),m.type!=="rel_b"&&j.attr("marker-end","url("+N+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&j.attr("marker-start","url("+N+"#arrowend)"),v=-1}else{let j=p.append("path");j.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",m.startPoint.x).replaceAll("starty",m.startPoint.y).replaceAll("controlx",m.startPoint.x+(m.endPoint.x-m.startPoint.x)/2-(m.endPoint.x-m.startPoint.x)/4).replaceAll("controly",m.startPoint.y+(m.endPoint.y-m.startPoint.y)/2).replaceAll("stopx",m.endPoint.x).replaceAll("stopy",m.endPoint.y)),m.type!=="rel_b"&&j.attr("marker-end","url("+N+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&j.attr("marker-start","url("+N+"#arrowend)")}let F=f.messageFont();E5(f)(m.label.text,p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+C,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+A,m.label.width,m.label.height,{fill:b},F),m.techn&&m.techn.text!==""&&(F=f.messageFont(),E5(f)("["+m.techn.text+"]",p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+C,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+f.messageFontSize+5+A,Math.max(m.label.width,m.techn.width),m.techn.height,{fill:b,"font-style":"italic"},F))}},mMe=function(i,a,f){const p=i.append("g");let v=a.bgColor?a.bgColor:"none",m=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let C={x:a.x,y:a.y,fill:v,stroke:m,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};Cdt(p,C);let A=f.boundaryFont();A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=b,E5(f)(a.label.text,p,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},A),a.type&&a.type.text!==""&&(A=f.boundaryFont(),A.fontColor=b,E5(f)(a.type.text,p,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},A)),a.descr&&a.descr.text!==""&&(A=f.boundaryFont(),A.fontSize=A.fontSize-2,A.fontColor=b,E5(f)(a.descr.text,p,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},A))},yMe=function(i,a,f){var F;let p=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],v=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],m=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const C=lE();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":C.x=a.x,C.y=a.y,C.fill=p,C.width=a.width,C.height=a.height,C.stroke=v,C.rx=2.5,C.ry=2.5,C.attrs={"stroke-width":.5},Cdt(E,C);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",v).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let A=LMe(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",m).attr("font-family",A.fontFamily).attr("font-size",A.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":QOt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let N=f[a.typeC4Shape.text+"Font"]();return N.fontWeight="bold",N.fontSize=N.fontSize+2,N.fontColor=m,E5(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:m},N),N=f[a.typeC4Shape.text+"Font"](),N.fontColor=m,a.techn&&((F=a.techn)==null?void 0:F.text)!==""?E5(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:m,"font-style":"italic"},N):a.type&&a.type.text!==""&&E5(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:m,"font-style":"italic"},N),a.descr&&a.descr.text!==""&&(N=f.personFont(),N.fontColor=m,E5(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:m},N)),a.height},xMe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},kMe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},EMe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},TMe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},_Me=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},CMe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},SMe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},AMe=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},LMe=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),E5=function(){function i(v,m,b,E,C,A,N){const F=m.append("text").attr("x",b+C/2).attr("y",E+A/2+5).style("text-anchor","middle").text(v);p(F,N)}function a(v,m,b,E,C,A,N,F){const{fontSize:j,fontFamily:R,fontWeight:H}=F,Y=v.split(bi.lineBreakRegex);for(let rt=0;rt=this.data.widthLimit||p>=this.data.widthLimit||this.nextData.cnt>ZOt)&&(f=this.nextData.startx+a.margin+Ss.nextLinePaddingX,v=this.nextData.stopy+a.margin*2,this.nextData.stopx=p=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=m=v+a.height,this.nextData.cnt=1),a.x=f,a.y=v,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",v,Math.min),this.updateVal(this.data,"stopx",p,Math.max),this.updateVal(this.data,"stopy",m,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",v,Math.min),this.updateVal(this.nextData,"stopx",p,Math.max),this.updateVal(this.nextData,"stopy",m,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},Adt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const Adt=function(i){rd(Ss,i),i.fontFamily&&(Ss.personFontFamily=Ss.systemFontFamily=Ss.messageFontFamily=i.fontFamily),i.fontSize&&(Ss.personFontSize=Ss.systemFontSize=Ss.messageFontSize=i.fontSize),i.fontWeight&&(Ss.personFontWeight=Ss.systemFontWeight=Ss.messageFontWeight=i.fontWeight)},rN=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),VW=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),MMe=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function rm(i,a,f,p,v){if(!a[i].width)if(f)a[i].text=VIt(a[i].text,v,p),a[i].textLines=a[i].text.split(bi.lineBreakRegex).length,a[i].width=v,a[i].height=sdt(a[i].text,p);else{let m=a[i].text.split(bi.lineBreakRegex);a[i].textLines=m.length;let b=0;a[i].height=0,a[i].width=0;for(const E of m)a[i].width=Math.max(h3(E,p),a[i].width),b=sdt(E,p),a[i].height=a[i].height+b}}const tPt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=Ss.c4ShapeMargin-35;let p=a.wrap&&Ss.wrap,v=VW(Ss);v.fontSize=v.fontSize+2,v.fontWeight="bold";let m=h3(a.label.text,v);rm("label",a,p,v,m),g3.drawBoundary(i,a,Ss)},ePt=function(i,a,f,p){let v=0;for(const m of p){v=0;const b=f[m];let E=rN(Ss,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=h3("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=Ss.c4ShapePadding,v=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=v,v=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=v,v=b.image.Y+b.image.height);let C=b.wrap&&Ss.wrap,A=Ss.width-Ss.c4ShapePadding*2,N=rN(Ss,b.typeC4Shape.text);if(N.fontSize=N.fontSize+2,N.fontWeight="bold",rm("label",b,C,N,A),b.label.Y=v+8,v=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let R=rN(Ss,b.typeC4Shape.text);rm("type",b,C,R,A),b.type.Y=v+5,v=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let R=rN(Ss,b.techn.text);rm("techn",b,C,R,A),b.techn.Y=v+5,v=b.techn.Y+b.techn.height}let F=v,j=b.label.width;if(b.descr&&b.descr.text!==""){let R=rN(Ss,b.typeC4Shape.text);rm("descr",b,C,R,A),b.descr.Y=v+20,v=b.descr.Y+b.descr.height,j=Math.max(b.label.width,b.descr.width),F=v-b.descr.textLines*5}j=j+Ss.c4ShapePadding,b.width=Math.max(b.width||Ss.width,j,Ss.width),b.height=Math.max(b.height||Ss.height,F,Ss.height),b.margin=b.margin||Ss.c4ShapeMargin,i.insert(b),g3.drawC4Shape(a,b,Ss)}i.bumpLastMargin(Ss.c4ShapeMargin)};let tv=class{constructor(a,f){this.x=a,this.y=f}},nPt=function(i,a){let f=i.x,p=i.y,v=a.x,m=a.y,b=f+i.width/2,E=p+i.height/2,C=Math.abs(f-v),A=Math.abs(p-m),N=A/C,F=i.height/i.width,j=null;return p==m&&fv?j=new tv(f,E):f==v&&pm&&(j=new tv(b,p)),f>v&&p=N?j=new tv(f,E+N*i.width/2):j=new tv(b-C/A*i.height/2,p+i.height):f=N?j=new tv(f+i.width,E+N*i.width/2):j=new tv(b+C/A*i.height/2,p+i.height):fm?F>=N?j=new tv(f+i.width,E-N*i.width/2):j=new tv(b+i.height/2*C/A,p):f>v&&p>m&&(F>=N?j=new tv(f,E-i.width/2*N):j=new tv(b-i.height/2*C/A,p)),j},DMe=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let p=nPt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let v=nPt(a,f);return{startPoint:p,endPoint:v}};const IMe=function(i,a,f,p){let v=0;for(let m of a){v=v+1;let b=m.wrap&&Ss.wrap,E=MMe(Ss);p.db.getC4Type()==="C4Dynamic"&&(m.label.text=v+": "+m.label.text);let A=h3(m.label.text,E);rm("label",m,b,E,A),m.techn&&m.techn.text!==""&&(A=h3(m.techn.text,E),rm("techn",m,b,E,A)),m.descr&&m.descr.text!==""&&(A=h3(m.descr.text,E),rm("descr",m,b,E,A));let N=f(m.from),F=f(m.to),j=DMe(N,F);m.startPoint=j.startPoint,m.endPoint=j.endPoint}g3.drawRels(i,a,Ss)};function rPt(i,a,f,p,v){let m=new JOt(v);m.data.widthLimit=f.data.widthLimit/Math.min(Sdt,p.length);for(let[b,E]of p.entries()){let C=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=C,C=E.image.Y+E.image.height);let A=E.wrap&&Ss.wrap,N=VW(Ss);if(N.fontSize=N.fontSize+2,N.fontWeight="bold",rm("label",E,A,N,m.data.widthLimit),E.label.Y=C+8,C=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let H=VW(Ss);rm("type",E,A,H,m.data.widthLimit),E.type.Y=C+5,C=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let H=VW(Ss);H.fontSize=H.fontSize-2,rm("descr",E,A,H,m.data.widthLimit),E.descr.Y=C+20,C=E.descr.Y+E.descr.height}if(b==0||b%Sdt===0){let H=f.data.startx+Ss.diagramMarginX,Y=f.data.stopy+Ss.diagramMarginY+C;m.setData(H,H,Y,Y)}else{let H=m.data.stopx!==m.data.startx?m.data.stopx+Ss.diagramMarginX:m.data.startx,Y=m.data.starty;m.setData(H,H,Y,Y)}m.name=E.alias;let F=v.db.getC4ShapeArray(E.alias),j=v.db.getC4ShapeKeys(E.alias);j.length>0&&ePt(m,i,F,j),a=E.alias;let R=v.db.getBoundarys(a);R.length>0&&rPt(i,a,m,R,v),E.alias!=="global"&&tPt(i,E,m),f.data.stopy=Math.max(m.data.stopy+Ss.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(m.data.stopx+Ss.c4ShapeMargin,f.data.stopx),qW=Math.max(qW,f.data.stopx),HW=Math.max(HW,f.data.stopy)}}const iPt={drawPersonOrSystemArray:ePt,drawBoundary:tPt,setConf:Adt,draw:function(i,a,f,p){Ss=Me().c4;const v=Me().securityLevel;let m;v==="sandbox"&&(m=wr("#i"+a));const b=wr(v==="sandbox"?m.nodes()[0].contentDocument.body:"body");let E=p.db;p.db.setWrap(Ss.wrap),ZOt=E.getC4ShapeInRow(),Sdt=E.getC4BoundaryInRow(),Vt.debug(`C:${JSON.stringify(Ss,null,2)}`);const C=v==="sandbox"?b.select(`[id="${a}"]`):wr(`[id="${a}"]`);g3.insertComputerIcon(C),g3.insertDatabaseIcon(C),g3.insertClockIcon(C);let A=new JOt(p);A.setData(Ss.diagramMarginX,Ss.diagramMarginX,Ss.diagramMarginY,Ss.diagramMarginY),A.data.widthLimit=screen.availWidth,qW=Ss.diagramMarginX,HW=Ss.diagramMarginY;const N=p.db.getTitle();let F=p.db.getBoundarys("");rPt(C,"",A,F,p),g3.insertArrowHead(C),g3.insertArrowEnd(C),g3.insertArrowCrossHead(C),g3.insertArrowFilledHead(C),IMe(C,p.db.getRels(),p.db.getC4Shape,p),A.data.stopx=qW,A.data.stopy=HW;const j=A.data;let H=j.stopy-j.starty+2*Ss.diagramMarginY;const rt=j.stopx-j.startx+2*Ss.diagramMarginX;N&&C.append("text").text(N).attr("x",(j.stopx-j.startx)/2-4*Ss.diagramMarginX).attr("y",j.starty+Ss.diagramMarginY),N2(C,H,rt,Ss.useMaxWidth);const J=N?60:0;C.attr("viewBox",j.startx-Ss.diagramMarginX+" -"+(Ss.diagramMarginY+J)+" "+rt+" "+(H+J)),Vt.debug("models:",j)}},OMe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:VLe,db:YOt,renderer:iPt,styles:i=>`.person {
stroke: ${i.personBorder};
fill: ${i.personBkg};
}
-`,init:i=>{uNt.setConf(i.c4)}}},Symbol.toStringTag,{value:"Module"}));var zdt=function(){var i=function(gg,cs,zs,Da){for(zs=zs||{},Da=gg.length;Da--;zs[gg[Da]]=cs);return zs},a=[1,9],f=[1,7],p=[1,6],v=[1,8],m=[1,20,21,22,23,38,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],b=[2,10],E=[1,20],C=[1,21],M=[1,22],P=[1,23],B=[1,30],j=[1,32],R=[1,33],H=[1,34],Y=[1,62],st=[1,48],et=[1,52],it=[1,36],dt=[1,37],Tt=[1,38],yt=[1,39],xt=[1,40],ft=[1,56],wt=[1,63],nt=[1,51],kt=[1,53],gt=[1,55],ht=[1,59],Mt=[1,60],Z=[1,41],Zt=[1,42],vt=[1,43],ze=[1,44],rt=[1,61],Ae=[1,50],ne=[1,54],Ot=[1,57],Nt=[1,58],xe=[1,49],cn=[1,66],Fn=[1,71],Te=[1,20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],vr=[1,75],Ee=[1,74],le=[1,76],ke=[20,21,23,81,82],me=[1,99],Gt=[1,104],Le=[1,107],Ht=[1,108],ln=[1,101],Rt=[1,106],We=[1,109],se=[1,102],Or=[1,114],Ce=[1,113],Nr=[1,103],he=[1,105],ir=[1,110],Yn=[1,111],tr=[1,112],cr=[1,115],gn=[20,21,22,23,81,82],En=[20,21,22,23,53,81,82],Mr=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],lr=[20,21,23],Ki=[20,21,23,52,66,67,81,82,92,96,106,107,110,112,113,123,124,125,126,127,128],Is=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],Ha=[52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],hi=[1,150],qi=[1,158],zn=[1,159],Zn=[1,160],Pr=[1,161],In=[1,145],xi=[1,146],Mn=[1,141],rc=[1,142],qn=[1,153],ss=[1,154],Aa=[1,155],Ya=[1,156],Ea=[1,157],ga=[1,162],Es=[1,163],Bs=[1,148],Ta=[1,151],La=[1,147],Va=[1,144],av=[20,21,22,23,38,42,44,46,48,52,66,67,87,88,89,90,91,92,96,106,107,110,112,113,119,120,121,122,123,124,125,126,127,128],sl=[1,166],yu=[20,21,22,23,26,52,66,67,92,106,107,110,112,113,123,124,125,126,127,128],As=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,87,88,89,90,91,92,93,96,106,107,110,112,113,114,115,123,124,125,126,127,128],pp=[12,21,22,24],od=[22,107],$l=[1,251],zu=[1,246],Gi=[1,247],He=[1,255],Er=[1,252],ci=[1,249],Xa=[1,248],kc=[1,250],xu=[1,253],mo=[1,254],ku=[1,256],lf=[1,274],_3=[20,21,23,107],m1=[20,21,22,23,66,67,87,103,106,107,110,111,112,113,114],C3={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,MD_STR:85,keywords:86,STYLE:87,LINKSTYLE:88,CLASSDEF:89,CLASS:90,CLICK:91,DOWN:92,UP:93,textNoTags:94,textNoTagsToken:95,DEFAULT:96,stylesOpt:97,alphaNum:98,CALLBACKNAME:99,CALLBACKARGS:100,HREF:101,LINK_TARGET:102,HEX:103,numList:104,INTERPOLATE:105,NUM:106,COMMA:107,style:108,styleComponent:109,MINUS:110,UNIT:111,BRKT:112,DOT:113,PCT:114,TAGSTART:115,alphaNumToken:116,idStringToken:117,alphaNumStatement:118,direction_tb:119,direction_bt:120,direction_rl:121,direction_lr:122,PUNCTUATION:123,UNICODE_TEXT:124,PLUS:125,EQUALS:126,MULT:127,UNDERSCORE:128,graphCodeTokens:129,ARROW_CROSS:130,ARROW_POINT:131,ARROW_CIRCLE:132,ARROW_OPEN:133,QUOTE:134,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",85:"MD_STR",87:"STYLE",88:"LINKSTYLE",89:"CLASSDEF",90:"CLASS",91:"CLICK",92:"DOWN",93:"UP",96:"DEFAULT",99:"CALLBACKNAME",100:"CALLBACKARGS",101:"HREF",102:"LINK_TARGET",103:"HEX",105:"INTERPOLATE",106:"NUM",107:"COMMA",110:"MINUS",111:"UNIT",112:"BRKT",113:"DOT",114:"PCT",115:"TAGSTART",119:"direction_tb",120:"direction_bt",121:"direction_rl",122:"direction_lr",123:"PUNCTUATION",124:"UNICODE_TEXT",125:"PLUS",126:"EQUALS",127:"MULT",128:"UNDERSCORE",130:"ARROW_CROSS",131:"ARROW_POINT",132:"ARROW_CIRCLE",133:"ARROW_OPEN",134:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[39,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[94,1],[94,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[104,1],[104,3],[97,1],[97,3],[108,1],[108,2],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[109,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[95,1],[95,1],[95,1],[95,1],[54,1],[54,2],[98,1],[98,2],[118,1],[118,1],[118,1],[118,1],[43,1],[43,1],[43,1],[43,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1],[129,1]],performAction:function(cs,zs,Da,Ei,Rc,Oe,bp){var Ue=Oe.length-1;switch(Rc){case 5:Ei.parseDirective("%%{","open_directive");break;case 6:Ei.parseDirective(Oe[Ue],"type_directive");break;case 7:Oe[Ue]=Oe[Ue].trim().replace(/'/g,'"'),Ei.parseDirective(Oe[Ue],"arg_directive");break;case 8:Ei.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(Oe[Ue])||Oe[Ue].length>0)&&Oe[Ue-1].push(Oe[Ue]),this.$=Oe[Ue-1];break;case 12:case 97:case 153:case 155:case 156:this.$=Oe[Ue];break;case 19:Ei.setDirection("TB"),this.$="TB";break;case 20:Ei.setDirection(Oe[Ue-1]),this.$=Oe[Ue-1];break;case 35:this.$=Oe[Ue-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=Ei.addSubGraph(Oe[Ue-6],Oe[Ue-1],Oe[Ue-4]);break;case 42:this.$=Ei.addSubGraph(Oe[Ue-3],Oe[Ue-1],Oe[Ue-3]);break;case 43:this.$=Ei.addSubGraph(void 0,Oe[Ue-1],void 0);break;case 45:this.$=Oe[Ue].trim(),Ei.setAccTitle(this.$);break;case 46:case 47:this.$=Oe[Ue].trim(),Ei.setAccDescription(this.$);break;case 51:Ei.addLink(Oe[Ue-2].stmt,Oe[Ue],Oe[Ue-1]),this.$={stmt:Oe[Ue],nodes:Oe[Ue].concat(Oe[Ue-2].nodes)};break;case 52:Ei.addLink(Oe[Ue-3].stmt,Oe[Ue-1],Oe[Ue-2]),this.$={stmt:Oe[Ue-1],nodes:Oe[Ue-1].concat(Oe[Ue-3].nodes)};break;case 53:this.$={stmt:Oe[Ue-1],nodes:Oe[Ue-1]};break;case 54:this.$={stmt:Oe[Ue],nodes:Oe[Ue]};break;case 55:this.$=[Oe[Ue]];break;case 56:this.$=Oe[Ue-4].concat(Oe[Ue]);break;case 57:this.$=[Oe[Ue-2]],Ei.setClass(Oe[Ue-2],Oe[Ue]);break;case 58:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"square");break;case 59:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"doublecircle");break;case 60:this.$=Oe[Ue-5],Ei.addVertex(Oe[Ue-5],Oe[Ue-2],"circle");break;case 61:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"ellipse");break;case 62:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"stadium");break;case 63:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"subroutine");break;case 64:this.$=Oe[Ue-7],Ei.addVertex(Oe[Ue-7],Oe[Ue-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Oe[Ue-5],Oe[Ue-3]]]));break;case 65:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"cylinder");break;case 66:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"round");break;case 67:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"diamond");break;case 68:this.$=Oe[Ue-5],Ei.addVertex(Oe[Ue-5],Oe[Ue-2],"hexagon");break;case 69:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"odd");break;case 70:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"trapezoid");break;case 71:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"inv_trapezoid");break;case 72:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"lean_right");break;case 73:this.$=Oe[Ue-3],Ei.addVertex(Oe[Ue-3],Oe[Ue-1],"lean_left");break;case 74:this.$=Oe[Ue],Ei.addVertex(Oe[Ue]);break;case 75:Oe[Ue-1].text=Oe[Ue],this.$=Oe[Ue-1];break;case 76:case 77:Oe[Ue-2].text=Oe[Ue-1],this.$=Oe[Ue-2];break;case 78:this.$=Oe[Ue];break;case 79:var hf=Ei.destructLink(Oe[Ue],Oe[Ue-2]);this.$={type:hf.type,stroke:hf.stroke,length:hf.length,text:Oe[Ue-1]};break;case 80:var hf=Ei.destructLink(Oe[Ue]);this.$={type:hf.type,stroke:hf.stroke,length:hf.length};break;case 81:this.$=Oe[Ue-1];break;case 82:this.$={text:Oe[Ue],type:"text"};break;case 83:this.$={text:Oe[Ue-1].text+""+Oe[Ue],type:Oe[Ue-1].type};break;case 84:this.$={text:Oe[Ue],type:"text"};break;case 85:this.$={text:Oe[Ue],type:"markdown"};break;case 98:case 154:this.$=Oe[Ue-1]+""+Oe[Ue];break;case 99:case 100:this.$=Oe[Ue-4],Ei.addClass(Oe[Ue-2],Oe[Ue]);break;case 101:this.$=Oe[Ue-4],Ei.setClass(Oe[Ue-2],Oe[Ue]);break;case 102:case 110:this.$=Oe[Ue-1],Ei.setClickEvent(Oe[Ue-1],Oe[Ue]);break;case 103:case 111:this.$=Oe[Ue-3],Ei.setClickEvent(Oe[Ue-3],Oe[Ue-2]),Ei.setTooltip(Oe[Ue-3],Oe[Ue]);break;case 104:this.$=Oe[Ue-2],Ei.setClickEvent(Oe[Ue-2],Oe[Ue-1],Oe[Ue]);break;case 105:this.$=Oe[Ue-4],Ei.setClickEvent(Oe[Ue-4],Oe[Ue-3],Oe[Ue-2]),Ei.setTooltip(Oe[Ue-4],Oe[Ue]);break;case 106:case 112:this.$=Oe[Ue-1],Ei.setLink(Oe[Ue-1],Oe[Ue]);break;case 107:case 113:this.$=Oe[Ue-3],Ei.setLink(Oe[Ue-3],Oe[Ue-2]),Ei.setTooltip(Oe[Ue-3],Oe[Ue]);break;case 108:case 114:this.$=Oe[Ue-3],Ei.setLink(Oe[Ue-3],Oe[Ue-2],Oe[Ue]);break;case 109:case 115:this.$=Oe[Ue-5],Ei.setLink(Oe[Ue-5],Oe[Ue-4],Oe[Ue]),Ei.setTooltip(Oe[Ue-5],Oe[Ue-2]);break;case 116:this.$=Oe[Ue-4],Ei.addVertex(Oe[Ue-2],void 0,void 0,Oe[Ue]);break;case 117:case 119:this.$=Oe[Ue-4],Ei.updateLink(Oe[Ue-2],Oe[Ue]);break;case 118:this.$=Oe[Ue-4],Ei.updateLink([Oe[Ue-2]],Oe[Ue]);break;case 120:this.$=Oe[Ue-8],Ei.updateLinkInterpolate([Oe[Ue-6]],Oe[Ue-2]),Ei.updateLink([Oe[Ue-6]],Oe[Ue]);break;case 121:this.$=Oe[Ue-8],Ei.updateLinkInterpolate(Oe[Ue-6],Oe[Ue-2]),Ei.updateLink(Oe[Ue-6],Oe[Ue]);break;case 122:this.$=Oe[Ue-6],Ei.updateLinkInterpolate([Oe[Ue-4]],Oe[Ue]);break;case 123:this.$=Oe[Ue-6],Ei.updateLinkInterpolate(Oe[Ue-4],Oe[Ue]);break;case 124:case 126:this.$=[Oe[Ue]];break;case 125:case 127:Oe[Ue-2].push(Oe[Ue]),this.$=Oe[Ue-2];break;case 129:this.$=Oe[Ue-1]+Oe[Ue];break;case 151:this.$=Oe[Ue];break;case 152:this.$=Oe[Ue-1]+""+Oe[Ue];break;case 157:this.$="v";break;case 158:this.$="-";break;case 159:this.$={stmt:"dir",value:"TB"};break;case 160:this.$={stmt:"dir",value:"BT"};break;case 161:this.$={stmt:"dir",value:"RL"};break;case 162:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:a,16:4,21:f,22:p,24:v},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:a,16:4,21:f,22:p,24:v},i(m,b,{17:11}),{7:12,13:[1,13]},{16:14,21:f,22:p,24:v},{16:15,21:f,22:p,24:v},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:E,21:C,22:M,23:P,32:24,33:25,34:26,35:27,36:28,37:29,38:B,43:31,44:j,46:R,48:H,50:35,51:45,52:Y,54:46,66:st,67:et,87:it,88:dt,89:Tt,90:yt,91:xt,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,117:47,119:Z,120:Zt,121:vt,122:ze,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe},{8:64,10:[1,65],15:cn},i([10,15],[2,6]),i(m,[2,17]),i(m,[2,18]),i(m,[2,19]),{20:[1,68],21:[1,69],22:Fn,27:67,30:70},i(Te,[2,11]),i(Te,[2,12]),i(Te,[2,13]),i(Te,[2,14]),i(Te,[2,15]),i(Te,[2,16]),{9:72,20:vr,21:Ee,23:le,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:vr,21:Ee,23:le},{9:81,20:vr,21:Ee,23:le},{9:82,20:vr,21:Ee,23:le},{9:83,20:vr,21:Ee,23:le},{9:84,20:vr,21:Ee,23:le},{9:86,20:vr,21:Ee,22:[1,85],23:le},i(Te,[2,44]),{45:[1,87]},{47:[1,88]},i(Te,[2,47]),i(ke,[2,54],{30:89,22:Fn}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:me,52:Gt,66:Le,67:Ht,84:[1,97],92:ln,98:96,99:[1,94],101:[1,95],106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:98,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(Te,[2,159]),i(Te,[2,160]),i(Te,[2,161]),i(Te,[2,162]),i(gn,[2,55],{53:[1,116]}),i(En,[2,74],{117:129,40:[1,117],52:Y,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:st,67:et,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe}),i(Mr,[2,151]),i(Mr,[2,176]),i(Mr,[2,177]),i(Mr,[2,178]),i(Mr,[2,179]),i(Mr,[2,180]),i(Mr,[2,181]),i(Mr,[2,182]),i(Mr,[2,183]),i(Mr,[2,184]),i(Mr,[2,185]),i(Mr,[2,186]),i(Mr,[2,187]),i(Mr,[2,188]),i(Mr,[2,189]),i(Mr,[2,190]),i(Mr,[2,191]),{9:130,20:vr,21:Ee,23:le},{11:131,14:[1,132]},i(lr,[2,8]),i(m,[2,20]),i(m,[2,26]),i(m,[2,27]),{21:[1,133]},i(Ki,[2,34],{30:134,22:Fn}),i(Te,[2,35]),{50:135,51:45,52:Y,54:46,66:st,67:et,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,117:47,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe},i(Is,[2,48]),i(Is,[2,49]),i(Is,[2,50]),i(Ha,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:hi,24:qi,26:zn,38:Zn,39:139,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i([52,66,67,68,80,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,80]),i(Te,[2,36]),i(Te,[2,37]),i(Te,[2,38]),i(Te,[2,39]),i(Te,[2,40]),{22:hi,24:qi,26:zn,38:Zn,39:164,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(av,b,{17:165}),i(Te,[2,45]),i(Te,[2,46]),i(ke,[2,53],{52:sl}),{26:me,52:Gt,66:Le,67:Ht,92:ln,98:167,103:[1,168],106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:98,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{96:[1,169],104:170,106:[1,171]},{26:me,52:Gt,66:Le,67:Ht,92:ln,96:[1,172],98:173,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:98,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{26:me,52:Gt,66:Le,67:Ht,92:ln,98:174,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:98,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(lr,[2,102],{22:[1,175],100:[1,176]}),i(lr,[2,106],{22:[1,177]}),i(lr,[2,110],{116:100,118:179,22:[1,178],26:me,52:Gt,66:Le,67:Ht,92:ln,106:Rt,107:We,110:se,112:Or,113:Ce,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr}),i(lr,[2,112],{22:[1,180]}),i(yu,[2,153]),i(yu,[2,155]),i(yu,[2,156]),i(yu,[2,157]),i(yu,[2,158]),i(As,[2,163]),i(As,[2,164]),i(As,[2,165]),i(As,[2,166]),i(As,[2,167]),i(As,[2,168]),i(As,[2,169]),i(As,[2,170]),i(As,[2,171]),i(As,[2,172]),i(As,[2,173]),i(As,[2,174]),i(As,[2,175]),{52:Y,54:181,66:st,67:et,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,117:47,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe},{22:hi,24:qi,26:zn,38:Zn,39:182,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:183,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:185,42:Pr,52:Gt,57:[1,184],66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:186,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:187,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:188,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{66:[1,189]},{22:hi,24:qi,26:zn,38:Zn,39:190,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:191,42:Pr,52:Gt,66:Le,67:Ht,71:[1,192],73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:193,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:194,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:195,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(Mr,[2,152]),i(pp,[2,3]),{8:196,15:cn},{15:[2,7]},i(m,[2,28]),i(Ki,[2,33]),i(ke,[2,51],{30:197,22:Fn}),i(Ha,[2,75],{22:[1,198]}),{22:[1,199]},{22:hi,24:qi,26:zn,38:Zn,39:200,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,82:[1,201],83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(As,[2,82]),i(As,[2,84]),i(As,[2,85]),i(As,[2,141]),i(As,[2,142]),i(As,[2,143]),i(As,[2,144]),i(As,[2,145]),i(As,[2,146]),i(As,[2,147]),i(As,[2,148]),i(As,[2,149]),i(As,[2,150]),i(As,[2,86]),i(As,[2,87]),i(As,[2,88]),i(As,[2,89]),i(As,[2,90]),i(As,[2,91]),i(As,[2,92]),i(As,[2,93]),i(As,[2,94]),i(As,[2,95]),i(As,[2,96]),{9:204,20:vr,21:Ee,22:hi,23:le,24:qi,26:zn,38:Zn,40:[1,203],42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{18:18,19:19,20:E,21:C,22:M,23:P,32:24,33:25,34:26,35:27,36:28,37:29,38:B,42:[1,205],43:31,44:j,46:R,48:H,50:35,51:45,52:Y,54:46,66:st,67:et,87:it,88:dt,89:Tt,90:yt,91:xt,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,117:47,119:Z,120:Zt,121:vt,122:ze,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe},{22:Fn,30:206},{22:[1,207],26:me,52:Gt,66:Le,67:Ht,92:ln,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:179,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:[1,208]},{22:[1,209]},{22:[1,210],107:[1,211]},i(od,[2,124]),{22:[1,212]},{22:[1,213],26:me,52:Gt,66:Le,67:Ht,92:ln,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:179,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:[1,214],26:me,52:Gt,66:Le,67:Ht,92:ln,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:179,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{84:[1,215]},i(lr,[2,104],{22:[1,216]}),{84:[1,217],102:[1,218]},{84:[1,219]},i(yu,[2,154]),{84:[1,220],102:[1,221]},i(gn,[2,57],{117:129,52:Y,66:st,67:et,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe}),{22:hi,24:qi,26:zn,38:Zn,41:[1,222],42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,56:[1,223],66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:224,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,58:[1,225],66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,60:[1,226],66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,62:[1,227],66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,64:[1,228],66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{67:[1,229]},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,66:Le,67:Ht,70:[1,230],73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,66:Le,67:Ht,72:[1,231],73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,39:232,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,41:[1,233],42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,66:Le,67:Ht,73:In,75:[1,234],77:[1,235],81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,66:Le,67:Ht,73:In,75:[1,237],77:[1,236],81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{9:238,20:vr,21:Ee,23:le},i(ke,[2,52],{52:sl}),i(Ha,[2,77]),i(Ha,[2,76]),{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,66:Le,67:Ht,68:[1,239],73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(Ha,[2,79]),i(As,[2,83]),{22:hi,24:qi,26:zn,38:Zn,39:240,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(av,b,{17:241}),i(Te,[2,43]),{51:242,52:Y,54:46,66:st,67:et,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,117:47,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe},{22:$l,66:zu,67:Gi,87:He,97:243,103:Er,106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},{22:$l,66:zu,67:Gi,87:He,97:257,103:Er,106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},{22:$l,66:zu,67:Gi,87:He,97:258,103:Er,105:[1,259],106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},{22:$l,66:zu,67:Gi,87:He,97:260,103:Er,105:[1,261],106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},{106:[1,262]},{22:$l,66:zu,67:Gi,87:He,97:263,103:Er,106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},{22:$l,66:zu,67:Gi,87:He,97:264,103:Er,106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},{26:me,52:Gt,66:Le,67:Ht,92:ln,98:265,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:98,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(lr,[2,103]),{84:[1,266]},i(lr,[2,107],{22:[1,267]}),i(lr,[2,108]),i(lr,[2,111]),i(lr,[2,113],{22:[1,268]}),i(lr,[2,114]),i(En,[2,58]),i(En,[2,59]),{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,58:[1,269],66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(En,[2,66]),i(En,[2,61]),i(En,[2,62]),i(En,[2,63]),{66:[1,270]},i(En,[2,65]),i(En,[2,67]),{22:hi,24:qi,26:zn,38:Zn,42:Pr,52:Gt,66:Le,67:Ht,72:[1,271],73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(En,[2,69]),i(En,[2,70]),i(En,[2,72]),i(En,[2,71]),i(En,[2,73]),i(pp,[2,4]),i([22,52,66,67,92,96,106,107,110,112,113,123,124,125,126,127,128],[2,81]),{22:hi,24:qi,26:zn,38:Zn,41:[1,272],42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{18:18,19:19,20:E,21:C,22:M,23:P,32:24,33:25,34:26,35:27,36:28,37:29,38:B,42:[1,273],43:31,44:j,46:R,48:H,50:35,51:45,52:Y,54:46,66:st,67:et,87:it,88:dt,89:Tt,90:yt,91:xt,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,117:47,119:Z,120:Zt,121:vt,122:ze,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe},i(gn,[2,56]),i(lr,[2,116],{107:lf}),i(_3,[2,126],{109:275,22:$l,66:zu,67:Gi,87:He,103:Er,106:ci,110:Xa,111:kc,112:xu,113:mo,114:ku}),i(m1,[2,128]),i(m1,[2,130]),i(m1,[2,131]),i(m1,[2,132]),i(m1,[2,133]),i(m1,[2,134]),i(m1,[2,135]),i(m1,[2,136]),i(m1,[2,137]),i(m1,[2,138]),i(m1,[2,139]),i(m1,[2,140]),i(lr,[2,117],{107:lf}),i(lr,[2,118],{107:lf}),{22:[1,276]},i(lr,[2,119],{107:lf}),{22:[1,277]},i(od,[2,125]),i(lr,[2,99],{107:lf}),i(lr,[2,100],{107:lf}),i(lr,[2,101],{116:100,118:179,26:me,52:Gt,66:Le,67:Ht,92:ln,106:Rt,107:We,110:se,112:Or,113:Ce,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr}),i(lr,[2,105]),{102:[1,278]},{102:[1,279]},{58:[1,280]},{68:[1,281]},{72:[1,282]},{9:283,20:vr,21:Ee,23:le},i(Te,[2,42]),{22:$l,66:zu,67:Gi,87:He,103:Er,106:ci,108:284,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},i(m1,[2,129]),{26:me,52:Gt,66:Le,67:Ht,92:ln,98:285,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:98,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{26:me,52:Gt,66:Le,67:Ht,92:ln,98:286,106:Rt,107:We,110:se,112:Or,113:Ce,116:100,118:98,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(lr,[2,109]),i(lr,[2,115]),i(En,[2,60]),{22:hi,24:qi,26:zn,38:Zn,39:287,42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:140,84:Mn,85:rc,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},i(En,[2,68]),i(av,b,{17:288}),i(_3,[2,127],{109:275,22:$l,66:zu,67:Gi,87:He,103:Er,106:ci,110:Xa,111:kc,112:xu,113:mo,114:ku}),i(lr,[2,122],{116:100,118:179,22:[1,289],26:me,52:Gt,66:Le,67:Ht,92:ln,106:Rt,107:We,110:se,112:Or,113:Ce,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr}),i(lr,[2,123],{116:100,118:179,22:[1,290],26:me,52:Gt,66:Le,67:Ht,92:ln,106:Rt,107:We,110:se,112:Or,113:Ce,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr}),{22:hi,24:qi,26:zn,38:Zn,41:[1,291],42:Pr,52:Gt,66:Le,67:Ht,73:In,81:xi,83:202,86:152,87:qn,88:ss,89:Aa,90:Ya,91:Ea,92:ga,93:Es,95:143,96:Bs,106:Rt,107:We,110:Ta,112:Or,113:Ce,114:La,115:Va,116:149,123:Nr,124:he,125:ir,126:Yn,127:tr,128:cr},{18:18,19:19,20:E,21:C,22:M,23:P,32:24,33:25,34:26,35:27,36:28,37:29,38:B,42:[1,292],43:31,44:j,46:R,48:H,50:35,51:45,52:Y,54:46,66:st,67:et,87:it,88:dt,89:Tt,90:yt,91:xt,92:ft,96:wt,106:nt,107:kt,110:gt,112:ht,113:Mt,117:47,119:Z,120:Zt,121:vt,122:ze,123:rt,124:Ae,125:ne,126:Ot,127:Nt,128:xe},{22:$l,66:zu,67:Gi,87:He,97:293,103:Er,106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},{22:$l,66:zu,67:Gi,87:He,97:294,103:Er,106:ci,108:244,109:245,110:Xa,111:kc,112:xu,113:mo,114:ku},i(En,[2,64]),i(Te,[2,41]),i(lr,[2,120],{107:lf}),i(lr,[2,121],{107:lf})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(cs,zs){if(zs.recoverable)this.trace(cs);else{var Da=new Error(cs);throw Da.hash=zs,Da}},parse:function(cs){var zs=this,Da=[0],Ei=[],Rc=[null],Oe=[],bp=this.table,Ue="",hf=0,dm=0,ME=2,vp=1,q5=Oe.slice.call(arguments,1),ch=Object.create(this.lexer),cd={yy:{}};for(var H5 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H5)&&(cd.yy[H5]=this.yy[H5]);ch.setInput(cs,cd.yy),cd.yy.lexer=ch,cd.yy.parser=this,typeof ch.yylloc>"u"&&(ch.yylloc={});var V5=ch.yylloc;Oe.push(V5);var IE=ch.options&&ch.options.ranges;typeof cd.yy.parseError=="function"?this.parseError=cd.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ML(){var uh;return uh=Ei.pop()||ch.lex()||vp,typeof uh!="number"&&(uh instanceof Array&&(Ei=uh,uh=Ei.pop()),uh=zs.symbols_[uh]||uh),uh}for(var y1,wp,ud,gm,ov={},pm,Ec,xk,Wo;;){if(wp=Da[Da.length-1],this.defaultActions[wp]?ud=this.defaultActions[wp]:((y1===null||typeof y1>"u")&&(y1=ML()),ud=bp[wp]&&bp[wp][y1]),typeof ud>"u"||!ud.length||!ud[0]){var kk="";Wo=[];for(pm in bp[wp])this.terminals_[pm]&&pm>ME&&Wo.push("'"+this.terminals_[pm]+"'");ch.showPosition?kk="Parse error on line "+(hf+1)+`:
-`+ch.showPosition()+`
-Expecting `+Wo.join(", ")+", got '"+(this.terminals_[y1]||y1)+"'":kk="Parse error on line "+(hf+1)+": Unexpected "+(y1==vp?"end of input":"'"+(this.terminals_[y1]||y1)+"'"),this.parseError(kk,{text:ch.match,token:this.terminals_[y1]||y1,line:ch.yylineno,loc:V5,expected:Wo})}if(ud[0]instanceof Array&&ud.length>1)throw new Error("Parse Error: multiple actions possible at state: "+wp+", token: "+y1);switch(ud[0]){case 1:Da.push(y1),Rc.push(ch.yytext),Oe.push(ch.yylloc),Da.push(ud[1]),y1=null,dm=ch.yyleng,Ue=ch.yytext,hf=ch.yylineno,V5=ch.yylloc;break;case 2:if(Ec=this.productions_[ud[1]][1],ov.$=Rc[Rc.length-Ec],ov._$={first_line:Oe[Oe.length-(Ec||1)].first_line,last_line:Oe[Oe.length-1].last_line,first_column:Oe[Oe.length-(Ec||1)].first_column,last_column:Oe[Oe.length-1].last_column},IE&&(ov._$.range=[Oe[Oe.length-(Ec||1)].range[0],Oe[Oe.length-1].range[1]]),gm=this.performAction.apply(ov,[Ue,dm,hf,cd.yy,ud[1],Rc,Oe].concat(q5)),typeof gm<"u")return gm;Ec&&(Da=Da.slice(0,-1*Ec*2),Rc=Rc.slice(0,-1*Ec),Oe=Oe.slice(0,-1*Ec)),Da.push(this.productions_[ud[1]][0]),Rc.push(ov.$),Oe.push(ov._$),xk=bp[Da[Da.length-2]][Da[Da.length-1]],Da.push(xk);break;case 3:return!0}}return!0}},DL=function(){var gg={EOF:1,parseError:function(zs,Da){if(this.yy.parser)this.yy.parser.parseError(zs,Da);else throw new Error(zs)},setInput:function(cs,zs){return this.yy=zs||this.yy||{},this._input=cs,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},input:function(){var cs=this._input[0];this.yytext+=cs,this.yyleng++,this.offset++,this.match+=cs,this.matched+=cs;var zs=cs.match(/(?:\r\n?|\n).*/g);return zs?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),cs},unput:function(cs){var zs=cs.length,Da=cs.split(/(?:\r\n?|\n)/g);this._input=cs+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-zs),this.offset-=zs;var Ei=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),Da.length-1&&(this.yylineno-=Da.length-1);var Rc=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:Da?(Da.length===Ei.length?this.yylloc.first_column:0)+Ei[Ei.length-Da.length].length-Da[0].length:this.yylloc.first_column-zs},this.options.ranges&&(this.yylloc.range=[Rc[0],Rc[0]+this.yyleng-zs]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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).
+`,init:i=>{iPt.setConf(i.c4)}}},Symbol.toStringTag,{value:"Module"}));var Ldt=function(){var i=function(wg,cs,zs,Da){for(zs=zs||{},Da=wg.length;Da--;zs[wg[Da]]=cs);return zs},a=[1,9],f=[1,7],p=[1,6],v=[1,8],m=[1,20,21,22,23,38,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],b=[2,10],E=[1,20],C=[1,21],A=[1,22],N=[1,23],F=[1,30],j=[1,32],R=[1,33],H=[1,34],Y=[1,63],rt=[1,49],J=[1,53],it=[1,36],ht=[1,37],Tt=[1,38],yt=[1,39],vt=[1,40],ut=[1,57],xt=[1,64],st=[1,52],Et=[1,54],gt=[1,56],pt=[1,60],Ct=[1,61],nt=[1,41],Nt=[1,42],dt=[1,43],Ft=[1,44],X=[1,62],Bt=[1,51],Rt=[1,55],mt=[1,58],Ot=[1,59],Gt=[1,50],Ve=[1,67],Cn=[1,72],xe=[1,20,21,22,23,38,42,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],Kn=[1,76],Se=[1,75],ee=[1,77],_e=[20,21,23,82,83],qe=[1,100],ce=[1,105],Ce=[1,108],he=[1,109],Re=[1,102],se=[1,107],Pe=[1,110],Qt=[1,103],vr=[1,115],$t=[1,114],ur=[1,104],le=[1,106],rr=[1,111],ar=[1,112],Qn=[1,113],Zn=[1,116],dn=[20,21,22,23,82,83],kn=[20,21,22,23,54,82,83],_r=[20,21,22,23,40,52,54,56,58,60,62,64,66,67,68,70,72,74,75,77,82,83,93,97,107,108,111,113,114,124,125,126,127,128,129],Rr=[20,21,23],os=[20,21,23,52,67,68,82,83,93,97,107,108,111,113,114,124,125,126,127,128,129],As=[1,12,20,21,22,23,24,38,42,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],ma=[52,67,68,93,97,107,108,111,113,114,124,125,126,127,128,129],Zr=[1,151],Hi=[1,159],Gn=[1,160],Jn=[1,161],Or=[1,162],Fn=[1,146],Li=[1,147],Dn=[1,142],Ba=[1,143],zn=[1,154],is=[1,155],La=[1,156],Xa=[1,157],Ta=[1,158],ga=[1,163],Es=[1,164],Bs=[1,149],_a=[1,152],Ma=[1,148],Ga=[1,145],ov=[20,21,22,23,38,42,44,46,48,52,67,68,88,89,90,91,92,93,97,107,108,111,113,114,120,121,122,123,124,125,126,127,128,129],rl=[1,167],mu=[20,21,22,23,26,52,67,68,93,107,108,111,113,114,124,125,126,127,128,129],Ls=[20,21,22,23,24,26,38,40,41,42,52,57,59,61,63,65,67,68,69,71,73,74,76,78,82,83,88,89,90,91,92,93,94,97,107,108,111,113,114,115,116,124,125,126,127,128,129],bp=[12,21,22,24],ad=[22,108],Rl=[1,252],$u=[1,247],Gi=[1,248],Ue=[1,256],Cr=[1,253],ci=[1,250],Qa=[1,249],kc=[1,251],yu=[1,254],yo=[1,255],xu=[1,257],uf=[1,275],k3=[20,21,23,108],v1=[20,21,22,23,67,68,88,104,107,108,111,112,113,114,115],E3={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,styledVertex:51,AMP:52,vertex:53,STYLE_SEPARATOR:54,idString:55,DOUBLECIRCLESTART:56,DOUBLECIRCLEEND:57,PS:58,PE:59,"(-":60,"-)":61,STADIUMSTART:62,STADIUMEND:63,SUBROUTINESTART:64,SUBROUTINEEND:65,VERTEX_WITH_PROPS_START:66,ALPHA:67,COLON:68,PIPE:69,CYLINDERSTART:70,CYLINDEREND:71,DIAMOND_START:72,DIAMOND_STOP:73,TAGEND:74,TRAPSTART:75,TRAPEND:76,INVTRAPSTART:77,INVTRAPEND:78,linkStatement:79,arrowText:80,TESTSTR:81,START_LINK:82,LINK:83,textToken:84,STR:85,MD_STR:86,keywords:87,STYLE:88,LINKSTYLE:89,CLASSDEF:90,CLASS:91,CLICK:92,DOWN:93,UP:94,textNoTags:95,textNoTagsToken:96,DEFAULT:97,stylesOpt:98,alphaNum:99,CALLBACKNAME:100,CALLBACKARGS:101,HREF:102,LINK_TARGET:103,HEX:104,numList:105,INTERPOLATE:106,NUM:107,COMMA:108,style:109,styleComponent:110,MINUS:111,UNIT:112,BRKT:113,DOT:114,PCT:115,TAGSTART:116,alphaNumToken:117,idStringToken:118,alphaNumStatement:119,direction_tb:120,direction_bt:121,direction_rl:122,direction_lr:123,PUNCTUATION:124,UNICODE_TEXT:125,PLUS:126,EQUALS:127,MULT:128,UNDERSCORE:129,graphCodeTokens:130,ARROW_CROSS:131,ARROW_POINT:132,ARROW_CIRCLE:133,ARROW_OPEN:134,QUOTE:135,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",54:"STYLE_SEPARATOR",56:"DOUBLECIRCLESTART",57:"DOUBLECIRCLEEND",58:"PS",59:"PE",60:"(-",61:"-)",62:"STADIUMSTART",63:"STADIUMEND",64:"SUBROUTINESTART",65:"SUBROUTINEEND",66:"VERTEX_WITH_PROPS_START",67:"ALPHA",68:"COLON",69:"PIPE",70:"CYLINDERSTART",71:"CYLINDEREND",72:"DIAMOND_START",73:"DIAMOND_STOP",74:"TAGEND",75:"TRAPSTART",76:"TRAPEND",77:"INVTRAPSTART",78:"INVTRAPEND",81:"TESTSTR",82:"START_LINK",83:"LINK",85:"STR",86:"MD_STR",88:"STYLE",89:"LINKSTYLE",90:"CLASSDEF",91:"CLASS",92:"CLICK",93:"DOWN",94:"UP",97:"DEFAULT",100:"CALLBACKNAME",101:"CALLBACKARGS",102:"HREF",103:"LINK_TARGET",104:"HEX",106:"INTERPOLATE",107:"NUM",108:"COMMA",111:"MINUS",112:"UNIT",113:"BRKT",114:"DOT",115:"PCT",116:"TAGSTART",120:"direction_tb",121:"direction_bt",122:"direction_rl",123:"direction_lr",124:"PUNCTUATION",125:"UNICODE_TEXT",126:"PLUS",127:"EQUALS",128:"MULT",129:"UNDERSCORE",131:"ARROW_CROSS",132:"ARROW_POINT",133:"ARROW_CIRCLE",134:"ARROW_OPEN",135:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[51,1],[51,3],[53,4],[53,4],[53,6],[53,4],[53,4],[53,4],[53,8],[53,4],[53,4],[53,4],[53,6],[53,4],[53,4],[53,4],[53,4],[53,4],[53,1],[49,2],[49,3],[49,3],[49,1],[49,3],[79,1],[80,3],[39,1],[39,2],[39,1],[39,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[95,1],[95,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[105,1],[105,3],[98,1],[98,3],[109,1],[109,2],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[96,1],[96,1],[96,1],[96,1],[55,1],[55,2],[99,1],[99,2],[119,1],[119,1],[119,1],[119,1],[43,1],[43,1],[43,1],[43,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[118,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1]],performAction:function(cs,zs,Da,ki,Rc,Oe,vp){var Ye=Oe.length-1;switch(Rc){case 5:ki.parseDirective("%%{","open_directive");break;case 6:ki.parseDirective(Oe[Ye],"type_directive");break;case 7:Oe[Ye]=Oe[Ye].trim().replace(/'/g,'"'),ki.parseDirective(Oe[Ye],"arg_directive");break;case 8:ki.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(Oe[Ye])||Oe[Ye].length>0)&&Oe[Ye-1].push(Oe[Ye]),this.$=Oe[Ye-1];break;case 12:case 98:case 154:case 156:case 157:this.$=Oe[Ye];break;case 19:ki.setDirection("TB"),this.$="TB";break;case 20:ki.setDirection(Oe[Ye-1]),this.$=Oe[Ye-1];break;case 35:this.$=Oe[Ye-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=ki.addSubGraph(Oe[Ye-6],Oe[Ye-1],Oe[Ye-4]);break;case 42:this.$=ki.addSubGraph(Oe[Ye-3],Oe[Ye-1],Oe[Ye-3]);break;case 43:this.$=ki.addSubGraph(void 0,Oe[Ye-1],void 0);break;case 45:this.$=Oe[Ye].trim(),ki.setAccTitle(this.$);break;case 46:case 47:this.$=Oe[Ye].trim(),ki.setAccDescription(this.$);break;case 51:ki.addLink(Oe[Ye-2].stmt,Oe[Ye],Oe[Ye-1]),this.$={stmt:Oe[Ye],nodes:Oe[Ye].concat(Oe[Ye-2].nodes)};break;case 52:ki.addLink(Oe[Ye-3].stmt,Oe[Ye-1],Oe[Ye-2]),this.$={stmt:Oe[Ye-1],nodes:Oe[Ye-1].concat(Oe[Ye-3].nodes)};break;case 53:this.$={stmt:Oe[Ye-1],nodes:Oe[Ye-1]};break;case 54:this.$={stmt:Oe[Ye],nodes:Oe[Ye]};break;case 55:this.$=[Oe[Ye]];break;case 56:this.$=Oe[Ye-4].concat(Oe[Ye]);break;case 57:this.$=Oe[Ye];break;case 58:this.$=Oe[Ye-2],ki.setClass(Oe[Ye-2],Oe[Ye]);break;case 59:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"square");break;case 60:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"doublecircle");break;case 61:this.$=Oe[Ye-5],ki.addVertex(Oe[Ye-5],Oe[Ye-2],"circle");break;case 62:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"ellipse");break;case 63:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"stadium");break;case 64:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"subroutine");break;case 65:this.$=Oe[Ye-7],ki.addVertex(Oe[Ye-7],Oe[Ye-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Oe[Ye-5],Oe[Ye-3]]]));break;case 66:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"cylinder");break;case 67:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"round");break;case 68:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"diamond");break;case 69:this.$=Oe[Ye-5],ki.addVertex(Oe[Ye-5],Oe[Ye-2],"hexagon");break;case 70:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"odd");break;case 71:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"trapezoid");break;case 72:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"inv_trapezoid");break;case 73:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"lean_right");break;case 74:this.$=Oe[Ye-3],ki.addVertex(Oe[Ye-3],Oe[Ye-1],"lean_left");break;case 75:this.$=Oe[Ye],ki.addVertex(Oe[Ye]);break;case 76:Oe[Ye-1].text=Oe[Ye],this.$=Oe[Ye-1];break;case 77:case 78:Oe[Ye-2].text=Oe[Ye-1],this.$=Oe[Ye-2];break;case 79:this.$=Oe[Ye];break;case 80:var lf=ki.destructLink(Oe[Ye],Oe[Ye-2]);this.$={type:lf.type,stroke:lf.stroke,length:lf.length,text:Oe[Ye-1]};break;case 81:var lf=ki.destructLink(Oe[Ye]);this.$={type:lf.type,stroke:lf.stroke,length:lf.length};break;case 82:this.$=Oe[Ye-1];break;case 83:this.$={text:Oe[Ye],type:"text"};break;case 84:this.$={text:Oe[Ye-1].text+""+Oe[Ye],type:Oe[Ye-1].type};break;case 85:this.$={text:Oe[Ye],type:"text"};break;case 86:this.$={text:Oe[Ye],type:"markdown"};break;case 99:case 155:this.$=Oe[Ye-1]+""+Oe[Ye];break;case 100:case 101:this.$=Oe[Ye-4],ki.addClass(Oe[Ye-2],Oe[Ye]);break;case 102:this.$=Oe[Ye-4],ki.setClass(Oe[Ye-2],Oe[Ye]);break;case 103:case 111:this.$=Oe[Ye-1],ki.setClickEvent(Oe[Ye-1],Oe[Ye]);break;case 104:case 112:this.$=Oe[Ye-3],ki.setClickEvent(Oe[Ye-3],Oe[Ye-2]),ki.setTooltip(Oe[Ye-3],Oe[Ye]);break;case 105:this.$=Oe[Ye-2],ki.setClickEvent(Oe[Ye-2],Oe[Ye-1],Oe[Ye]);break;case 106:this.$=Oe[Ye-4],ki.setClickEvent(Oe[Ye-4],Oe[Ye-3],Oe[Ye-2]),ki.setTooltip(Oe[Ye-4],Oe[Ye]);break;case 107:case 113:this.$=Oe[Ye-1],ki.setLink(Oe[Ye-1],Oe[Ye]);break;case 108:case 114:this.$=Oe[Ye-3],ki.setLink(Oe[Ye-3],Oe[Ye-2]),ki.setTooltip(Oe[Ye-3],Oe[Ye]);break;case 109:case 115:this.$=Oe[Ye-3],ki.setLink(Oe[Ye-3],Oe[Ye-2],Oe[Ye]);break;case 110:case 116:this.$=Oe[Ye-5],ki.setLink(Oe[Ye-5],Oe[Ye-4],Oe[Ye]),ki.setTooltip(Oe[Ye-5],Oe[Ye-2]);break;case 117:this.$=Oe[Ye-4],ki.addVertex(Oe[Ye-2],void 0,void 0,Oe[Ye]);break;case 118:case 120:this.$=Oe[Ye-4],ki.updateLink(Oe[Ye-2],Oe[Ye]);break;case 119:this.$=Oe[Ye-4],ki.updateLink([Oe[Ye-2]],Oe[Ye]);break;case 121:this.$=Oe[Ye-8],ki.updateLinkInterpolate([Oe[Ye-6]],Oe[Ye-2]),ki.updateLink([Oe[Ye-6]],Oe[Ye]);break;case 122:this.$=Oe[Ye-8],ki.updateLinkInterpolate(Oe[Ye-6],Oe[Ye-2]),ki.updateLink(Oe[Ye-6],Oe[Ye]);break;case 123:this.$=Oe[Ye-6],ki.updateLinkInterpolate([Oe[Ye-4]],Oe[Ye]);break;case 124:this.$=Oe[Ye-6],ki.updateLinkInterpolate(Oe[Ye-4],Oe[Ye]);break;case 125:case 127:this.$=[Oe[Ye]];break;case 126:case 128:Oe[Ye-2].push(Oe[Ye]),this.$=Oe[Ye-2];break;case 130:this.$=Oe[Ye-1]+Oe[Ye];break;case 152:this.$=Oe[Ye];break;case 153:this.$=Oe[Ye-1]+""+Oe[Ye];break;case 158:this.$="v";break;case 159:this.$="-";break;case 160:this.$={stmt:"dir",value:"TB"};break;case 161:this.$={stmt:"dir",value:"BT"};break;case 162:this.$={stmt:"dir",value:"RL"};break;case 163:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:a,16:4,21:f,22:p,24:v},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:a,16:4,21:f,22:p,24:v},i(m,b,{17:11}),{7:12,13:[1,13]},{16:14,21:f,22:p,24:v},{16:15,21:f,22:p,24:v},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:E,21:C,22:A,23:N,32:24,33:25,34:26,35:27,36:28,37:29,38:F,43:31,44:j,46:R,48:H,50:35,51:45,52:Y,53:46,55:47,67:rt,68:J,88:it,89:ht,90:Tt,91:yt,92:vt,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,118:48,120:nt,121:Nt,122:dt,123:Ft,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt},{8:65,10:[1,66],15:Ve},i([10,15],[2,6]),i(m,[2,17]),i(m,[2,18]),i(m,[2,19]),{20:[1,69],21:[1,70],22:Cn,27:68,30:71},i(xe,[2,11]),i(xe,[2,12]),i(xe,[2,13]),i(xe,[2,14]),i(xe,[2,15]),i(xe,[2,16]),{9:73,20:Kn,21:Se,23:ee,49:74,79:78,82:[1,79],83:[1,80]},{9:81,20:Kn,21:Se,23:ee},{9:82,20:Kn,21:Se,23:ee},{9:83,20:Kn,21:Se,23:ee},{9:84,20:Kn,21:Se,23:ee},{9:85,20:Kn,21:Se,23:ee},{9:87,20:Kn,21:Se,22:[1,86],23:ee},i(xe,[2,44]),{45:[1,88]},{47:[1,89]},i(xe,[2,47]),i(_e,[2,54],{30:90,22:Cn}),{22:[1,91]},{22:[1,92]},{22:[1,93]},{22:[1,94]},{26:qe,52:ce,67:Ce,68:he,85:[1,98],93:Re,99:97,100:[1,95],102:[1,96],107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:99,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(xe,[2,160]),i(xe,[2,161]),i(xe,[2,162]),i(xe,[2,163]),i(dn,[2,55]),i(dn,[2,57],{54:[1,117]}),i(kn,[2,75],{118:130,40:[1,118],52:Y,56:[1,119],58:[1,120],60:[1,121],62:[1,122],64:[1,123],66:[1,124],67:rt,68:J,70:[1,125],72:[1,126],74:[1,127],75:[1,128],77:[1,129],93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt}),i(_r,[2,152]),i(_r,[2,177]),i(_r,[2,178]),i(_r,[2,179]),i(_r,[2,180]),i(_r,[2,181]),i(_r,[2,182]),i(_r,[2,183]),i(_r,[2,184]),i(_r,[2,185]),i(_r,[2,186]),i(_r,[2,187]),i(_r,[2,188]),i(_r,[2,189]),i(_r,[2,190]),i(_r,[2,191]),i(_r,[2,192]),{9:131,20:Kn,21:Se,23:ee},{11:132,14:[1,133]},i(Rr,[2,8]),i(m,[2,20]),i(m,[2,26]),i(m,[2,27]),{21:[1,134]},i(os,[2,34],{30:135,22:Cn}),i(xe,[2,35]),{50:136,51:45,52:Y,53:46,55:47,67:rt,68:J,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,118:48,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt},i(As,[2,48]),i(As,[2,49]),i(As,[2,50]),i(ma,[2,79],{80:137,69:[1,139],81:[1,138]}),{22:Zr,24:Hi,26:Gn,38:Jn,39:140,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i([52,67,68,69,81,93,97,107,108,111,113,114,124,125,126,127,128,129],[2,81]),i(xe,[2,36]),i(xe,[2,37]),i(xe,[2,38]),i(xe,[2,39]),i(xe,[2,40]),{22:Zr,24:Hi,26:Gn,38:Jn,39:165,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(ov,b,{17:166}),i(xe,[2,45]),i(xe,[2,46]),i(_e,[2,53],{52:rl}),{26:qe,52:ce,67:Ce,68:he,93:Re,99:168,104:[1,169],107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:99,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{97:[1,170],105:171,107:[1,172]},{26:qe,52:ce,67:Ce,68:he,93:Re,97:[1,173],99:174,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:99,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{26:qe,52:ce,67:Ce,68:he,93:Re,99:175,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:99,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(Rr,[2,103],{22:[1,176],101:[1,177]}),i(Rr,[2,107],{22:[1,178]}),i(Rr,[2,111],{117:101,119:180,22:[1,179],26:qe,52:ce,67:Ce,68:he,93:Re,107:se,108:Pe,111:Qt,113:vr,114:$t,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn}),i(Rr,[2,113],{22:[1,181]}),i(mu,[2,154]),i(mu,[2,156]),i(mu,[2,157]),i(mu,[2,158]),i(mu,[2,159]),i(Ls,[2,164]),i(Ls,[2,165]),i(Ls,[2,166]),i(Ls,[2,167]),i(Ls,[2,168]),i(Ls,[2,169]),i(Ls,[2,170]),i(Ls,[2,171]),i(Ls,[2,172]),i(Ls,[2,173]),i(Ls,[2,174]),i(Ls,[2,175]),i(Ls,[2,176]),{52:Y,55:182,67:rt,68:J,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,118:48,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt},{22:Zr,24:Hi,26:Gn,38:Jn,39:183,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:184,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:186,42:Or,52:ce,58:[1,185],67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:187,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:188,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:189,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{67:[1,190]},{22:Zr,24:Hi,26:Gn,38:Jn,39:191,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:192,42:Or,52:ce,67:Ce,68:he,72:[1,193],74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:194,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:195,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:196,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(_r,[2,153]),i(bp,[2,3]),{8:197,15:Ve},{15:[2,7]},i(m,[2,28]),i(os,[2,33]),i(_e,[2,51],{30:198,22:Cn}),i(ma,[2,76],{22:[1,199]}),{22:[1,200]},{22:Zr,24:Hi,26:Gn,38:Jn,39:201,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,83:[1,202],84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(Ls,[2,83]),i(Ls,[2,85]),i(Ls,[2,86]),i(Ls,[2,142]),i(Ls,[2,143]),i(Ls,[2,144]),i(Ls,[2,145]),i(Ls,[2,146]),i(Ls,[2,147]),i(Ls,[2,148]),i(Ls,[2,149]),i(Ls,[2,150]),i(Ls,[2,151]),i(Ls,[2,87]),i(Ls,[2,88]),i(Ls,[2,89]),i(Ls,[2,90]),i(Ls,[2,91]),i(Ls,[2,92]),i(Ls,[2,93]),i(Ls,[2,94]),i(Ls,[2,95]),i(Ls,[2,96]),i(Ls,[2,97]),{9:205,20:Kn,21:Se,22:Zr,23:ee,24:Hi,26:Gn,38:Jn,40:[1,204],42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{18:18,19:19,20:E,21:C,22:A,23:N,32:24,33:25,34:26,35:27,36:28,37:29,38:F,42:[1,206],43:31,44:j,46:R,48:H,50:35,51:45,52:Y,53:46,55:47,67:rt,68:J,88:it,89:ht,90:Tt,91:yt,92:vt,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,118:48,120:nt,121:Nt,122:dt,123:Ft,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt},{22:Cn,30:207},{22:[1,208],26:qe,52:ce,67:Ce,68:he,93:Re,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:180,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:[1,209]},{22:[1,210]},{22:[1,211],108:[1,212]},i(ad,[2,125]),{22:[1,213]},{22:[1,214],26:qe,52:ce,67:Ce,68:he,93:Re,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:180,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:[1,215],26:qe,52:ce,67:Ce,68:he,93:Re,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:180,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{85:[1,216]},i(Rr,[2,105],{22:[1,217]}),{85:[1,218],103:[1,219]},{85:[1,220]},i(mu,[2,155]),{85:[1,221],103:[1,222]},i(dn,[2,58],{118:130,52:Y,67:rt,68:J,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt}),{22:Zr,24:Hi,26:Gn,38:Jn,41:[1,223],42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,57:[1,224],67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:225,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,59:[1,226],67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,61:[1,227],67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,63:[1,228],67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,65:[1,229],67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{68:[1,230]},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,67:Ce,68:he,71:[1,231],74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,67:Ce,68:he,73:[1,232],74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,39:233,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,41:[1,234],42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,67:Ce,68:he,74:Fn,76:[1,235],78:[1,236],82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,67:Ce,68:he,74:Fn,76:[1,238],78:[1,237],82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{9:239,20:Kn,21:Se,23:ee},i(_e,[2,52],{52:rl}),i(ma,[2,78]),i(ma,[2,77]),{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,67:Ce,68:he,69:[1,240],74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(ma,[2,80]),i(Ls,[2,84]),{22:Zr,24:Hi,26:Gn,38:Jn,39:241,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(ov,b,{17:242}),i(xe,[2,43]),{51:243,52:Y,53:46,55:47,67:rt,68:J,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,118:48,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt},{22:Rl,67:$u,68:Gi,88:Ue,98:244,104:Cr,107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},{22:Rl,67:$u,68:Gi,88:Ue,98:258,104:Cr,107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},{22:Rl,67:$u,68:Gi,88:Ue,98:259,104:Cr,106:[1,260],107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},{22:Rl,67:$u,68:Gi,88:Ue,98:261,104:Cr,106:[1,262],107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},{107:[1,263]},{22:Rl,67:$u,68:Gi,88:Ue,98:264,104:Cr,107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},{22:Rl,67:$u,68:Gi,88:Ue,98:265,104:Cr,107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},{26:qe,52:ce,67:Ce,68:he,93:Re,99:266,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:99,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(Rr,[2,104]),{85:[1,267]},i(Rr,[2,108],{22:[1,268]}),i(Rr,[2,109]),i(Rr,[2,112]),i(Rr,[2,114],{22:[1,269]}),i(Rr,[2,115]),i(kn,[2,59]),i(kn,[2,60]),{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,59:[1,270],67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(kn,[2,67]),i(kn,[2,62]),i(kn,[2,63]),i(kn,[2,64]),{67:[1,271]},i(kn,[2,66]),i(kn,[2,68]),{22:Zr,24:Hi,26:Gn,38:Jn,42:Or,52:ce,67:Ce,68:he,73:[1,272],74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(kn,[2,70]),i(kn,[2,71]),i(kn,[2,73]),i(kn,[2,72]),i(kn,[2,74]),i(bp,[2,4]),i([22,52,67,68,93,97,107,108,111,113,114,124,125,126,127,128,129],[2,82]),{22:Zr,24:Hi,26:Gn,38:Jn,41:[1,273],42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{18:18,19:19,20:E,21:C,22:A,23:N,32:24,33:25,34:26,35:27,36:28,37:29,38:F,42:[1,274],43:31,44:j,46:R,48:H,50:35,51:45,52:Y,53:46,55:47,67:rt,68:J,88:it,89:ht,90:Tt,91:yt,92:vt,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,118:48,120:nt,121:Nt,122:dt,123:Ft,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt},i(dn,[2,56]),i(Rr,[2,117],{108:uf}),i(k3,[2,127],{110:276,22:Rl,67:$u,68:Gi,88:Ue,104:Cr,107:ci,111:Qa,112:kc,113:yu,114:yo,115:xu}),i(v1,[2,129]),i(v1,[2,131]),i(v1,[2,132]),i(v1,[2,133]),i(v1,[2,134]),i(v1,[2,135]),i(v1,[2,136]),i(v1,[2,137]),i(v1,[2,138]),i(v1,[2,139]),i(v1,[2,140]),i(v1,[2,141]),i(Rr,[2,118],{108:uf}),i(Rr,[2,119],{108:uf}),{22:[1,277]},i(Rr,[2,120],{108:uf}),{22:[1,278]},i(ad,[2,126]),i(Rr,[2,100],{108:uf}),i(Rr,[2,101],{108:uf}),i(Rr,[2,102],{117:101,119:180,26:qe,52:ce,67:Ce,68:he,93:Re,107:se,108:Pe,111:Qt,113:vr,114:$t,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn}),i(Rr,[2,106]),{103:[1,279]},{103:[1,280]},{59:[1,281]},{69:[1,282]},{73:[1,283]},{9:284,20:Kn,21:Se,23:ee},i(xe,[2,42]),{22:Rl,67:$u,68:Gi,88:Ue,104:Cr,107:ci,109:285,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},i(v1,[2,130]),{26:qe,52:ce,67:Ce,68:he,93:Re,99:286,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:99,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{26:qe,52:ce,67:Ce,68:he,93:Re,99:287,107:se,108:Pe,111:Qt,113:vr,114:$t,117:101,119:99,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(Rr,[2,110]),i(Rr,[2,116]),i(kn,[2,61]),{22:Zr,24:Hi,26:Gn,38:Jn,39:288,42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:141,85:Dn,86:Ba,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},i(kn,[2,69]),i(ov,b,{17:289}),i(k3,[2,128],{110:276,22:Rl,67:$u,68:Gi,88:Ue,104:Cr,107:ci,111:Qa,112:kc,113:yu,114:yo,115:xu}),i(Rr,[2,123],{117:101,119:180,22:[1,290],26:qe,52:ce,67:Ce,68:he,93:Re,107:se,108:Pe,111:Qt,113:vr,114:$t,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn}),i(Rr,[2,124],{117:101,119:180,22:[1,291],26:qe,52:ce,67:Ce,68:he,93:Re,107:se,108:Pe,111:Qt,113:vr,114:$t,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn}),{22:Zr,24:Hi,26:Gn,38:Jn,41:[1,292],42:Or,52:ce,67:Ce,68:he,74:Fn,82:Li,84:203,87:153,88:zn,89:is,90:La,91:Xa,92:Ta,93:ga,94:Es,96:144,97:Bs,107:se,108:Pe,111:_a,113:vr,114:$t,115:Ma,116:Ga,117:150,124:ur,125:le,126:rr,127:ar,128:Qn,129:Zn},{18:18,19:19,20:E,21:C,22:A,23:N,32:24,33:25,34:26,35:27,36:28,37:29,38:F,42:[1,293],43:31,44:j,46:R,48:H,50:35,51:45,52:Y,53:46,55:47,67:rt,68:J,88:it,89:ht,90:Tt,91:yt,92:vt,93:ut,97:xt,107:st,108:Et,111:gt,113:pt,114:Ct,118:48,120:nt,121:Nt,122:dt,123:Ft,124:X,125:Bt,126:Rt,127:mt,128:Ot,129:Gt},{22:Rl,67:$u,68:Gi,88:Ue,98:294,104:Cr,107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},{22:Rl,67:$u,68:Gi,88:Ue,98:295,104:Cr,107:ci,109:245,110:246,111:Qa,112:kc,113:yu,114:yo,115:xu},i(kn,[2,65]),i(xe,[2,41]),i(Rr,[2,121],{108:uf}),i(Rr,[2,122],{108:uf})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],133:[2,7]},parseError:function(cs,zs){if(zs.recoverable)this.trace(cs);else{var Da=new Error(cs);throw Da.hash=zs,Da}},parse:function(cs){var zs=this,Da=[0],ki=[],Rc=[null],Oe=[],vp=this.table,Ye="",lf=0,fm=0,LE=2,wp=1,j5=Oe.slice.call(arguments,1),ah=Object.create(this.lexer),od={yy:{}};for(var $5 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$5)&&(od.yy[$5]=this.yy[$5]);ah.setInput(cs,od.yy),od.yy.lexer=ah,od.yy.parser=this,typeof ah.yylloc>"u"&&(ah.yylloc={});var z5=ah.yylloc;Oe.push(z5);var ME=ah.options&&ah.options.ranges;typeof od.yy.parseError=="function"?this.parseError=od.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xL(){var oh;return oh=ki.pop()||ah.lex()||wp,typeof oh!="number"&&(oh instanceof Array&&(ki=oh,oh=ki.pop()),oh=zs.symbols_[oh]||oh),oh}for(var w1,mp,cd,dm,cv={},gm,Ec,pk,Ko;;){if(mp=Da[Da.length-1],this.defaultActions[mp]?cd=this.defaultActions[mp]:((w1===null||typeof w1>"u")&&(w1=xL()),cd=vp[mp]&&vp[mp][w1]),typeof cd>"u"||!cd.length||!cd[0]){var bk="";Ko=[];for(gm in vp[mp])this.terminals_[gm]&&gm>LE&&Ko.push("'"+this.terminals_[gm]+"'");ah.showPosition?bk="Parse error on line "+(lf+1)+`:
+`+ah.showPosition()+`
+Expecting `+Ko.join(", ")+", got '"+(this.terminals_[w1]||w1)+"'":bk="Parse error on line "+(lf+1)+": Unexpected "+(w1==wp?"end of input":"'"+(this.terminals_[w1]||w1)+"'"),this.parseError(bk,{text:ah.match,token:this.terminals_[w1]||w1,line:ah.yylineno,loc:z5,expected:Ko})}if(cd[0]instanceof Array&&cd.length>1)throw new Error("Parse Error: multiple actions possible at state: "+mp+", token: "+w1);switch(cd[0]){case 1:Da.push(w1),Rc.push(ah.yytext),Oe.push(ah.yylloc),Da.push(cd[1]),w1=null,fm=ah.yyleng,Ye=ah.yytext,lf=ah.yylineno,z5=ah.yylloc;break;case 2:if(Ec=this.productions_[cd[1]][1],cv.$=Rc[Rc.length-Ec],cv._$={first_line:Oe[Oe.length-(Ec||1)].first_line,last_line:Oe[Oe.length-1].last_line,first_column:Oe[Oe.length-(Ec||1)].first_column,last_column:Oe[Oe.length-1].last_column},ME&&(cv._$.range=[Oe[Oe.length-(Ec||1)].range[0],Oe[Oe.length-1].range[1]]),dm=this.performAction.apply(cv,[Ye,fm,lf,od.yy,cd[1],Rc,Oe].concat(j5)),typeof dm<"u")return dm;Ec&&(Da=Da.slice(0,-1*Ec*2),Rc=Rc.slice(0,-1*Ec),Oe=Oe.slice(0,-1*Ec)),Da.push(this.productions_[cd[1]][0]),Rc.push(cv.$),Oe.push(cv._$),pk=vp[Da[Da.length-2]][Da[Da.length-1]],Da.push(pk);break;case 3:return!0}}return!0}},yL=function(){var wg={EOF:1,parseError:function(zs,Da){if(this.yy.parser)this.yy.parser.parseError(zs,Da);else throw new Error(zs)},setInput:function(cs,zs){return this.yy=zs||this.yy||{},this._input=cs,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},input:function(){var cs=this._input[0];this.yytext+=cs,this.yyleng++,this.offset++,this.match+=cs,this.matched+=cs;var zs=cs.match(/(?:\r\n?|\n).*/g);return zs?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),cs},unput:function(cs){var zs=cs.length,Da=cs.split(/(?:\r\n?|\n)/g);this._input=cs+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-zs),this.offset-=zs;var ki=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),Da.length-1&&(this.yylineno-=Da.length-1);var Rc=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:Da?(Da.length===ki.length?this.yylloc.first_column:0)+ki[ki.length-Da.length].length-Da[0].length:this.yylloc.first_column-zs},this.options.ranges&&(this.yylloc.range=[Rc[0],Rc[0]+this.yyleng-zs]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(cs){this.unput(this.match.slice(cs))},pastInput:function(){var cs=this.matched.substr(0,this.matched.length-this.match.length);return(cs.length>20?"...":"")+cs.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var cs=this.match;return cs.length<20&&(cs+=this._input.substr(0,20-cs.length)),(cs.substr(0,20)+(cs.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var cs=this.pastInput(),zs=new Array(cs.length+1).join("-");return cs+this.upcomingInput()+`
-`+zs+"^"},test_match:function(cs,zs){var Da,Ei,Rc;if(this.options.backtrack_lexer&&(Rc={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Rc.yylloc.range=this.yylloc.range.slice(0))),Ei=cs[0].match(/(?:\r\n?|\n).*/g),Ei&&(this.yylineno+=Ei.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ei?Ei[Ei.length-1].length-Ei[Ei.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+cs[0].length},this.yytext+=cs[0],this.match+=cs[0],this.matches=cs,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(cs[0].length),this.matched+=cs[0],Da=this.performAction.call(this,this.yy,this,zs,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Da)return Da;if(this._backtrack){for(var Oe in Rc)this[Oe]=Rc[Oe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var cs,zs,Da,Ei;this._more||(this.yytext="",this.match="");for(var Rc=this._currentRules(),Oe=0;Oezs[0].length)){if(zs=Da,Ei=Oe,this.options.backtrack_lexer){if(cs=this.test_match(Da,Rc[Oe]),cs!==!1)return cs;if(this._backtrack){zs=!1;continue}else return!1}else if(!this.options.flex)break}return zs?(cs=this.test_match(zs,Rc[Ei]),cs!==!1?cs:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var zs=this.next();return zs||this.lex()},begin:function(zs){this.conditionStack.push(zs)},popState:function(){var zs=this.conditionStack.length-1;return zs>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(zs){return zs=this.conditionStack.length-1-Math.abs(zs||0),zs>=0?this.conditionStack[zs]:"INITIAL"},pushState:function(zs){this.begin(zs)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(zs,Da,Ei,Rc){switch(Ei){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:return this.begin("acc_title"),44;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),46;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:this.begin("md_string");break;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("string");break;case 16:this.popState();break;case 17:return"STR";case 18:return 87;case 19:return 96;case 20:return 88;case 21:return 105;case 22:return 89;case 23:return 90;case 24:this.begin("href");break;case 25:this.popState();break;case 26:return 101;case 27:this.begin("callbackname");break;case 28:this.popState();break;case 29:this.popState(),this.begin("callbackargs");break;case 30:return 99;case 31:this.popState();break;case 32:return 100;case 33:this.begin("click");break;case 34:this.popState();break;case 35:return 91;case 36:return zs.lex.firstGraph()&&this.begin("dir"),24;case 37:return zs.lex.firstGraph()&&this.begin("dir"),24;case 38:return zs.lex.firstGraph()&&this.begin("dir"),24;case 39:return 38;case 40:return 42;case 41:return 102;case 42:return 102;case 43:return 102;case 44:return 102;case 45:return this.popState(),25;case 46:return this.popState(),26;case 47:return this.popState(),26;case 48:return this.popState(),26;case 49:return this.popState(),26;case 50:return this.popState(),26;case 51:return this.popState(),26;case 52:return this.popState(),26;case 53:return this.popState(),26;case 54:return this.popState(),26;case 55:return this.popState(),26;case 56:return 119;case 57:return 120;case 58:return 121;case 59:return 122;case 60:return 106;case 61:return 112;case 62:return 53;case 63:return 67;case 64:return 52;case 65:return 20;case 66:return 107;case 67:return 127;case 68:return 82;case 69:return 82;case 70:return 82;case 71:return 82;case 72:return 81;case 73:return 81;case 74:return 81;case 75:return 59;case 76:return 60;case 77:return 61;case 78:return 62;case 79:return 63;case 80:return 64;case 81:return 65;case 82:return 69;case 83:return 70;case 84:return 55;case 85:return 56;case 86:return 110;case 87:return 113;case 88:return 128;case 89:return 125;case 90:return 114;case 91:return 126;case 92:return 126;case 93:return 115;case 94:return 73;case 95:return 93;case 96:return"SEP";case 97:return 92;case 98:return 66;case 99:return 75;case 100:return 74;case 101:return 77;case 102:return 76;case 103:return 123;case 104:return 124;case 105:return 68;case 106:return 57;case 107:return 58;case 108:return 40;case 109:return 41;case 110:return 71;case 111:return 72;case 112:return 134;case 113:return 21;case 114:return 22;case 115:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\])/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[31,32],inclusive:!1},callbackname:{rules:[28,29,30],inclusive:!1},href:{rules:[25,26],inclusive:!1},click:{rules:[34,35],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[45,46,47,48,49,50,51,52,53,54,55],inclusive:!1},acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},md_string:{rules:[13,14],inclusive:!1},string:{rules:[16,17],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,15,18,19,20,21,22,23,24,27,33,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],inclusive:!0}}};return gg}();C3.lexer=DL;function fm(){this.yy={}}return fm.prototype=C3,C3.Parser=fm,new fm}();zdt.parser=zdt;const qdt=zdt,BDe="flowchart-";let lNt=0,Hdt=Ie(),Al={},pE=[],uL={},A5=[],tK={},Vdt={},eK=0,Gdt=!0,tv,nK,rK=[];const iK=i=>yi.sanitizeText(i,Hdt),hNt=function(i,a,f){p1.parseDirective(this,i,a,f)},dP=function(i){const a=Object.keys(Al);for(const f of a)if(Al[f].id===i)return Al[f].domId;return i},fNt=function(i,a,f,p,v,m,b={}){let E,C=i;C!==void 0&&C.trim().length!==0&&(Al[C]===void 0&&(Al[C]={id:C,labelType:"text",domId:BDe+C+"-"+lNt,styles:[],classes:[]}),lNt++,a!==void 0?(Hdt=Ie(),E=iK(a.text.trim()),Al[C].labelType=a.type,E[0]==='"'&&E[E.length-1]==='"'&&(E=E.substring(1,E.length-1)),Al[C].text=E):Al[C].text===void 0&&(Al[C].text=i),f!==void 0&&(Al[C].type=f),p!=null&&p.forEach(function(M){Al[C].styles.push(M)}),v!=null&&v.forEach(function(M){Al[C].classes.push(M)}),m!==void 0&&(Al[C].dir=m),Al[C].props===void 0?Al[C].props=b:b!==void 0&&Object.assign(Al[C].props,b))},dNt=function(i,a,f){const m={start:i,end:a,type:void 0,text:"",labelType:"text"};$t.info("abc78 Got edge...",m);const b=f.text;b!==void 0&&(m.text=iK(b.text.trim()),m.text[0]==='"'&&m.text[m.text.length-1]==='"'&&(m.text=m.text.substring(1,m.text.length-1)),m.labelType=b.type),f!==void 0&&(m.type=f.type,m.stroke=f.stroke,m.length=f.length),pE.push(m)},gNt=function(i,a,f){$t.info("addLink (abc78)",i,a,f);let p,v;for(p=0;p/)&&(tv="LR"),tv.match(/.*v/)&&(tv="TB"),tv==="TD"&&(tv="TB")},sK=function(i,a){i.split(",").forEach(function(f){let p=f;Al[p]!==void 0&&Al[p].classes.push(a),tK[p]!==void 0&&tK[p].classes.push(a)})},RDe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(Vdt[nK==="gen-1"?dP(f):f]=iK(a))})},jDe=function(i,a,f){let p=dP(i);if(Ie().securityLevel!=="loose"||a===void 0)return;let v=[];if(typeof f=="string"){v=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m")),v.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Dr(this).classed("hover",!1)})};rK.push(SNt);const ANt=function(i="gen-1"){Al={},uL={},pE=[],rK=[SNt],A5=[],tK={},eK=0,Vdt=[],Gdt=!0,nK=i,ug()},LNt=i=>{nK=i||"gen-2"},DNt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},MNt=function(i,a,f){let p=i.text.trim(),v=f.text;i===f&&f.text.match(/\s/)&&(p=void 0);function m(P){const B={boolean:{},number:{},string:{}},j=[];let R;return{nodeList:P.filter(function(Y){const st=typeof Y;return Y.stmt&&Y.stmt==="dir"?(R=Y.value,!1):Y.trim()===""?!1:st in B?B[st].hasOwnProperty(Y)?!1:B[st][Y]=!0:j.includes(Y)?!1:j.push(Y)}),dir:R}}let b=[];const{nodeList:E,dir:C}=m(b.concat.apply(b,a));if(b=E,nK==="gen-1")for(let P=0;P2e3)return;if(INt[gP]=a,A5[a].id===i)return{result:!0,count:0};let p=0,v=1;for(;p=0){const b=ONt(i,m);if(b.result)return{result:!0,count:v+b.count};v=v+b.count}p=p+1}return{result:!1,count:v}},NNt=function(i){return INt[i]},PNt=function(){gP=-1,A5.length>0&&ONt("none",A5.length-1)},FNt=function(){return A5},BNt=()=>Gdt?(Gdt=!1,!0):!1,zDe=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let p="normal";return a.includes("=")&&(p="thick"),a.includes(".")&&(p="dotted"),{type:f,stroke:p}},qDe=(i,a)=>{const f=a.length;let p=0;for(let v=0;v{const a=i.trim();let f=a.slice(0,-1),p="arrow_open";switch(a.slice(-1)){case"x":p="arrow_cross",a[0]==="x"&&(p="double_"+p,f=f.slice(1));break;case">":p="arrow_point",a[0]==="<"&&(p="double_"+p,f=f.slice(1));break;case"o":p="arrow_circle",a[0]==="o"&&(p="double_"+p,f=f.slice(1));break}let v="normal",m=f.length-1;f[0]==="="&&(v="thick"),f[0]==="~"&&(v="invisible");let b=qDe(".",f);return b&&(v="dotted",m=b),{type:p,stroke:v,length:m}},RNt=(i,a)=>{const f=HDe(i);let p;if(a){if(p=zDe(a),p.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(p.type==="arrow_open")p.type=f.type;else{if(p.type!==f.type)return{type:"INVALID",stroke:"INVALID"};p.type="double_"+p.type}return p.type==="double_arrow"&&(p.type="double_arrow_point"),p.length=f.length,p}return f},jNt=(i,a)=>{let f=!1;return i.forEach(p=>{p.nodes.indexOf(a)>=0&&(f=!0)}),f},$Nt=(i,a)=>{const f=[];return i.nodes.forEach((p,v)=>{jNt(a,p)||f.push(i.nodes[v])}),{nodes:f}},zNt={firstGraph:BNt},fk={parseDirective:hNt,defaultConfig:()=>WA.flowchart,setAccTitle:lg,getAccTitle:op,getAccDescription:up,setAccDescription:cp,addVertex:fNt,lookUpDomId:dP,addLink:gNt,updateLinkInterpolate:pNt,updateLink:bNt,addClass:vNt,setDirection:wNt,setClass:sK,setTooltip:RDe,getTooltip:yNt,setClickEvent:xNt,setLink:mNt,bindFunctions:kNt,getDirection:ENt,getVertices:TNt,getEdges:_Nt,getClasses:CNt,clear:ANt,setGen:LNt,defaultStyle:DNt,addSubGraph:MNt,getDepthFirstPos:NNt,indexNodes:PNt,getSubGraphs:FNt,destructLink:RNt,lex:zNt,exists:jNt,makeUniq:$Nt,setDiagramTitle:Yb,getDiagramTitle:N2},VDe=Object.freeze(Object.defineProperty({__proto__:null,addClass:vNt,addLink:gNt,addSingleLink:dNt,addSubGraph:MNt,addVertex:fNt,bindFunctions:kNt,clear:ANt,default:fk,defaultStyle:DNt,destructLink:RNt,firstGraph:BNt,getClasses:CNt,getDepthFirstPos:NNt,getDirection:ENt,getEdges:_Nt,getSubGraphs:FNt,getTooltip:yNt,getVertices:TNt,indexNodes:PNt,lex:zNt,lookUpDomId:dP,parseDirective:hNt,setClass:sK,setClickEvent:xNt,setDirection:wNt,setGen:LNt,setLink:mNt,updateLink:bNt,updateLinkInterpolate:pNt},Symbol.toStringTag,{value:"Module"}));var GDe="[object Symbol]";function bE(i){return typeof i=="symbol"||d3(i)&&cE(i)==GDe}function lL(i,a){for(var f=-1,p=i==null?0:i.length,v=Array(p);++f0){if(++a>=cMe)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}function hL(i){return function(){return i}}var fMe=function(){try{var i=lE(Object,"defineProperty");return i({},"",{}),i}catch{}}();const oK=fMe;var dMe=oK?function(i,a){return oK(i,"toString",{configurable:!0,enumerable:!1,value:hL(a),writable:!0})}:vE,gMe=hMe(dMe);const YNt=gMe;function XNt(i,a){for(var f=-1,p=i==null?0:i.length;++f
-1}var mMe=9007199254740991,yMe=/^(?:0|[1-9]\d*)$/;function cK(i,a){var f=typeof i;return a=a??mMe,!!a&&(f=="number"||f!="symbol"&&yMe.test(i))&&i>-1&&i%1==0&&i1?f[v-1]:void 0,b=v>2?f[2]:void 0;for(m=i.length>3&&typeof m=="function"?(v--,m):void 0,b&&bP(f[0],f[1],b)&&(m=v<3?void 0:m,v=1),a=Object(a);++p0&&f(E)?a>1?gK(E,a-1,f,p,v):Wdt(v,E):p||(v[v.length]=E)}return v}function fL(i){var a=i==null?0:i.length;return a?gK(i,1):[]}function qMe(i){return YNt(JNt(i,void 0,fL),i+"")}var HMe=LOt(Object.getPrototypeOf,Object);const Kdt=HMe;var VMe="[object Object]",GMe=Function.prototype,UMe=Object.prototype,rPt=GMe.toString,WMe=UMe.hasOwnProperty,KMe=rPt.call(Object);function iPt(i){if(!d3(i)||cE(i)!=VMe)return!1;var a=Kdt(i);if(a===null)return!0;var f=WMe.call(a,"constructor")&&a.constructor;return typeof f=="function"&&f instanceof f&&rPt.call(f)==KMe}function YMe(i,a,f,p){var v=-1,m=i==null?0:i.length;for(p&&m&&(f=i[++v]);++vE))return!1;var M=m.get(i),P=m.get(a);if(M&&P)return M==a&&P==i;var B=-1,j=!0,R=f&MOe?new mP:void 0;for(m.set(i,a),m.set(a,i);++B2?a[2]:void 0;for(v&&bP(a[0],a[1],v)&&(p=1);++f-1?v[m?a[b]:b]:void 0}}var TNe=Math.max;function _Ne(i,a,f){var p=i==null?0:i.length;if(!p)return-1;var v=f==null?0:rMe(f);return v<0&&(v=TNe(p+v,0)),QNt(i,dk(a),v)}var CNe=ENe(_Ne);const a0t=CNe;function RPt(i,a){var f=-1,p=uk(i)?Array(i.length):[];return vK(i,function(v,m,b){p[++f]=a(v,m,b)}),p}function $f(i,a){var f=jf(i)?lL:RPt;return f(i,dk(a))}function SNe(i,a){return i==null?i:e0t(i,s0t(a),wE)}function ANe(i,a){return i&&n0t(i,s0t(a))}function LNe(i,a){return i>a}var DNe=Object.prototype,MNe=DNe.hasOwnProperty;function INe(i,a){return i!=null&&MNe.call(i,a)}function eo(i,a){return i!=null&&IPt(i,a,INe)}function ONe(i,a){return lL(a,function(f){return i[f]})}function D5(i){return i==null?[]:ONe(i,B2(i))}function of(i){return i===void 0}function jPt(i,a){return ia||m&&b&&C&&!E&&!M||p&&b&&C||!f&&C||!v)return 1;if(!p&&!m&&!M&&i=E)return C;var M=f[p];return C*(M=="desc"?-1:1)}}return i.index-a.index}function $Ne(i,a,f){a.length?a=lL(a,function(m){return jf(m)?function(b){return dK(b,m.length===1?m[0]:m)}:m}):a=[vE];var p=-1;a=lL(a,VW(dk));var v=RPt(i,function(m,b,E){var C=lL(a,function(M){return M(m)});return{criteria:C,index:++p,value:m}});return BNe(v,function(m,b){return jNe(m,b,f)})}function zNe(i,a){return FNe(i,a,function(f,p){return OPt(i,p)})}var qNe=qMe(function(i,a){return i==null?{}:zNe(i,a)});const xP=qNe;var HNe=Math.ceil,VNe=Math.max;function GNe(i,a,f,p){for(var v=-1,m=VNe(HNe((a-i)/(f||1)),0),b=Array(m);m--;)b[p?m:++v]=i,i+=f;return b}function UNe(i){return function(a,f,p){return p&&typeof p!="number"&&bP(a,f,p)&&(f=p=void 0),a=aK(a),f===void 0?(f=a,a=0):f=aK(f),p=p===void 0?a1&&bP(i,a[0],a[1])?a=[]:f>2&&bP(a[0],a[1],a[2])&&(a=[a[0]]),$Ne(i,gK(a,1),[])});const EP=YNe;var XNe=1/0,QNe=rL&&1/Zdt(new rL([,-0]))[1]==XNe?function(i){return new rL(i)}:oMe;const ZNe=QNe;var JNe=200;function tPe(i,a,f){var p=-1,v=wMe,m=i.length,b=!0,E=[],C=E;if(f)b=!1,v=xNe;else if(m>=JNe){var M=a?null:ZNe(i);if(M)return Zdt(M);b=!1,v=TPt,C=new mP}else C=a?[]:E;t:for(;++p1?v.setNode(m,f):v.setNode(m)}),this}setNode(a,f){return eo(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=xE,this._children[a]={},this._children[xE][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return eo(this._nodes,a)}removeNode(a){var f=this;if(eo(this._nodes,a)){var p=function(v){f.removeEdge(f._edgeObjs[v])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],br(this.children(a),function(v){f.setParent(v)}),delete this._children[a]),br(B2(this._in[a]),p),delete this._in[a],delete this._preds[a],br(B2(this._out[a]),p),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(of(f))f=xE;else{f+="";for(var p=f;!of(p);p=this.parent(p))if(p===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==xE)return f}}children(a){if(of(a)&&(a=xE),this._isCompound){var f=this._children[a];if(f)return B2(f)}else{if(a===xE)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return B2(f)}successors(a){var f=this._sucs[a];if(f)return B2(f)}neighbors(a){var f=this.predecessors(a);if(f)return nPe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;br(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),br(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,p.edge(b))});var v={};function m(b){var E=p.parent(b);return E===void 0||f.hasNode(E)?(v[b]=E,E):E in v?v[E]:m(E)}return this._isCompound&&br(f.nodes(),function(b){f.setParent(b,m(b))}),f}setDefaultEdgeLabel(a){return XA(a)||(a=hL(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return D5(this._edgeObjs)}setPath(a,f){var p=this,v=arguments;return kP(a,function(m,b){return v.length>1?p.setEdge(m,b,f):p.setEdge(m,b),b}),this}setEdge(){var a,f,p,v,m=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,p=b.name,arguments.length===2&&(v=arguments[1],m=!0)):(a=b,f=arguments[1],p=arguments[3],arguments.length>2&&(v=arguments[2],m=!0)),a=""+a,f=""+f,of(p)||(p=""+p);var E=TP(this._isDirected,a,f,p);if(eo(this._edgeLabels,E))return m&&(this._edgeLabels[E]=v),this;if(!of(p)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=m?v:this._defaultEdgeLabelFn(a,f,p);var C=oPe(this._isDirected,a,f,p);return a=C.v,f=C.w,Object.freeze(C),this._edgeObjs[E]=C,zPt(this._preds[f],a),zPt(this._sucs[a],f),this._in[f][E]=C,this._out[a][E]=C,this._edgeCount++,this}edge(a,f,p){var v=arguments.length===1?l0t(this._isDirected,arguments[0]):TP(this._isDirected,a,f,p);return this._edgeLabels[v]}hasEdge(a,f,p){var v=arguments.length===1?l0t(this._isDirected,arguments[0]):TP(this._isDirected,a,f,p);return eo(this._edgeLabels,v)}removeEdge(a,f,p){var v=arguments.length===1?l0t(this._isDirected,arguments[0]):TP(this._isDirected,a,f,p),m=this._edgeObjs[v];return m&&(a=m.v,f=m.w,delete this._edgeLabels[v],delete this._edgeObjs[v],qPt(this._preds[f],a),qPt(this._sucs[a],f),delete this._in[f][v],delete this._out[a][v],this._edgeCount--),this}inEdges(a,f){var p=this._in[a];if(p){var v=D5(p);return f?L5(v,function(m){return m.v===f}):v}}outEdges(a,f){var p=this._out[a];if(p){var v=D5(p);return f?L5(v,function(m){return m.w===f}):v}}nodeEdges(a,f){var p=this.inEdges(a,f);if(p)return p.concat(this.outEdges(a,f))}}zf.prototype._nodeCount=0,zf.prototype._edgeCount=0;function zPt(i,a){i[a]?i[a]++:i[a]=1}function qPt(i,a){--i[a]||delete i[a]}function TP(i,a,f,p){var v=""+a,m=""+f;if(!i&&v>m){var b=v;v=m,m=b}return v+$Pt+m+$Pt+(of(p)?aPe:p)}function oPe(i,a,f,p){var v=""+a,m=""+f;if(!i&&v>m){var b=v;v=m,m=b}var E={v,w:m};return p&&(E.name=p),E}function l0t(i,a){return TP(i,a.v,a.w,a.name)}class cPe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return HPt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&HPt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,p=f._prev;p!==f;)a.push(JSON.stringify(p,uPe)),p=p._prev;return"["+a.join(", ")+"]"}}function HPt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function uPe(i,a){if(i!=="_next"&&i!=="_prev")return a}var lPe=hL(1);function hPe(i,a){if(i.nodeCount()<=1)return[];var f=dPe(i,a||lPe),p=fPe(f.graph,f.buckets,f.zeroIdx);return fL($f(p,function(v){return i.outEdges(v.v,v.w)}))}function fPe(i,a,f){for(var p=[],v=a[a.length-1],m=a[0],b;i.nodeCount();){for(;b=m.dequeue();)h0t(i,a,f,b);for(;b=v.dequeue();)h0t(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){p=p.concat(h0t(i,a,f,b,!0));break}}}return p}function h0t(i,a,f,p,v){var m=v?[]:void 0;return br(i.inEdges(p.v),function(b){var E=i.edge(b),C=i.node(b.v);v&&m.push({v:b.v,w:b.w}),C.out-=E,f0t(a,f,C)}),br(i.outEdges(p.v),function(b){var E=i.edge(b),C=b.w,M=i.node(C);M.in-=E,f0t(a,f,M)}),i.removeNode(p.v),m}function dPe(i,a){var f=new zf,p=0,v=0;br(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),br(i.edges(),function(E){var C=f.edge(E.v,E.w)||0,M=a(E),P=C+M;f.setEdge(E.v,E.w,P),v=Math.max(v,f.node(E.v).out+=M),p=Math.max(p,f.node(E.w).in+=M)});var m=yE(v+p+3).map(function(){return new cPe}),b=p+1;return br(f.nodes(),function(E){f0t(m,b,f.node(E))}),{graph:f,buckets:m,zeroIdx:b}}function f0t(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function gPe(i){var a=i.graph().acyclicer==="greedy"?hPe(i,f(i)):pPe(i);br(a,function(p){var v=i.edge(p);i.removeEdge(p),v.forwardName=p.name,v.reversed=!0,i.setEdge(p.w,p.v,v,yK("rev"))});function f(p){return function(v){return p.edge(v).weight}}}function pPe(i){var a=[],f={},p={};function v(m){eo(p,m)||(p[m]=!0,f[m]=!0,br(i.outEdges(m),function(b){eo(f,b.w)?a.push(b):v(b.w)}),delete f[m])}return br(i.nodes(),v),a}function bPe(i){br(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var p=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,p)}})}function gL(i,a,f,p){var v;do v=yK(p);while(i.hasNode(v));return f.dummy=a,i.setNode(v,f),v}function vPe(i){var a=new zf().setGraph(i.graph());return br(i.nodes(),function(f){a.setNode(f,i.node(f))}),br(i.edges(),function(f){var p=a.edge(f.v,f.w)||{weight:0,minlen:1},v=i.edge(f);a.setEdge(f.v,f.w,{weight:p.weight+v.weight,minlen:Math.max(p.minlen,v.minlen)})}),a}function VPt(i){var a=new zf({multigraph:i.isMultigraph()}).setGraph(i.graph());return br(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),br(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function GPt(i,a){var f=i.x,p=i.y,v=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2;if(!v&&!m)throw new Error("Not possible to find intersection inside of the rectangle");var C,M;return Math.abs(m)*b>Math.abs(v)*E?(m<0&&(E=-E),C=E*v/m,M=E):(v<0&&(b=-b),C=b,M=b*m/v),{x:f+C,y:p+M}}function xK(i){var a=$f(yE(WPt(i)+1),function(){return[]});return br(i.nodes(),function(f){var p=i.node(f),v=p.rank;of(v)||(a[v][p.order]=f)}),a}function wPe(i){var a=yP($f(i.nodes(),function(f){return i.node(f).rank}));br(i.nodes(),function(f){var p=i.node(f);eo(p,"rank")&&(p.rank-=a)})}function mPe(i){var a=yP($f(i.nodes(),function(m){return i.node(m).rank})),f=[];br(i.nodes(),function(m){var b=i.node(m).rank-a;f[b]||(f[b]=[]),f[b].push(m)});var p=0,v=i.graph().nodeRankFactor;br(f,function(m,b){of(m)&&b%v!==0?--p:p&&br(m,function(E){i.node(E).rank+=p})})}function UPt(i,a,f,p){var v={width:0,height:0};return arguments.length>=4&&(v.rank=f,v.order=p),gL(i,"border",v,a)}function WPt(i){return mE($f(i.nodes(),function(a){var f=i.node(a).rank;if(!of(f))return f}))}function yPe(i,a){var f={lhs:[],rhs:[]};return br(i,function(p){a(p)?f.lhs.push(p):f.rhs.push(p)}),f}function xPe(i,a){var f=NPt();try{return a()}finally{console.log(i+" time: "+(NPt()-f)+"ms")}}function kPe(i,a){return a()}function EPe(i){function a(f){var p=i.children(f),v=i.node(f);if(p.length&&br(p,a),eo(v,"minRank")){v.borderLeft=[],v.borderRight=[];for(var m=v.minRank,b=v.maxRank+1;mb.lim&&(E=b,C=!0);var M=L5(a.edges(),function(P){return C===sFt(i,i.node(P.v),E)&&C!==sFt(i,i.node(P.w),E)});return u0t(M,function(P){return _P(a,P)})}function iFt(i,a,f,p){var v=f.v,m=f.w;i.removeEdge(v,m),i.setEdge(p.v,p.w,{}),v0t(i),b0t(i,a),RPe(i,a)}function RPe(i,a){var f=a0t(i.nodes(),function(v){return!a.node(v).parent}),p=FPe(i,f);p=p.slice(1),br(p,function(v){var m=i.node(v).parent,b=a.edge(v,m),E=!1;b||(b=a.edge(m,v),E=!0),a.node(v).rank=a.node(m).rank+(E?b.minlen:-b.minlen)})}function jPe(i,a,f){return i.hasEdge(a,f)}function sFt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function $Pe(i){switch(i.graph().ranker){case"network-simplex":aFt(i);break;case"tight-tree":qPe(i);break;case"longest-path":zPe(i);break;default:aFt(i)}}var zPe=p0t;function qPe(i){p0t(i),QPt(i)}function aFt(i){kE(i)}function HPe(i){var a=gL(i,"root",{},"_root"),f=VPe(i),p=mE(D5(f))-1,v=2*p+1;i.graph().nestingRoot=a,br(i.edges(),function(b){i.edge(b).minlen*=v});var m=GPe(i)+1;br(i.children(),function(b){oFt(i,a,v,m,p,f,b)}),i.graph().nodeRankFactor=v}function oFt(i,a,f,p,v,m,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var C=UPt(i,"_bt"),M=UPt(i,"_bb"),P=i.node(b);i.setParent(C,b),P.borderTop=C,i.setParent(M,b),P.borderBottom=M,br(E,function(B){oFt(i,a,f,p,v,m,B);var j=i.node(B),R=j.borderTop?j.borderTop:B,H=j.borderBottom?j.borderBottom:B,Y=j.borderTop?p:2*p,st=R!==H?1:v-m[b]+1;i.setEdge(C,R,{weight:Y,minlen:st,nestingEdge:!0}),i.setEdge(H,M,{weight:Y,minlen:st,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,C,{weight:0,minlen:v+m[b]})}function VPe(i){var a={};function f(p,v){var m=i.children(p);m&&m.length&&br(m,function(b){f(b,v+1)}),a[p]=v}return br(i.children(),function(p){f(p,1)}),a}function GPe(i){return kP(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function UPe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,br(i.edges(),function(f){var p=i.edge(f);p.nestingEdge&&i.removeEdge(f)})}function WPe(i,a,f){var p={},v;br(f,function(m){for(var b=i.parent(m),E,C;b;){if(E=i.parent(b),E?(C=p[E],p[E]=b):(C=v,v=b),C&&C!==b){a.setEdge(C,b);return}b=E}})}function KPe(i,a,f){var p=YPe(i),v=new zf({compound:!0}).setGraph({root:p}).setDefaultNodeLabel(function(m){return i.node(m)});return br(i.nodes(),function(m){var b=i.node(m),E=i.parent(m);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(v.setNode(m),v.setParent(m,E||p),br(i[f](m),function(C){var M=C.v===m?C.w:C.v,P=v.edge(M,m),B=of(P)?0:P.weight;v.setEdge(M,m,{weight:i.edge(C).weight+B})}),eo(b,"minRank")&&v.setNode(m,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),v}function YPe(i){for(var a;i.hasNode(a=yK("_root")););return a}function XPe(i,a){for(var f=0,p=1;p0;)P%2&&(B+=E[P+1]),P=P-1>>1,E[P]+=M.weight;C+=M.weight*B})),C}function ZPe(i){var a={},f=L5(i.nodes(),function(E){return!i.children(E).length}),p=mE($f(f,function(E){return i.node(E).rank})),v=$f(yE(p+1),function(){return[]});function m(E){if(!eo(a,E)){a[E]=!0;var C=i.node(E);v[C.rank].push(E),br(i.successors(E),m)}}var b=EP(f,function(E){return i.node(E).rank});return br(b,m),v}function JPe(i,a){return $f(a,function(f){var p=i.inEdges(f);if(p.length){var v=kP(p,function(m,b){var E=i.edge(b),C=i.node(b.v);return{sum:m.sum+E.weight*C.order,weight:m.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:v.sum/v.weight,weight:v.weight}}else return{v:f}})}function tFe(i,a){var f={};br(i,function(v,m){var b=f[v.v]={indegree:0,in:[],out:[],vs:[v.v],i:m};of(v.barycenter)||(b.barycenter=v.barycenter,b.weight=v.weight)}),br(a.edges(),function(v){var m=f[v.v],b=f[v.w];!of(m)&&!of(b)&&(b.indegree++,m.out.push(f[v.w]))});var p=L5(f,function(v){return!v.indegree});return eFe(p)}function eFe(i){var a=[];function f(m){return function(b){b.merged||(of(b.barycenter)||of(m.barycenter)||b.barycenter>=m.barycenter)&&nFe(m,b)}}function p(m){return function(b){b.in.push(m),--b.indegree===0&&i.push(b)}}for(;i.length;){var v=i.pop();a.push(v),br(v.in.reverse(),f(v)),br(v.out,p(v))}return $f(L5(a,function(m){return!m.merged}),function(m){return xP(m,["vs","i","barycenter","weight"])})}function nFe(i,a){var f=0,p=0;i.weight&&(f+=i.barycenter*i.weight,p+=i.weight),a.weight&&(f+=a.barycenter*a.weight,p+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/p,i.weight=p,i.i=Math.min(a.i,i.i),a.merged=!0}function rFe(i,a){var f=yPe(i,function(P){return eo(P,"barycenter")}),p=f.lhs,v=EP(f.rhs,function(P){return-P.i}),m=[],b=0,E=0,C=0;p.sort(iFe(!!a)),C=cFt(m,v,C),br(p,function(P){C+=P.vs.length,m.push(P.vs),b+=P.barycenter*P.weight,E+=P.weight,C=cFt(m,v,C)});var M={vs:fL(m)};return E&&(M.barycenter=b/E,M.weight=E),M}function cFt(i,a,f){for(var p;a.length&&(p=wK(a)).i<=f;)a.pop(),i.push(p.vs),f++;return f}function iFe(i){return function(a,f){return a.barycenterf.barycenter?1:i?f.i-a.i:a.i-f.i}}function uFt(i,a,f,p){var v=i.children(a),m=i.node(a),b=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,C={};b&&(v=L5(v,function(H){return H!==b&&H!==E}));var M=JPe(i,v);br(M,function(H){if(i.children(H.v).length){var Y=uFt(i,H.v,f,p);C[H.v]=Y,eo(Y,"barycenter")&&aFe(H,Y)}});var P=tFe(M,f);sFe(P,C);var B=rFe(P,p);if(b&&(B.vs=fL([b,B.vs,E]),i.predecessors(b).length)){var j=i.node(i.predecessors(b)[0]),R=i.node(i.predecessors(E)[0]);eo(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+j.order+R.order)/(B.weight+2),B.weight+=2}return B}function sFe(i,a){br(i,function(f){f.vs=fL(f.vs.map(function(p){return a[p]?a[p].vs:p}))})}function aFe(i,a){of(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function oFe(i){var a=WPt(i),f=lFt(i,yE(1,a+1),"inEdges"),p=lFt(i,yE(a-1,-1,-1),"outEdges"),v=ZPe(i);hFt(i,v);for(var m=Number.POSITIVE_INFINITY,b,E=0,C=0;C<4;++E,++C){cFe(E%2?f:p,E%4>=2),v=xK(i);var M=XPe(i,v);Mb||E>a[C].lim));for(M=C,C=p;(C=i.parent(C))!==M;)m.push(C);return{path:v.concat(m.reverse()),lca:M}}function hFe(i){var a={},f=0;function p(v){var m=f;br(i.children(v),p),a[v]={low:m,lim:f++}}return br(i.children(),p),a}function fFe(i,a){var f={};function p(v,m){var b=0,E=0,C=v.length,M=wK(m);return br(m,function(P,B){var j=gFe(i,P),R=j?i.node(j).order:C;(j||P===M)&&(br(m.slice(E,B+1),function(H){br(i.predecessors(H),function(Y){var st=i.node(Y),et=st.order;(etM)&&fFt(f,j,P)})})}function v(m,b){var E=-1,C,M=0;return br(b,function(P,B){if(i.node(P).dummy==="border"){var j=i.predecessors(P);j.length&&(C=i.node(j[0]).order,p(b,M,B,E,C),M=B,E=C)}p(b,M,b.length,C,m.length)}),b}return kP(a,v),f}function gFe(i,a){if(i.node(a).dummy)return a0t(i.predecessors(a),function(f){return i.node(f).dummy})}function fFt(i,a,f){if(a>f){var p=a;a=f,f=p}var v=i[a];v||(i[a]=v={}),v[f]=!0}function pFe(i,a,f){if(a>f){var p=a;a=f,f=p}return eo(i[a],f)}function bFe(i,a,f,p){var v={},m={},b={};return br(a,function(E){br(E,function(C,M){v[C]=C,m[C]=C,b[C]=M})}),br(a,function(E){var C=-1;br(E,function(M){var P=p(M);if(P.length){P=EP(P,function(Y){return b[Y]});for(var B=(P.length-1)/2,j=Math.floor(B),R=Math.ceil(B);j<=R;++j){var H=P[j];m[M]===M&&C0}function v3(i,a,f){var p=i.x,v=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;a.forEach(function(H){b=Math.min(b,H.x),E=Math.min(E,H.y)});for(var C=p-i.width/2-b,M=v-i.height/2-E,P=0;P1&&m.sort(function(H,Y){var st=H.x-f.x,et=H.y-f.y,it=Math.sqrt(st*st+et*et),dt=Y.x-f.x,Tt=Y.y-f.y,yt=Math.sqrt(dt*dt+Tt*Tt);return itMath.abs(v)*E?(m<0&&(E=-E),C=m===0?0:E*v/m,M=E):(v<0&&(b=-b),C=b,M=v===0?0:b*m/v),{x:f+C,y:p+M}}var L0t={rect:mBe,ellipse:yBe,circle:xBe,diamond:kBe};function wBe(i){L0t=i}function mBe(i,a,f){var p=i.insert("rect",":first-child").attr("rx",f.rx).attr("ry",f.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return f.intersect=function(v){return A0t(f,v)},p}function yBe(i,a,f){var p=a.width/2,v=a.height/2,m=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",p).attr("ry",v);return f.intersect=function(b){return wFt(f,p,v,b)},m}function xBe(i,a,f){var p=Math.max(a.width,a.height)/2,v=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",p);return f.intersect=function(m){return bBe(f,p,m)},v}function kBe(i,a,f){var p=a.width*Math.SQRT2/2,v=a.height*Math.SQRT2/2,m=[{x:0,y:-v},{x:-p,y:0},{x:0,y:v},{x:p,y:0}],b=i.insert("polygon",":first-child").attr("points",m.map(function(E){return E.x+","+E.y}).join(" "));return f.intersect=function(E){return v3(f,m,E)},b}function EBe(){var i=function(a,f){CBe(f);var p=CP(a,"output"),v=CP(p,"clusters"),m=CP(p,"edgePaths"),b=_0t(CP(p,"edgeLabels"),f),E=S0t(CP(p,"nodes"),f,L0t);pL(f),pBe(E,f),gBe(b,f),C0t(m,f,x0t);var C=T0t(v,f);dBe(C,f),SBe(f)};return i.createNodes=function(a){return arguments.length?(fBe(a),i):S0t},i.createClusters=function(a){return arguments.length?(iBe(a),i):T0t},i.createEdgeLabels=function(a){return arguments.length?(sBe(a),i):_0t},i.createEdgePaths=function(a){return arguments.length?(aBe(a),i):C0t},i.shapes=function(a){return arguments.length?(wBe(a),i):L0t},i.arrows=function(a){return arguments.length?(QFe(a),i):x0t},i}var TBe={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},_Be={arrowhead:"normal",curve:ig};function CBe(i){i.nodes().forEach(function(a){var f=i.node(a);!eo(f,"label")&&!i.children(a).length&&(f.label=a),eo(f,"paddingX")&&dL(f,{paddingLeft:f.paddingX,paddingRight:f.paddingX}),eo(f,"paddingY")&&dL(f,{paddingTop:f.paddingY,paddingBottom:f.paddingY}),eo(f,"padding")&&dL(f,{paddingLeft:f.padding,paddingRight:f.padding,paddingTop:f.padding,paddingBottom:f.padding}),dL(f,TBe),br(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(p){f[p]=Number(f[p])}),eo(f,"width")&&(f._prevWidth=f.width),eo(f,"height")&&(f._prevHeight=f.height)}),i.edges().forEach(function(a){var f=i.edge(a);eo(f,"label")||(f.label=""),dL(f,_Be)})}function SBe(i){br(i.nodes(),function(a){var f=i.node(a);eo(f,"_prevWidth")?f.width=f._prevWidth:delete f.width,eo(f,"_prevHeight")?f.height=f._prevHeight:delete f.height,delete f._prevWidth,delete f._prevHeight})}function CP(i,a){var f=i.select("g."+a);return f.empty()&&(f=i.append("g").attr("class",a)),f}function yFt(i,a,f){const p=a.width,v=a.height,m=(p+v)*.9,b=[{x:m/2,y:0},{x:m,y:-m/2},{x:m/2,y:-m},{x:0,y:-m/2}],E=M5(i,m,m,b);return f.intersect=function(C){return v3(f,b,C)},E}function xFt(i,a,f){const v=a.height,m=v/4,b=a.width+2*m,E=[{x:m,y:0},{x:b-m,y:0},{x:b,y:-v/2},{x:b-m,y:-v},{x:m,y:-v},{x:0,y:-v/2}],C=M5(i,b,v,E);return f.intersect=function(M){return v3(f,E,M)},C}function kFt(i,a,f){const p=a.width,v=a.height,m=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}],b=M5(i,p,v,m);return f.intersect=function(E){return v3(f,m,E)},b}function EFt(i,a,f){const p=a.width,v=a.height,m=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],b=M5(i,p,v,m);return f.intersect=function(E){return v3(f,m,E)},b}function TFt(i,a,f){const p=a.width,v=a.height,m=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],b=M5(i,p,v,m);return f.intersect=function(E){return v3(f,m,E)},b}function _Ft(i,a,f){const p=a.width,v=a.height,m=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],b=M5(i,p,v,m);return f.intersect=function(E){return v3(f,m,E)},b}function CFt(i,a,f){const p=a.width,v=a.height,m=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],b=M5(i,p,v,m);return f.intersect=function(E){return v3(f,m,E)},b}function SFt(i,a,f){const p=a.width,v=a.height,m=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],b=M5(i,p,v,m);return f.intersect=function(E){return v3(f,m,E)},b}function AFt(i,a,f){const p=a.height,v=a.width+p/4,m=i.insert("rect",":first-child").attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return f.intersect=function(b){return A0t(f,b)},m}function LFt(i,a,f){const p=a.width,v=a.height,m=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],b=M5(i,p,v,m);return f.intersect=function(E){return v3(f,m,E)},b}function DFt(i,a,f){const p=a.width,v=p/2,m=v/(2.5+p/50),b=a.height+m,E="M 0,"+m+" a "+v+","+m+" 0,0,0 "+p+" 0 a "+v+","+m+" 0,0,0 "+-p+" 0 l 0,"+b+" a "+v+","+m+" 0,0,0 "+p+" 0 l 0,"+-b,C=i.attr("label-offset-y",m).insert("path",":first-child").attr("d",E).attr("transform","translate("+-p/2+","+-(b/2+m)+")");return f.intersect=function(M){const P=A0t(f,M),B=P.x-f.x;if(v!=0&&(Math.abs(B)f.height/2-m)){let j=m*m*(1-B*B/(v*v));j!=0&&(j=Math.sqrt(j)),j=m-j,M.y-f.y>0&&(j=-j),P.y+=j}return P},C}function ABe(i){i.shapes().question=yFt,i.shapes().hexagon=xFt,i.shapes().stadium=AFt,i.shapes().subroutine=LFt,i.shapes().cylinder=DFt,i.shapes().rect_left_inv_arrow=kFt,i.shapes().lean_right=EFt,i.shapes().lean_left=TFt,i.shapes().trapezoid=_Ft,i.shapes().inv_trapezoid=CFt,i.shapes().rect_right_inv_arrow=SFt}function LBe(i){i({question:yFt}),i({hexagon:xFt}),i({stadium:AFt}),i({subroutine:LFt}),i({cylinder:DFt}),i({rect_left_inv_arrow:kFt}),i({lean_right:EFt}),i({lean_left:TFt}),i({trapezoid:_Ft}),i({inv_trapezoid:CFt}),i({rect_right_inv_arrow:SFt})}function M5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+-a/2+","+f/2+")")}const DBe={addToRender:ABe,addToRenderV2:LBe},MFt={},MBe=function(i){const a=Object.keys(i);for(const f of a)MFt[f]=i[f]},IFt=function(i,a,f,p,v,m){const b=p?p.select(`[id="${f}"]`):Dr(`[id="${f}"]`),E=v||document;Object.keys(i).forEach(function(M){const P=i[M];let B="default";P.classes.length>0&&(B=P.classes.join(" "));const j=tm(P.styles);let R=P.text!==void 0?P.text:P.id,H;if(d1(Ie().flowchart.htmlLabels)){const et={label:R.replace(/fa[blrs]?:fa-[\w-]+/g,it=>``)};H=k0t(b,et).node(),H.parentNode.removeChild(H)}else{const et=E.createElementNS("http://www.w3.org/2000/svg","text");et.setAttribute("style",j.labelStyle.replace("color:","fill:"));const it=R.split(yi.lineBreakRegex);for(const dt of it){const Tt=E.createElementNS("http://www.w3.org/2000/svg","tspan");Tt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),Tt.setAttribute("dy","1em"),Tt.setAttribute("x","1"),Tt.textContent=dt,et.appendChild(Tt)}H=et}let Y=0,st="";switch(P.type){case"round":Y=5,st="rect";break;case"square":st="rect";break;case"diamond":st="question";break;case"hexagon":st="hexagon";break;case"odd":st="rect_left_inv_arrow";break;case"lean_right":st="lean_right";break;case"lean_left":st="lean_left";break;case"trapezoid":st="trapezoid";break;case"inv_trapezoid":st="inv_trapezoid";break;case"odd_right":st="rect_left_inv_arrow";break;case"circle":st="circle";break;case"ellipse":st="ellipse";break;case"stadium":st="stadium";break;case"subroutine":st="subroutine";break;case"cylinder":st="cylinder";break;case"group":st="rect";break;default:st="rect"}$t.warn("Adding node",P.id,P.domId),a.setNode(m.db.lookUpDomId(P.id),{labelType:"svg",labelStyle:j.labelStyle,shape:st,label:H,rx:Y,ry:Y,class:B,style:j.style,id:m.db.lookUpDomId(P.id)})})},OFt=function(i,a,f){let p=0,v,m;if(i.defaultStyle!==void 0){const b=tm(i.defaultStyle);v=b.style,m=b.labelStyle}i.forEach(function(b){p++;const E="L-"+b.start+"-"+b.end,C="LS-"+b.start,M="LE-"+b.end,P={};b.type==="arrow_open"?P.arrowhead="none":P.arrowhead="normal";let B="",j="";if(b.style!==void 0){const R=tm(b.style);B=R.style,j=R.labelStyle}else switch(b.stroke){case"normal":B="fill:none",v!==void 0&&(B=v),m!==void 0&&(j=m);break;case"dotted":B="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":B=" stroke-width: 3.5px;fill:none";break}P.style=B,P.labelStyle=j,b.interpolate!==void 0?P.curve=Qb(b.interpolate,ig):i.defaultInterpolate!==void 0?P.curve=Qb(i.defaultInterpolate,ig):P.curve=Qb(MFt.curve,ig),b.text===void 0?b.style!==void 0&&(P.arrowheadStyle="fill: #333"):(P.arrowheadStyle="fill: #333",P.labelpos="c",d1(Ie().flowchart.htmlLabels)?(P.labelType="html",P.label=`${b.text.replace(/fa[blrs]?:fa-[\w-]+/g,R=>``)}`):(P.labelType="text",P.label=b.text.replace(yi.lineBreakRegex,`
-`),b.style===void 0&&(P.style=P.style||"stroke: #333; stroke-width: 1.5px;fill:none"),P.labelStyle=P.labelStyle.replace("color:","fill:"))),P.id=E,P.class=C+" "+M,P.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),P,p)})},IBe={setConf:MBe,addVertices:IFt,addEdges:OFt,getClasses:function(i,a){$t.info("Extracting classes"),a.db.clear();try{return a.parse(i),a.db.getClasses()}catch(f){return $t.error(f),{}}},draw:function(i,a,f,p){$t.info("Drawing flowchart"),p.db.clear();const{securityLevel:v,flowchart:m}=Ie();let b;v==="sandbox"&&(b=Dr("#i"+a));const E=Dr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),C=v==="sandbox"?b.nodes()[0].contentDocument:document;try{p.parser.parse(i)}catch{$t.debug("Parsing failed")}let M=p.db.getDirection();M===void 0&&(M="TD");const P=m.nodeSpacing||50,B=m.rankSpacing||50,j=new zf({multigraph:!0,compound:!0}).setGraph({rankdir:M,nodesep:P,ranksep:B,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let R;const H=p.db.getSubGraphs();for(let xt=H.length-1;xt>=0;xt--)R=H[xt],p.db.addVertex(R.id,R.title,"group",void 0,R.classes);const Y=p.db.getVertices();$t.warn("Get vertices",Y);const st=p.db.getEdges();let et=0;for(et=H.length-1;et>=0;et--){R=H[et],l1t("cluster").append("text");for(let xt=0;xt{a.forEach(v=>{FBe[v](i,f,p)})},FBe={extension:(i,a,f)=>{$t.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",a+"-extensionStart").attr("class","marker extension "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-compositionStart").attr("class","marker composition "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},point:(i,a)=>{i.append("marker").attr("id",a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a)=>{i.append("marker").attr("id",a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a)=>{i.append("marker").attr("id",a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},NFt=PBe;function BBe(i,a){a&&i.attr("style",a)}function RBe(i){const a=Dr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),p=i.label,v=i.isNode?"nodeLabel":"edgeLabel";return f.html('"+p+""),BBe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const lp=(i,a,f,p)=>{let v=i||"";if(typeof v=="object"&&(v=v[0]),d1(Ie().flowchart.htmlLabels)){v=v.replace(/\\n|\n/g,"
"),$t.info("vertexText"+v);const m={isNode:p,label:lP(v).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return RBe(m)}else{const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof v=="string"?b=v.split(/\\n|\n|
/gi):Array.isArray(v)?b=v:b=[];for(const E of b){const C=document.createElementNS("http://www.w3.org/2000/svg","tspan");C.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),C.setAttribute("dy","1em"),C.setAttribute("x","0"),f?C.setAttribute("class","title-row"):C.setAttribute("class","row"),C.textContent=E.trim(),m.appendChild(C)}return m}};function jBe(i,a){var{includeImageAlt:f=!0}=a||{};return PFt(i,f)}function PFt(i,a){return i&&typeof i=="object"&&(i.value||(a?i.alt:"")||"children"in i&&FFt(i.children,a)||Array.isArray(i)&&FFt(i,a))||""}function FFt(i,a){for(var f=[],p=-1;++pv?0:v+a:a=a>v?v:a,f=f>0?f:0,p.length<1e4)b=Array.from(p),b.unshift(a,f),[].splice.apply(i,b);else for(f&&[].splice.apply(i,[a,f]);m0?(w3(i,i.length,0,a),i):a}const BFt={}.hasOwnProperty;function $Be(i){const a={};let f=-1;for(;++fb))return;const ft=a.events.length;let wt=ft,nt,kt;for(;wt--;)if(a.events[wt][0]==="exit"&&a.events[wt][1].type==="chunkFlow"){if(nt){kt=a.events[wt][1].end;break}nt=!0}for(et(p),xt=ft;xtdt;){const yt=f[Tt];a.containerState=yt[1],yt[0].exit.call(a,i)}f.length=dt}function it(){v.write([null]),m=void 0,v=void 0,a.containerState._closeFlow=void 0}}function ZBe(i,a,f){return rl(i,i.attempt(this.parser.constructs.document,a,f),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function $Ft(i){if(i===null||nv(i)||UBe(i))return 1;if(WBe(i))return 2}function I0t(i,a,f){const p=[];let v=-1;for(;++v1&&i[f][1].end.offset-i[f][1].start.offset>1?2:1;const B=Object.assign({},i[p][1].end),j=Object.assign({},i[f][1].start);zFt(B,-C),zFt(j,C),b={type:C>1?"strongSequence":"emphasisSequence",start:B,end:Object.assign({},i[p][1].end)},E={type:C>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[f][1].start),end:j},m={type:C>1?"strongText":"emphasisText",start:Object.assign({},i[p][1].end),end:Object.assign({},i[f][1].start)},v={type:C>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},E.end)},i[p][1].end=Object.assign({},b.start),i[f][1].start=Object.assign({},E.end),M=[],i[p][1].end.offset-i[p][1].start.offset&&(M=ev(M,[["enter",i[p][1],a],["exit",i[p][1],a]])),M=ev(M,[["enter",v,a],["enter",b,a],["exit",b,a],["enter",m,a]]),M=ev(M,I0t(a.parser.constructs.insideSpan.null,i.slice(p+1,f),a)),M=ev(M,[["exit",m,a],["enter",E,a],["exit",E,a],["exit",v,a]]),i[f][1].end.offset-i[f][1].start.offset?(P=2,M=ev(M,[["enter",i[f][1],a],["exit",i[f][1],a]])):P=0,w3(i,p-1,f-p+3,M),f=p+M.length-P-2;break}}for(f=-1;++f=4?b(M):f(M)}function b(M){return M===null?C(M):Ka(M)?i.attempt(lRe,b,C)(M):(i.enter("codeFlowValue"),E(M))}function E(M){return M===null||Ka(M)?(i.exit("codeFlowValue"),b(M)):(i.consume(M),E)}function C(M){return i.exit("codeIndented"),a(M)}}function fRe(i,a,f){const p=this;return v;function v(b){return p.parser.lazy[p.now().line]?f(b):Ka(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):rl(i,m,"linePrefix",4+1)(b)}function m(b){const E=p.events[p.events.length-1];return E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):Ka(b)?v(b):f(b)}}const dRe={name:"codeText",tokenize:bRe,resolve:gRe,previous:pRe};function gRe(i){let a=i.length-4,f=3,p,v;if((i[f][1].type==="lineEnding"||i[f][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(p=f;++p=4?a(b):i.interrupt(p.parser.constructs.flow,f,a)(b)}}function KFt(i,a,f,p,v,m,b,E,C){const M=C||Number.POSITIVE_INFINITY;let P=0;return B;function B(et){return et===60?(i.enter(p),i.enter(v),i.enter(m),i.consume(et),i.exit(m),j):et===null||et===41||M0t(et)?f(et):(i.enter(p),i.enter(b),i.enter(E),i.enter("chunkString",{contentType:"string"}),Y(et))}function j(et){return et===62?(i.enter(m),i.consume(et),i.exit(m),i.exit(v),i.exit(p),a):(i.enter(E),i.enter("chunkString",{contentType:"string"}),R(et))}function R(et){return et===62?(i.exit("chunkString"),i.exit(E),j(et)):et===null||et===60||Ka(et)?f(et):(i.consume(et),et===92?H:R)}function H(et){return et===60||et===62||et===92?(i.consume(et),R):R(et)}function Y(et){return et===40?++P>M?f(et):(i.consume(et),Y):et===41?P--?(i.consume(et),Y):(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(p),a(et)):et===null||nv(et)?P?f(et):(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(p),a(et)):M0t(et)?f(et):(i.consume(et),et===92?st:Y)}function st(et){return et===40||et===41||et===92?(i.consume(et),Y):Y(et)}}function YFt(i,a,f,p,v,m){const b=this;let E=0,C;return M;function M(R){return i.enter(p),i.enter(v),i.consume(R),i.exit(v),i.enter(m),P}function P(R){return R===null||R===91||R===93&&!C||R===94&&!E&&"_hiddenFootnoteSupport"in b.parser.constructs||E>999?f(R):R===93?(i.exit(m),i.enter(v),i.consume(R),i.exit(v),i.exit(p),a):Ka(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),P):(i.enter("chunkString",{contentType:"string"}),B(R))}function B(R){return R===null||R===91||R===93||Ka(R)||E++>999?(i.exit("chunkString"),P(R)):(i.consume(R),C=C||!qf(R),R===92?j:B)}function j(R){return R===91||R===92||R===93?(i.consume(R),E++,B):B(R)}}function XFt(i,a,f,p,v,m){let b;return E;function E(j){return i.enter(p),i.enter(v),i.consume(j),i.exit(v),b=j===40?41:j,C}function C(j){return j===b?(i.enter(v),i.consume(j),i.exit(v),i.exit(p),a):(i.enter(m),M(j))}function M(j){return j===b?(i.exit(m),C(b)):j===null?f(j):Ka(j)?(i.enter("lineEnding"),i.consume(j),i.exit("lineEnding"),rl(i,M,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),P(j))}function P(j){return j===b||j===null||Ka(j)?(i.exit("chunkString"),M(j)):(i.consume(j),j===92?B:P)}function B(j){return j===b||j===92?(i.consume(j),P):P(j)}}function SP(i,a){let f;return p;function p(v){return Ka(v)?(i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),f=!0,p):qf(v)?rl(i,p,f?"linePrefix":"lineSuffix")(v):a(v)}}function bL(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ERe={name:"definition",tokenize:_Re},TRe={tokenize:CRe,partial:!0};function _Re(i,a,f){const p=this;let v;return m;function m(C){return i.enter("definition"),YFt.call(p,i,b,f,"definitionLabel","definitionLabelMarker","definitionLabelString")(C)}function b(C){return v=bL(p.sliceSerialize(p.events[p.events.length-1][1]).slice(1,-1)),C===58?(i.enter("definitionMarker"),i.consume(C),i.exit("definitionMarker"),SP(i,KFt(i,i.attempt(TRe,rl(i,E,"whitespace"),rl(i,E,"whitespace")),f,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):f(C)}function E(C){return C===null||Ka(C)?(i.exit("definition"),p.parser.defined.includes(v)||p.parser.defined.push(v),a(C)):f(C)}}function CRe(i,a,f){return p;function p(b){return nv(b)?SP(i,v)(b):f(b)}function v(b){return b===34||b===39||b===40?XFt(i,rl(i,m,"whitespace"),f,"definitionTitle","definitionTitleMarker","definitionTitleString")(b):f(b)}function m(b){return b===null||Ka(b)?a(b):f(b)}}const SRe={name:"hardBreakEscape",tokenize:ARe};function ARe(i,a,f){return p;function p(m){return i.enter("hardBreakEscape"),i.enter("escapeMarker"),i.consume(m),v}function v(m){return Ka(m)?(i.exit("escapeMarker"),i.exit("hardBreakEscape"),a(m)):f(m)}}const LRe={name:"headingAtx",tokenize:MRe,resolve:DRe};function DRe(i,a){let f=i.length-2,p=3,v,m;return i[p][1].type==="whitespace"&&(p+=2),f-2>p&&i[f][1].type==="whitespace"&&(f-=2),i[f][1].type==="atxHeadingSequence"&&(p===f-1||f-4>p&&i[f-2][1].type==="whitespace")&&(f-=p+1===f?2:4),f>p&&(v={type:"atxHeadingText",start:i[p][1].start,end:i[f][1].end},m={type:"chunkText",start:i[p][1].start,end:i[f][1].end,contentType:"text"},w3(i,p,f-p+1,[["enter",v,a],["enter",m,a],["exit",m,a],["exit",v,a]])),i}function MRe(i,a,f){const p=this;let v=0;return m;function m(P){return i.enter("atxHeading"),i.enter("atxHeadingSequence"),b(P)}function b(P){return P===35&&v++<6?(i.consume(P),b):P===null||nv(P)?(i.exit("atxHeadingSequence"),p.interrupt?a(P):E(P)):f(P)}function E(P){return P===35?(i.enter("atxHeadingSequence"),C(P)):P===null||Ka(P)?(i.exit("atxHeading"),a(P)):qf(P)?rl(i,E,"whitespace")(P):(i.enter("atxHeadingText"),M(P))}function C(P){return P===35?(i.consume(P),C):(i.exit("atxHeadingSequence"),E(P))}function M(P){return P===null||P===35||nv(P)?(i.exit("atxHeadingText"),E(P)):(i.consume(P),M)}}const IRe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],QFt=["pre","script","style","textarea"],ORe={name:"htmlFlow",tokenize:FRe,resolveTo:PRe,concrete:!0},NRe={tokenize:BRe,partial:!0};function PRe(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function FRe(i,a,f){const p=this;let v,m,b,E,C;return M;function M(Nt){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Nt),P}function P(Nt){return Nt===33?(i.consume(Nt),B):Nt===47?(i.consume(Nt),H):Nt===63?(i.consume(Nt),v=3,p.interrupt?a:Ae):m3(Nt)?(i.consume(Nt),b=String.fromCharCode(Nt),m=!0,Y):f(Nt)}function B(Nt){return Nt===45?(i.consume(Nt),v=2,j):Nt===91?(i.consume(Nt),v=5,b="CDATA[",E=0,R):m3(Nt)?(i.consume(Nt),v=4,p.interrupt?a:Ae):f(Nt)}function j(Nt){return Nt===45?(i.consume(Nt),p.interrupt?a:Ae):f(Nt)}function R(Nt){return Nt===b.charCodeAt(E++)?(i.consume(Nt),E===b.length?p.interrupt?a:gt:R):f(Nt)}function H(Nt){return m3(Nt)?(i.consume(Nt),b=String.fromCharCode(Nt),Y):f(Nt)}function Y(Nt){return Nt===null||Nt===47||Nt===62||nv(Nt)?Nt!==47&&m&&QFt.includes(b.toLowerCase())?(v=1,p.interrupt?a(Nt):gt(Nt)):IRe.includes(b.toLowerCase())?(v=6,Nt===47?(i.consume(Nt),st):p.interrupt?a(Nt):gt(Nt)):(v=7,p.interrupt&&!p.parser.lazy[p.now().line]?f(Nt):m?it(Nt):et(Nt)):Nt===45||om(Nt)?(i.consume(Nt),b+=String.fromCharCode(Nt),Y):f(Nt)}function st(Nt){return Nt===62?(i.consume(Nt),p.interrupt?a:gt):f(Nt)}function et(Nt){return qf(Nt)?(i.consume(Nt),et):nt(Nt)}function it(Nt){return Nt===47?(i.consume(Nt),nt):Nt===58||Nt===95||m3(Nt)?(i.consume(Nt),dt):qf(Nt)?(i.consume(Nt),it):nt(Nt)}function dt(Nt){return Nt===45||Nt===46||Nt===58||Nt===95||om(Nt)?(i.consume(Nt),dt):Tt(Nt)}function Tt(Nt){return Nt===61?(i.consume(Nt),yt):qf(Nt)?(i.consume(Nt),Tt):it(Nt)}function yt(Nt){return Nt===null||Nt===60||Nt===61||Nt===62||Nt===96?f(Nt):Nt===34||Nt===39?(i.consume(Nt),C=Nt,xt):qf(Nt)?(i.consume(Nt),yt):(C=null,ft(Nt))}function xt(Nt){return Nt===null||Ka(Nt)?f(Nt):Nt===C?(i.consume(Nt),wt):(i.consume(Nt),xt)}function ft(Nt){return Nt===null||Nt===34||Nt===39||Nt===60||Nt===61||Nt===62||Nt===96||nv(Nt)?Tt(Nt):(i.consume(Nt),ft)}function wt(Nt){return Nt===47||Nt===62||qf(Nt)?it(Nt):f(Nt)}function nt(Nt){return Nt===62?(i.consume(Nt),kt):f(Nt)}function kt(Nt){return qf(Nt)?(i.consume(Nt),kt):Nt===null||Ka(Nt)?gt(Nt):f(Nt)}function gt(Nt){return Nt===45&&v===2?(i.consume(Nt),Zt):Nt===60&&v===1?(i.consume(Nt),vt):Nt===62&&v===4?(i.consume(Nt),ne):Nt===63&&v===3?(i.consume(Nt),Ae):Nt===93&&v===5?(i.consume(Nt),rt):Ka(Nt)&&(v===6||v===7)?i.check(NRe,ne,ht)(Nt):Nt===null||Ka(Nt)?ht(Nt):(i.consume(Nt),gt)}function ht(Nt){return i.exit("htmlFlowData"),Mt(Nt)}function Mt(Nt){return Nt===null?Ot(Nt):Ka(Nt)?i.attempt({tokenize:Z,partial:!0},Mt,Ot)(Nt):(i.enter("htmlFlowData"),gt(Nt))}function Z(Nt,xe,cn){return Fn;function Fn(vr){return Nt.enter("lineEnding"),Nt.consume(vr),Nt.exit("lineEnding"),Te}function Te(vr){return p.parser.lazy[p.now().line]?cn(vr):xe(vr)}}function Zt(Nt){return Nt===45?(i.consume(Nt),Ae):gt(Nt)}function vt(Nt){return Nt===47?(i.consume(Nt),b="",ze):gt(Nt)}function ze(Nt){return Nt===62&&QFt.includes(b.toLowerCase())?(i.consume(Nt),ne):m3(Nt)&&b.length<8?(i.consume(Nt),b+=String.fromCharCode(Nt),ze):gt(Nt)}function rt(Nt){return Nt===93?(i.consume(Nt),Ae):gt(Nt)}function Ae(Nt){return Nt===62?(i.consume(Nt),ne):Nt===45&&v===2?(i.consume(Nt),Ae):gt(Nt)}function ne(Nt){return Nt===null||Ka(Nt)?(i.exit("htmlFlowData"),Ot(Nt)):(i.consume(Nt),ne)}function Ot(Nt){return i.exit("htmlFlow"),a(Nt)}}function BRe(i,a,f){return p;function p(v){return i.exit("htmlFlowData"),i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),i.attempt(kK,a,f)}}const RRe={name:"htmlText",tokenize:jRe};function jRe(i,a,f){const p=this;let v,m,b,E;return C;function C(Ot){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(Ot),M}function M(Ot){return Ot===33?(i.consume(Ot),P):Ot===47?(i.consume(Ot),ft):Ot===63?(i.consume(Ot),yt):m3(Ot)?(i.consume(Ot),kt):f(Ot)}function P(Ot){return Ot===45?(i.consume(Ot),B):Ot===91?(i.consume(Ot),m="CDATA[",b=0,st):m3(Ot)?(i.consume(Ot),Tt):f(Ot)}function B(Ot){return Ot===45?(i.consume(Ot),j):f(Ot)}function j(Ot){return Ot===null||Ot===62?f(Ot):Ot===45?(i.consume(Ot),R):H(Ot)}function R(Ot){return Ot===null||Ot===62?f(Ot):H(Ot)}function H(Ot){return Ot===null?f(Ot):Ot===45?(i.consume(Ot),Y):Ka(Ot)?(E=H,rt(Ot)):(i.consume(Ot),H)}function Y(Ot){return Ot===45?(i.consume(Ot),ne):H(Ot)}function st(Ot){return Ot===m.charCodeAt(b++)?(i.consume(Ot),b===m.length?et:st):f(Ot)}function et(Ot){return Ot===null?f(Ot):Ot===93?(i.consume(Ot),it):Ka(Ot)?(E=et,rt(Ot)):(i.consume(Ot),et)}function it(Ot){return Ot===93?(i.consume(Ot),dt):et(Ot)}function dt(Ot){return Ot===62?ne(Ot):Ot===93?(i.consume(Ot),dt):et(Ot)}function Tt(Ot){return Ot===null||Ot===62?ne(Ot):Ka(Ot)?(E=Tt,rt(Ot)):(i.consume(Ot),Tt)}function yt(Ot){return Ot===null?f(Ot):Ot===63?(i.consume(Ot),xt):Ka(Ot)?(E=yt,rt(Ot)):(i.consume(Ot),yt)}function xt(Ot){return Ot===62?ne(Ot):yt(Ot)}function ft(Ot){return m3(Ot)?(i.consume(Ot),wt):f(Ot)}function wt(Ot){return Ot===45||om(Ot)?(i.consume(Ot),wt):nt(Ot)}function nt(Ot){return Ka(Ot)?(E=nt,rt(Ot)):qf(Ot)?(i.consume(Ot),nt):ne(Ot)}function kt(Ot){return Ot===45||om(Ot)?(i.consume(Ot),kt):Ot===47||Ot===62||nv(Ot)?gt(Ot):f(Ot)}function gt(Ot){return Ot===47?(i.consume(Ot),ne):Ot===58||Ot===95||m3(Ot)?(i.consume(Ot),ht):Ka(Ot)?(E=gt,rt(Ot)):qf(Ot)?(i.consume(Ot),gt):ne(Ot)}function ht(Ot){return Ot===45||Ot===46||Ot===58||Ot===95||om(Ot)?(i.consume(Ot),ht):Mt(Ot)}function Mt(Ot){return Ot===61?(i.consume(Ot),Z):Ka(Ot)?(E=Mt,rt(Ot)):qf(Ot)?(i.consume(Ot),Mt):gt(Ot)}function Z(Ot){return Ot===null||Ot===60||Ot===61||Ot===62||Ot===96?f(Ot):Ot===34||Ot===39?(i.consume(Ot),v=Ot,Zt):Ka(Ot)?(E=Z,rt(Ot)):qf(Ot)?(i.consume(Ot),Z):(i.consume(Ot),v=void 0,ze)}function Zt(Ot){return Ot===v?(i.consume(Ot),vt):Ot===null?f(Ot):Ka(Ot)?(E=Zt,rt(Ot)):(i.consume(Ot),Zt)}function vt(Ot){return Ot===62||Ot===47||nv(Ot)?gt(Ot):f(Ot)}function ze(Ot){return Ot===null||Ot===34||Ot===39||Ot===60||Ot===61||Ot===96?f(Ot):Ot===62||nv(Ot)?gt(Ot):(i.consume(Ot),ze)}function rt(Ot){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(Ot),i.exit("lineEnding"),rl(i,Ae,"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Ae(Ot){return i.enter("htmlTextData"),E(Ot)}function ne(Ot){return Ot===62?(i.consume(Ot),i.exit("htmlTextData"),i.exit("htmlText"),a):f(Ot)}}const F0t={name:"labelEnd",tokenize:GRe,resolveTo:VRe,resolveAll:HRe},$Re={tokenize:URe},zRe={tokenize:WRe},qRe={tokenize:KRe};function HRe(i){let a=-1,f;for(;++a-1&&(b[0]=b[0].slice(p)),m>0&&b.push(i[v].slice(0,m))),b}function wje(i,a){let f=-1;const p=[];let v;for(;++fzs[0].length)){if(zs=Da,ki=Oe,this.options.backtrack_lexer){if(cs=this.test_match(Da,Rc[Oe]),cs!==!1)return cs;if(this._backtrack){zs=!1;continue}else return!1}else if(!this.options.flex)break}return zs?(cs=this.test_match(zs,Rc[ki]),cs!==!1?cs:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
+`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var zs=this.next();return zs||this.lex()},begin:function(zs){this.conditionStack.push(zs)},popState:function(){var zs=this.conditionStack.length-1;return zs>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(zs){return zs=this.conditionStack.length-1-Math.abs(zs||0),zs>=0?this.conditionStack[zs]:"INITIAL"},pushState:function(zs){this.begin(zs)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(zs,Da,ki,Rc){switch(ki){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:return this.begin("acc_title"),44;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),46;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:this.begin("md_string");break;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("string");break;case 16:this.popState();break;case 17:return"STR";case 18:return 88;case 19:return 97;case 20:return 89;case 21:return 106;case 22:return 90;case 23:return 91;case 24:this.begin("href");break;case 25:this.popState();break;case 26:return 102;case 27:this.begin("callbackname");break;case 28:this.popState();break;case 29:this.popState(),this.begin("callbackargs");break;case 30:return 100;case 31:this.popState();break;case 32:return 101;case 33:this.begin("click");break;case 34:this.popState();break;case 35:return 92;case 36:return zs.lex.firstGraph()&&this.begin("dir"),24;case 37:return zs.lex.firstGraph()&&this.begin("dir"),24;case 38:return zs.lex.firstGraph()&&this.begin("dir"),24;case 39:return 38;case 40:return 42;case 41:return 103;case 42:return 103;case 43:return 103;case 44:return 103;case 45:return this.popState(),25;case 46:return this.popState(),26;case 47:return this.popState(),26;case 48:return this.popState(),26;case 49:return this.popState(),26;case 50:return this.popState(),26;case 51:return this.popState(),26;case 52:return this.popState(),26;case 53:return this.popState(),26;case 54:return this.popState(),26;case 55:return this.popState(),26;case 56:return 120;case 57:return 121;case 58:return 122;case 59:return 123;case 60:return 107;case 61:return 113;case 62:return 54;case 63:return 68;case 64:return 52;case 65:return 20;case 66:return 108;case 67:return 128;case 68:return 83;case 69:return 83;case 70:return 83;case 71:return 83;case 72:return 82;case 73:return 82;case 74:return 82;case 75:return 60;case 76:return 61;case 77:return 62;case 78:return 63;case 79:return 64;case 80:return 65;case 81:return 66;case 82:return 70;case 83:return 71;case 84:return 56;case 85:return 57;case 86:return 111;case 87:return 114;case 88:return 129;case 89:return 126;case 90:return 115;case 91:return 127;case 92:return 127;case 93:return 116;case 94:return 74;case 95:return 94;case 96:return"SEP";case 97:return 93;case 98:return 67;case 99:return 76;case 100:return 75;case 101:return 78;case 102:return 77;case 103:return 124;case 104:return 125;case 105:return 69;case 106:return 58;case 107:return 59;case 108:return 40;case 109:return 41;case 110:return 72;case 111:return 73;case 112:return 135;case 113:return 21;case 114:return 22;case 115:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\])/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[31,32],inclusive:!1},callbackname:{rules:[28,29,30],inclusive:!1},href:{rules:[25,26],inclusive:!1},click:{rules:[34,35],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[45,46,47,48,49,50,51,52,53,54,55],inclusive:!1},acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},md_string:{rules:[13,14],inclusive:!1},string:{rules:[16,17],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,15,18,19,20,21,22,23,24,27,33,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],inclusive:!0}}};return wg}();E3.lexer=yL;function hm(){this.yy={}}return hm.prototype=E3,E3.Parser=hm,new hm}();Ldt.parser=Ldt;const Mdt=Ldt,PMe="flowchart-";let sPt=0,Ddt=Me(),Cl={},hE=[],QA={},T5=[],GW={},UW={},WW=0,Idt=!0,ev,KW,YW=[];const XW=i=>bi.sanitizeText(i,Ddt),aPt=function(i,a,f){f1.parseDirective(this,i,a,f)},iN=function(i){const a=Object.keys(Cl);for(const f of a)if(Cl[f].id===i)return Cl[f].domId;return i},oPt=function(i,a,f,p,v,m,b={}){let E,C=i;C!==void 0&&C.trim().length!==0&&(Cl[C]===void 0&&(Cl[C]={id:C,labelType:"text",domId:PMe+C+"-"+sPt,styles:[],classes:[]}),sPt++,a!==void 0?(Ddt=Me(),E=XW(a.text.trim()),Cl[C].labelType=a.type,E[0]==='"'&&E[E.length-1]==='"'&&(E=E.substring(1,E.length-1)),Cl[C].text=E):Cl[C].text===void 0&&(Cl[C].text=i),f!==void 0&&(Cl[C].type=f),p!=null&&p.forEach(function(A){Cl[C].styles.push(A)}),v!=null&&v.forEach(function(A){Cl[C].classes.push(A)}),m!==void 0&&(Cl[C].dir=m),Cl[C].props===void 0?Cl[C].props=b:b!==void 0&&Object.assign(Cl[C].props,b))},cPt=function(i,a,f){const m={start:i,end:a,type:void 0,text:"",labelType:"text"};Vt.info("abc78 Got edge...",m);const b=f.text;b!==void 0&&(m.text=XW(b.text.trim()),m.text[0]==='"'&&m.text[m.text.length-1]==='"'&&(m.text=m.text.substring(1,m.text.length-1)),m.labelType=b.type),f!==void 0&&(m.type=f.type,m.stroke=f.stroke,m.length=f.length),hE.push(m)},uPt=function(i,a,f){Vt.info("addLink (abc78)",i,a,f);let p,v;for(p=0;p/)&&(ev="LR"),ev.match(/.*v/)&&(ev="TB"),ev==="TD"&&(ev="TB")},QW=function(i,a){i.split(",").forEach(function(f){let p=f;Cl[p]!==void 0&&Cl[p].classes.push(a),GW[p]!==void 0&&GW[p].classes.push(a)})},NMe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(UW[KW==="gen-1"?iN(f):f]=XW(a))})},FMe=function(i,a,f){let p=iN(i);if(Me().securityLevel!=="loose"||a===void 0)return;let v=[];if(typeof f=="string"){v=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m")),v.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),wr(this).classed("hover",!1)})};YW.push(kPt);const EPt=function(i="gen-1"){Cl={},QA={},hE=[],YW=[kPt],T5=[],GW={},WW=0,UW={},Idt=!0,KW=i,hg()},TPt=i=>{KW=i||"gen-2"},_Pt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},CPt=function(i,a,f){let p=i.text.trim(),v=f.text;i===f&&f.text.match(/\s/)&&(p=void 0);function m(N){const F={boolean:{},number:{},string:{}},j=[];let R;return{nodeList:N.filter(function(Y){const rt=typeof Y;return Y.stmt&&Y.stmt==="dir"?(R=Y.value,!1):Y.trim()===""?!1:rt in F?F[rt].hasOwnProperty(Y)?!1:F[rt][Y]=!0:j.includes(Y)?!1:j.push(Y)}),dir:R}}let b=[];const{nodeList:E,dir:C}=m(b.concat.apply(b,a));if(b=E,KW==="gen-1")for(let N=0;N2e3)return;if(SPt[sN]=a,T5[a].id===i)return{result:!0,count:0};let p=0,v=1;for(;p=0){const b=APt(i,m);if(b.result)return{result:!0,count:v+b.count};v=v+b.count}p=p+1}return{result:!1,count:v}},LPt=function(i){return SPt[i]},MPt=function(){sN=-1,T5.length>0&&APt("none",T5.length-1)},DPt=function(){return T5},IPt=()=>Idt?(Idt=!1,!0):!1,RMe=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let p="normal";return a.includes("=")&&(p="thick"),a.includes(".")&&(p="dotted"),{type:f,stroke:p}},jMe=(i,a)=>{const f=a.length;let p=0;for(let v=0;v{const a=i.trim();let f=a.slice(0,-1),p="arrow_open";switch(a.slice(-1)){case"x":p="arrow_cross",a[0]==="x"&&(p="double_"+p,f=f.slice(1));break;case">":p="arrow_point",a[0]==="<"&&(p="double_"+p,f=f.slice(1));break;case"o":p="arrow_circle",a[0]==="o"&&(p="double_"+p,f=f.slice(1));break}let v="normal",m=f.length-1;f[0]==="="&&(v="thick"),f[0]==="~"&&(v="invisible");let b=jMe(".",f);return b&&(v="dotted",m=b),{type:p,stroke:v,length:m}},OPt=(i,a)=>{const f=$Me(i);let p;if(a){if(p=RMe(a),p.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(p.type==="arrow_open")p.type=f.type;else{if(p.type!==f.type)return{type:"INVALID",stroke:"INVALID"};p.type="double_"+p.type}return p.type==="double_arrow"&&(p.type="double_arrow_point"),p.length=f.length,p}return f},PPt=(i,a)=>{let f=!1;return i.forEach(p=>{p.nodes.indexOf(a)>=0&&(f=!0)}),f},NPt=(i,a)=>{const f=[];return i.nodes.forEach((p,v)=>{PPt(a,p)||f.push(i.nodes[v])}),{nodes:f}},FPt={firstGraph:IPt},ck={parseDirective:aPt,defaultConfig:()=>eE.flowchart,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,addVertex:oPt,lookUpDomId:iN,addLink:uPt,updateLinkInterpolate:lPt,updateLink:hPt,addClass:fPt,setDirection:dPt,setClass:QW,setTooltip:NMe,getTooltip:pPt,setClickEvent:bPt,setLink:gPt,bindFunctions:vPt,getDirection:wPt,getVertices:mPt,getEdges:yPt,getClasses:xPt,clear:EPt,setGen:TPt,defaultStyle:_Pt,addSubGraph:CPt,getDepthFirstPos:LPt,indexNodes:MPt,getSubGraphs:DPt,destructLink:OPt,lex:FPt,exists:PPt,makeUniq:NPt,setDiagramTitle:F2,getDiagramTitle:fp},zMe=Object.freeze(Object.defineProperty({__proto__:null,addClass:fPt,addLink:uPt,addSingleLink:cPt,addSubGraph:CPt,addVertex:oPt,bindFunctions:vPt,clear:EPt,default:ck,defaultStyle:_Pt,destructLink:OPt,firstGraph:IPt,getClasses:xPt,getDepthFirstPos:LPt,getDirection:wPt,getEdges:yPt,getSubGraphs:DPt,getTooltip:pPt,getVertices:mPt,indexNodes:MPt,lex:FPt,lookUpDomId:iN,parseDirective:aPt,setClass:QW,setClickEvent:bPt,setDirection:dPt,setGen:TPt,setLink:gPt,updateLink:hPt,updateLinkInterpolate:lPt},Symbol.toStringTag,{value:"Module"}));var qMe="[object Symbol]";function fE(i){return typeof i=="symbol"||f3(i)&&iE(i)==qMe}function ZA(i,a){for(var f=-1,p=i==null?0:i.length,v=Array(p);++f0){if(++a>=sDe)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}function JA(i){return function(){return i}}var uDe=function(){try{var i=aE(Object,"defineProperty");return i({},"",{}),i}catch{}}();const JW=uDe;var lDe=JW?function(i,a){return JW(i,"toString",{configurable:!0,enumerable:!1,value:JA(a),writable:!0})}:dE,hDe=cDe(lDe);const VPt=hDe;function GPt(i,a){for(var f=-1,p=i==null?0:i.length;++f
-1}var bDe=9007199254740991,vDe=/^(?:0|[1-9]\d*)$/;function tK(i,a){var f=typeof i;return a=a??bDe,!!a&&(f=="number"||f!="symbol"&&vDe.test(i))&&i>-1&&i%1==0&&i1?f[v-1]:void 0,b=v>2?f[2]:void 0;for(m=i.length>3&&typeof m=="function"?(v--,m):void 0,b&&oN(f[0],f[1],b)&&(m=v<3?void 0:m,v=1),a=Object(a);++p0&&f(E)?a>1?aK(E,a-1,f,p,v):Pdt(v,E):p||(v[v.length]=E)}return v}function tL(i){var a=i==null?0:i.length;return a?aK(i,1):[]}function jDe(i){return VPt(KPt(i,void 0,tL),i+"")}var $De=TOt(Object.getPrototypeOf,Object);const Ndt=$De;var zDe="[object Object]",qDe=Function.prototype,HDe=Object.prototype,ZPt=qDe.toString,VDe=HDe.hasOwnProperty,GDe=ZPt.call(Object);function JPt(i){if(!f3(i)||iE(i)!=zDe)return!1;var a=Ndt(i);if(a===null)return!0;var f=VDe.call(a,"constructor")&&a.constructor;return typeof f=="function"&&f instanceof f&&ZPt.call(f)==GDe}function UDe(i,a,f,p){var v=-1,m=i==null?0:i.length;for(p&&m&&(f=i[++v]);++vE))return!1;var A=m.get(i),N=m.get(a);if(A&&N)return A==a&&N==i;var F=-1,j=!0,R=f&AOe?new lN:void 0;for(m.set(i,a),m.set(a,i);++F2?a[2]:void 0;for(v&&oN(a[0],a[1],v)&&(p=1);++f-1?v[m?a[b]:b]:void 0}}var xPe=Math.max;function kPe(i,a,f){var p=i==null?0:i.length;if(!p)return-1;var v=f==null?0:tDe(f);return v<0&&(v=xPe(p+v,0)),UPt(i,uk(a),v)}var EPe=yPe(kPe);const Wdt=EPe;function ONt(i,a){var f=-1,p=sk(i)?Array(i.length):[];return uK(i,function(v,m,b){p[++f]=a(v,m,b)}),p}function jf(i,a){var f=Rf(i)?ZA:ONt;return f(i,uk(a))}function TPe(i,a){return i==null?i:qdt(i,Udt(a),gE)}function _Pe(i,a){return i&&Hdt(i,Udt(a))}function CPe(i,a){return i>a}var SPe=Object.prototype,APe=SPe.hasOwnProperty;function LPe(i,a){return i!=null&&APe.call(i,a)}function no(i,a){return i!=null&&SNt(i,a,LPe)}function MPe(i,a){return ZA(a,function(f){return i[f]})}function C5(i){return i==null?[]:MPe(i,j2(i))}function sf(i){return i===void 0}function PNt(i,a){return ia||m&&b&&C&&!E&&!A||p&&b&&C||!f&&C||!v)return 1;if(!p&&!m&&!A&&i=E)return C;var A=f[p];return C*(A=="desc"?-1:1)}}return i.index-a.index}function BPe(i,a,f){a.length?a=ZA(a,function(m){return Rf(m)?function(b){return sK(b,m.length===1?m[0]:m)}:m}):a=[dE];var p=-1;a=ZA(a,NW(uk));var v=ONt(i,function(m,b,E){var C=ZA(a,function(A){return A(m)});return{criteria:C,index:++p,value:m}});return PPe(v,function(m,b){return FPe(m,b,f)})}function RPe(i,a){return OPe(i,a,function(f,p){return ANt(i,p)})}var jPe=jDe(function(i,a){return i==null?{}:RPe(i,a)});const fN=jPe;var $Pe=Math.ceil,zPe=Math.max;function qPe(i,a,f,p){for(var v=-1,m=zPe($Pe((a-i)/(f||1)),0),b=Array(m);m--;)b[p?m:++v]=i,i+=f;return b}function HPe(i){return function(a,f,p){return p&&typeof p!="number"&&oN(a,f,p)&&(f=p=void 0),a=ZW(a),f===void 0?(f=a,a=0):f=ZW(f),p=p===void 0?a1&&oN(i,a[0],a[1])?a=[]:f>2&&oN(a[0],a[1],a[2])&&(a=[a[0]]),BPe(i,aK(a,1),[])});const gN=UPe;var WPe=1/0,KPe=UA&&1/jdt(new UA([,-0]))[1]==WPe?function(i){return new UA(i)}:iDe;const YPe=KPe;var XPe=200;function QPe(i,a,f){var p=-1,v=pDe,m=i.length,b=!0,E=[],C=E;if(f)b=!1,v=wPe;else if(m>=XPe){var A=a?null:YPe(i);if(A)return jdt(A);b=!1,v=mNt,C=new lN}else C=a?[]:E;t:for(;++p1?v.setNode(m,f):v.setNode(m)}),this}setNode(a,f){return no(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=vE,this._children[a]={},this._children[vE][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return no(this._nodes,a)}removeNode(a){var f=this;if(no(this._nodes,a)){var p=function(v){f.removeEdge(f._edgeObjs[v])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],mr(this.children(a),function(v){f.setParent(v)}),delete this._children[a]),mr(j2(this._in[a]),p),delete this._in[a],delete this._preds[a],mr(j2(this._out[a]),p),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(sf(f))f=vE;else{f+="";for(var p=f;!sf(p);p=this.parent(p))if(p===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==vE)return f}}children(a){if(sf(a)&&(a=vE),this._isCompound){var f=this._children[a];if(f)return j2(f)}else{if(a===vE)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return j2(f)}successors(a){var f=this._sucs[a];if(f)return j2(f)}neighbors(a){var f=this.predecessors(a);if(f)return JPe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;mr(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),mr(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,p.edge(b))});var v={};function m(b){var E=p.parent(b);return E===void 0||f.hasNode(E)?(v[b]=E,E):E in v?v[E]:m(E)}return this._isCompound&&mr(f.nodes(),function(b){f.setParent(b,m(b))}),f}setDefaultEdgeLabel(a){return jA(a)||(a=JA(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return C5(this._edgeObjs)}setPath(a,f){var p=this,v=arguments;return dN(a,function(m,b){return v.length>1?p.setEdge(m,b,f):p.setEdge(m,b),b}),this}setEdge(){var a,f,p,v,m=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,p=b.name,arguments.length===2&&(v=arguments[1],m=!0)):(a=b,f=arguments[1],p=arguments[3],arguments.length>2&&(v=arguments[2],m=!0)),a=""+a,f=""+f,sf(p)||(p=""+p);var E=pN(this._isDirected,a,f,p);if(no(this._edgeLabels,E))return m&&(this._edgeLabels[E]=v),this;if(!sf(p)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=m?v:this._defaultEdgeLabelFn(a,f,p);var C=iNe(this._isDirected,a,f,p);return a=C.v,f=C.w,Object.freeze(C),this._edgeObjs[E]=C,FNt(this._preds[f],a),FNt(this._sucs[a],f),this._in[f][E]=C,this._out[a][E]=C,this._edgeCount++,this}edge(a,f,p){var v=arguments.length===1?Qdt(this._isDirected,arguments[0]):pN(this._isDirected,a,f,p);return this._edgeLabels[v]}hasEdge(a,f,p){var v=arguments.length===1?Qdt(this._isDirected,arguments[0]):pN(this._isDirected,a,f,p);return no(this._edgeLabels,v)}removeEdge(a,f,p){var v=arguments.length===1?Qdt(this._isDirected,arguments[0]):pN(this._isDirected,a,f,p),m=this._edgeObjs[v];return m&&(a=m.v,f=m.w,delete this._edgeLabels[v],delete this._edgeObjs[v],BNt(this._preds[f],a),BNt(this._sucs[a],f),delete this._in[f][v],delete this._out[a][v],this._edgeCount--),this}inEdges(a,f){var p=this._in[a];if(p){var v=C5(p);return f?_5(v,function(m){return m.v===f}):v}}outEdges(a,f){var p=this._out[a];if(p){var v=C5(p);return f?_5(v,function(m){return m.w===f}):v}}nodeEdges(a,f){var p=this.inEdges(a,f);if(p)return p.concat(this.outEdges(a,f))}}d1.prototype._nodeCount=0,d1.prototype._edgeCount=0;function FNt(i,a){i[a]?i[a]++:i[a]=1}function BNt(i,a){--i[a]||delete i[a]}function pN(i,a,f,p){var v=""+a,m=""+f;if(!i&&v>m){var b=v;v=m,m=b}return v+NNt+m+NNt+(sf(p)?rNe:p)}function iNe(i,a,f,p){var v=""+a,m=""+f;if(!i&&v>m){var b=v;v=m,m=b}var E={v,w:m};return p&&(E.name=p),E}function Qdt(i,a){return pN(i,a.v,a.w,a.name)}class sNe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return RNt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&RNt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,p=f._prev;p!==f;)a.push(JSON.stringify(p,aNe)),p=p._prev;return"["+a.join(", ")+"]"}}function RNt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function aNe(i,a){if(i!=="_next"&&i!=="_prev")return a}var oNe=JA(1);function cNe(i,a){if(i.nodeCount()<=1)return[];var f=lNe(i,a||oNe),p=uNe(f.graph,f.buckets,f.zeroIdx);return tL(jf(p,function(v){return i.outEdges(v.v,v.w)}))}function uNe(i,a,f){for(var p=[],v=a[a.length-1],m=a[0],b;i.nodeCount();){for(;b=m.dequeue();)Zdt(i,a,f,b);for(;b=v.dequeue();)Zdt(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){p=p.concat(Zdt(i,a,f,b,!0));break}}}return p}function Zdt(i,a,f,p,v){var m=v?[]:void 0;return mr(i.inEdges(p.v),function(b){var E=i.edge(b),C=i.node(b.v);v&&m.push({v:b.v,w:b.w}),C.out-=E,Jdt(a,f,C)}),mr(i.outEdges(p.v),function(b){var E=i.edge(b),C=b.w,A=i.node(C);A.in-=E,Jdt(a,f,A)}),i.removeNode(p.v),m}function lNe(i,a){var f=new d1,p=0,v=0;mr(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),mr(i.edges(),function(E){var C=f.edge(E.v,E.w)||0,A=a(E),N=C+A;f.setEdge(E.v,E.w,N),v=Math.max(v,f.node(E.v).out+=A),p=Math.max(p,f.node(E.w).in+=A)});var m=bE(v+p+3).map(function(){return new sNe}),b=p+1;return mr(f.nodes(),function(E){Jdt(m,b,f.node(E))}),{graph:f,buckets:m,zeroIdx:b}}function Jdt(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function hNe(i){var a=i.graph().acyclicer==="greedy"?cNe(i,f(i)):fNe(i);mr(a,function(p){var v=i.edge(p);i.removeEdge(p),v.forwardName=p.name,v.reversed=!0,i.setEdge(p.w,p.v,v,fK("rev"))});function f(p){return function(v){return p.edge(v).weight}}}function fNe(i){var a=[],f={},p={};function v(m){no(p,m)||(p[m]=!0,f[m]=!0,mr(i.outEdges(m),function(b){no(f,b.w)?a.push(b):v(b.w)}),delete f[m])}return mr(i.nodes(),v),a}function dNe(i){mr(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var p=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,p)}})}function nL(i,a,f,p){var v;do v=fK(p);while(i.hasNode(v));return f.dummy=a,i.setNode(v,f),v}function gNe(i){var a=new d1().setGraph(i.graph());return mr(i.nodes(),function(f){a.setNode(f,i.node(f))}),mr(i.edges(),function(f){var p=a.edge(f.v,f.w)||{weight:0,minlen:1},v=i.edge(f);a.setEdge(f.v,f.w,{weight:p.weight+v.weight,minlen:Math.max(p.minlen,v.minlen)})}),a}function jNt(i){var a=new d1({multigraph:i.isMultigraph()}).setGraph(i.graph());return mr(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),mr(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function $Nt(i,a){var f=i.x,p=i.y,v=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2;if(!v&&!m)throw new Error("Not possible to find intersection inside of the rectangle");var C,A;return Math.abs(m)*b>Math.abs(v)*E?(m<0&&(E=-E),C=E*v/m,A=E):(v<0&&(b=-b),C=b,A=b*m/v),{x:f+C,y:p+A}}function dK(i){var a=jf(bE(qNt(i)+1),function(){return[]});return mr(i.nodes(),function(f){var p=i.node(f),v=p.rank;sf(v)||(a[v][p.order]=f)}),a}function pNe(i){var a=hN(jf(i.nodes(),function(f){return i.node(f).rank}));mr(i.nodes(),function(f){var p=i.node(f);no(p,"rank")&&(p.rank-=a)})}function bNe(i){var a=hN(jf(i.nodes(),function(m){return i.node(m).rank})),f=[];mr(i.nodes(),function(m){var b=i.node(m).rank-a;f[b]||(f[b]=[]),f[b].push(m)});var p=0,v=i.graph().nodeRankFactor;mr(f,function(m,b){sf(m)&&b%v!==0?--p:p&&mr(m,function(E){i.node(E).rank+=p})})}function zNt(i,a,f,p){var v={width:0,height:0};return arguments.length>=4&&(v.rank=f,v.order=p),nL(i,"border",v,a)}function qNt(i){return pE(jf(i.nodes(),function(a){var f=i.node(a).rank;if(!sf(f))return f}))}function vNe(i,a){var f={lhs:[],rhs:[]};return mr(i,function(p){a(p)?f.lhs.push(p):f.rhs.push(p)}),f}function wNe(i,a){var f=LNt();try{return a()}finally{console.log(i+" time: "+(LNt()-f)+"ms")}}function mNe(i,a){return a()}function yNe(i){function a(f){var p=i.children(f),v=i.node(f);if(p.length&&mr(p,a),no(v,"minRank")){v.borderLeft=[],v.borderRight=[];for(var m=v.minRank,b=v.maxRank+1;mb.lim&&(E=b,C=!0);var A=_5(a.edges(),function(N){return C===tFt(i,i.node(N.v),E)&&C!==tFt(i,i.node(N.w),E)});return Xdt(A,function(N){return bN(a,N)})}function JNt(i,a,f,p){var v=f.v,m=f.w;i.removeEdge(v,m),i.setEdge(p.v,p.w,{}),i0t(i),r0t(i,a),NNe(i,a)}function NNe(i,a){var f=Wdt(i.nodes(),function(v){return!a.node(v).parent}),p=ONe(i,f);p=p.slice(1),mr(p,function(v){var m=i.node(v).parent,b=a.edge(v,m),E=!1;b||(b=a.edge(m,v),E=!0),a.node(v).rank=a.node(m).rank+(E?b.minlen:-b.minlen)})}function FNe(i,a,f){return i.hasEdge(a,f)}function tFt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function BNe(i){switch(i.graph().ranker){case"network-simplex":eFt(i);break;case"tight-tree":jNe(i);break;case"longest-path":RNe(i);break;default:eFt(i)}}var RNe=n0t;function jNe(i){n0t(i),UNt(i)}function eFt(i){wE(i)}function $Ne(i){var a=nL(i,"root",{},"_root"),f=zNe(i),p=pE(C5(f))-1,v=2*p+1;i.graph().nestingRoot=a,mr(i.edges(),function(b){i.edge(b).minlen*=v});var m=qNe(i)+1;mr(i.children(),function(b){nFt(i,a,v,m,p,f,b)}),i.graph().nodeRankFactor=v}function nFt(i,a,f,p,v,m,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var C=zNt(i,"_bt"),A=zNt(i,"_bb"),N=i.node(b);i.setParent(C,b),N.borderTop=C,i.setParent(A,b),N.borderBottom=A,mr(E,function(F){nFt(i,a,f,p,v,m,F);var j=i.node(F),R=j.borderTop?j.borderTop:F,H=j.borderBottom?j.borderBottom:F,Y=j.borderTop?p:2*p,rt=R!==H?1:v-m[b]+1;i.setEdge(C,R,{weight:Y,minlen:rt,nestingEdge:!0}),i.setEdge(H,A,{weight:Y,minlen:rt,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,C,{weight:0,minlen:v+m[b]})}function zNe(i){var a={};function f(p,v){var m=i.children(p);m&&m.length&&mr(m,function(b){f(b,v+1)}),a[p]=v}return mr(i.children(),function(p){f(p,1)}),a}function qNe(i){return dN(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function HNe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,mr(i.edges(),function(f){var p=i.edge(f);p.nestingEdge&&i.removeEdge(f)})}function VNe(i,a,f){var p={},v;mr(f,function(m){for(var b=i.parent(m),E,C;b;){if(E=i.parent(b),E?(C=p[E],p[E]=b):(C=v,v=b),C&&C!==b){a.setEdge(C,b);return}b=E}})}function GNe(i,a,f){var p=UNe(i),v=new d1({compound:!0}).setGraph({root:p}).setDefaultNodeLabel(function(m){return i.node(m)});return mr(i.nodes(),function(m){var b=i.node(m),E=i.parent(m);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(v.setNode(m),v.setParent(m,E||p),mr(i[f](m),function(C){var A=C.v===m?C.w:C.v,N=v.edge(A,m),F=sf(N)?0:N.weight;v.setEdge(A,m,{weight:i.edge(C).weight+F})}),no(b,"minRank")&&v.setNode(m,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),v}function UNe(i){for(var a;i.hasNode(a=fK("_root")););return a}function WNe(i,a){for(var f=0,p=1;p0;)N%2&&(F+=E[N+1]),N=N-1>>1,E[N]+=A.weight;C+=A.weight*F})),C}function YNe(i){var a={},f=_5(i.nodes(),function(E){return!i.children(E).length}),p=pE(jf(f,function(E){return i.node(E).rank})),v=jf(bE(p+1),function(){return[]});function m(E){if(!no(a,E)){a[E]=!0;var C=i.node(E);v[C.rank].push(E),mr(i.successors(E),m)}}var b=gN(f,function(E){return i.node(E).rank});return mr(b,m),v}function XNe(i,a){return jf(a,function(f){var p=i.inEdges(f);if(p.length){var v=dN(p,function(m,b){var E=i.edge(b),C=i.node(b.v);return{sum:m.sum+E.weight*C.order,weight:m.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:v.sum/v.weight,weight:v.weight}}else return{v:f}})}function QNe(i,a){var f={};mr(i,function(v,m){var b=f[v.v]={indegree:0,in:[],out:[],vs:[v.v],i:m};sf(v.barycenter)||(b.barycenter=v.barycenter,b.weight=v.weight)}),mr(a.edges(),function(v){var m=f[v.v],b=f[v.w];!sf(m)&&!sf(b)&&(b.indegree++,m.out.push(f[v.w]))});var p=_5(f,function(v){return!v.indegree});return ZNe(p)}function ZNe(i){var a=[];function f(m){return function(b){b.merged||(sf(b.barycenter)||sf(m.barycenter)||b.barycenter>=m.barycenter)&&JNe(m,b)}}function p(m){return function(b){b.in.push(m),--b.indegree===0&&i.push(b)}}for(;i.length;){var v=i.pop();a.push(v),mr(v.in.reverse(),f(v)),mr(v.out,p(v))}return jf(_5(a,function(m){return!m.merged}),function(m){return fN(m,["vs","i","barycenter","weight"])})}function JNe(i,a){var f=0,p=0;i.weight&&(f+=i.barycenter*i.weight,p+=i.weight),a.weight&&(f+=a.barycenter*a.weight,p+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/p,i.weight=p,i.i=Math.min(a.i,i.i),a.merged=!0}function tFe(i,a){var f=vNe(i,function(N){return no(N,"barycenter")}),p=f.lhs,v=gN(f.rhs,function(N){return-N.i}),m=[],b=0,E=0,C=0;p.sort(eFe(!!a)),C=rFt(m,v,C),mr(p,function(N){C+=N.vs.length,m.push(N.vs),b+=N.barycenter*N.weight,E+=N.weight,C=rFt(m,v,C)});var A={vs:tL(m)};return E&&(A.barycenter=b/E,A.weight=E),A}function rFt(i,a,f){for(var p;a.length&&(p=lK(a)).i<=f;)a.pop(),i.push(p.vs),f++;return f}function eFe(i){return function(a,f){return a.barycenterf.barycenter?1:i?f.i-a.i:a.i-f.i}}function iFt(i,a,f,p){var v=i.children(a),m=i.node(a),b=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,C={};b&&(v=_5(v,function(H){return H!==b&&H!==E}));var A=XNe(i,v);mr(A,function(H){if(i.children(H.v).length){var Y=iFt(i,H.v,f,p);C[H.v]=Y,no(Y,"barycenter")&&rFe(H,Y)}});var N=QNe(A,f);nFe(N,C);var F=tFe(N,p);if(b&&(F.vs=tL([b,F.vs,E]),i.predecessors(b).length)){var j=i.node(i.predecessors(b)[0]),R=i.node(i.predecessors(E)[0]);no(F,"barycenter")||(F.barycenter=0,F.weight=0),F.barycenter=(F.barycenter*F.weight+j.order+R.order)/(F.weight+2),F.weight+=2}return F}function nFe(i,a){mr(i,function(f){f.vs=tL(f.vs.map(function(p){return a[p]?a[p].vs:p}))})}function rFe(i,a){sf(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function iFe(i){var a=qNt(i),f=sFt(i,bE(1,a+1),"inEdges"),p=sFt(i,bE(a-1,-1,-1),"outEdges"),v=YNe(i);aFt(i,v);for(var m=Number.POSITIVE_INFINITY,b,E=0,C=0;C<4;++E,++C){sFe(E%2?f:p,E%4>=2),v=dK(i);var A=WNe(i,v);Ab||E>a[C].lim));for(A=C,C=p;(C=i.parent(C))!==A;)m.push(C);return{path:v.concat(m.reverse()),lca:A}}function cFe(i){var a={},f=0;function p(v){var m=f;mr(i.children(v),p),a[v]={low:m,lim:f++}}return mr(i.children(),p),a}function uFe(i,a){var f={};function p(v,m){var b=0,E=0,C=v.length,A=lK(m);return mr(m,function(N,F){var j=hFe(i,N),R=j?i.node(j).order:C;(j||N===A)&&(mr(m.slice(E,F+1),function(H){mr(i.predecessors(H),function(Y){var rt=i.node(Y),J=rt.order;(JA)&&oFt(f,j,N)})})}function v(m,b){var E=-1,C,A=0;return mr(b,function(N,F){if(i.node(N).dummy==="border"){var j=i.predecessors(N);j.length&&(C=i.node(j[0]).order,p(b,A,F,E,C),A=F,E=C)}p(b,A,b.length,C,m.length)}),b}return dN(a,v),f}function hFe(i,a){if(i.node(a).dummy)return Wdt(i.predecessors(a),function(f){return i.node(f).dummy})}function oFt(i,a,f){if(a>f){var p=a;a=f,f=p}var v=i[a];v||(i[a]=v={}),v[f]=!0}function fFe(i,a,f){if(a>f){var p=a;a=f,f=p}return no(i[a],f)}function dFe(i,a,f,p){var v={},m={},b={};return mr(a,function(E){mr(E,function(C,A){v[C]=C,m[C]=C,b[C]=A})}),mr(a,function(E){var C=-1;mr(E,function(A){var N=p(A);if(N.length){N=gN(N,function(Y){return b[Y]});for(var F=(N.length-1)/2,j=Math.floor(F),R=Math.ceil(F);j<=R;++j){var H=N[j];m[A]===A&&C0}function b3(i,a,f){var p=i.x,v=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;a.forEach(function(H){b=Math.min(b,H.x),E=Math.min(E,H.y)});for(var C=p-i.width/2-b,A=v-i.height/2-E,N=0;N1&&m.sort(function(H,Y){var rt=H.x-f.x,J=H.y-f.y,it=Math.sqrt(rt*rt+J*J),ht=Y.x-f.x,Tt=Y.y-f.y,yt=Math.sqrt(ht*ht+Tt*Tt);return itMath.abs(v)*E?(m<0&&(E=-E),C=m===0?0:E*v/m,A=E):(v<0&&(b=-b),C=b,A=v===0?0:b*m/v),{x:f+C,y:p+A}}var b0t={rect:bBe,ellipse:vBe,circle:wBe,diamond:mBe};function pBe(i){b0t=i}function bBe(i,a,f){var p=i.insert("rect",":first-child").attr("rx",f.rx).attr("ry",f.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return f.intersect=function(v){return p0t(f,v)},p}function vBe(i,a,f){var p=a.width/2,v=a.height/2,m=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",p).attr("ry",v);return f.intersect=function(b){return dFt(f,p,v,b)},m}function wBe(i,a,f){var p=Math.max(a.width,a.height)/2,v=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",p);return f.intersect=function(m){return dBe(f,p,m)},v}function mBe(i,a,f){var p=a.width*Math.SQRT2/2,v=a.height*Math.SQRT2/2,m=[{x:0,y:-v},{x:-p,y:0},{x:0,y:v},{x:p,y:0}],b=i.insert("polygon",":first-child").attr("points",m.map(function(E){return E.x+","+E.y}).join(" "));return f.intersect=function(E){return b3(f,m,E)},b}function yBe(){var i=function(a,f){EBe(f);var p=vN(a,"output"),v=vN(p,"clusters"),m=vN(p,"edgePaths"),b=f0t(vN(p,"edgeLabels"),f),E=g0t(vN(p,"nodes"),f,b0t);rL(f),fBe(E,f),hBe(b,f),d0t(m,f,c0t);var C=h0t(v,f);lBe(C,f),TBe(f)};return i.createNodes=function(a){return arguments.length?(uBe(a),i):g0t},i.createClusters=function(a){return arguments.length?(eBe(a),i):h0t},i.createEdgeLabels=function(a){return arguments.length?(nBe(a),i):f0t},i.createEdgePaths=function(a){return arguments.length?(rBe(a),i):d0t},i.shapes=function(a){return arguments.length?(pBe(a),i):b0t},i.arrows=function(a){return arguments.length?(KFe(a),i):c0t},i}var xBe={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},kBe={arrowhead:"normal",curve:ag};function EBe(i){i.nodes().forEach(function(a){var f=i.node(a);!no(f,"label")&&!i.children(a).length&&(f.label=a),no(f,"paddingX")&&eL(f,{paddingLeft:f.paddingX,paddingRight:f.paddingX}),no(f,"paddingY")&&eL(f,{paddingTop:f.paddingY,paddingBottom:f.paddingY}),no(f,"padding")&&eL(f,{paddingLeft:f.padding,paddingRight:f.padding,paddingTop:f.padding,paddingBottom:f.padding}),eL(f,xBe),mr(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(p){f[p]=Number(f[p])}),no(f,"width")&&(f._prevWidth=f.width),no(f,"height")&&(f._prevHeight=f.height)}),i.edges().forEach(function(a){var f=i.edge(a);no(f,"label")||(f.label=""),eL(f,kBe)})}function TBe(i){mr(i.nodes(),function(a){var f=i.node(a);no(f,"_prevWidth")?f.width=f._prevWidth:delete f.width,no(f,"_prevHeight")?f.height=f._prevHeight:delete f.height,delete f._prevWidth,delete f._prevHeight})}function vN(i,a){var f=i.select("g."+a);return f.empty()&&(f=i.append("g").attr("class",a)),f}function pFt(i,a,f){const p=a.width,v=a.height,m=(p+v)*.9,b=[{x:m/2,y:0},{x:m,y:-m/2},{x:m/2,y:-m},{x:0,y:-m/2}],E=S5(i,m,m,b);return f.intersect=function(C){return b3(f,b,C)},E}function bFt(i,a,f){const v=a.height,m=v/4,b=a.width+2*m,E=[{x:m,y:0},{x:b-m,y:0},{x:b,y:-v/2},{x:b-m,y:-v},{x:m,y:-v},{x:0,y:-v/2}],C=S5(i,b,v,E);return f.intersect=function(A){return b3(f,E,A)},C}function vFt(i,a,f){const p=a.width,v=a.height,m=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}],b=S5(i,p,v,m);return f.intersect=function(E){return b3(f,m,E)},b}function wFt(i,a,f){const p=a.width,v=a.height,m=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],b=S5(i,p,v,m);return f.intersect=function(E){return b3(f,m,E)},b}function mFt(i,a,f){const p=a.width,v=a.height,m=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],b=S5(i,p,v,m);return f.intersect=function(E){return b3(f,m,E)},b}function yFt(i,a,f){const p=a.width,v=a.height,m=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],b=S5(i,p,v,m);return f.intersect=function(E){return b3(f,m,E)},b}function xFt(i,a,f){const p=a.width,v=a.height,m=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],b=S5(i,p,v,m);return f.intersect=function(E){return b3(f,m,E)},b}function kFt(i,a,f){const p=a.width,v=a.height,m=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],b=S5(i,p,v,m);return f.intersect=function(E){return b3(f,m,E)},b}function EFt(i,a,f){const p=a.height,v=a.width+p/4,m=i.insert("rect",":first-child").attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return f.intersect=function(b){return p0t(f,b)},m}function TFt(i,a,f){const p=a.width,v=a.height,m=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],b=S5(i,p,v,m);return f.intersect=function(E){return b3(f,m,E)},b}function _Ft(i,a,f){const p=a.width,v=p/2,m=v/(2.5+p/50),b=a.height+m,E="M 0,"+m+" a "+v+","+m+" 0,0,0 "+p+" 0 a "+v+","+m+" 0,0,0 "+-p+" 0 l 0,"+b+" a "+v+","+m+" 0,0,0 "+p+" 0 l 0,"+-b,C=i.attr("label-offset-y",m).insert("path",":first-child").attr("d",E).attr("transform","translate("+-p/2+","+-(b/2+m)+")");return f.intersect=function(A){const N=p0t(f,A),F=N.x-f.x;if(v!=0&&(Math.abs(F)f.height/2-m)){let j=m*m*(1-F*F/(v*v));j!=0&&(j=Math.sqrt(j)),j=m-j,A.y-f.y>0&&(j=-j),N.y+=j}return N},C}function _Be(i){i.shapes().question=pFt,i.shapes().hexagon=bFt,i.shapes().stadium=EFt,i.shapes().subroutine=TFt,i.shapes().cylinder=_Ft,i.shapes().rect_left_inv_arrow=vFt,i.shapes().lean_right=wFt,i.shapes().lean_left=mFt,i.shapes().trapezoid=yFt,i.shapes().inv_trapezoid=xFt,i.shapes().rect_right_inv_arrow=kFt}function CBe(i){i({question:pFt}),i({hexagon:bFt}),i({stadium:EFt}),i({subroutine:TFt}),i({cylinder:_Ft}),i({rect_left_inv_arrow:vFt}),i({lean_right:wFt}),i({lean_left:mFt}),i({trapezoid:yFt}),i({inv_trapezoid:xFt}),i({rect_right_inv_arrow:kFt})}function S5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+-a/2+","+f/2+")")}const SBe={addToRender:_Be,addToRenderV2:CBe},CFt={},ABe=function(i){const a=Object.keys(i);for(const f of a)CFt[f]=i[f]},SFt=function(i,a,f,p,v,m){const b=p?p.select(`[id="${f}"]`):wr(`[id="${f}"]`),E=v||document;Object.keys(i).forEach(function(A){const N=i[A];let F="default";N.classes.length>0&&(F=N.classes.join(" "));const j=Jw(N.styles);let R=N.text!==void 0?N.text:N.id,H;if(l1(Me().flowchart.htmlLabels)){const J={label:R.replace(/fa[blrs]?:fa-[\w-]+/g,it=>``)};H=u0t(b,J).node(),H.parentNode.removeChild(H)}else{const J=E.createElementNS("http://www.w3.org/2000/svg","text");J.setAttribute("style",j.labelStyle.replace("color:","fill:"));const it=R.split(bi.lineBreakRegex);for(const ht of it){const Tt=E.createElementNS("http://www.w3.org/2000/svg","tspan");Tt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),Tt.setAttribute("dy","1em"),Tt.setAttribute("x","1"),Tt.textContent=ht,J.appendChild(Tt)}H=J}let Y=0,rt="";switch(N.type){case"round":Y=5,rt="rect";break;case"square":rt="rect";break;case"diamond":rt="question";break;case"hexagon":rt="hexagon";break;case"odd":rt="rect_left_inv_arrow";break;case"lean_right":rt="lean_right";break;case"lean_left":rt="lean_left";break;case"trapezoid":rt="trapezoid";break;case"inv_trapezoid":rt="inv_trapezoid";break;case"odd_right":rt="rect_left_inv_arrow";break;case"circle":rt="circle";break;case"ellipse":rt="ellipse";break;case"stadium":rt="stadium";break;case"subroutine":rt="subroutine";break;case"cylinder":rt="cylinder";break;case"group":rt="rect";break;default:rt="rect"}Vt.warn("Adding node",N.id,N.domId),a.setNode(m.db.lookUpDomId(N.id),{labelType:"svg",labelStyle:j.labelStyle,shape:rt,label:H,rx:Y,ry:Y,class:F,style:j.style,id:m.db.lookUpDomId(N.id)})})},AFt=function(i,a,f){let p=0,v,m;if(i.defaultStyle!==void 0){const b=Jw(i.defaultStyle);v=b.style,m=b.labelStyle}i.forEach(function(b){p++;const E="L-"+b.start+"-"+b.end,C="LS-"+b.start,A="LE-"+b.end,N={};b.type==="arrow_open"?N.arrowhead="none":N.arrowhead="normal";let F="",j="";if(b.style!==void 0){const R=Jw(b.style);F=R.style,j=R.labelStyle}else switch(b.stroke){case"normal":F="fill:none",v!==void 0&&(F=v),m!==void 0&&(j=m);break;case"dotted":F="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":F=" stroke-width: 3.5px;fill:none";break}N.style=F,N.labelStyle=j,b.interpolate!==void 0?N.curve=Zb(b.interpolate,ag):i.defaultInterpolate!==void 0?N.curve=Zb(i.defaultInterpolate,ag):N.curve=Zb(CFt.curve,ag),b.text===void 0?b.style!==void 0&&(N.arrowheadStyle="fill: #333"):(N.arrowheadStyle="fill: #333",N.labelpos="c",l1(Me().flowchart.htmlLabels)?(N.labelType="html",N.label=`${b.text.replace(/fa[blrs]?:fa-[\w-]+/g,R=>``)}`):(N.labelType="text",N.label=b.text.replace(bi.lineBreakRegex,`
+`),b.style===void 0&&(N.style=N.style||"stroke: #333; stroke-width: 1.5px;fill:none"),N.labelStyle=N.labelStyle.replace("color:","fill:"))),N.id=E,N.class=C+" "+A,N.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),N,p)})},LBe={setConf:ABe,addVertices:SFt,addEdges:AFt,getClasses:function(i,a){Vt.info("Extracting classes"),a.db.clear();try{return a.parse(i),a.db.getClasses()}catch(f){return Vt.error(f),{}}},draw:function(i,a,f,p){Vt.info("Drawing flowchart"),p.db.clear();const{securityLevel:v,flowchart:m}=Me();let b;v==="sandbox"&&(b=wr("#i"+a));const E=wr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),C=v==="sandbox"?b.nodes()[0].contentDocument:document;let A=p.db.getDirection();A===void 0&&(A="TD");const N=m.nodeSpacing||50,F=m.rankSpacing||50,j=new d1({multigraph:!0,compound:!0}).setGraph({rankdir:A,nodesep:N,ranksep:F,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let R;const H=p.db.getSubGraphs();for(let vt=H.length-1;vt>=0;vt--)R=H[vt],p.db.addVertex(R.id,R.title,"group",void 0,R.classes);const Y=p.db.getVertices();Vt.warn("Get vertices",Y);const rt=p.db.getEdges();let J=0;for(J=H.length-1;J>=0;J--){R=H[J],YLt("cluster").append("text");for(let vt=0;vt{a.forEach(v=>{OBe[v](i,f,p)})},OBe={extension:(i,a,f)=>{Vt.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",a+"-extensionStart").attr("class","marker extension "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-compositionStart").attr("class","marker composition "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},point:(i,a)=>{i.append("marker").attr("id",a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a)=>{i.append("marker").attr("id",a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a)=>{i.append("marker").attr("id",a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a)=>{i.append("defs").append("marker").attr("id",a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},LFt=IBe;function PBe(i,a){a&&i.attr("style",a)}function NBe(i){const a=wr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),p=i.label,v=i.isNode?"nodeLabel":"edgeLabel";return f.html('"+p+""),PBe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const dp=(i,a,f,p)=>{let v=i||"";if(typeof v=="object"&&(v=v[0]),l1(Me().flowchart.htmlLabels)){v=v.replace(/\\n|\n/g,"
"),Vt.info("vertexText"+v);const m={isNode:p,label:eN(v).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return NBe(m)}else{const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof v=="string"?b=v.split(/\\n|\n|
/gi):Array.isArray(v)?b=v:b=[];for(const E of b){const C=document.createElementNS("http://www.w3.org/2000/svg","tspan");C.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),C.setAttribute("dy","1em"),C.setAttribute("x","0"),f?C.setAttribute("class","title-row"):C.setAttribute("class","row"),C.textContent=E.trim(),m.appendChild(C)}return m}};function FBe(i,a){var{includeImageAlt:f=!0}=a||{};return MFt(i,f)}function MFt(i,a){return i&&typeof i=="object"&&(i.value||(a?i.alt:"")||"children"in i&&DFt(i.children,a)||Array.isArray(i)&&DFt(i,a))||""}function DFt(i,a){for(var f=[],p=-1;++pv?0:v+a:a=a>v?v:a,f=f>0?f:0,p.length<1e4)b=Array.from(p),b.unshift(a,f),[].splice.apply(i,b);else for(f&&[].splice.apply(i,[a,f]);m0?(v3(i,i.length,0,a),i):a}const IFt={}.hasOwnProperty;function BBe(i){const a={};let f=-1;for(;++fb))return;const ut=a.events.length;let xt=ut,st,Et;for(;xt--;)if(a.events[xt][0]==="exit"&&a.events[xt][1].type==="chunkFlow"){if(st){Et=a.events[xt][1].end;break}st=!0}for(J(p),vt=ut;vt