@zettelgeist/cli 0.1.0

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 (189) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +64 -0
  3. package/dist/bin.js +2211 -0
  4. package/dist/bin.js.map +7 -0
  5. package/dist/templates/export.html +27 -0
  6. package/dist/templates/skill/SKILL.md +220 -0
  7. package/dist/viewer-bundle/architecture-YZFGNWBL-W2K3EQOM.js +14 -0
  8. package/dist/viewer-bundle/architecture-YZFGNWBL-W2K3EQOM.js.map +7 -0
  9. package/dist/viewer-bundle/architectureDiagram-Q4EWVU46-LCGRUEWT.js +8884 -0
  10. package/dist/viewer-bundle/architectureDiagram-Q4EWVU46-LCGRUEWT.js.map +7 -0
  11. package/dist/viewer-bundle/base.css +248 -0
  12. package/dist/viewer-bundle/blockDiagram-DXYQGD6D-KAM7BOAP.js +3777 -0
  13. package/dist/viewer-bundle/blockDiagram-DXYQGD6D-KAM7BOAP.js.map +7 -0
  14. package/dist/viewer-bundle/board.css +370 -0
  15. package/dist/viewer-bundle/c4Diagram-AHTNJAMY-C3FIQYXA.js +2596 -0
  16. package/dist/viewer-bundle/c4Diagram-AHTNJAMY-C3FIQYXA.js.map +7 -0
  17. package/dist/viewer-bundle/chunk-2QXGXAO5.js +68 -0
  18. package/dist/viewer-bundle/chunk-2QXGXAO5.js.map +7 -0
  19. package/dist/viewer-bundle/chunk-5PZT7VUU.js +67 -0
  20. package/dist/viewer-bundle/chunk-5PZT7VUU.js.map +7 -0
  21. package/dist/viewer-bundle/chunk-5YJCJF2C.js +112 -0
  22. package/dist/viewer-bundle/chunk-5YJCJF2C.js.map +7 -0
  23. package/dist/viewer-bundle/chunk-6LYV7PBV.js +1011 -0
  24. package/dist/viewer-bundle/chunk-6LYV7PBV.js.map +7 -0
  25. package/dist/viewer-bundle/chunk-6VW7D5WX.js +48 -0
  26. package/dist/viewer-bundle/chunk-6VW7D5WX.js.map +7 -0
  27. package/dist/viewer-bundle/chunk-76C5OSD4.js +2048 -0
  28. package/dist/viewer-bundle/chunk-76C5OSD4.js.map +7 -0
  29. package/dist/viewer-bundle/chunk-7NZMPQDX.js +6957 -0
  30. package/dist/viewer-bundle/chunk-7NZMPQDX.js.map +7 -0
  31. package/dist/viewer-bundle/chunk-A634GTZN.js +122 -0
  32. package/dist/viewer-bundle/chunk-A634GTZN.js.map +7 -0
  33. package/dist/viewer-bundle/chunk-AJQJUKMU.js +133 -0
  34. package/dist/viewer-bundle/chunk-AJQJUKMU.js.map +7 -0
  35. package/dist/viewer-bundle/chunk-BM2KPNFW.js +5556 -0
  36. package/dist/viewer-bundle/chunk-BM2KPNFW.js.map +7 -0
  37. package/dist/viewer-bundle/chunk-CIDUOCCG.js +25 -0
  38. package/dist/viewer-bundle/chunk-CIDUOCCG.js.map +7 -0
  39. package/dist/viewer-bundle/chunk-CZHJHAOR.js +6397 -0
  40. package/dist/viewer-bundle/chunk-CZHJHAOR.js.map +7 -0
  41. package/dist/viewer-bundle/chunk-D5RLIWY4.js +125 -0
  42. package/dist/viewer-bundle/chunk-D5RLIWY4.js.map +7 -0
  43. package/dist/viewer-bundle/chunk-DI52DQAC.js +44 -0
  44. package/dist/viewer-bundle/chunk-DI52DQAC.js.map +7 -0
  45. package/dist/viewer-bundle/chunk-EXJQLTIV.js +51 -0
  46. package/dist/viewer-bundle/chunk-EXJQLTIV.js.map +7 -0
  47. package/dist/viewer-bundle/chunk-G3PPZWPW.js +96 -0
  48. package/dist/viewer-bundle/chunk-G3PPZWPW.js.map +7 -0
  49. package/dist/viewer-bundle/chunk-GTW4IDD4.js +30297 -0
  50. package/dist/viewer-bundle/chunk-GTW4IDD4.js.map +7 -0
  51. package/dist/viewer-bundle/chunk-GVE7OA3Z.js +59 -0
  52. package/dist/viewer-bundle/chunk-GVE7OA3Z.js.map +7 -0
  53. package/dist/viewer-bundle/chunk-JBUVKVPY.js +2042 -0
  54. package/dist/viewer-bundle/chunk-JBUVKVPY.js.map +7 -0
  55. package/dist/viewer-bundle/chunk-JQLVOAQB.js +20 -0
  56. package/dist/viewer-bundle/chunk-JQLVOAQB.js.map +7 -0
  57. package/dist/viewer-bundle/chunk-LQMQSYLO.js +101 -0
  58. package/dist/viewer-bundle/chunk-LQMQSYLO.js.map +7 -0
  59. package/dist/viewer-bundle/chunk-MBFAQ3IK.js +34 -0
  60. package/dist/viewer-bundle/chunk-MBFAQ3IK.js.map +7 -0
  61. package/dist/viewer-bundle/chunk-N7G7IIKG.js +25 -0
  62. package/dist/viewer-bundle/chunk-N7G7IIKG.js.map +7 -0
  63. package/dist/viewer-bundle/chunk-NW4YG3NS.js +171 -0
  64. package/dist/viewer-bundle/chunk-NW4YG3NS.js.map +7 -0
  65. package/dist/viewer-bundle/chunk-ODEP5TKB.js +61 -0
  66. package/dist/viewer-bundle/chunk-ODEP5TKB.js.map +7 -0
  67. package/dist/viewer-bundle/chunk-OGKINV23.js +1050 -0
  68. package/dist/viewer-bundle/chunk-OGKINV23.js.map +7 -0
  69. package/dist/viewer-bundle/chunk-OGMSNDVH.js +1994 -0
  70. package/dist/viewer-bundle/chunk-OGMSNDVH.js.map +7 -0
  71. package/dist/viewer-bundle/chunk-QJVSDNAW.js +25 -0
  72. package/dist/viewer-bundle/chunk-QJVSDNAW.js.map +7 -0
  73. package/dist/viewer-bundle/chunk-RBTT26R4.js +2721 -0
  74. package/dist/viewer-bundle/chunk-RBTT26R4.js.map +7 -0
  75. package/dist/viewer-bundle/chunk-RQIPIIE2.js +48 -0
  76. package/dist/viewer-bundle/chunk-RQIPIIE2.js.map +7 -0
  77. package/dist/viewer-bundle/chunk-SRTYTXTX.js +22 -0
  78. package/dist/viewer-bundle/chunk-SRTYTXTX.js.map +7 -0
  79. package/dist/viewer-bundle/chunk-TRL7YIZG.js +1663 -0
  80. package/dist/viewer-bundle/chunk-TRL7YIZG.js.map +7 -0
  81. package/dist/viewer-bundle/chunk-U5T7X4BV.js +172 -0
  82. package/dist/viewer-bundle/chunk-U5T7X4BV.js.map +7 -0
  83. package/dist/viewer-bundle/chunk-UCAW6C6C.js +48 -0
  84. package/dist/viewer-bundle/chunk-UCAW6C6C.js.map +7 -0
  85. package/dist/viewer-bundle/chunk-UEAG4BJQ.js +93 -0
  86. package/dist/viewer-bundle/chunk-UEAG4BJQ.js.map +7 -0
  87. package/dist/viewer-bundle/chunk-UVRE3R6A.js +1039 -0
  88. package/dist/viewer-bundle/chunk-UVRE3R6A.js.map +7 -0
  89. package/dist/viewer-bundle/chunk-VODO7SV4.js +25029 -0
  90. package/dist/viewer-bundle/chunk-VODO7SV4.js.map +7 -0
  91. package/dist/viewer-bundle/chunk-YEU62MVS.js +682 -0
  92. package/dist/viewer-bundle/chunk-YEU62MVS.js.map +7 -0
  93. package/dist/viewer-bundle/chunk-YFQT7PPW.js +987 -0
  94. package/dist/viewer-bundle/chunk-YFQT7PPW.js.map +7 -0
  95. package/dist/viewer-bundle/chunk-Z4G7FG27.js +48 -0
  96. package/dist/viewer-bundle/chunk-Z4G7FG27.js.map +7 -0
  97. package/dist/viewer-bundle/chunk-ZW4Y7DIF.js +2044 -0
  98. package/dist/viewer-bundle/chunk-ZW4Y7DIF.js.map +7 -0
  99. package/dist/viewer-bundle/classDiagram-6PBFFD2Q-7VKYXLUX.js +46 -0
  100. package/dist/viewer-bundle/classDiagram-6PBFFD2Q-7VKYXLUX.js.map +7 -0
  101. package/dist/viewer-bundle/classDiagram-v2-HSJHXN6E-ACCNN7EN.js +46 -0
  102. package/dist/viewer-bundle/classDiagram-v2-HSJHXN6E-ACCNN7EN.js.map +7 -0
  103. package/dist/viewer-bundle/cose-bilkent-S5V4N54A-MUJHAA34.js +5009 -0
  104. package/dist/viewer-bundle/cose-bilkent-S5V4N54A-MUJHAA34.js.map +7 -0
  105. package/dist/viewer-bundle/dagre-KV5264BT-YC5VV3WF.js +739 -0
  106. package/dist/viewer-bundle/dagre-KV5264BT-YC5VV3WF.js.map +7 -0
  107. package/dist/viewer-bundle/dark.css +13 -0
  108. package/dist/viewer-bundle/detail.css +539 -0
  109. package/dist/viewer-bundle/diagram-5BDNPKRD-RXFPVFYK.js +214 -0
  110. package/dist/viewer-bundle/diagram-5BDNPKRD-RXFPVFYK.js.map +7 -0
  111. package/dist/viewer-bundle/diagram-G4DWMVQ6-KN7CBNBQ.js +578 -0
  112. package/dist/viewer-bundle/diagram-G4DWMVQ6-KN7CBNBQ.js.map +7 -0
  113. package/dist/viewer-bundle/diagram-MMDJMWI5-ZN6TQ7ZC.js +345 -0
  114. package/dist/viewer-bundle/diagram-MMDJMWI5-ZN6TQ7ZC.js.map +7 -0
  115. package/dist/viewer-bundle/diagram-TYMM5635-MMTUJ4KA.js +255 -0
  116. package/dist/viewer-bundle/diagram-TYMM5635-MMTUJ4KA.js.map +7 -0
  117. package/dist/viewer-bundle/docs.css +88 -0
  118. package/dist/viewer-bundle/edit-modal-BEGC2AO6.js +176 -0
  119. package/dist/viewer-bundle/edit-modal-BEGC2AO6.js.map +7 -0
  120. package/dist/viewer-bundle/erDiagram-SMLLAGMA-TBHMLD2E.js +1349 -0
  121. package/dist/viewer-bundle/erDiagram-SMLLAGMA-TBHMLD2E.js.map +7 -0
  122. package/dist/viewer-bundle/flowDiagram-DWJPFMVM-BZHLK6QB.js +2501 -0
  123. package/dist/viewer-bundle/flowDiagram-DWJPFMVM-BZHLK6QB.js.map +7 -0
  124. package/dist/viewer-bundle/ganttDiagram-T4ZO3ILL-YBARPTQR.js +2654 -0
  125. package/dist/viewer-bundle/ganttDiagram-T4ZO3ILL-YBARPTQR.js.map +7 -0
  126. package/dist/viewer-bundle/gitGraph-7Q5UKJZL-HENKIQDX.js +14 -0
  127. package/dist/viewer-bundle/gitGraph-7Q5UKJZL-HENKIQDX.js.map +7 -0
  128. package/dist/viewer-bundle/gitGraphDiagram-UUTBAWPF-M4VV3YVA.js +1946 -0
  129. package/dist/viewer-bundle/gitGraphDiagram-UUTBAWPF-M4VV3YVA.js.map +7 -0
  130. package/dist/viewer-bundle/index.html +28 -0
  131. package/dist/viewer-bundle/info-OMHHGYJF-E773USRS.js +14 -0
  132. package/dist/viewer-bundle/info-OMHHGYJF-E773USRS.js.map +7 -0
  133. package/dist/viewer-bundle/infoDiagram-42DDH7IO-C7JGUXKK.js +59 -0
  134. package/dist/viewer-bundle/infoDiagram-42DDH7IO-C7JGUXKK.js.map +7 -0
  135. package/dist/viewer-bundle/ishikawaDiagram-UXIWVN3A-YBC4X4VB.js +1012 -0
  136. package/dist/viewer-bundle/ishikawaDiagram-UXIWVN3A-YBC4X4VB.js.map +7 -0
  137. package/dist/viewer-bundle/journeyDiagram-VCZTEJTY-6WKVEOOO.js +1303 -0
  138. package/dist/viewer-bundle/journeyDiagram-VCZTEJTY-6WKVEOOO.js.map +7 -0
  139. package/dist/viewer-bundle/kanban-definition-6JOO6SKY-URTTHHO4.js +1131 -0
  140. package/dist/viewer-bundle/kanban-definition-6JOO6SKY-URTTHHO4.js.map +7 -0
  141. package/dist/viewer-bundle/katex-QN5266ZE.js +14318 -0
  142. package/dist/viewer-bundle/katex-QN5266ZE.js.map +7 -0
  143. package/dist/viewer-bundle/light.css +15 -0
  144. package/dist/viewer-bundle/main.js +4816 -0
  145. package/dist/viewer-bundle/main.js.map +7 -0
  146. package/dist/viewer-bundle/mermaid.core-AEBXU2JK.js +1708 -0
  147. package/dist/viewer-bundle/mermaid.core-AEBXU2JK.js.map +7 -0
  148. package/dist/viewer-bundle/mindmap-definition-QFDTVHPH-KUMAMRSF.js +1277 -0
  149. package/dist/viewer-bundle/mindmap-definition-QFDTVHPH-KUMAMRSF.js.map +7 -0
  150. package/dist/viewer-bundle/packet-4T2RLAQJ-IRYWWA66.js +14 -0
  151. package/dist/viewer-bundle/packet-4T2RLAQJ-IRYWWA66.js.map +7 -0
  152. package/dist/viewer-bundle/pico.classless.min.css +4 -0
  153. package/dist/viewer-bundle/pie-ZZUOXDRM-JYO4VL5N.js +14 -0
  154. package/dist/viewer-bundle/pie-ZZUOXDRM-JYO4VL5N.js.map +7 -0
  155. package/dist/viewer-bundle/pieDiagram-DEJITSTG-QOEHQN3N.js +238 -0
  156. package/dist/viewer-bundle/pieDiagram-DEJITSTG-QOEHQN3N.js.map +7 -0
  157. package/dist/viewer-bundle/prompt-modal-C4LHI7BS.js +12 -0
  158. package/dist/viewer-bundle/prompt-modal-C4LHI7BS.js.map +7 -0
  159. package/dist/viewer-bundle/quadrantDiagram-34T5L4WZ-SJNPUU5N.js +1409 -0
  160. package/dist/viewer-bundle/quadrantDiagram-34T5L4WZ-SJNPUU5N.js.map +7 -0
  161. package/dist/viewer-bundle/radar-PYXPWWZC-45BRYQSB.js +14 -0
  162. package/dist/viewer-bundle/radar-PYXPWWZC-45BRYQSB.js.map +7 -0
  163. package/dist/viewer-bundle/reason-modal-MK34MQ73.js +68 -0
  164. package/dist/viewer-bundle/reason-modal-MK34MQ73.js.map +7 -0
  165. package/dist/viewer-bundle/requirementDiagram-MS252O5E-UOMT3FCC.js +1311 -0
  166. package/dist/viewer-bundle/requirementDiagram-MS252O5E-UOMT3FCC.js.map +7 -0
  167. package/dist/viewer-bundle/sankeyDiagram-XADWPNL6-LAVJ5C6A.js +1263 -0
  168. package/dist/viewer-bundle/sankeyDiagram-XADWPNL6-LAVJ5C6A.js.map +7 -0
  169. package/dist/viewer-bundle/sequenceDiagram-FGHM5R23-3IWTOUNQ.js +4655 -0
  170. package/dist/viewer-bundle/sequenceDiagram-FGHM5R23-3IWTOUNQ.js.map +7 -0
  171. package/dist/viewer-bundle/stateDiagram-FHFEXIEX-S2OVQQON.js +495 -0
  172. package/dist/viewer-bundle/stateDiagram-FHFEXIEX-S2OVQQON.js.map +7 -0
  173. package/dist/viewer-bundle/stateDiagram-v2-QKLJ7IA2-XNZ3XXSV.js +44 -0
  174. package/dist/viewer-bundle/stateDiagram-v2-QKLJ7IA2-XNZ3XXSV.js.map +7 -0
  175. package/dist/viewer-bundle/timeline-definition-GMOUNBTQ-FHVZ7MHE.js +1646 -0
  176. package/dist/viewer-bundle/timeline-definition-GMOUNBTQ-FHVZ7MHE.js.map +7 -0
  177. package/dist/viewer-bundle/treeView-SZITEDCU-RXZXNYAM.js +14 -0
  178. package/dist/viewer-bundle/treeView-SZITEDCU-RXZXNYAM.js.map +7 -0
  179. package/dist/viewer-bundle/treemap-W4RFUUIX-2IGOFSJM.js +14 -0
  180. package/dist/viewer-bundle/treemap-W4RFUUIX-2IGOFSJM.js.map +7 -0
  181. package/dist/viewer-bundle/vennDiagram-DHZGUBPP-HEAOEXEZ.js +2544 -0
  182. package/dist/viewer-bundle/vennDiagram-DHZGUBPP-HEAOEXEZ.js.map +7 -0
  183. package/dist/viewer-bundle/wardley-RL74JXVD-VSPCLOX2.js +14 -0
  184. package/dist/viewer-bundle/wardley-RL74JXVD-VSPCLOX2.js.map +7 -0
  185. package/dist/viewer-bundle/wardleyDiagram-NUSXRM2D-EBY4FG3X.js +938 -0
  186. package/dist/viewer-bundle/wardleyDiagram-NUSXRM2D-EBY4FG3X.js.map +7 -0
  187. package/dist/viewer-bundle/xychartDiagram-5P7HB3ND-SSMUQEXK.js +1952 -0
  188. package/dist/viewer-bundle/xychartDiagram-5P7HB3ND-SSMUQEXK.js.map +7 -0
  189. package/package.json +51 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/channel.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/lang.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/unit.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/index.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/constants.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/channels/type.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/channels/index.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/channels/reusable.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/hex.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/hsl.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/keyword.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/rgb.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/index.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/change.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/rgba.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/channel.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/luminance.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/is_light.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/is_dark.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/adjust_channel.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/lighten.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/darken.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/transparentize.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/adjust.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/mix.js", "../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/invert.js", "../../../node_modules/.pnpm/dompurify@3.4.2/node_modules/dompurify/src/utils.ts", "../../../node_modules/.pnpm/dompurify@3.4.2/node_modules/dompurify/src/tags.ts", "../../../node_modules/.pnpm/dompurify@3.4.2/node_modules/dompurify/src/attrs.ts", "../../../node_modules/.pnpm/dompurify@3.4.2/node_modules/dompurify/src/regexp.ts", "../../../node_modules/.pnpm/dompurify@3.4.2/node_modules/dompurify/src/purify.ts", "../../../node_modules/.pnpm/mermaid@11.14.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ICPOFSXX.mjs"],
