@lancc/cmark 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE +21 -21
  3. package/README.md +54 -82
  4. package/assets/abnfDiagram-WEYOIA3C-CKV_7Upb.js +1 -0
  5. package/assets/architectureDiagram-ZHVYKT53-BvLudDvk.js +1 -0
  6. package/assets/blockDiagram-RJAE7QA3--gzkMGi2.js +1 -0
  7. package/assets/c4Diagram-XDPPPE54-ByfRiJGR.js +1 -0
  8. package/assets/chunk-2E7WHVMD-TfbC_dmh.js +1 -0
  9. package/assets/chunk-2Q5K7J3B-0YJgChVo.js +1 -0
  10. package/assets/chunk-4EMNKR2T-DHoYW7g5.js +1 -0
  11. package/assets/chunk-55XCU76K-Cq25Yw_G.js +1 -0
  12. package/assets/chunk-5VM5RSS4-CJaRXFHK.js +1 -0
  13. package/assets/chunk-JWPE2WC7-BP2iXBhe.js +1 -0
  14. package/assets/chunk-VQ5W62QI-B95zur4F.js +1 -0
  15. package/assets/chunk-XXDRQBXY-Ct0MhvQo.js +1 -0
  16. package/assets/chunk-ZCHMQSOR-C5VhW-wL.js +2 -0
  17. package/assets/classDiagram-v2-4MYWR3UA-C1G-Vkj0.js +1 -0
  18. package/assets/cose-bilkent-JH36ORCC-qIQoIBv0.js +1 -0
  19. package/assets/cynefin-EF2NZ3EQ-CR1E3YiZ.js +1 -0
  20. package/assets/cynefinDiagram-WF24UDRP-DaJFvZ3b.js +1 -0
  21. package/assets/cytoscape.esm-SjxgSg6I.js +9 -0
  22. package/assets/dagre-NK4GIZVX-BFRQhpii.js +1 -0
  23. package/assets/diagram-CBK3MWTC-DlueL6XZ.js +1 -0
  24. package/assets/diagram-I5XIIV2D-bITyafYX.js +1 -0
  25. package/assets/diagram-ODIL2UCW-Dlb4hg_-.js +1 -0
  26. package/assets/diagram-PFBEJUXE-CRfen0O7.js +1 -0
  27. package/assets/diagram-RJA3I4VV-CK-FlhGV.js +1 -0
  28. package/assets/diagram-TYUNFSNR-DmgVsxqa.js +1 -0
  29. package/assets/ebnfDiagram-V4P3TTPT-B9KGI9eQ.js +1 -0
  30. package/assets/echarts-CytsvCdp.js +25 -0
  31. package/assets/elk-QONTBCTQ-VgDftvsU.js +1 -0
  32. package/assets/erDiagram-KYQIGQAA-DkpP7sS4.js +1 -0
  33. package/assets/flowDiagram-IUGLLWBU-CRXa9Kxy.js +1 -0
  34. package/assets/ganttDiagram-R7GPNTJY-Cu2I55Wb.js +1 -0
  35. package/assets/gitGraphDiagram-PDYL7XHY-CwSo663I.js +1 -0
  36. package/assets/graph-Dz7AM1Q5.js +1 -0
  37. package/assets/index-BJ-NdQc4.js +100 -0
  38. package/assets/index-eB_q_VA3.css +1 -0
  39. package/assets/infoDiagram-MVDRKAX5-D3Qknzuo.js +1 -0
  40. package/assets/ishikawaDiagram-HPEHV2GE-9qYT75tk.js +1 -0
  41. package/assets/journeyDiagram-BOSHW7O7-DeSrJg9o.js +1 -0
  42. package/assets/kanban-definition-FNSA4HC5-DINkB6G7.js +1 -0
  43. package/assets/katex-DN8cTsI3.js +1 -0
  44. package/assets/markdown-S2mWvoE-.js +5 -0
  45. package/assets/mermaid-T_6Ze_cT.js +7 -0
  46. package/assets/mindmap-definition-6OY57UG3-DW5hqiAe.js +1 -0
  47. package/assets/pegDiagram-ECIUJNBX-BWy_tkzy.js +1 -0
  48. package/assets/pieDiagram-GNMPY74T-CniJbr6l.js +1 -0
  49. package/assets/quadrantDiagram-D57K4MC3-BVnDJkCv.js +1 -0
  50. package/assets/railroadDiagram-Y72NRBL7-BNKZpJJb.js +1 -0
  51. package/assets/requirementDiagram-EQYSW5RA-BETipHj0.js +1 -0
  52. package/assets/sankeyDiagram-SY24JHO5-ByEYqT7T.js +1 -0
  53. package/assets/sequenceDiagram-BLEHNHQU-BqCJ2tKG.js +1 -0
  54. package/assets/sizeCapture-INFHLROL-DlhrWFj-.js +1 -0
  55. package/assets/stateDiagram-v2-A6IESKWZ-DJUBWLTP.js +1 -0
  56. package/assets/swimlanes-B3ENRKFQ-D7k7tF5U.js +1 -0
  57. package/assets/swimlanesDiagram-AYQRV4AK-DoQBgB9o.js +1 -0
  58. package/assets/timeline-definition-JXYKGLGB-BCNhwnn6.js +1 -0
  59. package/assets/usecaseDiagram-WPOLBNNX-DRa_Rgl3.js +1 -0
  60. package/assets/vennDiagram-Q3Y3IDCW-Ba2eaO68.js +1 -0
  61. package/assets/wardleyDiagram-IVAIDKWA-W_i9vzY-.js +1 -0
  62. package/assets/xychartDiagram-4URNHDU4-ByfaGjvc.js +1 -0
  63. package/export-file/github-markdown.css +549 -549
  64. package/export-file/index.html +32 -32
  65. package/index.html +4 -4
  66. package/logo.png +0 -0
  67. package/package.json +1 -1
  68. package/plugin.json +8 -218
  69. package/preload/branch-bar.js +44 -2
  70. package/preload/export-css.js +59 -0
  71. package/preload/git-panel.js +102 -23
  72. package/preload/git-service.js +99 -6
  73. package/preload/host.js +130 -0
  74. package/preload/remote-setup.js +425 -0
  75. package/preload/remote-wizard.js +330 -0
  76. package/preload/rename-note.js +4 -5
  77. package/preload/services.js +6 -15
  78. package/preload/settings-panel.js +468 -356
  79. package/preload/ws-prefs.js +55 -0
  80. package/preload.js +291 -6
  81. package/assets/abnfDiagram-WEYOIA3C-BgXsTF7a.js +0 -1
  82. package/assets/architectureDiagram-ZHVYKT53-BsCWa_qC.js +0 -36
  83. package/assets/blockDiagram-RJAE7QA3-wbIxEiYN.js +0 -140
  84. package/assets/c4Diagram-XDPPPE54-5zdyxFvA.js +0 -38
  85. package/assets/chunk-2E7WHVMD-F85Lca-i.js +0 -88
  86. package/assets/chunk-2Q5K7J3B-CjpAZ0OI.js +0 -1
  87. package/assets/chunk-4EMNKR2T-C8Kbh83c.js +0 -1
  88. package/assets/chunk-55XCU76K-BINcFiLN.js +0 -1
  89. package/assets/chunk-5VM5RSS4-Diy5h2LS.js +0 -15
  90. package/assets/chunk-JWPE2WC7-BXnjDdh1.js +0 -1
  91. package/assets/chunk-VQ5W62QI-BM7ZZo1I.js +0 -1
  92. package/assets/chunk-XXDRQBXY-CW8CjB1w.js +0 -1
  93. package/assets/chunk-ZCHMQSOR-C7ATz1L1.js +0 -2
  94. package/assets/classDiagram-v2-4MYWR3UA-CMoqNk-b.js +0 -217
  95. package/assets/cose-bilkent-JH36ORCC-6rqR5iJk.js +0 -1
  96. package/assets/cynefin-EF2NZ3EQ-DypLIJxl.js +0 -141
  97. package/assets/cynefinDiagram-WF24UDRP-8b2CEBlR.js +0 -62
  98. package/assets/cytoscape.esm-CjX6Hyah.js +0 -331
  99. package/assets/dagre-NK4GIZVX-Dv6vuUbR.js +0 -4
  100. package/assets/diagram-CBK3MWTC-DJgMDeYd.js +0 -24
  101. package/assets/diagram-I5XIIV2D-BB9cMoRW.js +0 -24
  102. package/assets/diagram-ODIL2UCW-BVcRtsdy.js +0 -30
  103. package/assets/diagram-PFBEJUXE-BbGSOtJx.js +0 -3
  104. package/assets/diagram-RJA3I4VV-CzkY_8Fo.js +0 -41
  105. package/assets/diagram-TYUNFSNR-YTl5QdfL.js +0 -200
  106. package/assets/ebnfDiagram-V4P3TTPT-COVjPAjE.js +0 -1
  107. package/assets/echarts-BAPDkhe3.js +0 -61
  108. package/assets/elk-QONTBCTQ-DHsjY8Z_.js +0 -27
  109. package/assets/erDiagram-KYQIGQAA-CUAbTUl1.js +0 -99
  110. package/assets/flowDiagram-IUGLLWBU-CWsiqTQC.js +0 -213
  111. package/assets/ganttDiagram-R7GPNTJY-DetBW0Wm.js +0 -292
  112. package/assets/gitGraphDiagram-PDYL7XHY-ByrdgJmw.js +0 -106
  113. package/assets/graph-D8UmR1vK.js +0 -1
  114. package/assets/index-BLONSItV.css +0 -1
  115. package/assets/index-Cz6qaZbV.js +0 -744
  116. package/assets/infoDiagram-MVDRKAX5-BM48fjhU.js +0 -2
  117. package/assets/ishikawaDiagram-HPEHV2GE-DtHYywHZ.js +0 -70
  118. package/assets/journeyDiagram-BOSHW7O7-DJ1LiRh3.js +0 -139
  119. package/assets/kanban-definition-FNSA4HC5-DPPt8pwJ.js +0 -89
  120. package/assets/katex-CQL9J12G.js +0 -257
  121. package/assets/markdown-DVehI1Sg.js +0 -314
  122. package/assets/mermaid-C_q9pug0.js +0 -312
  123. package/assets/mindmap-definition-6OY57UG3-zbqYOEY6.js +0 -98
  124. package/assets/pegDiagram-ECIUJNBX-e7QG7TMq.js +0 -1
  125. package/assets/pieDiagram-GNMPY74T-Duf6YP0N.js +0 -39
  126. package/assets/quadrantDiagram-D57K4MC3-B2eYoUUy.js +0 -7
  127. package/assets/railroadDiagram-Y72NRBL7-BWCzPcI_.js +0 -1
  128. package/assets/requirementDiagram-EQYSW5RA-HhPMEqB1.js +0 -84
  129. package/assets/sankeyDiagram-SY24JHO5-CMUTwFBB.js +0 -40
  130. package/assets/sequenceDiagram-BLEHNHQU-C9wR2ll7.js +0 -169
  131. package/assets/sizeCapture-INFHLROL-DXfz37S6.js +0 -1
  132. package/assets/stateDiagram-v2-A6IESKWZ-D_gtonhE.js +0 -291
  133. package/assets/swimlanes-B3ENRKFQ-DdJOuuMV.js +0 -1
  134. package/assets/swimlanesDiagram-AYQRV4AK-BWt3HxHV.js +0 -8
  135. package/assets/timeline-definition-JXYKGLGB-DQsdwJe-.js +0 -120
  136. package/assets/usecaseDiagram-WPOLBNNX-DTRyFq7d.js +0 -370
  137. package/assets/vennDiagram-Q3Y3IDCW-dihYszm0.js +0 -34
  138. package/assets/wardleyDiagram-IVAIDKWA-BoPpgYfK.js +0 -78
  139. package/assets/xychartDiagram-4URNHDU4-DoLjYxeB.js +0 -7
