@ours.network/messenger-server 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +225 -0
  3. package/dist/chunks/chunk-UW6DWUXJ.js +91 -0
  4. package/dist/chunks/server-BXJKKJP6.js +13854 -0
  5. package/dist/cli.js +142 -0
  6. package/dist/web/assets/abnfDiagram-N423BO3Z-Ct0MgGTC.js +2 -0
  7. package/dist/web/assets/abnfDiagram-N423BO3Z-Ct0MgGTC.js.map +1 -0
  8. package/dist/web/assets/arc-DkAjpDRH.js +2 -0
  9. package/dist/web/assets/arc-DkAjpDRH.js.map +1 -0
  10. package/dist/web/assets/architectureDiagram-T3A2C74G-CQbNIUjF.js +37 -0
  11. package/dist/web/assets/architectureDiagram-T3A2C74G-CQbNIUjF.js.map +1 -0
  12. package/dist/web/assets/blockDiagram-VBNYF7ZC-CZeLN8UY.js +133 -0
  13. package/dist/web/assets/blockDiagram-VBNYF7ZC-CZeLN8UY.js.map +1 -0
  14. package/dist/web/assets/browser-BE8bTUfE.js +9 -0
  15. package/dist/web/assets/browser-BE8bTUfE.js.map +1 -0
  16. package/dist/web/assets/c4Diagram-5PPSVZJV-CIhfUxeH.js +11 -0
  17. package/dist/web/assets/c4Diagram-5PPSVZJV-CIhfUxeH.js.map +1 -0
  18. package/dist/web/assets/channel-BZKtZ9zx.js +2 -0
  19. package/dist/web/assets/channel-BZKtZ9zx.js.map +1 -0
  20. package/dist/web/assets/chunk-2GRJ4B5K-D3TYelbp.js +2 -0
  21. package/dist/web/assets/chunk-2GRJ4B5K-D3TYelbp.js.map +1 -0
  22. package/dist/web/assets/chunk-2Q5K7J3B-BiZeOFrG.js +2 -0
  23. package/dist/web/assets/chunk-2Q5K7J3B-BiZeOFrG.js.map +1 -0
  24. package/dist/web/assets/chunk-5RXB4S5H-CJfZ1dPC.js +232 -0
  25. package/dist/web/assets/chunk-5RXB4S5H-CJfZ1dPC.js.map +1 -0
  26. package/dist/web/assets/chunk-5VM5RSS4-Vmzi7LBN.js +16 -0
  27. package/dist/web/assets/chunk-5VM5RSS4-Vmzi7LBN.js.map +1 -0
  28. package/dist/web/assets/chunk-6Q2QTUOP-B2h9pd0z.js +89 -0
  29. package/dist/web/assets/chunk-6Q2QTUOP-B2h9pd0z.js.map +1 -0
  30. package/dist/web/assets/chunk-GF5L2VYU-C4KJO4_l.js +207 -0
  31. package/dist/web/assets/chunk-GF5L2VYU-C4KJO4_l.js.map +1 -0
  32. package/dist/web/assets/chunk-JWPE2WC7-CVR7-I8U.js +2 -0
  33. package/dist/web/assets/chunk-JWPE2WC7-CVR7-I8U.js.map +1 -0
  34. package/dist/web/assets/chunk-KBJHAD2P-DJiYvgrH.js +2 -0
  35. package/dist/web/assets/chunk-KBJHAD2P-DJiYvgrH.js.map +1 -0
  36. package/dist/web/assets/chunk-RYQCIY6F-B9pd0kEE.js +2 -0
  37. package/dist/web/assets/chunk-RYQCIY6F-B9pd0kEE.js.map +1 -0
  38. package/dist/web/assets/chunk-XXDRQBXY-LhL86vIO.js +2 -0
  39. package/dist/web/assets/chunk-XXDRQBXY-LhL86vIO.js.map +1 -0
  40. package/dist/web/assets/classDiagram-JCYQIIEL-DXETV2D8.js +2 -0
  41. package/dist/web/assets/classDiagram-JCYQIIEL-DXETV2D8.js.map +1 -0
  42. package/dist/web/assets/classDiagram-v2-OCEON4UE-DXETV2D8.js +2 -0
  43. package/dist/web/assets/classDiagram-v2-OCEON4UE-DXETV2D8.js.map +1 -0
  44. package/dist/web/assets/cose-bilkent-JH36ORCC-BvO6F98R.js +2 -0
  45. package/dist/web/assets/cose-bilkent-JH36ORCC-BvO6F98R.js.map +1 -0
  46. package/dist/web/assets/cynefin-VYW2F7L2-B-e6msie.js +179 -0
  47. package/dist/web/assets/cynefin-VYW2F7L2-B-e6msie.js.map +1 -0
  48. package/dist/web/assets/cynefinDiagram-MW4NZA55-dEt_pguc.js +63 -0
  49. package/dist/web/assets/cynefinDiagram-MW4NZA55-dEt_pguc.js.map +1 -0
  50. package/dist/web/assets/cytoscape.esm-BvX2Lq_V.js +332 -0
  51. package/dist/web/assets/cytoscape.esm-BvX2Lq_V.js.map +1 -0
  52. package/dist/web/assets/dagre-VZM6K2ZE-CAXYH_6z.js +5 -0
  53. package/dist/web/assets/dagre-VZM6K2ZE-CAXYH_6z.js.map +1 -0
  54. package/dist/web/assets/defaultLocale-DX6XiGOO.js +2 -0
  55. package/dist/web/assets/defaultLocale-DX6XiGOO.js.map +1 -0
  56. package/dist/web/assets/diagram-7IWD3JNH-DS6SYGQO.js +31 -0
  57. package/dist/web/assets/diagram-7IWD3JNH-DS6SYGQO.js.map +1 -0
  58. package/dist/web/assets/diagram-B4RE2ZJO-2nKd6p2f.js +4 -0
  59. package/dist/web/assets/diagram-B4RE2ZJO-2nKd6p2f.js.map +1 -0
  60. package/dist/web/assets/diagram-LBJQPF4R-Brh5t1Yq.js +25 -0
  61. package/dist/web/assets/diagram-LBJQPF4R-Brh5t1Yq.js.map +1 -0
  62. package/dist/web/assets/diagram-Q27KOJAE-YOwnQ8kk.js +25 -0
  63. package/dist/web/assets/diagram-Q27KOJAE-YOwnQ8kk.js.map +1 -0
  64. package/dist/web/assets/diagram-UB23O5K3-BLSDWDQP.js +42 -0
  65. package/dist/web/assets/diagram-UB23O5K3-BLSDWDQP.js.map +1 -0
  66. package/dist/web/assets/ebnfDiagram-BXEA7PRR-CxT-sneC.js +2 -0
  67. package/dist/web/assets/ebnfDiagram-BXEA7PRR-CxT-sneC.js.map +1 -0
  68. package/dist/web/assets/erDiagram-JOGREHBK-CEYu1DWL.js +86 -0
  69. package/dist/web/assets/erDiagram-JOGREHBK-CEYu1DWL.js.map +1 -0
  70. package/dist/web/assets/flowDiagram-UKHOOZJN-CGCtZwTp.js +157 -0
  71. package/dist/web/assets/flowDiagram-UKHOOZJN-CGCtZwTp.js.map +1 -0
  72. package/dist/web/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2 +0 -0
  73. package/dist/web/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2 +0 -0
  74. package/dist/web/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2 +0 -0
  75. package/dist/web/assets/ganttDiagram-PKOTCBZU-B9YOo1yU.js +293 -0
  76. package/dist/web/assets/ganttDiagram-PKOTCBZU-B9YOo1yU.js.map +1 -0
  77. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-32_lkB3m.js +107 -0
  78. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-32_lkB3m.js.map +1 -0
  79. package/dist/web/assets/graph-gxHQN9-b.js +2 -0
  80. package/dist/web/assets/graph-gxHQN9-b.js.map +1 -0
  81. package/dist/web/assets/index-Cce6sBBo.js +317 -0
  82. package/dist/web/assets/index-Cce6sBBo.js.map +1 -0
  83. package/dist/web/assets/index-DukxAC__.css +1 -0
  84. package/dist/web/assets/infoDiagram-6WML65LV-Diwcibc2.js +3 -0
  85. package/dist/web/assets/infoDiagram-6WML65LV-Diwcibc2.js.map +1 -0
  86. package/dist/web/assets/init-Gi6I4Gst.js +2 -0
  87. package/dist/web/assets/init-Gi6I4Gst.js.map +1 -0
  88. package/dist/web/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  89. package/dist/web/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  90. package/dist/web/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  91. package/dist/web/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  92. package/dist/web/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  93. package/dist/web/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  94. package/dist/web/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  95. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-DUghzz6A.js +71 -0
  96. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-DUghzz6A.js.map +1 -0
  97. package/dist/web/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
  98. package/dist/web/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
  99. package/dist/web/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  100. package/dist/web/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  101. package/dist/web/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
  102. package/dist/web/assets/journeyDiagram-NVQOT4AX-CEMc0cFh.js +140 -0
  103. package/dist/web/assets/journeyDiagram-NVQOT4AX-CEMc0cFh.js.map +1 -0
  104. package/dist/web/assets/jsQR-DNCbBmIv.js +2 -0
  105. package/dist/web/assets/jsQR-DNCbBmIv.js.map +1 -0
  106. package/dist/web/assets/kanban-definition-27J2QSJJ-C60H4z4j.js +90 -0
  107. package/dist/web/assets/kanban-definition-27J2QSJJ-C60H4z4j.js.map +1 -0
  108. package/dist/web/assets/katex-HP8lGamR.js +258 -0
  109. package/dist/web/assets/katex-HP8lGamR.js.map +1 -0
  110. package/dist/web/assets/layout-CpcJW2by.js +2 -0
  111. package/dist/web/assets/layout-CpcJW2by.js.map +1 -0
  112. package/dist/web/assets/linear-BRdw4K7J.js +2 -0
  113. package/dist/web/assets/linear-BRdw4K7J.js.map +1 -0
  114. package/dist/web/assets/map-CKPHyBGT.js +2 -0
  115. package/dist/web/assets/map-CKPHyBGT.js.map +1 -0
  116. package/dist/web/assets/mermaid.core-DTdyJUyZ.js +315 -0
  117. package/dist/web/assets/mermaid.core-DTdyJUyZ.js.map +1 -0
  118. package/dist/web/assets/mindmap-definition-FAOFIHXS-Ctd1Avoh.js +97 -0
  119. package/dist/web/assets/mindmap-definition-FAOFIHXS-Ctd1Avoh.js.map +1 -0
  120. package/dist/web/assets/ordinal-Cboi1Yqb.js +2 -0
  121. package/dist/web/assets/ordinal-Cboi1Yqb.js.map +1 -0
  122. package/dist/web/assets/pegDiagram-VL7TDLO6-CIJ0TF6e.js +2 -0
  123. package/dist/web/assets/pegDiagram-VL7TDLO6-CIJ0TF6e.js.map +1 -0
  124. package/dist/web/assets/pieDiagram-7S7Q4E2Y-PFIMn7nc.js +40 -0
  125. package/dist/web/assets/pieDiagram-7S7Q4E2Y-PFIMn7nc.js.map +1 -0
  126. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-CX4UzzKN.js +8 -0
  127. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-CX4UzzKN.js.map +1 -0
  128. package/dist/web/assets/railroadDiagram-AXF67PYL-DOjwFK86.js +2 -0
  129. package/dist/web/assets/railroadDiagram-AXF67PYL-DOjwFK86.js.map +1 -0
  130. package/dist/web/assets/requirementDiagram-LRYGKXZP-BmoMDpuG.js +85 -0
  131. package/dist/web/assets/requirementDiagram-LRYGKXZP-BmoMDpuG.js.map +1 -0
  132. package/dist/web/assets/sankeyDiagram-W5VNT64P-BxsyY7C0.js +41 -0
  133. package/dist/web/assets/sankeyDiagram-W5VNT64P-BxsyY7C0.js.map +1 -0
  134. package/dist/web/assets/sequenceDiagram-SI44F4Z6-Dvv3O0Rc.js +163 -0
  135. package/dist/web/assets/sequenceDiagram-SI44F4Z6-Dvv3O0Rc.js.map +1 -0
  136. package/dist/web/assets/sizeCapture-X5ZJPWSS-CS4OfTKV.js +2 -0
  137. package/dist/web/assets/sizeCapture-X5ZJPWSS-CS4OfTKV.js.map +1 -0
  138. package/dist/web/assets/stateDiagram-OKZ733FA-DLx4cUCx.js +2 -0
  139. package/dist/web/assets/stateDiagram-OKZ733FA-DLx4cUCx.js.map +1 -0
  140. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CGTS_71O.js +2 -0
  141. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CGTS_71O.js.map +1 -0
  142. package/dist/web/assets/swimlanes-SLNWSIFB-CfboUePX.js +3 -0
  143. package/dist/web/assets/swimlanes-SLNWSIFB-CfboUePX.js.map +1 -0
  144. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DC39ekbl.js +9 -0
  145. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DC39ekbl.js.map +1 -0
  146. package/dist/web/assets/timeline-definition-Z64GVDOM-BEMGCQrU.js +121 -0
  147. package/dist/web/assets/timeline-definition-Z64GVDOM-BEMGCQrU.js.map +1 -0
  148. package/dist/web/assets/vennDiagram-T6HMQDX7-y2pz9Wz-.js +35 -0
  149. package/dist/web/assets/vennDiagram-T6HMQDX7-y2pz9Wz-.js.map +1 -0
  150. package/dist/web/assets/wardleyDiagram-T6FBY63Y-CQ-4d_jJ.js +79 -0
  151. package/dist/web/assets/wardleyDiagram-T6FBY63Y-CQ-4d_jJ.js.map +1 -0
  152. package/dist/web/assets/xychartDiagram-ELKLHX3M-BDr2YKTM.js +8 -0
  153. package/dist/web/assets/xychartDiagram-ELKLHX3M-BDr2YKTM.js.map +1 -0
  154. package/dist/web/icons/apple-touch-icon.png +0 -0
  155. package/dist/web/icons/favicon-16.png +0 -0
  156. package/dist/web/icons/favicon-32.png +0 -0
  157. package/dist/web/icons/icon-192-maskable.png +0 -0
  158. package/dist/web/icons/icon-192.png +0 -0
  159. package/dist/web/icons/icon-512-maskable.png +0 -0
  160. package/dist/web/icons/icon-512.png +0 -0
  161. package/dist/web/index.html +19 -0
  162. package/dist/web/manifest.webmanifest +17 -0
  163. package/dist/web/sw.js +181 -0
  164. package/dist/web/version.json +1 -0
  165. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ishikawaDiagram-WSZJBQD7-DUghzz6A.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/ishikawaDiagram-WSZJBQD7.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-3NCLNEKW.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-NSK5VX7P.mjs\";\nimport {\n clear,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-I66GZJ75.mjs\";\nimport \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/ishikawa/parser/ishikawa.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 14], $V2 = [1, 12], $V3 = [1, 13], $V4 = [6, 7, 8], $V5 = [1, 20], $V6 = [1, 18], $V7 = [1, 19], $V8 = [6, 7, 11], $V9 = [1, 6, 13, 14], $Va = [1, 23], $Vb = [1, 24], $Vc = [1, 6, 7, 11, 13, 14];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"ishikawa\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"ISHIKAWA\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"TEXT\": 14, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"ISHIKAWA\", 11: \"EOF\", 13: \"SPACELIST\", 14: \"TEXT\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 1], [12, 1], [12, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 15:\n yy.addNode($$[$0 - 1].length, $$[$0].trim());\n break;\n case 16:\n yy.addNode(0, $$[$0].trim());\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: $V3 }, o($V4, [2, 3]), { 1: [2, 2] }, o($V4, [2, 4]), o($V4, [2, 5]), { 1: [2, 6], 6: $V1, 12: 15, 13: $V2, 14: $V3 }, { 6: $V1, 9: 16, 12: 11, 13: $V2, 14: $V3 }, { 6: $V5, 7: $V6, 10: 17, 11: $V7 }, o($V8, [2, 18], { 14: [1, 21] }), o($V8, [2, 16]), o($V8, [2, 17]), { 6: $V5, 7: $V6, 10: 22, 11: $V7 }, { 1: [2, 7], 6: $V1, 12: 15, 13: $V2, 14: $V3 }, o($V9, [2, 14], { 7: $Va, 11: $Vb }), o($Vc, [2, 8]), o($Vc, [2, 9]), o($Vc, [2, 10]), o($V8, [2, 15]), o($V9, [2, 13], { 7: $Va, 11: $Vb }), o($Vc, [2, 11]), o($Vc, [2, 12])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 6;\n break;\n case 1:\n return 8;\n break;\n case 2:\n return 8;\n break;\n case 3:\n return 6;\n break;\n case 4:\n return 7;\n break;\n case 5:\n return 13;\n break;\n case 6:\n return 14;\n break;\n case 7:\n return 11;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:\\s*%%.*)/i, /^(?:ishikawa-beta\\b)/i, /^(?:ishikawa\\b)/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[\\s]+)/i, /^(?:[^\\n]+)/i, /^(?:$)/i],\n conditions: { \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar ishikawa_default = parser;\n\n// src/diagrams/ishikawa/ishikawaDb.ts\nvar IshikawaDB = class {\n constructor() {\n this.stack = [];\n this.clear = this.clear.bind(this);\n this.addNode = this.addNode.bind(this);\n this.getRoot = this.getRoot.bind(this);\n }\n static {\n __name(this, \"IshikawaDB\");\n }\n clear() {\n this.root = void 0;\n this.stack = [];\n this.baseLevel = void 0;\n clear();\n }\n getRoot() {\n return this.root;\n }\n addNode(rawLevel, text) {\n const label = common_default.sanitizeText(text, getConfig());\n if (!this.root) {\n this.root = { text: label, children: [] };\n this.stack = [{ level: 0, node: this.root }];\n setDiagramTitle(label);\n return;\n }\n this.baseLevel ??= rawLevel;\n let level = rawLevel - this.baseLevel + 1;\n if (level <= 0) {\n level = 1;\n }\n while (this.stack.length > 1 && this.stack[this.stack.length - 1].level >= level) {\n this.stack.pop();\n }\n const parent = this.stack[this.stack.length - 1].node;\n const node = { text: label, children: [] };\n parent.children.push(node);\n this.stack.push({ level, node });\n }\n getAccTitle() {\n return getAccTitle();\n }\n setAccTitle(title) {\n setAccTitle(title);\n }\n getAccDescription() {\n return getAccDescription();\n }\n setAccDescription(description) {\n setAccDescription(description);\n }\n getDiagramTitle() {\n return getDiagramTitle();\n }\n setDiagramTitle(title) {\n setDiagramTitle(title);\n }\n};\n\n// src/diagrams/ishikawa/ishikawaRenderer.ts\nimport rough from \"roughjs\";\nvar FONT_SIZE_DEFAULT = 14;\nvar SPINE_BASE_LENGTH = 250;\nvar BONE_STUB = 30;\nvar BONE_BASE = 60;\nvar BONE_PER_CHILD = 5;\nvar ANGLE = 82 * Math.PI / 180;\nvar COS_A = Math.cos(ANGLE);\nvar SIN_A = Math.sin(ANGLE);\nvar applyPaddedViewBox = /* @__PURE__ */ __name((svgEl, pad, maxW) => {\n const bbox = svgEl.node().getBBox();\n const w = bbox.width + pad * 2;\n const h = bbox.height + pad * 2;\n configureSvgSize(svgEl, h, w, maxW);\n svgEl.attr(\"viewBox\", `${bbox.x - pad} ${bbox.y - pad} ${w} ${h}`);\n}, \"applyPaddedViewBox\");\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const root = db.getRoot();\n if (!root) {\n return;\n }\n const drawConfig = getConfig();\n const { look, handDrawnSeed, themeVariables } = drawConfig;\n const fontSize = parseFontSize(drawConfig.fontSize)[0] ?? FONT_SIZE_DEFAULT;\n const isHandDrawn = look === \"handDrawn\";\n const causes = root.children ?? [];\n const padding = drawConfig.ishikawa?.diagramPadding ?? 20;\n const useMaxWidth = drawConfig.ishikawa?.useMaxWidth ?? false;\n const svg = selectSvgElement(id);\n const g = svg.append(\"g\").attr(\"class\", \"ishikawa\");\n const roughSvg = isHandDrawn ? rough.svg(svg.node()) : void 0;\n const roughContext = roughSvg ? {\n roughSvg,\n seed: handDrawnSeed ?? 0,\n lineColor: themeVariables?.lineColor ?? \"#333\",\n fillColor: themeVariables?.mainBkg ?? \"#fff\"\n } : void 0;\n const markerId = `ishikawa-arrow-${id}`;\n if (!isHandDrawn) {\n g.append(\"defs\").append(\"marker\").attr(\"id\", markerId).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 0).attr(\"refY\", 5).attr(\"markerWidth\", 6).attr(\"markerHeight\", 6).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 10 0 L 0 5 L 10 10 Z\").attr(\"class\", \"ishikawa-arrow\");\n }\n let spineX = 0;\n let spineY = SPINE_BASE_LENGTH;\n const spineLine = isHandDrawn ? void 0 : drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\");\n drawHead(g, spineX, spineY, root.text, fontSize, roughContext);\n if (!causes.length) {\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\", roughContext);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n return;\n }\n spineX -= 20;\n const upperCauses = causes.filter((_, i) => i % 2 === 0);\n const lowerCauses = causes.filter((_, i) => i % 2 === 1);\n const upperStats = sideStats(upperCauses);\n const lowerStats = sideStats(lowerCauses);\n const descendantTotal = upperStats.total + lowerStats.total;\n let upperLen = SPINE_BASE_LENGTH;\n let lowerLen = SPINE_BASE_LENGTH;\n if (descendantTotal > 0) {\n const pool = SPINE_BASE_LENGTH * 2;\n const minLen = SPINE_BASE_LENGTH * 0.3;\n upperLen = Math.max(minLen, pool * (upperStats.total / descendantTotal));\n lowerLen = Math.max(minLen, pool * (lowerStats.total / descendantTotal));\n }\n const minSpacing = fontSize * 2;\n upperLen = Math.max(upperLen, upperStats.max * minSpacing);\n lowerLen = Math.max(lowerLen, lowerStats.max * minSpacing);\n spineY = Math.max(upperLen, SPINE_BASE_LENGTH);\n if (spineLine) {\n spineLine.attr(\"y1\", spineY).attr(\"y2\", spineY);\n }\n g.select(\".ishikawa-head-group\").attr(\"transform\", `translate(0,${spineY})`);\n const pairCount = Math.ceil(causes.length / 2);\n for (let p = 0; p < pairCount; p++) {\n const pg = g.append(\"g\").attr(\"class\", \"ishikawa-pair\");\n for (const [cause, dir, len] of [\n [causes[p * 2], -1, upperLen],\n [causes[p * 2 + 1], 1, lowerLen]\n ]) {\n if (cause) {\n drawBranch(pg, cause, spineX, spineY, dir, len, fontSize, roughContext);\n }\n }\n spineX = pg.selectAll(\"text\").nodes().reduce((left, n) => Math.min(left, n.getBBox().x), Infinity);\n }\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, 0, spineY, \"ishikawa-spine\", roughContext);\n } else {\n spineLine.attr(\"x1\", spineX);\n const markerUrl = `url(#${markerId})`;\n g.selectAll(\"line.ishikawa-branch, line.ishikawa-sub-branch\").attr(\"marker-start\", markerUrl);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n}, \"draw\");\nvar sideStats = /* @__PURE__ */ __name((nodes) => {\n const countDescendants = /* @__PURE__ */ __name((node) => node.children.reduce((sum, child) => sum + 1 + countDescendants(child), 0), \"countDescendants\");\n return nodes.reduce(\n (stats, node) => {\n const descendants = countDescendants(node);\n stats.total += descendants;\n stats.max = Math.max(stats.max, descendants);\n return stats;\n },\n { total: 0, max: 0 }\n );\n}, \"sideStats\");\nvar drawHead = /* @__PURE__ */ __name((svg, x, y, label, fontSize, roughContext) => {\n const maxChars = Math.max(6, Math.floor(110 / (fontSize * 0.6)));\n const headGroup = svg.append(\"g\").attr(\"class\", \"ishikawa-head-group\").attr(\"transform\", `translate(${x},${y})`);\n const textEl = drawMultilineText(\n headGroup,\n wrapText(label, maxChars),\n 0,\n 0,\n \"ishikawa-head-label\",\n \"start\",\n fontSize\n );\n const tb = textEl.node().getBBox();\n const w = Math.max(60, tb.width + 6);\n const h = Math.max(40, tb.height * 2 + 40);\n const headPath = `M 0 ${-h / 2} L 0 ${h / 2} Q ${w * 2.4} 0 0 ${-h / 2} Z`;\n if (roughContext) {\n const roughNode = roughContext.roughSvg.path(headPath, {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n headGroup.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-head\");\n } else {\n headGroup.insert(\"path\", \":first-child\").attr(\"class\", \"ishikawa-head\").attr(\"d\", headPath);\n }\n textEl.attr(\"transform\", `translate(${(w - tb.width) / 2 - tb.x + 3},${-tb.y - tb.height / 2})`);\n}, \"drawHead\");\nvar flattenTree = /* @__PURE__ */ __name((children, direction) => {\n const entries = [];\n const yOrder = [];\n const walk = /* @__PURE__ */ __name((nodes, pid, depth) => {\n const ordered = direction === -1 ? [...nodes].reverse() : nodes;\n for (const child of ordered) {\n const idx = entries.length;\n const gc = child.children ?? [];\n entries.push({\n depth,\n text: wrapText(child.text, 15),\n parentIndex: pid,\n childCount: gc.length\n });\n if (depth % 2 === 0) {\n yOrder.push(idx);\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n } else {\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n yOrder.push(idx);\n }\n }\n }, \"walk\");\n walk(children, -1, 2);\n return { entries, yOrder };\n}, \"flattenTree\");\nvar drawCauseLabel = /* @__PURE__ */ __name((svg, text, x, y, direction, fontSize, roughContext) => {\n const lg = svg.append(\"g\").attr(\"class\", \"ishikawa-label-group\");\n const lt = drawMultilineText(\n lg,\n text,\n x,\n y + 11 * direction,\n \"ishikawa-label cause\",\n \"middle\",\n fontSize\n );\n const tb = lt.node().getBBox();\n if (roughContext) {\n const roughNode = roughContext.roughSvg.rectangle(\n tb.x - 20,\n tb.y - 2,\n tb.width + 40,\n tb.height + 4,\n {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n }\n );\n lg.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-label-box\");\n } else {\n lg.insert(\"rect\", \":first-child\").attr(\"class\", \"ishikawa-label-box\").attr(\"x\", tb.x - 20).attr(\"y\", tb.y - 2).attr(\"width\", tb.width + 40).attr(\"height\", tb.height + 4);\n }\n}, \"drawCauseLabel\");\nvar drawArrowMarker = /* @__PURE__ */ __name((g, x, y, dx, dy, roughContext) => {\n const len = Math.sqrt(dx * dx + dy * dy);\n if (len === 0) {\n return;\n }\n const ux = dx / len;\n const uy = dy / len;\n const s = 6;\n const px = -uy * s;\n const py = ux * s;\n const tipX = x;\n const tipY = y;\n const d = `M ${tipX} ${tipY} L ${tipX - ux * s * 2 + px} ${tipY - uy * s * 2 + py} L ${tipX - ux * s * 2 - px} ${tipY - uy * s * 2 - py} Z`;\n const roughNode = roughContext.roughSvg.path(d, {\n roughness: 1,\n seed: roughContext.seed,\n fill: roughContext.lineColor,\n fillStyle: \"solid\",\n stroke: roughContext.lineColor,\n strokeWidth: 1\n });\n g.append(() => roughNode);\n}, \"drawArrowMarker\");\nvar drawBranch = /* @__PURE__ */ __name((svg, node, startX, startY, direction, length, fontSize, roughContext) => {\n const children = node.children ?? [];\n const lineLen = length * (children.length ? 1 : 0.2);\n const dx = -COS_A * lineLen;\n const dy = SIN_A * lineLen * direction;\n const endX = startX + dx;\n const endY = startY + dy;\n drawLine(svg, startX, startY, endX, endY, \"ishikawa-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(svg, startX, startY, startX - endX, startY - endY, roughContext);\n }\n drawCauseLabel(svg, node.text, endX, endY, direction, fontSize, roughContext);\n if (!children.length) {\n return;\n }\n const { entries, yOrder } = flattenTree(children, direction);\n const entryCount = entries.length;\n const ys = new Array(entryCount);\n for (const [slot, entryIdx] of yOrder.entries()) {\n ys[entryIdx] = startY + dy * ((slot + 1) / (entryCount + 1));\n }\n const bones = /* @__PURE__ */ new Map();\n bones.set(-1, {\n x0: startX,\n y0: startY,\n x1: endX,\n y1: endY,\n childCount: children.length,\n childrenDrawn: 0\n });\n const diagonalX = -COS_A;\n const diagonalY = SIN_A * direction;\n const oddLabel = direction < 0 ? \"ishikawa-label up\" : \"ishikawa-label down\";\n for (const [i, e] of entries.entries()) {\n const y = ys[i];\n const par = bones.get(e.parentIndex);\n const grp = svg.append(\"g\").attr(\"class\", \"ishikawa-sub-group\");\n let bx0 = 0;\n let by0 = 0;\n let bx1 = 0;\n if (e.depth % 2 === 0) {\n const dyP = par.y1 - par.y0;\n bx0 = lerp(par.x0, par.x1, dyP ? (y - par.y0) / dyP : 0.5);\n by0 = y;\n bx1 = bx0 - (e.childCount > 0 ? BONE_BASE + e.childCount * BONE_PER_CHILD : BONE_STUB);\n drawLine(grp, bx0, y, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, y, 1, 0, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, \"ishikawa-label align\", \"end\", fontSize);\n } else {\n const k = par.childrenDrawn++;\n bx0 = lerp(par.x0, par.x1, (par.childCount - k) / (par.childCount + 1));\n by0 = par.y0;\n bx1 = bx0 + diagonalX * ((y - by0) / diagonalY);\n drawLine(grp, bx0, by0, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, by0, bx0 - bx1, by0 - y, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, oddLabel, \"end\", fontSize);\n }\n if (e.childCount > 0) {\n bones.set(i, {\n x0: bx0,\n y0: by0,\n x1: bx1,\n y1: y,\n childCount: e.childCount,\n childrenDrawn: 0\n });\n }\n }\n}, \"drawBranch\");\nvar splitLines = /* @__PURE__ */ __name((text) => text.split(/<br\\s*\\/?>|\\n/), \"splitLines\");\nvar wrapText = /* @__PURE__ */ __name((text, maxChars) => {\n if (text.length <= maxChars) {\n return text;\n }\n const lines = [];\n for (const word of text.split(/\\s+/)) {\n const last = lines.length - 1;\n if (last >= 0 && lines[last].length + 1 + word.length <= maxChars) {\n lines[last] += \" \" + word;\n } else {\n lines.push(word);\n }\n }\n return lines.join(\"\\n\");\n}, \"wrapText\");\nvar drawMultilineText = /* @__PURE__ */ __name((g, text, x, y, cls, anchor, fontSize) => {\n const lines = splitLines(text);\n const lh = fontSize * 1.05;\n const el = g.append(\"text\").attr(\"class\", cls).attr(\"text-anchor\", anchor).attr(\"x\", x).attr(\"y\", y - (lines.length - 1) * lh / 2);\n for (const [i, line] of lines.entries()) {\n el.append(\"tspan\").attr(\"x\", x).attr(\"dy\", i === 0 ? 0 : lh).text(line);\n }\n return el;\n}, \"drawMultilineText\");\nvar lerp = /* @__PURE__ */ __name((a, b, t) => a + (b - a) * t, \"lerp\");\nvar drawLine = /* @__PURE__ */ __name((g, x1, y1, x2, y2, cls, roughContext) => {\n if (roughContext) {\n const roughNode = roughContext.roughSvg.line(x1, y1, x2, y2, {\n roughness: 1.5,\n seed: roughContext.seed,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n g.append(() => roughNode).attr(\"class\", cls);\n return void 0;\n }\n return g.append(\"line\").attr(\"class\", cls).attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2);\n}, \"drawLine\");\nvar renderer = { draw };\n\n// src/diagrams/ishikawa/ishikawaStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n.ishikawa .ishikawa-spine,\n.ishikawa .ishikawa-branch,\n.ishikawa .ishikawa-sub-branch {\n stroke: ${options.lineColor};\n stroke-width: 2;\n fill: none;\n}\n\n.ishikawa .ishikawa-sub-branch {\n stroke-width: 1;\n}\n\n.ishikawa .ishikawa-arrow {\n fill: ${options.lineColor};\n}\n\n.ishikawa .ishikawa-head {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa .ishikawa-label-box {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa text {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor};\n}\n\n.ishikawa .ishikawa-head-label {\n font-weight: 600;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: 14px;\n}\n\n.ishikawa .ishikawa-label {\n text-anchor: end;\n}\n\n.ishikawa .ishikawa-label.cause {\n text-anchor: middle;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.align {\n text-anchor: end;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.up {\n dominant-baseline: baseline;\n}\n\n.ishikawa .ishikawa-label.down {\n dominant-baseline: hanging;\n}\n`, \"getStyles\");\nvar ishikawaStyles_default = getStyles;\n\n// src/diagrams/ishikawa/ishikawaDiagram.ts\nvar diagram = {\n parser: ishikawa_default,\n get db() {\n return new IshikawaDB();\n },\n renderer,\n styles: ishikawaStyles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","ishikawa_default","IshikawaDB","clear","rawLevel","text","label","common_default","getConfig","setDiagramTitle","level","parent","node","getAccTitle","title","setAccTitle","getAccDescription","description","setAccDescription","getDiagramTitle","FONT_SIZE_DEFAULT","SPINE_BASE_LENGTH","BONE_STUB","BONE_BASE","BONE_PER_CHILD","ANGLE","COS_A","SIN_A","applyPaddedViewBox","svgEl","pad","maxW","bbox","w","h","configureSvgSize","draw","_text","id","_version","diagram2","root","drawConfig","look","handDrawnSeed","themeVariables","fontSize","parseFontSize","isHandDrawn","causes","padding","useMaxWidth","svg","selectSvgElement","g","roughSvg","rough","roughContext","markerId","spineX","spineY","spineLine","drawLine","drawHead","upperCauses","_","lowerCauses","upperStats","sideStats","lowerStats","descendantTotal","upperLen","lowerLen","pool","minLen","minSpacing","pairCount","pg","cause","dir","drawBranch","left","markerUrl","nodes","countDescendants","sum","child","stats","descendants","x","y","maxChars","headGroup","textEl","drawMultilineText","wrapText","tb","headPath","roughNode","flattenTree","children","direction","entries","yOrder","walk","pid","depth","ordered","idx","gc","drawCauseLabel","lg","drawArrowMarker","dx","dy","ux","uy","s","px","py","tipX","tipY","d","startX","startY","length","lineLen","endX","endY","entryCount","ys","slot","entryIdx","bones","diagonalX","diagonalY","oddLabel","e","par","grp","bx0","by0","bx1","dyP","lerp","splitLines","word","last","cls","anchor","lh","el","line","a","b","t","x1","y1","x2","y2","renderer","getStyles","options","ishikawaStyles_default","diagram"],"mappings":"oLAwBA,IAAIA,EAAU,UAAW,CACvB,IAAIC,EAAoBC,EAAO,SAASC,EAAGC,EAAGC,EAAIC,EAAG,CACnD,IAAKD,EAAKA,GAAM,GAAIC,EAAIH,EAAE,OAAQG,IAAKD,EAAGF,EAAEG,CAAC,CAAC,EAAIF,EAAG,CACrD,OAAOC,CACT,EAAG,GAAG,EAAGE,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,EAAE,EAC9NC,EAAU,CACZ,MAAuBlB,EAAO,UAAiB,CAC/C,EAAG,OAAO,EACV,GAAI,CAAA,EACJ,SAAU,CAAE,MAAS,EAAG,MAAS,EAAG,SAAY,EAAG,WAAc,EAAG,UAAa,EAAG,GAAM,EAAG,SAAY,EAAG,SAAY,EAAG,KAAQ,GAAI,IAAO,GAAI,UAAa,GAAI,UAAa,GAAI,KAAQ,GAAI,QAAW,EAAG,KAAQ,CAAC,EACvN,WAAY,CAAE,EAAG,QAAS,EAAG,YAAa,EAAG,KAAM,EAAG,WAAY,GAAI,MAAO,GAAI,YAAa,GAAI,MAAM,EACxG,aAAc,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,CAAC,EACzK,cAA+BA,EAAO,SAAmBmB,EAAQC,EAAQC,EAAUC,EAAIC,EAASC,EAAIC,EAAI,CACtG,IAAIC,EAAKF,EAAG,OAAS,EACrB,OAAQD,EAAO,CACb,IAAK,GACL,IAAK,GACH,OAAOD,EAET,IAAK,IACHA,EAAG,QAAQE,EAAGE,EAAK,CAAC,EAAE,OAAQF,EAAGE,CAAE,EAAE,MAAM,EAC3C,MACF,IAAK,IACHJ,EAAG,QAAQ,EAAGE,EAAGE,CAAE,EAAE,MAAM,EAC3B,KACV,CACI,EAAG,WAAW,EACd,MAAO,CAAC,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAGrB,CAAG,EAAI,CAAE,EAAG,CAAC,CAAC,CAAC,EAAI,CAAE,EAAG,CAAC,EAAG,CAAC,CAAC,EAAI,CAAE,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAGA,CAAG,EAAI,CAAE,EAAGC,EAAK,EAAG,CAAC,EAAG,EAAE,EAAG,EAAG,EAAG,GAAI,GAAI,GAAIC,EAAK,GAAIC,CAAG,EAAIT,EAAEU,EAAK,CAAC,EAAG,CAAC,CAAC,EAAG,CAAE,EAAG,CAAC,EAAG,CAAC,CAAC,EAAIV,EAAEU,EAAK,CAAC,EAAG,CAAC,CAAC,EAAGV,EAAEU,EAAK,CAAC,EAAG,CAAC,CAAC,EAAG,CAAE,EAAG,CAAC,EAAG,CAAC,EAAG,EAAGH,EAAK,GAAI,GAAI,GAAIC,EAAK,GAAIC,GAAO,CAAE,EAAGF,EAAK,EAAG,GAAI,GAAI,GAAI,GAAIC,EAAK,GAAIC,CAAG,EAAI,CAAE,EAAGE,EAAK,EAAGC,EAAK,GAAI,GAAI,GAAIC,CAAG,EAAIb,EAAEc,EAAK,CAAC,EAAG,EAAE,EAAG,CAAE,GAAI,CAAC,EAAG,EAAE,CAAC,CAAE,EAAGd,EAAEc,EAAK,CAAC,EAAG,EAAE,CAAC,EAAGd,EAAEc,EAAK,CAAC,EAAG,EAAE,CAAC,EAAG,CAAE,EAAGH,EAAK,EAAGC,EAAK,GAAI,GAAI,GAAIC,CAAG,EAAI,CAAE,EAAG,CAAC,EAAG,CAAC,EAAG,EAAGN,EAAK,GAAI,GAAI,GAAIC,EAAK,GAAIC,CAAG,EAAIT,EAAEe,EAAK,CAAC,EAAG,EAAE,EAAG,CAAE,EAAGC,EAAK,GAAIC,EAAK,EAAGjB,EAAEkB,EAAK,CAAC,EAAG,CAAC,CAAC,EAAGlB,EAAEkB,EAAK,CAAC,EAAG,CAAC,CAAC,EAAGlB,EAAEkB,EAAK,CAAC,EAAG,EAAE,CAAC,EAAGlB,EAAEc,EAAK,CAAC,EAAG,EAAE,CAAC,EAAGd,EAAEe,EAAK,CAAC,EAAG,EAAE,EAAG,CAAE,EAAGC,EAAK,GAAIC,EAAK,EAAGjB,EAAEkB,EAAK,CAAC,EAAG,EAAE,CAAC,EAAGlB,EAAEkB,EAAK,CAAC,EAAG,EAAE,CAAC,CAAC,EACtrB,eAAgB,CAAE,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,CAAC,EAAG,CAAC,CAAC,EACtC,WAA4BjB,EAAO,SAAoB2B,EAAKC,EAAM,CAChE,GAAIA,EAAK,YACP,KAAK,MAAMD,CAAG,MACT,CACL,IAAIE,EAAQ,IAAI,MAAMF,CAAG,EACzB,MAAAE,EAAM,KAAOD,EACPC,CACR,CACF,EAAG,YAAY,EACf,MAAuB7B,EAAO,SAAe8B,EAAO,CAC/C,IAACC,EAAO,KAAMC,EAAQ,CAAC,CAAC,EAAGC,EAAS,CAAA,EAAIC,EAAS,CAAC,IAAI,EAAGC,EAAS,CAAA,EAAIC,EAAQ,KAAK,MAAOjB,EAAS,GAAIE,EAAW,EAAGD,EAAS,EAAmBiB,EAAS,EAAGC,EAAM,EAClKC,EAAOJ,EAAO,MAAM,KAAK,UAAW,CAAC,EACrCK,EAAS,OAAO,OAAO,KAAK,KAAK,EACjCC,EAAc,CAAE,GAAI,EAAE,EAC1B,QAASxC,KAAK,KAAK,GACb,OAAO,UAAU,eAAe,KAAK,KAAK,GAAIA,CAAC,IACjDwC,EAAY,GAAGxC,CAAC,EAAI,KAAK,GAAGA,CAAC,GAGjCuC,EAAO,SAASV,EAAOW,EAAY,EAAE,EACrCA,EAAY,GAAG,MAAQD,EACvBC,EAAY,GAAG,OAAS,KACpB,OAAOD,EAAO,OAAU,MAC1BA,EAAO,OAAS,CAAA,GAElB,IAAIE,EAAQF,EAAO,OACnBL,EAAO,KAAKO,CAAK,EACjB,IAAIC,EAASH,EAAO,SAAWA,EAAO,QAAQ,OAC1C,OAAOC,EAAY,GAAG,YAAe,WACvC,KAAK,WAAaA,EAAY,GAAG,WAEjC,KAAK,WAAa,OAAO,eAAe,IAAI,EAAE,WAEhD,SAASG,EAASC,EAAG,CACnBb,EAAM,OAASA,EAAM,OAAS,EAAIa,EAClCX,EAAO,OAASA,EAAO,OAASW,EAChCV,EAAO,OAASA,EAAO,OAASU,CAClC,CACA7C,EAAO4C,EAAU,UAAU,EAC3B,SAASE,GAAM,CACb,IAAIC,EACJ,OAAAA,EAAQd,EAAO,IAAG,GAAMO,EAAO,IAAG,GAAMF,EACpC,OAAOS,GAAU,WACfA,aAAiB,QACnBd,EAASc,EACTA,EAAQd,EAAO,IAAG,GAEpBc,EAAQhB,EAAK,SAASgB,CAAK,GAAKA,GAE3BA,CACT,CACA/C,EAAO8C,EAAK,KAAK,EAEjB,QADIE,EAAwBC,EAAOC,EAAWC,EAAGC,EAAQ,CAAA,EAAIC,EAAGC,EAAKC,GAAUC,IAClE,CAUX,GATAP,EAAQjB,EAAMA,EAAM,OAAS,CAAC,EAC1B,KAAK,eAAeiB,CAAK,EAC3BC,EAAS,KAAK,eAAeD,CAAK,IAE9BD,IAAW,MAAQ,OAAOA,EAAU,OACtCA,EAASF,EAAG,GAEdI,EAASd,EAAMa,CAAK,GAAKb,EAAMa,CAAK,EAAED,CAAM,GAE1C,OAAOE,EAAW,KAAe,CAACA,EAAO,QAAU,CAACA,EAAO,CAAC,EAAG,CACjE,IAAIO,EAAS,GACbD,EAAW,CAAA,EACX,IAAKH,KAAKjB,EAAMa,CAAK,EACf,KAAK,WAAWI,CAAC,GAAKA,EAAIhB,GAC5BmB,EAAS,KAAK,IAAM,KAAK,WAAWH,CAAC,EAAI,GAAG,EAG5Cb,EAAO,aACTiB,EAAS,wBAA0BpC,EAAW,GAAK;AAAA,EAAQmB,EAAO,aAAY,EAAK;AAAA,YAAiBgB,EAAS,KAAK,IAAI,EAAI,WAAa,KAAK,WAAWR,CAAM,GAAKA,GAAU,IAE5KS,EAAS,wBAA0BpC,EAAW,GAAK,iBAAmB2B,GAAUV,EAAM,eAAiB,KAAO,KAAK,WAAWU,CAAM,GAAKA,GAAU,KAErJ,KAAK,WAAWS,EAAQ,CACtB,KAAMjB,EAAO,MACb,MAAO,KAAK,WAAWQ,CAAM,GAAKA,EAClC,KAAMR,EAAO,SACb,IAAKE,EACL,SAAAc,CACZ,CAAW,CACH,CACA,GAAIN,EAAO,CAAC,YAAa,OAASA,EAAO,OAAS,EAChD,MAAM,IAAI,MAAM,oDAAsDD,EAAQ,YAAcD,CAAM,EAEpG,OAAQE,EAAO,CAAC,EAAC,CACf,IAAK,GACHlB,EAAM,KAAKgB,CAAM,EACjBd,EAAO,KAAKM,EAAO,MAAM,EACzBL,EAAO,KAAKK,EAAO,MAAM,EACzBR,EAAM,KAAKkB,EAAO,CAAC,CAAC,EACpBF,EAAS,KAEP5B,EAASoB,EAAO,OAChBrB,EAASqB,EAAO,OAChBnB,EAAWmB,EAAO,SAClBE,EAAQF,EAAO,OAQjB,MACF,IAAK,GAwBH,GAvBAc,EAAM,KAAK,aAAaJ,EAAO,CAAC,CAAC,EAAE,CAAC,EACpCE,EAAM,EAAIlB,EAAOA,EAAO,OAASoB,CAAG,EACpCF,EAAM,GAAK,CACT,WAAYjB,EAAOA,EAAO,QAAUmB,GAAO,EAAE,EAAE,WAC/C,UAAWnB,EAAOA,EAAO,OAAS,CAAC,EAAE,UACrC,aAAcA,EAAOA,EAAO,QAAUmB,GAAO,EAAE,EAAE,aACjD,YAAanB,EAAOA,EAAO,OAAS,CAAC,EAAE,WACrD,EACgBQ,IACFS,EAAM,GAAG,MAAQ,CACfjB,EAAOA,EAAO,QAAUmB,GAAO,EAAE,EAAE,MAAM,CAAC,EAC1CnB,EAAOA,EAAO,OAAS,CAAC,EAAE,MAAM,CAAC,CACjD,GAEYgB,EAAI,KAAK,cAAc,MAAMC,EAAO,CAClCjC,EACAC,EACAC,EACAoB,EAAY,GACZS,EAAO,CAAC,EACRhB,EACAC,CACd,EAAc,OAAOI,CAAI,CAAC,EACV,OAAOY,EAAM,IACf,OAAOA,EAELG,IACFtB,EAAQA,EAAM,MAAM,EAAG,GAAKsB,EAAM,CAAC,EACnCpB,EAASA,EAAO,MAAM,EAAG,GAAKoB,CAAG,EACjCnB,EAASA,EAAO,MAAM,EAAG,GAAKmB,CAAG,GAEnCtB,EAAM,KAAK,KAAK,aAAakB,EAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1ChB,EAAO,KAAKkB,EAAM,CAAC,EACnBjB,EAAO,KAAKiB,EAAM,EAAE,EACpBG,GAAWnB,EAAMJ,EAAMA,EAAM,OAAS,CAAC,CAAC,EAAEA,EAAMA,EAAM,OAAS,CAAC,CAAC,EACjEA,EAAM,KAAKuB,EAAQ,EACnB,MACF,IAAK,GACH,MAAO,EACnB,CACM,CACA,MAAO,EACT,EAAG,OAAO,CACd,EACMG,EAAyB,UAAW,CACtC,IAAIlB,EAAS,CACX,IAAK,EACL,WAA4BxC,EAAO,SAAoB2B,EAAKC,EAAM,CAChE,GAAI,KAAK,GAAG,OACV,KAAK,GAAG,OAAO,WAAWD,EAAKC,CAAI,MAEnC,OAAM,IAAI,MAAMD,CAAG,CAEvB,EAAG,YAAY,EAEf,SAA0B3B,EAAO,SAAS8B,EAAOR,EAAI,CACnD,YAAK,GAAKA,GAAM,KAAK,IAAM,CAAA,EAC3B,KAAK,OAASQ,EACd,KAAK,MAAQ,KAAK,WAAa,KAAK,KAAO,GAC3C,KAAK,SAAW,KAAK,OAAS,EAC9B,KAAK,OAAS,KAAK,QAAU,KAAK,MAAQ,GAC1C,KAAK,eAAiB,CAAC,SAAS,EAChC,KAAK,OAAS,CACZ,WAAY,EACZ,aAAc,EACd,UAAW,EACX,YAAa,CACvB,EACY,KAAK,QAAQ,SACf,KAAK,OAAO,MAAQ,CAAC,EAAG,CAAC,GAE3B,KAAK,OAAS,EACP,IACT,EAAG,UAAU,EAEb,MAAuB9B,EAAO,UAAW,CACvC,IAAI2D,EAAK,KAAK,OAAO,CAAC,EACtB,KAAK,QAAUA,EACf,KAAK,SACL,KAAK,SACL,KAAK,OAASA,EACd,KAAK,SAAWA,EAChB,IAAIC,EAAQD,EAAG,MAAM,iBAAiB,EACtC,OAAIC,GACF,KAAK,WACL,KAAK,OAAO,aAEZ,KAAK,OAAO,cAEV,KAAK,QAAQ,QACf,KAAK,OAAO,MAAM,CAAC,IAErB,KAAK,OAAS,KAAK,OAAO,MAAM,CAAC,EAC1BD,CACT,EAAG,OAAO,EAEV,MAAuB3D,EAAO,SAAS2D,EAAI,CACzC,IAAIL,EAAMK,EAAG,OACTC,EAAQD,EAAG,MAAM,eAAe,EACpC,KAAK,OAASA,EAAK,KAAK,OACxB,KAAK,OAAS,KAAK,OAAO,OAAO,EAAG,KAAK,OAAO,OAASL,CAAG,EAC5D,KAAK,QAAUA,EACf,IAAIO,EAAW,KAAK,MAAM,MAAM,eAAe,EAC/C,KAAK,MAAQ,KAAK,MAAM,OAAO,EAAG,KAAK,MAAM,OAAS,CAAC,EACvD,KAAK,QAAU,KAAK,QAAQ,OAAO,EAAG,KAAK,QAAQ,OAAS,CAAC,EACzDD,EAAM,OAAS,IACjB,KAAK,UAAYA,EAAM,OAAS,GAElC,IAAIT,EAAI,KAAK,OAAO,MACpB,YAAK,OAAS,CACZ,WAAY,KAAK,OAAO,WACxB,UAAW,KAAK,SAAW,EAC3B,aAAc,KAAK,OAAO,aAC1B,YAAaS,GAASA,EAAM,SAAWC,EAAS,OAAS,KAAK,OAAO,aAAe,GAAKA,EAASA,EAAS,OAASD,EAAM,MAAM,EAAE,OAASA,EAAM,CAAC,EAAE,OAAS,KAAK,OAAO,aAAeN,CAClM,EACY,KAAK,QAAQ,SACf,KAAK,OAAO,MAAQ,CAACH,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAI,KAAK,OAASG,CAAG,GAErD,KAAK,OAAS,KAAK,OAAO,OACnB,IACT,EAAG,OAAO,EAEV,KAAsBtD,EAAO,UAAW,CACtC,YAAK,MAAQ,GACN,IACT,EAAG,MAAM,EAET,OAAwBA,EAAO,UAAW,CACxC,GAAI,KAAK,QAAQ,gBACf,KAAK,WAAa,OAElB,QAAO,KAAK,WAAW,0BAA4B,KAAK,SAAW,GAAK;AAAA,EAAqI,KAAK,eAAgB,CAChO,KAAM,GACN,MAAO,KACP,KAAM,KAAK,QACvB,CAAW,EAEH,OAAO,IACT,EAAG,QAAQ,EAEX,KAAsBA,EAAO,SAAS6C,EAAG,CACvC,KAAK,MAAM,KAAK,MAAM,MAAMA,CAAC,CAAC,CAChC,EAAG,MAAM,EAET,UAA2B7C,EAAO,UAAW,CAC3C,IAAI8D,EAAO,KAAK,QAAQ,OAAO,EAAG,KAAK,QAAQ,OAAS,KAAK,MAAM,MAAM,EACzE,OAAQA,EAAK,OAAS,GAAK,MAAQ,IAAMA,EAAK,OAAO,GAAG,EAAE,QAAQ,MAAO,EAAE,CAC7E,EAAG,WAAW,EAEd,cAA+B9D,EAAO,UAAW,CAC/C,IAAI+D,EAAO,KAAK,MAChB,OAAIA,EAAK,OAAS,KAChBA,GAAQ,KAAK,OAAO,OAAO,EAAG,GAAKA,EAAK,MAAM,IAExCA,EAAK,OAAO,EAAG,EAAE,GAAKA,EAAK,OAAS,GAAK,MAAQ,KAAK,QAAQ,MAAO,EAAE,CACjF,EAAG,eAAe,EAElB,aAA8B/D,EAAO,UAAW,CAC9C,IAAIgE,EAAM,KAAK,UAAS,EACpBC,EAAI,IAAI,MAAMD,EAAI,OAAS,CAAC,EAAE,KAAK,GAAG,EAC1C,OAAOA,EAAM,KAAK,cAAa,EAAK;AAAA,EAAOC,EAAI,GACjD,EAAG,cAAc,EAEjB,WAA4BjE,EAAO,SAASkE,EAAOC,EAAc,CAC/D,IAAIpB,EAAOa,EAAOQ,EAmDlB,GAlDI,KAAK,QAAQ,kBACfA,EAAS,CACP,SAAU,KAAK,SACf,OAAQ,CACN,WAAY,KAAK,OAAO,WACxB,UAAW,KAAK,UAChB,aAAc,KAAK,OAAO,aAC1B,YAAa,KAAK,OAAO,WACvC,EACY,OAAQ,KAAK,OACb,MAAO,KAAK,MACZ,QAAS,KAAK,QACd,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,OAAQ,KAAK,OACb,MAAO,KAAK,MACZ,OAAQ,KAAK,OACb,GAAI,KAAK,GACT,eAAgB,KAAK,eAAe,MAAM,CAAC,EAC3C,KAAM,KAAK,IACvB,EACc,KAAK,QAAQ,SACfA,EAAO,OAAO,MAAQ,KAAK,OAAO,MAAM,MAAM,CAAC,IAGnDR,EAAQM,EAAM,CAAC,EAAE,MAAM,iBAAiB,EACpCN,IACF,KAAK,UAAYA,EAAM,QAEzB,KAAK,OAAS,CACZ,WAAY,KAAK,OAAO,UACxB,UAAW,KAAK,SAAW,EAC3B,aAAc,KAAK,OAAO,YAC1B,YAAaA,EAAQA,EAAMA,EAAM,OAAS,CAAC,EAAE,OAASA,EAAMA,EAAM,OAAS,CAAC,EAAE,MAAM,QAAQ,EAAE,CAAC,EAAE,OAAS,KAAK,OAAO,YAAcM,EAAM,CAAC,EAAE,MACvJ,EACQ,KAAK,QAAUA,EAAM,CAAC,EACtB,KAAK,OAASA,EAAM,CAAC,EACrB,KAAK,QAAUA,EACf,KAAK,OAAS,KAAK,OAAO,OACtB,KAAK,QAAQ,SACf,KAAK,OAAO,MAAQ,CAAC,KAAK,OAAQ,KAAK,QAAU,KAAK,MAAM,GAE9D,KAAK,MAAQ,GACb,KAAK,WAAa,GAClB,KAAK,OAAS,KAAK,OAAO,MAAMA,EAAM,CAAC,EAAE,MAAM,EAC/C,KAAK,SAAWA,EAAM,CAAC,EACvBnB,EAAQ,KAAK,cAAc,KAAK,KAAM,KAAK,GAAI,KAAMoB,EAAc,KAAK,eAAe,KAAK,eAAe,OAAS,CAAC,CAAC,EAClH,KAAK,MAAQ,KAAK,SACpB,KAAK,KAAO,IAEVpB,EACF,OAAOA,EACF,GAAI,KAAK,WAAY,CAC1B,QAAS9C,KAAKmE,EACZ,KAAKnE,CAAC,EAAImE,EAAOnE,CAAC,EAEpB,MAAO,EACT,CACA,MAAO,EACT,EAAG,YAAY,EAEf,KAAsBD,EAAO,UAAW,CACtC,GAAI,KAAK,KACP,OAAO,KAAK,IAET,KAAK,SACR,KAAK,KAAO,IAEd,IAAI+C,EAAOmB,EAAOG,EAAWC,EACxB,KAAK,QACR,KAAK,OAAS,GACd,KAAK,MAAQ,IAGf,QADIC,EAAQ,KAAK,cAAa,EACrBC,EAAI,EAAGA,EAAID,EAAM,OAAQC,IAEhC,GADAH,EAAY,KAAK,OAAO,MAAM,KAAK,MAAME,EAAMC,CAAC,CAAC,CAAC,EAC9CH,IAAc,CAACH,GAASG,EAAU,CAAC,EAAE,OAASH,EAAM,CAAC,EAAE,SAGzD,GAFAA,EAAQG,EACRC,EAAQE,EACJ,KAAK,QAAQ,gBAAiB,CAEhC,GADAzB,EAAQ,KAAK,WAAWsB,EAAWE,EAAMC,CAAC,CAAC,EACvCzB,IAAU,GACZ,OAAOA,EACF,GAAI,KAAK,WAAY,CAC1BmB,EAAQ,GACR,QACF,KACE,OAAO,EAEX,SAAW,CAAC,KAAK,QAAQ,KACvB,MAIN,OAAIA,GACFnB,EAAQ,KAAK,WAAWmB,EAAOK,EAAMD,CAAK,CAAC,EACvCvB,IAAU,GACLA,EAEF,IAEL,KAAK,SAAW,GACX,KAAK,IAEL,KAAK,WAAW,0BAA4B,KAAK,SAAW,GAAK;AAAA,EAA2B,KAAK,eAAgB,CACtH,KAAM,GACN,MAAO,KACP,KAAM,KAAK,QACvB,CAAW,CAEL,EAAG,MAAM,EAET,IAAqB/C,EAAO,UAAe,CACzC,IAAImD,EAAI,KAAK,KAAI,EACjB,OAAIA,GAGK,KAAK,IAAG,CAEnB,EAAG,KAAK,EAER,MAAuBnD,EAAO,SAAeyE,EAAW,CACtD,KAAK,eAAe,KAAKA,CAAS,CACpC,EAAG,OAAO,EAEV,SAA0BzE,EAAO,UAAoB,CACnD,IAAI6C,EAAI,KAAK,eAAe,OAAS,EACrC,OAAIA,EAAI,EACC,KAAK,eAAe,IAAG,EAEvB,KAAK,eAAe,CAAC,CAEhC,EAAG,UAAU,EAEb,cAA+B7C,EAAO,UAAyB,CAC7D,OAAI,KAAK,eAAe,QAAU,KAAK,eAAe,KAAK,eAAe,OAAS,CAAC,EAC3E,KAAK,WAAW,KAAK,eAAe,KAAK,eAAe,OAAS,CAAC,CAAC,EAAE,MAErE,KAAK,WAAW,QAAW,KAEtC,EAAG,eAAe,EAElB,SAA0BA,EAAO,SAAkB6C,EAAG,CAEpD,OADAA,EAAI,KAAK,eAAe,OAAS,EAAI,KAAK,IAAIA,GAAK,CAAC,EAChDA,GAAK,EACA,KAAK,eAAeA,CAAC,EAErB,SAEX,EAAG,UAAU,EAEb,UAA2B7C,EAAO,SAAmByE,EAAW,CAC9D,KAAK,MAAMA,CAAS,CACtB,EAAG,WAAW,EAEd,eAAgCzE,EAAO,UAA0B,CAC/D,OAAO,KAAK,eAAe,MAC7B,EAAG,gBAAgB,EACnB,QAAS,CAAE,mBAAoB,EAAI,EACnC,cAA+BA,EAAO,SAAmBsB,EAAIoD,EAAKC,EAA2BC,EAAU,CAErG,OAAQD,EAAyB,CAC/B,IAAK,GACH,MAAO,GAET,IAAK,GACH,MAAO,GAET,IAAK,GACH,MAAO,GAET,IAAK,GACH,MAAO,GAET,IAAK,GACH,MAAO,GAET,IAAK,GACH,MAAO,IAET,IAAK,GACH,MAAO,IAET,IAAK,GACH,MAAO,GAEnB,CACM,EAAG,WAAW,EACd,MAAO,CAAC,gBAAiB,wBAAyB,mBAAoB,kBAAmB,cAAe,cAAe,eAAgB,SAAS,EAChJ,WAAY,CAAE,QAAW,CAAE,MAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,UAAa,EAAI,CAAE,CACvF,EACI,OAAOnC,CACT,EAAC,EACDtB,EAAQ,MAAQwC,EAChB,SAASmB,GAAS,CAChB,KAAK,GAAK,CAAA,CACZ,CACA,OAAA7E,EAAO6E,EAAQ,QAAQ,EACvBA,EAAO,UAAY3D,EACnBA,EAAQ,OAAS2D,EACV,IAAIA,CACb,EAAC,EACD/E,EAAO,OAASA,EAChB,IAAIgF,GAAmBhF,EAGnBiF,GAAa,KAAM,CACrB,aAAc,CACZ,KAAK,MAAQ,CAAA,EACb,KAAK,MAAQ,KAAK,MAAM,KAAK,IAAI,EACjC,KAAK,QAAU,KAAK,QAAQ,KAAK,IAAI,EACrC,KAAK,QAAU,KAAK,QAAQ,KAAK,IAAI,CACvC,CACA,MAAA,CACE/E,EAAO,KAAM,YAAY,CAC7B,CACE,OAAQ,CACN,KAAK,KAAO,OACZ,KAAK,MAAQ,CAAA,EACb,KAAK,UAAY,OACjBgF,GAAK,CACP,CACA,SAAU,CACR,OAAO,KAAK,IACd,CACA,QAAQC,EAAUC,EAAM,CACtB,MAAMC,EAAQC,GAAe,aAAaF,EAAMG,GAAS,CAAE,EAC3D,GAAI,CAAC,KAAK,KAAM,CACd,KAAK,KAAO,CAAE,KAAMF,EAAO,SAAU,CAAA,CAAE,EACvC,KAAK,MAAQ,CAAC,CAAE,MAAO,EAAG,KAAM,KAAK,KAAM,EAC3CG,GAAgBH,CAAK,EACrB,MACF,CACA,KAAK,YAAcF,EACnB,IAAIM,EAAQN,EAAW,KAAK,UAAY,EAIxC,IAHIM,GAAS,IACXA,EAAQ,GAEH,KAAK,MAAM,OAAS,GAAK,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,OAASA,GACzE,KAAK,MAAM,IAAG,EAEhB,MAAMC,EAAS,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,KAC3CC,EAAO,CAAE,KAAMN,EAAO,SAAU,CAAA,CAAE,EACxCK,EAAO,SAAS,KAAKC,CAAI,EACzB,KAAK,MAAM,KAAK,CAAE,MAAAF,EAAO,KAAAE,CAAI,CAAE,CACjC,CACA,aAAc,CACZ,OAAOC,GAAW,CACpB,CACA,YAAYC,EAAO,CACjBC,GAAYD,CAAK,CACnB,CACA,mBAAoB,CAClB,OAAOE,GAAiB,CAC1B,CACA,kBAAkBC,EAAa,CAC7BC,GAAkBD,CAAW,CAC/B,CACA,iBAAkB,CAChB,OAAOE,GAAe,CACxB,CACA,gBAAgBL,EAAO,CACrBL,GAAgBK,CAAK,CACvB,CACF,EAIIM,GAAoB,GACpBC,EAAoB,IACpBC,GAAY,GACZC,GAAY,GACZC,GAAiB,EACjBC,GAAQ,GAAK,KAAK,GAAK,IACvBC,GAAQ,KAAK,IAAID,EAAK,EACtBE,GAAQ,KAAK,IAAIF,EAAK,EACtBG,GAAqCzG,EAAO,CAAC0G,EAAOC,EAAKC,IAAS,CACpE,MAAMC,EAAOH,EAAM,KAAI,EAAG,QAAO,EAC3BI,EAAID,EAAK,MAAQF,EAAM,EACvBI,EAAIF,EAAK,OAASF,EAAM,EAC9BK,GAAiBN,EAAOK,EAAGD,EAAGF,CAAI,EAClCF,EAAM,KAAK,UAAW,GAAGG,EAAK,EAAIF,CAAG,IAAIE,EAAK,EAAIF,CAAG,IAAIG,CAAC,IAAIC,CAAC,EAAE,CACnE,EAAG,oBAAoB,EACnBE,GAAuBjH,EAAO,CAACkH,EAAOC,EAAIC,EAAUC,IAAa,CAEnE,MAAMC,EADKD,EAAS,GACJ,QAAO,EACvB,GAAI,CAACC,EACH,OAEF,MAAMC,EAAalC,GAAS,EACtB,CAAE,KAAAmC,EAAM,cAAAC,EAAe,eAAAC,CAAc,EAAKH,EAC1CI,EAAWC,GAAcL,EAAW,QAAQ,EAAE,CAAC,GAAKtB,GACpD4B,EAAcL,IAAS,YACvBM,EAASR,EAAK,UAAY,CAAA,EAC1BS,EAAUR,EAAW,UAAU,gBAAkB,GACjDS,EAAcT,EAAW,UAAU,aAAe,GAClDU,EAAMC,GAAiBf,CAAE,EACzBgB,EAAIF,EAAI,OAAO,GAAG,EAAE,KAAK,QAAS,UAAU,EAC5CG,EAAWP,EAAcQ,GAAM,IAAIJ,EAAI,KAAI,CAAE,EAAI,OACjDK,EAAeF,EAAW,CAC9B,SAAAA,EACA,KAAMX,GAAiB,EACvB,UAAWC,GAAgB,WAAa,OACxC,UAAWA,GAAgB,SAAW,MAC1C,EAAM,OACEa,EAAW,kBAAkBpB,CAAE,GAChCU,GACHM,EAAE,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAMI,CAAQ,EAAE,KAAK,UAAW,WAAW,EAAE,KAAK,OAAQ,CAAC,EAAE,KAAK,OAAQ,CAAC,EAAE,KAAK,cAAe,CAAC,EAAE,KAAK,eAAgB,CAAC,EAAE,KAAK,SAAU,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,IAAK,wBAAwB,EAAE,KAAK,QAAS,gBAAgB,EAE7Q,IAAIC,EAAS,EACTC,EAASvC,EACb,MAAMwC,EAAYb,EAAc,OAASc,EAASR,EAAGK,EAAQC,EAAQD,EAAQC,EAAQ,gBAAgB,EAErG,GADAG,GAAST,EAAGK,EAAQC,EAAQnB,EAAK,KAAMK,EAAUW,CAAY,EACzD,CAACR,EAAO,OAAQ,CACdD,GACFc,EAASR,EAAGK,EAAQC,EAAQD,EAAQC,EAAQ,iBAAkBH,CAAY,EAE5E7B,GAAmBwB,EAAKF,EAASC,CAAW,EAC5C,MACF,CACAQ,GAAU,GACV,MAAMK,EAAcf,EAAO,OAAO,CAACgB,EAAGtE,IAAMA,EAAI,IAAM,CAAC,EACjDuE,EAAcjB,EAAO,OAAO,CAACgB,EAAGtE,IAAMA,EAAI,IAAM,CAAC,EACjDwE,EAAaC,GAAUJ,CAAW,EAClCK,EAAaD,GAAUF,CAAW,EAClCI,EAAkBH,EAAW,MAAQE,EAAW,MACtD,IAAIE,EAAWlD,EACXmD,EAAWnD,EACf,GAAIiD,EAAkB,EAAG,CACvB,MAAMG,EAAOpD,EAAoB,EAC3BqD,EAASrD,EAAoB,GACnCkD,EAAW,KAAK,IAAIG,EAAQD,GAAQN,EAAW,MAAQG,EAAgB,EACvEE,EAAW,KAAK,IAAIE,EAAQD,GAAQJ,EAAW,MAAQC,EAAgB,CACzE,CACA,MAAMK,EAAa7B,EAAW,EAC9ByB,EAAW,KAAK,IAAIA,EAAUJ,EAAW,IAAMQ,CAAU,EACzDH,EAAW,KAAK,IAAIA,EAAUH,EAAW,IAAMM,CAAU,EACzDf,EAAS,KAAK,IAAIW,EAAUlD,CAAiB,EACzCwC,GACFA,EAAU,KAAK,KAAMD,CAAM,EAAE,KAAK,KAAMA,CAAM,EAEhDN,EAAE,OAAO,sBAAsB,EAAE,KAAK,YAAa,eAAeM,CAAM,GAAG,EAC3E,MAAMgB,EAAY,KAAK,KAAK3B,EAAO,OAAS,CAAC,EAC7C,QAASzE,EAAI,EAAGA,EAAIoG,EAAWpG,IAAK,CAClC,MAAMqG,EAAKvB,EAAE,OAAO,GAAG,EAAE,KAAK,QAAS,eAAe,EACtD,SAAW,CAACwB,EAAOC,EAAKtG,CAAG,GAAK,CAC9B,CAACwE,EAAOzE,EAAI,CAAC,EAAG,GAAI+F,CAAQ,EAC5B,CAACtB,EAAOzE,EAAI,EAAI,CAAC,EAAG,EAAGgG,CAAQ,CACrC,EACUM,GACFE,GAAWH,EAAIC,EAAOnB,EAAQC,EAAQmB,EAAKtG,EAAKqE,EAAUW,CAAY,EAG1EE,EAASkB,EAAG,UAAU,MAAM,EAAE,MAAK,EAAG,OAAO,CAACI,EAAMjH,IAAM,KAAK,IAAIiH,EAAMjH,EAAE,UAAU,CAAC,EAAG,GAAQ,CACnG,CACA,GAAIgF,EACFc,EAASR,EAAGK,EAAQC,EAAQ,EAAGA,EAAQ,iBAAkBH,CAAY,MAChE,CACLI,EAAU,KAAK,KAAMF,CAAM,EAC3B,MAAMuB,EAAY,QAAQxB,CAAQ,IAClCJ,EAAE,UAAU,gDAAgD,EAAE,KAAK,eAAgB4B,CAAS,CAC9F,CACAtD,GAAmBwB,EAAKF,EAASC,CAAW,CAC9C,EAAG,MAAM,EACLiB,GAA4BjJ,EAAQgK,GAAU,CAChD,MAAMC,EAAmCjK,EAAQyF,GAASA,EAAK,SAAS,OAAO,CAACyE,EAAKC,IAAUD,EAAM,EAAID,EAAiBE,CAAK,EAAG,CAAC,EAAG,kBAAkB,EACxJ,OAAOH,EAAM,OACX,CAACI,EAAO3E,IAAS,CACf,MAAM4E,EAAcJ,EAAiBxE,CAAI,EACzC,OAAA2E,EAAM,OAASC,EACfD,EAAM,IAAM,KAAK,IAAIA,EAAM,IAAKC,CAAW,EACpCD,CACT,EACA,CAAE,MAAO,EAAG,IAAK,CAAC,CACtB,CACA,EAAG,WAAW,EACVxB,GAA2B5I,EAAO,CAACiI,EAAKqC,EAAGC,EAAGpF,EAAOwC,EAAUW,IAAiB,CAClF,MAAMkC,EAAW,KAAK,IAAI,EAAG,KAAK,MAAM,KAAO7C,EAAW,GAAI,CAAC,EACzD8C,EAAYxC,EAAI,OAAO,GAAG,EAAE,KAAK,QAAS,qBAAqB,EAAE,KAAK,YAAa,aAAaqC,CAAC,IAAIC,CAAC,GAAG,EACzGG,EAASC,EACbF,EACAG,GAASzF,EAAOqF,CAAQ,EACxB,EACA,EACA,sBACA,QACA7C,CACJ,EACQkD,EAAKH,EAAO,KAAI,EAAG,QAAO,EAC1B5D,EAAI,KAAK,IAAI,GAAI+D,EAAG,MAAQ,CAAC,EAC7B9D,EAAI,KAAK,IAAI,GAAI8D,EAAG,OAAS,EAAI,EAAE,EACnCC,EAAW,OAAO,CAAC/D,EAAI,CAAC,QAAQA,EAAI,CAAC,MAAMD,EAAI,GAAG,QAAQ,CAACC,EAAI,CAAC,KACtE,GAAIuB,EAAc,CAChB,MAAMyC,EAAYzC,EAAa,SAAS,KAAKwC,EAAU,CACrD,UAAW,IACX,KAAMxC,EAAa,KACnB,KAAMA,EAAa,UACnB,UAAW,UACX,WAAY,IACZ,WAAY,EACZ,OAAQA,EAAa,UACrB,YAAa,CACnB,CAAK,EACDmC,EAAU,OAAO,IAAMM,EAAW,cAAc,EAAE,KAAK,QAAS,eAAe,CACjF,MACEN,EAAU,OAAO,OAAQ,cAAc,EAAE,KAAK,QAAS,eAAe,EAAE,KAAK,IAAKK,CAAQ,EAE5FJ,EAAO,KAAK,YAAa,cAAc5D,EAAI+D,EAAG,OAAS,EAAIA,EAAG,EAAI,CAAC,IAAI,CAACA,EAAG,EAAIA,EAAG,OAAS,CAAC,GAAG,CACjG,EAAG,UAAU,EACTG,GAA8BhL,EAAO,CAACiL,EAAUC,IAAc,CAChE,MAAMC,EAAU,CAAA,EACVC,EAAS,CAAA,EACTC,EAAuBrL,EAAO,CAACgK,EAAOsB,EAAKC,IAAU,CACzD,MAAMC,EAAUN,IAAc,GAAK,CAAC,GAAGlB,CAAK,EAAE,QAAO,EAAKA,EAC1D,UAAWG,KAASqB,EAAS,CAC3B,MAAMC,EAAMN,EAAQ,OACdO,EAAKvB,EAAM,UAAY,CAAA,EAC7BgB,EAAQ,KAAK,CACX,MAAAI,EACA,KAAMX,GAAST,EAAM,KAAM,EAAE,EAC7B,YAAamB,EACb,WAAYI,EAAG,MACvB,CAAO,EACGH,EAAQ,IAAM,GAChBH,EAAO,KAAKK,CAAG,EACXC,EAAG,QACLL,EAAKK,EAAID,EAAKF,EAAQ,CAAC,IAGrBG,EAAG,QACLL,EAAKK,EAAID,EAAKF,EAAQ,CAAC,EAEzBH,EAAO,KAAKK,CAAG,EAEnB,CACF,EAAG,MAAM,EACT,OAAAJ,EAAKJ,EAAU,GAAI,CAAC,EACb,CAAE,QAAAE,EAAS,OAAAC,CAAM,CAC1B,EAAG,aAAa,EACZO,GAAiC3L,EAAO,CAACiI,EAAK/C,EAAMoF,EAAGC,EAAGW,EAAWvD,EAAUW,IAAiB,CAClG,MAAMsD,EAAK3D,EAAI,OAAO,GAAG,EAAE,KAAK,QAAS,sBAAsB,EAUzD4C,EATKF,EACTiB,EACA1G,EACAoF,EACAC,EAAI,GAAKW,EACT,uBACA,SACAvD,CACJ,EACgB,KAAI,EAAG,QAAO,EAC5B,GAAIW,EAAc,CAChB,MAAMyC,EAAYzC,EAAa,SAAS,UACtCuC,EAAG,EAAI,GACPA,EAAG,EAAI,EACPA,EAAG,MAAQ,GACXA,EAAG,OAAS,EACZ,CACE,UAAW,IACX,KAAMvC,EAAa,KACnB,KAAMA,EAAa,UACnB,UAAW,UACX,WAAY,IACZ,WAAY,EACZ,OAAQA,EAAa,UACrB,YAAa,CACrB,CACA,EACIsD,EAAG,OAAO,IAAMb,EAAW,cAAc,EAAE,KAAK,QAAS,oBAAoB,CAC/E,MACEa,EAAG,OAAO,OAAQ,cAAc,EAAE,KAAK,QAAS,oBAAoB,EAAE,KAAK,IAAKf,EAAG,EAAI,EAAE,EAAE,KAAK,IAAKA,EAAG,EAAI,CAAC,EAAE,KAAK,QAASA,EAAG,MAAQ,EAAE,EAAE,KAAK,SAAUA,EAAG,OAAS,CAAC,CAE5K,EAAG,gBAAgB,EACfgB,EAAkC7L,EAAO,CAACmI,EAAGmC,EAAGC,EAAGuB,EAAIC,EAAIzD,IAAiB,CAC9E,MAAMhF,EAAM,KAAK,KAAKwI,EAAKA,EAAKC,EAAKA,CAAE,EACvC,GAAIzI,IAAQ,EACV,OAEF,MAAM0I,EAAKF,EAAKxI,EACV2I,EAAKF,EAAKzI,EACV4I,EAAI,EACJC,EAAK,CAACF,EAAKC,EACXE,EAAKJ,EAAKE,EACVG,EAAO/B,EACPgC,EAAO/B,EACPgC,EAAI,KAAKF,CAAI,IAAIC,CAAI,MAAMD,EAAOL,EAAKE,EAAI,EAAIC,CAAE,IAAIG,EAAOL,EAAKC,EAAI,EAAIE,CAAE,MAAMC,EAAOL,EAAKE,EAAI,EAAIC,CAAE,IAAIG,EAAOL,EAAKC,EAAI,EAAIE,CAAE,KACjIrB,EAAYzC,EAAa,SAAS,KAAKiE,EAAG,CAC9C,UAAW,EACX,KAAMjE,EAAa,KACnB,KAAMA,EAAa,UACnB,UAAW,QACX,OAAQA,EAAa,UACrB,YAAa,CACjB,CAAG,EACDH,EAAE,OAAO,IAAM4C,CAAS,CAC1B,EAAG,iBAAiB,EAChBlB,GAA6B7J,EAAO,CAACiI,EAAKxC,EAAM+G,EAAQC,EAAQvB,EAAWwB,EAAQ/E,EAAUW,IAAiB,CAChH,MAAM2C,EAAWxF,EAAK,UAAY,CAAA,EAC5BkH,EAAUD,GAAUzB,EAAS,OAAS,EAAI,IAC1Ca,EAAK,CAACvF,GAAQoG,EACdZ,EAAKvF,GAAQmG,EAAUzB,EACvB0B,EAAOJ,EAASV,EAChBe,EAAOJ,EAASV,EAMtB,GALApD,EAASV,EAAKuE,EAAQC,EAAQG,EAAMC,EAAM,kBAAmBvE,CAAY,EACrEA,GACFuD,EAAgB5D,EAAKuE,EAAQC,EAAQD,EAASI,EAAMH,EAASI,EAAMvE,CAAY,EAEjFqD,GAAe1D,EAAKxC,EAAK,KAAMmH,EAAMC,EAAM3B,EAAWvD,EAAUW,CAAY,EACxE,CAAC2C,EAAS,OACZ,OAEF,KAAM,CAAE,QAAAE,EAAS,OAAAC,CAAM,EAAKJ,GAAYC,EAAUC,CAAS,EACrD4B,EAAa3B,EAAQ,OACrB4B,EAAK,IAAI,MAAMD,CAAU,EAC/B,SAAW,CAACE,EAAMC,CAAQ,IAAK7B,EAAO,QAAO,EAC3C2B,EAAGE,CAAQ,EAAIR,EAASV,IAAOiB,EAAO,IAAMF,EAAa,IAE3D,MAAMI,EAAwB,IAAI,IAClCA,EAAM,IAAI,GAAI,CACZ,GAAIV,EACJ,GAAIC,EACJ,GAAIG,EACJ,GAAIC,EACJ,WAAY5B,EAAS,OACrB,cAAe,CACnB,CAAG,EACD,MAAMkC,EAAY,CAAC5G,GACb6G,EAAY5G,GAAQ0E,EACpBmC,EAAWnC,EAAY,EAAI,oBAAsB,sBACvD,SAAW,CAAC1G,EAAG8I,CAAC,IAAKnC,EAAQ,QAAO,EAAI,CACtC,MAAMZ,EAAIwC,EAAGvI,CAAC,EACR+I,EAAML,EAAM,IAAII,EAAE,WAAW,EAC7BE,EAAMvF,EAAI,OAAO,GAAG,EAAE,KAAK,QAAS,oBAAoB,EAC9D,IAAIwF,EAAM,EACNC,EAAM,EACNC,EAAM,EACV,GAAIL,EAAE,MAAQ,IAAM,EAAG,CACrB,MAAMM,EAAML,EAAI,GAAKA,EAAI,GACzBE,EAAMI,GAAKN,EAAI,GAAIA,EAAI,GAAIK,GAAOrD,EAAIgD,EAAI,IAAMK,EAAM,EAAG,EACzDF,EAAMnD,EACNoD,EAAMF,GAAOH,EAAE,WAAa,EAAIlH,GAAYkH,EAAE,WAAajH,GAAiBF,IAC5EwC,EAAS6E,EAAKC,EAAKlD,EAAGoD,EAAKpD,EAAG,sBAAuBjC,CAAY,EAC7DA,GACFuD,EAAgB2B,EAAKC,EAAKlD,EAAG,EAAG,EAAGjC,CAAY,EAEjDqC,EAAkB6C,EAAKF,EAAE,KAAMK,EAAKpD,EAAG,uBAAwB,MAAO5C,CAAQ,CAChF,KAAO,CACL,MAAM1H,EAAIsN,EAAI,gBACdE,EAAMI,GAAKN,EAAI,GAAIA,EAAI,IAAKA,EAAI,WAAatN,IAAMsN,EAAI,WAAa,EAAE,EACtEG,EAAMH,EAAI,GACVI,EAAMF,EAAMN,IAAc5C,EAAImD,GAAON,GACrCzE,EAAS6E,EAAKC,EAAKC,EAAKC,EAAKpD,EAAG,sBAAuBjC,CAAY,EAC/DA,GACFuD,EAAgB2B,EAAKC,EAAKC,EAAKD,EAAME,EAAKD,EAAMnD,EAAGjC,CAAY,EAEjEqC,EAAkB6C,EAAKF,EAAE,KAAMK,EAAKpD,EAAG8C,EAAU,MAAO1F,CAAQ,CAClE,CACI2F,EAAE,WAAa,GACjBJ,EAAM,IAAI1I,EAAG,CACX,GAAIiJ,EACJ,GAAIC,EACJ,GAAIC,EACJ,GAAIpD,EACJ,WAAY+C,EAAE,WACd,cAAe,CACvB,CAAO,CAEL,CACF,EAAG,YAAY,EACXQ,GAA6B9N,EAAQkF,GAASA,EAAK,MAAM,eAAe,EAAG,YAAY,EACvF0F,GAA2B5K,EAAO,CAACkF,EAAMsF,IAAa,CACxD,GAAItF,EAAK,QAAUsF,EACjB,OAAOtF,EAET,MAAMtB,EAAQ,CAAA,EACd,UAAWmK,KAAQ7I,EAAK,MAAM,KAAK,EAAG,CACpC,MAAM8I,EAAOpK,EAAM,OAAS,EACxBoK,GAAQ,GAAKpK,EAAMoK,CAAI,EAAE,OAAS,EAAID,EAAK,QAAUvD,EACvD5G,EAAMoK,CAAI,GAAK,IAAMD,EAErBnK,EAAM,KAAKmK,CAAI,CAEnB,CACA,OAAOnK,EAAM,KAAK;AAAA,CAAI,CACxB,EAAG,UAAU,EACT+G,EAAoC3K,EAAO,CAACmI,EAAGjD,EAAMoF,EAAGC,EAAG0D,EAAKC,EAAQvG,IAAa,CACvF,MAAM/D,EAAQkK,GAAW5I,CAAI,EACvBiJ,EAAKxG,EAAW,KAChByG,EAAKjG,EAAE,OAAO,MAAM,EAAE,KAAK,QAAS8F,CAAG,EAAE,KAAK,cAAeC,CAAM,EAAE,KAAK,IAAK5D,CAAC,EAAE,KAAK,IAAKC,GAAK3G,EAAM,OAAS,GAAKuK,EAAK,CAAC,EACjI,SAAW,CAAC3J,EAAG6J,CAAI,IAAKzK,EAAM,QAAO,EACnCwK,EAAG,OAAO,OAAO,EAAE,KAAK,IAAK9D,CAAC,EAAE,KAAK,KAAM9F,IAAM,EAAI,EAAI2J,CAAE,EAAE,KAAKE,CAAI,EAExE,OAAOD,CACT,EAAG,mBAAmB,EAClBP,GAAuB7N,EAAO,CAACsO,EAAGC,EAAGC,IAAMF,GAAKC,EAAID,GAAKE,EAAG,MAAM,EAClE7F,EAA2B3I,EAAO,CAACmI,EAAGsG,EAAIC,EAAIC,EAAIC,EAAIX,EAAK3F,IAAiB,CAC9E,GAAIA,EAAc,CAChB,MAAMyC,EAAYzC,EAAa,SAAS,KAAKmG,EAAIC,EAAIC,EAAIC,EAAI,CAC3D,UAAW,IACX,KAAMtG,EAAa,KACnB,OAAQA,EAAa,UACrB,YAAa,CACnB,CAAK,EACDH,EAAE,OAAO,IAAM4C,CAAS,EAAE,KAAK,QAASkD,CAAG,EAC3C,MACF,CACA,OAAO9F,EAAE,OAAO,MAAM,EAAE,KAAK,QAAS8F,CAAG,EAAE,KAAK,KAAMQ,CAAE,EAAE,KAAK,KAAMC,CAAE,EAAE,KAAK,KAAMC,CAAE,EAAE,KAAK,KAAMC,CAAE,CACvG,EAAG,UAAU,EACTC,GAAW,CAAE,KAAA5H,EAAI,EAGjB6H,GAA4B9O,EAAQ+O,GAAY;AAAA;AAAA;AAAA;AAAA,YAIxCA,EAAQ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAUnBA,EAAQ,SAAS;AAAA;AAAA;AAAA;AAAA,UAIjBA,EAAQ,OAAO;AAAA,YACbA,EAAQ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,UAKnBA,EAAQ,OAAO;AAAA,YACbA,EAAQ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKZA,EAAQ,UAAU;AAAA,eACpBA,EAAQ,QAAQ;AAAA,UACrBA,EAAQ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BxB,WAAW,EACVC,GAAyBF,GAGzBG,GAAU,CACZ,OAAQnK,GACR,IAAI,IAAK,CACP,OAAO,IAAIC,EACb,EACA,SAAA8J,GACA,OAAQG,EACV","x_google_ignoreList":[0]}