4
+ "sourcesContent": ["/* IMPORT */\n/* MAIN */\nconst Channel = {\n /* CLAMP */\n min: {\n r: 0,\n g: 0,\n b: 0,\n s: 0,\n l: 0,\n a: 0\n },\n max: {\n r: 255,\n g: 255,\n b: 255,\n h: 360,\n s: 100,\n l: 100,\n a: 1\n },\n clamp: {\n r: (r) => r >= 255 ? 255 : (r < 0 ? 0 : r),\n g: (g) => g >= 255 ? 255 : (g < 0 ? 0 : g),\n b: (b) => b >= 255 ? 255 : (b < 0 ? 0 : b),\n h: (h) => h % 360,\n s: (s) => s >= 100 ? 100 : (s < 0 ? 0 : s),\n l: (l) => l >= 100 ? 100 : (l < 0 ? 0 : l),\n a: (a) => a >= 1 ? 1 : (a < 0 ? 0 : a)\n },\n /* CONVERSION */\n //SOURCE: https://planetcalc.com/7779\n toLinear: (c) => {\n const n = c / 255;\n return c > .03928 ? Math.pow(((n + .055) / 1.055), 2.4) : n / 12.92;\n },\n //SOURCE: https://gist.github.com/mjackson/5311256\n hue2rgb: (p, q, t) => {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n },\n hsl2rgb: ({ h, s, l }, channel) => {\n if (!s)\n return l * 2.55; // Achromatic\n h /= 360;\n s /= 100;\n l /= 100;\n const q = (l < .5) ? l * (1 + s) : (l + s) - (l * s);\n const p = 2 * l - q;\n switch (channel) {\n case 'r': return Channel.hue2rgb(p, q, h + 1 / 3) * 255;\n case 'g': return Channel.hue2rgb(p, q, h) * 255;\n case 'b': return Channel.hue2rgb(p, q, h - 1 / 3) * 255;\n }\n },\n rgb2hsl: ({ r, g, b }, channel) => {\n r /= 255;\n g /= 255;\n b /= 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n if (channel === 'l')\n return l * 100;\n if (max === min)\n return 0; // Achromatic\n const d = max - min;\n const s = (l > .5) ? d / (2 - max - min) : d / (max + min);\n if (channel === 's')\n return s * 100;\n switch (max) {\n case r: return ((g - b) / d + (g < b ? 6 : 0)) * 60;\n case g: return ((b - r) / d + 2) * 60;\n case b: return ((r - g) / d + 4) * 60;\n default: return -1; //TSC: TypeScript is stupid and complains if there isn't this useless default statement\n }\n }\n};\n/* EXPORT */\nexport default Channel;\n", "/* MAIN */\nconst Lang = {\n /* API */\n clamp: (number, lower, upper) => {\n if (lower > upper)\n return Math.min(lower, Math.max(upper, number));\n return Math.min(upper, Math.max(lower, number));\n },\n round: (number) => {\n return Math.round(number * 10000000000) / 10000000000;\n }\n};\n/* EXPORT */\nexport default Lang;\n", "/* MAIN */\nconst Unit = {\n /* API */\n dec2hex: (dec) => {\n const hex = Math.round(dec).toString(16);\n return hex.length > 1 ? hex : `0${hex}`;\n }\n};\n/* EXPORT */\nexport default Unit;\n", "/* IMPORT */\nimport channel from './channel.js';\nimport lang from './lang.js';\nimport unit from './unit.js';\n/* MAIN */\nconst Utils = {\n channel,\n lang,\n unit\n};\n/* EXPORT */\nexport default Utils;\n", "/* IMPORT */\nimport _ from './utils/index.js';\n/* MAIN */\nconst DEC2HEX = {};\nfor (let i = 0; i <= 255; i++)\n DEC2HEX[i] = _.unit.dec2hex(i); // Populating dynamically, striking a balance between code size and performance\nconst TYPE = {\n ALL: 0,\n RGB: 1,\n HSL: 2\n};\n/* EXPORT */\nexport { DEC2HEX, TYPE };\n", "/* IMPORT */\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Type {\n constructor() {\n /* VARIABLES */\n this.type = TYPE.ALL;\n }\n /* API */\n get() {\n return this.type;\n }\n set(type) {\n if (this.type && this.type !== type)\n throw new Error('Cannot change both RGB and HSL channels at the same time');\n this.type = type;\n }\n reset() {\n this.type = TYPE.ALL;\n }\n is(type) {\n return this.type === type;\n }\n}\n/* EXPORT */\nexport default Type;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Type from './type.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Channels {\n /* CONSTRUCTOR */\n constructor(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type = new Type();\n }\n /* API */\n set(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type.type = TYPE.ALL;\n return this;\n }\n /* HELPERS */\n _ensureHSL() {\n const data = this.data;\n const { h, s, l } = data;\n if (h === undefined)\n data.h = _.channel.rgb2hsl(data, 'h');\n if (s === undefined)\n data.s = _.channel.rgb2hsl(data, 's');\n if (l === undefined)\n data.l = _.channel.rgb2hsl(data, 'l');\n }\n _ensureRGB() {\n const data = this.data;\n const { r, g, b } = data;\n if (r === undefined)\n data.r = _.channel.hsl2rgb(data, 'r');\n if (g === undefined)\n data.g = _.channel.hsl2rgb(data, 'g');\n if (b === undefined)\n data.b = _.channel.hsl2rgb(data, 'b');\n }\n /* GETTERS */\n get r() {\n const data = this.data;\n const r = data.r;\n if (!this.type.is(TYPE.HSL) && r !== undefined)\n return r;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'r');\n }\n get g() {\n const data = this.data;\n const g = data.g;\n if (!this.type.is(TYPE.HSL) && g !== undefined)\n return g;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'g');\n }\n get b() {\n const data = this.data;\n const b = data.b;\n if (!this.type.is(TYPE.HSL) && b !== undefined)\n return b;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'b');\n }\n get h() {\n const data = this.data;\n const h = data.h;\n if (!this.type.is(TYPE.RGB) && h !== undefined)\n return h;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'h');\n }\n get s() {\n const data = this.data;\n const s = data.s;\n if (!this.type.is(TYPE.RGB) && s !== undefined)\n return s;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 's');\n }\n get l() {\n const data = this.data;\n const l = data.l;\n if (!this.type.is(TYPE.RGB) && l !== undefined)\n return l;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'l');\n }\n get a() {\n return this.data.a;\n }\n /* SETTERS */\n set r(r) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.r = r;\n }\n set g(g) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.g = g;\n }\n set b(b) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.b = b;\n }\n set h(h) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.h = h;\n }\n set s(s) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.s = s;\n }\n set l(l) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.l = l;\n }\n set a(a) {\n this.changed = true;\n this.data.a = a;\n }\n}\n/* EXPORT */\nexport default Channels;\n", "/* IMPORT */\nimport Channels from './/index.js';\n/* MAIN */\nconst channels = new Channels({ r: 0, g: 0, b: 0, a: 0 }, 'transparent');\n/* EXPORT */\nexport default channels;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport { DEC2HEX } from '../constants.js';\n/* MAIN */\nconst Hex = {\n /* VARIABLES */\n re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,\n /* API */\n parse: (color) => {\n if (color.charCodeAt(0) !== 35)\n return; // '#'\n const match = color.match(Hex.re);\n if (!match)\n return;\n const hex = match[1];\n const dec = parseInt(hex, 16);\n const length = hex.length;\n const hasAlpha = length % 4 === 0;\n const isFullLength = length > 4;\n const multiplier = isFullLength ? 1 : 17;\n const bits = isFullLength ? 8 : 4;\n const bitsOffset = hasAlpha ? 0 : -1;\n const mask = isFullLength ? 255 : 15;\n return ChannelsReusable.set({\n r: ((dec >> (bits * (bitsOffset + 3))) & mask) * multiplier,\n g: ((dec >> (bits * (bitsOffset + 2))) & mask) * multiplier,\n b: ((dec >> (bits * (bitsOffset + 1))) & mask) * multiplier,\n a: hasAlpha ? (dec & mask) * multiplier / 255 : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // #RRGGBBAA\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}${DEC2HEX[Math.round(a * 255)]}`;\n }\n else { // #RRGGBB\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}`;\n }\n }\n};\n/* EXPORT */\nexport default Hex;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst HSL = {\n /* VARIABLES */\n re: /^hsla?\\(\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?(?:deg|grad|rad|turn)?)\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?%)\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?%)(?:\\s*?(?:,|\\/)\\s*?\\+?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?(%)?))?\\s*?\\)$/i,\n hueRe: /^(.+?)(deg|grad|rad|turn)$/i,\n /* HELPERS */\n _hue2deg: (hue) => {\n const match = hue.match(HSL.hueRe);\n if (match) {\n const [, number, unit] = match;\n switch (unit) {\n case 'grad': return _.channel.clamp.h(parseFloat(number) * .9);\n case 'rad': return _.channel.clamp.h(parseFloat(number) * 180 / Math.PI);\n case 'turn': return _.channel.clamp.h(parseFloat(number) * 360);\n }\n }\n return _.channel.clamp.h(parseFloat(hue));\n },\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 104 && charCode !== 72)\n return; // 'h'/'H'\n const match = color.match(HSL.re);\n if (!match)\n return;\n const [, h, s, l, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n h: HSL._hue2deg(h),\n s: _.channel.clamp.s(parseFloat(s)),\n l: _.channel.clamp.l(parseFloat(l)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { h, s, l, a } = channels;\n if (a < 1) { // HSLA\n return `hsla(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%, ${a})`;\n }\n else { // HSL\n return `hsl(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%)`;\n }\n }\n};\n/* EXPORT */\nexport default HSL;\n", "/* IMPORT */\nimport Hex from './hex.js';\n/* MAIN */\nconst Keyword = {\n /* VARIABLES */\n colors: {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyanaqua: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n transparent: '#00000000',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n },\n /* API */\n parse: (color) => {\n color = color.toLowerCase();\n const hex = Keyword.colors[color];\n if (!hex)\n return;\n return Hex.parse(hex);\n },\n stringify: (channels) => {\n const hex = Hex.stringify(channels);\n for (const name in Keyword.colors) {\n if (Keyword.colors[name] === hex)\n return name;\n }\n return;\n }\n};\n/* EXPORT */\nexport default Keyword;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst RGB = {\n /* VARIABLES */\n re: /^rgba?\\(\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))(?:\\s*?(?:,|\\/)\\s*?\\+?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?)))?\\s*?\\)$/i,\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 114 && charCode !== 82)\n return; // 'r'/'R'\n const match = color.match(RGB.re);\n if (!match)\n return;\n const [, r, isRedPercentage, g, isGreenPercentage, b, isBluePercentage, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n r: _.channel.clamp.r(isRedPercentage ? parseFloat(r) * 2.55 : parseFloat(r)),\n g: _.channel.clamp.g(isGreenPercentage ? parseFloat(g) * 2.55 : parseFloat(g)),\n b: _.channel.clamp.b(isBluePercentage ? parseFloat(b) * 2.55 : parseFloat(b)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // RGBA\n return `rgba(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)}, ${_.lang.round(a)})`;\n }\n else { // RGB\n return `rgb(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)})`;\n }\n }\n};\n/* EXPORT */\nexport default RGB;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Hex from './hex.js';\nimport HSL from './hsl.js';\nimport Keyword from './keyword.js';\nimport RGB from './rgb.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nconst Color = {\n /* VARIABLES */\n format: {\n keyword: Keyword,\n hex: Hex,\n rgb: RGB,\n rgba: RGB,\n hsl: HSL,\n hsla: HSL\n },\n /* API */\n parse: (color) => {\n if (typeof color !== 'string')\n return color;\n const channels = Hex.parse(color) || RGB.parse(color) || HSL.parse(color) || Keyword.parse(color); // Color providers ordered with performance in mind\n if (channels)\n return channels;\n throw new Error(`Unsupported color format: \"${color}\"`);\n },\n stringify: (channels) => {\n // SASS returns a keyword if possible, but we avoid doing that as it's slower and doesn't really add any value\n if (!channels.changed && channels.color)\n return channels.color;\n if (channels.type.is(TYPE.HSL) || channels.data.r === undefined) {\n return HSL.stringify(channels);\n }\n else if (channels.a < 1 || !Number.isInteger(channels.r) || !Number.isInteger(channels.g) || !Number.isInteger(channels.b)) {\n return RGB.stringify(channels);\n }\n else {\n return Hex.stringify(channels);\n }\n }\n};\n/* EXPORT */\nexport default Color;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst change = (color, channels) => {\n const ch = Color.parse(color);\n for (const c in channels) {\n ch[c] = _.channel.clamp[c](channels[c]);\n }\n return Color.stringify(ch);\n};\n/* EXPORT */\nexport default change;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst rgba = (r, g, b = 0, a = 1) => {\n if (typeof r !== 'number')\n return change(r, { a: g });\n const channels = ChannelsReusable.set({\n r: _.channel.clamp.r(r),\n g: _.channel.clamp.g(g),\n b: _.channel.clamp.b(b),\n a: _.channel.clamp.a(a)\n });\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default rgba;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst channel = (color, channel) => {\n return _.lang.round(Color.parse(color)[channel]);\n};\n/* EXPORT */\nexport default channel;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\n//SOURCE: https://planetcalc.com/7779\nconst luminance = (color) => {\n const { r, g, b } = Color.parse(color);\n const luminance = .2126 * _.channel.toLinear(r) + .7152 * _.channel.toLinear(g) + .0722 * _.channel.toLinear(b);\n return _.lang.round(luminance);\n};\n/* EXPORT */\nexport default luminance;\n", "/* IMPORT */\nimport luminance from './luminance.js';\n/* MAIN */\nconst isLight = (color) => {\n return luminance(color) >= .5;\n};\n/* EXPORT */\nexport default isLight;\n", "/* IMPORT */\nimport isLight from './is_light.js';\n/* MAIN */\nconst isDark = (color) => {\n return !isLight(color);\n};\n/* EXPORT */\nexport default isDark;\n", "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst adjustChannel = (color, channel, amount) => {\n const channels = Color.parse(color);\n const amountCurrent = channels[channel];\n const amountNext = _.channel.clamp[channel](amountCurrent + amount);\n if (amountCurrent !== amountNext)\n channels[channel] = amountNext;\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default adjustChannel;\n", "/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst lighten = (color, amount) => {\n return adjustChannel(color, 'l', amount);\n};\n/* EXPORT */\nexport default lighten;\n", "/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst darken = (color, amount) => {\n return adjustChannel(color, 'l', -amount);\n};\n/* EXPORT */\nexport default darken;\n", "/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst transparentize = (color, amount) => {\n return adjustChannel(color, 'a', -amount);\n};\n/* EXPORT */\nexport default transparentize;\n", "/* IMPORT */\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst adjust = (color, channels) => {\n const ch = Color.parse(color);\n const changes = {};\n for (const c in channels) {\n if (!channels[c])\n continue;\n changes[c] = ch[c] + channels[c];\n }\n return change(color, changes);\n};\n/* EXPORT */\nexport default adjust;\n", "/* IMPORT */\nimport Color from '../color/index.js';\nimport rgba from './rgba.js';\n/* MAIN */\n//SOURCE: https://github.com/sass/dart-sass/blob/7457d2e9e7e623d9844ffd037a070cf32d39c348/lib/src/functions/color.dart#L718-L756\nconst mix = (color1, color2, weight = 50) => {\n const { r: r1, g: g1, b: b1, a: a1 } = Color.parse(color1);\n const { r: r2, g: g2, b: b2, a: a2 } = Color.parse(color2);\n const weightScale = weight / 100;\n const weightNormalized = (weightScale * 2) - 1;\n const alphaDelta = a1 - a2;\n const weight1combined = ((weightNormalized * alphaDelta) === -1) ? weightNormalized : (weightNormalized + alphaDelta) / (1 + weightNormalized * alphaDelta);\n const weight1 = (weight1combined + 1) / 2;\n const weight2 = 1 - weight1;\n const r = (r1 * weight1) + (r2 * weight2);\n const g = (g1 * weight1) + (g2 * weight2);\n const b = (b1 * weight1) + (b2 * weight2);\n const a = (a1 * weightScale) + (a2 * (1 - weightScale));\n return rgba(r, g, b, a);\n};\n/* EXPORT */\nexport default mix;\n", "/* IMPORT */\nimport Color from '../color/index.js';\nimport mix from './mix.js';\n/* MAIN */\nconst invert = (color, weight = 100) => {\n const inverse = Color.parse(color);\n inverse.r = 255 - inverse.r;\n inverse.g = 255 - inverse.g;\n inverse.b = 255 - inverse.b;\n return mix(inverse, color, weight);\n};\n/* EXPORT */\nexport default invert;\n", "const {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!freeze) {\n freeze = function <T>(x: T): T {\n return x;\n };\n}\n\nif (!seal) {\n seal = function <T>(x: T): T {\n return x;\n };\n}\n\nif (!apply) {\n apply = function <T>(\n func: (thisArg: any, ...args: any[]) => T,\n thisArg: any,\n ...args: any[]\n ): T {\n return func.apply(thisArg, args);\n };\n}\n\nif (!construct) {\n construct = function <T>(Func: new (...args: any[]) => T, ...args: any[]): T {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\nconst arraySplice = unapply(Array.prototype.splice);\nconst arrayIsArray = Array.isArray;\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst numberToString = unapply(Number.prototype.toString);\nconst booleanToString = unapply(Boolean.prototype.toString);\nconst bigintToString =\n typeof BigInt === 'undefined' ? null : unapply(BigInt.prototype.toString);\nconst symbolToString =\n typeof Symbol === 'undefined' ? null : unapply(Symbol.prototype.toString);\n\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst objectToString = unapply(Object.prototype.toString);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply<T>(\n func: (thisArg: any, ...args: any[]) => T\n): (thisArg: any, ...args: any[]) => T {\n return (thisArg: any, ...args: any[]): T => {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n\n return apply(func, thisArg, args);\n };\n}\n\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct<T>(\n Func: new (...args: any[]) => T\n): (...args: any[]) => T {\n return (...args: any[]): T => construct(Func, args);\n}\n\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(\n set: Record<string, boolean>,\n array: readonly unknown[],\n transformCaseFunc: ReturnType<typeof unapply<string>> = stringToLowerCase\n): Record<string, boolean> {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n if (!arrayIsArray(array)) {\n return set;\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n (array as unknown[])[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element as string] = true;\n }\n\n return set;\n}\n\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray<T>(array: T[]): Array<T | null> {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n\n return array;\n}\n\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone<T extends Record<string, any>>(object: T): T {\n const newObject = create(null);\n\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n\n if (isPropertyExist) {\n if (arrayIsArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (\n value &&\n typeof value === 'object' &&\n value.constructor === Object\n ) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n\n return newObject;\n}\n\n/**\n * Convert non-node values into strings without depending on direct property access.\n *\n * @param value - The value to stringify.\n * @returns A string representation of the provided value.\n */\nfunction stringifyValue(value: unknown): string {\n switch (typeof value) {\n case 'string': {\n return value;\n }\n\n case 'number': {\n return numberToString(value);\n }\n\n case 'boolean': {\n return booleanToString(value);\n }\n\n case 'bigint': {\n return bigintToString ? bigintToString(value) : '0';\n }\n\n case 'symbol': {\n return symbolToString ? symbolToString(value) : 'Symbol()';\n }\n\n case 'undefined': {\n return objectToString(value);\n }\n\n case 'function':\n case 'object': {\n if (value === null) {\n return objectToString(value);\n }\n\n const valueAsRecord = value as Record<string, any>;\n const valueToString = lookupGetter(valueAsRecord, 'toString');\n\n if (typeof valueToString === 'function') {\n const stringified = valueToString(valueAsRecord);\n\n return typeof stringified === 'string'\n ? stringified\n : objectToString(stringified);\n }\n\n return objectToString(value);\n }\n\n default: {\n return objectToString(value);\n }\n }\n}\n\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter<T extends Record<string, any>>(\n object: T,\n prop: string\n): ReturnType<typeof unapply<any>> | (() => null) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(): null {\n return null;\n }\n\n return fallbackValue;\n}\n\nfunction isRegex(value: unknown): value is RegExp {\n try {\n regExpTest(value as RegExp, '');\n return true;\n } catch {\n return false;\n }\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayIsArray,\n arrayLastIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n arraySplice,\n // Object\n entries,\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n isFrozen,\n setPrototypeOf,\n seal,\n clone,\n create,\n objectHasOwnProperty,\n objectToString,\n // RegExp\n regExpTest,\n isRegex,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Other conversion\n stringifyValue,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n addToSet,\n // Reflect\n unapply,\n unconstruct,\n};\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'search',\n 'section',\n 'select',\n 'shadow',\n 'slot',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n] as const);\n\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'enterkeyhint',\n 'exportparts',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'inputmode',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'part',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n] as const);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n] as const);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n] as const);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n 'mprescripts',\n] as const);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n] as const);\n\nexport const text = freeze(['#text'] as const);\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'exportparts',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inert',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'part',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'popover',\n 'popovertarget',\n 'popovertargetaction',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'slot',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'wrap',\n 'xmlns',\n] as const);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'amplitude',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'exponent',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'intercept',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'mask-type',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'slope',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'tablevalues',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n] as const);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnalign',\n 'columnlines',\n 'columnspacing',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lquote',\n 'lspace',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n] as const);\n", "import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\nexport const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n", "/* eslint-disable @typescript-eslint/indent */\n\nimport type {\n TrustedHTML,\n TrustedTypesWindow,\n} from 'trusted-types/lib/index.js';\nimport type { Config, UseProfilesConfig } from './config';\nimport * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n entries,\n freeze,\n arrayForEach,\n arrayIsArray,\n arrayLastIndexOf,\n arrayPop,\n arrayPush,\n arraySplice,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n regExpTest,\n isRegex,\n typeErrorCreate,\n lookupGetter,\n create,\n objectHasOwnProperty,\n stringifyValue,\n} from './utils.js';\n\nexport type { Config } from './config';\n\ndeclare const VERSION: string;\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5, // Deprecated\n entityNode: 6, // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12, // Deprecated\n};\n\nconst getGlobal = function (): WindowLike {\n return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function (\n trustedTypes: TrustedTypePolicyFactory,\n purifyHostElement: HTMLScriptElement\n) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nconst _createHooksMap = function (): HooksMap {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: [],\n };\n};\n\nfunction createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {\n const DOMPurify: DOMPurify = (root: WindowLike) => createDOMPurify(root);\n\n DOMPurify.version = VERSION;\n\n DOMPurify.removed = [];\n\n if (\n !window ||\n !window.document ||\n window.document.nodeType !== NODE_TYPE.document ||\n !window.Element\n ) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n let { document } = window;\n\n const originalDocument = document;\n const currentScript: HTMLScriptElement =\n originalDocument.currentScript as HTMLScriptElement;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || (window as any).MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n let trustedTypesPolicy;\n let emptyHTML = '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let hooks = _createHooksMap();\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof entries === 'function' &&\n typeof getParentNode === 'function' &&\n implementation &&\n implementation.createHTMLDocument !== undefined;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(\n create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n })\n );\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (\u00A77.3.3)\n * - DOM Tree Accessors (\u00A73.1.5)\n * - Form Element Parent-Child Relations (\u00A74.10.3)\n * - Iframe srcdoc / Nested WindowProxies (\u00A74.8.5)\n * - HTMLCollection (\u00A74.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES: UseProfilesConfig | false = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE: null | DOMParserSupportedType = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc: null | Parameters<typeof addToSet>[2] = null;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG: Config | null = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (\n testValue: unknown\n ): testValue is Function | RegExp {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg: Config = {}): void {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? DEFAULT_PARSER_MEDIA_TYPE\n : cfg.PARSER_MEDIA_TYPE;\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n objectHasOwnProperty(cfg, 'ALLOWED_TAGS') &&\n arrayIsArray(cfg.ALLOWED_TAGS)\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n objectHasOwnProperty(cfg, 'ALLOWED_ATTR') &&\n arrayIsArray(cfg.ALLOWED_ATTR)\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES =\n objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') &&\n arrayIsArray(cfg.ALLOWED_NAMESPACES)\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES =\n objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') &&\n arrayIsArray(cfg.ADD_URI_SAFE_ATTR)\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES),\n cfg.ADD_URI_SAFE_ATTR,\n transformCaseFunc\n )\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') &&\n arrayIsArray(cfg.ADD_DATA_URI_TAGS)\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS),\n cfg.ADD_DATA_URI_TAGS,\n transformCaseFunc\n )\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS =\n objectHasOwnProperty(cfg, 'FORBID_CONTENTS') &&\n arrayIsArray(cfg.FORBID_CONTENTS)\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS =\n objectHasOwnProperty(cfg, 'FORBID_TAGS') && arrayIsArray(cfg.FORBID_TAGS)\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : clone({});\n FORBID_ATTR =\n objectHasOwnProperty(cfg, 'FORBID_ATTR') && arrayIsArray(cfg.FORBID_ATTR)\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : clone({});\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES')\n ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === 'object'\n ? clone(cfg.USE_PROFILES)\n : cfg.USE_PROFILES\n : false;\n\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = isRegex(cfg.ALLOWED_URI_REGEXP)\n ? cfg.ALLOWED_URI_REGEXP\n : EXPRESSIONS.IS_ALLOWED_URI; // Default regexp\n\n NAMESPACE =\n typeof cfg.NAMESPACE === 'string' ? cfg.NAMESPACE : HTML_NAMESPACE; // Default HTML namespace\n\n MATHML_TEXT_INTEGRATION_POINTS =\n objectHasOwnProperty(cfg, 'MATHML_TEXT_INTEGRATION_POINTS') &&\n cfg.MATHML_TEXT_INTEGRATION_POINTS &&\n typeof cfg.MATHML_TEXT_INTEGRATION_POINTS === 'object'\n ? clone(cfg.MATHML_TEXT_INTEGRATION_POINTS)\n : addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']); // Default built-in map\n\n HTML_INTEGRATION_POINTS =\n objectHasOwnProperty(cfg, 'HTML_INTEGRATION_POINTS') &&\n cfg.HTML_INTEGRATION_POINTS &&\n typeof cfg.HTML_INTEGRATION_POINTS === 'object'\n ? clone(cfg.HTML_INTEGRATION_POINTS)\n : addToSet({}, ['annotation-xml']); // Default built-in map\n\n const customElementHandling =\n objectHasOwnProperty(cfg, 'CUSTOM_ELEMENT_HANDLING') &&\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING === 'object'\n ? clone(cfg.CUSTOM_ELEMENT_HANDLING)\n : create(null);\n\n CUSTOM_ELEMENT_HANDLING = create(null);\n\n if (\n objectHasOwnProperty(customElementHandling, 'tagNameCheck') &&\n isRegexOrFunction(customElementHandling.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck; // Default undefined\n }\n\n if (\n objectHasOwnProperty(customElementHandling, 'attributeNameCheck') &&\n isRegexOrFunction(customElementHandling.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n customElementHandling.attributeNameCheck; // Default undefined\n }\n\n if (\n objectHasOwnProperty(\n customElementHandling,\n 'allowCustomizedBuiltInElements'\n ) &&\n typeof customElementHandling.allowCustomizedBuiltInElements === 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n customElementHandling.allowCustomizedBuiltInElements; // Default undefined\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, TAGS.text);\n ALLOWED_ATTR = create(null);\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Always reset function-based ADD_TAGS / ADD_ATTR checks to prevent\n * leaking across calls when switching from function to array config */\n EXTRA_ELEMENT_HANDLING.tagCheck = null;\n EXTRA_ELEMENT_HANDLING.attributeCheck = null;\n\n /* Merge configuration parameters */\n if (objectHasOwnProperty(cfg, 'ADD_TAGS')) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else if (arrayIsArray(cfg.ADD_TAGS)) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n\n if (objectHasOwnProperty(cfg, 'ADD_ATTR')) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else if (arrayIsArray(cfg.ADD_ATTR)) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n\n if (\n objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') &&\n arrayIsArray(cfg.ADD_URI_SAFE_ATTR)\n ) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (\n objectHasOwnProperty(cfg, 'FORBID_CONTENTS') &&\n arrayIsArray(cfg.FORBID_CONTENTS)\n ) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n if (\n objectHasOwnProperty(cfg, 'ADD_FORBID_CONTENTS') &&\n arrayIsArray(cfg.ADD_FORBID_CONTENTS)\n ) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.'\n );\n }\n\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.'\n );\n }\n\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n currentScript\n );\n }\n\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.svgDisallowed,\n ]);\n const ALL_MATHML_TAGS = addToSet({}, [\n ...TAGS.mathMl,\n ...TAGS.mathMlDisallowed,\n ]);\n\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element: Element): boolean {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function (node: Node): void {\n arrayPush(DOMPurify.removed, { element: node });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function (name: string, element: Element): void {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element,\n });\n }\n\n element.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty: string): Document {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' +\n dirty +\n '</body></html>';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function (root: Node): NodeIterator {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT |\n NodeFilter.SHOW_COMMENT |\n NodeFilter.SHOW_TEXT |\n NodeFilter.SHOW_PROCESSING_INSTRUCTION |\n NodeFilter.SHOW_CDATA_SECTION,\n null\n );\n };\n\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function (element: Element): boolean {\n return (\n element instanceof HTMLFormElement &&\n (typeof element.nodeName !== 'string' ||\n typeof element.textContent !== 'string' ||\n typeof element.removeChild !== 'function' ||\n !(element.attributes instanceof NamedNodeMap) ||\n typeof element.removeAttribute !== 'function' ||\n typeof element.setAttribute !== 'function' ||\n typeof element.namespaceURI !== 'string' ||\n typeof element.insertBefore !== 'function' ||\n typeof element.hasChildNodes !== 'function')\n );\n };\n\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function (value: unknown): value is Node {\n return typeof Node === 'function' && value instanceof Node;\n };\n\n function _executeHooks<T extends HookFunction>(\n hooks: HookFunction[],\n currentNode: Parameters<T>[0],\n data: Parameters<T>[1]\n ): void {\n arrayForEach(hooks, (hook: T) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode: any): boolean {\n let content = null;\n\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n SAFE_FOR_XML &&\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n regExpTest(/<[/\\w!]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w!]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove risky CSS construction leading to mXSS */\n if (\n SAFE_FOR_XML &&\n currentNode.namespaceURI === HTML_NAMESPACE &&\n tagName === 'style' &&\n _isNode(currentNode.firstElementChild)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any kind of possibly harmful comments */\n if (\n SAFE_FOR_XML &&\n currentNode.nodeType === NODE_TYPE.comment &&\n regExpTest(/<[/\\w]/g, currentNode.data)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (\n FORBID_TAGS[tagName] ||\n (!(\n EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function &&\n EXTRA_ELEMENT_HANDLING.tagCheck(tagName)\n ) &&\n !ALLOWED_TAGS[tagName])\n ) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)\n ) {\n return false;\n }\n\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)\n ) {\n return false;\n }\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if (\n (tagName === 'noscript' ||\n tagName === 'noembed' ||\n tagName === 'noframes') &&\n regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr: RegExp) => {\n content = stringReplace(content, expr, ' ');\n });\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (\n lcTag: string,\n lcName: string,\n value: string\n ): boolean {\n /* FORBID_ATTR must always win, even if ADD_ATTR predicate would allow it */\n if (FORBID_ATTR[lcName]) {\n return false;\n }\n\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document || value in formElement)\n ) {\n return false;\n }\n\n const nameIsPermitted =\n ALLOWED_ATTR[lcName] ||\n (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function &&\n EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag));\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (\n ALLOW_DATA_ATTR &&\n !FORBID_ATTR[lcName] &&\n regExpTest(DATA_ATTR, lcName)\n ) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!nameIsPermitted || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n (_isBasicCustomElement(lcTag) &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)))) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n (lcName === 'is' &&\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n ) {\n // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n } else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n } else if (value) {\n return false;\n } else {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n }\n\n return true;\n };\n\n /* Names the HTML spec reserves from valid-custom-element-name; these must\n * never be treated as basic custom elements even when a permissive\n * CUSTOM_ELEMENT_HANDLING.tagNameCheck is configured. */\n const RESERVED_CUSTOM_ELEMENT_NAMES = addToSet({}, [\n 'annotation-xml',\n 'color-profile',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'missing-glyph',\n ]);\n\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function (tagName: string): boolean {\n return (\n !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] &&\n regExpTest(CUSTOM_ELEMENT, tagName)\n );\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode: Element): void {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined,\n };\n let l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const { name, namespaceURI, value: attrValue } = attr;\n const lcName = transformCaseFunc(name);\n\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (\n SANITIZE_NAMED_PROPS &&\n (lcName === 'id' || lcName === 'name') &&\n stringIndexOf(value, SANITIZE_NAMED_PROPS_PREFIX) !== 0\n ) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n // Else: already prefixed, leave the attribute alone \u2014 the prefix is\n // itself the clobbering protection, and re-applying it is incorrect.\n\n /* Work around a security issue with comments inside attributes */\n if (\n SAFE_FOR_XML &&\n regExpTest(\n /((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,\n value\n )\n ) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Make sure we cannot easily use animated hrefs, even if animations are allowed */\n if (lcName === 'attributename' && stringMatch(value, 'href')) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr: RegExp) => {\n value = stringReplace(value, expr, ' ');\n });\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Handle attributes that require Trusted Types */\n if (\n trustedTypesPolicy &&\n typeof trustedTypes === 'object' &&\n typeof trustedTypes.getAttributeType === 'function'\n ) {\n if (namespaceURI) {\n /* Namespaces are not yet supported, see https://bugs.chromium.org/p/chromium/issues/detail?id=1305293 */\n } else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML': {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n\n case 'TrustedScriptURL': {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n\n default: {\n break;\n }\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {\n _removeAttribute(name, currentNode);\n }\n }\n }\n\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment: DocumentFragment): void {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg = {}) {\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n dirty = stringifyValue(dirty);\n\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n const nn = (dirty as Node).nodeName;\n if (typeof nn === 'string') {\n const tagName = transformCaseFunc(nn);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate(\n 'root node is forbidden and cannot be sanitized in-place'\n );\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (\n importedNode.nodeType === NODE_TYPE.element &&\n importedNode.nodeName === 'BODY'\n ) {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (SAFE_FOR_TEMPLATES) {\n body.normalize();\n let html = body.innerHTML;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr: RegExp) => {\n html = stringReplace(html, expr, ' ');\n });\n body.innerHTML = html;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (\n WHOLE_DOCUMENT &&\n ALLOWED_TAGS['!doctype'] &&\n body.ownerDocument &&\n body.ownerDocument.doctype &&\n body.ownerDocument.doctype.name &&\n regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n ) {\n serializedHTML =\n '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr: RegExp) => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n DOMPurify.setConfig = function (cfg = {}) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n DOMPurify.addHook = function (\n entryPoint: keyof HooksMap,\n hookFunction: HookFunction\n ) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n DOMPurify.removeHook = function (\n entryPoint: keyof HooksMap,\n hookFunction: HookFunction\n ) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n\n return index === -1\n ? undefined\n : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n\n return arrayPop(hooks[entryPoint]);\n };\n\n DOMPurify.removeHooks = function (entryPoint: keyof HooksMap) {\n hooks[entryPoint] = [];\n };\n\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n\nexport interface DOMPurify {\n /**\n * Creates a DOMPurify instance using the given window-like object. Defaults to `window`.\n */\n (root?: WindowLike): DOMPurify;\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n version: string;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n removed: Array<RemovedElement | RemovedAttribute>;\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n isSupported: boolean;\n\n /**\n * Set the configuration once.\n *\n * @param cfg configuration object\n */\n setConfig(cfg?: Config): void;\n\n /**\n * Removes the configuration.\n */\n clearConfig(): void;\n\n /**\n * Provides core sanitation functionality.\n *\n * @param dirty string or DOM node\n * @param cfg object\n * @returns Sanitized TrustedHTML.\n */\n sanitize(\n dirty: string | Node,\n cfg: Config & { RETURN_TRUSTED_TYPE: true }\n ): TrustedHTML;\n\n /**\n * Provides core sanitation functionality.\n *\n * @param dirty DOM node\n * @param cfg object\n * @returns Sanitized DOM node.\n */\n sanitize(dirty: Node, cfg: Config & { IN_PLACE: true }): Node;\n\n /**\n * Provides core sanitation functionality.\n *\n * @param dirty string or DOM node\n * @param cfg object\n * @returns Sanitized DOM node.\n */\n sanitize(dirty: string | Node, cfg: Config & { RETURN_DOM: true }): Node;\n\n /**\n * Provides core sanitation functionality.\n *\n * @param dirty string or DOM node\n * @param cfg object\n * @returns Sanitized document fragment.\n */\n sanitize(\n dirty: string | Node,\n cfg: Config & { RETURN_DOM_FRAGMENT: true }\n ): DocumentFragment;\n\n /**\n * Provides core sanitation functionality.\n *\n * @param dirty string or DOM node\n * @param cfg object\n * @returns Sanitized string.\n */\n sanitize(dirty: string | Node, cfg?: Config): string;\n\n /**\n * Checks if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n *\n * @param tag Tag name of containing element.\n * @param attr Attribute name.\n * @param value Attribute value.\n * @returns Returns true if `value` is valid. Otherwise, returns false.\n */\n isValidAttribute(tag: string, attr: string, value: string): boolean;\n\n /**\n * Adds a DOMPurify hook.\n *\n * @param entryPoint entry point for the hook to add\n * @param hookFunction function to execute\n */\n addHook(entryPoint: BasicHookName, hookFunction: NodeHook): void;\n\n /**\n * Adds a DOMPurify hook.\n *\n * @param entryPoint entry point for the hook to add\n * @param hookFunction function to execute\n */\n addHook(entryPoint: ElementHookName, hookFunction: ElementHook): void;\n\n /**\n * Adds a DOMPurify hook.\n *\n * @param entryPoint entry point for the hook to add\n * @param hookFunction function to execute\n */\n addHook(\n entryPoint: DocumentFragmentHookName,\n hookFunction: DocumentFragmentHook\n ): void;\n\n /**\n * Adds a DOMPurify hook.\n *\n * @param entryPoint entry point for the hook to add\n * @param hookFunction function to execute\n */\n addHook(\n entryPoint: 'uponSanitizeElement',\n hookFunction: UponSanitizeElementHook\n ): void;\n\n /**\n * Adds a DOMPurify hook.\n *\n * @param entryPoint entry point for the hook to add\n * @param hookFunction function to execute\n */\n addHook(\n entryPoint: 'uponSanitizeAttribute',\n hookFunction: UponSanitizeAttributeHook\n ): void;\n\n /**\n * Remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if hook not specified)\n *\n * @param entryPoint entry point for the hook to remove\n * @param hookFunction optional specific hook to remove\n * @returns removed hook\n */\n removeHook(\n entryPoint: BasicHookName,\n hookFunction?: NodeHook\n ): NodeHook | undefined;\n\n /**\n * Remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if hook not specified)\n *\n * @param entryPoint entry point for the hook to remove\n * @param hookFunction optional specific hook to remove\n * @returns removed hook\n */\n removeHook(\n entryPoint: ElementHookName,\n hookFunction?: ElementHook\n ): ElementHook | undefined;\n\n /**\n * Remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if hook not specified)\n *\n * @param entryPoint entry point for the hook to remove\n * @param hookFunction optional specific hook to remove\n * @returns removed hook\n */\n removeHook(\n entryPoint: DocumentFragmentHookName,\n hookFunction?: DocumentFragmentHook\n ): DocumentFragmentHook | undefined;\n\n /**\n * Remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if hook not specified)\n *\n * @param entryPoint entry point for the hook to remove\n * @param hookFunction optional specific hook to remove\n * @returns removed hook\n */\n removeHook(\n entryPoint: 'uponSanitizeElement',\n hookFunction?: UponSanitizeElementHook\n ): UponSanitizeElementHook | undefined;\n\n /**\n * Remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if hook not specified)\n *\n * @param entryPoint entry point for the hook to remove\n * @param hookFunction optional specific hook to remove\n * @returns removed hook\n */\n removeHook(\n entryPoint: 'uponSanitizeAttribute',\n hookFunction?: UponSanitizeAttributeHook\n ): UponSanitizeAttributeHook | undefined;\n\n /**\n * Removes all DOMPurify hooks at a given entryPoint\n *\n * @param entryPoint entry point for the hooks to remove\n */\n removeHooks(entryPoint: HookName): void;\n\n /**\n * Removes all DOMPurify hooks.\n */\n removeAllHooks(): void;\n}\n\n/**\n * An element removed by DOMPurify.\n */\nexport interface RemovedElement {\n /**\n * The element that was removed.\n */\n element: Node;\n}\n\n/**\n * An element removed by DOMPurify.\n */\nexport interface RemovedAttribute {\n /**\n * The attribute that was removed.\n */\n attribute: Attr | null;\n\n /**\n * The element that the attribute was removed.\n */\n from: Node;\n}\n\ntype BasicHookName =\n | 'beforeSanitizeElements'\n | 'afterSanitizeElements'\n | 'uponSanitizeShadowNode';\ntype ElementHookName = 'beforeSanitizeAttributes' | 'afterSanitizeAttributes';\ntype DocumentFragmentHookName =\n | 'beforeSanitizeShadowDOM'\n | 'afterSanitizeShadowDOM';\ntype UponSanitizeElementHookName = 'uponSanitizeElement';\ntype UponSanitizeAttributeHookName = 'uponSanitizeAttribute';\n\ninterface HooksMap {\n beforeSanitizeElements: NodeHook[];\n afterSanitizeElements: NodeHook[];\n beforeSanitizeShadowDOM: DocumentFragmentHook[];\n uponSanitizeShadowNode: NodeHook[];\n afterSanitizeShadowDOM: DocumentFragmentHook[];\n beforeSanitizeAttributes: ElementHook[];\n afterSanitizeAttributes: ElementHook[];\n uponSanitizeElement: UponSanitizeElementHook[];\n uponSanitizeAttribute: UponSanitizeAttributeHook[];\n}\n\ntype ArrayElement<T> = T extends Array<infer U> ? U : never;\n\ntype HookFunction = ArrayElement<HooksMap[keyof HooksMap]>;\n\nexport type HookName =\n | BasicHookName\n | ElementHookName\n | DocumentFragmentHookName\n | UponSanitizeElementHookName\n | UponSanitizeAttributeHookName;\n\nexport type NodeHook = (\n this: DOMPurify,\n currentNode: Node,\n hookEvent: null,\n config: Config\n) => void;\n\nexport type ElementHook = (\n this: DOMPurify,\n currentNode: Element,\n hookEvent: null,\n config: Config\n) => void;\n\nexport type DocumentFragmentHook = (\n this: DOMPurify,\n currentNode: DocumentFragment,\n hookEvent: null,\n config: Config\n) => void;\n\nexport type UponSanitizeElementHook = (\n this: DOMPurify,\n currentNode: Node,\n hookEvent: UponSanitizeElementHookEvent,\n config: Config\n) => void;\n\nexport type UponSanitizeAttributeHook = (\n this: DOMPurify,\n currentNode: Element,\n hookEvent: UponSanitizeAttributeHookEvent,\n config: Config\n) => void;\n\nexport interface UponSanitizeElementHookEvent {\n tagName: string;\n allowedTags: Record<string, boolean>;\n}\n\nexport interface UponSanitizeAttributeHookEvent {\n attrName: string;\n attrValue: string;\n keepAttr: boolean;\n allowedAttributes: Record<string, boolean>;\n forceKeepAttr: boolean | undefined;\n}\n\n/**\n * A `Window`-like object containing the properties and types that DOMPurify requires.\n */\nexport type WindowLike = Pick<\n typeof globalThis,\n | 'DocumentFragment'\n | 'HTMLTemplateElement'\n | 'Node'\n | 'Element'\n | 'NodeFilter'\n | 'NamedNodeMap'\n | 'HTMLFormElement'\n | 'DOMParser'\n> & {\n document?: Document;\n MozNamedAttrMap?: typeof window.NamedNodeMap;\n} & Pick<TrustedTypesWindow, 'trustedTypes'>;\n", "import {\n __export,\n __name,\n log,\n setLogLevel\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagram-api/regexes.ts\nvar frontMatterRegex = /^-{3}\\s*[\\n\\r](.*?)[\\n\\r]-{3}\\s*[\\n\\r]+/s;\nvar directiveRegex = /%{2}{\\s*(?:(\\w+)\\s*:|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nvar anyCommentRegex = /\\s*%%.*\\n/gm;\n\n// src/errors.ts\nvar UnknownDiagramError = class extends Error {\n static {\n __name(this, \"UnknownDiagramError\");\n }\n constructor(message) {\n super(message);\n this.name = \"UnknownDiagramError\";\n }\n};\n\n// src/diagram-api/detectType.ts\nvar detectors = {};\nvar detectType = /* @__PURE__ */ __name(function(text, config2) {\n text = text.replace(frontMatterRegex, \"\").replace(directiveRegex, \"\").replace(anyCommentRegex, \"\\n\");\n for (const [key, { detector }] of Object.entries(detectors)) {\n const diagram = detector(text, config2);\n if (diagram) {\n return key;\n }\n }\n throw new UnknownDiagramError(\n `No diagram type detected matching given configuration for text: ${text}`\n );\n}, \"detectType\");\nvar registerLazyLoadedDiagrams = /* @__PURE__ */ __name((...diagrams2) => {\n for (const { id, detector, loader } of diagrams2) {\n addDetector(id, detector, loader);\n }\n}, \"registerLazyLoadedDiagrams\");\nvar addDetector = /* @__PURE__ */ __name((key, detector, loader) => {\n if (detectors[key]) {\n log.warn(`Detector with key ${key} already exists. Overwriting.`);\n }\n detectors[key] = { detector, loader };\n log.debug(`Detector with key ${key} added${loader ? \" with loader\" : \"\"}`);\n}, \"addDetector\");\nvar getDiagramLoader = /* @__PURE__ */ __name((key) => {\n return detectors[key].loader;\n}, \"getDiagramLoader\");\n\n// src/assignWithDepth.ts\nvar assignWithDepth = /* @__PURE__ */ __name((dst, src, { depth = 2, clobber = false } = {}) => {\n const config2 = { depth, clobber };\n if (Array.isArray(src) && !Array.isArray(dst)) {\n src.forEach((s) => assignWithDepth(dst, s, config2));\n return dst;\n } else if (Array.isArray(src) && Array.isArray(dst)) {\n src.forEach((s) => {\n if (!dst.includes(s)) {\n dst.push(s);\n }\n });\n return dst;\n }\n if (dst === void 0 || depth <= 0) {\n if (dst !== void 0 && dst !== null && typeof dst === \"object\" && typeof src === \"object\") {\n return Object.assign(dst, src);\n } else {\n return src;\n }\n }\n if (src !== void 0 && typeof dst === \"object\" && typeof src === \"object\") {\n Object.keys(src).forEach((key) => {\n if (typeof src[key] === \"object\" && src[key] !== null && (dst[key] === void 0 || typeof dst[key] === \"object\")) {\n if (dst[key] === void 0) {\n dst[key] = Array.isArray(src[key]) ? [] : {};\n }\n dst[key] = assignWithDepth(dst[key], src[key], { depth: depth - 1, clobber });\n } else if (clobber || typeof dst[key] !== \"object\" && typeof src[key] !== \"object\") {\n dst[key] = src[key];\n }\n });\n }\n return dst;\n}, \"assignWithDepth\");\nvar assignWithDepth_default = assignWithDepth;\n\n// src/themes/theme-base.js\nimport { adjust as adjust2, darken, invert, isDark, lighten } from \"khroma\";\n\n// src/themes/erDiagram-oldHardcodedValues.ts\nvar oldAttributeBackgroundColorOdd = \"#ffffff\";\nvar oldAttributeBackgroundColorEven = \"#f2f2f2\";\n\n// src/themes/theme-helpers.js\nimport { adjust } from \"khroma\";\nvar mkBorder = /* @__PURE__ */ __name((col, darkMode) => darkMode ? adjust(col, { s: -40, l: 10 }) : adjust(col, { s: -40, l: -10 }), \"mkBorder\");\n\n// src/themes/theme-base.js\nvar Theme = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#fff4dd\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 5;\n this.strokeWidth = 1;\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.useGradient = true;\n this.dropShadow = \"drop-shadow( 1px 2px 2px rgba(185,185,185,1))\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#333\");\n this.secondaryColor = this.secondaryColor || adjust2(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust2(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#333\";\n this.secondaryTextColor = this.secondaryTextColor || invert(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert(this.tertiaryColor);\n this.lineColor = this.lineColor || invert(this.background);\n this.arrowheadColor = this.arrowheadColor || invert(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.primaryBorderColor;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert(this.lineColor);\n this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || this.primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten(this.primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.vertLineColor = this.vertLineColor || \"navy\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.noteFontWeight = this.noteFontWeight || \"normal\";\n this.fontWeight = this.fontWeight || \"normal\";\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n if (this.darkMode) {\n this.rowOdd = this.rowOdd || darken(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken(this.mainBkg, 10);\n } else {\n this.rowOdd = this.rowOdd || lighten(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten(this.mainBkg, 5);\n }\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || this.tertiaryColor;\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust2(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust2(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust2(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust2(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust2(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust2(this.primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust2(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust2(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust2(this.primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || this.primaryColor;\n this.fillType1 = this.fillType1 || this.secondaryColor;\n this.fillType2 = this.fillType2 || adjust2(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust2(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust2(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust2(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust2(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust2(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust2(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust2(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust2(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust2(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust2(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust2(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust2(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust2(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust2(this.primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust2(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust2(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust2(this.tertiaryColor, { l: -30 });\n this.venn4 = this.venn4 ?? adjust2(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust2(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust2(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust2(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust2(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.archEdgeColor = this.archEdgeColor || \"#777\";\n this.archEdgeArrowColor = this.archEdgeArrowColor || \"#777\";\n this.archEdgeWidth = this.archEdgeWidth || \"3\";\n this.archGroupBorderColor = this.archGroupBorderColor || \"#000\";\n this.archGroupBorderWidth = this.archGroupBorderWidth || \"2px\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust2(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust2(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust2(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust2(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust2(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust2(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n dataLabelColor: this.xyChart?.dataLabelColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust2(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust2(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust2(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust2(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust2(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten(this.git0, 25);\n this.git1 = lighten(this.git1, 25);\n this.git2 = lighten(this.git2, 25);\n this.git3 = lighten(this.git3, 25);\n this.git4 = lighten(this.git4, 25);\n this.git5 = lighten(this.git5, 25);\n this.git6 = lighten(this.git6, 25);\n this.git7 = lighten(this.git7, 25);\n } else {\n this.git0 = darken(this.git0, 25);\n this.git1 = darken(this.git1, 25);\n this.git2 = darken(this.git2, 25);\n this.git3 = darken(this.git3, 25);\n this.git4 = darken(this.git4, 25);\n this.git5 = darken(this.git5, 25);\n this.git6 = darken(this.git6, 25);\n this.git7 = darken(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert(this.git0);\n this.gitInv1 = this.gitInv1 || invert(this.git1);\n this.gitInv2 = this.gitInv2 || invert(this.git2);\n this.gitInv3 = this.gitInv3 || invert(this.git3);\n this.gitInv4 = this.gitInv4 || invert(this.git4);\n this.gitInv5 = this.gitInv5 || invert(this.git5);\n this.gitInv6 = this.gitInv6 || invert(this.git6);\n this.gitInv7 = this.gitInv7 || invert(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n this.gradientStart = this.primaryBorderColor;\n this.gradientStop = this.secondaryBorderColor;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-dark.js\nimport { adjust as adjust3, darken as darken2, invert as invert2, isDark as isDark2, lighten as lighten2, rgba } from \"khroma\";\nvar Theme2 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten2(this.primaryColor, 16);\n this.tertiaryColor = adjust3(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert2(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert2(this.primaryColor);\n this.secondaryTextColor = invert2(this.secondaryColor);\n this.tertiaryTextColor = invert2(this.tertiaryColor);\n this.lineColor = invert2(this.background);\n this.textColor = invert2(this.background);\n this.mainBkg = \"#1f2020\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten2(invert2(\"#323D47\"), 10);\n this.lineColor = \"calculated\";\n this.border1 = \"#ccc\";\n this.border2 = rgba(255, 255, 255, 0.25);\n this.arrowheadColor = \"calculated\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"#181818\";\n this.textColor = \"#ccc\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 5;\n this.strokeWidth = 1;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#F9FFFE\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"calculated\";\n this.activationBkgColor = \"calculated\";\n this.sequenceNumberColor = \"black\";\n this.clusterBkg = \"#302F3D\";\n this.sectionBkgColor = darken2(\"#EAE8D9\", 30);\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"#EAE8D9\";\n this.excludeBkgColor = darken2(this.sectionBkgColor, 10);\n this.taskBorderColor = rgba(255, 255, 255, 70);\n this.taskBkgColor = \"calculated\";\n this.taskTextColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = rgba(255, 255, 255, 50);\n this.activeTaskBkgColor = \"#81B1DB\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#E83737\";\n this.critBkgColor = \"#E83737\";\n this.taskTextDarkColor = \"calculated\";\n this.todayLineColor = \"#DB5757\";\n this.vertLineColor = \"#00BFFF\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = this.rowOdd || lighten2(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken2(this.mainBkg, 10);\n this.labelColor = \"calculated\";\n this.errorBkgColor = \"#a44141\";\n this.errorTextColor = \"#ddd\";\n this.useGradient = true;\n this.gradientStart = this.primaryBorderColor;\n this.gradientStop = this.secondaryBorderColor;\n this.dropShadow = \"drop-shadow( 1px 2px 2px rgba(185,185,185,1))\";\n this.noteFontWeight = this.noteFontWeight || \"normal\";\n this.fontWeight = this.fontWeight || \"normal\";\n }\n updateColors() {\n this.secondBkg = lighten2(this.mainBkg, 16);\n this.lineColor = this.mainContrastColor;\n this.arrowheadColor = this.mainContrastColor;\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.edgeLabelBackground = lighten2(this.labelBackground, 25);\n this.actorBorder = this.border1;\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.mainContrastColor;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.mainContrastColor;\n this.signalTextColor = this.mainContrastColor;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.mainContrastColor;\n this.loopTextColor = this.mainContrastColor;\n this.noteBorderColor = this.secondaryBorderColor;\n this.noteBkgColor = this.secondBkg;\n this.noteTextColor = this.secondaryTextColor;\n this.activationBorderColor = this.border1;\n this.activationBkgColor = this.secondBkg;\n this.altSectionBkgColor = this.background;\n this.taskBkgColor = lighten2(this.mainBkg, 23);\n this.taskTextColor = this.darkTextColor;\n this.taskTextLightColor = this.mainContrastColor;\n this.taskTextOutsideColor = this.taskTextLightColor;\n this.gridColor = this.mainContrastColor;\n this.doneTaskBkgColor = this.mainContrastColor;\n this.taskTextDarkColor = invert2(this.doneTaskBkgColor);\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#555\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#f4f4f4\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust3(this.primaryColor, { h: 64 });\n this.fillType3 = adjust3(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust3(this.primaryColor, { h: -64 });\n this.fillType5 = adjust3(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust3(this.primaryColor, { h: 128 });\n this.fillType7 = adjust3(this.secondaryColor, { h: 128 });\n this.cScale1 = this.cScale1 || \"#0b0000\";\n this.cScale2 = this.cScale2 || \"#4d1037\";\n this.cScale3 = this.cScale3 || \"#3f5258\";\n this.cScale4 = this.cScale4 || \"#4f2f1b\";\n this.cScale5 = this.cScale5 || \"#6e0a0a\";\n this.cScale6 = this.cScale6 || \"#3b0048\";\n this.cScale7 = this.cScale7 || \"#995a01\";\n this.cScale8 = this.cScale8 || \"#154706\";\n this.cScale9 = this.cScale9 || \"#161722\";\n this.cScale10 = this.cScale10 || \"#00296f\";\n this.cScale11 = this.cScale11 || \"#01629c\";\n this.cScale12 = this.cScale12 || \"#010029\";\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust3(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust3(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust3(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust3(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust3(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust3(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust3(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust3(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust3(this.primaryColor, { h: 330 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert2(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten2(this[\"cScale\" + i], 10);\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-10 + i * 4) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-7 + i * 4) });\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.mainContrastColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.mainContrastColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n for (let i = 0; i < 8; i++) {\n this[\"venn\" + (i + 1)] = this[\"venn\" + (i + 1)] ?? lighten2(this[\"cScale\" + i], 30);\n }\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust3(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust3(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust3(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust3(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust3(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust3(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark2(this.quadrant1Fill) ? lighten2(this.quadrant1Fill) : darken2(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n dataLabelColor: this.xyChart?.dataLabelColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22\"\n };\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.background\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.classText = this.primaryTextColor;\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken2(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = lighten2(this.secondaryColor, 20);\n this.git1 = lighten2(this.pie2 || this.secondaryColor, 20);\n this.git2 = lighten2(this.pie3 || this.tertiaryColor, 20);\n this.git3 = lighten2(this.pie4 || adjust3(this.primaryColor, { h: -30 }), 20);\n this.git4 = lighten2(this.pie5 || adjust3(this.primaryColor, { h: -60 }), 20);\n this.git5 = lighten2(this.pie6 || adjust3(this.primaryColor, { h: -90 }), 10);\n this.git6 = lighten2(this.pie7 || adjust3(this.primaryColor, { h: 60 }), 10);\n this.git7 = lighten2(this.pie8 || adjust3(this.primaryColor, { h: 120 }), 20);\n this.gitInv0 = this.gitInv0 || invert2(this.git0);\n this.gitInv1 = this.gitInv1 || invert2(this.git1);\n this.gitInv2 = this.gitInv2 || invert2(this.git2);\n this.gitInv3 = this.gitInv3 || invert2(this.git3);\n this.gitInv4 = this.gitInv4 || invert2(this.git4);\n this.gitInv5 = this.gitInv5 || invert2(this.git5);\n this.gitInv6 = this.gitInv6 || invert2(this.git6);\n this.gitInv7 = this.gitInv7 || invert2(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert2(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert2(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lighten2(this.background, 12);\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || lighten2(this.background, 2);\n this.nodeBorder = this.nodeBorder || \"#999\";\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables2 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme2();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-default.js\nimport { invert as invert3, lighten as lighten3, rgba as rgba2, adjust as adjust4, darken as darken3, isDark as isDark3 } from \"khroma\";\nvar Theme3 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#ECECFF\";\n this.secondaryColor = adjust4(this.primaryColor, { h: 120 });\n this.secondaryColor = \"#ffffde\";\n this.tertiaryColor = adjust4(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert3(this.primaryColor);\n this.secondaryTextColor = invert3(this.secondaryColor);\n this.tertiaryTextColor = invert3(this.tertiaryColor);\n this.lineColor = invert3(this.background);\n this.textColor = invert3(this.background);\n this.background = \"white\";\n this.mainBkg = \"#ECECFF\";\n this.secondBkg = \"#ffffde\";\n this.lineColor = \"#333333\";\n this.border1 = \"#9370DB\";\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.border2 = \"#aaaa33\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"rgba(232,232,232, 0.8)\";\n this.textColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 5;\n this.strokeWidth = 1;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.clusterBkg = \"#FBFBFF\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.taskTextClickableColor = \"calculated\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.vertLineColor = \"calculated\";\n this.sectionBkgColor = rgba2(102, 102, 255, 0.49);\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#fff400\";\n this.taskBorderColor = \"#534fbc\";\n this.taskBkgColor = \"#8a90dd\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"#534fbc\";\n this.activeTaskBkgColor = \"#bfc7ff\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.vertLineColor = \"navy\";\n this.noteFontWeight = this.noteFontWeight || \"normal\";\n this.fontWeight = this.fontWeight || \"normal\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = \"calculated\";\n this.rowEven = \"calculated\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n this.useGradient = false;\n this.gradientStart = this.primaryBorderColor;\n this.gradientStop = this.secondaryBorderColor;\n this.dropShadow = \"drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))\";\n this.updateColors();\n }\n updateColors() {\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust4(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust4(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust4(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust4(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust4(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust4(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust4(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust4(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust4(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken3(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken3(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken3(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken3(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust4(this[\"cScale\" + i], { h: 180 });\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust4(this.mainBkg, { h: 30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust4(this.mainBkg, { h: 30, l: -(7 + i * 5) });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n if (this.labelTextColor !== \"calculated\") {\n this.cScaleLabel0 = this.cScaleLabel0 || invert3(this.labelTextColor);\n this.cScaleLabel3 = this.cScaleLabel3 || invert3(this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.labelTextColor;\n }\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.textColor;\n this.edgeLabelBackground = this.labelBackground;\n this.actorBorder = this.border1;\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.signalColor = this.textColor;\n this.signalTextColor = this.textColor;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten3(this.primaryColor, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten3(this.primaryColor, 1);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust4(this.primaryColor, { h: 64 });\n this.fillType3 = adjust4(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust4(this.primaryColor, { h: -64 });\n this.fillType5 = adjust4(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust4(this.primaryColor, { h: 128 });\n this.fillType7 = adjust4(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || adjust4(this.tertiaryColor, { l: -40 });\n this.pie4 = this.pie4 || adjust4(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust4(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust4(this.tertiaryColor, { l: -20 });\n this.pie7 = this.pie7 || adjust4(this.primaryColor, { h: 60, l: -20 });\n this.pie8 = this.pie8 || adjust4(this.primaryColor, { h: -60, l: -40 });\n this.pie9 = this.pie9 || adjust4(this.primaryColor, { h: 120, l: -40 });\n this.pie10 = this.pie10 || adjust4(this.primaryColor, { h: 60, l: -40 });\n this.pie11 = this.pie11 || adjust4(this.primaryColor, { h: -90, l: -40 });\n this.pie12 = this.pie12 || adjust4(this.primaryColor, { h: 120, l: -30 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust4(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust4(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust4(this.tertiaryColor, { l: -40 });\n this.venn4 = this.venn4 ?? adjust4(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust4(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust4(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust4(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust4(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust4(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust4(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust4(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust4(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust4(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust4(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark3(this.quadrant1Fill) ? lighten3(this.quadrant1Fill) : darken3(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n dataLabelColor: this.xyChart?.dataLabelColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.labelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust4(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust4(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust4(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust4(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust4(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten3(this.git0, 25);\n this.git1 = lighten3(this.git1, 25);\n this.git2 = lighten3(this.git2, 25);\n this.git3 = lighten3(this.git3, 25);\n this.git4 = lighten3(this.git4, 25);\n this.git5 = lighten3(this.git5, 25);\n this.git6 = lighten3(this.git6, 25);\n this.git7 = lighten3(this.git7, 25);\n } else {\n this.git0 = darken3(this.git0, 25);\n this.git1 = darken3(this.git1, 25);\n this.git2 = darken3(this.git2, 25);\n this.git3 = darken3(this.git3, 25);\n this.git4 = darken3(this.git4, 25);\n this.git5 = darken3(this.git5, 25);\n this.git6 = darken3(this.git6, 25);\n this.git7 = darken3(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || darken3(invert3(this.git0), 25);\n this.gitInv1 = this.gitInv1 || invert3(this.git1);\n this.gitInv2 = this.gitInv2 || invert3(this.git2);\n this.gitInv3 = this.gitInv3 || invert3(this.git3);\n this.gitInv4 = this.gitInv4 || invert3(this.git4);\n this.gitInv5 = this.gitInv5 || invert3(this.git5);\n this.gitInv6 = this.gitInv6 || invert3(this.git6);\n this.gitInv7 = this.gitInv7 || invert3(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert3(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert3(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n Object.keys(this).forEach((k) => {\n if (this[k] === \"calculated\") {\n this[k] = void 0;\n }\n });\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables3 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme3();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-forest.js\nimport { adjust as adjust5, darken as darken4, invert as invert4, isDark as isDark4, lighten as lighten4 } from \"khroma\";\nvar Theme4 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#cde498\";\n this.secondaryColor = \"#cdffb2\";\n this.background = \"white\";\n this.mainBkg = \"#cde498\";\n this.secondBkg = \"#cdffb2\";\n this.lineColor = \"green\";\n this.border1 = \"#13540c\";\n this.border2 = \"#6eaa49\";\n this.arrowheadColor = \"green\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.tertiaryColor = lighten4(\"#cde498\", 10);\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert4(this.primaryColor);\n this.secondaryTextColor = invert4(this.secondaryColor);\n this.tertiaryTextColor = invert4(this.primaryColor);\n this.lineColor = invert4(this.background);\n this.textColor = invert4(this.background);\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 5;\n this.strokeWidth = 1;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#333\";\n this.edgeLabelBackground = \"#e8e8e8\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"#333\";\n this.signalTextColor = \"#333\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"#326932\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"#6eaa49\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#6eaa49\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"#487e3a\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.vertLineColor = \"#00BFFF\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.noteFontWeight = \"normal\";\n this.fontWeight = \"normal\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n this.useGradient = true;\n this.gradientStart = this.primaryBorderColor;\n this.gradientStop = this.secondaryBorderColor;\n this.dropShadow = \"drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))\";\n }\n updateColors() {\n this.actorBorder = darken4(this.mainBkg, 20);\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust5(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust5(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust5(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust5(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust5(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust5(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust5(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust5(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust5(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken4(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken4(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken4(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken4(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust5(this[\"cScale\" + i], { h: 180 });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.taskBorderColor = this.border1;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten4(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten4(this.mainBkg, 20);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust5(this.primaryColor, { h: 64 });\n this.fillType3 = adjust5(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust5(this.primaryColor, { h: -64 });\n this.fillType5 = adjust5(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust5(this.primaryColor, { h: 128 });\n this.fillType7 = adjust5(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust5(this.primaryColor, { l: -30 });\n this.pie5 = this.pie5 || adjust5(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust5(this.tertiaryColor, { h: 40, l: -40 });\n this.pie7 = this.pie7 || adjust5(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust5(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust5(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust5(this.primaryColor, { h: 60, l: -50 });\n this.pie11 = this.pie11 || adjust5(this.primaryColor, { h: -60, l: -50 });\n this.pie12 = this.pie12 || adjust5(this.primaryColor, { h: 120, l: -50 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust5(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust5(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust5(this.tertiaryColor, { l: -30 });\n this.venn4 = this.venn4 ?? adjust5(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust5(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust5(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust5(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust5(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust5(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust5(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust5(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust5(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust5(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust5(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark4(this.quadrant1Fill) ? lighten4(this.quadrant1Fill) : darken4(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.mainBkg\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n dataLabelColor: this.xyChart?.dataLabelColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust5(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust5(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust5(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust5(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust5(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten4(this.git0, 25);\n this.git1 = lighten4(this.git1, 25);\n this.git2 = lighten4(this.git2, 25);\n this.git3 = lighten4(this.git3, 25);\n this.git4 = lighten4(this.git4, 25);\n this.git5 = lighten4(this.git5, 25);\n this.git6 = lighten4(this.git6, 25);\n this.git7 = lighten4(this.git7, 25);\n } else {\n this.git0 = darken4(this.git0, 25);\n this.git1 = darken4(this.git1, 25);\n this.git2 = darken4(this.git2, 25);\n this.git3 = darken4(this.git3, 25);\n this.git4 = darken4(this.git4, 25);\n this.git5 = darken4(this.git5, 25);\n this.git6 = darken4(this.git6, 25);\n this.git7 = darken4(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert4(this.git0);\n this.gitInv1 = this.gitInv1 || invert4(this.git1);\n this.gitInv2 = this.gitInv2 || invert4(this.git2);\n this.gitInv3 = this.gitInv3 || invert4(this.git3);\n this.gitInv4 = this.gitInv4 || invert4(this.git4);\n this.gitInv5 = this.gitInv5 || invert4(this.git5);\n this.gitInv6 = this.gitInv6 || invert4(this.git6);\n this.gitInv7 = this.gitInv7 || invert4(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert4(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert4(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables4 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme4();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-neutral.js\nimport { invert as invert5, darken as darken5, lighten as lighten5, adjust as adjust6, isDark as isDark5 } from \"khroma\";\nvar Theme5 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.primaryColor = \"#eee\";\n this.contrast = \"#707070\";\n this.secondaryColor = lighten5(this.contrast, 55);\n this.background = \"#ffffff\";\n this.tertiaryColor = adjust6(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert5(this.primaryColor);\n this.secondaryTextColor = invert5(this.secondaryColor);\n this.tertiaryTextColor = invert5(this.tertiaryColor);\n this.lineColor = invert5(this.background);\n this.textColor = invert5(this.background);\n this.mainBkg = \"#eee\";\n this.secondBkg = \"calculated\";\n this.lineColor = \"#666\";\n this.border1 = \"#999\";\n this.border2 = \"calculated\";\n this.note = \"#ffa\";\n this.text = \"#333\";\n this.critical = \"#d42\";\n this.done = \"#bbb\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 5;\n this.strokeWidth = 1;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"white\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = this.actorBorder;\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"calculated\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.vertLineColor = \"calculated\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.noteFontWeight = \"normal\";\n this.fontWeight = \"normal\";\n this.rowOdd = this.rowOdd || lighten5(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || \"#f4f4f4\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n this.useGradient = true;\n this.gradientStart = this.primaryBorderColor;\n this.gradientStop = this.secondaryBorderColor;\n this.dropShadow = \"drop-shadow( 1px 2px 2px rgba(185,185,185,1))\";\n }\n updateColors() {\n this.secondBkg = lighten5(this.contrast, 55);\n this.border2 = this.contrast;\n this.actorBorder = lighten5(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.text;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.text;\n this.signalTextColor = this.text;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.text;\n this.loopTextColor = this.text;\n this.noteBorderColor = \"#999\";\n this.noteBkgColor = \"#666\";\n this.noteTextColor = \"#fff\";\n this.cScale0 = this.cScale0 || \"#555\";\n this.cScale1 = this.cScale1 || \"#F4F4F4\";\n this.cScale2 = this.cScale2 || \"#555\";\n this.cScale3 = this.cScale3 || \"#BBB\";\n this.cScale4 = this.cScale4 || \"#777\";\n this.cScale5 = this.cScale5 || \"#999\";\n this.cScale6 = this.cScale6 || \"#DDD\";\n this.cScale7 = this.cScale7 || \"#FFF\";\n this.cScale8 = this.cScale8 || \"#DDD\";\n this.cScale9 = this.cScale9 || \"#BBB\";\n this.cScale10 = this.cScale10 || \"#999\";\n this.cScale11 = this.cScale11 || \"#777\";\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert5(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten5(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken5(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1;\n this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust6(this.mainBkg, { l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust6(this.mainBkg, { l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.text;\n this.sectionBkgColor = lighten5(this.contrast, 30);\n this.sectionBkgColor2 = lighten5(this.contrast, 30);\n this.taskBorderColor = darken5(this.contrast, 10);\n this.taskBkgColor = this.contrast;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = this.text;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.gridColor = lighten5(this.border1, 30);\n this.doneTaskBkgColor = this.done;\n this.doneTaskBorderColor = this.lineColor;\n this.critBkgColor = this.critical;\n this.critBorderColor = darken5(this.critBkgColor, 10);\n this.todayLineColor = this.critBkgColor;\n this.vertLineColor = this.critBkgColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || \"#000\";\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f4f4f4\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.stateBorder = this.stateBorder || \"#000\";\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#222\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust6(this.primaryColor, { h: 64 });\n this.fillType3 = adjust6(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust6(this.primaryColor, { h: -64 });\n this.fillType5 = adjust6(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust6(this.primaryColor, { h: 128 });\n this.fillType7 = adjust6(this.secondaryColor, { h: 128 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pie12 = this.pie0;\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n for (let i = 0; i < 8; i++) {\n this[\"venn\" + (i + 1)] = this[\"venn\" + (i + 1)] ?? this[\"cScale\" + i];\n }\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust6(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust6(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust6(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust6(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust6(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust6(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark5(this.quadrant1Fill) ? lighten5(this.quadrant1Fill) : darken5(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n dataLabelColor: this.xyChart?.dataLabelColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0\"\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = darken5(this.pie1, 25) || this.primaryColor;\n this.git1 = this.pie2 || this.secondaryColor;\n this.git2 = this.pie3 || this.tertiaryColor;\n this.git3 = this.pie4 || adjust6(this.primaryColor, { h: -30 });\n this.git4 = this.pie5 || adjust6(this.primaryColor, { h: -60 });\n this.git5 = this.pie6 || adjust6(this.primaryColor, { h: -90 });\n this.git6 = this.pie7 || adjust6(this.primaryColor, { h: 60 });\n this.git7 = this.pie8 || adjust6(this.primaryColor, { h: 120 });\n this.gitInv0 = this.gitInv0 || invert5(this.git0);\n this.gitInv1 = this.gitInv1 || invert5(this.git1);\n this.gitInv2 = this.gitInv2 || invert5(this.git2);\n this.gitInv3 = this.gitInv3 || invert5(this.git3);\n this.gitInv4 = this.gitInv4 || invert5(this.git4);\n this.gitInv5 = this.gitInv5 || invert5(this.git5);\n this.gitInv6 = this.gitInv6 || invert5(this.git6);\n this.gitInv7 = this.gitInv7 || invert5(this.git7);\n this.branchLabelColor = this.branchLabelColor || this.labelTextColor;\n this.gitBranchLabel0 = this.branchLabelColor;\n this.gitBranchLabel1 = \"white\";\n this.gitBranchLabel2 = this.branchLabelColor;\n this.gitBranchLabel3 = \"white\";\n this.gitBranchLabel4 = this.branchLabelColor;\n this.gitBranchLabel5 = this.branchLabelColor;\n this.gitBranchLabel6 = this.branchLabelColor;\n this.gitBranchLabel7 = this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables5 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme5();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-neo.js\nimport { darken as darken6, lighten as lighten6, adjust as adjust7, invert as invert6, isDark as isDark6 } from \"khroma\";\nvar Theme6 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#ffffff\";\n this.primaryColor = \"#cccccc\";\n this.mainBkg = \"#ffffff\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 3;\n this.strokeWidth = 2;\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.fontFamily = \"arial, sans-serif\";\n this.fontSize = \"14px\";\n this.nodeBorder = \"#000000\";\n this.stateBorder = \"#000000\";\n this.useGradient = true;\n this.gradientStart = \"#0042eb\";\n this.gradientStop = \"#eb0042\";\n this.dropShadow = \"drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));\";\n this.tertiaryColor = \"#ffffff\";\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.noteFontWeight = \"normal\";\n this.fontWeight = \"normal\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#333\");\n this.secondaryColor = this.secondaryColor || adjust7(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust7(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#333\";\n this.secondaryTextColor = this.secondaryTextColor || invert6(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert6(this.tertiaryColor);\n this.lineColor = this.lineColor || invert6(this.background);\n this.arrowheadColor = this.arrowheadColor || invert6(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.primaryBorderColor;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken6(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken6(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert6(this.lineColor);\n const primaryColor = \"#ECECFE\";\n const secondaryColor = \"#E9E9F1\";\n const tertiaryColor = adjust7(primaryColor, { h: 180, l: 5 });\n this.sectionBkgColor = this.sectionBkgColor || tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten6(primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.vertLineColor = this.vertLineColor || this.primaryBorderColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || primaryColor;\n this.cScale1 = this.cScale1 || secondaryColor;\n this.cScale2 = this.cScale2 || tertiaryColor;\n this.cScale3 = this.cScale3 || adjust7(primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust7(primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust7(primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust7(primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust7(primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust7(primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust7(primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust7(primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust7(primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken6(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken6(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert6(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten6(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken6(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust7(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust7(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || primaryColor;\n this.fillType1 = this.fillType1 || secondaryColor;\n this.fillType2 = this.fillType2 || adjust7(primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust7(secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust7(primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust7(secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust7(primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust7(secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || primaryColor;\n this.pie2 = this.pie2 || secondaryColor;\n this.pie3 = this.pie3 || tertiaryColor;\n this.pie4 = this.pie4 || adjust7(primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust7(secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust7(tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust7(primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust7(primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust7(primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust7(primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust7(primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust7(primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust7(primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust7(primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust7(primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust7(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust7(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust7(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark6(this.quadrant1Fill) ? lighten6(this.quadrant1Fill) : darken6(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken6(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || primaryColor;\n this.git1 = this.git1 || secondaryColor;\n this.git2 = this.git2 || tertiaryColor;\n this.git3 = this.git3 || adjust7(primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust7(primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust7(primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust7(primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust7(primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten6(this.git0, 25);\n this.git1 = lighten6(this.git1, 25);\n this.git2 = lighten6(this.git2, 25);\n this.git3 = lighten6(this.git3, 25);\n this.git4 = lighten6(this.git4, 25);\n this.git5 = lighten6(this.git5, 25);\n this.git6 = lighten6(this.git6, 25);\n this.git7 = lighten6(this.git7, 25);\n } else {\n this.git0 = darken6(this.git0, 25);\n this.git1 = darken6(this.git1, 25);\n this.git2 = darken6(this.git2, 25);\n this.git3 = darken6(this.git3, 25);\n this.git4 = darken6(this.git4, 25);\n this.git5 = darken6(this.git5, 25);\n this.git6 = darken6(this.git6, 25);\n this.git7 = darken6(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert6(this.git0);\n this.gitInv1 = this.gitInv1 || invert6(this.git1);\n this.gitInv2 = this.gitInv2 || invert6(this.git2);\n this.gitInv3 = this.gitInv3 || invert6(this.git3);\n this.gitInv4 = this.gitInv4 || invert6(this.git4);\n this.gitInv5 = this.gitInv5 || invert6(this.git5);\n this.gitInv6 = this.gitInv6 || invert6(this.git6);\n this.gitInv7 = this.gitInv7 || invert6(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables6 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme6();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-neo-dark.js\nimport { adjust as adjust8, darken as darken7, invert as invert7, isDark as isDark7, lighten as lighten7, rgba as rgba3 } from \"khroma\";\nvar Theme7 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten7(this.primaryColor, 16);\n this.tertiaryColor = adjust8(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert7(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert7(this.primaryColor);\n this.secondaryTextColor = invert7(this.secondaryColor);\n this.tertiaryTextColor = invert7(this.tertiaryColor);\n this.mainBkg = \"#2a2020\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten7(invert7(\"#323D47\"), 10);\n this.border1 = \"#ccc\";\n this.border2 = rgba3(255, 255, 255, 0.25);\n this.arrowheadColor = invert7(this.background);\n this.fontFamily = \"arial, sans-serif\";\n this.fontSize = \"14px\";\n this.labelBackground = \"#181818\";\n this.textColor = \"#ccc\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 3;\n this.strokeWidth = 1;\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.fontFamily = \"arial, sans-serif\";\n this.fontSize = \"14px\";\n this.useGradient = true;\n this.gradientStart = \"#0042eb\";\n this.gradientStop = \"#eb0042\";\n this.dropShadow = \"drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))\";\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.noteFontWeight = \"normal\";\n this.fontWeight = \"normal\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#333\");\n this.secondaryColor = this.secondaryColor || adjust8(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust8(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#333\";\n this.secondaryTextColor = this.secondaryTextColor || invert7(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert7(this.tertiaryColor);\n this.lineColor = this.lineColor || invert7(this.background);\n this.arrowheadColor = this.arrowheadColor || invert7(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.border1;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken7(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken7(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert7(this.lineColor);\n this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || this.primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten7(this.primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.vertLineColor = this.vertLineColor || this.primaryBorderColor;\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust8(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust8(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust8(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust8(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust8(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust8(this.primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust8(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust8(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust8(this.primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken7(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken7(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert7(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten7(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken7(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust8(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust8(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || this.primaryColor;\n this.fillType1 = this.fillType1 || this.secondaryColor;\n this.fillType2 = this.fillType2 || adjust8(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust8(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust8(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust8(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust8(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust8(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust8(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust8(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust8(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust8(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust8(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust8(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust8(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust8(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust8(this.primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust8(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust8(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust8(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust8(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust8(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust8(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark7(this.quadrant1Fill) ? lighten7(this.quadrant1Fill) : darken7(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken7(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || \"#0b0000\";\n this.git1 = this.git1 || \"#4d1037\";\n this.git2 = this.git2 || \"#3f5258\";\n this.git3 = this.git3 || \"#4f2f1b\";\n this.git4 = this.git4 || \"#6e0a0a\";\n this.git5 = this.git5 || \"#3b0048\";\n this.git6 = this.git6 || \"#995a01\";\n this.git7 = this.git7 || \"#154706\";\n this.gitDarkMode = true;\n if (this.gitDarkMode) {\n this.git0 = lighten7(this.git0, 25);\n this.git1 = lighten7(this.git1, 25);\n this.git2 = lighten7(this.git2, 25);\n this.git3 = lighten7(this.git3, 25);\n this.git4 = lighten7(this.git4, 25);\n this.git5 = lighten7(this.git5, 25);\n this.git6 = lighten7(this.git6, 25);\n this.git7 = lighten7(this.git7, 25);\n } else {\n this.git0 = darken7(this.git0, 25);\n this.git1 = darken7(this.git1, 25);\n this.git2 = darken7(this.git2, 25);\n this.git3 = darken7(this.git3, 25);\n this.git4 = darken7(this.git4, 25);\n this.git5 = darken7(this.git5, 25);\n this.git6 = darken7(this.git6, 25);\n this.git7 = darken7(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert7(this.git0);\n this.gitInv1 = this.gitInv1 || invert7(this.git1);\n this.gitInv2 = this.gitInv2 || invert7(this.git2);\n this.gitInv3 = this.gitInv3 || invert7(this.git3);\n this.gitInv4 = this.gitInv4 || invert7(this.git4);\n this.gitInv5 = this.gitInv5 || invert7(this.git5);\n this.gitInv6 = this.gitInv6 || invert7(this.git6);\n this.gitInv7 = this.gitInv7 || invert7(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables7 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme7();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-redux.js\nimport { darken as darken8, lighten as lighten8, adjust as adjust9, invert as invert8, isDark as isDark8 } from \"khroma\";\nvar Theme8 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#ffffff\";\n this.primaryColor = \"#cccccc\";\n this.mainBkg = \"#ffffff\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#28253D\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 12;\n this.strokeWidth = 2;\n this.primaryBorderColor = mkBorder(\"#28253D\", this.darkMode);\n this.fontFamily = '\"Recursive Variable\", arial, sans-serif';\n this.fontSize = \"14px\";\n this.nodeBorder = \"#28253D\";\n this.stateBorder = \"#28253D\";\n this.useGradient = false;\n this.gradientStart = \"#0042eb\";\n this.gradientStop = \"#eb0042\";\n this.dropShadow = \"url(#drop-shadow)\";\n this.nodeShadow = true;\n this.tertiaryColor = \"#ffffff\";\n this.clusterBkg = \"#F9F9FB\";\n this.clusterBorder = \"#BDBCCC\";\n this.noteBorderColor = \"#FACC15\";\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.actorBorder = \"#28253D\";\n this.filterColor = \"#000000\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#28253D\");\n this.secondaryColor = this.secondaryColor || adjust9(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust9(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#FEF9C3\";\n this.noteTextColor = this.noteTextColor || \"#28253D\";\n this.secondaryTextColor = this.secondaryTextColor || invert8(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert8(this.tertiaryColor);\n this.lineColor = this.lineColor || invert8(this.background);\n this.arrowheadColor = this.arrowheadColor || invert8(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.primaryBorderColor;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken8(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.noteFontWeight = 600;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken8(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert8(this.lineColor);\n const primaryColor = \"#ECECFE\";\n const secondaryColor = \"#E9E9F1\";\n const tertiaryColor = adjust9(primaryColor, { h: 180, l: 5 });\n this.sectionBkgColor = this.sectionBkgColor || tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten8(primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.vertLineColor = this.vertLineColor || this.primaryBorderColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.compositeTitleBackground = \"#F9F9FB\";\n this.altBackground = \"#F9F9FB\";\n this.stateEdgeLabelBackground = \"#FFFFFF\";\n this.fontWeight = 600;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = this.mainBkg;\n }\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken8(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken8(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert8(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten8(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken8(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust9(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust9(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || primaryColor;\n this.fillType1 = this.fillType1 || secondaryColor;\n this.fillType2 = this.fillType2 || adjust9(primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust9(secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust9(primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust9(secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust9(primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust9(secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || primaryColor;\n this.pie2 = this.pie2 || secondaryColor;\n this.pie3 = this.pie3 || tertiaryColor;\n this.pie4 = this.pie4 || adjust9(primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust9(secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust9(tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust9(primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust9(primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust9(primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust9(primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust9(primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust9(primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust9(primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust9(primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust9(primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust9(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust9(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust9(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark8(this.quadrant1Fill) ? lighten8(this.quadrant1Fill) : darken8(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken8(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.requirementEdgeLabelBackground = \"#FFFFFF\";\n this.git0 = this.git0 || primaryColor;\n this.git1 = this.git1 || secondaryColor;\n this.git2 = this.git2 || tertiaryColor;\n this.git3 = this.git3 || adjust9(primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust9(primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust9(primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust9(primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust9(primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten8(this.git0, 25);\n this.git1 = lighten8(this.git1, 25);\n this.git2 = lighten8(this.git2, 25);\n this.git3 = lighten8(this.git3, 25);\n this.git4 = lighten8(this.git4, 25);\n this.git5 = lighten8(this.git5, 25);\n this.git6 = lighten8(this.git6, 25);\n this.git7 = lighten8(this.git7, 25);\n } else {\n this.git0 = darken8(this.git0, 25);\n this.git1 = darken8(this.git1, 25);\n this.git2 = darken8(this.git2, 25);\n this.git3 = darken8(this.git3, 25);\n this.git4 = darken8(this.git4, 25);\n this.git5 = darken8(this.git5, 25);\n this.git6 = darken8(this.git6, 25);\n this.git7 = darken8(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert8(this.git0);\n this.gitInv1 = this.gitInv1 || invert8(this.git1);\n this.gitInv2 = this.gitInv2 || invert8(this.git2);\n this.gitInv3 = this.gitInv3 || invert8(this.git3);\n this.gitInv4 = this.gitInv4 || invert8(this.git4);\n this.gitInv5 = this.gitInv5 || invert8(this.git5);\n this.gitInv6 = this.gitInv6 || invert8(this.git6);\n this.gitInv7 = this.gitInv7 || invert8(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.commitLineColor = this.commitLineColor ?? \"#BDBCCC\";\n this.erEdgeLabelBackground = \"#FFFFFF\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables8 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme8();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-redux-dark.js\nimport { adjust as adjust10, darken as darken9, invert as invert9, isDark as isDark9, lighten as lighten9, rgba as rgba4 } from \"khroma\";\nvar Theme9 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten9(this.primaryColor, 16);\n this.tertiaryColor = adjust10(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert9(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert9(this.primaryColor);\n this.secondaryTextColor = invert9(this.secondaryColor);\n this.tertiaryTextColor = invert9(this.tertiaryColor);\n this.mainBkg = \"#111113\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten9(invert9(\"#323D47\"), 10);\n this.border1 = \"#ccc\";\n this.border2 = rgba4(255, 255, 255, 0.25);\n this.arrowheadColor = invert9(this.background);\n this.fontFamily = '\"Recursive Variable\", arial, sans-serif';\n this.fontSize = \"14px\";\n this.labelBackground = \"#111113\";\n this.textColor = \"#ccc\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 12;\n this.strokeWidth = 2;\n this.noteBkgColor = this.noteBkgColor ?? \"#FEF9C3\";\n this.noteTextColor = this.noteTextColor ?? \"#28253D\";\n this.THEME_COLOR_LIMIT = 12;\n this.fontFamily = '\"Recursive Variable\", arial, sans-serif';\n this.fontSize = \"14px\";\n this.nodeBorder = \"#FFFFFF\";\n this.stateBorder = \"#FFFFFF\";\n this.useGradient = false;\n this.gradientStart = \"#0042eb\";\n this.gradientStop = \"#eb0042\";\n this.dropShadow = \"url(#drop-shadow)\";\n this.nodeShadow = true;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.clusterBkg = \"#1E1A2E\";\n this.clusterBorder = \"#BDBCCC\";\n this.noteBorderColor = \"#FACC15\";\n this.noteFontWeight = 600;\n this.filterColor = \"#FFFFFF\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#FFFFFF\");\n this.secondaryColor = this.secondaryColor || adjust10(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust10(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#FFFFFF\";\n this.secondaryTextColor = this.secondaryTextColor || invert9(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert9(this.tertiaryColor);\n this.lineColor = this.lineColor || invert9(this.background);\n this.arrowheadColor = this.arrowheadColor || invert9(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.border1;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken9(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = \"#FFFFFF\";\n this.signalColor = \"#FFFFFF\";\n this.labelBoxBorderColor = \"#BDBCCC\";\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken9(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert9(this.lineColor);\n this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || this.primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten9(this.primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.vertLineColor = this.vertLineColor || this.primaryBorderColor;\n this.compositeBackground = \"#16141F\";\n this.altBackground = \"#16141F\";\n this.compositeTitleBackground = \"#16141F\";\n this.stateEdgeLabelBackground = \"#16141F\";\n this.fontWeight = 600;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust10(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust10(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust10(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust10(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust10(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust10(this.primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust10(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust10(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust10(this.primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken9(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken9(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert9(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten9(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken9(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust10(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust10(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || this.primaryColor;\n this.fillType1 = this.fillType1 || this.secondaryColor;\n this.fillType2 = this.fillType2 || adjust10(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust10(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust10(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust10(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust10(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust10(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust10(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust10(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust10(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust10(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust10(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust10(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust10(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust10(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust10(this.primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust10(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust10(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust10(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust10(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust10(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust10(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark9(this.quadrant1Fill) ? lighten9(this.quadrant1Fill) : darken9(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken9(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.requirementEdgeLabelBackground = \"#16141F\";\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust10(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust10(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust10(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust10(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust10(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten9(this.git0, 25);\n this.git1 = lighten9(this.git1, 25);\n this.git2 = lighten9(this.git2, 25);\n this.git3 = lighten9(this.git3, 25);\n this.git4 = lighten9(this.git4, 25);\n this.git5 = lighten9(this.git5, 25);\n this.git6 = lighten9(this.git6, 25);\n this.git7 = lighten9(this.git7, 25);\n } else {\n this.git0 = darken9(this.git0, 25);\n this.git1 = darken9(this.git1, 25);\n this.git2 = darken9(this.git2, 25);\n this.git3 = darken9(this.git3, 25);\n this.git4 = darken9(this.git4, 25);\n this.git5 = darken9(this.git5, 25);\n this.git6 = darken9(this.git6, 25);\n this.git7 = darken9(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert9(this.git0);\n this.gitInv1 = this.gitInv1 || invert9(this.git1);\n this.gitInv2 = this.gitInv2 || invert9(this.git2);\n this.gitInv3 = this.gitInv3 || invert9(this.git3);\n this.gitInv4 = this.gitInv4 || invert9(this.git4);\n this.gitInv5 = this.gitInv5 || invert9(this.git5);\n this.gitInv6 = this.gitInv6 || invert9(this.git6);\n this.gitInv7 = this.gitInv7 || invert9(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.commitLineColor = this.commitLineColor ?? \"#BDBCCC\";\n this.erEdgeLabelBackground = \"#16141F\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables9 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme9();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-redux-color.js\nimport { darken as darken10, lighten as lighten10, adjust as adjust11, invert as invert10, isDark as isDark10 } from \"khroma\";\nvar Theme10 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#ffffff\";\n this.primaryColor = \"#cccccc\";\n this.mainBkg = \"#ffffff\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#28253D\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 12;\n this.strokeWidth = 2;\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.fontFamily = '\"Recursive Variable\", arial, sans-serif';\n this.fontSize = \"14px\";\n this.nodeBorder = \"#28253D\";\n this.stateBorder = \"#28253D\";\n this.useGradient = false;\n this.gradientStart = \"#0042eb\";\n this.gradientStop = \"#eb0042\";\n this.dropShadow = \"url(#drop-shadow)\";\n this.nodeShadow = true;\n this.tertiaryColor = \"#ffffff\";\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.actorBorder = \"#28253D\";\n this.noteBorderColor = \"#FACC15\";\n this.noteFontWeight = 600;\n this.borderColorArray = [\n \"#E879F9\",\n //Fuchsia-400\n \"#2DD4BF\",\n //Teal-400\n \"#FB923C\",\n //Orange-400\n \"#22D3EE\",\n // Cyan-400\n \"#4ADE80\",\n // Green-400\n \"#A78BFA\",\n //Violet-400\n \"#F87171\",\n //red-400\n \"#FACC15\",\n //yellow-400\n \"#818CF8\",\n //indigo-400\n \"#A3E635 \",\n //Lime-400\n \"#38BDF8\",\n //Sky-400\n \"#FB7185\"\n //Rose-400\n ];\n this.bkgColorArray = [\n \"#FDF4FF\",\n //Fuchsia-50\n \"#F0FDFA\",\n //Teal-50\n \"#FFF7ED\",\n //Orange-50\n \"#ECFEFF\",\n // Cyan-50\n \"#F0FDF4\",\n // Green-50\n \"#F5F3FF\",\n //Violet-50\n \"#FEF2F2\",\n //red-50\n \"#FEFCE8\",\n //yellow-50\n \"#EEF2FF\",\n //indigo-50\n \"#F7FEE7\",\n //Lime-50\n \"#F0F9FF\",\n //Sky-50\n \"#FFF1F2\"\n //Rose-50\n ];\n this.filterColor = \"#000000\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#28253D\");\n this.secondaryColor = this.secondaryColor || adjust11(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust11(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#28253D\";\n this.secondaryTextColor = this.secondaryTextColor || invert10(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert10(this.tertiaryColor);\n this.lineColor = this.lineColor || invert10(this.background);\n this.arrowheadColor = this.arrowheadColor || invert10(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.primaryBorderColor;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken10(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken10(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert10(this.lineColor);\n const primaryColor = \"#ECECFE\";\n const secondaryColor = \"#E9E9F1\";\n const tertiaryColor = adjust11(primaryColor, { h: 180, l: 5 });\n this.sectionBkgColor = this.sectionBkgColor || tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten10(primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.vertLineColor = this.vertLineColor || this.primaryBorderColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || \"#f4a8ff\";\n this.cScale1 = this.cScale1 || \"#46ecd5\";\n this.cScale2 = this.cScale2 || \"#ffb86a\";\n this.cScale3 = this.cScale3 || \"#dab2ff\";\n this.cScale4 = this.cScale4 || \"#7bf1a8\";\n this.cScale5 = this.cScale5 || \"#c4b4ff\";\n this.cScale6 = this.cScale6 || \"#ffa2a2\";\n this.cScale7 = this.cScale7 || \"#ffdf20\";\n this.cScale8 = this.cScale8 || \"#a3b3ff\";\n this.cScale9 = this.cScale9 || \"#bbf451\";\n this.cScale10 = this.cScale10 || \"#74d4ff\";\n this.cScale11 = this.cScale11 || \"#ffa1ad\";\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert10(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten10(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken10(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust11(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust11(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || primaryColor;\n this.fillType1 = this.fillType1 || secondaryColor;\n this.fillType2 = this.fillType2 || adjust11(primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust11(secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust11(primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust11(secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust11(primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust11(secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || primaryColor;\n this.pie2 = this.pie2 || secondaryColor;\n this.pie3 = this.pie3 || tertiaryColor;\n this.pie4 = this.pie4 || adjust11(primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust11(secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust11(tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust11(primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust11(primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust11(primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust11(primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust11(primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust11(primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust11(primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust11(primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust11(primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust11(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust11(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust11(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark10(this.quadrant1Fill) ? lighten10(this.quadrant1Fill) : darken10(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken10(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || primaryColor;\n this.git1 = this.git1 || secondaryColor;\n this.git2 = this.git2 || tertiaryColor;\n this.git3 = this.git3 || adjust11(primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust11(primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust11(primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust11(primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust11(primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten10(this.git0, 25);\n this.git1 = lighten10(this.git1, 25);\n this.git2 = lighten10(this.git2, 25);\n this.git3 = lighten10(this.git3, 25);\n this.git4 = lighten10(this.git4, 25);\n this.git5 = lighten10(this.git5, 25);\n this.git6 = lighten10(this.git6, 25);\n this.git7 = lighten10(this.git7, 25);\n } else {\n this.git0 = darken10(this.git0, 25);\n this.git1 = darken10(this.git1, 25);\n this.git2 = darken10(this.git2, 25);\n this.git3 = darken10(this.git3, 25);\n this.git4 = darken10(this.git4, 25);\n this.git5 = darken10(this.git5, 25);\n this.git6 = darken10(this.git6, 25);\n this.git7 = darken10(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert10(this.git0);\n this.gitInv1 = this.gitInv1 || invert10(this.git1);\n this.gitInv2 = this.gitInv2 || invert10(this.git2);\n this.gitInv3 = this.gitInv3 || invert10(this.git3);\n this.gitInv4 = this.gitInv4 || invert10(this.git4);\n this.gitInv5 = this.gitInv5 || invert10(this.git5);\n this.gitInv6 = this.gitInv6 || invert10(this.git6);\n this.gitInv7 = this.gitInv7 || invert10(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLineColor = this.commitLineColor ?? \"#BDBCCC\";\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.fontWeight = 600;\n this.erEdgeLabelBackground = \"#FFFFFF\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables10 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme10();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-redux-dark-color.js\nimport { adjust as adjust12, darken as darken11, invert as invert11, isDark as isDark11, lighten as lighten11, rgba as rgba5 } from \"khroma\";\nvar Theme11 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten11(this.primaryColor, 16);\n this.tertiaryColor = adjust12(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert11(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert11(this.primaryColor);\n this.secondaryTextColor = invert11(this.secondaryColor);\n this.tertiaryTextColor = invert11(this.tertiaryColor);\n this.mainBkg = \"#111113\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten11(invert11(\"#323D47\"), 10);\n this.border1 = \"#ccc\";\n this.border2 = rgba5(255, 255, 255, 0.25);\n this.arrowheadColor = invert11(this.background);\n this.fontFamily = '\"Recursive Variable\", arial, sans-serif';\n this.fontSize = \"14px\";\n this.labelBackground = \"#111113\";\n this.textColor = \"#ccc\";\n this.THEME_COLOR_LIMIT = 12;\n this.radius = 12;\n this.strokeWidth = 2;\n this.noteBkgColor = this.noteBkgColor ?? \"#FEF9C3\";\n this.noteTextColor = this.noteTextColor ?? \"#28253D\";\n this.THEME_COLOR_LIMIT = 12;\n this.fontFamily = '\"Recursive Variable\", arial, sans-serif';\n this.fontSize = \"14px\";\n this.nodeBorder = \"#FFFFFF\";\n this.stateBorder = \"#FFFFFF\";\n this.useGradient = false;\n this.gradientStart = \"#0042eb\";\n this.gradientStop = \"#eb0042\";\n this.dropShadow = \"url(#drop-shadow)\";\n this.nodeShadow = true;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.clusterBkg = \"#1E1A2E\";\n this.clusterBorder = \"#BDBCCC\";\n this.noteBorderColor = \"#FACC15\";\n this.noteFontWeight = 600;\n this.borderColorArray = [\n \"#E879F9\",\n //Fuchsia-400\n \"#2DD4BF\",\n //Teal-400\n \"#FB923C\",\n //Orange-400\n \"#22D3EE\",\n // Cyan-400\n \"#4ADE80\",\n // Green-400\n \"#A78BFA\",\n //Violet-400\n \"#F87171\",\n //red-400\n \"#FACC15\",\n //yellow-400\n \"#818CF8\",\n //indigo-400\n \"#A3E635 \",\n //Lime-400\n \"#38BDF8\",\n //Sky-400\n \"#FB7185\"\n //Rose-400\n ];\n this.bkgColorArray = [];\n this.filterColor = \"#FFFFFF\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#FFFFFF\");\n this.secondaryColor = this.secondaryColor || adjust12(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust12(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#FFFFFF\";\n this.secondaryTextColor = this.secondaryTextColor || invert11(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert11(this.tertiaryColor);\n this.lineColor = this.lineColor || invert11(this.background);\n this.arrowheadColor = this.arrowheadColor || invert11(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.border1;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken11(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = \"#FFFFFF\";\n this.signalColor = \"#FFFFFF\";\n this.labelBoxBorderColor = \"#BDBCCC\";\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken11(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert11(this.lineColor);\n this.rootLabelColor = \"#FFFFFF\";\n this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || this.primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten11(this.primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.vertLineColor = this.vertLineColor || this.primaryBorderColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || \"#f4a8ff\";\n this.cScale1 = this.cScale1 || \"#46ecd5\";\n this.cScale2 = this.cScale2 || \"#ffb86a\";\n this.cScale3 = this.cScale3 || \"#dab2ff\";\n this.cScale4 = this.cScale4 || \"#7bf1a8\";\n this.cScale5 = this.cScale5 || \"#c4b4ff\";\n this.cScale6 = this.cScale6 || \"#ffa2a2\";\n this.cScale7 = this.cScale7 || \"#ffdf20\";\n this.cScale8 = this.cScale8 || \"#a3b3ff\";\n this.cScale9 = this.cScale9 || \"#bbf451\";\n this.cScale10 = this.cScale10 || \"#74d4ff\";\n this.cScale11 = this.cScale11 || \"#ffa1ad\";\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert11(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten11(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken11(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = darken11(this[\"cScale\" + i], 75);\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust12(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust12(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || this.primaryColor;\n this.fillType1 = this.fillType1 || this.secondaryColor;\n this.fillType2 = this.fillType2 || adjust12(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust12(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust12(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust12(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust12(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust12(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust12(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust12(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust12(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust12(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust12(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust12(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust12(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust12(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust12(this.primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust12(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust12(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust12(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust12(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust12(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust12(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark11(this.quadrant1Fill) ? lighten11(this.quadrant1Fill) : darken11(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken11(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust12(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust12(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust12(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust12(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust12(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten11(this.git0, 25);\n this.git1 = lighten11(this.git1, 25);\n this.git2 = lighten11(this.git2, 25);\n this.git3 = lighten11(this.git3, 25);\n this.git4 = lighten11(this.git4, 25);\n this.git5 = lighten11(this.git5, 25);\n this.git6 = lighten11(this.git6, 25);\n this.git7 = lighten11(this.git7, 25);\n } else {\n this.git0 = darken11(this.git0, 25);\n this.git1 = darken11(this.git1, 25);\n this.git2 = darken11(this.git2, 25);\n this.git3 = darken11(this.git3, 25);\n this.git4 = darken11(this.git4, 25);\n this.git5 = darken11(this.git5, 25);\n this.git6 = darken11(this.git6, 25);\n this.git7 = darken11(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert11(this.git0);\n this.gitInv1 = this.gitInv1 || invert11(this.git1);\n this.gitInv2 = this.gitInv2 || invert11(this.git2);\n this.gitInv3 = this.gitInv3 || invert11(this.git3);\n this.gitInv4 = this.gitInv4 || invert11(this.git4);\n this.gitInv5 = this.gitInv5 || invert11(this.git5);\n this.gitInv6 = this.gitInv6 || invert11(this.git6);\n this.gitInv7 = this.gitInv7 || invert11(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.commitLineColor = this.commitLineColor ?? \"#BDBCCC\";\n this.fontWeight = 600;\n this.erEdgeLabelBackground = \"#16141F\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables11 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme11();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/index.js\nvar themes_default = {\n base: {\n getThemeVariables\n },\n dark: {\n getThemeVariables: getThemeVariables2\n },\n default: {\n getThemeVariables: getThemeVariables3\n },\n forest: {\n getThemeVariables: getThemeVariables4\n },\n neutral: {\n getThemeVariables: getThemeVariables5\n },\n neo: {\n getThemeVariables: getThemeVariables6\n },\n \"neo-dark\": {\n getThemeVariables: getThemeVariables7\n },\n redux: {\n getThemeVariables: getThemeVariables8\n },\n \"redux-dark\": {\n getThemeVariables: getThemeVariables9\n },\n \"redux-color\": {\n getThemeVariables: getThemeVariables10\n },\n \"redux-dark-color\": {\n getThemeVariables: getThemeVariables11\n }\n};\n\n// src/schemas/config.schema.yaml?only-defaults=true\nvar config_schema_default = {\n \"flowchart\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"subGraphTitleMargin\": {\n \"top\": 0,\n \"bottom\": 0\n },\n \"diagramPadding\": 8,\n \"htmlLabels\": null,\n \"nodeSpacing\": 50,\n \"rankSpacing\": 50,\n \"curve\": \"basis\",\n \"padding\": 15,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"wrappingWidth\": 200,\n \"inheritDir\": false\n },\n \"sequence\": {\n \"useMaxWidth\": true,\n \"hideUnusedParticipants\": false,\n \"activationWidth\": 10,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"actorMargin\": 50,\n \"width\": 150,\n \"height\": 65,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"mirrorActors\": true,\n \"forceMenus\": false,\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"showSequenceNumbers\": false,\n \"actorFontSize\": 14,\n \"actorFontFamily\": '\"Open Sans\", sans-serif',\n \"actorFontWeight\": 400,\n \"noteFontSize\": 14,\n \"noteFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"noteFontWeight\": 400,\n \"noteAlign\": \"center\",\n \"messageFontSize\": 16,\n \"messageFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"messageFontWeight\": 400,\n \"wrap\": false,\n \"wrapPadding\": 10,\n \"labelBoxWidth\": 50,\n \"labelBoxHeight\": 20\n },\n \"gantt\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"barHeight\": 20,\n \"barGap\": 4,\n \"topPadding\": 50,\n \"rightPadding\": 75,\n \"leftPadding\": 75,\n \"gridLineStartPadding\": 35,\n \"fontSize\": 11,\n \"sectionFontSize\": 11,\n \"numberSectionStyles\": 4,\n \"axisFormat\": \"%Y-%m-%d\",\n \"topAxis\": false,\n \"displayMode\": \"\",\n \"weekday\": \"sunday\"\n },\n \"journey\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"maxLabelWidth\": 360,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ],\n \"titleColor\": \"\",\n \"titleFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"titleFontSize\": \"4ex\"\n },\n \"class\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"arrowMarkerAbsolute\": false,\n \"dividerMargin\": 10,\n \"padding\": 5,\n \"textHeight\": 10,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"htmlLabels\": false,\n \"hideEmptyMembersBox\": false\n },\n \"state\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"dividerMargin\": 10,\n \"sizeUnit\": 5,\n \"padding\": 8,\n \"textHeight\": 10,\n \"titleShift\": -15,\n \"noteMargin\": 10,\n \"forkWidth\": 70,\n \"forkHeight\": 7,\n \"miniPadding\": 2,\n \"fontSizeFactor\": 5.02,\n \"fontSize\": 24,\n \"labelHeight\": 16,\n \"edgeLengthFactor\": \"20\",\n \"compositTitleSize\": 35,\n \"radius\": 5,\n \"defaultRenderer\": \"dagre-wrapper\"\n },\n \"er\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 20,\n \"layoutDirection\": \"TB\",\n \"minEntityWidth\": 100,\n \"minEntityHeight\": 75,\n \"entityPadding\": 15,\n \"nodeSpacing\": 140,\n \"rankSpacing\": 80,\n \"stroke\": \"gray\",\n \"fill\": \"honeydew\",\n \"fontSize\": 12\n },\n \"pie\": {\n \"useMaxWidth\": true,\n \"textPosition\": 0.75\n },\n \"quadrantChart\": {\n \"useMaxWidth\": true,\n \"chartWidth\": 500,\n \"chartHeight\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"quadrantPadding\": 5,\n \"xAxisLabelPadding\": 5,\n \"yAxisLabelPadding\": 5,\n \"xAxisLabelFontSize\": 16,\n \"yAxisLabelFontSize\": 16,\n \"quadrantLabelFontSize\": 16,\n \"quadrantTextTopPadding\": 5,\n \"pointTextPadding\": 5,\n \"pointLabelFontSize\": 12,\n \"pointRadius\": 5,\n \"xAxisPosition\": \"top\",\n \"yAxisPosition\": \"left\",\n \"quadrantInternalBorderStrokeWidth\": 1,\n \"quadrantExternalBorderStrokeWidth\": 2\n },\n \"xyChart\": {\n \"useMaxWidth\": true,\n \"width\": 700,\n \"height\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"showDataLabel\": false,\n \"showDataLabelOutsideBar\": false,\n \"showTitle\": true,\n \"xAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"yAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"chartOrientation\": \"vertical\",\n \"plotReservedSpacePercent\": 50\n },\n \"requirement\": {\n \"useMaxWidth\": true,\n \"rect_fill\": \"#f9f9f9\",\n \"text_color\": \"#333\",\n \"rect_border_size\": \"0.5px\",\n \"rect_border_color\": \"#bbb\",\n \"rect_min_width\": 200,\n \"rect_min_height\": 200,\n \"fontSize\": 14,\n \"rect_padding\": 10,\n \"line_height\": 20\n },\n \"mindmap\": {\n \"useMaxWidth\": true,\n \"padding\": 10,\n \"maxNodeWidth\": 200,\n \"layoutAlgorithm\": \"cose-bilkent\"\n },\n \"ishikawa\": {\n \"useMaxWidth\": true,\n \"diagramPadding\": 20\n },\n \"kanban\": {\n \"useMaxWidth\": true,\n \"padding\": 8,\n \"sectionWidth\": 200,\n \"ticketBaseUrl\": \"\"\n },\n \"timeline\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ],\n \"disableMulticolor\": false\n },\n \"gitGraph\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 8,\n \"nodeLabel\": {\n \"width\": 75,\n \"height\": 100,\n \"x\": -25,\n \"y\": 0\n },\n \"mainBranchName\": \"main\",\n \"mainBranchOrder\": 0,\n \"showCommitLabel\": true,\n \"showBranches\": true,\n \"rotateCommitLabel\": true,\n \"parallelCommits\": false,\n \"arrowMarkerAbsolute\": false\n },\n \"c4\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"c4ShapeMargin\": 50,\n \"c4ShapePadding\": 20,\n \"width\": 216,\n \"height\": 60,\n \"boxMargin\": 10,\n \"c4ShapeInRow\": 4,\n \"nextLinePaddingX\": 0,\n \"c4BoundaryInRow\": 2,\n \"personFontSize\": 14,\n \"personFontFamily\": '\"Open Sans\", sans-serif',\n \"personFontWeight\": \"normal\",\n \"external_personFontSize\": 14,\n \"external_personFontFamily\": '\"Open Sans\", sans-serif',\n \"external_personFontWeight\": \"normal\",\n \"systemFontSize\": 14,\n \"systemFontFamily\": '\"Open Sans\", sans-serif',\n \"systemFontWeight\": \"normal\",\n \"external_systemFontSize\": 14,\n \"external_systemFontFamily\": '\"Open Sans\", sans-serif',\n \"external_systemFontWeight\": \"normal\",\n \"system_dbFontSize\": 14,\n \"system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"system_dbFontWeight\": \"normal\",\n \"external_system_dbFontSize\": 14,\n \"external_system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_dbFontWeight\": \"normal\",\n \"system_queueFontSize\": 14,\n \"system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"system_queueFontWeight\": \"normal\",\n \"external_system_queueFontSize\": 14,\n \"external_system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_queueFontWeight\": \"normal\",\n \"boundaryFontSize\": 14,\n \"boundaryFontFamily\": '\"Open Sans\", sans-serif',\n \"boundaryFontWeight\": \"normal\",\n \"messageFontSize\": 12,\n \"messageFontFamily\": '\"Open Sans\", sans-serif',\n \"messageFontWeight\": \"normal\",\n \"containerFontSize\": 14,\n \"containerFontFamily\": '\"Open Sans\", sans-serif',\n \"containerFontWeight\": \"normal\",\n \"external_containerFontSize\": 14,\n \"external_containerFontFamily\": '\"Open Sans\", sans-serif',\n \"external_containerFontWeight\": \"normal\",\n \"container_dbFontSize\": 14,\n \"container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"container_dbFontWeight\": \"normal\",\n \"external_container_dbFontSize\": 14,\n \"external_container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_dbFontWeight\": \"normal\",\n \"container_queueFontSize\": 14,\n \"container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"container_queueFontWeight\": \"normal\",\n \"external_container_queueFontSize\": 14,\n \"external_container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_queueFontWeight\": \"normal\",\n \"componentFontSize\": 14,\n \"componentFontFamily\": '\"Open Sans\", sans-serif',\n \"componentFontWeight\": \"normal\",\n \"external_componentFontSize\": 14,\n \"external_componentFontFamily\": '\"Open Sans\", sans-serif',\n \"external_componentFontWeight\": \"normal\",\n \"component_dbFontSize\": 14,\n \"component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"component_dbFontWeight\": \"normal\",\n \"external_component_dbFontSize\": 14,\n \"external_component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_dbFontWeight\": \"normal\",\n \"component_queueFontSize\": 14,\n \"component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"component_queueFontWeight\": \"normal\",\n \"external_component_queueFontSize\": 14,\n \"external_component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_queueFontWeight\": \"normal\",\n \"wrap\": true,\n \"wrapPadding\": 10,\n \"person_bg_color\": \"#08427B\",\n \"person_border_color\": \"#073B6F\",\n \"external_person_bg_color\": \"#686868\",\n \"external_person_border_color\": \"#8A8A8A\",\n \"system_bg_color\": \"#1168BD\",\n \"system_border_color\": \"#3C7FC0\",\n \"system_db_bg_color\": \"#1168BD\",\n \"system_db_border_color\": \"#3C7FC0\",\n \"system_queue_bg_color\": \"#1168BD\",\n \"system_queue_border_color\": \"#3C7FC0\",\n \"external_system_bg_color\": \"#999999\",\n \"external_system_border_color\": \"#8A8A8A\",\n \"external_system_db_bg_color\": \"#999999\",\n \"external_system_db_border_color\": \"#8A8A8A\",\n \"external_system_queue_bg_color\": \"#999999\",\n \"external_system_queue_border_color\": \"#8A8A8A\",\n \"container_bg_color\": \"#438DD5\",\n \"container_border_color\": \"#3C7FC0\",\n \"container_db_bg_color\": \"#438DD5\",\n \"container_db_border_color\": \"#3C7FC0\",\n \"container_queue_bg_color\": \"#438DD5\",\n \"container_queue_border_color\": \"#3C7FC0\",\n \"external_container_bg_color\": \"#B3B3B3\",\n \"external_container_border_color\": \"#A6A6A6\",\n \"external_container_db_bg_color\": \"#B3B3B3\",\n \"external_container_db_border_color\": \"#A6A6A6\",\n \"external_container_queue_bg_color\": \"#B3B3B3\",\n \"external_container_queue_border_color\": \"#A6A6A6\",\n \"component_bg_color\": \"#85BBF0\",\n \"component_border_color\": \"#78A8D8\",\n \"component_db_bg_color\": \"#85BBF0\",\n \"component_db_border_color\": \"#78A8D8\",\n \"component_queue_bg_color\": \"#85BBF0\",\n \"component_queue_border_color\": \"#78A8D8\",\n \"external_component_bg_color\": \"#CCCCCC\",\n \"external_component_border_color\": \"#BFBFBF\",\n \"external_component_db_bg_color\": \"#CCCCCC\",\n \"external_component_db_border_color\": \"#BFBFBF\",\n \"external_component_queue_bg_color\": \"#CCCCCC\",\n \"external_component_queue_border_color\": \"#BFBFBF\"\n },\n \"sankey\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 400,\n \"linkColor\": \"gradient\",\n \"nodeAlignment\": \"justify\",\n \"showValues\": true,\n \"prefix\": \"\",\n \"suffix\": \"\"\n },\n \"block\": {\n \"useMaxWidth\": true,\n \"padding\": 8\n },\n \"packet\": {\n \"useMaxWidth\": true,\n \"rowHeight\": 32,\n \"bitWidth\": 32,\n \"bitsPerRow\": 32,\n \"showBits\": true,\n \"paddingX\": 5,\n \"paddingY\": 5\n },\n \"treeView\": {\n \"useMaxWidth\": true,\n \"rowIndent\": 10,\n \"paddingX\": 5,\n \"paddingY\": 5,\n \"lineThickness\": 1\n },\n \"architecture\": {\n \"useMaxWidth\": true,\n \"padding\": 40,\n \"iconSize\": 80,\n \"fontSize\": 16,\n \"randomize\": false\n },\n \"radar\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 600,\n \"marginTop\": 50,\n \"marginRight\": 50,\n \"marginBottom\": 50,\n \"marginLeft\": 50,\n \"axisScaleFactor\": 1,\n \"axisLabelFactor\": 1.05,\n \"curveTension\": 0.17\n },\n \"venn\": {\n \"useMaxWidth\": true,\n \"width\": 800,\n \"height\": 450,\n \"padding\": 8,\n \"useDebugLayout\": false\n },\n \"theme\": \"default\",\n \"look\": \"classic\",\n \"handDrawnSeed\": 0,\n \"layout\": \"dagre\",\n \"maxTextSize\": 5e4,\n \"maxEdges\": 500,\n \"darkMode\": false,\n \"fontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif;',\n \"logLevel\": 5,\n \"securityLevel\": \"strict\",\n \"startOnLoad\": true,\n \"arrowMarkerAbsolute\": false,\n \"secure\": [\n \"secure\",\n \"securityLevel\",\n \"startOnLoad\",\n \"maxTextSize\",\n \"suppressErrorRendering\",\n \"maxEdges\"\n ],\n \"legacyMathML\": false,\n \"forceLegacyMathML\": false,\n \"deterministicIds\": false,\n \"fontSize\": 16,\n \"markdownAutoWrap\": true,\n \"suppressErrorRendering\": false\n};\n\n// src/defaultConfig.ts\nvar config = {\n ...config_schema_default,\n // Set, even though they're `undefined` so that `configKeys` finds these keys\n // TODO: Should we replace these with `null` so that they can go in the JSON Schema?\n deterministicIDSeed: void 0,\n elk: {\n // mergeEdges is needed here to be considered\n mergeEdges: false,\n nodePlacementStrategy: \"BRANDES_KOEPF\",\n forceNodeModelOrder: false,\n considerModelOrder: \"NODES_AND_EDGES\"\n },\n themeCSS: void 0,\n // add non-JSON default config values\n themeVariables: themes_default.default.getThemeVariables(),\n sequence: {\n ...config_schema_default.sequence,\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\"),\n noteFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.noteFontFamily,\n fontSize: this.noteFontSize,\n fontWeight: this.noteFontWeight\n };\n }, \"noteFont\"),\n actorFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.actorFontFamily,\n fontSize: this.actorFontSize,\n fontWeight: this.actorFontWeight\n };\n }, \"actorFont\")\n },\n class: {\n hideEmptyMembersBox: false\n },\n gantt: {\n ...config_schema_default.gantt,\n tickInterval: void 0,\n useWidth: void 0\n // can probably be removed since `configKeys` already includes this\n },\n c4: {\n ...config_schema_default.c4,\n useWidth: void 0,\n personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.personFontFamily,\n fontSize: this.personFontSize,\n fontWeight: this.personFontWeight\n };\n }, \"personFont\"),\n flowchart: {\n ...config_schema_default.flowchart,\n inheritDir: false\n // default to legacy behavior\n },\n external_personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_personFontFamily,\n fontSize: this.external_personFontSize,\n fontWeight: this.external_personFontWeight\n };\n }, \"external_personFont\"),\n systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.systemFontFamily,\n fontSize: this.systemFontSize,\n fontWeight: this.systemFontWeight\n };\n }, \"systemFont\"),\n external_systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_systemFontFamily,\n fontSize: this.external_systemFontSize,\n fontWeight: this.external_systemFontWeight\n };\n }, \"external_systemFont\"),\n system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_dbFontFamily,\n fontSize: this.system_dbFontSize,\n fontWeight: this.system_dbFontWeight\n };\n }, \"system_dbFont\"),\n external_system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_dbFontFamily,\n fontSize: this.external_system_dbFontSize,\n fontWeight: this.external_system_dbFontWeight\n };\n }, \"external_system_dbFont\"),\n system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_queueFontFamily,\n fontSize: this.system_queueFontSize,\n fontWeight: this.system_queueFontWeight\n };\n }, \"system_queueFont\"),\n external_system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_queueFontFamily,\n fontSize: this.external_system_queueFontSize,\n fontWeight: this.external_system_queueFontWeight\n };\n }, \"external_system_queueFont\"),\n containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.containerFontFamily,\n fontSize: this.containerFontSize,\n fontWeight: this.containerFontWeight\n };\n }, \"containerFont\"),\n external_containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_containerFontFamily,\n fontSize: this.external_containerFontSize,\n fontWeight: this.external_containerFontWeight\n };\n }, \"external_containerFont\"),\n container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_dbFontFamily,\n fontSize: this.container_dbFontSize,\n fontWeight: this.container_dbFontWeight\n };\n }, \"container_dbFont\"),\n external_container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_dbFontFamily,\n fontSize: this.external_container_dbFontSize,\n fontWeight: this.external_container_dbFontWeight\n };\n }, \"external_container_dbFont\"),\n container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_queueFontFamily,\n fontSize: this.container_queueFontSize,\n fontWeight: this.container_queueFontWeight\n };\n }, \"container_queueFont\"),\n external_container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_queueFontFamily,\n fontSize: this.external_container_queueFontSize,\n fontWeight: this.external_container_queueFontWeight\n };\n }, \"external_container_queueFont\"),\n componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.componentFontFamily,\n fontSize: this.componentFontSize,\n fontWeight: this.componentFontWeight\n };\n }, \"componentFont\"),\n external_componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_componentFontFamily,\n fontSize: this.external_componentFontSize,\n fontWeight: this.external_componentFontWeight\n };\n }, \"external_componentFont\"),\n component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_dbFontFamily,\n fontSize: this.component_dbFontSize,\n fontWeight: this.component_dbFontWeight\n };\n }, \"component_dbFont\"),\n external_component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_dbFontFamily,\n fontSize: this.external_component_dbFontSize,\n fontWeight: this.external_component_dbFontWeight\n };\n }, \"external_component_dbFont\"),\n component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_queueFontFamily,\n fontSize: this.component_queueFontSize,\n fontWeight: this.component_queueFontWeight\n };\n }, \"component_queueFont\"),\n external_component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_queueFontFamily,\n fontSize: this.external_component_queueFontSize,\n fontWeight: this.external_component_queueFontWeight\n };\n }, \"external_component_queueFont\"),\n boundaryFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.boundaryFontFamily,\n fontSize: this.boundaryFontSize,\n fontWeight: this.boundaryFontWeight\n };\n }, \"boundaryFont\"),\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\")\n },\n pie: {\n ...config_schema_default.pie,\n useWidth: 984\n },\n xyChart: {\n ...config_schema_default.xyChart,\n useWidth: void 0\n },\n requirement: {\n ...config_schema_default.requirement,\n useWidth: void 0\n },\n packet: {\n ...config_schema_default.packet\n },\n treeView: {\n ...config_schema_default.treeView,\n useWidth: void 0\n },\n radar: {\n ...config_schema_default.radar\n },\n ishikawa: {\n ...config_schema_default.ishikawa\n },\n treemap: {\n useMaxWidth: true,\n padding: 10,\n diagramPadding: 8,\n showValues: true,\n nodeWidth: 100,\n nodeHeight: 40,\n borderWidth: 1,\n valueFontSize: 12,\n labelFontSize: 14,\n valueFormat: \",\"\n },\n venn: {\n ...config_schema_default.venn\n }\n};\nvar keyify = /* @__PURE__ */ __name((obj, prefix = \"\") => Object.keys(obj).reduce((res, el) => {\n if (Array.isArray(obj[el])) {\n return res;\n } else if (typeof obj[el] === \"object\" && obj[el] !== null) {\n return [...res, prefix + el, ...keyify(obj[el], \"\")];\n }\n return [...res, prefix + el];\n}, []), \"keyify\");\nvar configKeys = new Set(keyify(config, \"\"));\nvar defaultConfig_default = config;\n\n// src/utils/sanitizeDirective.ts\nvar sanitizeDirective = /* @__PURE__ */ __name((args) => {\n log.debug(\"sanitizeDirective called with\", args);\n if (typeof args !== \"object\" || args == null) {\n return;\n }\n if (Array.isArray(args)) {\n args.forEach((arg) => sanitizeDirective(arg));\n return;\n }\n for (const key of Object.keys(args)) {\n log.debug(\"Checking key\", key);\n if (key.startsWith(\"__\") || key.includes(\"proto\") || key.includes(\"constr\") || !configKeys.has(key) || args[key] == null) {\n log.debug(\"sanitize deleting key: \", key);\n delete args[key];\n continue;\n }\n if (typeof args[key] === \"object\") {\n log.debug(\"sanitizing object\", key);\n sanitizeDirective(args[key]);\n continue;\n }\n const cssMatchers = [\"themeCSS\", \"fontFamily\", \"altFontFamily\"];\n for (const cssKey of cssMatchers) {\n if (key.includes(cssKey)) {\n log.debug(\"sanitizing css option\", key);\n args[key] = sanitizeCss(args[key]);\n }\n }\n }\n if (args.themeVariables) {\n for (const k of Object.keys(args.themeVariables)) {\n const val = args.themeVariables[k];\n if (val?.match && !val.match(/^[\\d \"#%(),.;A-Za-z]+$/)) {\n args.themeVariables[k] = \"\";\n }\n }\n }\n log.debug(\"After sanitization\", args);\n}, \"sanitizeDirective\");\nvar sanitizeCss = /* @__PURE__ */ __name((str) => {\n let startCnt = 0;\n let endCnt = 0;\n for (const element of str) {\n if (startCnt < endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n if (element === \"{\") {\n startCnt++;\n } else if (element === \"}\") {\n endCnt++;\n }\n }\n if (startCnt !== endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n return str;\n}, \"sanitizeCss\");\n\n// src/config.ts\nvar defaultConfig = Object.freeze(defaultConfig_default);\nvar evaluate = /* @__PURE__ */ __name((val) => val === false || [\"false\", \"null\", \"0\"].includes(String(val).trim().toLowerCase()) ? false : true, \"evaluate\");\nvar siteConfig = assignWithDepth_default({}, defaultConfig);\nvar configFromInitialize;\nvar directives = [];\nvar currentConfig = assignWithDepth_default({}, defaultConfig);\nvar updateCurrentConfig = /* @__PURE__ */ __name((siteCfg, _directives) => {\n let cfg = assignWithDepth_default({}, siteCfg);\n let sumOfDirectives = {};\n for (const d of _directives) {\n sanitize(d);\n sumOfDirectives = assignWithDepth_default(sumOfDirectives, d);\n }\n cfg = assignWithDepth_default(cfg, sumOfDirectives);\n if (sumOfDirectives.theme && sumOfDirectives.theme in themes_default) {\n const tmpConfigFromInitialize = assignWithDepth_default({}, configFromInitialize);\n const themeVariables = assignWithDepth_default(\n tmpConfigFromInitialize.themeVariables || {},\n sumOfDirectives.themeVariables\n );\n if (cfg.theme && cfg.theme in themes_default) {\n cfg.themeVariables = themes_default[cfg.theme].getThemeVariables(themeVariables);\n }\n }\n currentConfig = cfg;\n checkConfig(currentConfig);\n return currentConfig;\n}, \"updateCurrentConfig\");\nvar setSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default({}, defaultConfig);\n siteConfig = assignWithDepth_default(siteConfig, conf);\n if (conf.theme && themes_default[conf.theme]) {\n siteConfig.themeVariables = themes_default[conf.theme].getThemeVariables(conf.themeVariables);\n }\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"setSiteConfig\");\nvar saveConfigFromInitialize = /* @__PURE__ */ __name((conf) => {\n configFromInitialize = assignWithDepth_default({}, conf);\n}, \"saveConfigFromInitialize\");\nvar updateSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default(siteConfig, conf);\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"updateSiteConfig\");\nvar getSiteConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, siteConfig);\n}, \"getSiteConfig\");\nvar setConfig = /* @__PURE__ */ __name((conf) => {\n checkConfig(conf);\n assignWithDepth_default(currentConfig, conf);\n return getConfig();\n}, \"setConfig\");\nvar getConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, currentConfig);\n}, \"getConfig\");\nvar sanitize = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return;\n }\n [\"secure\", ...siteConfig.secure ?? []].forEach((key) => {\n if (Object.hasOwn(options, key)) {\n log.debug(`Denied attempt to modify a secure key ${key}`, options[key]);\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (key.startsWith(\"__\")) {\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (typeof options[key] === \"string\" && (options[key].includes(\"<\") || options[key].includes(\">\") || options[key].includes(\"url(data:\"))) {\n delete options[key];\n }\n if (typeof options[key] === \"object\") {\n sanitize(options[key]);\n }\n });\n}, \"sanitize\");\nvar addDirective = /* @__PURE__ */ __name((directive) => {\n sanitizeDirective(directive);\n if (directive.fontFamily && !directive.themeVariables?.fontFamily) {\n directive.themeVariables = {\n ...directive.themeVariables,\n fontFamily: directive.fontFamily\n };\n }\n directives.push(directive);\n updateCurrentConfig(siteConfig, directives);\n}, \"addDirective\");\nvar reset = /* @__PURE__ */ __name((config2 = siteConfig) => {\n directives = [];\n updateCurrentConfig(config2, directives);\n}, \"reset\");\nvar ConfigWarning = {\n LAZY_LOAD_DEPRECATED: \"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.\",\n FLOWCHART_HTML_LABELS_DEPRECATED: \"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead.\"\n};\nvar issuedWarnings = {};\nvar issueWarning = /* @__PURE__ */ __name((warning) => {\n if (issuedWarnings[warning]) {\n return;\n }\n log.warn(ConfigWarning[warning]);\n issuedWarnings[warning] = true;\n}, \"issueWarning\");\nvar checkConfig = /* @__PURE__ */ __name((config2) => {\n if (!config2) {\n return;\n }\n if (config2.lazyLoadedDiagrams || config2.loadExternalDiagramsAtStartup) {\n issueWarning(\"LAZY_LOAD_DEPRECATED\");\n }\n}, \"checkConfig\");\nvar getUserDefinedConfig = /* @__PURE__ */ __name(() => {\n let userConfig = {};\n if (configFromInitialize) {\n userConfig = assignWithDepth_default(userConfig, configFromInitialize);\n }\n for (const d of directives) {\n userConfig = assignWithDepth_default(userConfig, d);\n }\n return userConfig;\n}, \"getUserDefinedConfig\");\nvar getEffectiveHtmlLabels = /* @__PURE__ */ __name((config2) => {\n if (config2.flowchart?.htmlLabels != void 0) {\n issueWarning(\"FLOWCHART_HTML_LABELS_DEPRECATED\");\n }\n return evaluate(config2.htmlLabels ?? config2.flowchart?.htmlLabels ?? true);\n}, \"getEffectiveHtmlLabels\");\n\n// src/diagrams/common/common.ts\nimport DOMPurify from \"dompurify\";\nvar lineBreakRegex = /<br\\s*\\/?>/gi;\nvar getRows = /* @__PURE__ */ __name((s) => {\n if (!s) {\n return [\"\"];\n }\n const str = breakToPlaceholder(s).replace(/\\\\n/g, \"#br#\");\n return str.split(\"#br#\");\n}, \"getRows\");\nvar setupDompurifyHooksIfNotSetup = /* @__PURE__ */ (() => {\n let setup = false;\n return () => {\n if (!setup) {\n setupDompurifyHooks();\n setup = true;\n }\n };\n})();\nfunction setupDompurifyHooks() {\n const TEMPORARY_ATTRIBUTE = \"data-temp-href-target\";\n DOMPurify.addHook(\"beforeSanitizeAttributes\", (node) => {\n if (node.tagName === \"A\" && node.hasAttribute(\"target\")) {\n node.setAttribute(TEMPORARY_ATTRIBUTE, node.getAttribute(\"target\") ?? \"\");\n }\n });\n DOMPurify.addHook(\"afterSanitizeAttributes\", (node) => {\n if (node.tagName === \"A\" && node.hasAttribute(TEMPORARY_ATTRIBUTE)) {\n node.setAttribute(\"target\", node.getAttribute(TEMPORARY_ATTRIBUTE) ?? \"\");\n node.removeAttribute(TEMPORARY_ATTRIBUTE);\n if (node.getAttribute(\"target\") === \"_blank\") {\n node.setAttribute(\"rel\", \"noopener\");\n }\n }\n });\n}\n__name(setupDompurifyHooks, \"setupDompurifyHooks\");\nvar removeScript = /* @__PURE__ */ __name((txt) => {\n setupDompurifyHooksIfNotSetup();\n const sanitizedText = DOMPurify.sanitize(txt);\n return sanitizedText;\n}, \"removeScript\");\nvar sanitizeMore = /* @__PURE__ */ __name((text, config2) => {\n if (getEffectiveHtmlLabels(config2)) {\n const level = config2.securityLevel;\n if (level === \"antiscript\" || level === \"strict\" || level === \"sandbox\") {\n text = removeScript(text);\n } else if (level !== \"loose\") {\n text = breakToPlaceholder(text);\n text = text.replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n text = text.replace(/=/g, \"&equals;\");\n text = placeholderToBreak(text);\n }\n }\n return text;\n}, \"sanitizeMore\");\nvar sanitizeText = /* @__PURE__ */ __name((text, config2) => {\n if (!text) {\n return text;\n }\n if (config2.dompurifyConfig) {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), config2.dompurifyConfig).toString();\n } else {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), {\n FORBID_TAGS: [\"style\"]\n }).toString();\n }\n return text;\n}, \"sanitizeText\");\nvar sanitizeTextOrArray = /* @__PURE__ */ __name((a, config2) => {\n if (typeof a === \"string\") {\n return sanitizeText(a, config2);\n }\n return a.flat().map((x) => sanitizeText(x, config2));\n}, \"sanitizeTextOrArray\");\nvar hasBreaks = /* @__PURE__ */ __name((text) => {\n return lineBreakRegex.test(text);\n}, \"hasBreaks\");\nvar splitBreaks = /* @__PURE__ */ __name((text) => {\n return text.split(lineBreakRegex);\n}, \"splitBreaks\");\nvar placeholderToBreak = /* @__PURE__ */ __name((s) => {\n return s.replace(/#br#/g, \"<br/>\");\n}, \"placeholderToBreak\");\nvar breakToPlaceholder = /* @__PURE__ */ __name((s) => {\n return s.replace(lineBreakRegex, \"#br#\");\n}, \"breakToPlaceholder\");\nvar getUrl = /* @__PURE__ */ __name((useAbsolute) => {\n let url = \"\";\n if (useAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = CSS.escape(url);\n }\n return url;\n}, \"getUrl\");\nvar getMax = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.max(...newValues);\n}, \"getMax\");\nvar getMin = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.min(...newValues);\n}, \"getMin\");\nvar parseGenericTypes = /* @__PURE__ */ __name(function(input) {\n const inputSets = input.split(/(,)/);\n const output = [];\n for (let i = 0; i < inputSets.length; i++) {\n let thisSet = inputSets[i];\n if (thisSet === \",\" && i > 0 && i + 1 < inputSets.length) {\n const previousSet = inputSets[i - 1];\n const nextSet = inputSets[i + 1];\n if (shouldCombineSets(previousSet, nextSet)) {\n thisSet = previousSet + \",\" + nextSet;\n i++;\n output.pop();\n }\n }\n output.push(processSet(thisSet));\n }\n return output.join(\"\");\n}, \"parseGenericTypes\");\nvar countOccurrence = /* @__PURE__ */ __name((string, substring) => {\n return Math.max(0, string.split(substring).length - 1);\n}, \"countOccurrence\");\nvar shouldCombineSets = /* @__PURE__ */ __name((previousSet, nextSet) => {\n const prevCount = countOccurrence(previousSet, \"~\");\n const nextCount = countOccurrence(nextSet, \"~\");\n return prevCount === 1 && nextCount === 1;\n}, \"shouldCombineSets\");\nvar processSet = /* @__PURE__ */ __name((input) => {\n const tildeCount = countOccurrence(input, \"~\");\n let hasStartingTilde = false;\n if (tildeCount <= 1) {\n return input;\n }\n if (tildeCount % 2 !== 0 && input.startsWith(\"~\")) {\n input = input.substring(1);\n hasStartingTilde = true;\n }\n const chars = [...input];\n let first = chars.indexOf(\"~\");\n let last = chars.lastIndexOf(\"~\");\n while (first !== -1 && last !== -1 && first !== last) {\n chars[first] = \"<\";\n chars[last] = \">\";\n first = chars.indexOf(\"~\");\n last = chars.lastIndexOf(\"~\");\n }\n if (hasStartingTilde) {\n chars.unshift(\"~\");\n }\n return chars.join(\"\");\n}, \"processSet\");\nvar isMathMLSupported = /* @__PURE__ */ __name(() => window.MathMLElement !== void 0, \"isMathMLSupported\");\nvar katexRegex = /\\$\\$(.*)\\$\\$/g;\nvar hasKatex = /* @__PURE__ */ __name((text) => (text.match(katexRegex)?.length ?? 0) > 0, \"hasKatex\");\nvar calculateMathMLDimensions = /* @__PURE__ */ __name(async (text, config2) => {\n const divElem = document.createElement(\"div\");\n divElem.innerHTML = await renderKatexSanitized(text, config2);\n divElem.id = \"katex-temp\";\n divElem.style.visibility = \"hidden\";\n divElem.style.position = \"absolute\";\n divElem.style.top = \"0\";\n const body = document.querySelector(\"body\");\n body?.insertAdjacentElement(\"beforeend\", divElem);\n const dim = { width: divElem.clientWidth, height: divElem.clientHeight };\n divElem.remove();\n return dim;\n}, \"calculateMathMLDimensions\");\nvar renderKatexUnsanitized = /* @__PURE__ */ __name(async (text, config2) => {\n if (!hasKatex(text)) {\n return text;\n }\n if (!(isMathMLSupported() || config2.legacyMathML || config2.forceLegacyMathML)) {\n return text.replace(katexRegex, \"MathML is unsupported in this environment.\");\n }\n if (true) {\n const { default: katex } = await import(\"katex\");\n const outputMode = config2.forceLegacyMathML || !isMathMLSupported() && config2.legacyMathML ? \"htmlAndMathml\" : \"mathml\";\n return text.split(lineBreakRegex).map(\n (line) => hasKatex(line) ? `<div style=\"display: flex; align-items: center; justify-content: center; white-space: nowrap;\">${line}</div>` : `<div>${line}</div>`\n ).join(\"\").replace(\n katexRegex,\n (_, c) => katex.renderToString(c, {\n throwOnError: true,\n displayMode: true,\n output: outputMode\n }).replace(/\\n/g, \" \").replace(/<annotation.*<\\/annotation>/g, \"\")\n );\n }\n return text.replace(\n katexRegex,\n \"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.\"\n );\n}, \"renderKatexUnsanitized\");\nvar renderKatexSanitized = /* @__PURE__ */ __name(async (text, config2) => {\n return sanitizeText(await renderKatexUnsanitized(text, config2), config2);\n}, \"renderKatexSanitized\");\nvar common_default = {\n getRows,\n sanitizeText,\n sanitizeTextOrArray,\n hasBreaks,\n splitBreaks,\n lineBreakRegex,\n removeScript,\n getUrl,\n evaluate,\n getMax,\n getMin\n};\n\n// src/setupGraphViewbox.js\nvar d3Attrs = /* @__PURE__ */ __name(function(d3Elem, attrs) {\n for (let attr of attrs) {\n d3Elem.attr(attr[0], attr[1]);\n }\n}, \"d3Attrs\");\nvar calculateSvgSizeAttrs = /* @__PURE__ */ __name(function(height, width, useMaxWidth) {\n let attrs = /* @__PURE__ */ new Map();\n if (useMaxWidth) {\n attrs.set(\"width\", \"100%\");\n attrs.set(\"style\", `max-width: ${width}px;`);\n } else {\n attrs.set(\"height\", height);\n attrs.set(\"width\", width);\n }\n return attrs;\n}, \"calculateSvgSizeAttrs\");\nvar configureSvgSize = /* @__PURE__ */ __name(function(svgElem, height, width, useMaxWidth) {\n const attrs = calculateSvgSizeAttrs(height, width, useMaxWidth);\n d3Attrs(svgElem, attrs);\n}, \"configureSvgSize\");\nvar setupGraphViewbox = /* @__PURE__ */ __name(function(graph, svgElem, padding, useMaxWidth) {\n const svgBounds = svgElem.node().getBBox();\n const sWidth = svgBounds.width;\n const sHeight = svgBounds.height;\n log.info(`SVG bounds: ${sWidth}x${sHeight}`, svgBounds);\n let width = 0;\n let height = 0;\n log.info(`Graph bounds: ${width}x${height}`, graph);\n width = sWidth + padding * 2;\n height = sHeight + padding * 2;\n log.info(`Calculated bounds: ${width}x${height}`);\n configureSvgSize(svgElem, height, width, useMaxWidth);\n const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${svgBounds.width + 2 * padding} ${svgBounds.height + 2 * padding}`;\n svgElem.attr(\"viewBox\", vBox);\n}, \"setupGraphViewbox\");\n\n// src/styles.ts\nvar themes = {};\nvar getStyles = /* @__PURE__ */ __name((type, userStyles, options, svgId) => {\n let diagramStyles = \"\";\n if (type in themes && themes[type]) {\n diagramStyles = themes[type]({ ...options, svgId });\n } else {\n log.warn(`No theme found for ${type}`);\n }\n return ` & {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor}\n }\n @keyframes edge-animation-frame {\n from {\n stroke-dashoffset: 0;\n }\n }\n @keyframes dash {\n to {\n stroke-dashoffset: 0;\n }\n }\n & .edge-animation-slow {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 50s linear infinite;\n stroke-linecap: round;\n }\n & .edge-animation-fast {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 20s linear infinite;\n stroke-linecap: round;\n }\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${options.errorBkgColor};\n }\n & .error-text {\n fill: ${options.errorTextColor};\n stroke: ${options.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: ${options.strokeWidth ?? 1}px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n }\n & .marker.cross {\n stroke: ${options.lineColor};\n }\n\n & svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${diagramStyles}\n .node .neo-node {\n stroke: ${options.nodeBorder};\n }\n\n [data-look=\"neo\"].node rect, [data-look=\"neo\"].cluster rect, [data-look=\"neo\"].node polygon {\n stroke: ${options.useGradient ? \"url(\" + svgId + \"-gradient)\" : options.nodeBorder};\n filter: ${options.dropShadow ? options.dropShadow.replace(\"url(#drop-shadow)\", `url(${svgId}-drop-shadow)`) : \"none\"};\n }\n\n\n [data-look=\"neo\"].node path {\n stroke: ${options.useGradient ? \"url(\" + svgId + \"-gradient)\" : options.nodeBorder};\n stroke-width: ${options.strokeWidth ?? 1}px;\n }\n\n [data-look=\"neo\"].node .outer-path {\n filter: ${options.dropShadow ? options.dropShadow.replace(\"url(#drop-shadow)\", `url(${svgId}-drop-shadow)`) : \"none\"};\n }\n\n [data-look=\"neo\"].node .neo-line path {\n stroke: ${options.nodeBorder};\n filter: none;\n }\n\n [data-look=\"neo\"].node circle{\n stroke: ${options.useGradient ? \"url(\" + svgId + \"-gradient)\" : options.nodeBorder};\n filter: ${options.dropShadow ? options.dropShadow.replace(\"url(#drop-shadow)\", `url(${svgId}-drop-shadow)`) : \"none\"};\n }\n\n [data-look=\"neo\"].node circle .state-start{\n fill: #000000;\n }\n\n [data-look=\"neo\"].icon-shape .icon {\n fill: ${options.useGradient ? \"url(\" + svgId + \"-gradient)\" : options.nodeBorder};\n filter: ${options.dropShadow ? options.dropShadow.replace(\"url(#drop-shadow)\", `url(${svgId}-drop-shadow)`) : \"none\"};\n }\n\n [data-look=\"neo\"].icon-shape .icon-neo path {\n stroke: ${options.useGradient ? \"url(\" + svgId + \"-gradient)\" : options.nodeBorder};\n filter: ${options.dropShadow ? options.dropShadow.replace(\"url(#drop-shadow)\", `url(${svgId}-drop-shadow)`) : \"none\"};\n }\n\n ${userStyles}\n`;\n}, \"getStyles\");\nvar addStylesForDiagram = /* @__PURE__ */ __name((type, diagramTheme) => {\n if (diagramTheme !== void 0) {\n themes[type] = diagramTheme;\n }\n}, \"addStylesForDiagram\");\nvar styles_default = getStyles;\n\n// src/diagrams/common/commonDb.ts\nvar commonDb_exports = {};\n__export(commonDb_exports, {\n clear: () => clear,\n getAccDescription: () => getAccDescription,\n getAccTitle: () => getAccTitle,\n getDiagramTitle: () => getDiagramTitle,\n setAccDescription: () => setAccDescription,\n setAccTitle: () => setAccTitle,\n setDiagramTitle: () => setDiagramTitle\n});\nvar accTitle = \"\";\nvar diagramTitle = \"\";\nvar accDescription = \"\";\nvar sanitizeText2 = /* @__PURE__ */ __name((txt) => sanitizeText(txt, getConfig()), \"sanitizeText\");\nvar clear = /* @__PURE__ */ __name(() => {\n accTitle = \"\";\n accDescription = \"\";\n diagramTitle = \"\";\n}, \"clear\");\nvar setAccTitle = /* @__PURE__ */ __name((txt) => {\n accTitle = sanitizeText2(txt).replace(/^\\s+/g, \"\");\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => accTitle, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((txt) => {\n accDescription = sanitizeText2(txt).replace(/\\n\\s+/g, \"\\n\");\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => accDescription, \"getAccDescription\");\nvar setDiagramTitle = /* @__PURE__ */ __name((txt) => {\n diagramTitle = sanitizeText2(txt);\n}, \"setDiagramTitle\");\nvar getDiagramTitle = /* @__PURE__ */ __name(() => diagramTitle, \"getDiagramTitle\");\n\n// src/diagram-api/diagramAPI.ts\nvar log2 = log;\nvar setLogLevel2 = setLogLevel;\nvar getConfig2 = getConfig;\nvar setConfig2 = setConfig;\nvar defaultConfig2 = defaultConfig;\nvar sanitizeText3 = /* @__PURE__ */ __name((text) => sanitizeText(text, getConfig2()), \"sanitizeText\");\nvar setupGraphViewbox2 = setupGraphViewbox;\nvar getCommonDb = /* @__PURE__ */ __name(() => {\n return commonDb_exports;\n}, \"getCommonDb\");\nvar diagrams = {};\nvar registerDiagram = /* @__PURE__ */ __name((id, diagram, detector) => {\n if (diagrams[id]) {\n log2.warn(`Diagram with id ${id} already registered. Overwriting.`);\n }\n diagrams[id] = diagram;\n if (detector) {\n addDetector(id, detector);\n }\n addStylesForDiagram(id, diagram.styles);\n diagram.injectUtils?.(\n log2,\n setLogLevel2,\n getConfig2,\n sanitizeText3,\n setupGraphViewbox2,\n getCommonDb(),\n () => {\n }\n );\n}, \"registerDiagram\");\nvar getDiagram = /* @__PURE__ */ __name((name) => {\n if (name in diagrams) {\n return diagrams[name];\n }\n throw new DiagramNotFoundError(name);\n}, \"getDiagram\");\nvar DiagramNotFoundError = class extends Error {\n static {\n __name(this, \"DiagramNotFoundError\");\n }\n constructor(name) {\n super(`Diagram ${name} not found.`);\n }\n};\n\nexport {\n assignWithDepth_default,\n getThemeVariables3 as getThemeVariables,\n themes_default,\n defaultConfig_default,\n sanitizeDirective,\n defaultConfig,\n evaluate,\n setSiteConfig,\n saveConfigFromInitialize,\n updateSiteConfig,\n getSiteConfig,\n setConfig,\n getConfig,\n addDirective,\n reset,\n getUserDefinedConfig,\n getEffectiveHtmlLabels,\n lineBreakRegex,\n sanitizeText,\n getUrl,\n parseGenericTypes,\n hasKatex,\n calculateMathMLDimensions,\n renderKatexSanitized,\n common_default,\n frontMatterRegex,\n directiveRegex,\n UnknownDiagramError,\n detectors,\n detectType,\n registerLazyLoadedDiagrams,\n getDiagramLoader,\n configureSvgSize,\n setupGraphViewbox,\n styles_default,\n clear,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n commonDb_exports,\n getConfig2,\n setConfig2,\n defaultConfig2,\n sanitizeText3 as sanitizeText2,\n setupGraphViewbox2,\n registerDiagram,\n getDiagram\n};\n"],
5
+ "mappings": "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R,UAAU,YAAY;AACpC,eAAO9D,QAAQsE,KAAKR,KAAK;MAC3B;IACF;AAEAH,aAASjF,eAAeiF,MAAM;EAChC;AAEA,WAASa,gBAAa;AACpB,WAAO;EACT;AAEA,SAAOA;AACT;AAEA,SAASC,QAAQX,OAAc;AAC7B,MAAI;AACFzB,eAAWyB,OAAiB,EAAE;AAC9B,WAAO;EACT,SAAEY,SAAM;AACN,WAAO;EACT;AACF;ACnSO,IAAMC,SAAO9F,OAAO,CACzB,KACA,QACA,WACA,WACA,QACA,WACA,SACA,SACA,KACA,OACA,OACA,OACA,SACA,cACA,QACA,MACA,UACA,UACA,WACA,UACA,QACA,QACA,OACA,YACA,WACA,QACA,YACA,MACA,aACA,OACA,WACA,OACA,UACA,OACA,OACA,MACA,MACA,WACA,MACA,YACA,cACA,UACA,QACA,UACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,QACA,UACA,UACA,MACA,QACA,KACA,OACA,SACA,OACA,OACA,SACA,UACA,MACA,QACA,OACA,QACA,WACA,QACA,YACA,SACA,OACA,QACA,MACA,YACA,UACA,UACA,KACA,WACA,OACA,YACA,KACA,MACA,MACA,QACA,KACA,QACA,UACA,WACA,UACA,UACA,QACA,SACA,UACA,UACA,QACA,UACA,UACA,SACA,OACA,WACA,OACA,SACA,SACA,MACA,YACA,YACA,SACA,MACA,SACA,QACA,MACA,SACA,MACA,KACA,MACA,OACA,SACA,KAAK,CACG;AAEH,IAAM+F,QAAM/F,OAAO,CACxB,OACA,KACA,YACA,eACA,gBACA,gBACA,iBACA,oBACA,UACA,YACA,QACA,QACA,WACA,gBACA,eACA,UACA,QACA,KACA,SACA,YACA,SACA,SACA,aACA,QACA,kBACA,UACA,QACA,YACA,SACA,QACA,QACA,WACA,WACA,YACA,kBACA,QACA,QACA,SACA,UACA,UACA,QACA,YACA,SACA,QACA,SACA,QACA,OAAO,CACC;AAEH,IAAMgG,aAAahG,OAAO,CAC/B,WACA,iBACA,uBACA,eACA,oBACA,qBACA,qBACA,kBACA,gBACA,WACA,WACA,WACA,WACA,WACA,kBACA,WACA,WACA,eACA,gBACA,YACA,gBACA,sBACA,eACA,UACA,cAAc,CACN;AAMH,IAAMiG,gBAAgBjG,OAAO,CAClC,WACA,iBACA,UACA,WACA,aACA,oBACA,kBACA,iBACA,iBACA,iBACA,SACA,aACA,QACA,gBACA,aACA,WACA,iBACA,UACA,OACA,cACA,WACA,KAAK,CACG;AAEH,IAAMkG,WAASlG,OAAO,CAC3B,QACA,YACA,UACA,WACA,SACA,UACA,MACA,cACA,iBACA,MACA,MACA,SACA,WACA,YACA,SACA,QACA,MACA,UACA,SACA,UACA,QACA,QACA,WACA,UACA,OACA,SACA,OACA,UACA,cACA,aAAa,CACL;AAIH,IAAMmG,mBAAmBnG,OAAO,CACrC,WACA,eACA,cACA,YACA,aACA,WACA,WACA,UACA,UACA,SACA,aACA,cACA,kBACA,eACA,MAAM,CACE;AAEH,IAAMoG,OAAOpG,OAAO,CAAC,OAAO,CAAU;AC1RtC,IAAM8F,OAAO9F,OAAO,CACzB,UACA,UACA,SACA,OACA,kBACA,gBACA,wBACA,YACA,cACA,WACA,UACA,WACA,eACA,eACA,WACA,QACA,SACA,SACA,SACA,QACA,WACA,YACA,gBACA,UACA,eACA,YACA,YACA,WACA,OACA,YACA,2BACA,yBACA,YACA,aACA,WACA,gBACA,eACA,QACA,OACA,WACA,UACA,UACA,QACA,QACA,YACA,MACA,SACA,aACA,aACA,SACA,QACA,SACA,QACA,QACA,WACA,QACA,OACA,OACA,aACA,SACA,UACA,OACA,aACA,YACA,SACA,QACA,SACA,WACA,cACA,UACA,QACA,WACA,QACA,WACA,eACA,eACA,WACA,iBACA,uBACA,UACA,WACA,WACA,cACA,YACA,OACA,YACA,OACA,YACA,QACA,QACA,WACA,cACA,SACA,YACA,SACA,QACA,SACA,QACA,QACA,WACA,SACA,OACA,UACA,QACA,SACA,WACA,YACA,SACA,aACA,QACA,UACA,UACA,SACA,SACA,QACA,OAAO,CACC;AAEH,IAAM+F,MAAM/F,OAAO,CACxB,iBACA,cACA,YACA,sBACA,aACA,UACA,iBACA,iBACA,WACA,iBACA,kBACA,SACA,QACA,MACA,SACA,QACA,iBACA,aACA,aACA,SACA,uBACA,+BACA,iBACA,mBACA,MACA,MACA,KACA,MACA,MACA,mBACA,aACA,WACA,WACA,OACA,YACA,aACA,OACA,YACA,QACA,gBACA,aACA,UACA,eACA,eACA,iBACA,eACA,aACA,oBACA,gBACA,cACA,gBACA,eACA,MACA,MACA,MACA,MACA,cACA,YACA,iBACA,qBACA,UACA,QACA,MACA,mBACA,MACA,OACA,aACA,KACA,MACA,MACA,MACA,MACA,WACA,aACA,cACA,YACA,QACA,gBACA,kBACA,gBACA,oBACA,kBACA,SACA,cACA,cACA,gBACA,gBACA,eACA,eACA,oBACA,aACA,OACA,QACA,aACA,SACA,UACA,QACA,OACA,QACA,cACA,UACA,YACA,WACA,SACA,UACA,eACA,UACA,YACA,eACA,QACA,cACA,uBACA,oBACA,gBACA,UACA,iBACA,uBACA,kBACA,KACA,MACA,MACA,UACA,QACA,QACA,eACA,aACA,WACA,UACA,UACA,SACA,QACA,mBACA,SACA,oBACA,oBACA,gBACA,eACA,gBACA,eACA,cACA,gBACA,oBACA,qBACA,kBACA,mBACA,qBACA,kBACA,UACA,gBACA,SACA,gBACA,kBACA,YACA,eACA,WACA,WACA,aACA,oBACA,eACA,mBACA,kBACA,cACA,QACA,MACA,MACA,WACA,UACA,WACA,cACA,WACA,cACA,iBACA,iBACA,SACA,gBACA,QACA,gBACA,oBACA,oBACA,KACA,MACA,MACA,SACA,KACA,MACA,MACA,KACA,YAAY,CACJ;AAEH,IAAMkG,SAASlG,OAAO,CAC3B,UACA,eACA,SACA,YACA,SACA,eACA,eACA,iBACA,cACA,cACA,SACA,OACA,WACA,gBACA,YACA,SACA,SACA,UACA,QACA,MACA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",
6
+ "names": ["channel", "channels", "channels", "channels", "channels", "channels", "channels", "channels", "channel", "channel_default", "luminance", "channel", "channels", "channels", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "func", "thisArg", "_len", "arguments", "length", "args", "Array", "_key", "Func", "_len2", "_key2", "arrayForEach", "unapply", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "arrayIsArray", "isArray", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "numberToString", "Number", "booleanToString", "Boolean", "bigintToString", "BigInt", "symbolToString", "Symbol", "objectHasOwnProperty", "hasOwnProperty", "objectToString", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "lastIndex", "_len3", "_key3", "_len4", "_key4", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "isPropertyExist", "clone", "object", "newObject", "property", "value", "constructor", "stringifyValue", "valueAsRecord", "valueToString", "lookupGetter", "stringified", "prop", "desc", "get", "fallbackValue", "isRegex", "_unused", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "progressingInstruction", "comment", "document", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "_", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "EXTRA_ELEMENT_HANDLING", "tagCheck", "attributeCheck", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "customElementHandling", "ADD_TAGS", "ADD_ATTR", "ADD_FORBID_CONTENTS", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "attribute", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "expr", "_isValidAttribute", "lcTag", "lcName", "nameIsPermitted", "RESERVED_CUSTOM_ELEMENT_NAMES", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "nn", "appendChild", "firstChild", "nodeIterator", "normalize", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "text"]
7
+ }