mermaid
Version:
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
11 lines (10 loc) • 37.7 kB
JavaScript
import{a as Mt}from"./chunk-MNT3HHAC.mjs";import{f as D}from"./chunk-TECWHJ6D.mjs";import{a as wt}from"./chunk-F6PIGZHG.mjs";import{c as xt,d as bt}from"./chunk-JGXDHUYS.mjs";import{c as nt,e as gt}from"./chunk-TINYC7RT.mjs";import{p as B,t as yt}from"./chunk-QADHU5CF.mjs";import{$ as W,u as Y,y as at}from"./chunk-FE53TMRB.mjs";import{$ as ut,G as V,H as ot,J as it,K as ct,L as et,P as lt,S as dt,W as pt,X as ft,Y as ht,Z as mt,_ as kt,b as x,h as T}from"./chunk-L2B47AAZ.mjs";import{a as p}from"./chunk-QVIEFLGF.mjs";var q=p((r,t)=>{if(t)return"translate("+-r.width/2+", "+-r.height/2+")";let a=r.x??0,e=r.y??0;return"translate("+-(a+r.width/2)+", "+-(e+r.height/2)+")"},"computeLabelTransform");var S={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},st={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function F(r,t){if(r===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};r=b(r),t=b(t);let[a,e]=[r.x,r.y],[o,s]=[t.x,t.y],n=o-a,i=s-e;return{angle:Math.atan(i/n),deltaX:n,deltaY:i}}p(F,"calculateDeltaAndAngle");var b=p(r=>Array.isArray(r)?{x:r[0],y:r[1]}:r,"pointTransformer"),Lt=p(r=>({x:p(function(t,a,e){let o=0,s=b(e[0]).x<b(e[e.length-1]).x?"left":"right";if(a===0&&Object.hasOwn(S,r.arrowTypeStart)){let{angle:l,deltaX:y}=F(e[0],e[1]);o=S[r.arrowTypeStart]*Math.cos(l)*(y>=0?1:-1)}else if(a===e.length-1&&Object.hasOwn(S,r.arrowTypeEnd)){let{angle:l,deltaX:y}=F(e[e.length-1],e[e.length-2]);o=S[r.arrowTypeEnd]*Math.cos(l)*(y>=0?1:-1)}let n=Math.abs(b(t).x-b(e[e.length-1]).x),i=Math.abs(b(t).y-b(e[e.length-1]).y),d=Math.abs(b(t).x-b(e[0]).x),m=Math.abs(b(t).y-b(e[0]).y),c=S[r.arrowTypeStart],h=S[r.arrowTypeEnd],f=1;if(n<h&&n>0&&i<h){let l=h+f-n;l*=s==="right"?-1:1,o-=l}if(d<c&&d>0&&m<c){let l=c+f-d;l*=s==="right"?-1:1,o+=l}return b(t).x+o},"x"),y:p(function(t,a,e){let o=0,s=b(e[0]).y<b(e[e.length-1]).y?"down":"up";if(a===0&&Object.hasOwn(S,r.arrowTypeStart)){let{angle:l,deltaY:y}=F(e[0],e[1]);o=S[r.arrowTypeStart]*Math.abs(Math.sin(l))*(y>=0?1:-1)}else if(a===e.length-1&&Object.hasOwn(S,r.arrowTypeEnd)){let{angle:l,deltaY:y}=F(e[e.length-1],e[e.length-2]);o=S[r.arrowTypeEnd]*Math.abs(Math.sin(l))*(y>=0?1:-1)}let n=Math.abs(b(t).y-b(e[e.length-1]).y),i=Math.abs(b(t).x-b(e[e.length-1]).x),d=Math.abs(b(t).y-b(e[0]).y),m=Math.abs(b(t).x-b(e[0]).x),c=S[r.arrowTypeStart],h=S[r.arrowTypeEnd],f=1;if(n<h&&n>0&&i<h){let l=h+f-n;l*=s==="up"?-1:1,o-=l}if(d<c&&d>0&&m<c){let l=c+f-d;l*=s==="up"?-1:1,o+=l}return b(t).y+o},"y")}),"getLineFunctionsWithOffset");var Ot=p((r,t,a,e,o,s=!1,n)=>{t.arrowTypeStart&&St(r,"start",t.arrowTypeStart,a,e,o,s,n),t.arrowTypeEnd&&St(r,"end",t.arrowTypeEnd,a,e,o,s,n)},"addEdgeMarkers"),vt={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},arrow_hierarchy:{type:"hierarchy",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},Ht=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],St=p((r,t,a,e,o,s,n=!1,i)=>{if(!a||a==="none")return;let d=vt[a],m=d&&Ht.includes(d.type);if(!d){x.warn(`Unknown arrow type: ${a}`);return}let c=d.type,l=`${o}_${s}-${c}${t==="start"?"Start":"End"}${n&&m?"-margin":""}`;if(i&&i.trim()!==""){let y=i.replace(/[^\dA-Za-z]/g,"_"),g=`${l}_${y}`;if(!document.getElementById(g)){let k=document.getElementById(l);if(k){let M=k.cloneNode(!0);M.id=g,M.querySelectorAll("path, circle, line").forEach(A=>{A.setAttribute("stroke",i),d.fill&&A.setAttribute("fill",i)}),k.parentNode?.appendChild(M)}}r.attr(`marker-${t}`,`url(${e}#${g})`)}else r.attr(`marker-${t}`,`url(${e}#${l})`)},"addEdgeMarker");var Bt=p(r=>typeof r=="string"?r:W()?.flowchart?.curve,"resolveEdgeCurveType"),J=new Map,O=new Map,Ar=p(()=>{J.clear(),O.clear()},"clear"),Cr=p(r=>!!(r.label||r.startLabelLeft||r.startLabelRight||r.endLabelLeft||r.endLabelRight),"hasEdgeLabel"),N=p(r=>r?typeof r=="string"?r:r.reduce((t,a)=>t+";"+a,""):"","getLabelStyles"),Pr=p(async(r,t)=>{let a=W(),e=at(a),{labelStyles:o}=bt(t);t.labelStyle=o;let s=r.insert("g").attr("class","edgeLabel"),n=s.insert("g").attr("class","label").attr("data-id",t.id),i=t.labelType==="markdown",m=await gt(r,t.label,{style:N(t.labelStyle),useHtmlLabels:e,addSvgBackground:!0,isNode:!1,markdown:i,width:i?void 0:void 0},a);n.node().appendChild(m),x.info("abc82",t,t.labelType);let c,h;if(e){let l=m.children[0],y=T(m);c=await nt.measure(()=>l.getBoundingClientRect()),h=c,y.attr("width",c.width),y.attr("height",c.height)}else{let l=T(m).select("text").node();await nt.measure(()=>{c=m.getBBox(),l&&typeof l.getBBox=="function"?h=l.getBBox():h=c})}n.attr("transform",q(h,e)),J.set(t.id,s),t.width=c.width,t.height=c.height;let f;if(t.startLabelLeft){let l=r.insert("g").attr("class","edgeTerminals"),y=l.insert("g").attr("class","inner"),g=await D(y,t.startLabelLeft,N(t.labelStyle)||"",!1,!1);f=g;let k=g.getBBox();if(e){let M=g.children[0],u=T(g);k=M.getBoundingClientRect(),u.attr("width",k.width),u.attr("height",k.height)}y.attr("transform",q(k,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).startLeft=l,G(f,t.startLabelLeft)}if(t.startLabelRight){let l=r.insert("g").attr("class","edgeTerminals"),y=l.insert("g").attr("class","inner"),g=await D(y,t.startLabelRight,N(t.labelStyle)||"",!1,!1);f=g;let k=g.getBBox();if(e){let M=g.children[0],u=T(g);k=M.getBoundingClientRect(),u.attr("width",k.width),u.attr("height",k.height)}y.attr("transform",q(k,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).startRight=l,G(f,t.startLabelRight)}if(t.endLabelLeft){let l=r.insert("g").attr("class","edgeTerminals"),y=l.insert("g").attr("class","inner"),g=await D(l,t.endLabelLeft,N(t.labelStyle)||"",!1,!1);f=g;let k=g.getBBox();if(e){let M=g.children[0],u=T(g);k=M.getBoundingClientRect(),u.attr("width",k.width),u.attr("height",k.height)}y.attr("transform",q(k,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).endLeft=l,G(f,t.endLabelLeft)}if(t.endLabelRight){let l=r.insert("g").attr("class","edgeTerminals"),y=l.insert("g").attr("class","inner"),g=await D(l,t.endLabelRight,N(t.labelStyle)||"",!1,!1);f=g;let k=g.getBBox();if(e){let M=g.children[0],u=T(g);k=M.getBoundingClientRect(),u.attr("width",k.width),u.attr("height",k.height)}y.attr("transform",q(k,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).endRight=l,G(f,t.endLabelRight)}return m},"insertEdgeLabel");function G(r,t){at(W())&&r&&(r.style.width=t.length*9+"px",r.style.height="12px")}p(G,"setTerminalWidth");var Rr=p((r,t)=>{x.debug("Moving label abc88 ",r.id,r.label,J.get(r.id),t);let a=t.updatedPath?t.updatedPath:t.originalPath,e=W(),{subGraphTitleTotalMargin:o}=Mt(e);if(r.label){let s=J.get(r.id),n=r.x,i=r.y;if(a){let d=B.calcLabelPosition(a);x.debug("Moving label "+r.label+" from (",n,",",i,") to (",d.x,",",d.y,") abc88"),t.updatedPath&&(n=d.x,i=d.y)}s.attr("transform",`translate(${n}, ${i+o/2})`)}if(r.startLabelLeft){let s=O.get(r.id).startLeft,n=r.x,i=r.y;if(a){let d=B.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",a);n=d.x,i=d.y}s.attr("transform",`translate(${n}, ${i})`)}if(r.startLabelRight){let s=O.get(r.id).startRight,n=r.x,i=r.y;if(a){let d=B.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",a);n=d.x,i=d.y}s.attr("transform",`translate(${n}, ${i})`)}if(r.endLabelLeft){let s=O.get(r.id).endLeft,n=r.x,i=r.y;if(a){let d=B.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",a);n=d.x,i=d.y}s.attr("transform",`translate(${n}, ${i})`)}if(r.endLabelRight){let s=O.get(r.id).endRight,n=r.x,i=r.y;if(a){let d=B.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",a);n=d.x,i=d.y}s.attr("transform",`translate(${n}, ${i})`)}},"positionEdgeLabel"),At=p((r,t)=>{if(!r?.isLabelEdge||!r?.id?.endsWith("-to-label")||!Array.isArray(t)||t.length!==2)return t;let[a,e]=t,o=Math.abs(e.x-a.x),s=Math.abs(e.y-a.y);return o<.001||s<.001?t:s>=o?[a,{x:a.x,y:e.y},e]:[a,{x:e.x,y:a.y},e]},"orthogonalizeToLabelClippedPoints"),Ct=p((r,t)=>{let a=r.x,e=r.y,o=Math.abs(t.x-a),s=Math.abs(t.y-e),n=r.width/2,i=r.height/2;return o>=n||s>=i},"outsideNode"),Pt=p((r,t,a)=>{x.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(t)}
insidePoint : ${JSON.stringify(a)}
node : x:${r.x} y:${r.y} w:${r.width} h:${r.height}`);let e=r.x,o=r.y,s=Math.abs(e-a.x),n=r.width/2,i=a.x<t.x?n-s:n+s,d=r.height/2,m=Math.abs(t.y-a.y),c=Math.abs(t.x-a.x);if(Math.abs(o-t.y)*n>Math.abs(e-t.x)*d){let h=a.y<t.y?t.y-d-o:o-d-t.y;i=c*h/m;let f={x:a.x<t.x?a.x+i:a.x-c+i,y:a.y<t.y?a.y+m-h:a.y-m+h};return i===0&&(f.x=t.x,f.y=t.y),c===0&&(f.x=t.x),m===0&&(f.y=t.y),x.debug(`abc89 top/bottom calc, Q ${m}, q ${h}, R ${c}, r ${i}`,f),f}else{a.x<t.x?i=t.x-n-e:i=e-n-t.x;let h=m*i/c,f=a.x<t.x?a.x+c-i:a.x-c+i,l=a.y<t.y?a.y+h:a.y-h;return x.debug(`sides calc abc89, Q ${m}, q ${h}, R ${c}, r ${i}`,{_x:f,_y:l}),i===0&&(f=t.x,l=t.y),c===0&&(f=t.x),m===0&&(l=t.y),{x:f,y:l}}},"intersection"),_t=p((r,t)=>{x.warn("abc88 cutPathAtIntersect",r,t);let a=[],e=r[0],o=!1;return r.forEach(s=>{if(x.info("abc88 checking point",s,t),!Ct(t,s)&&!o){let n=Pt(t,e,s);x.debug("abc88 inside",s,e,n),x.debug("abc88 intersection",n,t);let i=!1;a.forEach(d=>{i=i||d.x===n.x&&d.y===n.y}),a.some(d=>d.x===n.x&&d.y===n.y)?x.warn("abc88 no intersect",n,a):a.push(n),o=!0}else x.warn("abc88 outside",s,e),e=s,o||a.push(s)}),x.debug("returning points",a),a},"cutPathAtIntersect");function Rt(r){let t=[],a=[];for(let e=1;e<r.length-1;e++){let o=r[e-1],s=r[e],n=r[e+1];(o.x===s.x&&s.y===n.y&&Math.abs(s.x-n.x)>5&&Math.abs(s.y-o.y)>5||o.y===s.y&&s.x===n.x&&Math.abs(s.x-o.x)>5&&Math.abs(s.y-n.y)>5)&&(t.push(s),a.push(e))}return{cornerPoints:t,cornerPointPositions:a}}p(Rt,"extractCornerPoints");var Et=p(function(r,t,a){let e=t.x-r.x,o=t.y-r.y,s=Math.sqrt(e*e+o*o),n=a/s;return{x:t.x-n*e,y:t.y-n*o}},"findAdjacentPoint"),zt=p(function(r){let{cornerPointPositions:t}=Rt(r),a=[];for(let e=0;e<r.length;e++)if(t.includes(e)){let o=r[e-1],s=r[e+1],n=r[e],i=Et(o,n,5),d=Et(s,n,5),m=d.x-i.x,c=d.y-i.y;a.push(i);let h=Math.sqrt(2)*2,f={x:n.x,y:n.y};if(Math.abs(s.x-o.x)>10&&Math.abs(s.y-o.y)>=10){x.debug("Corner point fixing",Math.abs(s.x-o.x),Math.abs(s.y-o.y));let l=5;n.x===i.x?f={x:m<0?i.x-l+h:i.x+l-h,y:c<0?i.y-h:i.y+h}:f={x:m<0?i.x-h:i.x+h,y:c<0?i.y-l+h:i.y+l-h}}else x.debug("Corner point skipping fixing",Math.abs(s.x-o.x),Math.abs(s.y-o.y));a.push(f,d)}else a.push(r[e]);return a},"fixCorners"),qt=p((r,t,a)=>{let e=r-t-a,o=2,s=2,n=o+s,i=Math.floor(e/n),d=Number.isFinite(i)?Math.max(0,i):0,m=Array(d).fill(`${o} ${s}`).join(" ");return`0 ${t} ${m} ${a}`},"generateDashArray"),zr=p(function(r,t,a,e,o,s,n,i=!1){if(!n)throw new Error(`insertEdge: missing diagramId for edge "${t.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:d,layout:m}=W(),c=t.points,h=!1,f=o;var l=s;let y=[];for(let w in t.cssCompiledStyles)xt(w)||y.push(t.cssCompiledStyles[w]);if(m==="swimlane"){if(l.intersect&&f.intersect&&Array.isArray(c)&&c.length>=2)if(c.length===2)c=[f.intersect(c[0]),l.intersect(c[1])];else{let w=c.slice(1,-1),X=w[0],E=w[w.length-1],U=.5,P=Math.abs(c[c.length-1].x-E.x)<U&&Math.abs(c[c.length-1].y-E.y)<U,v=f.intersect(X),H=P?E:l.intersect(E),R=Math.abs(H.x-E.x)<U&&Math.abs(H.y-E.y)<U,Wt=Math.abs(v.x-X.x)<U&&Math.abs(v.y-X.y)<U?[]:[v],Tt=R?[]:[H];c=[...Wt,...w,...Tt]}c=At(t,c)}else l.intersect&&f.intersect&&!i&&(c=c.slice(1,t.points.length-1),c.unshift(f.intersect(c[0])),c.push(l.intersect(c[c.length-1])));let g=btoa(JSON.stringify(c));t.toCluster&&(x.info("to cluster abc88",a.get(t.toCluster)),c=_t(t.points,a.get(t.toCluster).node),h=!0),t.fromCluster&&(x.debug("from cluster abc88",a.get(t.fromCluster),JSON.stringify(c,null,2)),c=_t(c.reverse(),a.get(t.fromCluster).node).reverse(),h=!0);let k=c.filter(w=>!Number.isNaN(w.y)),M=Bt(t.curve);M!=="rounded"&&(k=zt(k));let u=V;switch(M){case"linear":u=V;break;case"basis":u=et;break;case"cardinal":u=lt;break;case"bumpX":u=it;break;case"bumpY":u=ct;break;case"catmullRom":u=dt;break;case"monotoneX":u=pt;break;case"monotoneY":u=ft;break;case"natural":u=ht;break;case"step":u=mt;break;case"stepAfter":u=ut;break;case"stepBefore":u=kt;break;case"rounded":u=V;break;default:u=et}let{x:A,y:K}=Lt(t),I=ot().x(A).y(K).curve(u),_;switch(t.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(t.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let L,Q=M==="rounded"?It(Dt(k,t),5):I(k),$=Array.isArray(t.style)?t.style:[t.style],Z=$.find(w=>w?.startsWith("stroke:")),C="";t.animate&&(C="edge-animation-fast"),t.animation&&(C="edge-animation-"+t.animation);let tt=!1;if(t.look==="handDrawn"){let w=wt.svg(r);Object.assign([],k);let X=w.path(Q,{roughness:.3,seed:d});_+=" transition",L=T(X).select("path").attr("id",`${n}-${t.id}`).attr("class"," "+_+(t.classes?" "+t.classes:"")+(C?" "+C:"")).attr("style",$?$.reduce((U,P)=>U+";"+P,""):"");let E=L.attr("d");L.attr("d",E),r.node().appendChild(L.node())}else{let w=y.join(";"),X=$?$.reduce((R,z)=>R+z+";",""):"",E=(w?w+";"+X+";":X)+";"+($?$.reduce((R,z)=>R+";"+z,""):"");L=r.append("path").attr("d",Q).attr("id",`${n}-${t.id}`).attr("class"," "+_+(t.classes?" "+t.classes:"")+(C?" "+C:"")).attr("style",E),Z=E.match(/stroke:([^;]+)/)?.[1],tt=t.animate===!0||!!t.animation||w.includes("animation");let U=L.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,v=st[t.arrowTypeStart]||0,H=st[t.arrowTypeEnd]||0;if(t.look==="neo"&&!tt){let z=`stroke-dasharray: ${t.pattern==="dotted"||t.pattern==="dashed"?qt(P,v,H):`0 ${v} ${P-v-H} ${H}`}; stroke-dashoffset: 0;`;L.attr("style",z+L.attr("style"))}}L.attr("data-edge",!0),L.attr("data-et","edge"),L.attr("data-id",t.id),L.attr("data-points",g),L.attr("data-look",yt(t.look)),t.showPoints&&k.forEach(w=>{r.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",w.x).attr("cy",w.y)});let j="";(W().flowchart.arrowMarkerAbsolute||W().state.arrowMarkerAbsolute)&&(j=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,j=j.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),x.info("arrowTypeStart",t.arrowTypeStart),x.info("arrowTypeEnd",t.arrowTypeEnd);let $t=!tt&&t?.look==="neo";Ot(L,t,j,n,e,$t,Z);let Xt=Math.floor(c.length/2),Yt=c[Xt];B.isLabelCoordinateInPath(Yt,L.attr("d"))||(h=!0);let rt={};return h&&(rt.updatedPath=c),rt.originalPath=t.points,rt},"insertEdge");function It(r,t){if(r.length<2)return"";let a="",e=r.length,o=1e-5;for(let s=0;s<e;s++){let n=r[s],i=r[s-1],d=r[s+1];if(s===0)a+=`M${n.x},${n.y}`;else if(s===e-1)a+=`L${n.x},${n.y}`;else{let m=n.x-i.x,c=n.y-i.y,h=d.x-n.x,f=d.y-n.y,l=Math.hypot(m,c),y=Math.hypot(h,f);if(l<o||y<o){a+=`L${n.x},${n.y}`;continue}let g=m/l,k=c/l,M=h/y,u=f/y,A=g*M+k*u,K=Math.max(-1,Math.min(1,A)),I=Math.acos(K);if(I<o||Math.abs(Math.PI-I)<o){a+=`L${n.x},${n.y}`;continue}let _=Math.min(t/Math.sin(I/2),l/2,y/2),L=n.x-g*_,Q=n.y-k*_,$=n.x+M*_,Z=n.y+u*_;a+=`L${L},${Q}`,a+=`Q${n.x},${n.y} ${$},${Z}`}}return a}p(It,"generateRoundedPath");function Ut(r,t){if(!r||!t)return{angle:0,deltaX:0,deltaY:0};let a=t.x-r.x,e=t.y-r.y;return{angle:Math.atan2(e,a),deltaX:a,deltaY:e}}p(Ut,"calculateDeltaAndAngle");function Dt(r,t){let a=r.map(o=>({...o}));if(r.length>=2&&S[t.arrowTypeStart]){let o=S[t.arrowTypeStart],s=r[0],n=r[1],{angle:i}=Ut(s,n),d=o*Math.cos(i),m=o*Math.sin(i);a[0].x=s.x+d,a[0].y=s.y+m}let e=r.length;if(e>=2&&S[t.arrowTypeEnd]){let o=S[t.arrowTypeEnd],s=r[e-1],n=r[e-2],{angle:i}=Ut(n,s),d=o*Math.cos(i),m=o*Math.sin(i);a[e-1].x=s.x-d,a[e-1].y=s.y-m}return a}p(Dt,"applyMarkerOffsetsToPoints");var Nt=p((r,t,a,e)=>{t.forEach(o=>{kr[o](r,a,e)})},"insertMarkers"),Qt=p((r,t,a)=>{x.trace("Making markers for ",a),r.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,1 V 13 L18,7 Z"),r.append("marker").attr("id",a+"_"+t+"-extensionStart-margin").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),r.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd-margin").attr("class","marker extension "+t).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),Zt=p((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart-margin").attr("class","marker composition "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd-margin").attr("class","marker composition "+t).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),jt=p((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart-margin").attr("class","marker aggregation "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd-margin").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Vt=p((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart-margin").attr("class","marker dependency "+t).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd-margin").attr("class","marker dependency "+t).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Ft=p((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),r.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").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart-margin").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd-margin").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),Gt=p((r,t,a)=>{r.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).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"),r.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",8).attr("markerHeight",8).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"),r.append("marker").attr("id",a+"_"+t+"-pointEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-pointStart-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),Jt=p((r,t,a)=>{r.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"),r.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"),r.append("marker").attr("id",a+"_"+t+"-circleEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-circleStart-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),Kt=p((r,t,a)=>{r.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"),r.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"),r.append("marker").attr("id",a+"_"+t+"-crossEnd-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),r.append("marker").attr("id",a+"_"+t+"-crossStart-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),tr=p((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),rr=p((r,t,a)=>{let e=Y(),{themeVariables:o}=e,{transitionColor:s}=o;r.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 L11,14 L13,7 L11,0 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${s}`)},"barbNeo"),ar=p((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),er=p((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");e.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),e.append("path").attr("d","M9,0 L9,18");let o=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),o.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),nr=p((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),sr=p((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");e.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),e.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let o=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),o.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),or=p((r,t,a)=>{let e=Y(),{themeVariables:o}=e,{strokeWidth:s}=o;r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${s}`),r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${s}`)},"only_one_neo"),ir=p((r,t,a)=>{let e=Y(),{themeVariables:o}=e,{strokeWidth:s,mainBkg:n}=o,i=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");i.append("circle").attr("fill",n??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${s}`).attr("r",6),i.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${s}`);let d=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");d.append("circle").attr("fill",n??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${s}`).attr("r",6),d.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${s}`)},"zero_or_one_neo"),cr=p((r,t,a)=>{let e=Y(),{themeVariables:o}=e,{strokeWidth:s}=o;r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${s}`),r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${s}`)},"one_or_more_neo"),lr=p((r,t,a)=>{let e=Y(),{themeVariables:o}=e,{strokeWidth:s,mainBkg:n}=o,i=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");i.append("circle").attr("fill",n??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${s}`),i.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${s}`);let d=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");d.append("circle").attr("fill",n??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${s}`),d.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${s}`)},"zero_or_more_neo"),dr=p((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`)},"requirement_arrow"),pr=p((r,t,a)=>{let e=Y(),{themeVariables:o}=e,{strokeWidth:s}=o;r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${s}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),fr=p((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");e.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),e.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),e.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),hr=p((r,t,a)=>{let e=Y(),{themeVariables:o}=e,{strokeWidth:s}=o,n=r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),n.selectAll("*").attr("stroke-width",`${s}`)},"requirement_contains_neo"),mr=p((r,t,a)=>{r.append("marker").attr("id",a+"_"+t+"-hierarchyEnd").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none"),r.append("marker").attr("id",a+"_"+t+"-hierarchyStart").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none")},"hierarchy"),kr={extension:Qt,composition:Zt,aggregation:jt,dependency:Vt,lollipop:Ft,point:Gt,circle:Jt,cross:Kt,barb:tr,barbNeo:rr,hierarchy:mr,only_one:ar,zero_or_one:er,one_or_more:nr,zero_or_more:sr,only_one_neo:or,zero_or_one_neo:ir,one_or_more_neo:cr,zero_or_more_neo:lr,requirement_arrow:dr,requirement_contains:fr,requirement_arrow_neo:pr,requirement_contains_neo:hr},Qr=Nt;export{S as a,st as b,J as c,O as d,Ar as e,Cr as f,Pr as g,Rr as h,zr as i,Qr as j};