@finos/legend-application-pure-ide-deployment 11.11.0 → 11.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/ide/index.html +1 -1
  2. package/dist/ide/{135.js → static/135.2af0ed6c.js} +2 -2
  3. package/dist/ide/static/135.2af0ed6c.js.map +1 -0
  4. package/dist/ide/{14.js → static/14.9447a523.js} +2 -2
  5. package/dist/ide/static/14.9447a523.js.map +1 -0
  6. package/dist/ide/{144.js → static/144.56359b57.js} +1 -1
  7. package/dist/ide/static/144.56359b57.js.map +1 -0
  8. package/dist/ide/{192.js → static/192.2c9a3a4b.js} +1 -1
  9. package/dist/ide/static/192.2c9a3a4b.js.map +1 -0
  10. package/dist/ide/{196.js → static/196.dd0f3119.js} +1 -1
  11. package/dist/ide/static/196.dd0f3119.js.map +1 -0
  12. package/dist/ide/{222.js → static/222.969f20c8.js} +1 -1
  13. package/dist/ide/static/222.969f20c8.js.map +1 -0
  14. package/dist/ide/{224.js → static/224.bb7a7194.js} +1 -1
  15. package/dist/ide/static/224.bb7a7194.js.map +1 -0
  16. package/dist/ide/{246.js → static/246.4add4bf1.js} +2 -2
  17. package/dist/ide/static/246.4add4bf1.js.map +1 -0
  18. package/dist/ide/{309.js → static/309.df05f0ef.js} +2 -2
  19. package/dist/ide/static/309.df05f0ef.js.map +1 -0
  20. package/dist/ide/{32.js → static/32.1758faf0.js} +1 -1
  21. package/dist/ide/static/32.1758faf0.js.map +1 -0
  22. package/dist/ide/{327.js → static/327.fe8046d0.js} +1 -1
  23. package/dist/ide/static/327.fe8046d0.js.map +1 -0
  24. package/dist/ide/{362.js → static/362.a41dadab.js} +1 -1
  25. package/dist/ide/static/362.a41dadab.js.map +1 -0
  26. package/dist/ide/{374.js → static/374.0aa73cb9.js} +1 -1
  27. package/dist/ide/static/374.0aa73cb9.js.map +1 -0
  28. package/dist/ide/{399.js → static/399.4bd7d49b.js} +2 -2
  29. package/dist/ide/static/399.4bd7d49b.js.map +1 -0
  30. package/dist/ide/{400.js → static/400.5fa229f2.js} +1 -1
  31. package/dist/ide/static/400.5fa229f2.js.map +1 -0
  32. package/dist/ide/{404.js → static/404.7360c523.js} +1 -1
  33. package/dist/ide/static/404.7360c523.js.map +1 -0
  34. package/dist/ide/{413.js → static/413.848afa4d.js} +1 -1
  35. package/dist/ide/static/413.848afa4d.js.map +1 -0
  36. package/dist/ide/{46.js → static/46.767f2180.js} +1 -1
  37. package/dist/ide/static/46.767f2180.js.map +1 -0
  38. package/dist/ide/{471.js → static/471.d1ead9bf.js} +2 -2
  39. package/dist/ide/static/471.d1ead9bf.js.map +1 -0
  40. package/dist/ide/{481.js → static/481.be521fe4.js} +1 -1
  41. package/dist/ide/static/481.be521fe4.js.map +1 -0
  42. package/dist/ide/{578.js → static/578.d2ff5454.js} +1 -1
  43. package/dist/ide/static/578.d2ff5454.js.map +1 -0
  44. package/dist/ide/{586.js → static/586.c4953cb8.js} +1 -1
  45. package/dist/ide/static/586.c4953cb8.js.map +1 -0
  46. package/dist/ide/{616.js → static/616.dc5a1512.js} +1 -1
  47. package/dist/ide/static/616.dc5a1512.js.map +1 -0
  48. package/dist/ide/{624.js → static/624.2d11fadb.js} +1 -1
  49. package/dist/ide/static/624.2d11fadb.js.map +1 -0
  50. package/dist/ide/{636.js → static/636.4620ce27.js} +1 -1
  51. package/dist/ide/static/636.4620ce27.js.map +1 -0
  52. package/dist/ide/{817.js → static/817.6ce83b7d.js} +1 -1
  53. package/dist/ide/static/817.6ce83b7d.js.map +1 -0
  54. package/dist/ide/{837.js → static/837.5bdbaccc.js} +1 -1
  55. package/dist/ide/static/837.5bdbaccc.js.map +1 -0
  56. package/dist/ide/{909.js → static/909.35426328.js} +1 -1
  57. package/dist/ide/static/909.35426328.js.map +1 -0
  58. package/dist/ide/{923.js → static/923.1933c869.js} +1 -1
  59. package/dist/ide/static/923.1933c869.js.map +1 -0
  60. package/dist/ide/{932.js → static/932.417cc1c9.js} +1 -1
  61. package/dist/ide/static/932.417cc1c9.js.map +1 -0
  62. package/dist/ide/{947.js → static/947.b545969f.js} +2 -2
  63. package/dist/ide/static/947.b545969f.js.map +1 -0
  64. package/dist/ide/{969.js → static/969.d3cb41c2.js} +1 -1
  65. package/dist/ide/static/969.d3cb41c2.js.map +1 -0
  66. package/dist/ide/{977.js → static/977.112b9e63.js} +1 -1
  67. package/dist/ide/static/977.112b9e63.js.map +1 -0
  68. package/dist/ide/{99.js → static/99.5f870035.js} +2 -2
  69. package/dist/ide/static/99.5f870035.js.map +1 -0
  70. package/dist/ide/static/{index.e8b35023.js → index.0b1c88f5.js} +2 -2
  71. package/dist/ide/static/index.0b1c88f5.js.map +1 -0
  72. package/dist/ide/static/{index.89de1e23.css → index.0ff828b4.css} +6 -6
  73. package/dist/ide/static/{index.89de1e23.css.map → index.0ff828b4.css.map} +1 -1
  74. package/dist/ide/version.json +1 -1
  75. package/package.json +6 -6
  76. package/dist/ide/135.js.map +0 -1
  77. package/dist/ide/14.js.map +0 -1
  78. package/dist/ide/144.js.map +0 -1
  79. package/dist/ide/192.js.map +0 -1
  80. package/dist/ide/196.js.map +0 -1
  81. package/dist/ide/222.js.map +0 -1
  82. package/dist/ide/224.js.map +0 -1
  83. package/dist/ide/246.js.map +0 -1
  84. package/dist/ide/309.js.map +0 -1
  85. package/dist/ide/32.js.map +0 -1
  86. package/dist/ide/327.js.map +0 -1
  87. package/dist/ide/362.js.map +0 -1
  88. package/dist/ide/374.js.map +0 -1
  89. package/dist/ide/399.js.map +0 -1
  90. package/dist/ide/400.js.map +0 -1
  91. package/dist/ide/404.js.map +0 -1
  92. package/dist/ide/413.js.map +0 -1
  93. package/dist/ide/46.js.map +0 -1
  94. package/dist/ide/471.js.map +0 -1
  95. package/dist/ide/481.js.map +0 -1
  96. package/dist/ide/578.js.map +0 -1
  97. package/dist/ide/586.js.map +0 -1
  98. package/dist/ide/616.js.map +0 -1
  99. package/dist/ide/624.js.map +0 -1
  100. package/dist/ide/636.js.map +0 -1
  101. package/dist/ide/817.js.map +0 -1
  102. package/dist/ide/837.js.map +0 -1
  103. package/dist/ide/909.js.map +0 -1
  104. package/dist/ide/923.js.map +0 -1
  105. package/dist/ide/932.js.map +0 -1
  106. package/dist/ide/947.js.map +0 -1
  107. package/dist/ide/969.js.map +0 -1
  108. package/dist/ide/977.js.map +0 -1
  109. package/dist/ide/99.js.map +0 -1
  110. package/dist/ide/static/index.e8b35023.js.map +0 -1
  111. /package/dist/ide/{135.js.LICENSE.txt → static/135.2af0ed6c.js.LICENSE.txt} +0 -0
  112. /package/dist/ide/{14.js.LICENSE.txt → static/14.9447a523.js.LICENSE.txt} +0 -0
  113. /package/dist/ide/{246.js.LICENSE.txt → static/246.4add4bf1.js.LICENSE.txt} +0 -0
  114. /package/dist/ide/{309.js.LICENSE.txt → static/309.df05f0ef.js.LICENSE.txt} +0 -0
  115. /package/dist/ide/{399.js.LICENSE.txt → static/399.4bd7d49b.js.LICENSE.txt} +0 -0
  116. /package/dist/ide/{471.js.LICENSE.txt → static/471.d1ead9bf.js.LICENSE.txt} +0 -0
  117. /package/dist/ide/{947.js.LICENSE.txt → static/947.b545969f.js.LICENSE.txt} +0 -0
  118. /package/dist/ide/{99.js.LICENSE.txt → static/99.5f870035.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"192.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/quadrantDiagram-3646f1b7.js"],"sourcesContent":["import { E as getThemeVariables, B as defaultConfig, l as log, s as setAccTitle, g as getAccTitle, q as setDiagramTitle, r as getDiagramTitle, a as getAccDescription, b as setAccDescription, c as getConfig, t as clear$1, d as sanitizeText, i as configureSvgSize } from \"./mermaid-485fd1a4.js\";\nimport { scaleLinear, select } from \"d3\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [1, 7], $V5 = [1, 5, 13, 15, 17, 19, 20, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], $V6 = [1, 5, 6, 13, 15, 17, 19, 20, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], $V7 = [32, 33, 34], $V8 = [2, 7], $V9 = [1, 13], $Va = [1, 17], $Vb = [1, 18], $Vc = [1, 19], $Vd = [1, 20], $Ve = [1, 21], $Vf = [1, 22], $Vg = [1, 23], $Vh = [1, 24], $Vi = [1, 25], $Vj = [1, 26], $Vk = [1, 27], $Vl = [1, 30], $Vm = [1, 31], $Vn = [1, 32], $Vo = [1, 33], $Vp = [1, 34], $Vq = [1, 35], $Vr = [1, 36], $Vs = [1, 37], $Vt = [1, 38], $Vu = [1, 39], $Vv = [1, 40], $Vw = [1, 41], $Vx = [1, 42], $Vy = [1, 57], $Vz = [1, 58], $VA = [5, 22, 26, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"eol\": 4, \"SPACE\": 5, \"QUADRANT\": 6, \"document\": 7, \"line\": 8, \"statement\": 9, \"axisDetails\": 10, \"quadrantDetails\": 11, \"points\": 12, \"title\": 13, \"title_value\": 14, \"acc_title\": 15, \"acc_title_value\": 16, \"acc_descr\": 17, \"acc_descr_value\": 18, \"acc_descr_multiline_value\": 19, \"section\": 20, \"text\": 21, \"point_start\": 22, \"point_x\": 23, \"point_y\": 24, \"X-AXIS\": 25, \"AXIS-TEXT-DELIMITER\": 26, \"Y-AXIS\": 27, \"QUADRANT_1\": 28, \"QUADRANT_2\": 29, \"QUADRANT_3\": 30, \"QUADRANT_4\": 31, \"NEWLINE\": 32, \"SEMI\": 33, \"EOF\": 34, \"alphaNumToken\": 35, \"textNoTagsToken\": 36, \"STR\": 37, \"MD_STR\": 38, \"alphaNum\": 39, \"PUNCTUATION\": 40, \"AMP\": 41, \"NUM\": 42, \"ALPHA\": 43, \"COMMA\": 44, \"PLUS\": 45, \"EQUALS\": 46, \"MULT\": 47, \"DOT\": 48, \"BRKT\": 49, \"UNDERSCORE\": 50, \"MINUS\": 51, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"SPACE\", 6: \"QUADRANT\", 13: \"title\", 14: \"title_value\", 15: \"acc_title\", 16: \"acc_title_value\", 17: \"acc_descr\", 18: \"acc_descr_value\", 19: \"acc_descr_multiline_value\", 20: \"section\", 22: \"point_start\", 23: \"point_x\", 24: \"point_y\", 25: \"X-AXIS\", 26: \"AXIS-TEXT-DELIMITER\", 27: \"Y-AXIS\", 28: \"QUADRANT_1\", 29: \"QUADRANT_2\", 30: \"QUADRANT_3\", 31: \"QUADRANT_4\", 32: \"NEWLINE\", 33: \"SEMI\", 34: \"EOF\", 37: \"STR\", 38: \"MD_STR\", 40: \"PUNCTUATION\", 41: \"AMP\", 42: \"NUM\", 43: \"ALPHA\", 44: \"COMMA\", 45: \"PLUS\", 46: \"EQUALS\", 47: \"MULT\", 48: \"DOT\", 49: \"BRKT\", 50: \"UNDERSCORE\", 51: \"MINUS\" },\n productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [9, 0], [9, 2], [9, 1], [9, 1], [9, 1], [9, 2], [9, 2], [9, 2], [9, 1], [9, 1], [12, 4], [10, 4], [10, 3], [10, 2], [10, 4], [10, 3], [10, 2], [11, 2], [11, 2], [11, 2], [11, 2], [4, 1], [4, 1], [4, 1], [21, 1], [21, 2], [21, 1], [21, 1], [39, 1], [39, 2], [35, 1], [35, 1], [35, 1], [35, 1], [35, 1], [35, 1], [35, 1], [35, 1], [35, 1], [35, 1], [35, 1], [36, 1], [36, 1], [36, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 12:\n this.$ = $$[$0].trim();\n yy.setDiagramTitle(this.$);\n break;\n case 13:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 14:\n case 15:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 16:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 17:\n yy.addPoint($$[$0 - 3], $$[$0 - 1], $$[$0]);\n break;\n case 18:\n yy.setXAxisLeftText($$[$0 - 2]);\n yy.setXAxisRightText($$[$0]);\n break;\n case 19:\n $$[$0 - 1].text += \" ⟶ \";\n yy.setXAxisLeftText($$[$0 - 1]);\n break;\n case 20:\n yy.setXAxisLeftText($$[$0]);\n break;\n case 21:\n yy.setYAxisBottomText($$[$0 - 2]);\n yy.setYAxisTopText($$[$0]);\n break;\n case 22:\n $$[$0 - 1].text += \" ⟶ \";\n yy.setYAxisBottomText($$[$0 - 1]);\n break;\n case 23:\n yy.setYAxisBottomText($$[$0]);\n break;\n case 24:\n yy.setQuadrant1Text($$[$0]);\n break;\n case 25:\n yy.setQuadrant2Text($$[$0]);\n break;\n case 26:\n yy.setQuadrant3Text($$[$0]);\n break;\n case 27:\n yy.setQuadrant4Text($$[$0]);\n break;\n case 31:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 32:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 33:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 34:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 35:\n this.$ = $$[$0];\n break;\n case 36:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 5: $V0, 6: $V1, 32: $V2, 33: $V3, 34: $V4 }, { 1: [3] }, { 3: 8, 4: 2, 5: $V0, 6: $V1, 32: $V2, 33: $V3, 34: $V4 }, { 3: 9, 4: 2, 5: $V0, 6: $V1, 32: $V2, 33: $V3, 34: $V4 }, o($V5, [2, 4], { 7: 10 }), o($V6, [2, 28]), o($V6, [2, 29]), o($V6, [2, 30]), { 1: [2, 1] }, { 1: [2, 2] }, o($V7, $V8, { 8: 11, 9: 12, 10: 14, 11: 15, 12: 16, 21: 28, 35: 29, 1: [2, 3], 5: $V9, 13: $Va, 15: $Vb, 17: $Vc, 19: $Vd, 20: $Ve, 25: $Vf, 27: $Vg, 28: $Vh, 29: $Vi, 30: $Vj, 31: $Vk, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), o($V5, [2, 5]), { 4: 43, 32: $V2, 33: $V3, 34: $V4 }, o($V7, $V8, { 10: 14, 11: 15, 12: 16, 21: 28, 35: 29, 9: 44, 5: $V9, 13: $Va, 15: $Vb, 17: $Vc, 19: $Vd, 20: $Ve, 25: $Vf, 27: $Vg, 28: $Vh, 29: $Vi, 30: $Vj, 31: $Vk, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), o($V7, [2, 9]), o($V7, [2, 10]), o($V7, [2, 11]), { 14: [1, 45] }, { 16: [1, 46] }, { 18: [1, 47] }, o($V7, [2, 15]), o($V7, [2, 16]), { 21: 48, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 49, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 50, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 51, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 52, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 53, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 5: $Vy, 22: [1, 54], 35: 56, 36: 55, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }, o($VA, [2, 31]), o($VA, [2, 33]), o($VA, [2, 34]), o($VA, [2, 37]), o($VA, [2, 38]), o($VA, [2, 39]), o($VA, [2, 40]), o($VA, [2, 41]), o($VA, [2, 42]), o($VA, [2, 43]), o($VA, [2, 44]), o($VA, [2, 45]), o($VA, [2, 46]), o($VA, [2, 47]), o($V5, [2, 6]), o($V7, [2, 8]), o($V7, [2, 12]), o($V7, [2, 13]), o($V7, [2, 14]), o($V7, [2, 20], { 36: 55, 35: 56, 5: $Vy, 26: [1, 59], 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 23], { 36: 55, 35: 56, 5: $Vy, 26: [1, 60], 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 24], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 25], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 26], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 27], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), { 23: [1, 61] }, o($VA, [2, 32]), o($VA, [2, 48]), o($VA, [2, 49]), o($VA, [2, 50]), o($V7, [2, 19], { 35: 29, 21: 62, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), o($V7, [2, 22], { 35: 29, 21: 63, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), { 24: [1, 64] }, o($V7, [2, 18], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 21], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 17])],\n defaultActions: { 8: [2, 1], 9: [2, 2] },\n parseError: 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 },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 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 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 var symbol, state, action, 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 {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\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 }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: 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 },\n // resets the lexer, sets new input\n setInput: 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 },\n // consumes and returns one char from the input\n input: 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 },\n // unshifts one char (or a string) into the input\n unput: 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 },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\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: 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 },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: 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 },\n // displays upcoming input, i.e. for error messages\n upcomingInput: 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 },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: 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 },\n // return next match in input\n next: 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 },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: 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 },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: 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 },\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: 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 },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 32;\n case 3:\n break;\n case 4:\n this.begin(\"title\");\n return 13;\n case 5:\n this.popState();\n return \"title_value\";\n case 6:\n this.begin(\"acc_title\");\n return 15;\n case 7:\n this.popState();\n return \"acc_title_value\";\n case 8:\n this.begin(\"acc_descr\");\n return 17;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n case 13:\n return 25;\n case 14:\n return 27;\n case 15:\n return 26;\n case 16:\n return 28;\n case 17:\n return 29;\n case 18:\n return 30;\n case 19:\n return 31;\n case 20:\n this.begin(\"md_string\");\n break;\n case 21:\n return \"MD_STR\";\n case 22:\n this.popState();\n break;\n case 23:\n this.begin(\"string\");\n break;\n case 24:\n this.popState();\n break;\n case 25:\n return \"STR\";\n case 26:\n this.begin(\"point_start\");\n return 22;\n case 27:\n this.begin(\"point_x\");\n return 23;\n case 28:\n this.popState();\n break;\n case 29:\n this.popState();\n this.begin(\"point_y\");\n break;\n case 30:\n this.popState();\n return 24;\n case 31:\n return 6;\n case 32:\n return 43;\n case 33:\n return \"COLON\";\n case 34:\n return 45;\n case 35:\n return 44;\n case 36:\n return 46;\n case 37:\n return 46;\n case 38:\n return 47;\n case 39:\n return 49;\n case 40:\n return 50;\n case 41:\n return 48;\n case 42:\n return 41;\n case 43:\n return 51;\n case 44:\n return 42;\n case 45:\n return 5;\n case 46:\n return 33;\n case 47:\n return 40;\n case 48:\n return 34;\n }\n },\n rules: [/^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n\\r]+)/i, /^(?:%%[^\\n]*)/i, /^(?:title\\b)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?: *x-axis *)/i, /^(?: *y-axis *)/i, /^(?: *--+> *)/i, /^(?: *quadrant-1 *)/i, /^(?: *quadrant-2 *)/i, /^(?: *quadrant-3 *)/i, /^(?: *quadrant-4 *)/i, /^(?:[\"][`])/i, /^(?:[^`\"]+)/i, /^(?:[`][\"])/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:\\s*:\\s*\\[\\s*)/i, /^(?:(1)|(0(.\\d+)?))/i, /^(?:\\s*\\] *)/i, /^(?:\\s*,\\s*)/i, /^(?:(1)|(0(.\\d+)?))/i, /^(?: *quadrantChart *)/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:=)/i, /^(?:\\*)/i, /^(?:#)/i, /^(?:[\\_])/i, /^(?:\\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\\s)/i, /^(?:;)/i, /^(?:[!\"#$%&'*+,-.`?\\\\_/])/i, /^(?:$)/i],\n conditions: { \"point_y\": { \"rules\": [30], \"inclusive\": false }, \"point_x\": { \"rules\": [29], \"inclusive\": false }, \"point_start\": { \"rules\": [27, 28], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [11, 12], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9], \"inclusive\": false }, \"acc_title\": { \"rules\": [7], \"inclusive\": false }, \"title\": { \"rules\": [5], \"inclusive\": false }, \"md_string\": { \"rules\": [21, 22], \"inclusive\": false }, \"string\": { \"rules\": [24, 25], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 23, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nconst defaultThemeVariables = getThemeVariables();\nclass QuadrantBuilder {\n constructor() {\n this.config = this.getDefaultConfig();\n this.themeConfig = this.getDefaultThemeConfig();\n this.data = this.getDefaultData();\n }\n getDefaultData() {\n return {\n titleText: \"\",\n quadrant1Text: \"\",\n quadrant2Text: \"\",\n quadrant3Text: \"\",\n quadrant4Text: \"\",\n xAxisLeftText: \"\",\n xAxisRightText: \"\",\n yAxisBottomText: \"\",\n yAxisTopText: \"\",\n points: []\n };\n }\n getDefaultConfig() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;\n return {\n showXAxis: true,\n showYAxis: true,\n showTitle: true,\n chartHeight: ((_a = defaultConfig.quadrantChart) == null ? void 0 : _a.chartWidth) || 500,\n chartWidth: ((_b = defaultConfig.quadrantChart) == null ? void 0 : _b.chartHeight) || 500,\n titlePadding: ((_c = defaultConfig.quadrantChart) == null ? void 0 : _c.titlePadding) || 10,\n titleFontSize: ((_d = defaultConfig.quadrantChart) == null ? void 0 : _d.titleFontSize) || 20,\n quadrantPadding: ((_e = defaultConfig.quadrantChart) == null ? void 0 : _e.quadrantPadding) || 5,\n xAxisLabelPadding: ((_f = defaultConfig.quadrantChart) == null ? void 0 : _f.xAxisLabelPadding) || 5,\n yAxisLabelPadding: ((_g = defaultConfig.quadrantChart) == null ? void 0 : _g.yAxisLabelPadding) || 5,\n xAxisLabelFontSize: ((_h = defaultConfig.quadrantChart) == null ? void 0 : _h.xAxisLabelFontSize) || 16,\n yAxisLabelFontSize: ((_i = defaultConfig.quadrantChart) == null ? void 0 : _i.yAxisLabelFontSize) || 16,\n quadrantLabelFontSize: ((_j = defaultConfig.quadrantChart) == null ? void 0 : _j.quadrantLabelFontSize) || 16,\n quadrantTextTopPadding: ((_k = defaultConfig.quadrantChart) == null ? void 0 : _k.quadrantTextTopPadding) || 5,\n pointTextPadding: ((_l = defaultConfig.quadrantChart) == null ? void 0 : _l.pointTextPadding) || 5,\n pointLabelFontSize: ((_m = defaultConfig.quadrantChart) == null ? void 0 : _m.pointLabelFontSize) || 12,\n pointRadius: ((_n = defaultConfig.quadrantChart) == null ? void 0 : _n.pointRadius) || 5,\n xAxisPosition: ((_o = defaultConfig.quadrantChart) == null ? void 0 : _o.xAxisPosition) || \"top\",\n yAxisPosition: ((_p = defaultConfig.quadrantChart) == null ? void 0 : _p.yAxisPosition) || \"left\",\n quadrantInternalBorderStrokeWidth: ((_q = defaultConfig.quadrantChart) == null ? void 0 : _q.quadrantInternalBorderStrokeWidth) || 1,\n quadrantExternalBorderStrokeWidth: ((_r = defaultConfig.quadrantChart) == null ? void 0 : _r.quadrantExternalBorderStrokeWidth) || 2\n };\n }\n getDefaultThemeConfig() {\n return {\n quadrant1Fill: defaultThemeVariables.quadrant1Fill,\n quadrant2Fill: defaultThemeVariables.quadrant2Fill,\n quadrant3Fill: defaultThemeVariables.quadrant3Fill,\n quadrant4Fill: defaultThemeVariables.quadrant4Fill,\n quadrant1TextFill: defaultThemeVariables.quadrant1TextFill,\n quadrant2TextFill: defaultThemeVariables.quadrant2TextFill,\n quadrant3TextFill: defaultThemeVariables.quadrant3TextFill,\n quadrant4TextFill: defaultThemeVariables.quadrant4TextFill,\n quadrantPointFill: defaultThemeVariables.quadrantPointFill,\n quadrantPointTextFill: defaultThemeVariables.quadrantPointTextFill,\n quadrantXAxisTextFill: defaultThemeVariables.quadrantXAxisTextFill,\n quadrantYAxisTextFill: defaultThemeVariables.quadrantYAxisTextFill,\n quadrantTitleFill: defaultThemeVariables.quadrantTitleFill,\n quadrantInternalBorderStrokeFill: defaultThemeVariables.quadrantInternalBorderStrokeFill,\n quadrantExternalBorderStrokeFill: defaultThemeVariables.quadrantExternalBorderStrokeFill\n };\n }\n clear() {\n this.config = this.getDefaultConfig();\n this.themeConfig = this.getDefaultThemeConfig();\n this.data = this.getDefaultData();\n log.info(\"clear called\");\n }\n setData(data) {\n this.data = { ...this.data, ...data };\n }\n addPoints(points) {\n this.data.points = [...points, ...this.data.points];\n }\n setConfig(config2) {\n log.trace(\"setConfig called with: \", config2);\n this.config = { ...this.config, ...config2 };\n }\n setThemeConfig(themeConfig) {\n log.trace(\"setThemeConfig called with: \", themeConfig);\n this.themeConfig = { ...this.themeConfig, ...themeConfig };\n }\n calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle) {\n const xAxisSpaceCalculation = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize;\n const xAxisSpace = {\n top: xAxisPosition === \"top\" && showXAxis ? xAxisSpaceCalculation : 0,\n bottom: xAxisPosition === \"bottom\" && showXAxis ? xAxisSpaceCalculation : 0\n };\n const yAxisSpaceCalculation = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize;\n const yAxisSpace = {\n left: this.config.yAxisPosition === \"left\" && showYAxis ? yAxisSpaceCalculation : 0,\n right: this.config.yAxisPosition === \"right\" && showYAxis ? yAxisSpaceCalculation : 0\n };\n const titleSpaceCalculation = this.config.titleFontSize + this.config.titlePadding * 2;\n const titleSpace = {\n top: showTitle ? titleSpaceCalculation : 0\n };\n const quadrantLeft = this.config.quadrantPadding + yAxisSpace.left;\n const quadrantTop = this.config.quadrantPadding + xAxisSpace.top + titleSpace.top;\n const quadrantWidth = this.config.chartWidth - this.config.quadrantPadding * 2 - yAxisSpace.left - yAxisSpace.right;\n const quadrantHeight = this.config.chartHeight - this.config.quadrantPadding * 2 - xAxisSpace.top - xAxisSpace.bottom - titleSpace.top;\n const quadrantHalfWidth = quadrantWidth / 2;\n const quadrantHalfHeight = quadrantHeight / 2;\n const quadrantSpace = {\n quadrantLeft,\n quadrantTop,\n quadrantWidth,\n quadrantHalfWidth,\n quadrantHeight,\n quadrantHalfHeight\n };\n return {\n xAxisSpace,\n yAxisSpace,\n titleSpace,\n quadrantSpace\n };\n }\n getAxisLabels(xAxisPosition, showXAxis, showYAxis, spaceData) {\n const { quadrantSpace, titleSpace } = spaceData;\n const {\n quadrantHalfHeight,\n quadrantHeight,\n quadrantLeft,\n quadrantHalfWidth,\n quadrantTop,\n quadrantWidth\n } = quadrantSpace;\n const drawAxisLabelInMiddle = this.data.points.length === 0;\n const axisLabels = [];\n if (this.data.xAxisLeftText && showXAxis) {\n axisLabels.push({\n text: this.data.xAxisLeftText,\n fill: this.themeConfig.quadrantXAxisTextFill,\n x: quadrantLeft + (drawAxisLabelInMiddle ? quadrantHalfWidth / 2 : 0),\n y: xAxisPosition === \"top\" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,\n fontSize: this.config.xAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: 0\n });\n }\n if (this.data.xAxisRightText && showXAxis) {\n axisLabels.push({\n text: this.data.xAxisRightText,\n fill: this.themeConfig.quadrantXAxisTextFill,\n x: quadrantLeft + quadrantHalfWidth + (drawAxisLabelInMiddle ? quadrantHalfWidth / 2 : 0),\n y: xAxisPosition === \"top\" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,\n fontSize: this.config.xAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: 0\n });\n }\n if (this.data.yAxisBottomText && showYAxis) {\n axisLabels.push({\n text: this.data.yAxisBottomText,\n fill: this.themeConfig.quadrantYAxisTextFill,\n x: this.config.yAxisPosition === \"left\" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,\n y: quadrantTop + quadrantHeight - (drawAxisLabelInMiddle ? quadrantHalfHeight / 2 : 0),\n fontSize: this.config.yAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: -90\n });\n }\n if (this.data.yAxisTopText && showYAxis) {\n axisLabels.push({\n text: this.data.yAxisTopText,\n fill: this.themeConfig.quadrantYAxisTextFill,\n x: this.config.yAxisPosition === \"left\" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,\n y: quadrantTop + quadrantHalfHeight - (drawAxisLabelInMiddle ? quadrantHalfHeight / 2 : 0),\n fontSize: this.config.yAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: -90\n });\n }\n return axisLabels;\n }\n getQuadrants(spaceData) {\n const { quadrantSpace } = spaceData;\n const { quadrantHalfHeight, quadrantLeft, quadrantHalfWidth, quadrantTop } = quadrantSpace;\n const quadrants = [\n {\n text: {\n text: this.data.quadrant1Text,\n fill: this.themeConfig.quadrant1TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft + quadrantHalfWidth,\n y: quadrantTop,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant1Fill\n },\n {\n text: {\n text: this.data.quadrant2Text,\n fill: this.themeConfig.quadrant2TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft,\n y: quadrantTop,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant2Fill\n },\n {\n text: {\n text: this.data.quadrant3Text,\n fill: this.themeConfig.quadrant3TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft,\n y: quadrantTop + quadrantHalfHeight,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant3Fill\n },\n {\n text: {\n text: this.data.quadrant4Text,\n fill: this.themeConfig.quadrant4TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft + quadrantHalfWidth,\n y: quadrantTop + quadrantHalfHeight,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant4Fill\n }\n ];\n for (const quadrant of quadrants) {\n quadrant.text.x = quadrant.x + quadrant.width / 2;\n if (this.data.points.length === 0) {\n quadrant.text.y = quadrant.y + quadrant.height / 2;\n quadrant.text.horizontalPos = \"middle\";\n } else {\n quadrant.text.y = quadrant.y + this.config.quadrantTextTopPadding;\n quadrant.text.horizontalPos = \"top\";\n }\n }\n return quadrants;\n }\n getQuadrantPoints(spaceData) {\n const { quadrantSpace } = spaceData;\n const { quadrantHeight, quadrantLeft, quadrantTop, quadrantWidth } = quadrantSpace;\n const xAxis = scaleLinear().domain([0, 1]).range([quadrantLeft, quadrantWidth + quadrantLeft]);\n const yAxis = scaleLinear().domain([0, 1]).range([quadrantHeight + quadrantTop, quadrantTop]);\n const points = this.data.points.map((point) => {\n const props = {\n x: xAxis(point.x),\n y: yAxis(point.y),\n fill: this.themeConfig.quadrantPointFill,\n radius: this.config.pointRadius,\n text: {\n text: point.text,\n fill: this.themeConfig.quadrantPointTextFill,\n x: xAxis(point.x),\n y: yAxis(point.y) + this.config.pointTextPadding,\n verticalPos: \"center\",\n horizontalPos: \"top\",\n fontSize: this.config.pointLabelFontSize,\n rotation: 0\n }\n };\n return props;\n });\n return points;\n }\n getBorders(spaceData) {\n const halfExternalBorderWidth = this.config.quadrantExternalBorderStrokeWidth / 2;\n const { quadrantSpace } = spaceData;\n const {\n quadrantHalfHeight,\n quadrantHeight,\n quadrantLeft,\n quadrantHalfWidth,\n quadrantTop,\n quadrantWidth\n } = quadrantSpace;\n const borderLines = [\n // top border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft - halfExternalBorderWidth,\n y1: quadrantTop,\n x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,\n y2: quadrantTop\n },\n // right border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft + quadrantWidth,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft + quadrantWidth,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // bottom border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft - halfExternalBorderWidth,\n y1: quadrantTop + quadrantHeight,\n x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,\n y2: quadrantTop + quadrantHeight\n },\n // left border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // vertical inner border\n {\n strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,\n strokeWidth: this.config.quadrantInternalBorderStrokeWidth,\n x1: quadrantLeft + quadrantHalfWidth,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft + quadrantHalfWidth,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // horizontal inner border\n {\n strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,\n strokeWidth: this.config.quadrantInternalBorderStrokeWidth,\n x1: quadrantLeft + halfExternalBorderWidth,\n y1: quadrantTop + quadrantHalfHeight,\n x2: quadrantLeft + quadrantWidth - halfExternalBorderWidth,\n y2: quadrantTop + quadrantHalfHeight\n }\n ];\n return borderLines;\n }\n getTitle(showTitle) {\n if (showTitle) {\n return {\n text: this.data.titleText,\n fill: this.themeConfig.quadrantTitleFill,\n fontSize: this.config.titleFontSize,\n horizontalPos: \"top\",\n verticalPos: \"center\",\n rotation: 0,\n y: this.config.titlePadding,\n x: this.config.chartWidth / 2\n };\n }\n return;\n }\n build() {\n const showXAxis = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText);\n const showYAxis = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText);\n const showTitle = this.config.showTitle && !!this.data.titleText;\n const xAxisPosition = this.data.points.length > 0 ? \"bottom\" : this.config.xAxisPosition;\n const calculatedSpace = this.calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle);\n return {\n points: this.getQuadrantPoints(calculatedSpace),\n quadrants: this.getQuadrants(calculatedSpace),\n axisLabels: this.getAxisLabels(xAxisPosition, showXAxis, showYAxis, calculatedSpace),\n borderLines: this.getBorders(calculatedSpace),\n title: this.getTitle(showTitle)\n };\n }\n}\nconst config = getConfig();\nfunction textSanitizer(text) {\n return sanitizeText(text.trim(), config);\n}\nconst quadrantBuilder = new QuadrantBuilder();\nfunction setQuadrant1Text(textObj) {\n quadrantBuilder.setData({ quadrant1Text: textSanitizer(textObj.text) });\n}\nfunction setQuadrant2Text(textObj) {\n quadrantBuilder.setData({ quadrant2Text: textSanitizer(textObj.text) });\n}\nfunction setQuadrant3Text(textObj) {\n quadrantBuilder.setData({ quadrant3Text: textSanitizer(textObj.text) });\n}\nfunction setQuadrant4Text(textObj) {\n quadrantBuilder.setData({ quadrant4Text: textSanitizer(textObj.text) });\n}\nfunction setXAxisLeftText(textObj) {\n quadrantBuilder.setData({ xAxisLeftText: textSanitizer(textObj.text) });\n}\nfunction setXAxisRightText(textObj) {\n quadrantBuilder.setData({ xAxisRightText: textSanitizer(textObj.text) });\n}\nfunction setYAxisTopText(textObj) {\n quadrantBuilder.setData({ yAxisTopText: textSanitizer(textObj.text) });\n}\nfunction setYAxisBottomText(textObj) {\n quadrantBuilder.setData({ yAxisBottomText: textSanitizer(textObj.text) });\n}\nfunction addPoint(textObj, x, y) {\n quadrantBuilder.addPoints([{ x, y, text: textSanitizer(textObj.text) }]);\n}\nfunction setWidth(width) {\n quadrantBuilder.setConfig({ chartWidth: width });\n}\nfunction setHeight(height) {\n quadrantBuilder.setConfig({ chartHeight: height });\n}\nfunction getQuadrantData() {\n const config2 = getConfig();\n const { themeVariables, quadrantChart: quadrantChartConfig } = config2;\n if (quadrantChartConfig) {\n quadrantBuilder.setConfig(quadrantChartConfig);\n }\n quadrantBuilder.setThemeConfig({\n quadrant1Fill: themeVariables.quadrant1Fill,\n quadrant2Fill: themeVariables.quadrant2Fill,\n quadrant3Fill: themeVariables.quadrant3Fill,\n quadrant4Fill: themeVariables.quadrant4Fill,\n quadrant1TextFill: themeVariables.quadrant1TextFill,\n quadrant2TextFill: themeVariables.quadrant2TextFill,\n quadrant3TextFill: themeVariables.quadrant3TextFill,\n quadrant4TextFill: themeVariables.quadrant4TextFill,\n quadrantPointFill: themeVariables.quadrantPointFill,\n quadrantPointTextFill: themeVariables.quadrantPointTextFill,\n quadrantXAxisTextFill: themeVariables.quadrantXAxisTextFill,\n quadrantYAxisTextFill: themeVariables.quadrantYAxisTextFill,\n quadrantExternalBorderStrokeFill: themeVariables.quadrantExternalBorderStrokeFill,\n quadrantInternalBorderStrokeFill: themeVariables.quadrantInternalBorderStrokeFill,\n quadrantTitleFill: themeVariables.quadrantTitleFill\n });\n quadrantBuilder.setData({ titleText: getDiagramTitle() });\n return quadrantBuilder.build();\n}\nconst clear = function() {\n quadrantBuilder.clear();\n clear$1();\n};\nconst db = {\n setWidth,\n setHeight,\n setQuadrant1Text,\n setQuadrant2Text,\n setQuadrant3Text,\n setQuadrant4Text,\n setXAxisLeftText,\n setXAxisRightText,\n setYAxisTopText,\n setYAxisBottomText,\n addPoint,\n getQuadrantData,\n clear,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\nconst draw = (txt, id, _version, diagObj) => {\n var _a, _b, _c;\n function getDominantBaseLine(horizontalPos) {\n return horizontalPos === \"top\" ? \"hanging\" : \"middle\";\n }\n function getTextAnchor(verticalPos) {\n return verticalPos === \"left\" ? \"start\" : \"middle\";\n }\n function getTransformation(data) {\n return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`;\n }\n const conf = getConfig();\n log.debug(\"Rendering quadrant chart\\n\" + txt);\n const securityLevel = conf.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 const svg = root.select(`[id=\"${id}\"]`);\n const group = svg.append(\"g\").attr(\"class\", \"main\");\n const width = ((_a = conf.quadrantChart) == null ? void 0 : _a.chartWidth) || 500;\n const height = ((_b = conf.quadrantChart) == null ? void 0 : _b.chartHeight) || 500;\n configureSvgSize(svg, height, width, ((_c = conf.quadrantChart) == null ? void 0 : _c.useMaxWidth) || true);\n svg.attr(\"viewBox\", \"0 0 \" + width + \" \" + height);\n diagObj.db.setHeight(height);\n diagObj.db.setWidth(width);\n const quadrantData = diagObj.db.getQuadrantData();\n const quadrantsGroup = group.append(\"g\").attr(\"class\", \"quadrants\");\n const borderGroup = group.append(\"g\").attr(\"class\", \"border\");\n const dataPointGroup = group.append(\"g\").attr(\"class\", \"data-points\");\n const labelGroup = group.append(\"g\").attr(\"class\", \"labels\");\n const titleGroup = group.append(\"g\").attr(\"class\", \"title\");\n if (quadrantData.title) {\n titleGroup.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", quadrantData.title.fill).attr(\"font-size\", quadrantData.title.fontSize).attr(\"dominant-baseline\", getDominantBaseLine(quadrantData.title.horizontalPos)).attr(\"text-anchor\", getTextAnchor(quadrantData.title.verticalPos)).attr(\"transform\", getTransformation(quadrantData.title)).text(quadrantData.title.text);\n }\n if (quadrantData.borderLines) {\n borderGroup.selectAll(\"line\").data(quadrantData.borderLines).enter().append(\"line\").attr(\"x1\", (data) => data.x1).attr(\"y1\", (data) => data.y1).attr(\"x2\", (data) => data.x2).attr(\"y2\", (data) => data.y2).style(\"stroke\", (data) => data.strokeFill).style(\"stroke-width\", (data) => data.strokeWidth);\n }\n const quadrants = quadrantsGroup.selectAll(\"g.quadrant\").data(quadrantData.quadrants).enter().append(\"g\").attr(\"class\", \"quadrant\");\n quadrants.append(\"rect\").attr(\"x\", (data) => data.x).attr(\"y\", (data) => data.y).attr(\"width\", (data) => data.width).attr(\"height\", (data) => data.height).attr(\"fill\", (data) => data.fill);\n quadrants.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", (data) => data.text.fill).attr(\"font-size\", (data) => data.text.fontSize).attr(\n \"dominant-baseline\",\n (data) => getDominantBaseLine(data.text.horizontalPos)\n ).attr(\"text-anchor\", (data) => getTextAnchor(data.text.verticalPos)).attr(\"transform\", (data) => getTransformation(data.text)).text((data) => data.text.text);\n const labels = labelGroup.selectAll(\"g.label\").data(quadrantData.axisLabels).enter().append(\"g\").attr(\"class\", \"label\");\n labels.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).text((data) => data.text).attr(\"fill\", (data) => data.fill).attr(\"font-size\", (data) => data.fontSize).attr(\"dominant-baseline\", (data) => getDominantBaseLine(data.horizontalPos)).attr(\"text-anchor\", (data) => getTextAnchor(data.verticalPos)).attr(\"transform\", (data) => getTransformation(data));\n const dataPoints = dataPointGroup.selectAll(\"g.data-point\").data(quadrantData.points).enter().append(\"g\").attr(\"class\", \"data-point\");\n dataPoints.append(\"circle\").attr(\"cx\", (data) => data.x).attr(\"cy\", (data) => data.y).attr(\"r\", (data) => data.radius).attr(\"fill\", (data) => data.fill);\n dataPoints.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).text((data) => data.text.text).attr(\"fill\", (data) => data.text.fill).attr(\"font-size\", (data) => data.text.fontSize).attr(\n \"dominant-baseline\",\n (data) => getDominantBaseLine(data.text.horizontalPos)\n ).attr(\"text-anchor\", (data) => getTextAnchor(data.text.verticalPos)).attr(\"transform\", (data) => getTransformation(data.text));\n};\nconst renderer = {\n draw\n};\nconst diagram = {\n parser: parser$1,\n db,\n renderer,\n styles: () => \"\"\n};\nexport {\n diagram\n};\n"],"names":["parser","o","k","v","o2","l","length","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","$Vu","$Vv","$Vw","$Vx","$Vy","$Vz","$VA","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","this","$","trim","setDiagramTitle","setAccTitle","setAccDescription","addSection","substr","addPoint","setXAxisLeftText","setXAxisRightText","text","setYAxisBottomText","setYAxisTopText","setQuadrant1Text","setQuadrant2Text","setQuadrant3Text","setQuadrant4Text","type","table","defaultActions","parseError","str","hash","recoverable","error","Error","parse","input","self","stack","tstack","vstack","lstack","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","push","ranges","options","getPrototypeOf","symbol","state","action","r","p","len","newState","expected","token","yyval","pop","lex","Array","errStr","showPosition","join","match","line","loc","first_line","last_line","first_column","last_column","range","apply","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","oldLines","more","reject","backtrack_lexer","less","n","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","i","flex","begin","condition","popState","conditions","topState","Math","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","Parser","parser$1","defaultThemeVariables","config","textSanitizer","quadrantBuilder","constructor","getDefaultConfig","themeConfig","getDefaultThemeConfig","data","getDefaultData","titleText","quadrant1Text","quadrant2Text","quadrant3Text","quadrant4Text","xAxisLeftText","xAxisRightText","yAxisBottomText","yAxisTopText","points","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","showXAxis","showYAxis","showTitle","chartHeight","quadrantChart","chartWidth","titlePadding","titleFontSize","quadrantPadding","xAxisLabelPadding","yAxisLabelPadding","xAxisLabelFontSize","yAxisLabelFontSize","quadrantLabelFontSize","quadrantTextTopPadding","pointTextPadding","pointLabelFontSize","pointRadius","xAxisPosition","yAxisPosition","quadrantInternalBorderStrokeWidth","quadrantExternalBorderStrokeWidth","quadrant1Fill","quadrant2Fill","quadrant3Fill","quadrant4Fill","quadrant1TextFill","quadrant2TextFill","quadrant3TextFill","quadrant4TextFill","quadrantPointFill","quadrantPointTextFill","quadrantXAxisTextFill","quadrantYAxisTextFill","quadrantTitleFill","quadrantInternalBorderStrokeFill","quadrantExternalBorderStrokeFill","clear","info","setData","addPoints","setConfig","config2","setThemeConfig","calculateSpace","xAxisSpaceCalculation","xAxisSpace","top","bottom","yAxisSpaceCalculation","yAxisSpace","left","right","titleSpaceCalculation","titleSpace","quadrantLeft","quadrantTop","quadrantWidth","quadrantHeight","quadrantSpace","quadrantHalfWidth","quadrantHalfHeight","getAxisLabels","spaceData","drawAxisLabelInMiddle","axisLabels","fill","x","y","fontSize","verticalPos","horizontalPos","rotation","getQuadrants","quadrants","width","height","quadrant","getQuadrantPoints","xAxis","scaleLinear","domain","yAxis","map","point","radius","getBorders","halfExternalBorderWidth","strokeFill","strokeWidth","x1","y1","x2","y2","getTitle","build","calculatedSpace","borderLines","title","diagram","db","setWidth","setHeight","textObj","getQuadrantData","themeVariables","quadrantChartConfig","getAccTitle","getDiagramTitle","getAccDescription","renderer","draw","txt","id","_version","diagObj","getDominantBaseLine","getTextAnchor","getTransformation","conf","debug","securityLevel","sandboxElement","select","svg","nodes","contentDocument","body","group","append","attr","useMaxWidth","quadrantData","quadrantsGroup","borderGroup","dataPointGroup","labelGroup","titleGroup","selectAll","enter","style","dataPoints","styles"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"196.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/lodash-es/clone.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/dagre-d3-es/src/graphlib/json.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/index-b0b3af87.js"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import { layout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport { c as createLabel, i as intersectRect, a as insertMarkers, b as clear$2, d as clear$3, u as updateNodeBounds, s as setNodeElem, e as insertNode, f as insertEdgeLabel, p as positionNode, g as insertEdge, h as positionEdgeLabel } from \"./edges-bc33a094.js\";\nimport { l as log, m as evaluate, c as getConfig } from \"./mermaid-485fd1a4.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport { c as createText } from \"./createText-b3507a77.js\";\nimport { select } from \"d3\";\nlet clusterDb = {};\nlet descendants = {};\nlet parents = {};\nconst clear$1 = () => {\n descendants = {};\n parents = {};\n clusterDb = {};\n};\nconst isDescendant = (id, ancenstorId) => {\n log.trace(\"In isDecendant\", ancenstorId, \" \", id, \" = \", descendants[ancenstorId].includes(id));\n if (descendants[ancenstorId].includes(id)) {\n return true;\n }\n return false;\n};\nconst edgeInCluster = (edge, clusterId) => {\n log.info(\"Decendants of \", clusterId, \" is \", descendants[clusterId]);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId) {\n return false;\n }\n if (edge.w === clusterId) {\n return false;\n }\n if (!descendants[clusterId]) {\n log.debug(\"Tilt, \", clusterId, \",not in decendants\");\n return false;\n }\n return descendants[clusterId].includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || descendants[clusterId].includes(edge.w);\n};\nconst copy = (clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n};\nconst extractDescendants = (id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents[child] = id;\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n};\nconst findNonClusterChild = (id, graph) => {\n log.trace(\"Searching\", id);\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n log.trace(\"This is a valid node\", id);\n return id;\n }\n for (const child of children) {\n const _id = findNonClusterChild(child, graph);\n if (_id) {\n log.trace(\"Found replacement for\", id, \" => \", _id);\n return _id;\n }\n }\n};\nconst getAnchorId = (id) => {\n if (!clusterDb[id]) {\n return id;\n }\n if (!clusterDb[id].externalConnections) {\n return id;\n }\n if (clusterDb[id]) {\n return clusterDb[id].id;\n }\n return id;\n};\nconst adjustClustersAndEdges = (graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph)\n );\n descendants[id] = extractDescendants(id, graph);\n clusterDb[id] = { id: findNonClusterChild(id, graph), clusterData: graph.node(id) };\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n if (edge.v !== id && edge.w !== id) {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Decendants of XXX \", id, \": \", descendants[id]);\n clusterDb[id].externalConnections = true;\n }\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb[e.v],\n \" --- \",\n clusterDb[e.w]\n );\n if (clusterDb[e.v] && clusterDb[e.w] && clusterDb[e.v] === clusterDb[e.w]) {\n log.warn(\"Fixing and trixing link to self - removing XXX\", e.v, e.w, e.name);\n log.warn(\"Fixing and trixing - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n const specialId = e.w + \"---\" + e.v;\n graph.setNode(specialId, {\n domId: specialId,\n id: specialId,\n labelStyle: \"\",\n labelText: edge.label,\n padding: 0,\n shape: \"labelRect\",\n style: \"\"\n });\n const edge1 = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge2.label = \"\";\n edge1.fromCluster = e.v;\n edge2.toCluster = e.v;\n graph.setEdge(v, specialId, edge1, e.name + \"-cyclic-special\");\n graph.setEdge(specialId, w, edge2, e.name + \"-cyclic-special\");\n } else if (clusterDb[e.v] || clusterDb[e.w]) {\n log.warn(\"Fixing and trixing - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n};\nconst extractor = (graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb[node] && !clusterDb[node].externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb[node]) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb[node].externalConnections && // !graph.parent(node) &&\n graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb[node] && clusterDb[node].clusterData && clusterDb[node].clusterData.dir) {\n dir = clusterDb[node].clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb[node].clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n // Todo: set proper spacing\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb[node].clusterData,\n labelText: clusterDb[node].labelText,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb[node].externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n};\nconst sorter = (graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign(nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n};\nconst sortNodesByHierarchy = (graph) => sorter(graph, graph.children());\nconst rect = (parent, node) => {\n log.info(\"Creating subgraph rect for \", node.id, node);\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"cluster\" + (node.class ? \" \" + node.class : \"\")).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const useHtmlLabels = evaluate(getConfig().flowchart.htmlLabels);\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label\");\n const text = node.labelType === \"markdown\" ? createText(label, node.labelText, { style: node.labelStyle, useHtmlLabels }) : label.node().appendChild(createLabel(node.labelText, node.labelStyle, void 0, true));\n let bbox = text.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n const width = node.width <= bbox.width + padding ? bbox.width + padding : node.width;\n if (node.width <= bbox.width + padding) {\n node.diff = (bbox.width - node.width) / 2 - node.padding / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n log.trace(\"Data \", node, JSON.stringify(node));\n rect2.attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", node.x - width / 2).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", width).attr(\"height\", node.height + padding);\n if (useHtmlLabels) {\n label.attr(\n \"transform\",\n // This puts the labal on top of the box instead of inside it\n \"translate(\" + (node.x - bbox.width / 2) + \", \" + (node.y - node.height / 2) + \")\"\n );\n } else {\n label.attr(\n \"transform\",\n // This puts the labal on top of the box instead of inside it\n \"translate(\" + node.x + \", \" + (node.y - node.height / 2) + \")\"\n );\n }\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst noteGroup = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"note-cluster\").attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n rect2.attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", node.x - node.width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", node.width + padding).attr(\"height\", node.height + padding).attr(\"fill\", \"none\");\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst roundedWithTitle = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.classes).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label\");\n const innerRect = shapeSvg.append(\"rect\");\n const text = label.node().appendChild(createLabel(node.labelText, node.labelStyle, void 0, true));\n let bbox = text.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n bbox = text.getBBox();\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;\n if (node.width <= bbox.width + node.padding) {\n node.diff = (bbox.width + node.padding * 0 - node.width) / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n rect2.attr(\"class\", \"outer\").attr(\"x\", node.x - width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", width + padding).attr(\"height\", node.height + padding);\n innerRect.attr(\"class\", \"inner\").attr(\"x\", node.x - width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding + bbox.height - 1).attr(\"width\", width + padding).attr(\"height\", node.height + padding - bbox.height - 3);\n label.attr(\n \"transform\",\n \"translate(\" + (node.x - bbox.width / 2) + \", \" + (node.y - node.height / 2 - node.padding / 3 + (evaluate(getConfig().flowchart.htmlLabels) ? 5 : 3)) + \")\"\n );\n const rectBox = rect2.node().getBBox();\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst divider = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.classes).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n rect2.attr(\"class\", \"divider\").attr(\"x\", node.x - node.width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2).attr(\"width\", node.width + padding).attr(\"height\", node.height + padding);\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.diff = -node.padding / 2;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst shapes = { rect, roundedWithTitle, noteGroup, divider };\nlet clusterElems = {};\nconst insertCluster = (elem, node) => {\n log.trace(\"Inserting cluster\");\n const shape = node.shape || \"rect\";\n clusterElems[node.id] = shapes[shape](elem, node);\n};\nconst clear = () => {\n clusterElems = {};\n};\nconst recursiveRender = async (_elem, graph, diagramtype, id, parentCluster) => {\n log.info(\"Graph in recursive render: XXX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.trace(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.info(\"Setting data for cluster XXX (\", v, \") \", data, parentCluster);\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node && node.clusterNode) {\n log.info(\"Cluster identified\", v, node.width, graph.node(v));\n const o = await recursiveRender(nodes, node.graph, diagramtype, id, graph.node(v));\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\"Node bounds (abc123)\", v, node, node.width, node.x, node.y);\n setNodeElem(newEl, node);\n log.warn(\"Recursive render complete \", newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\"Cluster - the non recursive path XXX\", v, node.id, node, graph);\n log.info(findNonClusterChild(node.id, graph));\n clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };\n } else {\n log.info(\"Node - the non recursive path\", v, node.id, node);\n await insertNode(nodes, graph.node(v), dir);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\"Fix\", clusterDb, \"ids:\", e.v, e.w, \"Translateing: \", clusterDb[e.v], clusterDb[e.w]);\n insertEdgeLabel(edgeLabels, edge);\n });\n graph.edges().forEach(function(e) {\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n });\n log.info(\"#############################################\");\n log.info(\"### Layout ###\");\n log.info(\"#############################################\");\n log.info(graph);\n layout(graph);\n log.info(\"Graph after layout:\", graphlibJson.write(graph));\n let diff = 0;\n sortNodesByHierarchy(graph).forEach(function(v) {\n const node = graph.node(v);\n log.info(\"Position \" + v + \": \" + JSON.stringify(graph.node(v)));\n log.info(\n \"Position \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node && node.clusterNode) {\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n insertCluster(clusters, node);\n clusterDb[node.id].node = node;\n } else {\n positionNode(node);\n }\n }\n });\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramtype, graph, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.type === \"group\") {\n diff = n.diff;\n }\n });\n return { elem, diff };\n};\nconst render = async (elem, graph, markers, diagramtype, id) => {\n insertMarkers(elem, markers, diagramtype, id);\n clear$2();\n clear$3();\n clear();\n clear$1();\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after:\", JSON.stringify(graphlibJson.write(graph)));\n await recursiveRender(elem, graph, diagramtype, id);\n};\nexport {\n render as r\n};\n"],"names":["value","write","g","json","options","directed","isDirected","multigraph","isMultigraph","compound","isCompound","nodes","writeNodes","edges","writeEdges","graph","v","nodeValue","node","parent","e","edgeValue","edge","w","name","read","Graph","setGraph","entry","setNode","setParent","setEdge","clusterDb","descendants","parents","isDescendant","id","ancenstorId","l","trace","includes","copy","clusterId","newGraph","rootId","warn","children","push","forEach","length","data","info","debug","data2","edgeInCluster","error","removeNode","extractDescendants","res","child","findNonClusterChild","_id","getAnchorId","externalConnections","extractor","depth","hasChildren","dir","rankdir","clusterData","clusterGraph","nodesep","ranksep","marginx","marginy","setDefaultEdgeLabel","clusterNode","labelText","sorter","result","Object","assign","sorted","shapes","rect","shapeSvg","insert","attr","class","rect2","useHtmlLabels","flowchart","htmlLabels","label","text","labelType","c","style","labelStyle","appendChild","bbox","getBBox","div","dv","select","getBoundingClientRect","width","height","padding","halfPadding","diff","JSON","stringify","rx","ry","x","y","rectBox","intersect","point","i","roundedWithTitle","classes","innerRect","append","noteGroup","divider","clusterElems","recursiveRender","async","_elem","diagramtype","parentCluster","elem","clusters","edgePaths","edgeLabels","Promise","all","map","parse","o","newEl","u","s","layout","sortNodesByHierarchy","p","shape","insertCluster","paths","n","type","render","markers","removeEdge","specialId","domId","edge1","structuredClone","edge2","arrowTypeEnd","fromCluster","toCluster","adjustClustersAndEdges"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"222.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/styles-409bbf16.js"],"sourcesContent":["import { c as getConfig, g as getAccTitle, s as setAccTitle, a as getAccDescription, b as setAccDescription, q as setDiagramTitle, r as getDiagramTitle, l as log, e as common, t as clear$1, G as generateId } from \"./mermaid-485fd1a4.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 2], $V1 = [1, 3], $V2 = [1, 4], $V3 = [2, 4], $V4 = [1, 9], $V5 = [1, 11], $V6 = [1, 15], $V7 = [1, 16], $V8 = [1, 17], $V9 = [1, 18], $Va = [1, 30], $Vb = [1, 19], $Vc = [1, 20], $Vd = [1, 21], $Ve = [1, 22], $Vf = [1, 23], $Vg = [1, 25], $Vh = [1, 26], $Vi = [1, 27], $Vj = [1, 28], $Vk = [1, 29], $Vl = [1, 32], $Vm = [1, 33], $Vn = [1, 34], $Vo = [1, 35], $Vp = [1, 31], $Vq = [1, 4, 5, 15, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46, 47, 50], $Vr = [1, 4, 5, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46, 47, 50], $Vs = [4, 5, 15, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46, 47, 50];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SPACE\": 4, \"NL\": 5, \"SD\": 6, \"document\": 7, \"line\": 8, \"statement\": 9, \"classDefStatement\": 10, \"cssClassStatement\": 11, \"idStatement\": 12, \"DESCR\": 13, \"-->\": 14, \"HIDE_EMPTY\": 15, \"scale\": 16, \"WIDTH\": 17, \"COMPOSIT_STATE\": 18, \"STRUCT_START\": 19, \"STRUCT_STOP\": 20, \"STATE_DESCR\": 21, \"AS\": 22, \"ID\": 23, \"FORK\": 24, \"JOIN\": 25, \"CHOICE\": 26, \"CONCURRENT\": 27, \"note\": 28, \"notePosition\": 29, \"NOTE_TEXT\": 30, \"direction\": 31, \"acc_title\": 32, \"acc_title_value\": 33, \"acc_descr\": 34, \"acc_descr_value\": 35, \"acc_descr_multiline_value\": 36, \"classDef\": 37, \"CLASSDEF_ID\": 38, \"CLASSDEF_STYLEOPTS\": 39, \"DEFAULT\": 40, \"class\": 41, \"CLASSENTITY_IDS\": 42, \"STYLECLASS\": 43, \"direction_tb\": 44, \"direction_bt\": 45, \"direction_rl\": 46, \"direction_lr\": 47, \"eol\": 48, \";\": 49, \"EDGE_STATE\": 50, \"STYLE_SEPARATOR\": 51, \"left_of\": 52, \"right_of\": 53, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SPACE\", 5: \"NL\", 6: \"SD\", 13: \"DESCR\", 14: \"-->\", 15: \"HIDE_EMPTY\", 16: \"scale\", 17: \"WIDTH\", 18: \"COMPOSIT_STATE\", 19: \"STRUCT_START\", 20: \"STRUCT_STOP\", 21: \"STATE_DESCR\", 22: \"AS\", 23: \"ID\", 24: \"FORK\", 25: \"JOIN\", 26: \"CHOICE\", 27: \"CONCURRENT\", 28: \"note\", 30: \"NOTE_TEXT\", 32: \"acc_title\", 33: \"acc_title_value\", 34: \"acc_descr\", 35: \"acc_descr_value\", 36: \"acc_descr_multiline_value\", 37: \"classDef\", 38: \"CLASSDEF_ID\", 39: \"CLASSDEF_STYLEOPTS\", 40: \"DEFAULT\", 41: \"class\", 42: \"CLASSENTITY_IDS\", 43: \"STYLECLASS\", 44: \"direction_tb\", 45: \"direction_bt\", 46: \"direction_rl\", 47: \"direction_lr\", 49: \";\", 50: \"EDGE_STATE\", 51: \"STYLE_SEPARATOR\", 52: \"left_of\", 53: \"right_of\" },\n productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [8, 1], [8, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 3], [9, 4], [9, 1], [9, 2], [9, 1], [9, 4], [9, 3], [9, 6], [9, 1], [9, 1], [9, 1], [9, 1], [9, 4], [9, 4], [9, 1], [9, 2], [9, 2], [9, 1], [10, 3], [10, 3], [11, 3], [31, 1], [31, 1], [31, 1], [31, 1], [48, 1], [48, 1], [12, 1], [12, 1], [12, 3], [12, 3], [29, 1], [29, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.setRootDoc($$[$0]);\n return $$[$0];\n case 4:\n this.$ = [];\n break;\n case 5:\n if ($$[$0] != \"nl\") {\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n }\n break;\n case 6:\n case 7:\n this.$ = $$[$0];\n break;\n case 8:\n this.$ = \"nl\";\n break;\n case 11:\n this.$ = $$[$0];\n break;\n case 12:\n const stateStmt = $$[$0 - 1];\n stateStmt.description = yy.trimColon($$[$0]);\n this.$ = stateStmt;\n break;\n case 13:\n this.$ = { stmt: \"relation\", state1: $$[$0 - 2], state2: $$[$0] };\n break;\n case 14:\n const relDescription = yy.trimColon($$[$0]);\n this.$ = { stmt: \"relation\", state1: $$[$0 - 3], state2: $$[$0 - 1], description: relDescription };\n break;\n case 18:\n this.$ = { stmt: \"state\", id: $$[$0 - 3], type: \"default\", description: \"\", doc: $$[$0 - 1] };\n break;\n case 19:\n var id = $$[$0];\n var description = $$[$0 - 2].trim();\n if ($$[$0].match(\":\")) {\n var parts = $$[$0].split(\":\");\n id = parts[0];\n description = [description, parts[1]];\n }\n this.$ = { stmt: \"state\", id, type: \"default\", description };\n break;\n case 20:\n this.$ = { stmt: \"state\", id: $$[$0 - 3], type: \"default\", description: $$[$0 - 5], doc: $$[$0 - 1] };\n break;\n case 21:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"fork\" };\n break;\n case 22:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"join\" };\n break;\n case 23:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"choice\" };\n break;\n case 24:\n this.$ = { stmt: \"state\", id: yy.getDividerId(), type: \"divider\" };\n break;\n case 25:\n this.$ = { stmt: \"state\", id: $$[$0 - 1].trim(), note: { position: $$[$0 - 2].trim(), text: $$[$0].trim() } };\n break;\n case 28:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 29:\n case 30:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 31:\n case 32:\n this.$ = { stmt: \"classDef\", id: $$[$0 - 1].trim(), classes: $$[$0].trim() };\n break;\n case 33:\n this.$ = { stmt: \"applyClass\", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };\n break;\n case 34:\n yy.setDirection(\"TB\");\n this.$ = { stmt: \"dir\", value: \"TB\" };\n break;\n case 35:\n yy.setDirection(\"BT\");\n this.$ = { stmt: \"dir\", value: \"BT\" };\n break;\n case 36:\n yy.setDirection(\"RL\");\n this.$ = { stmt: \"dir\", value: \"RL\" };\n break;\n case 37:\n yy.setDirection(\"LR\");\n this.$ = { stmt: \"dir\", value: \"LR\" };\n break;\n case 40:\n case 41:\n this.$ = { stmt: \"state\", id: $$[$0].trim(), type: \"default\", description: \"\" };\n break;\n case 42:\n this.$ = { stmt: \"state\", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: \"default\", description: \"\" };\n break;\n case 43:\n this.$ = { stmt: \"state\", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: \"default\", description: \"\" };\n break;\n }\n },\n table: [{ 3: 1, 4: $V0, 5: $V1, 6: $V2 }, { 1: [3] }, { 3: 5, 4: $V0, 5: $V1, 6: $V2 }, { 3: 6, 4: $V0, 5: $V1, 6: $V2 }, o([1, 4, 5, 15, 16, 18, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46, 47, 50], $V3, { 7: 7 }), { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3], 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 15: $V6, 16: $V7, 18: $V8, 21: $V9, 23: $Va, 24: $Vb, 25: $Vc, 26: $Vd, 27: $Ve, 28: $Vf, 31: 24, 32: $Vg, 34: $Vh, 36: $Vi, 37: $Vj, 41: $Vk, 44: $Vl, 45: $Vm, 46: $Vn, 47: $Vo, 50: $Vp }, o($Vq, [2, 5]), { 9: 36, 10: 12, 11: 13, 12: 14, 15: $V6, 16: $V7, 18: $V8, 21: $V9, 23: $Va, 24: $Vb, 25: $Vc, 26: $Vd, 27: $Ve, 28: $Vf, 31: 24, 32: $Vg, 34: $Vh, 36: $Vi, 37: $Vj, 41: $Vk, 44: $Vl, 45: $Vm, 46: $Vn, 47: $Vo, 50: $Vp }, o($Vq, [2, 7]), o($Vq, [2, 8]), o($Vq, [2, 9]), o($Vq, [2, 10]), o($Vq, [2, 11], { 13: [1, 37], 14: [1, 38] }), o($Vq, [2, 15]), { 17: [1, 39] }, o($Vq, [2, 17], { 19: [1, 40] }), { 22: [1, 41] }, o($Vq, [2, 21]), o($Vq, [2, 22]), o($Vq, [2, 23]), o($Vq, [2, 24]), { 29: 42, 30: [1, 43], 52: [1, 44], 53: [1, 45] }, o($Vq, [2, 27]), { 33: [1, 46] }, { 35: [1, 47] }, o($Vq, [2, 30]), { 38: [1, 48], 40: [1, 49] }, { 42: [1, 50] }, o($Vr, [2, 40], { 51: [1, 51] }), o($Vr, [2, 41], { 51: [1, 52] }), o($Vq, [2, 34]), o($Vq, [2, 35]), o($Vq, [2, 36]), o($Vq, [2, 37]), o($Vq, [2, 6]), o($Vq, [2, 12]), { 12: 53, 23: $Va, 50: $Vp }, o($Vq, [2, 16]), o($Vs, $V3, { 7: 54 }), { 23: [1, 55] }, { 23: [1, 56] }, { 22: [1, 57] }, { 23: [2, 44] }, { 23: [2, 45] }, o($Vq, [2, 28]), o($Vq, [2, 29]), { 39: [1, 58] }, { 39: [1, 59] }, { 43: [1, 60] }, { 23: [1, 61] }, { 23: [1, 62] }, o($Vq, [2, 13], { 13: [1, 63] }), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 15: $V6, 16: $V7, 18: $V8, 20: [1, 64], 21: $V9, 23: $Va, 24: $Vb, 25: $Vc, 26: $Vd, 27: $Ve, 28: $Vf, 31: 24, 32: $Vg, 34: $Vh, 36: $Vi, 37: $Vj, 41: $Vk, 44: $Vl, 45: $Vm, 46: $Vn, 47: $Vo, 50: $Vp }, o($Vq, [2, 19], { 19: [1, 65] }), { 30: [1, 66] }, { 23: [1, 67] }, o($Vq, [2, 31]), o($Vq, [2, 32]), o($Vq, [2, 33]), o($Vr, [2, 42]), o($Vr, [2, 43]), o($Vq, [2, 14]), o($Vq, [2, 18]), o($Vs, $V3, { 7: 68 }), o($Vq, [2, 25]), o($Vq, [2, 26]), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 15: $V6, 16: $V7, 18: $V8, 20: [1, 69], 21: $V9, 23: $Va, 24: $Vb, 25: $Vc, 26: $Vd, 27: $Ve, 28: $Vf, 31: 24, 32: $Vg, 34: $Vh, 36: $Vi, 37: $Vj, 41: $Vk, 44: $Vl, 45: $Vm, 46: $Vn, 47: $Vo, 50: $Vp }, o($Vq, [2, 20])],\n defaultActions: { 5: [2, 1], 6: [2, 2], 44: [2, 44], 45: [2, 45] },\n parseError: 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 },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 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 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 var symbol, state, action, 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 {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\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 }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: 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 },\n // resets the lexer, sets new input\n setInput: 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 },\n // consumes and returns one char from the input\n input: 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 },\n // unshifts one char (or a string) into the input\n unput: 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 },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\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: 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 },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: 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 },\n // displays upcoming input, i.e. for error messages\n upcomingInput: 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 },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: 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 },\n // return next match in input\n next: 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 },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: 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 },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: 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 },\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: 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 },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n return 40;\n case 1:\n return 44;\n case 2:\n return 45;\n case 3:\n return 46;\n case 4:\n return 47;\n case 5:\n break;\n case 6:\n break;\n case 7:\n return 5;\n case 8:\n break;\n case 9:\n break;\n case 10:\n break;\n case 11:\n break;\n case 12:\n this.pushState(\"SCALE\");\n return 16;\n case 13:\n return 17;\n case 14:\n this.popState();\n break;\n case 15:\n this.begin(\"acc_title\");\n return 32;\n case 16:\n this.popState();\n return \"acc_title_value\";\n case 17:\n this.begin(\"acc_descr\");\n return 34;\n case 18:\n this.popState();\n return \"acc_descr_value\";\n case 19:\n this.begin(\"acc_descr_multiline\");\n break;\n case 20:\n this.popState();\n break;\n case 21:\n return \"acc_descr_multiline_value\";\n case 22:\n this.pushState(\"CLASSDEF\");\n return 37;\n case 23:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return \"DEFAULT_CLASSDEF_ID\";\n case 24:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return 38;\n case 25:\n this.popState();\n return 39;\n case 26:\n this.pushState(\"CLASS\");\n return 41;\n case 27:\n this.popState();\n this.pushState(\"CLASS_STYLE\");\n return 42;\n case 28:\n this.popState();\n return 43;\n case 29:\n this.pushState(\"SCALE\");\n return 16;\n case 30:\n return 17;\n case 31:\n this.popState();\n break;\n case 32:\n this.pushState(\"STATE\");\n break;\n case 33:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 24;\n case 34:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 25;\n case 35:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -10).trim();\n return 26;\n case 36:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 24;\n case 37:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 25;\n case 38:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -10).trim();\n return 26;\n case 39:\n return 44;\n case 40:\n return 45;\n case 41:\n return 46;\n case 42:\n return 47;\n case 43:\n this.pushState(\"STATE_STRING\");\n break;\n case 44:\n this.pushState(\"STATE_ID\");\n return \"AS\";\n case 45:\n this.popState();\n return \"ID\";\n case 46:\n this.popState();\n break;\n case 47:\n return \"STATE_DESCR\";\n case 48:\n return 18;\n case 49:\n this.popState();\n break;\n case 50:\n this.popState();\n this.pushState(\"struct\");\n return 19;\n case 51:\n break;\n case 52:\n this.popState();\n return 20;\n case 53:\n break;\n case 54:\n this.begin(\"NOTE\");\n return 28;\n case 55:\n this.popState();\n this.pushState(\"NOTE_ID\");\n return 52;\n case 56:\n this.popState();\n this.pushState(\"NOTE_ID\");\n return 53;\n case 57:\n this.popState();\n this.pushState(\"FLOATING_NOTE\");\n break;\n case 58:\n this.popState();\n this.pushState(\"FLOATING_NOTE_ID\");\n return \"AS\";\n case 59:\n break;\n case 60:\n return \"NOTE_TEXT\";\n case 61:\n this.popState();\n return \"ID\";\n case 62:\n this.popState();\n this.pushState(\"NOTE_TEXT\");\n return 23;\n case 63:\n this.popState();\n yy_.yytext = yy_.yytext.substr(2).trim();\n return 30;\n case 64:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 30;\n case 65:\n return 6;\n case 66:\n return 6;\n case 67:\n return 15;\n case 68:\n return 50;\n case 69:\n return 23;\n case 70:\n yy_.yytext = yy_.yytext.trim();\n return 13;\n case 71:\n return 14;\n case 72:\n return 27;\n case 73:\n return 51;\n case 74:\n return 5;\n case 75:\n return \"INVALID\";\n }\n },\n rules: [/^(?:default\\b)/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:[\\s]+)/i, /^(?:((?!\\n)\\s)+)/i, /^(?:#[^\\n]*)/i, /^(?:%[^\\n]*)/i, /^(?:scale\\s+)/i, /^(?:\\d+)/i, /^(?:\\s+width\\b)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:classDef\\s+)/i, /^(?:DEFAULT\\s+)/i, /^(?:\\w+\\s+)/i, /^(?:[^\\n]*)/i, /^(?:class\\s+)/i, /^(?:(\\w+)+((,\\s*\\w+)*))/i, /^(?:[^\\n]*)/i, /^(?:scale\\s+)/i, /^(?:\\d+)/i, /^(?:\\s+width\\b)/i, /^(?:state\\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*<<choice>>)/i, /^(?:.*\\[\\[fork\\]\\])/i, /^(?:.*\\[\\[join\\]\\])/i, /^(?:.*\\[\\[choice\\]\\])/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:[\"])/i, /^(?:\\s*as\\s+)/i, /^(?:[^\\n\\{]*)/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[^\\n\\s\\{]+)/i, /^(?:\\n)/i, /^(?:\\{)/i, /^(?:%%(?!\\{)[^\\n]*)/i, /^(?:\\})/i, /^(?:[\\n])/i, /^(?:note\\s+)/i, /^(?:left of\\b)/i, /^(?:right of\\b)/i, /^(?:\")/i, /^(?:\\s*as\\s*)/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[^\\n]*)/i, /^(?:\\s*[^:\\n\\s\\-]+)/i, /^(?:\\s*:[^:\\n;]+)/i, /^(?:[\\s\\S]*?end note\\b)/i, /^(?:stateDiagram\\s+)/i, /^(?:stateDiagram-v2\\s+)/i, /^(?:hide empty description\\b)/i, /^(?:\\[\\*\\])/i, /^(?:[^:\\n\\s\\-\\{]+)/i, /^(?:\\s*:[^:\\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?::::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"LINE\": { \"rules\": [9, 10], \"inclusive\": false }, \"struct\": { \"rules\": [9, 10, 22, 26, 32, 39, 40, 41, 42, 51, 52, 53, 54, 68, 69, 70, 71, 72], \"inclusive\": false }, \"FLOATING_NOTE_ID\": { \"rules\": [61], \"inclusive\": false }, \"FLOATING_NOTE\": { \"rules\": [58, 59, 60], \"inclusive\": false }, \"NOTE_TEXT\": { \"rules\": [63, 64], \"inclusive\": false }, \"NOTE_ID\": { \"rules\": [62], \"inclusive\": false }, \"NOTE\": { \"rules\": [55, 56, 57], \"inclusive\": false }, \"CLASS_STYLE\": { \"rules\": [28], \"inclusive\": false }, \"CLASS\": { \"rules\": [27], \"inclusive\": false }, \"CLASSDEFID\": { \"rules\": [25], \"inclusive\": false }, \"CLASSDEF\": { \"rules\": [23, 24], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [20, 21], \"inclusive\": false }, \"acc_descr\": { \"rules\": [18], \"inclusive\": false }, \"acc_title\": { \"rules\": [16], \"inclusive\": false }, \"SCALE\": { \"rules\": [13, 14, 30, 31], \"inclusive\": false }, \"ALIAS\": { \"rules\": [], \"inclusive\": false }, \"STATE_ID\": { \"rules\": [45], \"inclusive\": false }, \"STATE_STRING\": { \"rules\": [46, 47], \"inclusive\": false }, \"FORK_STATE\": { \"rules\": [], \"inclusive\": false }, \"STATE\": { \"rules\": [9, 10, 33, 34, 35, 36, 37, 38, 43, 44, 48, 49, 50], \"inclusive\": false }, \"ID\": { \"rules\": [9, 10], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 50, 54, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nconst DEFAULT_DIAGRAM_DIRECTION = \"LR\";\nconst DEFAULT_NESTED_DOC_DIR = \"TB\";\nconst STMT_STATE = \"state\";\nconst STMT_RELATION = \"relation\";\nconst STMT_CLASSDEF = \"classDef\";\nconst STMT_APPLYCLASS = \"applyClass\";\nconst DEFAULT_STATE_TYPE = \"default\";\nconst DIVIDER_TYPE = \"divider\";\nconst START_NODE = \"[*]\";\nconst START_TYPE = \"start\";\nconst END_NODE = START_NODE;\nconst END_TYPE = \"end\";\nconst COLOR_KEYWORD = \"color\";\nconst FILL_KEYWORD = \"fill\";\nconst BG_FILL = \"bgFill\";\nconst STYLECLASS_SEP = \",\";\nfunction newClassesList() {\n return {};\n}\nlet direction = DEFAULT_DIAGRAM_DIRECTION;\nlet rootDoc = [];\nlet classes = newClassesList();\nconst newDoc = () => {\n return {\n relations: [],\n states: {},\n documents: {}\n };\n};\nlet documents = {\n root: newDoc()\n};\nlet currentDocument = documents.root;\nlet startEndCount = 0;\nlet dividerCnt = 0;\nconst lineType = {\n LINE: 0,\n DOTTED_LINE: 1\n};\nconst relationType = {\n AGGREGATION: 0,\n EXTENSION: 1,\n COMPOSITION: 2,\n DEPENDENCY: 3\n};\nconst clone = (o) => JSON.parse(JSON.stringify(o));\nconst setRootDoc = (o) => {\n log.info(\"Setting root doc\", o);\n rootDoc = o;\n};\nconst getRootDoc = () => rootDoc;\nconst docTranslator = (parent, node, first) => {\n if (node.stmt === STMT_RELATION) {\n docTranslator(parent, node.state1, true);\n docTranslator(parent, node.state2, false);\n } else {\n if (node.stmt === STMT_STATE) {\n if (node.id === \"[*]\") {\n node.id = first ? parent.id + \"_start\" : parent.id + \"_end\";\n node.start = first;\n } else {\n node.id = node.id.trim();\n }\n }\n if (node.doc) {\n const doc = [];\n let currentDoc = [];\n let i;\n for (i = 0; i < node.doc.length; i++) {\n if (node.doc[i].type === DIVIDER_TYPE) {\n const newNode = clone(node.doc[i]);\n newNode.doc = clone(currentDoc);\n doc.push(newNode);\n currentDoc = [];\n } else {\n currentDoc.push(node.doc[i]);\n }\n }\n if (doc.length > 0 && currentDoc.length > 0) {\n const newNode = {\n stmt: STMT_STATE,\n id: generateId(),\n type: \"divider\",\n doc: clone(currentDoc)\n };\n doc.push(clone(newNode));\n node.doc = doc;\n }\n node.doc.forEach((docNode) => docTranslator(node, docNode, true));\n }\n }\n};\nconst getRootDocV2 = () => {\n docTranslator({ id: \"root\" }, { id: \"root\", doc: rootDoc }, true);\n return { id: \"root\", doc: rootDoc };\n};\nconst extract = (_doc) => {\n let doc;\n if (_doc.doc) {\n doc = _doc.doc;\n } else {\n doc = _doc;\n }\n log.info(doc);\n clear(true);\n log.info(\"Extract\", doc);\n doc.forEach((item) => {\n switch (item.stmt) {\n case STMT_STATE:\n addState(\n item.id.trim(),\n item.type,\n item.doc,\n item.description,\n item.note,\n item.classes,\n item.styles,\n item.textStyles\n );\n break;\n case STMT_RELATION:\n addRelation(item.state1, item.state2, item.description);\n break;\n case STMT_CLASSDEF:\n addStyleClass(item.id.trim(), item.classes);\n break;\n case STMT_APPLYCLASS:\n setCssClass(item.id.trim(), item.styleClass);\n break;\n }\n });\n};\nconst addState = function(id, type = DEFAULT_STATE_TYPE, doc = null, descr = null, note = null, classes2 = null, styles2 = null, textStyles = null) {\n const trimmedId = id == null ? void 0 : id.trim();\n if (currentDocument.states[trimmedId] === void 0) {\n log.info(\"Adding state \", trimmedId, descr);\n currentDocument.states[trimmedId] = {\n id: trimmedId,\n descriptions: [],\n type,\n doc,\n note,\n classes: [],\n styles: [],\n textStyles: []\n };\n } else {\n if (!currentDocument.states[trimmedId].doc) {\n currentDocument.states[trimmedId].doc = doc;\n }\n if (!currentDocument.states[trimmedId].type) {\n currentDocument.states[trimmedId].type = type;\n }\n }\n if (descr) {\n log.info(\"Setting state description\", trimmedId, descr);\n if (typeof descr === \"string\") {\n addDescription(trimmedId, descr.trim());\n }\n if (typeof descr === \"object\") {\n descr.forEach((des) => addDescription(trimmedId, des.trim()));\n }\n }\n if (note) {\n currentDocument.states[trimmedId].note = note;\n currentDocument.states[trimmedId].note.text = common.sanitizeText(\n currentDocument.states[trimmedId].note.text,\n getConfig()\n );\n }\n if (classes2) {\n log.info(\"Setting state classes\", trimmedId, classes2);\n const classesList = typeof classes2 === \"string\" ? [classes2] : classes2;\n classesList.forEach((klass) => setCssClass(trimmedId, klass.trim()));\n }\n if (styles2) {\n log.info(\"Setting state styles\", trimmedId, styles2);\n const stylesList = typeof styles2 === \"string\" ? [styles2] : styles2;\n stylesList.forEach((style) => setStyle(trimmedId, style.trim()));\n }\n if (textStyles) {\n log.info(\"Setting state styles\", trimmedId, styles2);\n const textStylesList = typeof textStyles === \"string\" ? [textStyles] : textStyles;\n textStylesList.forEach((textStyle) => setTextStyle(trimmedId, textStyle.trim()));\n }\n};\nconst clear = function(saveCommon) {\n documents = {\n root: newDoc()\n };\n currentDocument = documents.root;\n startEndCount = 0;\n classes = newClassesList();\n if (!saveCommon) {\n clear$1();\n }\n};\nconst getState = function(id) {\n return currentDocument.states[id];\n};\nconst getStates = function() {\n return currentDocument.states;\n};\nconst logDocuments = function() {\n log.info(\"Documents = \", documents);\n};\nconst getRelations = function() {\n return currentDocument.relations;\n};\nfunction startIdIfNeeded(id = \"\") {\n let fixedId = id;\n if (id === START_NODE) {\n startEndCount++;\n fixedId = `${START_TYPE}${startEndCount}`;\n }\n return fixedId;\n}\nfunction startTypeIfNeeded(id = \"\", type = DEFAULT_STATE_TYPE) {\n return id === START_NODE ? START_TYPE : type;\n}\nfunction endIdIfNeeded(id = \"\") {\n let fixedId = id;\n if (id === END_NODE) {\n startEndCount++;\n fixedId = `${END_TYPE}${startEndCount}`;\n }\n return fixedId;\n}\nfunction endTypeIfNeeded(id = \"\", type = DEFAULT_STATE_TYPE) {\n return id === END_NODE ? END_TYPE : type;\n}\nfunction addRelationObjs(item1, item2, relationTitle) {\n let id1 = startIdIfNeeded(item1.id.trim());\n let type1 = startTypeIfNeeded(item1.id.trim(), item1.type);\n let id2 = startIdIfNeeded(item2.id.trim());\n let type2 = startTypeIfNeeded(item2.id.trim(), item2.type);\n addState(\n id1,\n type1,\n item1.doc,\n item1.description,\n item1.note,\n item1.classes,\n item1.styles,\n item1.textStyles\n );\n addState(\n id2,\n type2,\n item2.doc,\n item2.description,\n item2.note,\n item2.classes,\n item2.styles,\n item2.textStyles\n );\n currentDocument.relations.push({\n id1,\n id2,\n relationTitle: common.sanitizeText(relationTitle, getConfig())\n });\n}\nconst addRelation = function(item1, item2, title) {\n if (typeof item1 === \"object\") {\n addRelationObjs(item1, item2, title);\n } else {\n const id1 = startIdIfNeeded(item1.trim());\n const type1 = startTypeIfNeeded(item1);\n const id2 = endIdIfNeeded(item2.trim());\n const type2 = endTypeIfNeeded(item2);\n addState(id1, type1);\n addState(id2, type2);\n currentDocument.relations.push({\n id1,\n id2,\n title: common.sanitizeText(title, getConfig())\n });\n }\n};\nconst addDescription = function(id, descr) {\n const theState = currentDocument.states[id];\n const _descr = descr.startsWith(\":\") ? descr.replace(\":\", \"\").trim() : descr;\n theState.descriptions.push(common.sanitizeText(_descr, getConfig()));\n};\nconst cleanupLabel = function(label) {\n if (label.substring(0, 1) === \":\") {\n return label.substr(2).trim();\n } else {\n return label.trim();\n }\n};\nconst getDividerId = () => {\n dividerCnt++;\n return \"divider-id-\" + dividerCnt;\n};\nconst addStyleClass = function(id, styleAttributes = \"\") {\n if (classes[id] === void 0) {\n classes[id] = { id, styles: [], textStyles: [] };\n }\n const foundClass = classes[id];\n if (styleAttributes !== void 0 && styleAttributes !== null) {\n styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {\n const fixedAttrib = attrib.replace(/([^;]*);/, \"$1\").trim();\n if (attrib.match(COLOR_KEYWORD)) {\n const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);\n const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);\n foundClass.textStyles.push(newStyle2);\n }\n foundClass.styles.push(fixedAttrib);\n });\n }\n};\nconst getClasses = function() {\n return classes;\n};\nconst setCssClass = function(itemIds, cssClassName) {\n itemIds.split(\",\").forEach(function(id) {\n let foundState = getState(id);\n if (foundState === void 0) {\n const trimmedId = id.trim();\n addState(trimmedId);\n foundState = getState(trimmedId);\n }\n foundState.classes.push(cssClassName);\n });\n};\nconst setStyle = function(itemId, styleText) {\n const item = getState(itemId);\n if (item !== void 0) {\n item.textStyles.push(styleText);\n }\n};\nconst setTextStyle = function(itemId, cssClassName) {\n const item = getState(itemId);\n if (item !== void 0) {\n item.textStyles.push(cssClassName);\n }\n};\nconst getDirection = () => direction;\nconst setDirection = (dir) => {\n direction = dir;\n};\nconst trimColon = (str) => str && str[0] === \":\" ? str.substr(1).trim() : str.trim();\nconst db = {\n getConfig: () => getConfig().state,\n addState,\n clear,\n getState,\n getStates,\n getRelations,\n getClasses,\n getDirection,\n addRelation,\n getDividerId,\n setDirection,\n cleanupLabel,\n lineType,\n relationType,\n logDocuments,\n getRootDoc,\n setRootDoc,\n getRootDocV2,\n extract,\n trimColon,\n getAccTitle,\n setAccTitle,\n getAccDescription,\n setAccDescription,\n addStyleClass,\n setCssClass,\n addDescription,\n setDiagramTitle,\n getDiagramTitle\n};\nconst getStyles = (options) => `\ndefs #statediagram-barbEnd {\n fill: ${options.transitionColor};\n stroke: ${options.transitionColor};\n }\ng.stateGroup text {\n fill: ${options.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${options.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${options.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${options.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${options.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${options.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${options.noteBorderColor};\n fill: ${options.noteBkgColor};\n\n text {\n fill: ${options.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${options.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${options.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ${options.transitionLabelColor || options.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${options.transitionLabelColor || options.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${options.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${options.specialStateColor};\n stroke: ${options.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${options.specialStateColor};\n stroke: ${options.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${options.innerEndBackground};\n stroke: ${options.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${options.compositeBackground || options.background};\n // stroke: ${options.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${options.stateBkg || options.mainBkg};\n stroke: ${options.stateBorder || options.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${options.mainBkg};\n stroke: ${options.stateBorder || options.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${options.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${options.compositeTitleBackground};\n stroke: ${options.stateBorder || options.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${options.stateLabelColor};\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${options.stateBorder || options.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${options.compositeBackground || options.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${options.altBackground ? options.altBackground : \"#efefef\"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${options.altBackground ? options.altBackground : \"#efefef\"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${options.noteBkgColor};\n stroke: ${options.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${options.noteBkgColor};\n stroke: ${options.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${options.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${options.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${options.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n}\n`;\nconst styles = getStyles;\nexport {\n DEFAULT_STATE_TYPE as D,\n STMT_RELATION as S,\n DIVIDER_TYPE as a,\n STMT_STATE as b,\n DEFAULT_NESTED_DOC_DIR as c,\n db as d,\n parser$1 as p,\n styles as s\n};\n"],"names":["parser","o","k","v","o2","l","length","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","setRootDoc","this","$","push","stateStmt","description","trimColon","stmt","state1","state2","relDescription","id","type","doc","trim","match","parts","split","getDividerId","note","position","text","setAccTitle","setAccDescription","classes","styleClass","setDirection","value","table","defaultActions","parseError","str","hash","recoverable","error","Error","parse","input","self","stack","tstack","vstack","lstack","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","ranges","options","getPrototypeOf","symbol","state","action","r","p","len","newState","expected","token","yyval","pop","lex","Array","errStr","showPosition","join","line","loc","first_line","last_line","first_column","last_column","range","apply","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","substr","oldLines","more","reject","backtrack_lexer","less","n","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","i","flex","begin","condition","popState","conditions","topState","Math","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","Parser","parser$1","DEFAULT_NESTED_DOC_DIR","STMT_STATE","STMT_RELATION","DEFAULT_STATE_TYPE","DIVIDER_TYPE","START_NODE","START_TYPE","END_NODE","COLOR_KEYWORD","FILL_KEYWORD","direction","rootDoc","documents","root","relations","states","currentDocument","startEndCount","dividerCnt","clone","JSON","stringify","docTranslator","parent","node","first","start","currentDoc","newNode","forEach","docNode","addState","descr","classes2","styles2","textStyles","trimmedId","info","descriptions","styles","addDescription","des","sanitizeText","klass","setCssClass","style","setStyle","textStyle","setTextStyle","clear","saveCommon","getState","startIdIfNeeded","fixedId","startTypeIfNeeded","addRelation","item1","item2","title","relationTitle","id1","type1","id2","type2","addRelationObjs","endIdIfNeeded","endTypeIfNeeded","theState","_descr","startsWith","addStyleClass","styleAttributes","foundClass","attrib","fixedAttrib","newStyle2","itemIds","cssClassName","foundState","itemId","styleText","item","db","getConfig","getStates","getRelations","getClasses","getDirection","dir","cleanupLabel","label","substring","lineType","LINE","DOTTED_LINE","relationType","AGGREGATION","EXTENSION","COMPOSITION","DEPENDENCY","logDocuments","getRootDoc","getRootDocV2","extract","_doc","getAccTitle","getAccDescription","setDiagramTitle","getDiagramTitle","transitionColor","nodeBorder","textColor","stateLabelColor","mainBkg","lineColor","background","noteBorderColor","noteBkgColor","noteTextColor","labelBackgroundColor","transitionLabelColor","tertiaryTextColor","specialStateColor","innerEndBackground","compositeBackground","stateBkg","stateBorder","compositeTitleBackground","altBackground"],"sourceRoot":""}