@@ -0,0 +1,140 @@
1
+ import{g as gt}from"./chunk-5VM5RSS4-Vmzi7LBN.js";import{a as mt,g as lt,h as xt,d as kt}from"./chunk-2GRJ4B5K-D3TYelbp.js";import{g as _t,s as vt,a as bt,b as wt,o as Tt,n as St,_ as s,c as R,d as G,e as $t,p as Mt}from"./mermaid.core-DTdyJUyZ.js";import{d as it}from"./arc-DkAjpDRH.js";import"./index-Cce6sBBo.js";var U=function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var X="";z=[];for(N in v[A])this.terminals_[N]&&N>yt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?X="Parse error on line "+(C+1)+`:
2
+ `+_.showPosition()+`
3
+ Expecting `+z.join(", ")+", got '"+(this.terminals_[b]||b)+"'":X="Parse error on line "+(C+1)+": Unexpected "+(b==D?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(X,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:Y,expected:z})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(T[0]){case 1:l.push(b),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),b=null,Q=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=d[d.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},ft&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),q=this.performAction.apply(F,[k,Q,C,I.yy,T[1],d,c].concat(dt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),d=d.slice(0,-1*M),c=c.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),d.push(F.$),c.push(F._$),et=v[l[l.length-2]][l[l.length-1]],l.push(et);break;case 3:return!0}}return!0},"parse")},m=function(){var h={EOF:1,parseError:s(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:s(function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var n=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
5
+ `+n+"^"},"showPosition"),test_match:s(function(r,n){var l,y,d;if(this.options.backtrack_lexer&&(d={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(d.yylloc.range=this.yylloc.range.slice(0))),y=r[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],l=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var c in d)this[c]=d[c];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,n,l,y;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),c=0;c<d.length;c++)if(l=this._input.match(this.rules[d[c]]),l&&(!n||l[0].length>n[0].length)){if(n=l,y=c,this.options.backtrack_lexer){if(r=this.test_match(l,d[c]),r!==!1)return r;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(r=this.test_match(n,d[y]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var n=this.next();return n||this.lex()},"lex"),begin:s(function(n){this.conditionStack.push(n)},"begin"),popState:s(function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:s(function(n){this.begin(n)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(n,l,y,d){switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return h}();g.lexer=m;function x(){this.yy={}}return s(x,"Parser"),x.prototype=g,g.Parser=x,new x}();U.parser=U;var Et=U,V="",J=[],L=[],B=[],Ct=s(function(){J.length=0,L.length=0,V="",B.length=0,Mt()},"clear"),Pt=s(function(t){V=t,J.push(t)},"addSection"),It=s(function(){return J},"getSections"),At=s(function(){let t=rt();const e=100;let a=0;for(;!t&&a<e;)t=rt(),a++;return L.push(...B),L},"getTasks"),Ft=s(function(){const t=[];return L.forEach(a=>{a.people&&t.push(...a.people)}),[...new Set(t)].sort()},"updateActors"),Vt=s(function(t,e){const a=e.substr(1).split(":");let f=0,i=[];a.length===1?(f=Number(a[0]),i=[]):(f=Number(a[0]),i=a[1].split(","));const u=i.map(o=>o.trim()),p={section:V,type:V,people:u,task:t,score:f};B.push(p)},"addTask"),Rt=s(function(t){const e={section:V,type:V,description:t,task:t,classes:[]};L.push(e)},"addTaskOrg"),rt=s(function(){const t=s(function(a){return B[a].processed},"compileTask");let e=!0;for(const[a,f]of B.entries())t(a),e=e&&f.processed;return e},"compileTasks"),Lt=s(function(){return Ft()},"getActors"),nt={getConfig:s(()=>R().journey,"getConfig"),clear:Ct,setDiagramTitle:St,getDiagramTitle:Tt,setAccTitle:wt,getAccTitle:bt,setAccDescription:vt,getAccDescription:_t,addSection:Pt,getSections:It,getTasks:At,addTask:Vt,addTaskOrg:Rt,getActors:Lt},Bt=s(t=>`.label {
7
+ font-family: ${t.fontFamily};
8
+ color: ${t.textColor};
9
+ }
10
+ .mouth {
11
+ stroke: #666;
12
+ }
13
+
14
+ line {
15
+ stroke: ${t.textColor}
16
+ }
17
+
18
+ .legend {
19
+ fill: ${t.textColor};
20
+ font-family: ${t.fontFamily};
21
+ }
22
+
23
+ .label text {
24
+ fill: #333;
25
+ }
26
+ .label {
27
+ color: ${t.textColor}
28
+ }
29
+
30
+ .face {
31
+ ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};
32
+ stroke: #999;
33
+ }
34
+
35
+ .node rect,
36
+ .node circle,
37
+ .node ellipse,
38
+ .node polygon,
39
+ .node path {
40
+ fill: ${t.mainBkg};
41
+ stroke: ${t.nodeBorder};
42
+ stroke-width: 1px;
43
+ }
44
+
45
+ .node .label {
46
+ text-align: center;
47
+ }
48
+ .node.clickable {
49
+ cursor: pointer;
50
+ }
51
+
52
+ .arrowheadPath {
53
+ fill: ${t.arrowheadColor};
54
+ }
55
+
56
+ .edgePath .path {
57
+ stroke: ${t.lineColor};
58
+ stroke-width: 1.5px;
59
+ }
60
+
61
+ .flowchart-link {
62
+ stroke: ${t.lineColor};
63
+ fill: none;
64
+ }
65
+
66
+ .edgeLabel {
67
+ background-color: ${t.edgeLabelBackground};
68
+ rect {
69
+ opacity: 0.5;
70
+ }
71
+ text-align: center;
72
+ }
73
+
74
+ .cluster rect {
75
+ }
76
+
77
+ .cluster text {
78
+ fill: ${t.titleColor};
79
+ }
80
+
81
+ div.mermaidTooltip {
82
+ position: absolute;
83
+ text-align: center;
84
+ max-width: 200px;
85
+ padding: 2px;
86
+ font-family: ${t.fontFamily};
87
+ font-size: 12px;
88
+ background: ${t.tertiaryColor};
89
+ border: 1px solid ${t.border2};
90
+ border-radius: 2px;
91
+ pointer-events: none;
92
+ z-index: 100;
93
+ }
94
+
95
+ .task-type-0, .section-type-0 {
96
+ ${t.fillType0?`fill: ${t.fillType0}`:""};
97
+ }
98
+ .task-type-1, .section-type-1 {
99
+ ${t.fillType0?`fill: ${t.fillType1}`:""};
100
+ }
101
+ .task-type-2, .section-type-2 {
102
+ ${t.fillType0?`fill: ${t.fillType2}`:""};
103
+ }
104
+ .task-type-3, .section-type-3 {
105
+ ${t.fillType0?`fill: ${t.fillType3}`:""};
106
+ }
107
+ .task-type-4, .section-type-4 {
108
+ ${t.fillType0?`fill: ${t.fillType4}`:""};
109
+ }
110
+ .task-type-5, .section-type-5 {
111
+ ${t.fillType0?`fill: ${t.fillType5}`:""};
112
+ }
113
+ .task-type-6, .section-type-6 {
114
+ ${t.fillType0?`fill: ${t.fillType6}`:""};
115
+ }
116
+ .task-type-7, .section-type-7 {
117
+ ${t.fillType0?`fill: ${t.fillType7}`:""};
118
+ }
119
+
120
+ .actor-0 {
121
+ ${t.actor0?`fill: ${t.actor0}`:""};
122
+ }
123
+ .actor-1 {
124
+ ${t.actor1?`fill: ${t.actor1}`:""};
125
+ }
126
+ .actor-2 {
127
+ ${t.actor2?`fill: ${t.actor2}`:""};
128
+ }
129
+ .actor-3 {
130
+ ${t.actor3?`fill: ${t.actor3}`:""};
131
+ }
132
+ .actor-4 {
133
+ ${t.actor4?`fill: ${t.actor4}`:""};
134
+ }
135
+ .actor-5 {
136
+ ${t.actor5?`fill: ${t.actor5}`:""};
137
+ }
138
+ ${gt()}
139
+ `,"getStyles"),jt=Bt,K=s(function(t,e){return kt(t,e)},"drawRect"),Nt=s(function(t,e){const f=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function u(g){const m=it().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);g.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}s(u,"smile");function p(g){const m=it().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);g.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}s(p,"sad");function o(g){g.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s(o,"ambivalent"),e.score>3?u(i):e.score<3?p(i):o(i),f},"drawFace"),ot=s(function(t,e){const a=t.append("circle");return a.attr("cx",e.cx),a.attr("cy",e.cy),a.attr("class","actor-"+e.pos),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("r",e.r),a.class!==void 0&&a.attr("class",a.class),e.title!==void 0&&a.append("title").text(e.title),a},"drawCircle"),ct=s(function(t,e){return xt(t,e)},"drawText"),zt=s(function(t,e){function a(i,u,p,o,g){return i+","+u+" "+(i+p)+","+u+" "+(i+p)+","+(u+o-g)+" "+(i+p-g*1.2)+","+(u+o)+" "+i+","+(u+o)}s(a,"genPoints");const f=t.append("polygon");f.attr("points",a(e.x,e.y,50,20,7)),f.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,ct(t,e)},"drawLabel"),Wt=s(function(t,e,a){const f=t.append("g"),i=lt();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=a.width*e.taskCount+a.diagramMarginX*(e.taskCount-1),i.height=a.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,K(f,i),ht(a)(e.text,f,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},a,e.colour)},"drawSection"),Z=-1,Ot=s(function(t,e,a,f){const i=e.x+a.width/2,u=t.append("g");Z++;const p=300+5*30;u.append("line").attr("id",f+"-task"+Z).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",p).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Nt(u,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=lt();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=a.width,o.height=a.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,K(u,o);let g=e.x+14;e.people.forEach(m=>{const x=e.actors[m].color,h={cx:g,cy:e.y,r:7,fill:x,stroke:"#000",title:m,pos:e.actors[m].position};ot(u,h),g+=10}),ht(a)(e.task,u,o.x,o.y,o.width,o.height,{class:"task"},a,e.colour)},"drawTask"),Yt=s(function(t,e){mt(t,e)},"drawBackgroundRect"),ht=function(){function t(i,u,p,o,g,m,x,h){const r=u.append("text").attr("x",p+g/2).attr("y",o+m/2+5).style("font-color",h).style("text-anchor","middle").text(i);f(r,x)}s(t,"byText");function e(i,u,p,o,g,m,x,h,r){const{taskFontSize:n,taskFontFamily:l}=h,y=i.split(/<br\s*\/?>/gi);for(let d=0;d<y.length;d++){const c=d*n-n*(y.length-1)/2,v=u.append("text").attr("x",p+g/2).attr("y",o).attr("fill",r).style("text-anchor","middle").style("font-size",n).style("font-family",l);v.append("tspan").attr("x",p+g/2).attr("dy",c).text(y[d]),v.attr("y",o+m/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),f(v,x)}}s(e,"byTspan");function a(i,u,p,o,g,m,x,h){const r=u.append("switch"),l=r.append("foreignObject").attr("x",p).attr("y",o).attr("width",g).attr("height",m).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),e(i,r,p,o,g,m,x,h),f(l,x)}s(a,"byFo");function f(i,u){for(const p in u)p in u&&i.attr(p,u[p])}return s(f,"_setTextAttrs"),function(i){return i.textPlacement==="fo"?a:i.textPlacement==="old"?t:e}}(),qt=s(function(t,e){Z=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),j={drawRect:K,drawCircle:ot,drawSection:Wt,drawText:ct,drawLabel:zt,drawTask:Ot,drawBackgroundRect:Yt,initGraphics:qt},Xt=s(function(t){Object.keys(t).forEach(function(a){$[a]=t[a]})},"setConf"),E={},W=0;function ut(t){const e=R().journey,a=e.maxLabelWidth;W=0;let f=60;Object.keys(E).forEach(i=>{const u=E[i].color,p={cx:20,cy:f,r:7,fill:u,stroke:"#000",pos:E[i].position};j.drawCircle(t,p);let o=t.append("text").attr("visibility","hidden").text(i);const g=o.node().getBoundingClientRect().width;o.remove();let m=[];if(g<=a)m=[i];else{const x=i.split(" ");let h="";o=t.append("text").attr("visibility","hidden"),x.forEach(r=>{const n=h?`${h} ${r}`:r;if(o.text(n),o.node().getBoundingClientRect().width>a){if(h&&m.push(h),h=r,o.text(r),o.node().getBoundingClientRect().width>a){let y="";for(const d of r)y+=d,o.text(y+"-"),o.node().getBoundingClientRect().width>a&&(m.push(y.slice(0,-1)+"-"),y=d);h=y}}else h=n}),h&&m.push(h),o.remove()}m.forEach((x,h)=>{const r={x:40,y:f+7+h*20,fill:"#666",text:x,textMargin:e.boxTextMargin??5},l=j.drawText(t,r).node().getBoundingClientRect().width;l>W&&l>e.leftMargin-l&&(W=l)}),f+=Math.max(20,m.length*20)})}s(ut,"drawActorLegend");var $=R().journey,P=0,Gt=s(function(t,e,a,f){const i=R(),u=i.journey.titleColor,p=i.journey.titleFontSize,o=i.journey.titleFontFamily,g=i.securityLevel;let m;g==="sandbox"&&(m=G("#i"+e));const x=g==="sandbox"?G(m.nodes()[0].contentDocument.body):G("body");S.init();const h=x.select("#"+e);j.initGraphics(h,e);const r=f.db.getTasks(),n=f.db.getDiagramTitle(),l=f.db.getActors();for(const C in E)delete E[C];let y=0;l.forEach(C=>{E[C]={color:$.actorColours[y%$.actorColours.length],position:y},y++}),ut(h),P=$.leftMargin+W,S.insert(0,0,P,Object.keys(E).length*50),Ht(h,r,0,e);const d=S.getBounds();n&&h.append("text").text(n).attr("x",P).attr("font-size",p).attr("font-weight","bold").attr("y",25).attr("fill",u).attr("font-family",o);const c=d.stopy-d.starty+2*$.diagramMarginY,v=P+d.stopx+2*$.diagramMarginX;$t(h,c,v,$.useMaxWidth),h.append("line").attr("x1",P).attr("y1",$.height*4).attr("x2",v-P-4).attr("y2",$.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const k=n?70:0;h.attr("viewBox",`${d.startx} -25 ${v} ${c+k}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",c+k+25)},"draw"),S={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:s(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:s(function(t,e,a,f){t[e]===void 0?t[e]=a:t[e]=f(a,t[e])},"updateVal"),updateBounds:s(function(t,e,a,f){const i=R().journey,u=this;let p=0;function o(g){return s(function(x){p++;const h=u.sequenceItems.length-p+1;u.updateVal(x,"starty",e-h*i.boxMargin,Math.min),u.updateVal(x,"stopy",f+h*i.boxMargin,Math.max),u.updateVal(S.data,"startx",t-h*i.boxMargin,Math.min),u.updateVal(S.data,"stopx",a+h*i.boxMargin,Math.max),g!=="activation"&&(u.updateVal(x,"startx",t-h*i.boxMargin,Math.min),u.updateVal(x,"stopx",a+h*i.boxMargin,Math.max),u.updateVal(S.data,"starty",e-h*i.boxMargin,Math.min),u.updateVal(S.data,"stopy",f+h*i.boxMargin,Math.max))},"updateItemBounds")}s(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:s(function(t,e,a,f){const i=Math.min(t,a),u=Math.max(t,a),p=Math.min(e,f),o=Math.max(e,f);this.updateVal(S.data,"startx",i,Math.min),this.updateVal(S.data,"starty",p,Math.min),this.updateVal(S.data,"stopx",u,Math.max),this.updateVal(S.data,"stopy",o,Math.max),this.updateBounds(i,p,u,o)},"insert"),bumpVerticalPos:s(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:s(function(){return this.verticalPos},"getVerticalPos"),getBounds:s(function(){return this.data},"getBounds")},H=$.sectionFills,st=$.sectionColours,Ht=s(function(t,e,a,f){const i=R().journey;let u="";const p=i.height*2+i.diagramMarginY,o=a+p;let g=0,m="#CCC",x="black",h=0;for(const[r,n]of e.entries()){if(u!==n.section){m=H[g%H.length],h=g%H.length,x=st[g%st.length];let y=0;const d=n.section;for(let v=r;v<e.length&&e[v].section==d;v++)y=y+1;const c={x:r*i.taskMargin+r*i.width+P,y:50,text:n.section,fill:m,num:h,colour:x,taskCount:y};j.drawSection(t,c,i),u=n.section,g++}const l=n.people.reduce((y,d)=>(E[d]&&(y[d]=E[d]),y),{});n.x=r*i.taskMargin+r*i.width+P,n.y=o,n.width=i.diagramMarginX,n.height=i.diagramMarginY,n.colour=x,n.fill=m,n.num=h,n.actors=l,j.drawTask(t,n,i,f),S.insert(n.x,n.y,n.x+n.width+i.taskMargin,300+5*30)}},"drawTasks"),at={setConf:Xt,draw:Gt},Dt={parser:Et,db:nt,renderer:at,styles:jt,init:s(t=>{at.setConf(t.journey),nt.clear()},"init")};export{Dt as diagram};
140
+ //# sourceMappingURL=journeyDiagram-NVQOT4AX-CEMc0cFh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journeyDiagram-NVQOT4AX-CEMc0cFh.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-NVQOT4AX.mjs"],"sourcesContent":["import {\n getIconStyles\n} from \"./chunk-5VM5RSS4.mjs\";\nimport {\n drawBackgroundRect,\n drawRect,\n drawText,\n getNoteRect\n} from \"./chunk-2GRJ4B5K.mjs\";\nimport {\n clear,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-I66GZJ75.mjs\";\nimport \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/user-journey/parser/journey.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 11, 12, 14, 16, 17, 18], $V1 = [1, 9], $V2 = [1, 10], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 14];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"journey\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NEWLINE\": 10, \"title\": 11, \"acc_title\": 12, \"acc_title_value\": 13, \"acc_descr\": 14, \"acc_descr_value\": 15, \"acc_descr_multiline_value\": 16, \"section\": 17, \"taskName\": 18, \"taskData\": 19, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"journey\", 6: \"EOF\", 8: \"SPACE\", 10: \"NEWLINE\", 11: \"title\", 12: \"acc_title\", 13: \"acc_title_value\", 14: \"acc_descr\", 15: \"acc_descr_value\", 16: \"acc_descr_multiline_value\", 17: \"section\", 18: \"taskName\", 19: \"taskData\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 2]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 10:\n case 11:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 12:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 13:\n yy.addTask($$[$0 - 1], $$[$0]);\n this.$ = \"task\";\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 15, 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), { 13: [1, 16] }, { 15: [1, 17] }, o($V0, [2, 11]), o($V0, [2, 12]), { 19: [1, 18] }, o($V0, [2, 4]), o($V0, [2, 9]), o($V0, [2, 10]), o($V0, [2, 13])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 10;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 4;\n break;\n case 6:\n return 11;\n break;\n case 7:\n this.begin(\"acc_title\");\n return 12;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.begin(\"acc_descr\");\n return 14;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.begin(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 17;\n break;\n case 15:\n return 18;\n break;\n case 16:\n return 19;\n break;\n case 17:\n return \":\";\n break;\n case 18:\n return 6;\n break;\n case 19:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:journey\\b)/i, /^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^#:\\n;]+)/i, /^(?:[^#:\\n;]+)/i, /^(?::[^#\\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar journey_default = parser;\n\n// src/diagrams/user-journey/journeyDb.js\nvar currentSection = \"\";\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar updateActors = /* @__PURE__ */ __name(function() {\n const tempActors = [];\n tasks.forEach((task) => {\n if (task.people) {\n tempActors.push(...task.people);\n }\n });\n const unique = new Set(tempActors);\n return [...unique].sort();\n}, \"updateActors\");\nvar addTask = /* @__PURE__ */ __name(function(descr, taskData) {\n const pieces = taskData.substr(1).split(\":\");\n let score = 0;\n let peeps = [];\n if (pieces.length === 1) {\n score = Number(pieces[0]);\n peeps = [];\n } else {\n score = Number(pieces[0]);\n peeps = pieces[1].split(\",\");\n }\n const peopleList = peeps.map((s) => s.trim());\n const rawTask = {\n section: currentSection,\n type: currentSection,\n people: peopleList,\n task: descr,\n score\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar getActors = /* @__PURE__ */ __name(function() {\n return updateActors();\n}, \"getActors\");\nvar journeyDb_default = {\n getConfig: /* @__PURE__ */ __name(() => getConfig().journey, \"getConfig\"),\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n getActors\n};\n\n// src/diagrams/user-journey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${options.textColor}\n }\n\n .legend {\n fill: ${options.textColor};\n font-family: ${options.fontFamily};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${options.textColor}\n }\n\n .face {\n ${options.faceColor ? `fill: ${options.faceColor}` : \"fill: #FFF8DC\"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${options.fillType0 ? `fill: ${options.fillType0}` : \"\"};\n }\n .task-type-1, .section-type-1 {\n ${options.fillType0 ? `fill: ${options.fillType1}` : \"\"};\n }\n .task-type-2, .section-type-2 {\n ${options.fillType0 ? `fill: ${options.fillType2}` : \"\"};\n }\n .task-type-3, .section-type-3 {\n ${options.fillType0 ? `fill: ${options.fillType3}` : \"\"};\n }\n .task-type-4, .section-type-4 {\n ${options.fillType0 ? `fill: ${options.fillType4}` : \"\"};\n }\n .task-type-5, .section-type-5 {\n ${options.fillType0 ? `fill: ${options.fillType5}` : \"\"};\n }\n .task-type-6, .section-type-6 {\n ${options.fillType0 ? `fill: ${options.fillType6}` : \"\"};\n }\n .task-type-7, .section-type-7 {\n ${options.fillType0 ? `fill: ${options.fillType7}` : \"\"};\n }\n\n .actor-0 {\n ${options.actor0 ? `fill: ${options.actor0}` : \"\"};\n }\n .actor-1 {\n ${options.actor1 ? `fill: ${options.actor1}` : \"\"};\n }\n .actor-2 {\n ${options.actor2 ? `fill: ${options.actor2}` : \"\"};\n }\n .actor-3 {\n ${options.actor3 ? `fill: ${options.actor3}` : \"\"};\n }\n .actor-4 {\n ${options.actor4 ? `fill: ${options.actor4}` : \"\"};\n }\n .actor-5 {\n ${options.actor5 ? `fill: ${options.actor5}` : \"\"};\n }\n ${getIconStyles()}\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/user-journey/journeyRenderer.ts\nimport { select } from \"d3\";\n\n// src/diagrams/user-journey/svgDraw.js\nimport { arc as d3arc } from \"d3\";\nvar drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {\n return drawRect(elem, rectData);\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText2 = /* @__PURE__ */ __name(function(elem, textData) {\n return drawText(elem, textData);\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText2(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf2) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf2.width * section.taskCount + // width of the tasks\n conf2.diagramMarginX * (section.taskCount - 1);\n rect.height = conf2.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n _drawTextCandidateFunc(conf2)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf2,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf2, diagramId) {\n const center = task.x + conf2.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", diagramId + \"-task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf2.width;\n rect.height = conf2.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n let xPos = task.x + 14;\n task.people.forEach((person) => {\n const colour = task.actors[person].color;\n const circle = {\n cx: xPos,\n cy: task.y,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n title: person,\n pos: task.actors[person].position\n };\n drawCircle(g, circle);\n xPos += 10;\n });\n _drawTextCandidateFunc(conf2)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf2,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect2 = /* @__PURE__ */ __name(function(elem, bounds2) {\n drawBackgroundRect(elem, bounds2);\n}, \"drawBackgroundRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2, colour) {\n const { taskFontSize, taskFontFamily } = conf2;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics, id) {\n taskCount = -1;\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", id + \"-arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nvar svgDraw_default = {\n drawRect: drawRect2,\n drawCircle,\n drawSection,\n drawText: drawText2,\n drawLabel,\n drawTask,\n drawBackgroundRect: drawBackgroundRect2,\n initGraphics\n};\n\n// src/diagrams/user-journey/journeyRenderer.ts\nvar setConf = /* @__PURE__ */ __name(function(cnf) {\n const keys = Object.keys(cnf);\n keys.forEach(function(key) {\n conf[key] = cnf[key];\n });\n}, \"setConf\");\nvar actors = {};\nvar maxWidth = 0;\nfunction drawActorLegend(diagram2) {\n const conf2 = getConfig().journey;\n const maxLabelWidth = conf2.maxLabelWidth;\n maxWidth = 0;\n let yPos = 60;\n Object.keys(actors).forEach((person) => {\n const colour = actors[person].color;\n const circleData = {\n cx: 20,\n cy: yPos,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n pos: actors[person].position\n };\n svgDraw_default.drawCircle(diagram2, circleData);\n let measureText = diagram2.append(\"text\").attr(\"visibility\", \"hidden\").text(person);\n const fullTextWidth = measureText.node().getBoundingClientRect().width;\n measureText.remove();\n let lines = [];\n if (fullTextWidth <= maxLabelWidth) {\n lines = [person];\n } else {\n const words = person.split(\" \");\n let currentLine = \"\";\n measureText = diagram2.append(\"text\").attr(\"visibility\", \"hidden\");\n words.forEach((word) => {\n const testLine = currentLine ? `${currentLine} ${word}` : word;\n measureText.text(testLine);\n const textWidth = measureText.node().getBoundingClientRect().width;\n if (textWidth > maxLabelWidth) {\n if (currentLine) {\n lines.push(currentLine);\n }\n currentLine = word;\n measureText.text(word);\n if (measureText.node().getBoundingClientRect().width > maxLabelWidth) {\n let brokenWord = \"\";\n for (const char of word) {\n brokenWord += char;\n measureText.text(brokenWord + \"-\");\n if (measureText.node().getBoundingClientRect().width > maxLabelWidth) {\n lines.push(brokenWord.slice(0, -1) + \"-\");\n brokenWord = char;\n }\n }\n currentLine = brokenWord;\n }\n } else {\n currentLine = testLine;\n }\n });\n if (currentLine) {\n lines.push(currentLine);\n }\n measureText.remove();\n }\n lines.forEach((line, index) => {\n const labelData = {\n x: 40,\n y: yPos + 7 + index * 20,\n fill: \"#666\",\n text: line,\n textMargin: conf2.boxTextMargin ?? 5\n };\n const textElement = svgDraw_default.drawText(diagram2, labelData);\n const lineWidth = textElement.node().getBoundingClientRect().width;\n if (lineWidth > maxWidth && lineWidth > conf2.leftMargin - lineWidth) {\n maxWidth = lineWidth;\n }\n });\n yPos += Math.max(20, lines.length * 20);\n });\n}\n__name(drawActorLegend, \"drawActorLegend\");\nvar conf = getConfig().journey;\nvar leftMargin = 0;\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const configObject = getConfig();\n const titleColor = configObject.journey.titleColor;\n const titleFontSize = configObject.journey.titleFontSize;\n const titleFontFamily = configObject.journey.titleFontFamily;\n const securityLevel = configObject.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n bounds.init();\n const diagram2 = root.select(\"#\" + id);\n svgDraw_default.initGraphics(diagram2, id);\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getDiagramTitle();\n const actorNames = diagObj.db.getActors();\n for (const member in actors) {\n delete actors[member];\n }\n let actorPos = 0;\n actorNames.forEach((actorName) => {\n actors[actorName] = {\n color: conf.actorColours[actorPos % conf.actorColours.length],\n position: actorPos\n };\n actorPos++;\n });\n drawActorLegend(diagram2);\n leftMargin = conf.leftMargin + maxWidth;\n bounds.insert(0, 0, leftMargin, Object.keys(actors).length * 50);\n drawTasks(diagram2, tasks2, 0, id);\n const box = bounds.getBounds();\n if (title) {\n diagram2.append(\"text\").text(title).attr(\"x\", leftMargin).attr(\"font-size\", titleFontSize).attr(\"font-weight\", \"bold\").attr(\"y\", 25).attr(\"fill\", titleColor).attr(\"font-family\", titleFontFamily);\n }\n const height = box.stopy - box.starty + 2 * conf.diagramMarginY;\n const width = leftMargin + box.stopx + 2 * conf.diagramMarginX;\n configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n diagram2.append(\"line\").attr(\"x1\", leftMargin).attr(\"y1\", conf.height * 4).attr(\"x2\", width - leftMargin - 4).attr(\"y2\", conf.height * 4).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#\" + id + \"-arrowhead)\");\n const extraVertForTitle = title ? 70 : 0;\n diagram2.attr(\"viewBox\", `${box.startx} -25 ${width} ${height + extraVertForTitle}`);\n diagram2.attr(\"preserveAspectRatio\", \"xMinYMin meet\");\n diagram2.attr(\"height\", height + extraVertForTitle + 25);\n}, \"draw\");\nvar bounds = {\n data: {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n },\n verticalPos: 0,\n sequenceItems: [],\n init: /* @__PURE__ */ __name(function() {\n this.sequenceItems = [];\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n };\n this.verticalPos = 0;\n }, \"init\"),\n updateVal: /* @__PURE__ */ __name(function(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }, \"updateVal\"),\n updateBounds: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const conf2 = getConfig().journey;\n const _self = this;\n let cnt = 0;\n function updateFn(type) {\n return /* @__PURE__ */ __name(function updateItemBounds(item) {\n cnt++;\n const n = _self.sequenceItems.length - cnt + 1;\n _self.updateVal(item, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n if (!(type === \"activation\")) {\n _self.updateVal(item, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n }\n }, \"updateItemBounds\");\n }\n __name(updateFn, \"updateFn\");\n this.sequenceItems.forEach(updateFn());\n }, \"updateBounds\"),\n insert: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const _startx = Math.min(startx, stopx);\n const _stopx = Math.max(startx, stopx);\n const _starty = Math.min(starty, stopy);\n const _stopy = Math.max(starty, stopy);\n this.updateVal(bounds.data, \"startx\", _startx, Math.min);\n this.updateVal(bounds.data, \"starty\", _starty, Math.min);\n this.updateVal(bounds.data, \"stopx\", _stopx, Math.max);\n this.updateVal(bounds.data, \"stopy\", _stopy, Math.max);\n this.updateBounds(_startx, _starty, _stopx, _stopy);\n }, \"insert\"),\n bumpVerticalPos: /* @__PURE__ */ __name(function(bump) {\n this.verticalPos = this.verticalPos + bump;\n this.data.stopy = this.verticalPos;\n }, \"bumpVerticalPos\"),\n getVerticalPos: /* @__PURE__ */ __name(function() {\n return this.verticalPos;\n }, \"getVerticalPos\"),\n getBounds: /* @__PURE__ */ __name(function() {\n return this.data;\n }, \"getBounds\")\n};\nvar fills = conf.sectionFills;\nvar textColours = conf.sectionColours;\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, verticalPos, diagramId) {\n const conf2 = getConfig().journey;\n let lastSection = \"\";\n const sectionVHeight = conf2.height * 2 + conf2.diagramMarginY;\n const taskPos = verticalPos + sectionVHeight;\n let sectionNumber = 0;\n let fill = \"#CCC\";\n let colour = \"black\";\n let num = 0;\n for (const [i, task] of tasks2.entries()) {\n if (lastSection !== task.section) {\n fill = fills[sectionNumber % fills.length];\n num = sectionNumber % fills.length;\n colour = textColours[sectionNumber % textColours.length];\n let taskInSectionCount = 0;\n const currentSection2 = task.section;\n for (let taskIndex = i; taskIndex < tasks2.length; taskIndex++) {\n if (tasks2[taskIndex].section == currentSection2) {\n taskInSectionCount = taskInSectionCount + 1;\n } else {\n break;\n }\n }\n const section = {\n x: i * conf2.taskMargin + i * conf2.width + leftMargin,\n y: 50,\n text: task.section,\n fill,\n num,\n colour,\n taskCount: taskInSectionCount\n };\n svgDraw_default.drawSection(diagram2, section, conf2);\n lastSection = task.section;\n sectionNumber++;\n }\n const taskActors = task.people.reduce((acc, actorName) => {\n if (actors[actorName]) {\n acc[actorName] = actors[actorName];\n }\n return acc;\n }, {});\n task.x = i * conf2.taskMargin + i * conf2.width + leftMargin;\n task.y = taskPos;\n task.width = conf2.diagramMarginX;\n task.height = conf2.diagramMarginY;\n task.colour = colour;\n task.fill = fill;\n task.num = num;\n task.actors = taskActors;\n svgDraw_default.drawTask(diagram2, task, conf2, diagramId);\n bounds.insert(task.x, task.y, task.x + task.width + conf2.taskMargin, 300 + 5 * 30);\n }\n}, \"drawTasks\");\nvar journeyRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/user-journey/journeyDiagram.ts\nvar diagram = {\n parser: journey_default,\n db: journeyDb_default,\n renderer: journeyRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n journeyRenderer_default.setConf(cnf.journey);\n journeyDb_default.clear();\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","$V0","$V1","$V2","$V3","$V4","$V5","$V6","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","journey_default","currentSection","sections","tasks","rawTasks","clear2","clear","addSection","txt","getSections","getTasks","allItemsProcessed","compileTasks","maxDepth","iterationCount","updateActors","tempActors","task","addTask","descr","taskData","pieces","score","peeps","peopleList","s","rawTask","addTaskOrg","newTask","compileTask","pos","allProcessed","getActors","journeyDb_default","getConfig","setDiagramTitle","getDiagramTitle","setAccTitle","getAccTitle","setAccDescription","getAccDescription","getStyles","options","getIconStyles","styles_default","drawRect2","elem","rectData","drawRect","drawFace","element","faceData","circleElement","face","smile","face2","arc","d3arc","sad","ambivalent","drawCircle","circleData","drawText2","textData","drawText","drawLabel","txtObject","genPoints","x","y","width","height","cut","polygon","drawSection","section","conf2","g","rect","getNoteRect","_drawTextCandidateFunc","taskCount","drawTask","diagramId","center","maxHeight","xPos","person","colour","circle","drawBackgroundRect2","bounds2","drawBackgroundRect","byText","content","textAttrs","text","_setTextAttrs","byTspan","taskFontSize","taskFontFamily","dy","byFo","body","toText","fromTextAttrsDict","key","initGraphics","graphics","id","svgDraw_default","setConf","cnf","conf","actors","maxWidth","drawActorLegend","diagram2","maxLabelWidth","yPos","measureText","fullTextWidth","words","currentLine","word","testLine","brokenWord","char","line","labelData","lineWidth","leftMargin","draw","version","diagObj","configObject","titleColor","titleFontSize","titleFontFamily","securityLevel","sandboxElement","select","root","bounds","tasks2","title","actorNames","member","actorPos","actorName","drawTasks","box","configureSvgSize","extraVertForTitle","obj","val","fun","startx","starty","stopx","stopy","_self","cnt","updateFn","type","item","_startx","_stopx","_starty","_stopy","bump","fills","textColours","verticalPos","lastSection","sectionVHeight","taskPos","sectionNumber","fill","num","taskInSectionCount","currentSection2","taskIndex","taskActors","acc","journeyRenderer_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}