@@ -1,4 +0,0 @@
1
- import{s as ce,a as Wn,c as qn,b as Hn,f as Te,e as T,i as zn}from"./chunk-ZCHMQSOR-C7ATz1L1.js";import{_ as x,c as Jn,l as m,bc as Kn,bd as Zn,aE as Qn,aj as Se,af as Ce,ad as er,ai as nr,ak as rr}from"./mermaid-C_q9pug0.js";import{i as U,a as O,d as Ie,e as H,b as z,c as tn,f as le,g as an,h as tr,j as on,s as ar,o as ir,k as or,l as he,m as sr,r as dr,U as Re,S as ke,n as pe,p as ge,q as V,t as sn,u as dn,v as ur,w as I,x as fr,y as cr,z as lr,A as _e,B as hr,C as un,D as _,E as pr,F as gr,H as vr,I as X,J as fn,K as cn,L as br,M as ve,N as ln,O as wr,P as hn,Q as mr,R as yr,G as N,T as l,V as xr,W as L,X as $,Y as R,Z as J}from"./graph-D8UmR1vK.js";import"./markdown-DVehI1Sg.js";var Er=/\s/;function Lr(e){for(var n=e.length;n--&&Er.test(e.charAt(n)););return n}var Or=/^\s+/;function Nr(e){return e&&e.slice(0,Lr(e)+1).replace(Or,"")}var Me=NaN,Pr=/^[-+]0x[0-9a-f]+$/i,Tr=/^0b[01]+$/i,Sr=/^0o[0-7]+$/i,Cr=parseInt;function Ir(e){if(typeof e=="number")return e;if(U(e))return Me;if(O(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=O(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Nr(e);var r=Tr.test(e);return r||Sr.test(e)?Cr(e.slice(2),r?2:8):Pr.test(e)?Me:+e}var Ae=1/0,Rr=17976931348623157e292;function G(e){if(!e)return e===0?e:0;if(e=Ir(e),e===Ae||e===-Ae){var n=e<0?-1:1;return n*Rr}return e===e?e:0}function kr(e){var n=G(e),r=n%1;return n===n?r?n-r:n:0}var je=Object.create,_r=(function(){function e(){}return function(n){if(!O(n))return{};if(je)return je(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}})();function Mr(e,n){var r=-1,t=e.length;for(n||(n=Array(t));++r<t;)n[r]=e[r];return n}function K(e,n,r){n=="__proto__"&&Ie?Ie(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}var Ar=Object.prototype,jr=Ar.hasOwnProperty;function Z(e,n,r){var t=e[n];(!(jr.call(e,n)&&H(t,r))||r===void 0&&!(n in e))&&K(e,n,r)}function Dr(e,n,r,t){var a=!r;r||(r={});for(var o=-1,i=n.length;++o<i;){var s=n[o],d=void 0;d===void 0&&(d=e[s]),a?K(r,s,d):Z(r,s,d)}return r}function j(e,n,r){if(!O(r))return!1;var t=typeof n;return(t=="number"?z(r)&&tn(n,r.length):t=="string"&&n in r)?H(r[n],e):!1}function Br(e){return le(function(n,r){var t=-1,a=r.length,o=a>1?r[a-1]:void 0,i=a>2?r[2]:void 0;for(o=e.length>3&&typeof o=="function"?(a--,o):void 0,i&&j(r[0],r[1],i)&&(o=a<3?void 0:o,a=1),n=Object(n);++t<a;){var s=r[t];s&&e(n,s,t,o)}return n})}function $r(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var Fr=Object.prototype,Xr=Fr.hasOwnProperty;function Gr(e){if(!O(e))return $r(e);var n=an(e),r=[];for(var t in e)t=="constructor"&&(n||!Xr.call(e,t))||r.push(t);return r}function Q(e){return z(e)?tr(e,!0):Gr(e)}function M(e){var n=e==null?0:e.length;return n?on(e):[]}function Yr(e){return ar(ir(e,void 0,M),e+"")}var pn=or(Object.getPrototypeOf,Object),Ur="[object Object]",Vr=Function.prototype,Wr=Object.prototype,gn=Vr.toString,qr=Wr.hasOwnProperty,Hr=gn.call(Object);function zr(e){if(!he(e)||sr(e)!=Ur)return!1;var n=pn(e);if(n===null)return!0;var r=qr.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&gn.call(r)==Hr}var vn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,De=vn&&typeof module=="object"&&module&&!module.nodeType&&module,Jr=De&&De.exports===vn,Be=Jr?dr.Buffer:void 0,$e=Be?Be.allocUnsafe:void 0;function bn(e,n){if(n)return e.slice();var r=e.length,t=$e?$e(r):new e.constructor(r);return e.copy(t),t}var Kr=Object.prototype,Zr=Kr.hasOwnProperty;function Qr(e){var n=e.length,r=new e.constructor(n);return n&&typeof e[0]=="string"&&Zr.call(e,"index")&&(r.index=e.index,r.input=e.input),r}function be(e){var n=new e.constructor(e.byteLength);return new Re(n).set(new Re(e)),n}function et(e,n){var r=be(e.buffer);return new e.constructor(r,e.byteOffset,e.byteLength)}var nt=/\w*$/;function rt(e){var n=new e.constructor(e.source,nt.exec(e));return n.lastIndex=e.lastIndex,n}var Fe=ke?ke.prototype:void 0,Xe=Fe?Fe.valueOf:void 0;function tt(e){return Xe?Object(Xe.call(e)):{}}function wn(e,n){var r=n?be(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var at="[object Boolean]",it="[object Date]",ot="[object Map]",st="[object Number]",dt="[object RegExp]",ut="[object Set]",ft="[object String]",ct="[object Symbol]",lt="[object ArrayBuffer]",ht="[object DataView]",pt="[object Float32Array]",gt="[object Float64Array]",vt="[object Int8Array]",bt="[object Int16Array]",wt="[object Int32Array]",mt="[object Uint8Array]",yt="[object Uint8ClampedArray]",xt="[object Uint16Array]",Et="[object Uint32Array]";function Lt(e,n,r){var t=e.constructor;switch(n){case lt:return be(e);case at:case it:return new t(+e);case ht:return et(e);case pt:case gt:case vt:case bt:case wt:case mt:case yt:case xt:case Et:return wn(e,r);case ot:return new t;case st:case ft:return new t(e);case dt:return rt(e);case ut:return new t;case ct:return tt(e)}}function mn(e){return typeof e.constructor=="function"&&!an(e)?_r(pn(e)):{}}var Ot="[object Map]";function Nt(e){return he(e)&&pe(e)==Ot}var Ge=V&&V.isMap,Pt=Ge?ge(Ge):Nt,Tt="[object Set]";function St(e){return he(e)&&pe(e)==Tt}var Ye=V&&V.isSet,Ct=Ye?ge(Ye):St,It=1,yn="[object Arguments]",Rt="[object Array]",kt="[object Boolean]",_t="[object Date]",Mt="[object Error]",xn="[object Function]",At="[object GeneratorFunction]",jt="[object Map]",Dt="[object Number]",En="[object Object]",Bt="[object RegExp]",$t="[object Set]",Ft="[object String]",Xt="[object Symbol]",Gt="[object WeakMap]",Yt="[object ArrayBuffer]",Ut="[object DataView]",Vt="[object Float32Array]",Wt="[object Float64Array]",qt="[object Int8Array]",Ht="[object Int16Array]",zt="[object Int32Array]",Jt="[object Uint8Array]",Kt="[object Uint8ClampedArray]",Zt="[object Uint16Array]",Qt="[object Uint32Array]",y={};y[yn]=y[Rt]=y[Yt]=y[Ut]=y[kt]=y[_t]=y[Vt]=y[Wt]=y[qt]=y[Ht]=y[zt]=y[jt]=y[Dt]=y[En]=y[Bt]=y[$t]=y[Ft]=y[Xt]=y[Jt]=y[Kt]=y[Zt]=y[Qt]=!0;y[Mt]=y[xn]=y[Gt]=!1;function Y(e,n,r,t,a,o){var i,s=n&It;if(i!==void 0)return i;if(!O(e))return e;var d=I(e);if(d)i=Qr(e);else{var u=pe(e),f=u==xn||u==At;if(sn(e))return bn(e,s);if(u==En||u==yn||f&&!a)i=f?{}:mn(e);else{if(!y[u])return a?e:{};i=Lt(e,u,s)}}o||(o=new dn);var c=o.get(e);if(c)return c;o.set(e,i),Ct(e)?e.forEach(function(p){i.add(Y(p,n,r,p,e,o))}):Pt(e)&&e.forEach(function(p,g){i.set(g,Y(p,n,r,g,e,o))});var h=fr,v=d?void 0:h(e);return ur(v||e,function(p,g){v&&(g=p,p=e[g]),Z(i,g,Y(p,n,r,g,e,o))}),i}var ea=1,na=4;function ra(e){return Y(e,ea|na)}var Ln=Object.prototype,ta=Ln.hasOwnProperty,aa=le(function(e,n){e=Object(e);var r=-1,t=n.length,a=t>2?n[2]:void 0;for(a&&j(n[0],n[1],a)&&(t=1);++r<t;)for(var o=n[r],i=Q(o),s=-1,d=i.length;++s<d;){var u=i[s],f=e[u];(f===void 0||H(f,Ln[u])&&!ta.call(e,u))&&(e[u]=o[u])}return e});function se(e,n,r){(r!==void 0&&!H(e[n],r)||r===void 0&&!(n in e))&&K(e,n,r)}function de(e,n){if(!(n==="constructor"&&typeof e[n]=="function")&&n!="__proto__")return e[n]}function ia(e){return Dr(e,Q(e))}function oa(e,n,r,t,a,o,i){var s=de(e,r),d=de(n,r),u=i.get(d);if(u){se(e,r,u);return}var f=o?o(s,d,r+"",e,n,i):void 0,c=f===void 0;if(c){var h=I(d),v=!h&&sn(d),p=!h&&!v&&cr(d);f=d,h||v||p?I(s)?f=s:lr(s)?f=Mr(s):v?(c=!1,f=bn(d,!0)):p?(c=!1,f=wn(d,!0)):f=[]:zr(d)||_e(d)?(f=s,_e(s)?f=ia(s):(!O(s)||hr(s))&&(f=mn(d))):c=!1}c&&(i.set(d,f),a(f,d,t,o,i),i.delete(d)),se(e,r,f)}function On(e,n,r,t,a){e!==n&&un(n,function(o,i){if(a||(a=new dn),O(o))oa(e,n,i,r,On,t,a);else{var s=t?t(de(e,i),o,i+"",e,n,a):void 0;s===void 0&&(s=o),se(e,i,s)}},Q)}function W(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function sa(e){return function(n,r,t){var a=Object(n);if(!z(n)){var o=_(r);n=pr(n),r=function(s){return o(a[s],s,a)}}var i=e(n,r,t);return i>-1?a[o?n[i]:i]:void 0}}var da=Math.max;function ua(e,n,r){var t=e==null?0:e.length;if(!t)return-1;var a=r==null?0:kr(r);return a<0&&(a=da(t+a,0)),gr(e,_(n),a)}var we=sa(ua);function Nn(e,n){var r=-1,t=z(e)?Array(e.length):[];return vr(e,function(a,o,i){t[++r]=n(a,o,i)}),t}function E(e,n){var r=I(e)?X:Nn;return r(e,_(n))}function fa(e,n){return e==null?e:un(e,fn(n),Q)}function ca(e,n){return e&&cn(e,fn(n))}function la(e,n){return e>n}var ha=Object.prototype,pa=ha.hasOwnProperty;function ga(e,n){return e!=null&&pa.call(e,n)}function Pn(e,n){return e!=null&&br(e,n,ga)}function Tn(e,n){return e<n}function ee(e,n){var r={};return n=_(n),cn(e,function(t,a,o){K(r,a,n(t,a,o))}),r}function me(e,n,r){for(var t=-1,a=e.length;++t<a;){var o=e[t],i=n(o);if(i!=null&&(s===void 0?i===i&&!U(i):r(i,s)))var s=i,d=o}return d}function S(e){return e&&e.length?me(e,ve,la):void 0}var ue=Br(function(e,n,r){On(e,n,r)});function D(e){return e&&e.length?me(e,ve,Tn):void 0}function ye(e,n){return e&&e.length?me(e,_(n),Tn):void 0}function va(e,n,r,t){if(!O(e))return e;n=ln(n,e);for(var a=-1,o=n.length,i=o-1,s=e;s!=null&&++a<o;){var d=wr(n[a]),u=r;if(d==="__proto__"||d==="constructor"||d==="prototype")return e;if(a!=i){var f=s[d];u=void 0,u===void 0&&(u=O(f)?f:tn(n[a+1])?[]:{})}Z(s,d,u),s=s[d]}return e}function ba(e,n,r){for(var t=-1,a=n.length,o={};++t<a;){var i=n[t],s=hn(e,i);r(s,i)&&va(o,ln(i,e),s)}return o}function wa(e,n){var r=e.length;for(e.sort(n);r--;)e[r]=e[r].value;return e}function ma(e,n){if(e!==n){var r=e!==void 0,t=e===null,a=e===e,o=U(e),i=n!==void 0,s=n===null,d=n===n,u=U(n);if(!s&&!u&&!o&&e>n||o&&i&&d&&!s&&!u||t&&i&&d||!r&&d||!a)return 1;if(!t&&!o&&!u&&e<n||u&&r&&a&&!t&&!o||s&&r&&a||!i&&a||!d)return-1}return 0}function ya(e,n,r){for(var t=-1,a=e.criteria,o=n.criteria,i=a.length,s=r.length;++t<i;){var d=ma(a[t],o[t]);if(d){if(t>=s)return d;var u=r[t];return d*(u=="desc"?-1:1)}}return e.index-n.index}function xa(e,n,r){n.length?n=X(n,function(o){return I(o)?function(i){return hn(i,o.length===1?o[0]:o)}:o}):n=[ve];var t=-1;n=X(n,ge(_));var a=Nn(e,function(o,i,s){var d=X(n,function(u){return u(o)});return{criteria:d,index:++t,value:o}});return wa(a,function(o,i){return ya(o,i,r)})}function Ea(e,n){return ba(e,n,function(r,t){return mr(e,t)})}var q=Yr(function(e,n){return e==null?{}:Ea(e,n)}),La=Math.ceil,Oa=Math.max;function Na(e,n,r,t){for(var a=-1,o=Oa(La((n-e)/(r||1)),0),i=Array(o);o--;)i[++a]=e,e+=r;return i}function Pa(e){return function(n,r,t){return t&&typeof t!="number"&&j(n,r,t)&&(r=t=void 0),n=G(n),r===void 0?(r=n,n=0):r=G(r),t=t===void 0?n<r?1:-1:G(t),Na(n,r,t)}}var k=Pa(),F=le(function(e,n){if(e==null)return[];var r=n.length;return r>1&&j(e,n[0],n[1])?n=[]:r>2&&j(n[0],n[1],n[2])&&(n=[n[0]]),xa(e,on(n),[])}),Ta=0;function xe(e){var n=++Ta;return yr(e)+n}function Sa(e,n,r){for(var t=-1,a=e.length,o=n.length,i={};++t<a;){var s=t<o?n[t]:void 0;r(i,e[t],s)}return i}function Ca(e,n){return Sa(e||[],n||[],Z)}class Ia{constructor(){var n={};n._next=n._prev=n,this._sentinel=n}dequeue(){var n=this._sentinel,r=n._prev;if(r!==n)return Ue(r),r}enqueue(n){var r=this._sentinel;n._prev&&n._next&&Ue(n),n._next=r._next,r._next._prev=n,r._next=n,n._prev=r}toString(){for(var n=[],r=this._sentinel,t=r._prev;t!==r;)n.push(JSON.stringify(t,Ra)),t=t._prev;return"["+n.join(", ")+"]"}}function Ue(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Ra(e,n){if(e!=="_next"&&e!=="_prev")return n}var ka=xr(1);function _a(e,n){if(e.nodeCount()<=1)return[];var r=Aa(e,n||ka),t=Ma(r.graph,r.buckets,r.zeroIdx);return M(E(t,function(a){return e.outEdges(a.v,a.w)}))}function Ma(e,n,r){for(var t=[],a=n[n.length-1],o=n[0],i;e.nodeCount();){for(;i=o.dequeue();)re(e,n,r,i);for(;i=a.dequeue();)re(e,n,r,i);if(e.nodeCount()){for(var s=n.length-2;s>0;--s)if(i=n[s].dequeue(),i){t=t.concat(re(e,n,r,i,!0));break}}}return t}function re(e,n,r,t,a){var o=a?[]:void 0;return l(e.inEdges(t.v),function(i){var s=e.edge(i),d=e.node(i.v);a&&o.push({v:i.v,w:i.w}),d.out-=s,fe(n,r,d)}),l(e.outEdges(t.v),function(i){var s=e.edge(i),d=i.w,u=e.node(d);u.in-=s,fe(n,r,u)}),e.removeNode(t.v),o}function Aa(e,n){var r=new N,t=0,a=0;l(e.nodes(),function(s){r.setNode(s,{v:s,in:0,out:0})}),l(e.edges(),function(s){var d=r.edge(s.v,s.w)||0,u=n(s),f=d+u;r.setEdge(s.v,s.w,f),a=Math.max(a,r.node(s.v).out+=u),t=Math.max(t,r.node(s.w).in+=u)});var o=k(a+t+3).map(function(){return new Ia}),i=t+1;return l(r.nodes(),function(s){fe(o,i,r.node(s))}),{graph:r,buckets:o,zeroIdx:i}}function fe(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function ja(e){var n=e.graph().acyclicer==="greedy"?_a(e,r(e)):Da(e);l(n,function(t){var a=e.edge(t);e.removeEdge(t),a.forwardName=t.name,a.reversed=!0,e.setEdge(t.w,t.v,a,xe("rev"))});function r(t){return function(a){return t.edge(a).weight}}}function Da(e){var n=[],r={},t={};function a(o){Object.prototype.hasOwnProperty.call(t,o)||(t[o]=!0,r[o]=!0,l(e.outEdges(o),function(i){Object.prototype.hasOwnProperty.call(r,i.w)?n.push(i):a(i.w)}),delete r[o])}return l(e.nodes(),a),n}function Ba(e){l(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}function A(e,n,r,t){var a;do a=xe(t);while(e.hasNode(a));return r.dummy=n,e.setNode(a,r),a}function $a(e){var n=new N().setGraph(e.graph());return l(e.nodes(),function(r){n.setNode(r,e.node(r))}),l(e.edges(),function(r){var t=n.edge(r.v,r.w)||{weight:0,minlen:1},a=e.edge(r);n.setEdge(r.v,r.w,{weight:t.weight+a.weight,minlen:Math.max(t.minlen,a.minlen)})}),n}function Sn(e){var n=new N({multigraph:e.isMultigraph()}).setGraph(e.graph());return l(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),l(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function Ve(e,n){var r=e.x,t=e.y,a=n.x-r,o=n.y-t,i=e.width/2,s=e.height/2;if(!a&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var d,u;return Math.abs(o)*i>Math.abs(a)*s?(o<0&&(s=-s),d=s*a/o,u=s):(a<0&&(i=-i),d=i,u=i*o/a),{x:r+d,y:t+u}}function ne(e){var n=E(k(Cn(e)+1),function(){return[]});return l(e.nodes(),function(r){var t=e.node(r),a=t.rank;L(a)||(n[a][t.order]=r)}),n}function Fa(e){var n=D(E(e.nodes(),function(r){return e.node(r).rank}));l(e.nodes(),function(r){var t=e.node(r);Pn(t,"rank")&&(t.rank-=n)})}function Xa(e){var n=D(E(e.nodes(),function(o){return e.node(o).rank})),r=[];l(e.nodes(),function(o){var i=e.node(o).rank-n;r[i]||(r[i]=[]),r[i].push(o)});var t=0,a=e.graph().nodeRankFactor;l(r,function(o,i){L(o)&&i%a!==0?--t:t&&l(o,function(s){e.node(s).rank+=t})})}function We(e,n,r,t){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=t),A(e,"border",a,n)}function Cn(e){return S(E(e.nodes(),function(n){var r=e.node(n).rank;if(!L(r))return r}))}function Ga(e,n){var r={lhs:[],rhs:[]};return l(e,function(t){n(t)?r.lhs.push(t):r.rhs.push(t)}),r}function Ya(e,n){return n()}function Ua(e){function n(r){var t=e.children(r),a=e.node(r);if(t.length&&l(t,n),Object.prototype.hasOwnProperty.call(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var o=a.minRank,i=a.maxRank+1;o<i;++o)qe(e,"borderLeft","_bl",r,a,o),qe(e,"borderRight","_br",r,a,o)}}l(e.children(),n)}function qe(e,n,r,t,a,o){var i={width:0,height:0,rank:o,borderType:n},s=a[n][o-1],d=A(e,"border",i,r);a[n][o]=d,e.setParent(d,t),s&&e.setEdge(s,d,{weight:1})}function Va(e){var n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&In(e)}function Wa(e){var n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&qa(e),(n==="lr"||n==="rl")&&(Ha(e),In(e))}function In(e){l(e.nodes(),function(n){He(e.node(n))}),l(e.edges(),function(n){He(e.edge(n))})}function He(e){var n=e.width;e.width=e.height,e.height=n}function qa(e){l(e.nodes(),function(n){te(e.node(n))}),l(e.edges(),function(n){var r=e.edge(n);l(r.points,te),Object.prototype.hasOwnProperty.call(r,"y")&&te(r)})}function te(e){e.y=-e.y}function Ha(e){l(e.nodes(),function(n){ae(e.node(n))}),l(e.edges(),function(n){var r=e.edge(n);l(r.points,ae),Object.prototype.hasOwnProperty.call(r,"x")&&ae(r)})}function ae(e){var n=e.x;e.x=e.y,e.y=n}function za(e){e.graph().dummyChains=[],l(e.edges(),function(n){Ja(e,n)})}function Ja(e,n){var r=n.v,t=e.node(r).rank,a=n.w,o=e.node(a).rank,i=n.name,s=e.edge(n),d=s.labelRank;if(o!==t+1){e.removeEdge(n);var u=void 0,f,c;for(c=0,++t;t<o;++c,++t)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:n,rank:t},f=A(e,"edge",u,"_d"),t===d&&(u.width=s.width,u.height=s.height,u.dummy="edge-label",u.labelpos=s.labelpos),e.setEdge(r,f,{weight:s.weight},i),c===0&&e.graph().dummyChains.push(f),r=f;e.setEdge(r,a,{weight:s.weight},i)}}function Ka(e){l(e.graph().dummyChains,function(n){var r=e.node(n),t=r.edgeLabel,a;for(e.setEdge(r.edgeObj,t);r.dummy;)a=e.successors(n)[0],e.removeNode(n),t.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(t.x=r.x,t.y=r.y,t.width=r.width,t.height=r.height),n=a,r=e.node(n)})}function Ee(e){var n={};function r(t){var a=e.node(t);if(Object.prototype.hasOwnProperty.call(n,t))return a.rank;n[t]=!0;var o=D(E(e.outEdges(t),function(i){return r(i.w)-e.edge(i).minlen}));return(o===Number.POSITIVE_INFINITY||o===void 0||o===null)&&(o=0),a.rank=o}l(e.sources(),r)}function B(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function Rn(e){var n=new N({directed:!1}),r=e.nodes()[0],t=e.nodeCount();n.setNode(r,{});for(var a,o;Za(n,e)<t;)a=Qa(n,e),o=n.hasNode(a.v)?B(e,a):-B(e,a),ei(n,e,o);return n}function Za(e,n){function r(t){l(n.nodeEdges(t),function(a){var o=a.v,i=t===o?a.w:o;!e.hasNode(i)&&!B(n,a)&&(e.setNode(i,{}),e.setEdge(t,i,{}),r(i))})}return l(e.nodes(),r),e.nodeCount()}function Qa(e,n){return ye(n.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return B(n,r)})}function ei(e,n,r){l(e.nodes(),function(t){n.node(t).rank+=r})}function ni(){}ni.prototype=new Error;function kn(e,n,r){I(n)||(n=[n]);var t=(e.isDirected()?e.successors:e.neighbors).bind(e),a=[],o={};return l(n,function(i){if(!e.hasNode(i))throw new Error("Graph does not have node: "+i);_n(e,i,r==="post",o,t,a)}),a}function _n(e,n,r,t,a,o){Object.prototype.hasOwnProperty.call(t,n)||(t[n]=!0,r||o.push(n),l(a(n),function(i){_n(e,i,r,t,a,o)}),r&&o.push(n))}function ri(e,n){return kn(e,n,"post")}function ti(e,n){return kn(e,n,"pre")}C.initLowLimValues=Oe;C.initCutValues=Le;C.calcCutValue=Mn;C.leaveEdge=jn;C.enterEdge=Dn;C.exchangeEdges=Bn;function C(e){e=$a(e),Ee(e);var n=Rn(e);Oe(n),Le(n,e);for(var r,t;r=jn(n);)t=Dn(n,e,r),Bn(n,e,r,t)}function Le(e,n){var r=ri(e,e.nodes());r=r.slice(0,r.length-1),l(r,function(t){ai(e,n,t)})}function ai(e,n,r){var t=e.node(r),a=t.parent;e.edge(r,a).cutvalue=Mn(e,n,r)}function Mn(e,n,r){var t=e.node(r),a=t.parent,o=!0,i=n.edge(r,a),s=0;return i||(o=!1,i=n.edge(a,r)),s=i.weight,l(n.nodeEdges(r),function(d){var u=d.v===r,f=u?d.w:d.v;if(f!==a){var c=u===o,h=n.edge(d).weight;if(s+=c?h:-h,oi(e,r,f)){var v=e.edge(r,f).cutvalue;s+=c?-v:v}}}),s}function Oe(e,n){arguments.length<2&&(n=e.nodes()[0]),An(e,{},1,n)}function An(e,n,r,t,a){var o=r,i=e.node(t);return n[t]=!0,l(e.neighbors(t),function(s){Object.prototype.hasOwnProperty.call(n,s)||(r=An(e,n,r,s,t))}),i.low=o,i.lim=r++,a?i.parent=a:delete i.parent,r}function jn(e){return we(e.edges(),function(n){return e.edge(n).cutvalue<0})}function Dn(e,n,r){var t=r.v,a=r.w;n.hasEdge(t,a)||(t=r.w,a=r.v);var o=e.node(t),i=e.node(a),s=o,d=!1;o.lim>i.lim&&(s=i,d=!0);var u=$(n.edges(),function(f){return d===ze(e,e.node(f.v),s)&&d!==ze(e,e.node(f.w),s)});return ye(u,function(f){return B(n,f)})}function Bn(e,n,r,t){var a=r.v,o=r.w;e.removeEdge(a,o),e.setEdge(t.v,t.w,{}),Oe(e),Le(e,n),ii(e,n)}function ii(e,n){var r=we(e.nodes(),function(a){return!n.node(a).parent}),t=ti(e,r);t=t.slice(1),l(t,function(a){var o=e.node(a).parent,i=n.edge(a,o),s=!1;i||(i=n.edge(o,a),s=!0),n.node(a).rank=n.node(o).rank+(s?i.minlen:-i.minlen)})}function oi(e,n,r){return e.hasEdge(n,r)}function ze(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function si(e){switch(e.graph().ranker){case"network-simplex":Je(e);break;case"tight-tree":ui(e);break;case"longest-path":di(e);break;default:Je(e)}}var di=Ee;function ui(e){Ee(e),Rn(e)}function Je(e){C(e)}function fi(e){var n=A(e,"root",{},"_root"),r=ci(e),t=S(R(r))-1,a=2*t+1;e.graph().nestingRoot=n,l(e.edges(),function(i){e.edge(i).minlen*=a});var o=li(e)+1;l(e.children(),function(i){$n(e,n,a,o,t,r,i)}),e.graph().nodeRankFactor=a}function $n(e,n,r,t,a,o,i){var s=e.children(i);if(!s.length){i!==n&&e.setEdge(n,i,{weight:0,minlen:r});return}var d=We(e,"_bt"),u=We(e,"_bb"),f=e.node(i);e.setParent(d,i),f.borderTop=d,e.setParent(u,i),f.borderBottom=u,l(s,function(c){$n(e,n,r,t,a,o,c);var h=e.node(c),v=h.borderTop?h.borderTop:c,p=h.borderBottom?h.borderBottom:c,g=h.borderTop?t:2*t,b=v!==p?1:a-o[i]+1;e.setEdge(d,v,{weight:g,minlen:b,nestingEdge:!0}),e.setEdge(p,u,{weight:g,minlen:b,nestingEdge:!0})}),e.parent(i)||e.setEdge(n,d,{weight:0,minlen:a+o[i]})}function ci(e){var n={};function r(t,a){var o=e.children(t);o&&o.length&&l(o,function(i){r(i,a+1)}),n[t]=a}return l(e.children(),function(t){r(t,1)}),n}function li(e){return J(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function hi(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,l(e.edges(),function(r){var t=e.edge(r);t.nestingEdge&&e.removeEdge(r)})}function pi(e,n,r){var t={},a;l(r,function(o){for(var i=e.parent(o),s,d;i;){if(s=e.parent(i),s?(d=t[s],t[s]=i):(d=a,a=i),d&&d!==i){n.setEdge(d,i);return}i=s}})}function gi(e,n,r){var t=vi(e),a=new N({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return e.node(o)});return l(e.nodes(),function(o){var i=e.node(o),s=e.parent(o);(i.rank===n||i.minRank<=n&&n<=i.maxRank)&&(a.setNode(o),a.setParent(o,s||t),l(e[r](o),function(d){var u=d.v===o?d.w:d.v,f=a.edge(u,o),c=L(f)?0:f.weight;a.setEdge(u,o,{weight:e.edge(d).weight+c})}),Object.prototype.hasOwnProperty.call(i,"minRank")&&a.setNode(o,{borderLeft:i.borderLeft[n],borderRight:i.borderRight[n]}))}),a}function vi(e){for(var n;e.hasNode(n=xe("_root")););return n}function bi(e,n){for(var r=0,t=1;t<n.length;++t)r+=wi(e,n[t-1],n[t]);return r}function wi(e,n,r){for(var t=Ca(r,E(r,function(u,f){return f})),a=M(E(n,function(u){return F(E(e.outEdges(u),function(f){return{pos:t[f.w],weight:e.edge(f).weight}}),"pos")})),o=1;o<r.length;)o<<=1;var i=2*o-1;o-=1;var s=E(new Array(i),function(){return 0}),d=0;return l(a.forEach(function(u){var f=u.pos+o;s[f]+=u.weight;for(var c=0;f>0;)f%2&&(c+=s[f+1]),f=f-1>>1,s[f]+=u.weight;d+=u.weight*c})),d}function mi(e){var n={},r=$(e.nodes(),function(s){return!e.children(s).length}),t=S(E(r,function(s){return e.node(s).rank})),a=E(k(t+1),function(){return[]});function o(s){if(!Pn(n,s)){n[s]=!0;var d=e.node(s);a[d.rank].push(s),l(e.successors(s),o)}}var i=F(r,function(s){return e.node(s).rank});return l(i,o),a}function yi(e,n){return E(n,function(r){var t=e.inEdges(r);if(t.length){var a=J(t,function(o,i){var s=e.edge(i),d=e.node(i.v);return{sum:o.sum+s.weight*d.order,weight:o.weight+s.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}function xi(e,n){var r={};l(e,function(a,o){var i=r[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:o};L(a.barycenter)||(i.barycenter=a.barycenter,i.weight=a.weight)}),l(n.edges(),function(a){var o=r[a.v],i=r[a.w];!L(o)&&!L(i)&&(i.indegree++,o.out.push(r[a.w]))});var t=$(r,function(a){return!a.indegree});return Ei(t)}function Ei(e){var n=[];function r(o){return function(i){i.merged||(L(i.barycenter)||L(o.barycenter)||i.barycenter>=o.barycenter)&&Li(o,i)}}function t(o){return function(i){i.in.push(o),--i.indegree===0&&e.push(i)}}for(;e.length;){var a=e.pop();n.push(a),l(a.in.reverse(),r(a)),l(a.out,t(a))}return E($(n,function(o){return!o.merged}),function(o){return q(o,["vs","i","barycenter","weight"])})}function Li(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}function Oi(e,n){var r=Ga(e,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),t=r.lhs,a=F(r.rhs,function(f){return-f.i}),o=[],i=0,s=0,d=0;t.sort(Ni(!!n)),d=Ke(o,a,d),l(t,function(f){d+=f.vs.length,o.push(f.vs),i+=f.barycenter*f.weight,s+=f.weight,d=Ke(o,a,d)});var u={vs:M(o)};return s&&(u.barycenter=i/s,u.weight=s),u}function Ke(e,n,r){for(var t;n.length&&(t=W(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function Ni(e){return function(n,r){return n.barycenter<r.barycenter?-1:n.barycenter>r.barycenter?1:e?r.i-n.i:n.i-r.i}}function Fn(e,n,r,t){var a=e.children(n),o=e.node(n),i=o?o.borderLeft:void 0,s=o?o.borderRight:void 0,d={};i&&(a=$(a,function(p){return p!==i&&p!==s}));var u=yi(e,a);l(u,function(p){if(e.children(p.v).length){var g=Fn(e,p.v,r,t);d[p.v]=g,Object.prototype.hasOwnProperty.call(g,"barycenter")&&Ti(p,g)}});var f=xi(u,r);Pi(f,d);var c=Oi(f,t);if(i&&(c.vs=M([i,c.vs,s]),e.predecessors(i).length)){var h=e.node(e.predecessors(i)[0]),v=e.node(e.predecessors(s)[0]);Object.prototype.hasOwnProperty.call(c,"barycenter")||(c.barycenter=0,c.weight=0),c.barycenter=(c.barycenter*c.weight+h.order+v.order)/(c.weight+2),c.weight+=2}return c}function Pi(e,n){l(e,function(r){r.vs=M(r.vs.map(function(t){return n[t]?n[t].vs:t}))})}function Ti(e,n){L(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function Si(e){var n=Cn(e),r=Ze(e,k(1,n+1),"inEdges"),t=Ze(e,k(n-1,-1,-1),"outEdges"),a=mi(e);Qe(e,a);for(var o=Number.POSITIVE_INFINITY,i,s=0,d=0;d<4;++s,++d){Ci(s%2?r:t,s%4>=2),a=ne(e);var u=bi(e,a);u<o&&(d=0,i=ra(a),o=u)}Qe(e,i)}function Ze(e,n,r){return E(n,function(t){return gi(e,t,r)})}function Ci(e,n){var r=new N;l(e,function(t){var a=t.graph().root,o=Fn(t,a,r,n);l(o.vs,function(i,s){t.node(i).order=s}),pi(t,r,o.vs)})}function Qe(e,n){l(n,function(r){l(r,function(t,a){e.node(t).order=a})})}function Ii(e){var n=ki(e);l(e.graph().dummyChains,function(r){for(var t=e.node(r),a=t.edgeObj,o=Ri(e,n,a.v,a.w),i=o.path,s=o.lca,d=0,u=i[d],f=!0;r!==a.w;){if(t=e.node(r),f){for(;(u=i[d])!==s&&e.node(u).maxRank<t.rank;)d++;u===s&&(f=!1)}if(!f){for(;d<i.length-1&&e.node(u=i[d+1]).minRank<=t.rank;)d++;u=i[d]}e.setParent(r,u),r=e.successors(r)[0]}})}function Ri(e,n,r,t){var a=[],o=[],i=Math.min(n[r].low,n[t].low),s=Math.max(n[r].lim,n[t].lim),d,u;d=r;do d=e.parent(d),a.push(d);while(d&&(n[d].low>i||s>n[d].lim));for(u=d,d=t;(d=e.parent(d))!==u;)o.push(d);return{path:a.concat(o.reverse()),lca:u}}function ki(e){var n={},r=0;function t(a){var o=r;l(e.children(a),t),n[a]={low:o,lim:r++}}return l(e.children(),t),n}function _i(e,n){var r={};function t(a,o){var i=0,s=0,d=a.length,u=W(o);return l(o,function(f,c){var h=Ai(e,f),v=h?e.node(h).order:d;(h||f===u)&&(l(o.slice(s,c+1),function(p){l(e.predecessors(p),function(g){var b=e.node(g),w=b.order;(w<i||v<w)&&!(b.dummy&&e.node(p).dummy)&&Xn(r,g,p)})}),s=c+1,i=v)}),o}return J(n,t),r}function Mi(e,n){var r={};function t(o,i,s,d,u){var f;l(k(i,s),function(c){f=o[c],e.node(f).dummy&&l(e.predecessors(f),function(h){var v=e.node(h);v.dummy&&(v.order<d||v.order>u)&&Xn(r,h,f)})})}function a(o,i){var s=-1,d,u=0;return l(i,function(f,c){if(e.node(f).dummy==="border"){var h=e.predecessors(f);h.length&&(d=e.node(h[0]).order,t(i,u,c,s,d),u=c,s=d)}t(i,u,i.length,d,o.length)}),i}return J(n,a),r}function Ai(e,n){if(e.node(n).dummy)return we(e.predecessors(n),function(r){return e.node(r).dummy})}function Xn(e,n,r){if(n>r){var t=n;n=r,r=t}Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,configurable:!0,value:{},writable:!0});var a=e[n];Object.defineProperty(a,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function ji(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}function Di(e,n,r,t){var a={},o={},i={};return l(n,function(s){l(s,function(d,u){a[d]=d,o[d]=d,i[d]=u})}),l(n,function(s){var d=-1;l(s,function(u){var f=t(u);if(f.length){f=F(f,function(g){return i[g]});for(var c=(f.length-1)/2,h=Math.floor(c),v=Math.ceil(c);h<=v;++h){var p=f[h];o[u]===u&&d<i[p]&&!ji(r,u,p)&&(o[p]=u,o[u]=a[u]=a[p],d=i[p])}}})}),{root:a,align:o}}function Bi(e,n,r,t,a){var o={},i=$i(e,n,r,a),s=a?"borderLeft":"borderRight";function d(c,h){for(var v=i.nodes(),p=v.pop(),g={};p;)g[p]?c(p):(g[p]=!0,v.push(p),v=v.concat(h(p))),p=v.pop()}function u(c){o[c]=i.inEdges(c).reduce(function(h,v){return Math.max(h,o[v.v]+i.edge(v))},0)}function f(c){var h=i.outEdges(c).reduce(function(p,g){return Math.min(p,o[g.w]-i.edge(g))},Number.POSITIVE_INFINITY),v=e.node(c);h!==Number.POSITIVE_INFINITY&&v.borderType!==s&&(o[c]=Math.max(o[c],h))}return d(u,i.predecessors.bind(i)),d(f,i.successors.bind(i)),l(t,function(c){o[c]=o[r[c]]}),o}function $i(e,n,r,t){var a=new N,o=e.graph(),i=Ui(o.nodesep,o.edgesep,t);return l(n,function(s){var d;l(s,function(u){var f=r[u];if(a.setNode(f),d){var c=r[d],h=a.edge(c,f);a.setEdge(c,f,Math.max(i(e,u,d),h||0))}d=u})}),a}function Fi(e,n){return ye(R(n),function(r){var t=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return fa(r,function(o,i){var s=Vi(e,i)/2;t=Math.max(o+s,t),a=Math.min(o-s,a)}),t-a})}function Xi(e,n){var r=R(n),t=D(r),a=S(r);l(["u","d"],function(o){l(["l","r"],function(i){var s=o+i,d=e[s],u;if(d!==n){var f=R(d);u=i==="l"?t-D(f):a-S(f),u&&(e[s]=ee(d,function(c){return c+u}))}})})}function Gi(e,n){return ee(e.ul,function(r,t){if(n)return e[n.toLowerCase()][t];var a=F(E(e,t));return(a[1]+a[2])/2})}function Yi(e){var n=ne(e),r=ue(_i(e,n),Mi(e,n)),t={},a;l(["u","d"],function(i){a=i==="u"?n:R(n).reverse(),l(["l","r"],function(s){s==="r"&&(a=E(a,function(c){return R(c).reverse()}));var d=(i==="u"?e.predecessors:e.successors).bind(e),u=Di(e,a,r,d),f=Bi(e,a,u.root,u.align,s==="r");s==="r"&&(f=ee(f,function(c){return-c})),t[i+s]=f})});var o=Fi(e,t);return Xi(t,o),Gi(t,e.graph().align)}function Ui(e,n,r){return function(t,a,o){var i=t.node(a),s=t.node(o),d=0,u;if(d+=i.width/2,Object.prototype.hasOwnProperty.call(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=-i.width/2;break;case"r":u=i.width/2;break}if(u&&(d+=r?u:-u),u=0,d+=(i.dummy?n:e)/2,d+=(s.dummy?n:e)/2,d+=s.width/2,Object.prototype.hasOwnProperty.call(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=s.width/2;break;case"r":u=-s.width/2;break}return u&&(d+=r?u:-u),u=0,d}}function Vi(e,n){return e.node(n).width}function Wi(e){e=Sn(e),qi(e),ca(Yi(e),function(n,r){e.node(r).x=n})}function qi(e){var n=ne(e),r=e.graph().ranksep,t=0;l(n,function(a){var o=S(E(a,function(i){return e.node(i).height}));l(a,function(i){e.node(i).y=t+o/2}),t+=o+r})}function Hi(e,n){var r=Ya;r("layout",()=>{var t=r(" buildLayoutGraph",()=>io(e));r(" runLayout",()=>zi(t,r)),r(" updateInputGraph",()=>Ji(e,t))})}function zi(e,n){n(" makeSpaceForEdgeLabels",()=>oo(e)),n(" removeSelfEdges",()=>vo(e)),n(" acyclic",()=>ja(e)),n(" nestingGraph.run",()=>fi(e)),n(" rank",()=>si(Sn(e))),n(" injectEdgeLabelProxies",()=>so(e)),n(" removeEmptyRanks",()=>Xa(e)),n(" nestingGraph.cleanup",()=>hi(e)),n(" normalizeRanks",()=>Fa(e)),n(" assignRankMinMax",()=>uo(e)),n(" removeEdgeLabelProxies",()=>fo(e)),n(" normalize.run",()=>za(e)),n(" parentDummyChains",()=>Ii(e)),n(" addBorderSegments",()=>Ua(e)),n(" order",()=>Si(e)),n(" insertSelfEdges",()=>bo(e)),n(" adjustCoordinateSystem",()=>Va(e)),n(" position",()=>Wi(e)),n(" positionSelfEdges",()=>wo(e)),n(" removeBorderNodes",()=>go(e)),n(" normalize.undo",()=>Ka(e)),n(" fixupEdgeLabelCoords",()=>ho(e)),n(" undoCoordinateSystem",()=>Wa(e)),n(" translateGraph",()=>co(e)),n(" assignNodeIntersects",()=>lo(e)),n(" reversePoints",()=>po(e)),n(" acyclic.undo",()=>Ba(e))}function Ji(e,n){l(e.nodes(),function(r){var t=e.node(r),a=n.node(r);t&&(t.x=a.x,t.y=a.y,n.children(r).length&&(t.width=a.width,t.height=a.height))}),l(e.edges(),function(r){var t=e.edge(r),a=n.edge(r);t.points=a.points,Object.prototype.hasOwnProperty.call(a,"x")&&(t.x=a.x,t.y=a.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var Ki=["nodesep","edgesep","ranksep","marginx","marginy"],Zi={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Qi=["acyclicer","ranker","rankdir","align"],eo=["width","height"],no={width:0,height:0},ro=["minlen","weight","width","height","labeloffset"],to={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},ao=["labelpos"];function io(e){var n=new N({multigraph:!0,compound:!0}),r=oe(e.graph());return n.setGraph(ue({},Zi,ie(r,Ki),q(r,Qi))),l(e.nodes(),function(t){var a=oe(e.node(t));n.setNode(t,aa(ie(a,eo),no)),n.setParent(t,e.parent(t))}),l(e.edges(),function(t){var a=oe(e.edge(t));n.setEdge(t,ue({},to,ie(a,ro),q(a,ao)))}),n}function oo(e){var n=e.graph();n.ranksep/=2,l(e.edges(),function(r){var t=e.edge(r);t.minlen*=2,t.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?t.width+=t.labeloffset:t.height+=t.labeloffset)})}function so(e){l(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var t=e.node(n.v),a=e.node(n.w),o={rank:(a.rank-t.rank)/2+t.rank,e:n};A(e,"edge-proxy",o,"_ep")}})}function uo(e){var n=0;l(e.nodes(),function(r){var t=e.node(r);t.borderTop&&(t.minRank=e.node(t.borderTop).rank,t.maxRank=e.node(t.borderBottom).rank,n=S(n,t.maxRank))}),e.graph().maxRank=n}function fo(e){l(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function co(e){var n=Number.POSITIVE_INFINITY,r=0,t=Number.POSITIVE_INFINITY,a=0,o=e.graph(),i=o.marginx||0,s=o.marginy||0;function d(u){var f=u.x,c=u.y,h=u.width,v=u.height;n=Math.min(n,f-h/2),r=Math.max(r,f+h/2),t=Math.min(t,c-v/2),a=Math.max(a,c+v/2)}l(e.nodes(),function(u){d(e.node(u))}),l(e.edges(),function(u){var f=e.edge(u);Object.prototype.hasOwnProperty.call(f,"x")&&d(f)}),n-=i,t-=s,l(e.nodes(),function(u){var f=e.node(u);f.x-=n,f.y-=t}),l(e.edges(),function(u){var f=e.edge(u);l(f.points,function(c){c.x-=n,c.y-=t}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=n),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=t)}),o.width=r-n+i,o.height=a-t+s}function lo(e){l(e.edges(),function(n){var r=e.edge(n),t=e.node(n.v),a=e.node(n.w),o,i;r.points?(o=r.points[0],i=r.points[r.points.length-1]):(r.points=[],o=a,i=t),r.points.unshift(Ve(t,o)),r.points.push(Ve(a,i))})}function ho(e){l(e.edges(),function(n){var r=e.edge(n);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function po(e){l(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function go(e){l(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),t=e.node(r.borderTop),a=e.node(r.borderBottom),o=e.node(W(r.borderLeft)),i=e.node(W(r.borderRight));r.width=Math.abs(i.x-o.x),r.height=Math.abs(a.y-t.y),r.x=o.x+r.width/2,r.y=t.y+r.height/2}}),l(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function vo(e){l(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function bo(e){var n=ne(e);l(n,function(r){var t=0;l(r,function(a,o){var i=e.node(a);i.order=o+t,l(i.selfEdges,function(s){A(e,"selfedge",{width:s.label.width,height:s.label.height,rank:i.rank,order:o+ ++t,e:s.e,label:s.label},"_se")}),delete i.selfEdges})})}function wo(e){l(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var t=e.node(r.e.v),a=t.x+t.width/2,o=t.y,i=r.x-a,s=t.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:a+2*i/3,y:o-s},{x:a+5*i/6,y:o-s},{x:a+i,y:o},{x:a+5*i/6,y:o+s},{x:a+2*i/3,y:o+s}],r.label.x=r.x,r.label.y=r.y}})}function ie(e,n){return ee(q(e,n),Number)}function oe(e){var n={};return l(e,function(r,t){n[t.toLowerCase()]=r}),n}var en=x((e,n,r)=>Math.max(n,Math.min(r,e)),"clamp"),nn=x((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),mo=x(e=>e==="flowchart"||e==="flowchart-v2"||e==="stateDiagram"||e==="er"||e==="classDiagram","shouldMergeSelfLoopSegments"),yo=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],xo=x((e,n,r,t,a)=>{const o=[],i=new Set;if(r.forEach(({start:f,end:c})=>{f!==t&&i.add(f),c!==t&&i.add(c)}),i.forEach(f=>{const c=e.node(f);typeof c?.x=="number"&&typeof c?.y=="number"&&o.push(c)}),o.length===0&&r.forEach(({edge:f})=>{(f.points??[]).forEach(c=>{typeof c?.x=="number"&&typeof c?.y=="number"&&o.push(c)})}),o.length===0)return nn(a);const s=o.reduce((f,c)=>({x:f.x+c.x/o.length,y:f.y+c.y/o.length}),{x:0,y:0}),d=s.x-n.x,u=s.y-n.y;return Math.abs(d)>Math.abs(u)?d>0?"right":"left":Math.abs(u)>0?u>0?"bottom":"top":nn(a)},"getSelfLoopSide"),Eo=x((e,n="top",r=0,t=0)=>{const a=e.x,o=e.y-r,i=e.width/2,s=e.height/2,d=Math.max(36,Math.min(100,e.width*.8)),u=en(Math.max(t,e.width*.35),36,d),f=en(Math.min(e.width,e.height)*.45,24,48);switch(n){case"bottom":{const c=o+s;return[{x:a-u/2,y:c},{x:a-u/2,y:c+f},{x:a+u/2,y:c+f},{x:a+u/2,y:c}]}case"right":{const c=a+i;return[{x:c,y:o-u/2},{x:c+f,y:o-u/2},{x:c+f,y:o+u/2},{x:c,y:o+u/2}]}case"left":{const c=a-i;return[{x:c,y:o-u/2},{x:c-f,y:o-u/2},{x:c-f,y:o+u/2},{x:c,y:o+u/2}]}case"top":default:{const c=o-s;return[{x:a-u/2,y:c},{x:a-u/2,y:c-f},{x:a+u/2,y:c-f},{x:a+u/2,y:c}]}}},"getSelfLoopPoints"),Lo=x((e,n,r="top",t=0,a={})=>{const i=e.x,s=e.y-t,d=a.width??0,u=a.height??0;switch(r){case"bottom":return{x:i,y:Math.max(...n.map(f=>f.y))+u/2+4};case"right":return{x:Math.max(...n.map(f=>f.x))+d/2+4,y:s};case"left":return{x:Math.min(...n.map(f=>f.x))-d/2-4,y:s};case"top":default:return{x:i,y:Math.min(...n.map(f=>f.y))-u/2-4}}},"getSelfLoopLabelPosition"),Gn=x((e,n=0,{mergeSelfLoops:r=!0}={})=>{const t=new Map,a=[],o=e.graph()?.rankdir;return e.edges().forEach(i=>{const s=e.edge(i);if(r&&s.selfLoop){const d=s.selfLoop.id;t.has(d)||t.set(d,[]),t.get(d).push({edge:s,start:i.v,end:i.w})}else a.push({edge:s,start:i.v,end:i.w})}),t.forEach(i=>{if(i.length!==3){i.forEach(w=>a.push(w));return}i.sort((w,P)=>w.edge.selfLoop.order-P.edge.selfLoop.order);const[s,d,u]=i,f=s.edge.originalEdge??d.edge.originalEdge??u.edge.originalEdge??d.edge,c=e.node(f.start);if(!c){i.forEach(w=>a.push(w));return}const h={width:d.edge.width,height:d.edge.height},v=xo(e,c,i,f.start,o),p=Eo(c,v,n,h.width??0),g=Lo(c,p,v,n,h),b={...d.edge,...f,id:f.id,points:p,start:f.start,end:f.end,x:g.x,y:g.y,width:h.width,height:h.height,labelStyle:d.edge.labelStyle,fromCluster:s.edge.fromCluster??d.edge.fromCluster??u.edge.fromCluster,toCluster:s.edge.toCluster??d.edge.toCluster??u.edge.toCluster};delete b.selfLoop,delete b.originalEdge,a.push({edge:b,start:b.start,end:b.end})}),a},"getEdgesToRender"),Yn=x(async({element:e,graph:n,diagramType:r,id:t,parentCluster:a,siteConfig:o})=>{const i=n.graph().rankdir;m.trace("Dir in recursive render - dir:",i);const{clusters:s,edgePaths:d,edgeLabels:u,nodes:f,rootGroups:c}=Hn(e,{edgePathsClass:"edgePaths"});n.nodes()?m.info("Recursive render XXX",n.nodes()):m.info("No nodes found for",n),n.edges().length>0&&m.info("Recursive edges",n.edge(n.edges()[0]));const h=mo(r);await Promise.all(n.nodes().map(async function(g){const b=n.node(g);if(a!==void 0){const w=JSON.parse(JSON.stringify(a.clusterData));m.trace(`Setting data for parent cluster XXX
2
- Node.id = `,g,`
3
- data=`,w.height,`
4
- Parent cluster`,a.height),n.setNode(a.id,w),n.parent(g)||(m.trace("Setting parent",g,a.id),n.setParent(g,a.id,w))}if(m.info("(Insert) Node XXX"+g+": "+JSON.stringify(n.node(g))),b?.clusterNode){m.info("Cluster identified XBX",g,b.width,n.node(g));const{ranksep:w,nodesep:P}=n.graph();b.graph.setGraph({...b.graph.graph(),ranksep:w+25,nodesep:P});const Ne=await So({element:f,graph:b.graph,diagramType:r,id:t,parentCluster:n.node(g),siteConfig:o}),Pe=Ne.elem;Kn(b,Pe),b.diff=Ne.diff||0,m.info("New compound node after recursive render XAX",g,"width",b.width,"height",b.height),Zn(Pe,b)}else n.children(g).length>0?(m.trace("Cluster - the non recursive path XBX",g,b.id,b,b.width,"Graph:",n),m.trace(Te(b.id,n)),T.set(b.id,{id:Te(b.id,n),node:b})):(m.trace("Node - the non recursive path XAX",g,f,n.node(g),i),await zn(f,n.node(g),{config:o,dir:i}))})),await x(async()=>{const g=n.edges().map(async function(b){const w=n.edge(b.v,b.w,b.name);if(m.info("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),m.info("Edge "+b.v+" -> "+b.w+": ",b," ",JSON.stringify(n.edge(b))),m.info("Fix",T,"ids:",b.v,b.w,"Translating: ",T.get(b.v),T.get(b.w)),h&&w.selfLoop){if(w.selfLoop.order!==1)return;const P={...w.originalEdge,...w,id:w.selfLoop.id,startLabelLeft:w.originalEdge?.startLabelLeft??w.startLabelLeft,startLabelRight:w.originalEdge?.startLabelRight??w.startLabelRight,endLabelLeft:w.originalEdge?.endLabelLeft??w.endLabelLeft,endLabelRight:w.originalEdge?.endLabelRight??w.endLabelRight};await Se(u,P),w.width=P.width,w.height=P.height,w.labelStyle=P.labelStyle;return}await Se(u,w)});await Promise.all(g)},"processEdges")();const{subGraphTitleTotalMargin:p}=Qn(o);return{elem:c,graph:n,groups:{clusters:s,edgePaths:d,edgeLabels:u,nodes:f,rootGroups:c},diagramType:r,id:t,mergeSelfLoops:h,subGraphTitleTotalMargin:p}},"measureDagreGraph"),Un=x(e=>{m.info("############################################# XXX"),m.info("### Layout ### XXX"),m.info("############################################# XXX"),Hi(e)},"runDagreGraphLayout"),Oo=x((e,n,r)=>{const t=e.node(n);if(!t)return;const a={...t};return t?.clusterNode?a.y=(t.y??0)+r:e.children(n).length>0?a.height=(t.height??0)+r:a.y=(t.y??0)+r/2,a},"normalizeDagreNode"),rn=x((e,n)=>{yo.forEach(r=>{n[r]!==void 0&&(e[r]=n[r])})},"applyDagreNodeLayout"),No=x((e,n,r,t)=>({...e,start:e.start??n,end:e.end??r,points:(e.points??[]).map(a=>({...a,y:typeof a.y=="number"?a.y+t:a.y}))}),"normalizeDagreEdge"),Po=x((e,n)=>{const{graph:r,mergeSelfLoops:t,subGraphTitleTotalMargin:a=0}=n,o=new Map(e.nodes.map(s=>[s.id,s]));ce(r).forEach(s=>{const d=Oo(r,s,a);if(!d)return;rn(r.node(s),d);const u=o.get(s);u&&rn(u,d)});const i=a/2;return e.edges=Gn(r,i,{mergeSelfLoops:t}).map(({edge:s,start:d,end:u})=>No(s,d,u,i)),e},"applyDagreLayoutResult"),To=x(async({elem:e,graph:n,groups:{clusters:r,edgePaths:t},diagramType:a,id:o,mergeSelfLoops:i,subGraphTitleTotalMargin:s})=>{let d=0;await Promise.all(ce(n).map(async function(c){const h=n.node(c);if(m.info("Position XBX => "+c+": ("+h.x,","+h.y,") width: ",h.width," height: ",h.height),h?.clusterNode)h.y+=s,m.info("A tainted cluster node XBX1",c,h.id,h.width,h.height,h.x,h.y,n.parent(c)),T.get(h.id).node=h,Ce(h);else if(n.children(c).length>0){m.info("A pure cluster node XBX1",c,h.id,h.x,h.y,h.width,h.height,n.parent(c)),h.height+=s,n.node(h.parentId);const v=h?.padding/2||0,p=h?.labelBBox?.height||0,g=p-v||0;m.debug("OffsetY",g,"labelHeight",p,"halfPadding",v),await er(r,h),T.get(h.id).node=h}else{const v=n.node(h.parentId);h.y+=s/2,m.info("A regular node XBX1 - using the padding",h.id,"parent",h.parentId,h.width,h.height,h.x,h.y,"offsetY",h.offsetY,"parent",v,v?.offsetY,h),Ce(h)}}));const u=s/2;return Gn(n,u,{mergeSelfLoops:i}).forEach(function({edge:c,start:h,end:v}){m.info("Edge "+h+" -> "+v+": "+JSON.stringify(c),c),c.points.forEach(w=>w.y+=u);const p=n.node(h),g=n.node(v),b=nr(t,c,T,a,p,g,o);rr(c,b)}),n.nodes().forEach(function(c){const h=n.node(c);m.info(c,h.type,h.diff),h.isGroup&&(d=h.diff)}),m.warn("Returning from recursive render XAX",e,d),{elem:e,diff:d}},"paintDagreLayoutCore"),So=x(async e=>{const n=await Yn(e);return Un(n.graph),await To(n)},"renderDagreSubgraph"),Vn=x(e=>{const n=new N({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(r=>{n.setNode(r.id,{...r}),r.parentId&&n.setParent(r.id,r.parentId)}),m.debug("Edges:",e.edges),e.edges.forEach(r=>{if(r.start===r.end){const t=r.start,a=t+"---"+t+"---1",o=t+"---"+t+"---2",i=n.node(t);n.setNode(a,{domId:a,id:a,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(a,i.parentId),n.setNode(o,{domId:o,id:o,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(o,i.parentId);const s=structuredClone(r),d=structuredClone(r),u=structuredClone(r),f=structuredClone(r);d.originalEdge=s,d.selfLoop={id:s.id,order:0},u.originalEdge=s,u.selfLoop={id:s.id,order:1},f.originalEdge=s,f.selfLoop={id:s.id,order:2},d.label="",d.arrowTypeEnd="none",d.endLabelLeft="",d.endLabelRight="",d.startLabelLeft="",d.id=t+"-cyclic-special-1",u.startLabelRight="",u.startLabelLeft="",u.endLabelLeft="",u.endLabelRight="",u.arrowTypeStart="none",u.arrowTypeEnd="none",u.id=t+"-cyclic-special-mid",f.label="",f.startLabelRight="",f.startLabelLeft="",f.arrowTypeStart="none",i.isGroup&&(d.fromCluster=t,f.toCluster=t),f.id=t+"-cyclic-special-2",f.arrowTypeStart="none",n.setEdge(t,a,d,t+"-cyclic-special-0"),n.setEdge(a,o,u,t+"-cyclic-special-1"),n.setEdge(o,t,f,t+"-cyclic-special-2")}else n.setEdge(r.start,r.end,{...r},r.id)}),Wn(n),{graph:n}},"prepareLayoutForDagre"),Co=x(async(e,{element:n,preparedLayout:r})=>{const t=r??Vn(e),a=Jn(),o=await Yn({element:n,graph:t.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:a});return t.measuredLayout=o,o},"measureDagreLayout"),Io=x((e,n)=>{const r=n.preparedLayout?.measuredLayout;if(!r)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return Un(r.graph),Po(e,r),r},"runDagreLayoutCore"),Ro=x((e,{measure:n})=>ce(n.graph).map(r=>n.graph.node(r)).filter(Boolean),"getDagrePaintNodes"),ko=x((e,n,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),Do=qn({prepareLayout:Vn,measureLayout:Co,runLayoutCore:Io,paintOptions:{clusterDb:T,getNodes:Ro,getEdgeNode:ko,skipNode:x((e,{measure:n})=>!n.graph.hasNode(e.id),"skipNode"),isCluster:x((e,{measure:n})=>n.graph.hasNode(e.id)&&(n.graph.children(e.id)??[]).length>0,"isCluster")}});export{Po as applyDagreLayoutResult,Gn as getEdgesToRender,Co as measureDagreLayout,Vn as prepareLayoutForDagre,Do as render,Io as runDagreLayoutCore};
@@ -1,24 +0,0 @@
1
- import{p as pe}from"./chunk-JWPE2WC7-BXnjDdh1.js";import{_ as m,W as de,L as X,N as O,Q as he,d as me,as as D,l as G,T as I,at as ue,au as fe,av as L,k as _,b as ye,a as ge,q as Se,t as xe,g as be,s as ve,O as Ce,aw as we,z as Te}from"./mermaid-C_q9pug0.js";import{s as $e}from"./chunk-VQ5W62QI-BM7ZZo1I.js";import{p as Le}from"./cynefin-EF2NZ3EQ-DypLIJxl.js";import"./markdown-DVehI1Sg.js";var ee=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=ye,this.getAccTitle=ge,this.setDiagramTitle=Se,this.getDiagramTitle=xe,this.getAccDescription=be,this.setAccDescription=ve}static{m(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){const n=Ce,s=X();return O({...n.treemap,...s.treemap??{}})}addNode(n,s){this.nodes.push(n),this.levels.set(n,s),s===0&&(this.outerNodes.push(n),this.root??=n)}getRoot(){return{name:"",children:this.outerNodes}}addClass(n,s){const i=this.classes.get(n)??{id:n,styles:[],textStyles:[]},c=s.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");c&&c.forEach(l=>{we(l)&&(i?.textStyles?i.textStyles.push(l):i.textStyles=[l]),i?.styles?i.styles.push(l):i.styles=[l]}),this.classes.set(n,i)}getClasses(){return this.classes}getStylesForClass(n){return this.classes.get(n)?.styles??[]}clear(){Te(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function te(n){if(!n.length)return[];const s=[],i=[];return n.forEach(c=>{const l={name:c.name,children:c.type==="Leaf"?void 0:[]};for(l.classSelector=c?.classSelector,c?.cssCompiledStyles&&(l.cssCompiledStyles=c.cssCompiledStyles),c.type==="Leaf"&&c.value!==void 0&&(l.value=c.value);i.length>0&&i[i.length-1].level>=c.level;)i.pop();if(i.length===0)s.push(l);else{const r=i[i.length-1].node;r.children?r.children.push(l):r.children=[l]}c.type!=="Leaf"&&i.push({node:l,level:c.level})}),s}m(te,"buildHierarchy");var Fe=m((n,s)=>{pe(n,s);const i=[];for(const r of n.TreemapRows??[])r.$type==="ClassDefStatement"&&s.addClass(r.className??"",r.styleText??"");for(const r of n.TreemapRows??[]){const d=r.item;if(!d)continue;const h=r.indent?parseInt(r.indent):0,k=Ne(d),a=d.classSelector?s.getStylesForClass(d.classSelector):[],N=a.length>0?a:void 0,x={level:h,name:k,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:N};i.push(x)}const c=te(i),l=m((r,d)=>{for(const h of r)s.addNode(h,d),h.children&&h.children.length>0&&l(h.children,d+1)},"addNodesRecursively");l(c,0)},"populate"),Ne=m(n=>n.name?String(n.name):"","getItemName"),ae={parser:{yy:void 0},parse:m(async n=>{try{const i=await Le("treemap",n);G.debug("Treemap AST:",i);const c=ae.parser?.yy;if(!(c instanceof ee))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Fe(i,c)}catch(s){throw G.error("Error parsing treemap:",s),s}},"parse")},ze=10,F=10,V=25,Ae=m((n,s,i,c)=>{const l=c.db,r=l.getConfig(),d=r.padding??ze,h=l.getDiagramTitle(),k=l.getRoot(),{themeVariables:a}=X();if(!k)return;const N=h?30:0,x=he(s),Y=r.nodeWidth?r.nodeWidth*F:960,j=r.nodeHeight?r.nodeHeight*F:500,H=Y,q=j+N;x.attr("viewBox",`0 0 ${H} ${q}`),me(x,q,H,r.useMaxWidth);let b;try{const e=r.valueFormat||",";if(e==="$0,0")b=m(t=>"$"+D(",")(t),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),o=t?t[0]:"";b=m(u=>"$"+D(","+o)(u),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);b=m(o=>"$"+D(t||"")(o),"valueFormat")}else b=D(e)}catch(e){G.error("Error creating format function:",e),b=D(",")}const z=I().range(["transparent",a.cScale0,a.cScale1,a.cScale2,a.cScale3,a.cScale4,a.cScale5,a.cScale6,a.cScale7,a.cScale8,a.cScale9,a.cScale10,a.cScale11]),le=I().range(["transparent",a.cScalePeer0,a.cScalePeer1,a.cScalePeer2,a.cScalePeer3,a.cScalePeer4,a.cScalePeer5,a.cScalePeer6,a.cScalePeer7,a.cScalePeer8,a.cScalePeer9,a.cScalePeer10,a.cScalePeer11]),M=I().range([a.cScaleLabel0,a.cScaleLabel1,a.cScaleLabel2,a.cScaleLabel3,a.cScaleLabel4,a.cScaleLabel5,a.cScaleLabel6,a.cScaleLabel7,a.cScaleLabel8,a.cScaleLabel9,a.cScaleLabel10,a.cScaleLabel11]);h&&x.append("text").attr("x",H/2).attr("y",N/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const Q=x.append("g").attr("transform",`translate(0, ${N})`).attr("class","treemapContainer"),se=ue(k).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),U=fe().size([Y,j]).paddingTop(e=>e.children&&e.children.length>0?V+F:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?F:0).paddingRight(e=>e.children&&e.children.length>0?F:0).paddingBottom(e=>e.children&&e.children.length>0?F:0).round(!0)(se),ne=U.descendants().filter(e=>e.children&&e.children.length>0),A=Q.selectAll(".treemapSection").data(ne).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);A.append("rect").attr("width",e=>e.x1-e.x0).attr("height",V).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),A.append("clipPath").attr("id",(e,t)=>`clip-section-${s}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",V),A.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>z(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>le(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const t=L({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),A.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",V/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,t)=>`url(#clip-section-${s}-${t})`).attr("style",e=>{if(e.depth===0)return"display: none;";const t="dominant-baseline: middle; font-size: 12px; fill:"+M(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",o=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+o.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const t=_(this),o=e.data.name;t.text(o);const u=e.x1-e.x0,y=6;let f;r.showValues!==!1&&e.value?f=u-10-30-10-y:f=u-y-6;const p=Math.max(15,f),v=t.node();if(v.getComputedTextLength()>p){let w=o;for(;w.length>0;){if(w=o.substring(0,w.length-1),w.length===0){t.text("..."),v.getComputedTextLength()>p&&t.text("");break}if(t.text(w+"..."),v.getComputedTextLength()<=p)break}}}),r.showValues!==!1&&A.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",V/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?b(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const t="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+M(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",o=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+o.labelStyles.replace("color:","fill:")});const J=U.leaves(),g=J.length>20,re=g?16:38,W=g?14:28,T=g?4:8,P=g?4:6,R=g?2:4,K=g?8:10,B=g?1:2,E=Q.selectAll(".treemapLeafGroup").data(J).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);E.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?z(e.parent.data.name):z(e.data.name)).attr("style",e=>L({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?z(e.parent.data.name):z(e.data.name)).attr("stroke-width",3),E.append("clipPath").attr("id",(e,t)=>`clip-${s}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),E.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const t=`text-anchor: middle; dominant-baseline: middle; font-size: ${re}px;fill:`+M(e.data.name)+";",o=L({cssCompiledStyles:e.data.cssCompiledStyles});return t+o.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,t)=>`url(#clip-${s}-${t})`).text(e=>e.data.name).each(function(e){const t=_(this),o=e.x1-e.x0,u=e.y1-e.y0,y=t.node(),f=o-2*R,$=u-2*R;if(f<K||$<K){t.style("display","none");return}let p=parseInt(t.style("font-size"),10);const v=.6;for(;y.getComputedTextLength()>f&&p>T;)p--,t.style("font-size",`${p}px`);let S=Math.max(P,Math.min(W,Math.round(p*v))),C=p+B+S;for(;C>$&&p>T&&(p--,S=Math.max(P,Math.min(W,Math.round(p*v))),!(S<P&&p===T));)t.style("font-size",`${p}px`),C=p+B+S;t.style("font-size",`${p}px`),g?(p<T||$<T)&&t.style("display","none"):(y.getComputedTextLength()>f||p<T||$<p)&&t.style("display","none")}),r.showValues!==!1&&E.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>{const o=`text-anchor: middle; dominant-baseline: hanging; font-size: ${W}px;fill:`+M(t.data.name)+";",u=L({cssCompiledStyles:t.data.cssCompiledStyles});return o+u.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,o)=>`url(#clip-${s}-${o})`).text(t=>t.value?b(t.value):"").each(function(t){const o=_(this),u=this.parentNode;if(!u){o.style("display","none");return}const y=_(u).select(".treemapLabel");if(y.empty()||y.style("display")==="none"){o.style("display","none");return}const f=parseFloat(y.style("font-size")),p=Math.max(P,Math.min(W,Math.round(f*.6)));o.style("font-size",`${p}px`);const S=(t.y1-t.y0)/2+f/2+B;o.attr("y",S);const C=t.x1-t.x0,Z=t.y1-t.y0-4,ce=C-2*R;o.node().getComputedTextLength()>ce||S+p>Z||p<P?o.style("display","none"):o.style("display",null)});const oe=r.diagramPadding??8;$e(x,oe,"flowchart",r?.useMaxWidth||!1)},"draw"),Pe=m(function(n,s){return s.db.getClasses()},"getClasses"),De={draw:Ae,getClasses:Pe},Ve={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},ke=m(({treemap:n}={})=>{const s=de(),i=X(),c=O(s,i.themeVariables),l=O(Ve,n),r=l.titleColor??c.titleColor,d=l.labelColor??c.textColor,h=l.valueColor??c.textColor;return`
2
- .treemapNode.section {
3
- stroke: ${l.sectionStrokeColor};
4
- stroke-width: ${l.sectionStrokeWidth};
5
- fill: ${l.sectionFillColor};
6
- }
7
- .treemapNode.leaf {
8
- stroke: ${l.leafStrokeColor};
9
- stroke-width: ${l.leafStrokeWidth};
10
- fill: ${l.leafFillColor};
11
- }
12
- .treemapLabel {
13
- fill: ${d};
14
- font-size: ${l.labelFontSize};
15
- }
16
- .treemapValue {
17
- fill: ${h};
18
- font-size: ${l.valueFontSize};
19
- }
20
- .treemapTitle {
21
- fill: ${r};
22
- font-size: ${l.titleFontSize};
23
- }
24
- `},"getStyles"),Me=ke,Oe={parser:ae,get db(){return new ee},renderer:De,styles:Me};export{Oe as diagram};
@@ -1,24 +0,0 @@
1
- import{p as T}from"./chunk-JWPE2WC7-BXnjDdh1.js";import{_ as f,N as y,Q as z,d as E,l as B,b as F,a as P,q as A,t as W,g as _,s as N,L,O as M,z as O}from"./mermaid-C_q9pug0.js";import{p as Y}from"./cynefin-EF2NZ3EQ-DypLIJxl.js";import"./markdown-DVehI1Sg.js";var I=M.packet,$=class{constructor(){this.packet=[],this.setAccTitle=F,this.getAccTitle=P,this.setDiagramTitle=A,this.getDiagramTitle=W,this.getAccDescription=_,this.setAccDescription=N}static{f(this,"PacketDB")}getConfig(){const t=y({...I,...L().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){O(),this.packet=[]}},j=1e4,q=f((t,e)=>{T(t,e);let r=-1,s=[],i=1;const{bitsPerRow:l}=e.getConfig();for(let{start:a,end:o,bits:d,label:g}of t.blocks){if(a!==void 0&&o!==void 0&&o<a)throw new Error(`Packet block ${a} - ${o} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${o??a} is not contiguous. It should start from ${r+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(o??=a+(d??1)-1,d??=o-a+1,r=o,B.debug(`Packet block ${a} - ${r} with label ${g}`);s.length<=l+1&&e.getPacket().length<j;){const[c,p]=G({start:a,end:o,bits:d,label:g},i,l);if(s.push(c),c.end+1===i*l&&(e.pushWord(s),s=[],i++),!p)break;({start:a,end:o,bits:d,label:g}=p)}}e.pushWord(s)},"populate"),G=f((t,e,r)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const s=e*r-1,i=e*r;return[{start:t.start,end:s,label:t.label,bits:s-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),C={parser:{yy:void 0},parse:f(async t=>{const e=await Y("packet",t),r=C.parser?.yy;if(!(r instanceof $))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");B.debug(e),q(e,r)},"parse")},H=f((t,e,r,s)=>{const i=s.db,l=i.getConfig(),{rowHeight:a,paddingY:o,bitWidth:d,bitsPerRow:g}=l,c=i.getPacket(),p=i.getDiagramTitle(),b=a+o,n=b*(c.length+1)-(p?0:a),h=d*g+2,k=z(e);k.attr("viewBox",`0 0 ${h} ${n}`),E(k,n,h,l.useMaxWidth);for(const[v,u]of c.entries())K(k,u,v,l);k.append("text").text(p).attr("x",h/2).attr("y",n-b/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),K=f((t,e,r,{rowHeight:s,paddingX:i,paddingY:l,bitWidth:a,bitsPerRow:o,showBits:d,bitOrder:g})=>{const c=t.append("g"),p=r*(s+l)+l,b=g==="descending";for(const n of e){const h=n.end-n.start+1,k=n.start%o,u=(b?o-k-h:k)*a+1,m=h*a-i;if(c.append("rect").attr("x",u).attr("y",p).attr("width",m).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",u+m/2).attr("y",p+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(n.label),!d)continue;const[S,D]=b?[n.end,n.start]:[n.start,n.end],w=h===1,x=p-2;c.append("text").attr("x",u+(w?m/2:0)).attr("y",x).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",w?"middle":"start").text(S),w||c.append("text").attr("x",u+m).attr("y",x).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(D)}},"drawWord"),Q={draw:H},U={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},X=f(({packet:t}={})=>{const e=y(U,t);return`
2
- .packetByte {
3
- font-size: ${e.byteFontSize};
4
- }
5
- .packetByte.start {
6
- fill: ${e.startByteColor};
7
- }
8
- .packetByte.end {
9
- fill: ${e.endByteColor};
10
- }
11
- .packetLabel {
12
- fill: ${e.labelColor};
13
- font-size: ${e.labelFontSize};
14
- }
15
- .packetTitle {
16
- fill: ${e.titleColor};
17
- font-size: ${e.titleFontSize};
18
- }
19
- .packetBlock {
20
- stroke: ${e.blockStrokeColor};
21
- stroke-width: ${e.blockStrokeWidth};
22
- fill: ${e.blockFillColor};
23
- }
24
- `},"styles"),tt={parser:C,get db(){return new $},renderer:Q,styles:X};export{tt as diagram};
@@ -1,30 +0,0 @@
1
- import{I as O}from"./chunk-2Q5K7J3B-CjpAZ0OI.js";import{p as W}from"./chunk-JWPE2WC7-BXnjDdh1.js";import{q as X,b as G,s as Y,t as P,g as F,a as q,_ as g,N as k,l as A,Q as Z,d as j,L as E,z as U,j as Q,ao as J,O as K,ap as ee}from"./mermaid-C_q9pug0.js";import{p as te}from"./cynefin-EF2NZ3EQ-DypLIJxl.js";import"./markdown-DVehI1Sg.js";var L=/[─━│┃└┗├┣]/,D=/[└┗├┣]/,ne=/[─━]/,N=/^[\s│┃]+$/,T=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,V=/^\s*%%/,re=" ";function _(n){return n.some(t=>L.test(t))}g(_,"isBoxDrawingFormat");function M(n){for(const t of n){const e=D.exec(t);if(e?.index&&e.index>0)return e.index}return 4}g(M,"inferSegmentWidth");function S(n,t){return n.replace(/\bline\s+(\d+)\b/gi,(e,r)=>{const s=parseInt(r,10),i=t.get(s);return i?`line ${i}`:e})}g(S,"remapErrorLines");function R(n){const t=n.split(`
2
- `),e=new Map;let r=-1;for(const[p,c]of t.entries())if(c.trim()==="treeView-beta"){r=p;break}if(r===-1)return{text:n,lineMap:e};const s=[];for(let p=r+1;p<t.length;p++){const c=t[p];c.trim()===""||V.test(c)||T.test(c)||N.test(c)||s.push(c.replace(/\t/g," "))}if(!_(s))return{text:n,lineMap:e};const i=M(s),o=[];let a=0;for(let p=0;p<=r;p++)o.push(t[p]),a++,e.set(a,p+1);for(let p=r+1;p<t.length;p++){const c=t[p],d=c.trim(),h=p+1;if(d===""){o.push(c),a++,e.set(a,h);continue}if(V.test(c)){o.push(c),a++,e.set(a,h);continue}if(T.test(c)){o.push(c),a++,e.set(a,h);continue}if(N.test(c))continue;const l=c.replace(/\t/g," "),w=D.exec(l);if(w?.index!==void 0){const f=w.index,m=Math.round(f/i)+1;let u=f+1;for(;u<l.length&&ne.test(l[u]);)u++;for(;u<l.length&&l[u]===" ";)u++;const v=l.slice(u).trimEnd();if(!v)throw new Error(`Line ${h}: Empty node — expected a filename or directory name after the box-drawing prefix`);const z=re.repeat(m);o.push(z+v),a++,e.set(a,h)}else{if(/^[\s─━│┃└┗├┣]+$/.test(l))continue;if(L.test(l))o.push(c),a++,e.set(a,h);else{if(/^\s+/.test(l))throw new Error(`Line ${h}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);o.push(c),a++,e.set(a,h)}}}return{text:o.join(`
3
- `),lineMap:e}}g(R,"preprocessBoxDrawing");var x=new O(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),ie=g(()=>{x.reset(),U()},"clear"),oe=g(()=>x.records.stack[0],"getRoot"),se=g(()=>x.records.cnt,"getCount"),ae=K.treeView,ce=g(()=>k(ae,E().treeView),"getConfig"),le=g((n,t,e,r,s,i)=>{for(;n<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const o={id:x.records.cnt++,level:n,name:t,nodeType:e,icon:s,cssClass:r,description:i,children:[]};x.records.stack[x.records.stack.length-1].children.push(o),x.records.stack.push(o)},"addNode"),de={clear:ie,addNode:le,getRoot:oe,getCount:se,getConfig:ce,getAccTitle:q,getAccDescription:F,getDiagramTitle:P,setAccDescription:Y,setAccTitle:G,setDiagramTitle:X},I=de,he=g(n=>{W(n,I);for(const t of n.nodes){const e=typeof t.indent=="number"?t.indent:0;let r=t.name;const s=r.endsWith("/");s&&(r=r.slice(0,-1));const i=s?"directory":"file",o=t.classAnnotation||void 0,a=t.iconAnnotation,p=a!==void 0?a||"none":void 0,c=t.descAnnotation||void 0,d=c?Q(c,E()):void 0;I.addNode(e,r,i,o,p,d)}},"populate"),pe={parse:g(async n=>{const{text:t,lineMap:e}=R(n);try{const r=await te("treeView",t);A.debug(r),he(r)}catch(r){throw e.size>0&&r instanceof Error&&(r.message=S(r.message,e)),r}},"parse")},b={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function H(n,t){const e=t?.filenameIcons?.[n];if(e)return e;const r=n.lastIndexOf(".");if(r>0){const s=n.substring(r).toLowerCase(),i=t?.extensionIcons;return i?.[s]??i?.[s.slice(1)]}}g(H,"detectIcon");function C(n,t){return n.includes(":")?n:n in b.icons||!t?`${b.prefix}:${n}`:`${t}:${n}`}g(C,"qualifyIcon");function B(n,t){if(n.icon!=="none"){if(n.icon)return C(n.icon,t.defaultIconPack);if(t.showIcons){if(n.nodeType==="file"){const e=H(n.name,t);if(e==="none")return;if(e)return C(e,t.defaultIconPack)}return`${b.prefix}:${n.nodeType==="directory"?"folder":"file"}`}}}g(B,"getNodeIcon");ee([{name:b.prefix,icons:b}]);var y=14,ge=4,fe=16,ue=g(async(n,t)=>{const e=[],r=g(i=>{const o=B(i,t);o&&e.push({icon:o,node:i}),i.children.forEach(r)},"collect");r(n);const s=await Promise.all(e.map(async({icon:i,node:o})=>({id:o.id,svg:await J(i,{height:y,width:y})})));return new Map(s.map(({id:i,svg:o})=>[i,o]))},"resolveNodeIcons"),we=g((n,t,e,r,s,i)=>{const o=r.append("g");let a="treeView-node-label";e.nodeType==="directory"&&(a+=" treeView-node-dir"),e.cssClass&&(a+=` ${e.cssClass}`);const p=y+ge,c=B(e,s),d=c!==void 0;c&&o.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${n+s.paddingX}, ${t+s.paddingY})`).html(i.get(e.id)??"");const h=o.append("text").text(e.name).attr("dominant-baseline","middle").attr("class",a),{height:l,width:w}=h.node().getBBox(),f=l+s.paddingY*2,m=n+s.paddingX+(d?p:0);h.attr("x",m),h.attr("y",t+f/2);const u=m+w,v=w+s.paddingX*2+(d?p:0);return e.BBox={x:n,y:t,width:v,height:f},e.cssClass?.split(/\s+/).includes("highlight")&&o.insert("rect",":first-child").attr("x",n).attr("y",t+1).attr("width",0).attr("height",f-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:e,nodeGroup:o,labelRightEdge:u,centerY:t+f/2}},"positionLabel"),$=g((n,t,e,r,s,i)=>n.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",s).attr("stroke-width",i).attr("class","treeView-node-line"),"positionLine"),me=g((n,t,e,r)=>{let s=0,i=0;const o=[],a=g((d,h,l,w)=>{const f=w*(l.rowIndent+l.paddingX),m=we(f,s,h,d,l,r);o.push(m);const{height:u,width:v}=h.BBox;$(d,f-l.rowIndent,s+u/2,f,s+u/2,l.lineThickness),i=Math.max(i,f+v),s+=u},"drawNode"),p=g((d,h=0)=>{a(n,d,e,h),d.children.forEach(m=>{p(m,h+1)});const{x:l,y:w,height:f}=d.BBox;if(d.children.length){const{y:m,height:u}=d.children[d.children.length-1].BBox;$(n,l+e.paddingX,w+f,l+e.paddingX,m+u/2+e.lineThickness/2,e.lineThickness)}},"processNode");p(t);const c=o.filter(d=>d.node.description);if(c.length>0){const h=Math.max(...o.map(l=>l.labelRightEdge))+fe;for(const l of c){const f=l.nodeGroup.append("text").text(l.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",h).attr("y",l.centerY).node().getBBox();i=Math.max(i,h+f.width+e.paddingX)}}for(const d of o)if(d.node.cssClass?.split(/\s+/).includes("highlight")){const h=d.nodeGroup.select(".treeView-highlight-bg");if(!h.empty()){const l=i-d.node.BBox.x+8;h.attr("width",l),i=Math.max(i,d.node.BBox.x+l+2)}}return{totalHeight:s,totalWidth:i}},"drawTree"),xe=g(async(n,t,e,r)=>{A.debug(`Rendering treeView diagram
4
- `+n);const s=r.db,i=s.getRoot(),o=s.getConfig(),a=Z(t),p=a.append("g");p.attr("class","tree-view");const c=await ue(i,o),{totalHeight:d,totalWidth:h}=me(p,i,o,c);a.attr("viewBox",`-${o.lineThickness/2} 0 ${h} ${d}`),j(a,d,h,o.useMaxWidth)},"draw"),ve={draw:xe},be=ve,Ie={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},Ce=g(({treeView:n})=>{const{labelFontSize:t,labelColor:e,lineColor:r,iconColor:s,descriptionColor:i,highlightBg:o,highlightStroke:a}=k(Ie,n);return`
5
- .treeView-node-label {
6
- font-size: ${t};
7
- fill: ${e};
8
- white-space: pre;
9
- }
10
- .treeView-node-dir {
11
- font-weight: bold;
12
- }
13
- .treeView-node-line {
14
- stroke: ${r};
15
- }
16
- .treeView-node-icon {
17
- color: ${s};
18
- }
19
- .treeView-node-description {
20
- font-size: ${t};
21
- fill: ${i};
22
- font-style: italic;
23
- white-space: pre;
24
- }
25
- .treeView-highlight-bg {
26
- fill: ${o};
27
- stroke: ${a};
28
- stroke-width: 1;
29
- }
30
- `},"styles"),ye=Ce,ke={db:I,renderer:be,parser:pe,styles:ye};export{ke as diagram};
@@ -1,3 +0,0 @@
1
- import{p as re}from"./chunk-JWPE2WC7-BXnjDdh1.js";import{t as oe,q as se,s as de,g as le,a as ce,b as me,_ as o,l as g,c as R,k as ue,M as xe,z as fe,N as ge,L as B,O as he,j as P,w as S,aq as pe}from"./mermaid-C_q9pug0.js";import{p as be,i as ve}from"./cynefin-EF2NZ3EQ-DypLIJxl.js";import"./markdown-DVehI1Sg.js";var D="position frame",N="frame positioned",k="position relation",T="relation positioned",we=o(function(e){g.debug("options str",e)},"setOptions"),ye=o(function(){return{}},"getOptions"),Pe=o(function(){C(),fe()},"clear");function C(){w={}}o(C,"reset");var Se=he.eventmodeling,ke=o(()=>ge({...Se,...B().eventmodeling}),"getConfig"),w={};function O(){let e=Me;const{ast:n}=w,t=E();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=G(i,n.dataEntities,t);e=v(e,{$kind:D,index:a,frame:i,textProps:r});let d;K(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=v(e,{$kind:k,index:a,frame:i,sourceFrame:l})})):e=v(e,{$kind:k,index:a,frame:i})}),e={...e,sortedSwimlanesArray:A(e.swimlanes)},e}o(O,"getState");function I(e){w.ast=void 0;const n=new Set;for(const t of e.frames){if(n.has(t.name)){const i=t.$cstNode?.range.start.line,a=i===void 0?"":` on line ${i+1}`;throw new Error(`Duplicate event modeling frame ID "${t.name}"${a}`)}n.add(t.name)}w.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function E(){return s}o(E,"getDiagramProps");var Me={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function W(e){const n=e.split(".");if(n.length===2)return n[0]}o(W,"extractNamespace");function H(e){const n=e.split(".");return n.length===2?n[1]:e}o(H,"extractName");function U(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(U,"findSwimlaneByNamespace");function b(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&a<t}).map(i=>Number.parseInt(i)))+1}o(b,"findNextAvailableIndex");function _(e,n){const t=W(e.entityIdentifier),i=U(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:b(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:b(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:b(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(_,"calculateSwimlaneProps");function L(e){const{themeVariables:n}=B();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(L,"calculateEntityVisualProps");function G(e,n,t){const i=B(),a=P(H(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${S(a,t.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;")),e.dataReference){const p=n.find(y=>y.name===e.dataReference?.$refText);p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{
2
- `)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" ","&nbsp;"),r+="<br/>")}const m=r!==void 0;m&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${r}</code>`);const x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=pe(c,x),h=m?u.width/3:u.width,f={content:c,width:h,height:u.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,f),f}o(G,"calculateTextProps");function V(e,n){const t=n,i=L(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:N,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}o(V,"decidePositionFrame");function X(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(X,"calculateX");function j(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}o(j,"calculateMaxRight");function A(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o(A,"sortedSwimlanesArray");function Y(e,n){const t=n,i=_(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=X(a,d,r),m=c+l.width+s.boxPadding,x=j(Object.values(e.swimlanes),m);a.r=c+l.width,a.maxHeight=Math.max(a.maxHeight,l.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+a.y,r:m,dimension:l,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},f=A(h.swimlanes);f.length>0&&(f[0].y=0);for(let p=1;p<f.length;p++){const y=f[p],$=f[p-1];y.y=$.y+$.height+s.swimlaneGap}return h}o(Y,"evolveFramePositioned");function z(e,n){return e===0&&n.sourceFrames.length===0}o(z,"isFirstFrame");function K(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}o(K,"hasSourceFrame");function M(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(M,"findBoxByFrame");function q(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}o(q,"findBoxByLineIndex");function J(e,n){const t=n;if(z(t.index,t.frame))return[];const i=M(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;if(t.sourceFrame)a=M(e.boxes,t.sourceFrame);else{if(ve(t.frame))return[];a=q(e.boxes,i.swimlane.index,t.index-1)}return a===void 0?[]:[{$kind:T,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}o(J,"decidePositionRelation");function Q(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(Q,"evolveRelationPositioned");var Fe={[D]:V,[k]:J},Be={[N]:Y,[T]:Q};function Z(e,n){const t=Fe[n.$kind];if(t==null)return[];const i=t(e,n);return g.debug("decided events",i),i}o(Z,"decide");function ee(e,n){const t=n.reduce((i,a)=>{const r=Be[a.$kind];return r==null?i:r(i,a)},e);return g.debug("evolve events",{state:e,newState:t,events:n}),t}o(ee,"evolve");function v(e,n){const t=Z(e,n);return ee(e,t)}o(v,"dispatch");var F={getConfig:ke,preserveCommentsWhenParsing:!0,setOptions:we,getOptions:ye,clear:Pe,setAccTitle:me,getAccTitle:ce,getAccDescription:le,setAccDescription:de,setDiagramTitle:se,getDiagramTitle:oe,setAst:I,getDiagramProps:E,getState:O},Ee={parse:o(async e=>{const n=await be("eventmodeling",e);g.debug(n),F.setAst(n),re(n,F)},"parse")},Ae=R(),$e=Ae?.eventmodeling;function te(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(te,"renderD3Box");function ne(e,n){return e>n}o(ne,"dirUpwards");function ie(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,d=a.targetBox.swimlane.y+n.swimlanePadding,l=ne(r,d),c=a.sourceBox.x+a.sourceBox.dimension.width*2/3,m=a.targetBox.x+a.targetBox.dimension.width/3;let x,u;g.debug(`rendering relation up=${l} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),l?(x=r,u=d+a.targetBox.dimension.height):(x=r+a.sourceBox.dimension.height,u=d);const h=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(ie,"renderD3Relation");function ae(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",d).attr("stroke",l),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}o(ae,"renderD3Swimlane");var Re=o(function(e,n,t,i){if(g.debug("in eventmodeling renderer",e+`
3
- `,"id:",n,t),!$e)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:d}=R(),l=ue(`[id="${n}"]`),c=a.getDiagramProps(),m=a.getState(),x=`em-arrowhead-${n}`,u=r.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(ae(l,m.maxR,c,r)),m.boxes.forEach(te(l,c)),m.relations.forEach(ie(l,c,x,r)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),xe(void 0,l,d?.padding??30,d?.useMaxWidth)},"draw"),De={draw:Re},Ne=o(e=>"","getStyles"),Te=Ne,He={parser:Ee,db:F,renderer:De,styles:Te};export{He as diagram};
@@ -1,41 +0,0 @@
1
- import{p as I}from"./chunk-JWPE2WC7-BXnjDdh1.js";import{s as _,g as E,t as F,q as D,a as z,b as P,_ as c,Q as G,z as W,N as w,L as C,O as B,l as b,W as V,d as H}from"./mermaid-C_q9pug0.js";import{p as j}from"./cynefin-EF2NZ3EQ-DypLIJxl.js";import"./markdown-DVehI1Sg.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y=32,A={axes:[],curves:[],options:x},m=structuredClone(A),N=B.radar,U=c(()=>w({...N,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),X=c(()=>m.curves,"getCurves"),q=c(()=>m.options,"getOptions"),K=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Q=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Y(t.entries)}))},"setCurves"),Y=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>s.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),Z=c(a=>{const t=a.reduce((e,r)=>(e[r.name]=r,e),{});m.options={showLegend:t.showLegend?.value??x.showLegend,ticks:t.ticks?.value??x.ticks,max:t.max?.value??x.max,min:t.min?.value??x.min,graticule:t.graticule?.value??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),J=c(()=>{W(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:X,getOptions:q,setAxes:K,setCurves:Q,setOptions:Z,getConfig:U,clear:J,setAccTitle:P,getAccTitle:z,setDiagramTitle:D,getDiagramTitle:F,getAccDescription:E,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await j("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,i=s.getAxes(),l=s.getCurves(),n=s.getOptions(),o=s.getConfig(),d=s.getDiagramTitle(),p=G(t),u=rt(p,o),g=n.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=n.min,v=Math.min(o.width,o.height)/2;st(u,i,v,n.ticks,n.graticule),nt(u,i,v,o),L(u,i,l,h,g,n.graticule,o),k(u,l,n.showLegend,o),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-o.height/2-o.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return H(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let i=0;i<r;i++){const l=e*(i+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(s==="polygon"){const i=t.length;for(let l=0;l<r;l++){const n=e*(l+1)/r,o=t.map((d,p)=>{const u=2*p*Math.PI/i-Math.PI/2,g=n*Math.cos(u),h=n*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",o).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let i=0;i<s;i++){const l=t[i].label,n=2*i*Math.PI/s-Math.PI/2,o=Math.cos(n),d=Math.sin(n);a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*o).attr("y2",e*r.axisScaleFactor*d).attr("class","radarAxisLine");const p=o>.01?"start":o<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*o+g*o).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,i,l){const n=t.length,o=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==n)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/n-Math.PI/2,f=T(g,r,s,o),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});i==="circle"?a.append("path").attr("d",S(u,l.curveTension)).attr("class",`radarCurve-${p}`):i==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const i=a[(s-1+e)%e],l=a[s],n=a[(s+1)%e],o=a[(s+2)%e],d={x:l.x+(n.x-i.x)*t,y:l.y+(n.y-i.y)*t},p={x:n.x-(o.x-l.x)*t,y:n.y-(o.y-l.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${n.x},${n.y}`}return`${r} Z`}c(S,"closedRoundCurve");function k(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,i=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((n,o)=>{const d=a.append("g").attr("transform",`translate(${s}, ${i+o*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${o}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(n.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
2
- .radarCurve-${r} {
3
- color: ${s};
4
- fill: ${s};
5
- fill-opacity: ${t.curveOpacity};
6
- stroke: ${s};
7
- stroke-width: ${t.curveStrokeWidth};
8
- }
9
- .radarLegendBox-${r} {
10
- fill: ${s};
11
- fill-opacity: ${t.curveOpacity};
12
- stroke: ${s};
13
- }
14
- `}return e},"genIndexStyles"),lt=c(a=>{const t=V(),e=C(),r=w(t,e.themeVariables),s=w(r.radar,a);return{themeVariables:r,radarOptions:s}},"buildRadarStyleOptions"),ct=c(({radar:a}={})=>{const{themeVariables:t,radarOptions:e}=lt(a);return`
15
- .radarTitle {
16
- font-size: ${t.fontSize};
17
- color: ${t.titleColor};
18
- dominant-baseline: hanging;
19
- text-anchor: middle;
20
- }
21
- .radarAxisLine {
22
- stroke: ${e.axisColor};
23
- stroke-width: ${e.axisStrokeWidth};
24
- }
25
- .radarAxisLabel {
26
- font-size: ${e.axisLabelFontSize}px;
27
- color: ${e.axisColor};
28
- }
29
- .radarGraticule {
30
- fill: ${e.graticuleColor};
31
- fill-opacity: ${e.graticuleOpacity};
32
- stroke: ${e.graticuleColor};
33
- stroke-width: ${e.graticuleStrokeWidth};
34
- }
35
- .radarLegendText {
36
- text-anchor: start;
37
- font-size: ${e.legendFontSize}px;
38
- dominant-baseline: hanging;
39
- }
40
- ${it(t,e)}
41
- `},"styles"),mt={parser:et,db:$,renderer:ot,styles:ct};export{mt as diagram};