livebook/static/assets/chunk-CUHU5CRX.js
2024-10-15 08:33:30 +00:00

4 lines
33 KiB
JavaScript

import{a as tt,b as rt}from"./chunk-QMNP6MOC.js";import{c as st,d as V}from"./chunk-QY4OGOKK.js";import{m as X,o as z}from"./chunk-NQ4DUWMN.js";import{Ea as at,H as Q,I as H,Ia as et,Z as _,h as p,ha as S,j as u}from"./chunk-ZOEWSKT6.js";var bt=p((s,t,a,l)=>{t.forEach(n=>{Mt[n](s,a,l)})},"insertMarkers"),wt=p((s,t,a)=>{u.trace("Making markers for ",a),s.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),mt=p((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).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"),s.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).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")},"composition"),vt=p((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).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"),s.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).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"),kt=p((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).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"),s.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).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")},"dependency"),Lt=p((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),s.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),St=p((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).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"),s.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).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")},"point"),_t=p((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).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"),s.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).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")},"circle"),Bt=p((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).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"),s.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).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")},"cross"),Et=p((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-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")},"barb"),Mt={extension:wt,composition:mt,aggregation:vt,dependency:kt,lollipop:Lt,point:St,circle:_t,cross:Bt,barb:Et},xr=bt;function G(s,t){t&&s.attr("style",t)}p(G,"applyStyle");function pt(s){let t=S(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),l=s.label,n=s.isNode?"nodeLabel":"edgeLabel",r=a.append("span");return r.html(l),G(r,s.labelStyle),r.attr("class",n),G(a,s.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}p(pt,"addHtmlLabel");var Ct=p((s,t,a,l)=>{let n=s||"";if(typeof n=="object"&&(n=n[0]),H(_().flowchart.htmlLabels)){n=n.replace(/\\n|\n/g,"<br />"),u.debug("vertexText"+n);let r={isNode:l,label:st(z(n)),labelStyle:t.replace("fill:","color:")};return pt(r)}else{let r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let e=[];typeof n=="string"?e=n.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(n)?e=n:e=[];for(let i of e){let 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"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=i.trim(),r.appendChild(c)}return r}},"createLabel"),R=Ct,E=p(async(s,t,a,l)=>{let n=_(),r,e=t.useHtmlLabels||H(n.flowchart.htmlLabels);a?r=a:r="node default";let i=s.insert("g").attr("class",r).attr("id",t.domId||t.id),c=i.insert("g").attr("class","label").attr("style",t.labelStyle),o;t.labelText===void 0?o="":o=typeof t.labelText=="string"?t.labelText:t.labelText[0];let h=c.node(),d;t.labelType==="markdown"?d=V(c,Q(z(o),n),{useHtmlLabels:e,width:t.width||n.flowchart.wrappingWidth,classes:"markdown-node-label"},n):d=h.appendChild(R(Q(z(o),n),t.labelStyle,!1,l));let y=d.getBBox(),f=t.padding/2;if(H(n.flowchart.htmlLabels)){let g=d.children[0],v=S(d),x=g.getElementsByTagName("img");if(x){let M=o.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...x].map(b=>new Promise(T=>{function B(){if(b.style.display="flex",b.style.flexDirection="column",M){let A=n.fontSize?n.fontSize:window.getComputedStyle(document.body).fontSize,j=parseInt(A,10)*5+"px";b.style.minWidth=j,b.style.maxWidth=j}else b.style.width="100%";T(b)}p(B,"setupImage"),setTimeout(()=>{b.complete&&B()}),b.addEventListener("error",B),b.addEventListener("load",B)})))}y=g.getBoundingClientRect(),v.attr("width",y.width),v.attr("height",y.height)}return e?c.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):c.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&c.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),c.insert("rect",":first-child"),{shapeSvg:i,bbox:y,halfPadding:f,label:c}},"labelHelper"),m=p((s,t)=>{let a=t.node().getBBox();s.width=a.width,s.height=a.height},"updateNodeBounds");function W(s,t,a,l){return s.insert("polygon",":first-child").attr("points",l.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}p(W,"insertPolygonShape");var Tt=p(s=>{let t=new Set;for(let a of s)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},"expandAndDeduplicateDirections"),$t=p((s,t,a)=>{let l=Tt(s),n=2,r=t.height+2*a.padding,e=r/n,i=t.width+2*e+a.padding,c=a.padding/2;return l.has("right")&&l.has("left")&&l.has("up")&&l.has("down")?[{x:0,y:0},{x:e,y:0},{x:i/2,y:2*c},{x:i-e,y:0},{x:i,y:0},{x:i,y:-r/3},{x:i+2*c,y:-r/2},{x:i,y:-2*r/3},{x:i,y:-r},{x:i-e,y:-r},{x:i/2,y:-r-2*c},{x:e,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:l.has("right")&&l.has("left")&&l.has("up")?[{x:e,y:0},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:e,y:-r},{x:0,y:-r/2}]:l.has("right")&&l.has("left")&&l.has("down")?[{x:0,y:0},{x:e,y:-r},{x:i-e,y:-r},{x:i,y:0}]:l.has("right")&&l.has("up")&&l.has("down")?[{x:0,y:0},{x:i,y:-e},{x:i,y:-r+e},{x:0,y:-r}]:l.has("left")&&l.has("up")&&l.has("down")?[{x:i,y:0},{x:0,y:-e},{x:0,y:-r+e},{x:i,y:-r}]:l.has("right")&&l.has("left")?[{x:e,y:0},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r},{x:0,y:-r/2}]:l.has("up")&&l.has("down")?[{x:i/2,y:0},{x:0,y:-c},{x:e,y:-c},{x:e,y:-r+c},{x:0,y:-r+c},{x:i/2,y:-r},{x:i,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c},{x:i,y:-c}]:l.has("right")&&l.has("up")?[{x:0,y:0},{x:i,y:-e},{x:0,y:-r}]:l.has("right")&&l.has("down")?[{x:0,y:0},{x:i,y:0},{x:0,y:-r}]:l.has("left")&&l.has("up")?[{x:i,y:0},{x:0,y:-e},{x:i,y:-r}]:l.has("left")&&l.has("down")?[{x:i,y:0},{x:0,y:0},{x:i,y:-r}]:l.has("right")?[{x:e,y:-c},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r+c}]:l.has("left")?[{x:e,y:0},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r},{x:0,y:-r/2}]:l.has("up")?[{x:e,y:-c},{x:e,y:-r+c},{x:0,y:-r+c},{x:i/2,y:-r},{x:i,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c}]:l.has("down")?[{x:i/2,y:0},{x:0,y:-c},{x:e,y:-c},{x:e,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c},{x:i,y:-c}]:[{x:0,y:0}]},"getArrowPoints");function dt(s,t){return s.intersect(t)}p(dt,"intersectNode");var Nt=dt;function yt(s,t,a,l){var n=s.x,r=s.y,e=n-l.x,i=r-l.y,c=Math.sqrt(t*t*i*i+a*a*e*e),o=Math.abs(t*a*e/c);l.x<n&&(o=-o);var h=Math.abs(t*a*i/c);return l.y<r&&(h=-h),{x:n+o,y:r+h}}p(yt,"intersectEllipse");var ft=yt;function xt(s,t,a){return ft(s,t,t,a)}p(xt,"intersectCircle");var It=xt;function gt(s,t,a,l){var n,r,e,i,c,o,h,d,y,f,g,v,x,M,b;if(n=t.y-s.y,e=s.x-t.x,c=t.x*s.y-s.x*t.y,y=n*a.x+e*a.y+c,f=n*l.x+e*l.y+c,!(y!==0&&f!==0&&K(y,f))&&(r=l.y-a.y,i=a.x-l.x,o=l.x*a.y-a.x*l.y,h=r*s.x+i*s.y+o,d=r*t.x+i*t.y+o,!(h!==0&&d!==0&&K(h,d))&&(g=n*i-r*e,g!==0)))return v=Math.abs(g/2),x=e*o-i*c,M=x<0?(x-v)/g:(x+v)/g,x=r*c-n*o,b=x<0?(x-v)/g:(x+v)/g,{x:M,y:b}}p(gt,"intersectLine");function K(s,t){return s*t>0}p(K,"sameSign");var Rt=gt,Ht=ut;function ut(s,t,a){var l=s.x,n=s.y,r=[],e=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(g){e=Math.min(e,g.x),i=Math.min(i,g.y)}):(e=Math.min(e,t.x),i=Math.min(i,t.y));for(var c=l-s.width/2-e,o=n-s.height/2-i,h=0;h<t.length;h++){var d=t[h],y=t[h<t.length-1?h+1:0],f=Rt(s,a,{x:c+d.x,y:o+d.y},{x:c+y.x,y:o+y.y});f&&r.push(f)}return r.length?(r.length>1&&r.sort(function(g,v){var x=g.x-a.x,M=g.y-a.y,b=Math.sqrt(x*x+M*M),T=v.x-a.x,B=v.y-a.y,A=Math.sqrt(T*T+B*B);return b<A?-1:b===A?0:1}),r[0]):s}p(ut,"intersectPolygon");var Wt=p((s,t)=>{var a=s.x,l=s.y,n=t.x-a,r=t.y-l,e=s.width/2,i=s.height/2,c,o;return Math.abs(r)*e>Math.abs(n)*i?(r<0&&(i=-i),c=r===0?0:i*n/r,o=i):(n<0&&(e=-e),c=e,o=n===0?0:e*r/n),{x:a+c,y:l+o}},"intersectRect"),Dt=Wt,w={node:Nt,circle:It,ellipse:ft,polygon:Ht,rect:Dt},At=p(async(s,t)=>{t.useHtmlLabels||_().flowchart.htmlLabels||(t.centerLabel=!0);let{shapeSvg:l,bbox:n,halfPadding:r}=await E(s,t,"node "+t.classes,!0);u.info("Classes = ",t.classes);let e=l.insert("rect",":first-child");return e.attr("rx",t.rx).attr("ry",t.ry).attr("x",-n.width/2-r).attr("y",-n.height/2-r).attr("width",n.width+t.padding).attr("height",n.height+t.padding),m(t,e),t.intersect=function(i){return w.rect(t,i)},l},"note"),Xt=At,it=p(s=>s?" "+s:"","formatClass"),I=p((s,t)=>`${t||"node default"}${it(s.classes)} ${it(s.class)}`,"getClassesFromNode"),lt=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=n+r,i=[{x:e/2,y:0},{x:e,y:-e/2},{x:e/2,y:-e},{x:0,y:-e/2}];u.info("Question main (Circle)");let c=W(a,e,e,i);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return u.warn("Intersect called"),w.polygon(t,i,o)},a},"question"),Yt=p((s,t)=>{let a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=28,n=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}];return a.insert("polygon",":first-child").attr("points",n.map(function(e){return e.x+","+e.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(e){return w.circle(t,14,e)},a},"choice"),Ut=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=4,r=l.height+t.padding,e=r/n,i=l.width+2*e+t.padding,c=[{x:e,y:0},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:e,y:-r},{x:0,y:-r/2}],o=W(a,i,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},"hexagon"),Ot=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,void 0,!0),n=2,r=l.height+2*t.padding,e=r/n,i=l.width+2*e+t.padding,c=$t(t.directions,l,t),o=W(a,i,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},"block_arrow"),jt=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-r/2,y:0},{x:n,y:0},{x:n,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return W(a,n,r,e).attr("style",t.style),t.width=n+r,t.height=r,t.intersect=function(c){return w.polygon(t,e,c)},a},"rect_left_inv_arrow"),zt=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-2*r/6,y:0},{x:n-r/6,y:0},{x:n+2*r/6,y:-r},{x:r/6,y:-r}],i=W(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"lean_right"),Zt=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:2*r/6,y:0},{x:n+r/6,y:0},{x:n-2*r/6,y:-r},{x:-r/6,y:-r}],i=W(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"lean_left"),Ft=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-2*r/6,y:0},{x:n+2*r/6,y:0},{x:n-r/6,y:-r},{x:r/6,y:-r}],i=W(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"trapezoid"),qt=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:r/6,y:0},{x:n-r/6,y:0},{x:n+2*r/6,y:-r},{x:-2*r/6,y:-r}],i=W(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"inv_trapezoid"),Jt=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:0,y:0},{x:n+r/2,y:0},{x:n,y:-r/2},{x:n+r/2,y:-r},{x:0,y:-r}],i=W(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"rect_right_inv_arrow"),Qt=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=n/2,e=r/(2.5+n/50),i=l.height+e+t.padding,c="M 0,"+e+" a "+r+","+e+" 0,0,0 "+n+" 0 a "+r+","+e+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+r+","+e+" 0,0,0 "+n+" 0 l 0,"+-i,o=a.attr("label-offset-y",e).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-n/2+","+-(i/2+e)+")");return m(t,o),t.intersect=function(h){let d=w.rect(t,h),y=d.x-t.x;if(r!=0&&(Math.abs(y)<t.width/2||Math.abs(y)==t.width/2&&Math.abs(d.y-t.y)>t.height/2-e)){let f=e*e*(1-y*y/(r*r));f!=0&&(f=Math.sqrt(f)),f=e-f,h.y-t.y>0&&(f=-f),d.y+=f}return d},a},"cylinder"),Vt=p(async(s,t)=>{let{shapeSvg:a,bbox:l,halfPadding:n}=await E(s,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),e=t.positioned?t.width:l.width+t.padding,i=t.positioned?t.height:l.height+t.padding,c=t.positioned?-e/2:-l.width/2-n,o=t.positioned?-i/2:-l.height/2-n;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",e).attr("height",i),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(F(r,t.props.borders,e,i),h.delete("borders")),h.forEach(d=>{u.warn(`Unknown node property ${d}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},"rect"),Gt=p(async(s,t)=>{let{shapeSvg:a,bbox:l,halfPadding:n}=await E(s,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),e=t.positioned?t.width:l.width+t.padding,i=t.positioned?t.height:l.height+t.padding,c=t.positioned?-e/2:-l.width/2-n,o=t.positioned?-i/2:-l.height/2-n;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",e).attr("height",i),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(F(r,t.props.borders,e,i),h.delete("borders")),h.forEach(d=>{u.warn(`Unknown node property ${d}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},"composite"),Kt=p(async(s,t)=>{let{shapeSvg:a}=await E(s,t,"label",!0);u.trace("Classes = ",t.class);let l=a.insert("rect",":first-child"),n=0,r=0;if(l.attr("width",n).attr("height",r),a.attr("class","label edgeLabel"),t.props){let e=new Set(Object.keys(t.props));t.props.borders&&(F(l,t.props.borders,n,r),e.delete("borders")),e.forEach(i=>{u.warn(`Unknown node property ${i}`)})}return m(t,l),t.intersect=function(e){return w.rect(t,e)},a},"labelRect");function F(s,t,a,l){let n=[],r=p(i=>{n.push(i,0)},"addBorder"),e=p(i=>{n.push(0,i)},"skipBorder");t.includes("t")?(u.debug("add top border"),r(a)):e(a),t.includes("r")?(u.debug("add right border"),r(l)):e(l),t.includes("b")?(u.debug("add bottom border"),r(a)):e(a),t.includes("l")?(u.debug("add left border"),r(l)):e(l),s.attr("stroke-dasharray",n.join(" "))}p(F,"applyNodePropertyBorders");var Pt=p((s,t)=>{let a;t.classes?a="node "+t.classes:a="node default";let l=s.insert("g").attr("class",a).attr("id",t.domId||t.id),n=l.insert("rect",":first-child"),r=l.insert("line"),e=l.insert("g").attr("class","label"),i=t.labelText.flat?t.labelText.flat():t.labelText,c="";typeof i=="object"?c=i[0]:c=i,u.info("Label text abc79",c,i,typeof i=="object");let o=e.node().appendChild(R(c,t.labelStyle,!0,!0)),h={width:0,height:0};if(H(_().flowchart.htmlLabels)){let v=o.children[0],x=S(o);h=v.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}u.info("Text 2",i);let d=i.slice(1,i.length),y=o.getBBox(),f=e.node().appendChild(R(d.join?d.join("<br/>"):d,t.labelStyle,!0,!0));if(H(_().flowchart.htmlLabels)){let v=f.children[0],x=S(f);h=v.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}let g=t.padding/2;return S(f).attr("transform","translate( "+(h.width>y.width?0:(y.width-h.width)/2)+", "+(y.height+g+5)+")"),S(o).attr("transform","translate( "+(h.width<y.width?0:-(y.width-h.width)/2)+", 0)"),h=e.node().getBBox(),e.attr("transform","translate("+-h.width/2+", "+(-h.height/2-g+3)+")"),n.attr("class","outer title-state").attr("x",-h.width/2-g).attr("y",-h.height/2-g).attr("width",h.width+t.padding).attr("height",h.height+t.padding),r.attr("class","divider").attr("x1",-h.width/2-g).attr("x2",h.width/2+g).attr("y1",-h.height/2-g+y.height+g).attr("y2",-h.height/2-g+y.height+g),m(t,n),t.intersect=function(v){return w.rect(t,v)},l},"rectWithTitle"),tr=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.height+t.padding,r=l.width+n/4+t.padding,e=a.insert("rect",":first-child").attr("style",t.style).attr("rx",n/2).attr("ry",n/2).attr("x",-r/2).attr("y",-n/2).attr("width",r).attr("height",n);return m(t,e),t.intersect=function(i){return w.rect(t,i)},a},"stadium"),rr=p(async(s,t)=>{let{shapeSvg:a,bbox:l,halfPadding:n}=await E(s,t,I(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n).attr("width",l.width+t.padding).attr("height",l.height+t.padding),u.info("Circle main"),m(t,r),t.intersect=function(e){return u.info("Circle intersect",t,l.width/2+n,e),w.circle(t,l.width/2+n,e)},a},"circle"),ar=p(async(s,t)=>{let{shapeSvg:a,bbox:l,halfPadding:n}=await E(s,t,I(t,void 0),!0),r=5,e=a.insert("g",":first-child"),i=e.insert("circle"),c=e.insert("circle");return e.attr("class",t.class),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n+r).attr("width",l.width+t.padding+r*2).attr("height",l.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n).attr("width",l.width+t.padding).attr("height",l.height+t.padding),u.info("DoubleCircle main"),m(t,i),t.intersect=function(o){return u.info("DoubleCircle intersect",t,l.width/2+n+r,o),w.circle(t,l.width/2+n+r,o)},a},"doublecircle"),er=p(async(s,t)=>{let{shapeSvg:a,bbox:l}=await E(s,t,I(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:0,y:0},{x:n,y:0},{x:n,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],i=W(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"subroutine"),sr=p((s,t)=>{let a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,l),t.intersect=function(n){return w.circle(t,7,n)},a},"start"),nt=p((s,t,a)=>{let l=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),n=70,r=10;a==="LR"&&(n=10,r=70);let e=l.append("rect").attr("x",-1*n/2).attr("y",-1*r/2).attr("width",n).attr("height",r).attr("class","fork-join");return m(t,e),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(i){return w.rect(t,i)},l},"forkJoin"),ir=p((s,t)=>{let a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=a.insert("circle",":first-child"),n=a.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),l.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,n),t.intersect=function(r){return w.circle(t,7,r)},a},"end"),lr=p((s,t)=>{var P;let a=t.padding/2,l=4,n=8,r;t.classes?r="node "+t.classes:r="node default";let e=s.insert("g").attr("class",r).attr("id",t.domId||t.id),i=e.insert("rect",":first-child"),c=e.insert("line"),o=e.insert("line"),h=0,d=l,y=e.insert("g").attr("class","label"),f=0,g=(P=t.classData.annotations)==null?void 0:P[0],v=t.classData.annotations[0]?"\xAB"+t.classData.annotations[0]+"\xBB":"",x=y.node().appendChild(R(v,t.labelStyle,!0,!0)),M=x.getBBox();if(H(_().flowchart.htmlLabels)){let k=x.children[0],L=S(x);M=k.getBoundingClientRect(),L.attr("width",M.width),L.attr("height",M.height)}t.classData.annotations[0]&&(d+=M.height+l,h+=M.width);let b=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(_().flowchart.htmlLabels?b+="&lt;"+t.classData.type+"&gt;":b+="<"+t.classData.type+">");let T=y.node().appendChild(R(b,t.labelStyle,!0,!0));S(T).attr("class","classTitle");let B=T.getBBox();if(H(_().flowchart.htmlLabels)){let k=T.children[0],L=S(T);B=k.getBoundingClientRect(),L.attr("width",B.width),L.attr("height",B.height)}d+=B.height+l,B.width>h&&(h=B.width);let A=[];t.classData.members.forEach(k=>{let L=k.getDisplayDetails(),$=L.displayText;_().flowchart.htmlLabels&&($=$.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let D=y.node().appendChild(R($,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0)),N=D.getBBox();if(H(_().flowchart.htmlLabels)){let J=D.children[0],U=S(D);N=J.getBoundingClientRect(),U.attr("width",N.width),U.attr("height",N.height)}N.width>h&&(h=N.width),d+=N.height+l,A.push(D)}),d+=n;let q=[];if(t.classData.methods.forEach(k=>{let L=k.getDisplayDetails(),$=L.displayText;_().flowchart.htmlLabels&&($=$.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let D=y.node().appendChild(R($,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0)),N=D.getBBox();if(H(_().flowchart.htmlLabels)){let J=D.children[0],U=S(D);N=J.getBoundingClientRect(),U.attr("width",N.width),U.attr("height",N.height)}N.width>h&&(h=N.width),d+=N.height+l,q.push(D)}),d+=n,g){let k=(h-M.width)/2;S(x).attr("transform","translate( "+(-1*h/2+k)+", "+-1*d/2+")"),f=M.height+l}let j=(h-B.width)/2;return S(T).attr("transform","translate( "+(-1*h/2+j)+", "+(-1*d/2+f)+")"),f+=B.height+l,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-d/2-a+n+f).attr("y2",-d/2-a+n+f),f+=n,A.forEach(k=>{var $;S(k).attr("transform","translate( "+-h/2+", "+(-1*d/2+f+n/2)+")");let L=k==null?void 0:k.getBBox();f+=(($=L==null?void 0:L.height)!=null?$:0)+l}),f+=n,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-d/2-a+n+f).attr("y2",-d/2-a+n+f),f+=n,q.forEach(k=>{var $;S(k).attr("transform","translate( "+-h/2+", "+(-1*d/2+f)+")");let L=k==null?void 0:k.getBBox();f+=(($=L==null?void 0:L.height)!=null?$:0)+l}),i.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(d/2)-a).attr("width",h+t.padding).attr("height",d+t.padding),m(t,i),t.intersect=function(k){return w.rect(t,k)},e},"class_box"),ct={rhombus:lt,composite:Gt,question:lt,rect:Vt,labelRect:Kt,rectWithTitle:Pt,choice:Yt,circle:rr,doublecircle:ar,stadium:tr,hexagon:Ut,block_arrow:Ot,rect_left_inv_arrow:jt,lean_right:zt,lean_left:Zt,trapezoid:Ft,inv_trapezoid:qt,rect_right_inv_arrow:Jt,cylinder:Qt,start:sr,end:ir,note:Xt,subroutine:er,fork:nt,join:nt,class_box:lr},Y={},wr=p(async(s,t,a)=>{let l,n;if(t.link){let r;_().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),l=s.insert("svg:a").attr("xlink:href",t.link).attr("target",r),n=await ct[t.shape](l,t,a)}else n=await ct[t.shape](s,t,a),l=n;return t.tooltip&&n.attr("title",t.tooltip),t.class&&n.attr("class","node default "+t.class),Y[t.id]=l,t.haveCallback&&Y[t.id].attr("class",Y[t.id].attr("class")+" clickable"),l},"insertNode"),mr=p((s,t)=>{Y[t.id]=s},"setNodeElem"),vr=p(()=>{Y={}},"clear"),kr=p(s=>{let t=Y[s.id];u.trace("Transforming node",s.diff,s,"translate("+(s.x-s.width/2-5)+", "+s.width/2+")");let a=8,l=s.diff||0;return s.clusterNode?t.attr("transform","translate("+(s.x+l-s.width/2)+", "+(s.y-s.height/2-a)+")"):t.attr("transform","translate("+s.x+", "+s.y+")"),l},"positionNode"),nr=p((s,t,a,l,n)=>{t.arrowTypeStart&&ht(s,"start",t.arrowTypeStart,a,l,n),t.arrowTypeEnd&&ht(s,"end",t.arrowTypeEnd,a,l,n)},"addEdgeMarkers"),cr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},ht=p((s,t,a,l,n,r)=>{let e=cr[a];if(!e){u.warn(`Unknown arrow type: ${a}`);return}let i=t==="start"?"Start":"End";s.attr(`marker-${t}`,`url(${l}#${n}_${r}-${e}${i})`)},"addEdgeMarker"),Z={},C={},Sr=p(()=>{Z={},C={}},"clear"),_r=p((s,t)=>{let a=_(),l=H(a.flowchart.htmlLabels),n=t.labelType==="markdown"?V(s,t.label,{style:t.labelStyle,useHtmlLabels:l,addSvgBackground:!0},a):R(t.label,t.labelStyle),r=s.insert("g").attr("class","edgeLabel"),e=r.insert("g").attr("class","label");e.node().appendChild(n);let i=n.getBBox();if(l){let o=n.children[0],h=S(n);i=o.getBoundingClientRect(),h.attr("width",i.width),h.attr("height",i.height)}e.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),Z[t.id]=r,t.width=i.width,t.height=i.height;let c;if(t.startLabelLeft){let o=R(t.startLabelLeft,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),d=h.insert("g").attr("class","inner");c=d.node().appendChild(o);let y=o.getBBox();d.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),C[t.id]||(C[t.id]={}),C[t.id].startLeft=h,O(c,t.startLabelLeft)}if(t.startLabelRight){let o=R(t.startLabelRight,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),d=h.insert("g").attr("class","inner");c=h.node().appendChild(o),d.node().appendChild(o);let y=o.getBBox();d.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),C[t.id]||(C[t.id]={}),C[t.id].startRight=h,O(c,t.startLabelRight)}if(t.endLabelLeft){let o=R(t.endLabelLeft,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),d=h.insert("g").attr("class","inner");c=d.node().appendChild(o);let y=o.getBBox();d.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),h.node().appendChild(o),C[t.id]||(C[t.id]={}),C[t.id].endLeft=h,O(c,t.endLabelLeft)}if(t.endLabelRight){let o=R(t.endLabelRight,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),d=h.insert("g").attr("class","inner");c=d.node().appendChild(o);let y=o.getBBox();d.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),h.node().appendChild(o),C[t.id]||(C[t.id]={}),C[t.id].endRight=h,O(c,t.endLabelRight)}return n},"insertEdgeLabel");function O(s,t){_().flowchart.htmlLabels&&s&&(s.style.width=t.length*9+"px",s.style.height="12px")}p(O,"setTerminalWidth");var Br=p((s,t)=>{u.debug("Moving label abc88 ",s.id,s.label,Z[s.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath,l=_(),{subGraphTitleTotalMargin:n}=tt(l);if(s.label){let r=Z[s.id],e=s.x,i=s.y;if(a){let c=X.calcLabelPosition(a);u.debug("Moving label "+s.label+" from (",e,",",i,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(e=c.x,i=c.y)}r.attr("transform",`translate(${e}, ${i+n/2})`)}if(s.startLabelLeft){let r=C[s.id].startLeft,e=s.x,i=s.y;if(a){let c=X.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_left",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.startLabelRight){let r=C[s.id].startRight,e=s.x,i=s.y;if(a){let c=X.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_right",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.endLabelLeft){let r=C[s.id].endLeft,e=s.x,i=s.y;if(a){let c=X.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_left",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.endLabelRight){let r=C[s.id].endRight,e=s.x,i=s.y;if(a){let c=X.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_right",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}},"positionEdgeLabel"),hr=p((s,t)=>{let a=s.x,l=s.y,n=Math.abs(t.x-a),r=Math.abs(t.y-l),e=s.width/2,i=s.height/2;return n>=e||r>=i},"outsideNode"),or=p((s,t,a)=>{u.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(t)}
insidePoint : ${JSON.stringify(a)}
node : x:${s.x} y:${s.y} w:${s.width} h:${s.height}`);let l=s.x,n=s.y,r=Math.abs(l-a.x),e=s.width/2,i=a.x<t.x?e-r:e+r,c=s.height/2,o=Math.abs(t.y-a.y),h=Math.abs(t.x-a.x);if(Math.abs(n-t.y)*e>Math.abs(l-t.x)*c){let d=a.y<t.y?t.y-c-n:n-c-t.y;i=h*d/o;let y={x:a.x<t.x?a.x+i:a.x-h+i,y:a.y<t.y?a.y+o-d:a.y-o+d};return i===0&&(y.x=t.x,y.y=t.y),h===0&&(y.x=t.x),o===0&&(y.y=t.y),u.debug(`abc89 topp/bott calc, Q ${o}, q ${d}, R ${h}, r ${i}`,y),y}else{a.x<t.x?i=t.x-e-l:i=l-e-t.x;let d=o*i/h,y=a.x<t.x?a.x+h-i:a.x-h+i,f=a.y<t.y?a.y+d:a.y-d;return u.debug(`sides calc abc89, Q ${o}, q ${d}, R ${h}, r ${i}`,{_x:y,_y:f}),i===0&&(y=t.x,f=t.y),h===0&&(y=t.x),o===0&&(f=t.y),{x:y,y:f}}},"intersection"),ot=p((s,t)=>{u.debug("abc88 cutPathAtIntersect",s,t);let a=[],l=s[0],n=!1;return s.forEach(r=>{if(!hr(t,r)&&!n){let e=or(t,l,r),i=!1;a.forEach(c=>{i=i||c.x===e.x&&c.y===e.y}),a.some(c=>c.x===e.x&&c.y===e.y)||a.push(e),n=!0}else l=r,n||a.push(r)}),a},"cutPathAtIntersect"),Er=p(function(s,t,a,l,n,r,e){let i=a.points;u.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1,o=r.node(t.v);var h=r.node(t.w);h!=null&&h.intersect&&(o!=null&&o.intersect)&&(i=i.slice(1,a.points.length-1),i.unshift(o.intersect(i[0])),i.push(h.intersect(i[i.length-1]))),a.toCluster&&(u.debug("to cluster abc88",l[a.toCluster]),i=ot(a.points,l[a.toCluster].node),c=!0),a.fromCluster&&(u.debug("from cluster abc88",l[a.fromCluster]),i=ot(i.reverse(),l[a.fromCluster].node).reverse(),c=!0);let d=i.filter(B=>!Number.isNaN(B.y)),y=et;a.curve&&(n==="graph"||n==="flowchart")&&(y=a.curve);let{x:f,y:g}=rt(a),v=at().x(f).y(g).curve(y),x;switch(a.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(a.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}let M=s.append("path").attr("d",v(d)).attr("id",a.id).attr("class"," "+x+(a.classes?" "+a.classes:"")).attr("style",a.style),b="";(_().flowchart.arrowMarkerAbsolute||_().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),nr(M,a,b,e,n);let T={};return c&&(T.updatedPath=i),T.originalPath=a.points,T},"insertEdge");export{xr as a,R as b,m as c,Dt as d,wr as e,mr as f,vr as g,kr as h,Sr as i,_r as j,Br as k,Er as l};