@webskill/sdk 0.20.0 → 0.22.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 (139) hide show
  1. package/dist/abnfDiagram-O67JEVCF-DtYFjfqO.js +109 -0
  2. package/dist/agent.d.ts +3 -3
  3. package/dist/agent.js +1171 -73
  4. package/dist/{approval-Bbh_Apwg.js → approval-DWQlDPbY.js} +527 -29
  5. package/dist/arc-8U_6NQWm.js +130 -0
  6. package/dist/architecture-7GRP2DOG-RTw1wpAq.js +4 -0
  7. package/dist/architectureDiagram-NJMV4G6O-XmmXrJAK.js +7473 -0
  8. package/dist/array-DQfpQNY8.js +8 -0
  9. package/dist/blockDiagram-BEXU5L5S-D4yjnCD1.js +2582 -0
  10. package/dist/browser.d.ts +1129 -48
  11. package/dist/browser.js +3562 -278
  12. package/dist/c4Diagram-YGBWAQC7-BLmA_JSd.js +3668 -0
  13. package/dist/channel-CZxxLrG7.js +9 -0
  14. package/dist/chunk-2Q5K7J3B-Ck03gkFR.js +21 -0
  15. package/dist/chunk-3FUC2YCW-tr6jmbQf.js +530 -0
  16. package/dist/chunk-5DYCD2WN-Bt97YGTd.js +58 -0
  17. package/dist/chunk-5VM5RSS4-BBxa48HL.js +21 -0
  18. package/dist/chunk-6AEJRKK7-JXK89I-O.js +14 -0
  19. package/dist/chunk-742MDFTN-CPmgCGwC.js +466 -0
  20. package/dist/chunk-7INBJB4K-C9jq9o66.js +6552 -0
  21. package/dist/chunk-7M6MHVWA-BrKCWcR1.js +4894 -0
  22. package/dist/chunk-7PRAP22T-BHED6GVs.js +95 -0
  23. package/dist/chunk-DUW6YSOI-DoZj78PO.js +19 -0
  24. package/dist/chunk-FOHPRMQF-Dkbp819z.js +27189 -0
  25. package/dist/chunk-GNY47TPC-Bpvq1T49.js +87 -0
  26. package/dist/chunk-GTNCS2PH-CLmh4I2c.js +686 -0
  27. package/dist/chunk-GWA4HPMP-B6vN3fkL.js +95 -0
  28. package/dist/chunk-J5ZVWO5B-Bi_Pcobw.js +26 -0
  29. package/dist/chunk-JWPE2WC7-D1rC79GS.js +12 -0
  30. package/dist/chunk-LNGE3PJU-D5OIoe3Z.js +2582 -0
  31. package/dist/chunk-MBY4JIJT-C34L7a4f.js +2276 -0
  32. package/dist/chunk-NETBCI7D-Cg84k8N8.js +321 -0
  33. package/dist/chunk-O7XYJQB3-B6K0KOSL.js +8846 -0
  34. package/dist/chunk-UA2S7LBM-DxHM29_K.js +612 -0
  35. package/dist/chunk-WEXAMYUT-Ba6jFWhB.js +33 -0
  36. package/dist/chunk-XXDRQBXY-DPbSy4kg.js +12 -0
  37. package/dist/chunk-Y2CYZVJY-U3QOMqrW.js +15 -0
  38. package/dist/chunk-Z7XXMR3K-oLg1h8F3.js +1038 -0
  39. package/dist/chunk-ZIGJFQKS-DqEFBuHR.js +2215 -0
  40. package/dist/classDiagram-v2-NBCMYWYE-BqnOWIUt.js +3845 -0
  41. package/dist/cose-bilkent-JH36ORCC-C0dTAHVK.js +4270 -0
  42. package/dist/cynefin-OW5HDTMX-B2QvgEQj.js +4 -0
  43. package/dist/cynefinDiagram-VND7K2PF-yAWc6Z3W.js +479 -0
  44. package/dist/cytoscape.esm-C64mRh9B.js +28325 -0
  45. package/dist/dagre-6A5THRUB-D0w2W27v.js +4816 -0
  46. package/dist/defaultLocale-B_EoOkSF.js +249 -0
  47. package/dist/diagram-22UHCM2B-DvgzhUzP.js +6115 -0
  48. package/dist/diagram-3UASUU5V-DWgUB-ef.js +795 -0
  49. package/dist/diagram-ATOU4E4O-P1olqwIs.js +553 -0
  50. package/dist/diagram-CDSNMT55-BUlZuLUe.js +402 -0
  51. package/dist/diagram-MLGK6HIB-6w5qmkGt.js +186 -0
  52. package/dist/diagram-MPIPVDR6-DEFiSo8o.js +289 -0
  53. package/dist/dist-UajCDt3n.js +92 -0
  54. package/dist/ebnfDiagram-ZINNZB2B-CI8liCfR.js +123 -0
  55. package/dist/elk-276RUBZZ-3SvW6OAK.js +90034 -0
  56. package/dist/erDiagram-OPXOYQCR-CPTbKhwP.js +2301 -0
  57. package/dist/{eventTypes-CwciaqCU.js → eventTypes-DcTQXSV1.js} +7 -1
  58. package/dist/eventmodeling-NTZA5JFV-BlyuqGp0.js +4 -0
  59. package/dist/flowDiagram-KWPJA3E3-CcUJ6HbV.js +18 -0
  60. package/dist/ganttDiagram-FUAMR5RP-31UjY0KK.js +3939 -0
  61. package/dist/geometry-wx5ZTYzi.js +715 -0
  62. package/dist/gitGraph-4MIJSDKK-ChdVlrk7.js +4 -0
  63. package/dist/gitGraphDiagram-X574FWY7-DKuxJymB.js +1153 -0
  64. package/dist/governance.d.ts +9 -3
  65. package/dist/governance.js +1 -1
  66. package/dist/graphlib-tk9gQYuN.js +4194 -0
  67. package/dist/{index-ad11wflI.d.ts → index-BiO9_XRk.d.ts} +2 -2
  68. package/dist/{index-DQ3-6GFu.d.ts → index-CjwdZQOS.d.ts} +945 -8
  69. package/dist/{index-BDyXe-a5.d.ts → index-YPd8ZSEa.d.ts} +413 -7
  70. package/dist/index.d.ts +4 -4
  71. package/dist/index.js +47 -41
  72. package/dist/info-A6RAGUB7-CxRAt9S9.js +4 -0
  73. package/dist/infoDiagram-VRGFBTTK-pRspGfjZ.js +25 -0
  74. package/dist/init-CMOIWdg-.js +16 -0
  75. package/dist/ishikawaDiagram-OU5B5YK6-DKerAPAg.js +975 -0
  76. package/dist/journeyDiagram-ZHPQQLJL-C4MK-YO5.js +1227 -0
  77. package/dist/kanban-definition-PNTS6WVX-BqsZpMXx.js +1244 -0
  78. package/dist/katex-BcRRvyh_.js +26465 -0
  79. package/dist/kind-Dc8x0HWz.js +110 -0
  80. package/dist/line-LgV8iVMV.js +48 -0
  81. package/dist/linear-BWKR0Tqd.js +393 -0
  82. package/dist/linkedDocument-CIuh_Yp0.js +416 -0
  83. package/dist/mcp.d.ts +2 -2
  84. package/dist/{memoryArtifactStore-D6dLeY55.js → memoryArtifactStore-Bs7glPqm.js} +14 -0
  85. package/dist/mermaid-parser.core-pYR5siSx.js +754 -0
  86. package/dist/mermaid.core-DMtwGCHy.js +1756 -0
  87. package/dist/mindmap-definition-NLK3R4M7-CXbD-myG.js +1312 -0
  88. package/dist/node.d.ts +8 -3
  89. package/dist/node.js +79 -4
  90. package/dist/{openUiLibrary-b0i7F_oZ.js → openUiLibrary-B7j3rLrm.js} +1 -1
  91. package/dist/{openUiSpecLang-CLXJEeRU.js → openUiSpecLang-BSYYnjay.js} +1 -1
  92. package/dist/ordinal-CxA6GHQS.js +84 -0
  93. package/dist/packet-AYTQ26CC-BOm08cxl.js +4 -0
  94. package/dist/path-C27Z2Bjv.js +106 -0
  95. package/dist/pegDiagram-GJSIUBJH-BLGJOewQ.js +115 -0
  96. package/dist/pie-WAS4IAKB-Dvg7glpk.js +4 -0
  97. package/dist/pieDiagram-5QR66LMP-laoaV_PB.js +298 -0
  98. package/dist/processSandboxEntry.js +5 -0
  99. package/dist/quadrantDiagram-O4NWA36T-Db_wFBkT.js +2236 -0
  100. package/dist/radar-RG4KPBEZ-BZDaTu06.js +4 -0
  101. package/dist/railroad-74A4TZTK-C-UhjkOy.js +4 -0
  102. package/dist/railroad-abnf-HS5TGJTU-dUKVA4OS.js +4 -0
  103. package/dist/railroad-ebnf-LZEXJU2U-DzQumk18.js +4 -0
  104. package/dist/railroad-peg-WCYAUIDC-B3vvTWed.js +4 -0
  105. package/dist/railroadDiagram-XR7U4H2S-BY0sTM4X.js +89 -0
  106. package/dist/requirementDiagram-PLB6GJNP-3rkQfEhs.js +2474 -0
  107. package/dist/rough.cjs-AmDd_NQk.js +1395 -0
  108. package/dist/sandboxWorkerEntry.js +5 -0
  109. package/dist/sankeyDiagram-IPEJSGJF-CGAJhyG2.js +3578 -0
  110. package/dist/sequenceDiagram-PO4LG4MO-9FJjFX06.js +5522 -0
  111. package/dist/sizeCapture-INFHLROL-D8PWxdOn.js +56 -0
  112. package/dist/{skillVersionStore-B24Jjjry-v2CCU0Xo.d.ts → skillVersionStore-B24Jjjry-BY1H7Krp.d.ts} +1 -1
  113. package/dist/src-NkhI3UMl.js +2653 -0
  114. package/dist/stateDiagram-v2-GCMORJYK-B0O3wc1-.js +2715 -0
  115. package/dist/swimlanes-2SLR337P-D4EOnrpu.js +6637 -0
  116. package/dist/swimlanesDiagram-TC7HE7FX-BUx29EJ9.js +30 -0
  117. package/dist/testing.d.ts +2 -1
  118. package/dist/testing.js +1 -1
  119. package/dist/timeline-definition-EJHVYXUP-CrgiiB4C.js +1513 -0
  120. package/dist/treeView-Q6P3EWNA-C1by-Gzc.js +4 -0
  121. package/dist/treemap-WGGIJYW6-mC2NZ6ad.js +4 -0
  122. package/dist/{types-Btpdd1y--BcxQ10Fa.d.ts → types-CpDRZ0rA-BM5FI9oN.d.ts} +111 -9
  123. package/dist/ui-react.d.ts +3 -3
  124. package/dist/ui-react.js +3718 -77
  125. package/dist/ui-vue.d.ts +1 -1
  126. package/dist/ui.d.ts +3 -3
  127. package/dist/ui.js +2 -2
  128. package/dist/untrustedText-BIaRvPZK.js +16 -0
  129. package/dist/usecaseDiagram-POWQR4AR-BUt_TQOY.js +14397 -0
  130. package/dist/vennDiagram-UO4OBE2U-CwXr0wjA.js +2808 -0
  131. package/dist/wardley-WFR3VGLG-CVSYjq_S.js +4 -0
  132. package/dist/wardleyDiagram-VNRHLVJA-Cpfd47dQ.js +874 -0
  133. package/dist/{webSkillApi-CsvA69qk.js → webSkillApi-Dy-Zjv0y.js} +1 -1
  134. package/dist/{webskillLitCatalog-W06npwej.js → webskillLitCatalog-D5BCiMCU.js} +1 -1
  135. package/dist/xychartDiagram-PMCCYNJV-e1TeVoc6.js +2704 -0
  136. package/package.json +6 -5
  137. package/dist/kind-DxgS8LM-.js +0 -77
  138. package/dist/linkedDocument-xNXF-z8n.js +0 -94
  139. package/dist/types-DOJI5YC3.js +0 -90
@@ -0,0 +1,3845 @@
1
+ import { n as __name } from "./chunk-Y2CYZVJY-U3QOMqrW.js";
2
+ import { m as log, p as select_default } from "./src-NkhI3UMl.js";
3
+ import { H as setAccDescription, M as parseGenericTypes, U as setAccTitle, a as clear, et as purify, q as setDiagramTitle, s as common_default, v as getAccDescription, w as getDiagramTitle, x as getConfig2, y as getAccTitle, z as sanitizeText } from "./chunk-O7XYJQB3-B6K0KOSL.js";
4
+ import { c as getEdgeId, g as utils_default } from "./chunk-ZIGJFQKS-DqEFBuHR.js";
5
+ import "./chunk-742MDFTN-CPmgCGwC.js";
6
+ import "./chunk-MBY4JIJT-C34L7a4f.js";
7
+ import { t as getIconStyles } from "./chunk-5VM5RSS4-BBxa48HL.js";
8
+ import "./chunk-7PRAP22T-BHED6GVs.js";
9
+ import { i as isColorTheme, n as colorSlotCount, o as safeLook, r as hasPalette } from "./chunk-J5ZVWO5B-Bi_Pcobw.js";
10
+ import "./chunk-7INBJB4K-C9jq9o66.js";
11
+ import "./chunk-5DYCD2WN-Bt97YGTd.js";
12
+ import "./chunk-Z7XXMR3K-oLg1h8F3.js";
13
+ import { t as createTooltip } from "./chunk-GWA4HPMP-B6vN3fkL.js";
14
+ import { t as getDiagramElement } from "./chunk-XXDRQBXY-DPbSy4kg.js";
15
+ import { t as setupViewPortForSVG } from "./chunk-WEXAMYUT-Ba6jFWhB.js";
16
+ import "./chunk-UA2S7LBM-DxHM29_K.js";
17
+ import { r as render, t as getRegisteredLayoutAlgorithm } from "./chunk-GNY47TPC-Bpvq1T49.js";
18
+
19
+ //#region ../../node_modules/.pnpm/mermaid@12.0.0/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-NBCMYWYE.mjs
20
+ var parser = (function() {
21
+ var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
22
+ for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v);
23
+ return o2;
24
+ }, "o"), $V0 = [1, 18], $V1 = [1, 19], $V2 = [1, 20], $V3 = [1, 41], $V4 = [1, 26], $V5 = [1, 42], $V6 = [1, 24], $V7 = [1, 25], $V8 = [1, 32], $V9 = [1, 33], $Va = [1, 34], $Vb = [1, 45], $Vc = [1, 35], $Vd = [1, 36], $Ve = [1, 37], $Vf = [1, 38], $Vg = [1, 27], $Vh = [1, 28], $Vi = [1, 29], $Vj = [1, 30], $Vk = [1, 31], $Vl = [1, 44], $Vm = [1, 46], $Vn = [1, 43], $Vo = [1, 47], $Vp = [1, 9], $Vq = [
25
+ 1,
26
+ 8,
27
+ 9
28
+ ], $Vr = [1, 58], $Vs = [1, 59], $Vt = [1, 60], $Vu = [1, 61], $Vv = [1, 62], $Vw = [1, 63], $Vx = [1, 64], $Vy = [
29
+ 1,
30
+ 8,
31
+ 9,
32
+ 41
33
+ ], $Vz = [1, 77], $VA = [
34
+ 1,
35
+ 8,
36
+ 9,
37
+ 12,
38
+ 13,
39
+ 22,
40
+ 39,
41
+ 41,
42
+ 44,
43
+ 46,
44
+ 68,
45
+ 69,
46
+ 70,
47
+ 71,
48
+ 72,
49
+ 73,
50
+ 74,
51
+ 79,
52
+ 81
53
+ ], $VB = [
54
+ 1,
55
+ 8,
56
+ 9,
57
+ 12,
58
+ 13,
59
+ 18,
60
+ 20,
61
+ 22,
62
+ 39,
63
+ 41,
64
+ 44,
65
+ 46,
66
+ 47,
67
+ 60,
68
+ 68,
69
+ 69,
70
+ 70,
71
+ 71,
72
+ 72,
73
+ 73,
74
+ 74,
75
+ 79,
76
+ 81,
77
+ 86,
78
+ 100,
79
+ 102,
80
+ 103
81
+ ], $VC = [
82
+ 13,
83
+ 60,
84
+ 86,
85
+ 100,
86
+ 102,
87
+ 103
88
+ ], $VD = [
89
+ 13,
90
+ 60,
91
+ 73,
92
+ 74,
93
+ 86,
94
+ 100,
95
+ 102,
96
+ 103
97
+ ], $VE = [
98
+ 13,
99
+ 60,
100
+ 68,
101
+ 69,
102
+ 70,
103
+ 71,
104
+ 72,
105
+ 86,
106
+ 100,
107
+ 102,
108
+ 103
109
+ ], $VF = [1, 103], $VG = [1, 121], $VH = [1, 117], $VI = [1, 113], $VJ = [1, 119], $VK = [1, 114], $VL = [1, 115], $VM = [1, 116], $VN = [1, 118], $VO = [1, 120], $VP = [
110
+ 22,
111
+ 50,
112
+ 60,
113
+ 61,
114
+ 82,
115
+ 86,
116
+ 87,
117
+ 88,
118
+ 89,
119
+ 90
120
+ ], $VQ = [1, 128], $VR = [12, 39], $VS = [
121
+ 1,
122
+ 8,
123
+ 9,
124
+ 39,
125
+ 41,
126
+ 44,
127
+ 46
128
+ ], $VT = [
129
+ 1,
130
+ 8,
131
+ 9,
132
+ 22
133
+ ], $VU = [1, 153], $VV = [
134
+ 1,
135
+ 8,
136
+ 9,
137
+ 61
138
+ ], $VW = [
139
+ 1,
140
+ 8,
141
+ 9,
142
+ 22,
143
+ 50,
144
+ 60,
145
+ 61,
146
+ 82,
147
+ 86,
148
+ 87,
149
+ 88,
150
+ 89,
151
+ 90
152
+ ];
153
+ var parser2 = {
154
+ trace: /* @__PURE__ */ __name(function trace() {}, "trace"),
155
+ yy: {},
156
+ symbols_: {
157
+ "error": 2,
158
+ "start": 3,
159
+ "mermaidDoc": 4,
160
+ "statements": 5,
161
+ "graphConfig": 6,
162
+ "CLASS_DIAGRAM": 7,
163
+ "NEWLINE": 8,
164
+ "EOF": 9,
165
+ "statement": 10,
166
+ "classLabel": 11,
167
+ "SQS": 12,
168
+ "STR": 13,
169
+ "SQE": 14,
170
+ "namespaceName": 15,
171
+ "alphaNumToken": 16,
172
+ "classLiteralName": 17,
173
+ "DOT": 18,
174
+ "className": 19,
175
+ "GENERICTYPE": 20,
176
+ "relationStatement": 21,
177
+ "LABEL": 22,
178
+ "namespaceStatement": 23,
179
+ "classStatement": 24,
180
+ "memberStatement": 25,
181
+ "annotationStatement": 26,
182
+ "clickStatement": 27,
183
+ "styleStatement": 28,
184
+ "cssClassStatement": 29,
185
+ "noteStatement": 30,
186
+ "classDefStatement": 31,
187
+ "direction": 32,
188
+ "acc_title": 33,
189
+ "acc_title_value": 34,
190
+ "acc_descr": 35,
191
+ "acc_descr_value": 36,
192
+ "acc_descr_multiline_value": 37,
193
+ "namespaceIdentifier": 38,
194
+ "STRUCT_START": 39,
195
+ "classStatements": 40,
196
+ "STRUCT_STOP": 41,
197
+ "NAMESPACE": 42,
198
+ "classIdentifier": 43,
199
+ "STYLE_SEPARATOR": 44,
200
+ "members": 45,
201
+ "ANNOTATION_START": 46,
202
+ "ANNOTATION_END": 47,
203
+ "CLASS": 48,
204
+ "emptyBody": 49,
205
+ "SPACE": 50,
206
+ "MEMBER": 51,
207
+ "SEPARATOR": 52,
208
+ "relation": 53,
209
+ "NOTE_FOR": 54,
210
+ "noteText": 55,
211
+ "NOTE": 56,
212
+ "CLASSDEF": 57,
213
+ "classList": 58,
214
+ "stylesOpt": 59,
215
+ "ALPHA": 60,
216
+ "COMMA": 61,
217
+ "direction_tb": 62,
218
+ "direction_bt": 63,
219
+ "direction_rl": 64,
220
+ "direction_lr": 65,
221
+ "relationType": 66,
222
+ "lineType": 67,
223
+ "AGGREGATION": 68,
224
+ "EXTENSION": 69,
225
+ "COMPOSITION": 70,
226
+ "DEPENDENCY": 71,
227
+ "LOLLIPOP": 72,
228
+ "LINE": 73,
229
+ "DOTTED_LINE": 74,
230
+ "CALLBACK": 75,
231
+ "LINK": 76,
232
+ "LINK_TARGET": 77,
233
+ "CLICK": 78,
234
+ "CALLBACK_NAME": 79,
235
+ "CALLBACK_ARGS": 80,
236
+ "HREF": 81,
237
+ "STYLE": 82,
238
+ "CSSCLASS": 83,
239
+ "style": 84,
240
+ "styleComponent": 85,
241
+ "NUM": 86,
242
+ "COLON": 87,
243
+ "UNIT": 88,
244
+ "BRKT": 89,
245
+ "PCT": 90,
246
+ "commentToken": 91,
247
+ "textToken": 92,
248
+ "graphCodeTokens": 93,
249
+ "textNoTagsToken": 94,
250
+ "TAGSTART": 95,
251
+ "TAGEND": 96,
252
+ "==": 97,
253
+ "--": 98,
254
+ "DEFAULT": 99,
255
+ "MINUS": 100,
256
+ "keywords": 101,
257
+ "UNICODE_TEXT": 102,
258
+ "BQUOTE_STR": 103,
259
+ "$accept": 0,
260
+ "$end": 1
261
+ },
262
+ terminals_: {
263
+ 2: "error",
264
+ 7: "CLASS_DIAGRAM",
265
+ 8: "NEWLINE",
266
+ 9: "EOF",
267
+ 12: "SQS",
268
+ 13: "STR",
269
+ 14: "SQE",
270
+ 18: "DOT",
271
+ 20: "GENERICTYPE",
272
+ 22: "LABEL",
273
+ 33: "acc_title",
274
+ 34: "acc_title_value",
275
+ 35: "acc_descr",
276
+ 36: "acc_descr_value",
277
+ 37: "acc_descr_multiline_value",
278
+ 39: "STRUCT_START",
279
+ 41: "STRUCT_STOP",
280
+ 42: "NAMESPACE",
281
+ 44: "STYLE_SEPARATOR",
282
+ 46: "ANNOTATION_START",
283
+ 47: "ANNOTATION_END",
284
+ 48: "CLASS",
285
+ 50: "SPACE",
286
+ 51: "MEMBER",
287
+ 52: "SEPARATOR",
288
+ 54: "NOTE_FOR",
289
+ 56: "NOTE",
290
+ 57: "CLASSDEF",
291
+ 60: "ALPHA",
292
+ 61: "COMMA",
293
+ 62: "direction_tb",
294
+ 63: "direction_bt",
295
+ 64: "direction_rl",
296
+ 65: "direction_lr",
297
+ 68: "AGGREGATION",
298
+ 69: "EXTENSION",
299
+ 70: "COMPOSITION",
300
+ 71: "DEPENDENCY",
301
+ 72: "LOLLIPOP",
302
+ 73: "LINE",
303
+ 74: "DOTTED_LINE",
304
+ 75: "CALLBACK",
305
+ 76: "LINK",
306
+ 77: "LINK_TARGET",
307
+ 78: "CLICK",
308
+ 79: "CALLBACK_NAME",
309
+ 80: "CALLBACK_ARGS",
310
+ 81: "HREF",
311
+ 82: "STYLE",
312
+ 83: "CSSCLASS",
313
+ 86: "NUM",
314
+ 87: "COLON",
315
+ 88: "UNIT",
316
+ 89: "BRKT",
317
+ 90: "PCT",
318
+ 93: "graphCodeTokens",
319
+ 95: "TAGSTART",
320
+ 96: "TAGEND",
321
+ 97: "==",
322
+ 98: "--",
323
+ 99: "DEFAULT",
324
+ 100: "MINUS",
325
+ 101: "keywords",
326
+ 102: "UNICODE_TEXT",
327
+ 103: "BQUOTE_STR"
328
+ },
329
+ productions_: [
330
+ 0,
331
+ [3, 1],
332
+ [3, 1],
333
+ [4, 1],
334
+ [6, 4],
335
+ [5, 1],
336
+ [5, 2],
337
+ [5, 3],
338
+ [11, 3],
339
+ [15, 1],
340
+ [15, 1],
341
+ [15, 3],
342
+ [15, 2],
343
+ [19, 1],
344
+ [19, 3],
345
+ [19, 1],
346
+ [19, 2],
347
+ [19, 2],
348
+ [19, 2],
349
+ [10, 1],
350
+ [10, 2],
351
+ [10, 1],
352
+ [10, 1],
353
+ [10, 1],
354
+ [10, 1],
355
+ [10, 1],
356
+ [10, 1],
357
+ [10, 1],
358
+ [10, 1],
359
+ [10, 1],
360
+ [10, 1],
361
+ [10, 2],
362
+ [10, 2],
363
+ [10, 1],
364
+ [23, 4],
365
+ [23, 5],
366
+ [38, 2],
367
+ [38, 3],
368
+ [40, 1],
369
+ [40, 2],
370
+ [40, 3],
371
+ [40, 1],
372
+ [40, 2],
373
+ [40, 3],
374
+ [40, 1],
375
+ [40, 2],
376
+ [40, 3],
377
+ [24, 1],
378
+ [24, 3],
379
+ [24, 4],
380
+ [24, 3],
381
+ [24, 6],
382
+ [24, 4],
383
+ [24, 7],
384
+ [24, 6],
385
+ [43, 2],
386
+ [43, 3],
387
+ [49, 0],
388
+ [49, 2],
389
+ [49, 2],
390
+ [26, 4],
391
+ [45, 1],
392
+ [45, 2],
393
+ [25, 1],
394
+ [25, 2],
395
+ [25, 1],
396
+ [25, 1],
397
+ [21, 3],
398
+ [21, 4],
399
+ [21, 4],
400
+ [21, 5],
401
+ [30, 3],
402
+ [30, 2],
403
+ [31, 3],
404
+ [58, 1],
405
+ [58, 3],
406
+ [32, 1],
407
+ [32, 1],
408
+ [32, 1],
409
+ [32, 1],
410
+ [53, 3],
411
+ [53, 2],
412
+ [53, 2],
413
+ [53, 1],
414
+ [66, 1],
415
+ [66, 1],
416
+ [66, 1],
417
+ [66, 1],
418
+ [66, 1],
419
+ [67, 1],
420
+ [67, 1],
421
+ [27, 3],
422
+ [27, 4],
423
+ [27, 3],
424
+ [27, 4],
425
+ [27, 4],
426
+ [27, 5],
427
+ [27, 3],
428
+ [27, 4],
429
+ [27, 4],
430
+ [27, 5],
431
+ [27, 4],
432
+ [27, 5],
433
+ [27, 5],
434
+ [27, 6],
435
+ [28, 3],
436
+ [29, 3],
437
+ [59, 1],
438
+ [59, 3],
439
+ [84, 1],
440
+ [84, 2],
441
+ [85, 1],
442
+ [85, 1],
443
+ [85, 1],
444
+ [85, 1],
445
+ [85, 1],
446
+ [85, 1],
447
+ [85, 1],
448
+ [85, 1],
449
+ [85, 1],
450
+ [91, 1],
451
+ [91, 1],
452
+ [92, 1],
453
+ [92, 1],
454
+ [92, 1],
455
+ [92, 1],
456
+ [92, 1],
457
+ [92, 1],
458
+ [92, 1],
459
+ [94, 1],
460
+ [94, 1],
461
+ [94, 1],
462
+ [94, 1],
463
+ [16, 1],
464
+ [16, 1],
465
+ [16, 1],
466
+ [16, 1],
467
+ [17, 1],
468
+ [55, 1]
469
+ ],
470
+ performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
471
+ var $0 = $$.length - 1;
472
+ switch (yystate) {
473
+ case 8:
474
+ this.$ = $$[$0 - 1];
475
+ break;
476
+ case 9:
477
+ case 10:
478
+ case 13:
479
+ case 15:
480
+ this.$ = $$[$0];
481
+ break;
482
+ case 11:
483
+ case 14:
484
+ this.$ = $$[$0 - 2] + "." + $$[$0];
485
+ break;
486
+ case 12:
487
+ case 16:
488
+ this.$ = $$[$0 - 1] + $$[$0];
489
+ break;
490
+ case 17:
491
+ case 18:
492
+ this.$ = $$[$0 - 1] + "~" + $$[$0] + "~";
493
+ break;
494
+ case 19:
495
+ yy.addRelation($$[$0]);
496
+ break;
497
+ case 20:
498
+ $$[$0 - 1].title = yy.cleanupLabel($$[$0]);
499
+ yy.addRelation($$[$0 - 1]);
500
+ break;
501
+ case 31:
502
+ this.$ = $$[$0].trim();
503
+ yy.setAccTitle(this.$);
504
+ break;
505
+ case 32:
506
+ case 33:
507
+ this.$ = $$[$0].trim();
508
+ yy.setAccDescription(this.$);
509
+ break;
510
+ case 34:
511
+ yy.addClassesToNamespace($$[$0 - 3], $$[$0 - 1][0], $$[$0 - 1][1]);
512
+ yy.popNamespace();
513
+ break;
514
+ case 35:
515
+ yy.addClassesToNamespace($$[$0 - 4], $$[$0 - 1][0], $$[$0 - 1][1]);
516
+ yy.popNamespace();
517
+ break;
518
+ case 36:
519
+ this.$ = yy.addNamespace($$[$0]);
520
+ break;
521
+ case 37:
522
+ this.$ = yy.addNamespace($$[$0 - 1], $$[$0]);
523
+ break;
524
+ case 38:
525
+ this.$ = [[$$[$0]], []];
526
+ break;
527
+ case 39:
528
+ this.$ = [[$$[$0 - 1]], []];
529
+ break;
530
+ case 40:
531
+ $$[$0][0].unshift($$[$0 - 2]);
532
+ this.$ = $$[$0];
533
+ break;
534
+ case 41:
535
+ this.$ = [[], [$$[$0]]];
536
+ break;
537
+ case 42:
538
+ this.$ = [[], [$$[$0 - 1]]];
539
+ break;
540
+ case 43:
541
+ $$[$0][1].unshift($$[$0 - 2]);
542
+ this.$ = $$[$0];
543
+ break;
544
+ case 44:
545
+ case 45:
546
+ this.$ = [[], []];
547
+ break;
548
+ case 46:
549
+ this.$ = $$[$0];
550
+ break;
551
+ case 48:
552
+ yy.setCssClass($$[$0 - 2], $$[$0]);
553
+ break;
554
+ case 49:
555
+ yy.addMembers($$[$0 - 3], $$[$0 - 1]);
556
+ break;
557
+ case 51:
558
+ yy.setCssClass($$[$0 - 5], $$[$0 - 3]);
559
+ yy.addMembers($$[$0 - 5], $$[$0 - 1]);
560
+ break;
561
+ case 52:
562
+ yy.addAnnotation($$[$0 - 3], $$[$0 - 1]);
563
+ break;
564
+ case 53:
565
+ yy.addAnnotation($$[$0 - 6], $$[$0 - 4]);
566
+ yy.addMembers($$[$0 - 6], $$[$0 - 1]);
567
+ break;
568
+ case 54:
569
+ yy.addAnnotation($$[$0 - 5], $$[$0 - 3]);
570
+ break;
571
+ case 55:
572
+ this.$ = $$[$0];
573
+ yy.addClass($$[$0]);
574
+ break;
575
+ case 56:
576
+ this.$ = $$[$0 - 1];
577
+ yy.addClass($$[$0 - 1]);
578
+ yy.setClassLabel($$[$0 - 1], $$[$0]);
579
+ break;
580
+ case 60:
581
+ yy.addAnnotation($$[$0], $$[$0 - 2]);
582
+ break;
583
+ case 61:
584
+ case 74:
585
+ this.$ = [$$[$0]];
586
+ break;
587
+ case 62:
588
+ $$[$0].push($$[$0 - 1]);
589
+ this.$ = $$[$0];
590
+ break;
591
+ case 63: break;
592
+ case 64:
593
+ yy.addMember($$[$0 - 1], yy.cleanupLabel($$[$0]));
594
+ break;
595
+ case 65: break;
596
+ case 66: break;
597
+ case 67:
598
+ this.$ = {
599
+ "id1": $$[$0 - 2],
600
+ "id2": $$[$0],
601
+ relation: $$[$0 - 1],
602
+ relationTitle1: "none",
603
+ relationTitle2: "none"
604
+ };
605
+ break;
606
+ case 68:
607
+ this.$ = {
608
+ id1: $$[$0 - 3],
609
+ id2: $$[$0],
610
+ relation: $$[$0 - 1],
611
+ relationTitle1: $$[$0 - 2],
612
+ relationTitle2: "none"
613
+ };
614
+ break;
615
+ case 69:
616
+ this.$ = {
617
+ id1: $$[$0 - 3],
618
+ id2: $$[$0],
619
+ relation: $$[$0 - 2],
620
+ relationTitle1: "none",
621
+ relationTitle2: $$[$0 - 1]
622
+ };
623
+ break;
624
+ case 70:
625
+ this.$ = {
626
+ id1: $$[$0 - 4],
627
+ id2: $$[$0],
628
+ relation: $$[$0 - 2],
629
+ relationTitle1: $$[$0 - 3],
630
+ relationTitle2: $$[$0 - 1]
631
+ };
632
+ break;
633
+ case 71:
634
+ this.$ = yy.addNote($$[$0], $$[$0 - 1]);
635
+ break;
636
+ case 72:
637
+ this.$ = yy.addNote($$[$0]);
638
+ break;
639
+ case 73:
640
+ this.$ = $$[$0 - 2];
641
+ yy.defineClass($$[$0 - 1], $$[$0]);
642
+ break;
643
+ case 75:
644
+ this.$ = $$[$0 - 2].concat([$$[$0]]);
645
+ break;
646
+ case 76:
647
+ yy.setDirection("TB");
648
+ break;
649
+ case 77:
650
+ yy.setDirection("BT");
651
+ break;
652
+ case 78:
653
+ yy.setDirection("RL");
654
+ break;
655
+ case 79:
656
+ yy.setDirection("LR");
657
+ break;
658
+ case 80:
659
+ this.$ = {
660
+ type1: $$[$0 - 2],
661
+ type2: $$[$0],
662
+ lineType: $$[$0 - 1]
663
+ };
664
+ break;
665
+ case 81:
666
+ this.$ = {
667
+ type1: "none",
668
+ type2: $$[$0],
669
+ lineType: $$[$0 - 1]
670
+ };
671
+ break;
672
+ case 82:
673
+ this.$ = {
674
+ type1: $$[$0 - 1],
675
+ type2: "none",
676
+ lineType: $$[$0]
677
+ };
678
+ break;
679
+ case 83:
680
+ this.$ = {
681
+ type1: "none",
682
+ type2: "none",
683
+ lineType: $$[$0]
684
+ };
685
+ break;
686
+ case 84:
687
+ this.$ = yy.relationType.AGGREGATION;
688
+ break;
689
+ case 85:
690
+ this.$ = yy.relationType.EXTENSION;
691
+ break;
692
+ case 86:
693
+ this.$ = yy.relationType.COMPOSITION;
694
+ break;
695
+ case 87:
696
+ this.$ = yy.relationType.DEPENDENCY;
697
+ break;
698
+ case 88:
699
+ this.$ = yy.relationType.LOLLIPOP;
700
+ break;
701
+ case 89:
702
+ this.$ = yy.lineType.LINE;
703
+ break;
704
+ case 90:
705
+ this.$ = yy.lineType.DOTTED_LINE;
706
+ break;
707
+ case 91:
708
+ case 97:
709
+ this.$ = $$[$0 - 2];
710
+ yy.setClickEvent($$[$0 - 1], $$[$0]);
711
+ break;
712
+ case 92:
713
+ case 98:
714
+ this.$ = $$[$0 - 3];
715
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1]);
716
+ yy.setTooltip($$[$0 - 2], $$[$0]);
717
+ break;
718
+ case 93:
719
+ this.$ = $$[$0 - 2];
720
+ yy.setLink($$[$0 - 1], $$[$0]);
721
+ break;
722
+ case 94:
723
+ this.$ = $$[$0 - 3];
724
+ yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);
725
+ break;
726
+ case 95:
727
+ this.$ = $$[$0 - 3];
728
+ yy.setLink($$[$0 - 2], $$[$0 - 1]);
729
+ yy.setTooltip($$[$0 - 2], $$[$0]);
730
+ break;
731
+ case 96:
732
+ this.$ = $$[$0 - 4];
733
+ yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);
734
+ yy.setTooltip($$[$0 - 3], $$[$0 - 1]);
735
+ break;
736
+ case 99:
737
+ this.$ = $$[$0 - 3];
738
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
739
+ break;
740
+ case 100:
741
+ this.$ = $$[$0 - 4];
742
+ yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);
743
+ yy.setTooltip($$[$0 - 3], $$[$0]);
744
+ break;
745
+ case 101:
746
+ this.$ = $$[$0 - 3];
747
+ yy.setLink($$[$0 - 2], $$[$0]);
748
+ break;
749
+ case 102:
750
+ this.$ = $$[$0 - 4];
751
+ yy.setLink($$[$0 - 3], $$[$0 - 1], $$[$0]);
752
+ break;
753
+ case 103:
754
+ this.$ = $$[$0 - 4];
755
+ yy.setLink($$[$0 - 3], $$[$0 - 1]);
756
+ yy.setTooltip($$[$0 - 3], $$[$0]);
757
+ break;
758
+ case 104:
759
+ this.$ = $$[$0 - 5];
760
+ yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);
761
+ yy.setTooltip($$[$0 - 4], $$[$0 - 1]);
762
+ break;
763
+ case 105:
764
+ this.$ = $$[$0 - 2];
765
+ yy.setCssStyle($$[$0 - 1], $$[$0]);
766
+ break;
767
+ case 106:
768
+ yy.setCssClass($$[$0 - 1], $$[$0]);
769
+ break;
770
+ case 107:
771
+ this.$ = [$$[$0]];
772
+ break;
773
+ case 108:
774
+ $$[$0 - 2].push($$[$0]);
775
+ this.$ = $$[$0 - 2];
776
+ break;
777
+ case 110:
778
+ this.$ = $$[$0 - 1] + $$[$0];
779
+ break;
780
+ }
781
+ }, "anonymous"),
782
+ table: [
783
+ {
784
+ 3: 1,
785
+ 4: 2,
786
+ 5: 3,
787
+ 6: 4,
788
+ 7: [1, 6],
789
+ 10: 5,
790
+ 16: 39,
791
+ 17: 40,
792
+ 19: 21,
793
+ 21: 7,
794
+ 23: 8,
795
+ 24: 9,
796
+ 25: 10,
797
+ 26: 11,
798
+ 27: 12,
799
+ 28: 13,
800
+ 29: 14,
801
+ 30: 15,
802
+ 31: 16,
803
+ 32: 17,
804
+ 33: $V0,
805
+ 35: $V1,
806
+ 37: $V2,
807
+ 38: 22,
808
+ 42: $V3,
809
+ 43: 23,
810
+ 46: $V4,
811
+ 48: $V5,
812
+ 51: $V6,
813
+ 52: $V7,
814
+ 54: $V8,
815
+ 56: $V9,
816
+ 57: $Va,
817
+ 60: $Vb,
818
+ 62: $Vc,
819
+ 63: $Vd,
820
+ 64: $Ve,
821
+ 65: $Vf,
822
+ 75: $Vg,
823
+ 76: $Vh,
824
+ 78: $Vi,
825
+ 82: $Vj,
826
+ 83: $Vk,
827
+ 86: $Vl,
828
+ 100: $Vm,
829
+ 102: $Vn,
830
+ 103: $Vo
831
+ },
832
+ { 1: [3] },
833
+ { 1: [2, 1] },
834
+ { 1: [2, 2] },
835
+ { 1: [2, 3] },
836
+ o($Vp, [2, 5], { 8: [1, 48] }),
837
+ { 8: [1, 49] },
838
+ o($Vq, [2, 19], { 22: [1, 50] }),
839
+ o($Vq, [2, 21]),
840
+ o($Vq, [2, 22]),
841
+ o($Vq, [2, 23]),
842
+ o($Vq, [2, 24]),
843
+ o($Vq, [2, 25]),
844
+ o($Vq, [2, 26]),
845
+ o($Vq, [2, 27]),
846
+ o($Vq, [2, 28]),
847
+ o($Vq, [2, 29]),
848
+ o($Vq, [2, 30]),
849
+ { 34: [1, 51] },
850
+ { 36: [1, 52] },
851
+ o($Vq, [2, 33]),
852
+ o($Vq, [2, 63], {
853
+ 53: 53,
854
+ 66: 56,
855
+ 67: 57,
856
+ 13: [1, 54],
857
+ 22: [1, 55],
858
+ 68: $Vr,
859
+ 69: $Vs,
860
+ 70: $Vt,
861
+ 71: $Vu,
862
+ 72: $Vv,
863
+ 73: $Vw,
864
+ 74: $Vx
865
+ }),
866
+ { 39: [1, 65] },
867
+ o($Vy, [2, 47], {
868
+ 39: [1, 67],
869
+ 44: [1, 66],
870
+ 46: [1, 68]
871
+ }),
872
+ o($Vq, [2, 65]),
873
+ o($Vq, [2, 66]),
874
+ {
875
+ 16: 69,
876
+ 60: $Vb,
877
+ 86: $Vl,
878
+ 100: $Vm,
879
+ 102: $Vn
880
+ },
881
+ {
882
+ 16: 39,
883
+ 17: 40,
884
+ 19: 70,
885
+ 60: $Vb,
886
+ 86: $Vl,
887
+ 100: $Vm,
888
+ 102: $Vn,
889
+ 103: $Vo
890
+ },
891
+ {
892
+ 16: 39,
893
+ 17: 40,
894
+ 19: 71,
895
+ 60: $Vb,
896
+ 86: $Vl,
897
+ 100: $Vm,
898
+ 102: $Vn,
899
+ 103: $Vo
900
+ },
901
+ {
902
+ 16: 39,
903
+ 17: 40,
904
+ 19: 72,
905
+ 60: $Vb,
906
+ 86: $Vl,
907
+ 100: $Vm,
908
+ 102: $Vn,
909
+ 103: $Vo
910
+ },
911
+ { 60: [1, 73] },
912
+ { 13: [1, 74] },
913
+ {
914
+ 16: 39,
915
+ 17: 40,
916
+ 19: 75,
917
+ 60: $Vb,
918
+ 86: $Vl,
919
+ 100: $Vm,
920
+ 102: $Vn,
921
+ 103: $Vo
922
+ },
923
+ {
924
+ 13: $Vz,
925
+ 55: 76
926
+ },
927
+ {
928
+ 58: 78,
929
+ 60: [1, 79]
930
+ },
931
+ o($Vq, [2, 76]),
932
+ o($Vq, [2, 77]),
933
+ o($Vq, [2, 78]),
934
+ o($Vq, [2, 79]),
935
+ o($VA, [2, 13], {
936
+ 16: 39,
937
+ 17: 40,
938
+ 19: 81,
939
+ 18: [1, 80],
940
+ 20: [1, 82],
941
+ 60: $Vb,
942
+ 86: $Vl,
943
+ 100: $Vm,
944
+ 102: $Vn,
945
+ 103: $Vo
946
+ }),
947
+ o($VA, [2, 15], { 20: [1, 83] }),
948
+ {
949
+ 15: 84,
950
+ 16: 85,
951
+ 17: 86,
952
+ 60: $Vb,
953
+ 86: $Vl,
954
+ 100: $Vm,
955
+ 102: $Vn,
956
+ 103: $Vo
957
+ },
958
+ {
959
+ 16: 39,
960
+ 17: 40,
961
+ 19: 87,
962
+ 60: $Vb,
963
+ 86: $Vl,
964
+ 100: $Vm,
965
+ 102: $Vn,
966
+ 103: $Vo
967
+ },
968
+ o($VB, [2, 133]),
969
+ o($VB, [2, 134]),
970
+ o($VB, [2, 135]),
971
+ o($VB, [2, 136]),
972
+ o([
973
+ 1,
974
+ 8,
975
+ 9,
976
+ 12,
977
+ 13,
978
+ 20,
979
+ 22,
980
+ 39,
981
+ 41,
982
+ 44,
983
+ 46,
984
+ 68,
985
+ 69,
986
+ 70,
987
+ 71,
988
+ 72,
989
+ 73,
990
+ 74,
991
+ 79,
992
+ 81
993
+ ], [2, 137]),
994
+ o($Vp, [2, 6], {
995
+ 10: 5,
996
+ 21: 7,
997
+ 23: 8,
998
+ 24: 9,
999
+ 25: 10,
1000
+ 26: 11,
1001
+ 27: 12,
1002
+ 28: 13,
1003
+ 29: 14,
1004
+ 30: 15,
1005
+ 31: 16,
1006
+ 32: 17,
1007
+ 19: 21,
1008
+ 38: 22,
1009
+ 43: 23,
1010
+ 16: 39,
1011
+ 17: 40,
1012
+ 5: 88,
1013
+ 33: $V0,
1014
+ 35: $V1,
1015
+ 37: $V2,
1016
+ 42: $V3,
1017
+ 46: $V4,
1018
+ 48: $V5,
1019
+ 51: $V6,
1020
+ 52: $V7,
1021
+ 54: $V8,
1022
+ 56: $V9,
1023
+ 57: $Va,
1024
+ 60: $Vb,
1025
+ 62: $Vc,
1026
+ 63: $Vd,
1027
+ 64: $Ve,
1028
+ 65: $Vf,
1029
+ 75: $Vg,
1030
+ 76: $Vh,
1031
+ 78: $Vi,
1032
+ 82: $Vj,
1033
+ 83: $Vk,
1034
+ 86: $Vl,
1035
+ 100: $Vm,
1036
+ 102: $Vn,
1037
+ 103: $Vo
1038
+ }),
1039
+ {
1040
+ 5: 89,
1041
+ 10: 5,
1042
+ 16: 39,
1043
+ 17: 40,
1044
+ 19: 21,
1045
+ 21: 7,
1046
+ 23: 8,
1047
+ 24: 9,
1048
+ 25: 10,
1049
+ 26: 11,
1050
+ 27: 12,
1051
+ 28: 13,
1052
+ 29: 14,
1053
+ 30: 15,
1054
+ 31: 16,
1055
+ 32: 17,
1056
+ 33: $V0,
1057
+ 35: $V1,
1058
+ 37: $V2,
1059
+ 38: 22,
1060
+ 42: $V3,
1061
+ 43: 23,
1062
+ 46: $V4,
1063
+ 48: $V5,
1064
+ 51: $V6,
1065
+ 52: $V7,
1066
+ 54: $V8,
1067
+ 56: $V9,
1068
+ 57: $Va,
1069
+ 60: $Vb,
1070
+ 62: $Vc,
1071
+ 63: $Vd,
1072
+ 64: $Ve,
1073
+ 65: $Vf,
1074
+ 75: $Vg,
1075
+ 76: $Vh,
1076
+ 78: $Vi,
1077
+ 82: $Vj,
1078
+ 83: $Vk,
1079
+ 86: $Vl,
1080
+ 100: $Vm,
1081
+ 102: $Vn,
1082
+ 103: $Vo
1083
+ },
1084
+ o($Vq, [2, 20]),
1085
+ o($Vq, [2, 31]),
1086
+ o($Vq, [2, 32]),
1087
+ {
1088
+ 13: [1, 91],
1089
+ 16: 39,
1090
+ 17: 40,
1091
+ 19: 90,
1092
+ 60: $Vb,
1093
+ 86: $Vl,
1094
+ 100: $Vm,
1095
+ 102: $Vn,
1096
+ 103: $Vo
1097
+ },
1098
+ {
1099
+ 53: 92,
1100
+ 66: 56,
1101
+ 67: 57,
1102
+ 68: $Vr,
1103
+ 69: $Vs,
1104
+ 70: $Vt,
1105
+ 71: $Vu,
1106
+ 72: $Vv,
1107
+ 73: $Vw,
1108
+ 74: $Vx
1109
+ },
1110
+ o($Vq, [2, 64]),
1111
+ {
1112
+ 67: 93,
1113
+ 73: $Vw,
1114
+ 74: $Vx
1115
+ },
1116
+ o($VC, [2, 83], {
1117
+ 66: 94,
1118
+ 68: $Vr,
1119
+ 69: $Vs,
1120
+ 70: $Vt,
1121
+ 71: $Vu,
1122
+ 72: $Vv
1123
+ }),
1124
+ o($VD, [2, 84]),
1125
+ o($VD, [2, 85]),
1126
+ o($VD, [2, 86]),
1127
+ o($VD, [2, 87]),
1128
+ o($VD, [2, 88]),
1129
+ o($VE, [2, 89]),
1130
+ o($VE, [2, 90]),
1131
+ {
1132
+ 8: [1, 96],
1133
+ 23: 99,
1134
+ 24: 97,
1135
+ 30: 98,
1136
+ 38: 22,
1137
+ 40: 95,
1138
+ 42: $V3,
1139
+ 43: 23,
1140
+ 48: $V5,
1141
+ 54: $V8,
1142
+ 56: $V9
1143
+ },
1144
+ {
1145
+ 16: 100,
1146
+ 60: $Vb,
1147
+ 86: $Vl,
1148
+ 100: $Vm,
1149
+ 102: $Vn
1150
+ },
1151
+ {
1152
+ 41: [1, 102],
1153
+ 45: 101,
1154
+ 51: $VF
1155
+ },
1156
+ {
1157
+ 16: 104,
1158
+ 60: $Vb,
1159
+ 86: $Vl,
1160
+ 100: $Vm,
1161
+ 102: $Vn
1162
+ },
1163
+ { 47: [1, 105] },
1164
+ { 13: [1, 106] },
1165
+ { 13: [1, 107] },
1166
+ {
1167
+ 79: [1, 108],
1168
+ 81: [1, 109]
1169
+ },
1170
+ {
1171
+ 22: $VG,
1172
+ 50: $VH,
1173
+ 59: 110,
1174
+ 60: $VI,
1175
+ 82: $VJ,
1176
+ 84: 111,
1177
+ 85: 112,
1178
+ 86: $VK,
1179
+ 87: $VL,
1180
+ 88: $VM,
1181
+ 89: $VN,
1182
+ 90: $VO
1183
+ },
1184
+ { 60: [1, 122] },
1185
+ {
1186
+ 13: $Vz,
1187
+ 55: 123
1188
+ },
1189
+ o($Vy, [2, 72]),
1190
+ o($Vy, [2, 138]),
1191
+ {
1192
+ 22: $VG,
1193
+ 50: $VH,
1194
+ 59: 124,
1195
+ 60: $VI,
1196
+ 61: [1, 125],
1197
+ 82: $VJ,
1198
+ 84: 111,
1199
+ 85: 112,
1200
+ 86: $VK,
1201
+ 87: $VL,
1202
+ 88: $VM,
1203
+ 89: $VN,
1204
+ 90: $VO
1205
+ },
1206
+ o($VP, [2, 74]),
1207
+ {
1208
+ 16: 39,
1209
+ 17: 40,
1210
+ 19: 126,
1211
+ 60: $Vb,
1212
+ 86: $Vl,
1213
+ 100: $Vm,
1214
+ 102: $Vn,
1215
+ 103: $Vo
1216
+ },
1217
+ o($VA, [2, 16]),
1218
+ o($VA, [2, 17]),
1219
+ o($VA, [2, 18]),
1220
+ {
1221
+ 11: 127,
1222
+ 12: $VQ,
1223
+ 39: [2, 36]
1224
+ },
1225
+ o($VR, [2, 9], {
1226
+ 16: 85,
1227
+ 17: 86,
1228
+ 15: 130,
1229
+ 18: [1, 129],
1230
+ 60: $Vb,
1231
+ 86: $Vl,
1232
+ 100: $Vm,
1233
+ 102: $Vn,
1234
+ 103: $Vo
1235
+ }),
1236
+ o($VR, [2, 10]),
1237
+ o($VS, [2, 55], {
1238
+ 11: 131,
1239
+ 12: $VQ
1240
+ }),
1241
+ o($Vp, [2, 7]),
1242
+ { 9: [1, 132] },
1243
+ o($VT, [2, 67]),
1244
+ {
1245
+ 16: 39,
1246
+ 17: 40,
1247
+ 19: 133,
1248
+ 60: $Vb,
1249
+ 86: $Vl,
1250
+ 100: $Vm,
1251
+ 102: $Vn,
1252
+ 103: $Vo
1253
+ },
1254
+ {
1255
+ 13: [1, 135],
1256
+ 16: 39,
1257
+ 17: 40,
1258
+ 19: 134,
1259
+ 60: $Vb,
1260
+ 86: $Vl,
1261
+ 100: $Vm,
1262
+ 102: $Vn,
1263
+ 103: $Vo
1264
+ },
1265
+ o($VC, [2, 82], {
1266
+ 66: 136,
1267
+ 68: $Vr,
1268
+ 69: $Vs,
1269
+ 70: $Vt,
1270
+ 71: $Vu,
1271
+ 72: $Vv
1272
+ }),
1273
+ o($VC, [2, 81]),
1274
+ { 41: [1, 137] },
1275
+ {
1276
+ 23: 99,
1277
+ 24: 97,
1278
+ 30: 98,
1279
+ 38: 22,
1280
+ 40: 138,
1281
+ 42: $V3,
1282
+ 43: 23,
1283
+ 48: $V5,
1284
+ 54: $V8,
1285
+ 56: $V9
1286
+ },
1287
+ {
1288
+ 8: [1, 139],
1289
+ 41: [2, 38]
1290
+ },
1291
+ {
1292
+ 8: [1, 140],
1293
+ 41: [2, 41]
1294
+ },
1295
+ {
1296
+ 8: [1, 141],
1297
+ 41: [2, 44]
1298
+ },
1299
+ o($Vy, [2, 48], { 39: [1, 142] }),
1300
+ { 41: [1, 143] },
1301
+ o($Vy, [2, 50]),
1302
+ {
1303
+ 41: [2, 61],
1304
+ 45: 144,
1305
+ 51: $VF
1306
+ },
1307
+ { 47: [1, 145] },
1308
+ {
1309
+ 16: 39,
1310
+ 17: 40,
1311
+ 19: 146,
1312
+ 60: $Vb,
1313
+ 86: $Vl,
1314
+ 100: $Vm,
1315
+ 102: $Vn,
1316
+ 103: $Vo
1317
+ },
1318
+ o($Vq, [2, 91], { 13: [1, 147] }),
1319
+ o($Vq, [2, 93], {
1320
+ 13: [1, 149],
1321
+ 77: [1, 148]
1322
+ }),
1323
+ o($Vq, [2, 97], {
1324
+ 13: [1, 150],
1325
+ 80: [1, 151]
1326
+ }),
1327
+ { 13: [1, 152] },
1328
+ o($Vq, [2, 105], { 61: $VU }),
1329
+ o($VV, [2, 107], {
1330
+ 85: 154,
1331
+ 22: $VG,
1332
+ 50: $VH,
1333
+ 60: $VI,
1334
+ 82: $VJ,
1335
+ 86: $VK,
1336
+ 87: $VL,
1337
+ 88: $VM,
1338
+ 89: $VN,
1339
+ 90: $VO
1340
+ }),
1341
+ o($VW, [2, 109]),
1342
+ o($VW, [2, 111]),
1343
+ o($VW, [2, 112]),
1344
+ o($VW, [2, 113]),
1345
+ o($VW, [2, 114]),
1346
+ o($VW, [2, 115]),
1347
+ o($VW, [2, 116]),
1348
+ o($VW, [2, 117]),
1349
+ o($VW, [2, 118]),
1350
+ o($VW, [2, 119]),
1351
+ o($Vq, [2, 106]),
1352
+ o($Vy, [2, 71]),
1353
+ o($Vq, [2, 73], { 61: $VU }),
1354
+ { 60: [1, 155] },
1355
+ o($VA, [2, 14]),
1356
+ { 39: [2, 37] },
1357
+ { 13: [1, 156] },
1358
+ {
1359
+ 15: 157,
1360
+ 16: 85,
1361
+ 17: 86,
1362
+ 60: $Vb,
1363
+ 86: $Vl,
1364
+ 100: $Vm,
1365
+ 102: $Vn,
1366
+ 103: $Vo
1367
+ },
1368
+ o($VR, [2, 12]),
1369
+ o($VS, [2, 56]),
1370
+ { 1: [2, 4] },
1371
+ o($VT, [2, 69]),
1372
+ o($VT, [2, 68]),
1373
+ {
1374
+ 16: 39,
1375
+ 17: 40,
1376
+ 19: 158,
1377
+ 60: $Vb,
1378
+ 86: $Vl,
1379
+ 100: $Vm,
1380
+ 102: $Vn,
1381
+ 103: $Vo
1382
+ },
1383
+ o($VC, [2, 80]),
1384
+ o($Vy, [2, 34]),
1385
+ { 41: [1, 159] },
1386
+ {
1387
+ 23: 99,
1388
+ 24: 97,
1389
+ 30: 98,
1390
+ 38: 22,
1391
+ 40: 160,
1392
+ 41: [2, 39],
1393
+ 42: $V3,
1394
+ 43: 23,
1395
+ 48: $V5,
1396
+ 54: $V8,
1397
+ 56: $V9
1398
+ },
1399
+ {
1400
+ 23: 99,
1401
+ 24: 97,
1402
+ 30: 98,
1403
+ 38: 22,
1404
+ 40: 161,
1405
+ 41: [2, 42],
1406
+ 42: $V3,
1407
+ 43: 23,
1408
+ 48: $V5,
1409
+ 54: $V8,
1410
+ 56: $V9
1411
+ },
1412
+ {
1413
+ 23: 99,
1414
+ 24: 97,
1415
+ 30: 98,
1416
+ 38: 22,
1417
+ 40: 162,
1418
+ 41: [2, 45],
1419
+ 42: $V3,
1420
+ 43: 23,
1421
+ 48: $V5,
1422
+ 54: $V8,
1423
+ 56: $V9
1424
+ },
1425
+ {
1426
+ 45: 163,
1427
+ 51: $VF
1428
+ },
1429
+ o($Vy, [2, 49]),
1430
+ { 41: [2, 62] },
1431
+ o($Vy, [2, 52], { 39: [1, 164] }),
1432
+ o($Vq, [2, 60]),
1433
+ o($Vq, [2, 92]),
1434
+ o($Vq, [2, 94]),
1435
+ o($Vq, [2, 95], { 77: [1, 165] }),
1436
+ o($Vq, [2, 98]),
1437
+ o($Vq, [2, 99], { 13: [1, 166] }),
1438
+ o($Vq, [2, 101], {
1439
+ 13: [1, 168],
1440
+ 77: [1, 167]
1441
+ }),
1442
+ {
1443
+ 22: $VG,
1444
+ 50: $VH,
1445
+ 60: $VI,
1446
+ 82: $VJ,
1447
+ 84: 169,
1448
+ 85: 112,
1449
+ 86: $VK,
1450
+ 87: $VL,
1451
+ 88: $VM,
1452
+ 89: $VN,
1453
+ 90: $VO
1454
+ },
1455
+ o($VW, [2, 110]),
1456
+ o($VP, [2, 75]),
1457
+ { 14: [1, 170] },
1458
+ o($VR, [2, 11]),
1459
+ o($VT, [2, 70]),
1460
+ o($Vy, [2, 35]),
1461
+ { 41: [2, 40] },
1462
+ { 41: [2, 43] },
1463
+ { 41: [2, 46] },
1464
+ { 41: [1, 171] },
1465
+ {
1466
+ 41: [1, 173],
1467
+ 45: 172,
1468
+ 51: $VF
1469
+ },
1470
+ o($Vq, [2, 96]),
1471
+ o($Vq, [2, 100]),
1472
+ o($Vq, [2, 102]),
1473
+ o($Vq, [2, 103], { 77: [1, 174] }),
1474
+ o($VV, [2, 108], {
1475
+ 85: 154,
1476
+ 22: $VG,
1477
+ 50: $VH,
1478
+ 60: $VI,
1479
+ 82: $VJ,
1480
+ 86: $VK,
1481
+ 87: $VL,
1482
+ 88: $VM,
1483
+ 89: $VN,
1484
+ 90: $VO
1485
+ }),
1486
+ o($VS, [2, 8]),
1487
+ o($Vy, [2, 51]),
1488
+ { 41: [1, 175] },
1489
+ o($Vy, [2, 54]),
1490
+ o($Vq, [2, 104]),
1491
+ o($Vy, [2, 53])
1492
+ ],
1493
+ defaultActions: {
1494
+ 2: [2, 1],
1495
+ 3: [2, 2],
1496
+ 4: [2, 3],
1497
+ 127: [2, 37],
1498
+ 132: [2, 4],
1499
+ 144: [2, 62],
1500
+ 160: [2, 40],
1501
+ 161: [2, 43],
1502
+ 162: [2, 46]
1503
+ },
1504
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
1505
+ if (hash.recoverable) this.trace(str);
1506
+ else {
1507
+ var error = new Error(str);
1508
+ error.hash = hash;
1509
+ throw error;
1510
+ }
1511
+ }, "parseError"),
1512
+ parse: /* @__PURE__ */ __name(function parse(input) {
1513
+ var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
1514
+ var args = lstack.slice.call(arguments, 1);
1515
+ var lexer2 = Object.create(this.lexer);
1516
+ var sharedState = { yy: {} };
1517
+ for (var k in this.yy) if (Object.prototype.hasOwnProperty.call(this.yy, k)) sharedState.yy[k] = this.yy[k];
1518
+ lexer2.setInput(input, sharedState.yy);
1519
+ sharedState.yy.lexer = lexer2;
1520
+ sharedState.yy.parser = this;
1521
+ if (typeof lexer2.yylloc == "undefined") lexer2.yylloc = {};
1522
+ var yyloc = lexer2.yylloc;
1523
+ lstack.push(yyloc);
1524
+ var ranges = lexer2.options && lexer2.options.ranges;
1525
+ if (typeof sharedState.yy.parseError === "function") this.parseError = sharedState.yy.parseError;
1526
+ else this.parseError = Object.getPrototypeOf(this).parseError;
1527
+ function popStack(n) {
1528
+ stack.length = stack.length - 2 * n;
1529
+ vstack.length = vstack.length - n;
1530
+ lstack.length = lstack.length - n;
1531
+ }
1532
+ __name(popStack, "popStack");
1533
+ function lex() {
1534
+ var token = tstack.pop() || lexer2.lex() || EOF;
1535
+ if (typeof token !== "number") {
1536
+ if (token instanceof Array) {
1537
+ tstack = token;
1538
+ token = tstack.pop();
1539
+ }
1540
+ token = self.symbols_[token] || token;
1541
+ }
1542
+ return token;
1543
+ }
1544
+ __name(lex, "lex");
1545
+ var symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected;
1546
+ while (true) {
1547
+ state = stack[stack.length - 1];
1548
+ if (this.defaultActions[state]) action = this.defaultActions[state];
1549
+ else {
1550
+ if (symbol === null || typeof symbol == "undefined") symbol = lex();
1551
+ action = table[state] && table[state][symbol];
1552
+ }
1553
+ if (typeof action === "undefined" || !action.length || !action[0]) {
1554
+ var errStr = "";
1555
+ expected = [];
1556
+ for (p in table[state]) if (this.terminals_[p] && p > TERROR) expected.push("'" + this.terminals_[p] + "'");
1557
+ if (lexer2.showPosition) errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
1558
+ else errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
1559
+ this.parseError(errStr, {
1560
+ text: lexer2.match,
1561
+ token: this.terminals_[symbol] || symbol,
1562
+ line: lexer2.yylineno,
1563
+ loc: yyloc,
1564
+ expected
1565
+ });
1566
+ }
1567
+ if (action[0] instanceof Array && action.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
1568
+ switch (action[0]) {
1569
+ case 1:
1570
+ stack.push(symbol);
1571
+ vstack.push(lexer2.yytext);
1572
+ lstack.push(lexer2.yylloc);
1573
+ stack.push(action[1]);
1574
+ symbol = null;
1575
+ if (!preErrorSymbol) {
1576
+ yyleng = lexer2.yyleng;
1577
+ yytext = lexer2.yytext;
1578
+ yylineno = lexer2.yylineno;
1579
+ yyloc = lexer2.yylloc;
1580
+ if (recovering > 0) recovering--;
1581
+ } else {
1582
+ symbol = preErrorSymbol;
1583
+ preErrorSymbol = null;
1584
+ }
1585
+ break;
1586
+ case 2:
1587
+ len = this.productions_[action[1]][1];
1588
+ yyval.$ = vstack[vstack.length - len];
1589
+ yyval._$ = {
1590
+ first_line: lstack[lstack.length - (len || 1)].first_line,
1591
+ last_line: lstack[lstack.length - 1].last_line,
1592
+ first_column: lstack[lstack.length - (len || 1)].first_column,
1593
+ last_column: lstack[lstack.length - 1].last_column
1594
+ };
1595
+ if (ranges) yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
1596
+ r = this.performAction.apply(yyval, [
1597
+ yytext,
1598
+ yyleng,
1599
+ yylineno,
1600
+ sharedState.yy,
1601
+ action[1],
1602
+ vstack,
1603
+ lstack
1604
+ ].concat(args));
1605
+ if (typeof r !== "undefined") return r;
1606
+ if (len) {
1607
+ stack = stack.slice(0, -1 * len * 2);
1608
+ vstack = vstack.slice(0, -1 * len);
1609
+ lstack = lstack.slice(0, -1 * len);
1610
+ }
1611
+ stack.push(this.productions_[action[1]][0]);
1612
+ vstack.push(yyval.$);
1613
+ lstack.push(yyval._$);
1614
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
1615
+ stack.push(newState);
1616
+ break;
1617
+ case 3: return true;
1618
+ }
1619
+ }
1620
+ return true;
1621
+ }, "parse")
1622
+ };
1623
+ parser2.lexer = /* @__PURE__ */ (function() {
1624
+ return {
1625
+ EOF: 1,
1626
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
1627
+ if (this.yy.parser) this.yy.parser.parseError(str, hash);
1628
+ else throw new Error(str);
1629
+ }, "parseError"),
1630
+ setInput: /* @__PURE__ */ __name(function(input, yy) {
1631
+ this.yy = yy || this.yy || {};
1632
+ this._input = input;
1633
+ this._more = this._backtrack = this.done = false;
1634
+ this.yylineno = this.yyleng = 0;
1635
+ this.yytext = this.matched = this.match = "";
1636
+ this.conditionStack = ["INITIAL"];
1637
+ this.yylloc = {
1638
+ first_line: 1,
1639
+ first_column: 0,
1640
+ last_line: 1,
1641
+ last_column: 0
1642
+ };
1643
+ if (this.options.ranges) this.yylloc.range = [0, 0];
1644
+ this.offset = 0;
1645
+ return this;
1646
+ }, "setInput"),
1647
+ input: /* @__PURE__ */ __name(function() {
1648
+ var ch = this._input[0];
1649
+ this.yytext += ch;
1650
+ this.yyleng++;
1651
+ this.offset++;
1652
+ this.match += ch;
1653
+ this.matched += ch;
1654
+ if (ch.match(/(?:\r\n?|\n).*/g)) {
1655
+ this.yylineno++;
1656
+ this.yylloc.last_line++;
1657
+ } else this.yylloc.last_column++;
1658
+ if (this.options.ranges) this.yylloc.range[1]++;
1659
+ this._input = this._input.slice(1);
1660
+ return ch;
1661
+ }, "input"),
1662
+ unput: /* @__PURE__ */ __name(function(ch) {
1663
+ var len = ch.length;
1664
+ var lines = ch.split(/(?:\r\n?|\n)/g);
1665
+ this._input = ch + this._input;
1666
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
1667
+ this.offset -= len;
1668
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
1669
+ this.match = this.match.substr(0, this.match.length - 1);
1670
+ this.matched = this.matched.substr(0, this.matched.length - 1);
1671
+ if (lines.length - 1) this.yylineno -= lines.length - 1;
1672
+ var r = this.yylloc.range;
1673
+ this.yylloc = {
1674
+ first_line: this.yylloc.first_line,
1675
+ last_line: this.yylineno + 1,
1676
+ first_column: this.yylloc.first_column,
1677
+ 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
1678
+ };
1679
+ if (this.options.ranges) this.yylloc.range = [r[0], r[0] + this.yyleng - len];
1680
+ this.yyleng = this.yytext.length;
1681
+ return this;
1682
+ }, "unput"),
1683
+ more: /* @__PURE__ */ __name(function() {
1684
+ this._more = true;
1685
+ return this;
1686
+ }, "more"),
1687
+ reject: /* @__PURE__ */ __name(function() {
1688
+ if (this.options.backtrack_lexer) this._backtrack = true;
1689
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
1690
+ text: "",
1691
+ token: null,
1692
+ line: this.yylineno
1693
+ });
1694
+ return this;
1695
+ }, "reject"),
1696
+ less: /* @__PURE__ */ __name(function(n) {
1697
+ this.unput(this.match.slice(n));
1698
+ }, "less"),
1699
+ pastInput: /* @__PURE__ */ __name(function() {
1700
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
1701
+ return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
1702
+ }, "pastInput"),
1703
+ upcomingInput: /* @__PURE__ */ __name(function() {
1704
+ var next = this.match;
1705
+ if (next.length < 20) next += this._input.substr(0, 20 - next.length);
1706
+ return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
1707
+ }, "upcomingInput"),
1708
+ showPosition: /* @__PURE__ */ __name(function() {
1709
+ var pre = this.pastInput();
1710
+ var c = new Array(pre.length + 1).join("-");
1711
+ return pre + this.upcomingInput() + "\n" + c + "^";
1712
+ }, "showPosition"),
1713
+ test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {
1714
+ var token, lines, backup;
1715
+ if (this.options.backtrack_lexer) {
1716
+ backup = {
1717
+ yylineno: this.yylineno,
1718
+ yylloc: {
1719
+ first_line: this.yylloc.first_line,
1720
+ last_line: this.last_line,
1721
+ first_column: this.yylloc.first_column,
1722
+ last_column: this.yylloc.last_column
1723
+ },
1724
+ yytext: this.yytext,
1725
+ match: this.match,
1726
+ matches: this.matches,
1727
+ matched: this.matched,
1728
+ yyleng: this.yyleng,
1729
+ offset: this.offset,
1730
+ _more: this._more,
1731
+ _input: this._input,
1732
+ yy: this.yy,
1733
+ conditionStack: this.conditionStack.slice(0),
1734
+ done: this.done
1735
+ };
1736
+ if (this.options.ranges) backup.yylloc.range = this.yylloc.range.slice(0);
1737
+ }
1738
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
1739
+ if (lines) this.yylineno += lines.length;
1740
+ this.yylloc = {
1741
+ first_line: this.yylloc.last_line,
1742
+ last_line: this.yylineno + 1,
1743
+ first_column: this.yylloc.last_column,
1744
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
1745
+ };
1746
+ this.yytext += match[0];
1747
+ this.match += match[0];
1748
+ this.matches = match;
1749
+ this.yyleng = this.yytext.length;
1750
+ if (this.options.ranges) this.yylloc.range = [this.offset, this.offset += this.yyleng];
1751
+ this._more = false;
1752
+ this._backtrack = false;
1753
+ this._input = this._input.slice(match[0].length);
1754
+ this.matched += match[0];
1755
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
1756
+ if (this.done && this._input) this.done = false;
1757
+ if (token) return token;
1758
+ else if (this._backtrack) {
1759
+ for (var k in backup) this[k] = backup[k];
1760
+ return false;
1761
+ }
1762
+ return false;
1763
+ }, "test_match"),
1764
+ next: /* @__PURE__ */ __name(function() {
1765
+ if (this.done) return this.EOF;
1766
+ if (!this._input) this.done = true;
1767
+ var token, match, tempMatch, index;
1768
+ if (!this._more) {
1769
+ this.yytext = "";
1770
+ this.match = "";
1771
+ }
1772
+ var rules = this._currentRules();
1773
+ for (var i = 0; i < rules.length; i++) {
1774
+ tempMatch = this._input.match(this.rules[rules[i]]);
1775
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
1776
+ match = tempMatch;
1777
+ index = i;
1778
+ if (this.options.backtrack_lexer) {
1779
+ token = this.test_match(tempMatch, rules[i]);
1780
+ if (token !== false) return token;
1781
+ else if (this._backtrack) {
1782
+ match = false;
1783
+ continue;
1784
+ } else return false;
1785
+ } else if (!this.options.flex) break;
1786
+ }
1787
+ }
1788
+ if (match) {
1789
+ token = this.test_match(match, rules[index]);
1790
+ if (token !== false) return token;
1791
+ return false;
1792
+ }
1793
+ if (this._input === "") return this.EOF;
1794
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
1795
+ text: "",
1796
+ token: null,
1797
+ line: this.yylineno
1798
+ });
1799
+ }, "next"),
1800
+ lex: /* @__PURE__ */ __name(function lex() {
1801
+ var r = this.next();
1802
+ if (r) return r;
1803
+ else return this.lex();
1804
+ }, "lex"),
1805
+ begin: /* @__PURE__ */ __name(function begin(condition) {
1806
+ this.conditionStack.push(condition);
1807
+ }, "begin"),
1808
+ popState: /* @__PURE__ */ __name(function popState() {
1809
+ if (this.conditionStack.length - 1 > 0) return this.conditionStack.pop();
1810
+ else return this.conditionStack[0];
1811
+ }, "popState"),
1812
+ _currentRules: /* @__PURE__ */ __name(function _currentRules() {
1813
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
1814
+ else return this.conditions["INITIAL"].rules;
1815
+ }, "_currentRules"),
1816
+ topState: /* @__PURE__ */ __name(function topState(n) {
1817
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
1818
+ if (n >= 0) return this.conditionStack[n];
1819
+ else return "INITIAL";
1820
+ }, "topState"),
1821
+ pushState: /* @__PURE__ */ __name(function pushState(condition) {
1822
+ this.begin(condition);
1823
+ }, "pushState"),
1824
+ stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {
1825
+ return this.conditionStack.length;
1826
+ }, "stateStackSize"),
1827
+ options: {},
1828
+ performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
1829
+ switch ($avoiding_name_collisions) {
1830
+ case 0: return 62;
1831
+ case 1: return 63;
1832
+ case 2: return 64;
1833
+ case 3: return 65;
1834
+ case 4: break;
1835
+ case 5: break;
1836
+ case 6:
1837
+ this.begin("acc_title");
1838
+ return 33;
1839
+ case 7:
1840
+ this.popState();
1841
+ return "acc_title_value";
1842
+ case 8:
1843
+ this.begin("acc_descr");
1844
+ return 35;
1845
+ case 9:
1846
+ this.popState();
1847
+ return "acc_descr_value";
1848
+ case 10:
1849
+ this.begin("acc_descr_multiline");
1850
+ break;
1851
+ case 11:
1852
+ this.popState();
1853
+ break;
1854
+ case 12: return "acc_descr_multiline_value";
1855
+ case 13: return 8;
1856
+ case 14: break;
1857
+ case 15: return 7;
1858
+ case 16: return 7;
1859
+ case 17: return "EDGE_STATE";
1860
+ case 18:
1861
+ this.begin("callback_name");
1862
+ break;
1863
+ case 19:
1864
+ this.popState();
1865
+ break;
1866
+ case 20:
1867
+ this.popState();
1868
+ this.begin("callback_args");
1869
+ break;
1870
+ case 21: return 79;
1871
+ case 22:
1872
+ this.popState();
1873
+ break;
1874
+ case 23: return 80;
1875
+ case 24:
1876
+ this.popState();
1877
+ break;
1878
+ case 25: return "STR";
1879
+ case 26:
1880
+ this.begin("string");
1881
+ break;
1882
+ case 27: return 82;
1883
+ case 28: return 57;
1884
+ case 29:
1885
+ this.begin("namespace");
1886
+ return 42;
1887
+ case 30:
1888
+ this.popState();
1889
+ return 8;
1890
+ case 31: break;
1891
+ case 32:
1892
+ this.begin("namespace-body");
1893
+ return 39;
1894
+ case 33:
1895
+ this.popState();
1896
+ this.less(0);
1897
+ break;
1898
+ case 34:
1899
+ this.popState();
1900
+ return 41;
1901
+ case 35: return "EOF_IN_STRUCT";
1902
+ case 36: return 8;
1903
+ case 37: break;
1904
+ case 38: return "EDGE_STATE";
1905
+ case 39:
1906
+ this.begin("class");
1907
+ return 48;
1908
+ case 40:
1909
+ this.popState();
1910
+ return 8;
1911
+ case 41: break;
1912
+ case 42:
1913
+ this.popState();
1914
+ this.popState();
1915
+ return 41;
1916
+ case 43:
1917
+ this.begin("class-body");
1918
+ return 39;
1919
+ case 44:
1920
+ this.popState();
1921
+ return 41;
1922
+ case 45: return "EOF_IN_STRUCT";
1923
+ case 46: return "EDGE_STATE";
1924
+ case 47: return "OPEN_IN_STRUCT";
1925
+ case 48: break;
1926
+ case 49: return "MEMBER";
1927
+ case 50: return 83;
1928
+ case 51: return 75;
1929
+ case 52: return 76;
1930
+ case 53: return 78;
1931
+ case 54: return 54;
1932
+ case 55: return 56;
1933
+ case 56: return 46;
1934
+ case 57: return 47;
1935
+ case 58: return 81;
1936
+ case 59:
1937
+ this.popState();
1938
+ break;
1939
+ case 60: return "GENERICTYPE";
1940
+ case 61:
1941
+ this.begin("generic");
1942
+ break;
1943
+ case 62:
1944
+ this.popState();
1945
+ break;
1946
+ case 63: return "BQUOTE_STR";
1947
+ case 64:
1948
+ this.begin("bqstring");
1949
+ break;
1950
+ case 65: return 77;
1951
+ case 66: return 77;
1952
+ case 67: return 77;
1953
+ case 68: return 77;
1954
+ case 69: return 69;
1955
+ case 70: return 69;
1956
+ case 71: return 71;
1957
+ case 72: return 71;
1958
+ case 73: return 70;
1959
+ case 74: return 68;
1960
+ case 75: return 72;
1961
+ case 76: return 73;
1962
+ case 77: return 74;
1963
+ case 78: return 22;
1964
+ case 79: return 44;
1965
+ case 80: return 100;
1966
+ case 81: return 18;
1967
+ case 82: return "PLUS";
1968
+ case 83: return 87;
1969
+ case 84: return 61;
1970
+ case 85: return 89;
1971
+ case 86: return 89;
1972
+ case 87: return 90;
1973
+ case 88: return "EQUALS";
1974
+ case 89: return "EQUALS";
1975
+ case 90: return 60;
1976
+ case 91: return 12;
1977
+ case 92: return 14;
1978
+ case 93: return "PUNCTUATION";
1979
+ case 94: return 86;
1980
+ case 95: return 102;
1981
+ case 96: return 50;
1982
+ case 97: return 50;
1983
+ case 98: return 9;
1984
+ }
1985
+ }, "anonymous"),
1986
+ rules: [
1987
+ /^(?:.*direction\s+TB[^\n]*)/,
1988
+ /^(?:.*direction\s+BT[^\n]*)/,
1989
+ /^(?:.*direction\s+RL[^\n]*)/,
1990
+ /^(?:.*direction\s+LR[^\n]*)/,
1991
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
1992
+ /^(?:%%[^\n]*(\r?\n)*)/,
1993
+ /^(?:accTitle\s*:\s*)/,
1994
+ /^(?:(?!\n||)*[^\n]*)/,
1995
+ /^(?:accDescr\s*:\s*)/,
1996
+ /^(?:(?!\n||)*[^\n]*)/,
1997
+ /^(?:accDescr\s*\{\s*)/,
1998
+ /^(?:[\}])/,
1999
+ /^(?:[^\}]*)/,
2000
+ /^(?:\s*(\r?\n)+)/,
2001
+ /^(?:\s+)/,
2002
+ /^(?:classDiagram-v2\b)/,
2003
+ /^(?:classDiagram\b)/,
2004
+ /^(?:\[\*\])/,
2005
+ /^(?:call[\s]+)/,
2006
+ /^(?:\([\s]*\))/,
2007
+ /^(?:\()/,
2008
+ /^(?:[^(]*)/,
2009
+ /^(?:\))/,
2010
+ /^(?:[^)]*)/,
2011
+ /^(?:["])/,
2012
+ /^(?:[^"]*)/,
2013
+ /^(?:["])/,
2014
+ /^(?:style\b)/,
2015
+ /^(?:classDef\b)/,
2016
+ /^(?:namespace\b)/,
2017
+ /^(?:\s*(\r?\n)+)/,
2018
+ /^(?:\s+)/,
2019
+ /^(?:[{])/,
2020
+ /^(?:[}])/,
2021
+ /^(?:[}])/,
2022
+ /^(?:$)/,
2023
+ /^(?:\s*(\r?\n)+)/,
2024
+ /^(?:\s+)/,
2025
+ /^(?:\[\*\])/,
2026
+ /^(?:class\b)/,
2027
+ /^(?:\s*(\r?\n)+)/,
2028
+ /^(?:\s+)/,
2029
+ /^(?:[}])/,
2030
+ /^(?:[{])/,
2031
+ /^(?:[}])/,
2032
+ /^(?:$)/,
2033
+ /^(?:\[\*\])/,
2034
+ /^(?:[{])/,
2035
+ /^(?:[\n])/,
2036
+ /^(?:[^{}\n]*)/,
2037
+ /^(?:cssClass\b)/,
2038
+ /^(?:callback\b)/,
2039
+ /^(?:link\b)/,
2040
+ /^(?:click\b)/,
2041
+ /^(?:note for\b)/,
2042
+ /^(?:note\b)/,
2043
+ /^(?:<<)/,
2044
+ /^(?:>>)/,
2045
+ /^(?:href\b)/,
2046
+ /^(?:[~])/,
2047
+ /^(?:[^~]*)/,
2048
+ /^(?:~)/,
2049
+ /^(?:[`])/,
2050
+ /^(?:[^`]+)/,
2051
+ /^(?:[`])/,
2052
+ /^(?:_self\b)/,
2053
+ /^(?:_blank\b)/,
2054
+ /^(?:_parent\b)/,
2055
+ /^(?:_top\b)/,
2056
+ /^(?:\s*<\|)/,
2057
+ /^(?:\s*\|>)/,
2058
+ /^(?:\s*>)/,
2059
+ /^(?:\s*<)/,
2060
+ /^(?:\s*\*)/,
2061
+ /^(?:\s*o\b)/,
2062
+ /^(?:\s*\(\))/,
2063
+ /^(?:--)/,
2064
+ /^(?:\.\.)/,
2065
+ /^(?::{1}[^:\n;]+)/,
2066
+ /^(?::{3})/,
2067
+ /^(?:-)/,
2068
+ /^(?:\.)/,
2069
+ /^(?:\+)/,
2070
+ /^(?::)/,
2071
+ /^(?:,)/,
2072
+ /^(?:#)/,
2073
+ /^(?:#)/,
2074
+ /^(?:%)/,
2075
+ /^(?:=)/,
2076
+ /^(?:=)/,
2077
+ /^(?:\w+)/,
2078
+ /^(?:\[)/,
2079
+ /^(?:\])/,
2080
+ /^(?:[!"#$%&'*+,-.`?\\/])/,
2081
+ /^(?:[0-9]+)/,
2082
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
2083
+ /^(?:\s)/,
2084
+ /^(?:\s)/,
2085
+ /^(?:$)/
2086
+ ],
2087
+ conditions: {
2088
+ "namespace-body": {
2089
+ "rules": [
2090
+ 26,
2091
+ 29,
2092
+ 34,
2093
+ 35,
2094
+ 36,
2095
+ 37,
2096
+ 38,
2097
+ 39,
2098
+ 50,
2099
+ 51,
2100
+ 52,
2101
+ 53,
2102
+ 54,
2103
+ 55,
2104
+ 56,
2105
+ 57,
2106
+ 58,
2107
+ 61,
2108
+ 64,
2109
+ 65,
2110
+ 66,
2111
+ 67,
2112
+ 68,
2113
+ 69,
2114
+ 70,
2115
+ 71,
2116
+ 72,
2117
+ 73,
2118
+ 74,
2119
+ 75,
2120
+ 76,
2121
+ 77,
2122
+ 78,
2123
+ 79,
2124
+ 80,
2125
+ 81,
2126
+ 82,
2127
+ 87,
2128
+ 88,
2129
+ 89,
2130
+ 90,
2131
+ 91,
2132
+ 92,
2133
+ 93,
2134
+ 94,
2135
+ 95,
2136
+ 96,
2137
+ 98
2138
+ ],
2139
+ "inclusive": false
2140
+ },
2141
+ "namespace": {
2142
+ "rules": [
2143
+ 26,
2144
+ 29,
2145
+ 30,
2146
+ 31,
2147
+ 32,
2148
+ 33,
2149
+ 50,
2150
+ 51,
2151
+ 52,
2152
+ 53,
2153
+ 54,
2154
+ 55,
2155
+ 56,
2156
+ 57,
2157
+ 58,
2158
+ 61,
2159
+ 64,
2160
+ 65,
2161
+ 66,
2162
+ 67,
2163
+ 68,
2164
+ 69,
2165
+ 70,
2166
+ 71,
2167
+ 72,
2168
+ 73,
2169
+ 74,
2170
+ 75,
2171
+ 76,
2172
+ 77,
2173
+ 78,
2174
+ 79,
2175
+ 80,
2176
+ 81,
2177
+ 82,
2178
+ 87,
2179
+ 88,
2180
+ 89,
2181
+ 90,
2182
+ 91,
2183
+ 92,
2184
+ 93,
2185
+ 94,
2186
+ 95,
2187
+ 96,
2188
+ 98
2189
+ ],
2190
+ "inclusive": false
2191
+ },
2192
+ "class-body": {
2193
+ "rules": [
2194
+ 26,
2195
+ 44,
2196
+ 45,
2197
+ 46,
2198
+ 47,
2199
+ 48,
2200
+ 49,
2201
+ 50,
2202
+ 51,
2203
+ 52,
2204
+ 53,
2205
+ 54,
2206
+ 55,
2207
+ 56,
2208
+ 57,
2209
+ 58,
2210
+ 61,
2211
+ 64,
2212
+ 65,
2213
+ 66,
2214
+ 67,
2215
+ 68,
2216
+ 69,
2217
+ 70,
2218
+ 71,
2219
+ 72,
2220
+ 73,
2221
+ 74,
2222
+ 75,
2223
+ 76,
2224
+ 77,
2225
+ 78,
2226
+ 79,
2227
+ 80,
2228
+ 81,
2229
+ 82,
2230
+ 87,
2231
+ 88,
2232
+ 89,
2233
+ 90,
2234
+ 91,
2235
+ 92,
2236
+ 93,
2237
+ 94,
2238
+ 95,
2239
+ 96,
2240
+ 98
2241
+ ],
2242
+ "inclusive": false
2243
+ },
2244
+ "class": {
2245
+ "rules": [
2246
+ 26,
2247
+ 40,
2248
+ 41,
2249
+ 42,
2250
+ 43,
2251
+ 50,
2252
+ 51,
2253
+ 52,
2254
+ 53,
2255
+ 54,
2256
+ 55,
2257
+ 56,
2258
+ 57,
2259
+ 58,
2260
+ 61,
2261
+ 64,
2262
+ 65,
2263
+ 66,
2264
+ 67,
2265
+ 68,
2266
+ 69,
2267
+ 70,
2268
+ 71,
2269
+ 72,
2270
+ 73,
2271
+ 74,
2272
+ 75,
2273
+ 76,
2274
+ 77,
2275
+ 78,
2276
+ 79,
2277
+ 80,
2278
+ 81,
2279
+ 82,
2280
+ 87,
2281
+ 88,
2282
+ 89,
2283
+ 90,
2284
+ 91,
2285
+ 92,
2286
+ 93,
2287
+ 94,
2288
+ 95,
2289
+ 96,
2290
+ 98
2291
+ ],
2292
+ "inclusive": false
2293
+ },
2294
+ "acc_descr_multiline": {
2295
+ "rules": [
2296
+ 11,
2297
+ 12,
2298
+ 26,
2299
+ 50,
2300
+ 51,
2301
+ 52,
2302
+ 53,
2303
+ 54,
2304
+ 55,
2305
+ 56,
2306
+ 57,
2307
+ 58,
2308
+ 61,
2309
+ 64,
2310
+ 65,
2311
+ 66,
2312
+ 67,
2313
+ 68,
2314
+ 69,
2315
+ 70,
2316
+ 71,
2317
+ 72,
2318
+ 73,
2319
+ 74,
2320
+ 75,
2321
+ 76,
2322
+ 77,
2323
+ 78,
2324
+ 79,
2325
+ 80,
2326
+ 81,
2327
+ 82,
2328
+ 87,
2329
+ 88,
2330
+ 89,
2331
+ 90,
2332
+ 91,
2333
+ 92,
2334
+ 93,
2335
+ 94,
2336
+ 95,
2337
+ 96,
2338
+ 98
2339
+ ],
2340
+ "inclusive": false
2341
+ },
2342
+ "acc_descr": {
2343
+ "rules": [
2344
+ 9,
2345
+ 26,
2346
+ 50,
2347
+ 51,
2348
+ 52,
2349
+ 53,
2350
+ 54,
2351
+ 55,
2352
+ 56,
2353
+ 57,
2354
+ 58,
2355
+ 61,
2356
+ 64,
2357
+ 65,
2358
+ 66,
2359
+ 67,
2360
+ 68,
2361
+ 69,
2362
+ 70,
2363
+ 71,
2364
+ 72,
2365
+ 73,
2366
+ 74,
2367
+ 75,
2368
+ 76,
2369
+ 77,
2370
+ 78,
2371
+ 79,
2372
+ 80,
2373
+ 81,
2374
+ 82,
2375
+ 87,
2376
+ 88,
2377
+ 89,
2378
+ 90,
2379
+ 91,
2380
+ 92,
2381
+ 93,
2382
+ 94,
2383
+ 95,
2384
+ 96,
2385
+ 98
2386
+ ],
2387
+ "inclusive": false
2388
+ },
2389
+ "acc_title": {
2390
+ "rules": [
2391
+ 7,
2392
+ 26,
2393
+ 50,
2394
+ 51,
2395
+ 52,
2396
+ 53,
2397
+ 54,
2398
+ 55,
2399
+ 56,
2400
+ 57,
2401
+ 58,
2402
+ 61,
2403
+ 64,
2404
+ 65,
2405
+ 66,
2406
+ 67,
2407
+ 68,
2408
+ 69,
2409
+ 70,
2410
+ 71,
2411
+ 72,
2412
+ 73,
2413
+ 74,
2414
+ 75,
2415
+ 76,
2416
+ 77,
2417
+ 78,
2418
+ 79,
2419
+ 80,
2420
+ 81,
2421
+ 82,
2422
+ 87,
2423
+ 88,
2424
+ 89,
2425
+ 90,
2426
+ 91,
2427
+ 92,
2428
+ 93,
2429
+ 94,
2430
+ 95,
2431
+ 96,
2432
+ 98
2433
+ ],
2434
+ "inclusive": false
2435
+ },
2436
+ "callback_args": {
2437
+ "rules": [
2438
+ 22,
2439
+ 23,
2440
+ 26,
2441
+ 50,
2442
+ 51,
2443
+ 52,
2444
+ 53,
2445
+ 54,
2446
+ 55,
2447
+ 56,
2448
+ 57,
2449
+ 58,
2450
+ 61,
2451
+ 64,
2452
+ 65,
2453
+ 66,
2454
+ 67,
2455
+ 68,
2456
+ 69,
2457
+ 70,
2458
+ 71,
2459
+ 72,
2460
+ 73,
2461
+ 74,
2462
+ 75,
2463
+ 76,
2464
+ 77,
2465
+ 78,
2466
+ 79,
2467
+ 80,
2468
+ 81,
2469
+ 82,
2470
+ 87,
2471
+ 88,
2472
+ 89,
2473
+ 90,
2474
+ 91,
2475
+ 92,
2476
+ 93,
2477
+ 94,
2478
+ 95,
2479
+ 96,
2480
+ 98
2481
+ ],
2482
+ "inclusive": false
2483
+ },
2484
+ "callback_name": {
2485
+ "rules": [
2486
+ 19,
2487
+ 20,
2488
+ 21,
2489
+ 26,
2490
+ 50,
2491
+ 51,
2492
+ 52,
2493
+ 53,
2494
+ 54,
2495
+ 55,
2496
+ 56,
2497
+ 57,
2498
+ 58,
2499
+ 61,
2500
+ 64,
2501
+ 65,
2502
+ 66,
2503
+ 67,
2504
+ 68,
2505
+ 69,
2506
+ 70,
2507
+ 71,
2508
+ 72,
2509
+ 73,
2510
+ 74,
2511
+ 75,
2512
+ 76,
2513
+ 77,
2514
+ 78,
2515
+ 79,
2516
+ 80,
2517
+ 81,
2518
+ 82,
2519
+ 87,
2520
+ 88,
2521
+ 89,
2522
+ 90,
2523
+ 91,
2524
+ 92,
2525
+ 93,
2526
+ 94,
2527
+ 95,
2528
+ 96,
2529
+ 98
2530
+ ],
2531
+ "inclusive": false
2532
+ },
2533
+ "href": {
2534
+ "rules": [
2535
+ 26,
2536
+ 50,
2537
+ 51,
2538
+ 52,
2539
+ 53,
2540
+ 54,
2541
+ 55,
2542
+ 56,
2543
+ 57,
2544
+ 58,
2545
+ 61,
2546
+ 64,
2547
+ 65,
2548
+ 66,
2549
+ 67,
2550
+ 68,
2551
+ 69,
2552
+ 70,
2553
+ 71,
2554
+ 72,
2555
+ 73,
2556
+ 74,
2557
+ 75,
2558
+ 76,
2559
+ 77,
2560
+ 78,
2561
+ 79,
2562
+ 80,
2563
+ 81,
2564
+ 82,
2565
+ 87,
2566
+ 88,
2567
+ 89,
2568
+ 90,
2569
+ 91,
2570
+ 92,
2571
+ 93,
2572
+ 94,
2573
+ 95,
2574
+ 96,
2575
+ 98
2576
+ ],
2577
+ "inclusive": false
2578
+ },
2579
+ "struct": {
2580
+ "rules": [
2581
+ 26,
2582
+ 50,
2583
+ 51,
2584
+ 52,
2585
+ 53,
2586
+ 54,
2587
+ 55,
2588
+ 56,
2589
+ 57,
2590
+ 58,
2591
+ 61,
2592
+ 64,
2593
+ 65,
2594
+ 66,
2595
+ 67,
2596
+ 68,
2597
+ 69,
2598
+ 70,
2599
+ 71,
2600
+ 72,
2601
+ 73,
2602
+ 74,
2603
+ 75,
2604
+ 76,
2605
+ 77,
2606
+ 78,
2607
+ 79,
2608
+ 80,
2609
+ 81,
2610
+ 82,
2611
+ 87,
2612
+ 88,
2613
+ 89,
2614
+ 90,
2615
+ 91,
2616
+ 92,
2617
+ 93,
2618
+ 94,
2619
+ 95,
2620
+ 96,
2621
+ 98
2622
+ ],
2623
+ "inclusive": false
2624
+ },
2625
+ "generic": {
2626
+ "rules": [
2627
+ 26,
2628
+ 50,
2629
+ 51,
2630
+ 52,
2631
+ 53,
2632
+ 54,
2633
+ 55,
2634
+ 56,
2635
+ 57,
2636
+ 58,
2637
+ 59,
2638
+ 60,
2639
+ 61,
2640
+ 64,
2641
+ 65,
2642
+ 66,
2643
+ 67,
2644
+ 68,
2645
+ 69,
2646
+ 70,
2647
+ 71,
2648
+ 72,
2649
+ 73,
2650
+ 74,
2651
+ 75,
2652
+ 76,
2653
+ 77,
2654
+ 78,
2655
+ 79,
2656
+ 80,
2657
+ 81,
2658
+ 82,
2659
+ 87,
2660
+ 88,
2661
+ 89,
2662
+ 90,
2663
+ 91,
2664
+ 92,
2665
+ 93,
2666
+ 94,
2667
+ 95,
2668
+ 96,
2669
+ 98
2670
+ ],
2671
+ "inclusive": false
2672
+ },
2673
+ "bqstring": {
2674
+ "rules": [
2675
+ 26,
2676
+ 50,
2677
+ 51,
2678
+ 52,
2679
+ 53,
2680
+ 54,
2681
+ 55,
2682
+ 56,
2683
+ 57,
2684
+ 58,
2685
+ 61,
2686
+ 62,
2687
+ 63,
2688
+ 64,
2689
+ 65,
2690
+ 66,
2691
+ 67,
2692
+ 68,
2693
+ 69,
2694
+ 70,
2695
+ 71,
2696
+ 72,
2697
+ 73,
2698
+ 74,
2699
+ 75,
2700
+ 76,
2701
+ 77,
2702
+ 78,
2703
+ 79,
2704
+ 80,
2705
+ 81,
2706
+ 82,
2707
+ 87,
2708
+ 88,
2709
+ 89,
2710
+ 90,
2711
+ 91,
2712
+ 92,
2713
+ 93,
2714
+ 94,
2715
+ 95,
2716
+ 96,
2717
+ 98
2718
+ ],
2719
+ "inclusive": false
2720
+ },
2721
+ "string": {
2722
+ "rules": [
2723
+ 24,
2724
+ 25,
2725
+ 26,
2726
+ 50,
2727
+ 51,
2728
+ 52,
2729
+ 53,
2730
+ 54,
2731
+ 55,
2732
+ 56,
2733
+ 57,
2734
+ 58,
2735
+ 61,
2736
+ 64,
2737
+ 65,
2738
+ 66,
2739
+ 67,
2740
+ 68,
2741
+ 69,
2742
+ 70,
2743
+ 71,
2744
+ 72,
2745
+ 73,
2746
+ 74,
2747
+ 75,
2748
+ 76,
2749
+ 77,
2750
+ 78,
2751
+ 79,
2752
+ 80,
2753
+ 81,
2754
+ 82,
2755
+ 87,
2756
+ 88,
2757
+ 89,
2758
+ 90,
2759
+ 91,
2760
+ 92,
2761
+ 93,
2762
+ 94,
2763
+ 95,
2764
+ 96,
2765
+ 98
2766
+ ],
2767
+ "inclusive": false
2768
+ },
2769
+ "INITIAL": {
2770
+ "rules": [
2771
+ 0,
2772
+ 1,
2773
+ 2,
2774
+ 3,
2775
+ 4,
2776
+ 5,
2777
+ 6,
2778
+ 8,
2779
+ 10,
2780
+ 13,
2781
+ 14,
2782
+ 15,
2783
+ 16,
2784
+ 17,
2785
+ 18,
2786
+ 26,
2787
+ 27,
2788
+ 28,
2789
+ 29,
2790
+ 39,
2791
+ 50,
2792
+ 51,
2793
+ 52,
2794
+ 53,
2795
+ 54,
2796
+ 55,
2797
+ 56,
2798
+ 57,
2799
+ 58,
2800
+ 61,
2801
+ 64,
2802
+ 65,
2803
+ 66,
2804
+ 67,
2805
+ 68,
2806
+ 69,
2807
+ 70,
2808
+ 71,
2809
+ 72,
2810
+ 73,
2811
+ 74,
2812
+ 75,
2813
+ 76,
2814
+ 77,
2815
+ 78,
2816
+ 79,
2817
+ 80,
2818
+ 81,
2819
+ 82,
2820
+ 83,
2821
+ 84,
2822
+ 85,
2823
+ 86,
2824
+ 87,
2825
+ 88,
2826
+ 89,
2827
+ 90,
2828
+ 91,
2829
+ 92,
2830
+ 93,
2831
+ 94,
2832
+ 95,
2833
+ 96,
2834
+ 97,
2835
+ 98
2836
+ ],
2837
+ "inclusive": true
2838
+ }
2839
+ }
2840
+ };
2841
+ })();
2842
+ function Parser() {
2843
+ this.yy = {};
2844
+ }
2845
+ __name(Parser, "Parser");
2846
+ Parser.prototype = parser2;
2847
+ parser2.Parser = Parser;
2848
+ return new Parser();
2849
+ })();
2850
+ parser.parser = parser;
2851
+ var classDiagram_default = parser;
2852
+ var visibilityValues = [
2853
+ "#",
2854
+ "+",
2855
+ "~",
2856
+ "-",
2857
+ ""
2858
+ ];
2859
+ var ClassMember = class {
2860
+ static {
2861
+ __name(this, "ClassMember");
2862
+ }
2863
+ constructor(input, memberType) {
2864
+ this.memberType = memberType;
2865
+ this.visibility = "";
2866
+ this.classifier = "";
2867
+ this.text = "";
2868
+ const sanitizedInput = sanitizeText(input, getConfig2());
2869
+ this.parseMember(sanitizedInput);
2870
+ }
2871
+ getDisplayDetails() {
2872
+ let displayText = this.visibility + parseGenericTypes(this.id);
2873
+ if (this.memberType === "method") {
2874
+ displayText += `(${parseGenericTypes(this.parameters.trim())})`;
2875
+ if (this.returnType) displayText += " : " + parseGenericTypes(this.returnType);
2876
+ }
2877
+ displayText = displayText.trim();
2878
+ const cssStyle = this.parseClassifier();
2879
+ return {
2880
+ displayText,
2881
+ cssStyle
2882
+ };
2883
+ }
2884
+ parseMember(input) {
2885
+ let potentialClassifier = "";
2886
+ if (this.memberType === "method") {
2887
+ const match = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(input);
2888
+ if (match) {
2889
+ const detectedVisibility = match[1] ? match[1].trim() : "";
2890
+ if (visibilityValues.includes(detectedVisibility)) this.visibility = detectedVisibility;
2891
+ this.id = match[2];
2892
+ this.parameters = match[3] ? match[3].trim() : "";
2893
+ potentialClassifier = match[4] ? match[4].trim() : "";
2894
+ this.returnType = match[5] ? match[5].trim() : "";
2895
+ if (potentialClassifier === "") {
2896
+ const lastChar = this.returnType.substring(this.returnType.length - 1);
2897
+ if (/[$*]/.exec(lastChar)) {
2898
+ potentialClassifier = lastChar;
2899
+ this.returnType = this.returnType.substring(0, this.returnType.length - 1);
2900
+ }
2901
+ }
2902
+ }
2903
+ } else {
2904
+ const length = input.length;
2905
+ const firstChar = input.substring(0, 1);
2906
+ const lastChar = input.substring(length - 1);
2907
+ if (visibilityValues.includes(firstChar)) this.visibility = firstChar;
2908
+ if (/[$*]/.exec(lastChar)) potentialClassifier = lastChar;
2909
+ this.id = input.substring(this.visibility === "" ? 0 : 1, potentialClassifier === "" ? length : length - 1);
2910
+ }
2911
+ this.classifier = potentialClassifier;
2912
+ this.id = this.id.startsWith(" ") ? " " + this.id.trim() : this.id.trim();
2913
+ const combinedText = `${this.visibility ? "\\" + this.visibility : ""}${parseGenericTypes(this.id)}${this.memberType === "method" ? `(${parseGenericTypes(this.parameters)})${this.returnType ? " : " + parseGenericTypes(this.returnType) : ""}` : ""}`;
2914
+ this.text = combinedText.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
2915
+ if (this.text.startsWith("\\&lt;")) this.text = this.text.replace("\\&lt;", "~");
2916
+ }
2917
+ parseClassifier() {
2918
+ switch (this.classifier) {
2919
+ case "*": return "font-style:italic;";
2920
+ case "$": return "text-decoration:underline;";
2921
+ default: return "";
2922
+ }
2923
+ }
2924
+ };
2925
+ var MERMAID_DOM_ID_PREFIX = "classId-";
2926
+ var classCounter = 0;
2927
+ var sanitizeText2 = /* @__PURE__ */ __name((txt) => common_default.sanitizeText(txt, getConfig2()), "sanitizeText");
2928
+ var ClassDB = class _ClassDB {
2929
+ constructor() {
2930
+ this.relations = [];
2931
+ this.classes = /* @__PURE__ */ new Map();
2932
+ this.styleClasses = /* @__PURE__ */ new Map();
2933
+ this.notes = /* @__PURE__ */ new Map();
2934
+ this.interfaces = [];
2935
+ this.namespaces = /* @__PURE__ */ new Map();
2936
+ this.namespaceCounter = 0;
2937
+ this.namespaceStack = [];
2938
+ this.diagramId = "";
2939
+ this.functions = [];
2940
+ this.lineType = {
2941
+ LINE: 0,
2942
+ DOTTED_LINE: 1
2943
+ };
2944
+ this.relationType = {
2945
+ AGGREGATION: 0,
2946
+ EXTENSION: 1,
2947
+ COMPOSITION: 2,
2948
+ DEPENDENCY: 3,
2949
+ LOLLIPOP: 4
2950
+ };
2951
+ this.setupToolTips = /* @__PURE__ */ __name((element) => {
2952
+ const tooltipElem = createTooltip();
2953
+ select_default(element).select("svg").selectAll("g").filter(function() {
2954
+ return select_default(this).attr("title") !== null;
2955
+ }).on("mouseover", (event) => {
2956
+ const el = select_default(event.currentTarget);
2957
+ const title = el.attr("title");
2958
+ if (!title) return;
2959
+ const rect = event.currentTarget.getBoundingClientRect();
2960
+ tooltipElem.transition().duration(200).style("opacity", ".9");
2961
+ tooltipElem.html(purify.sanitize(title)).style("left", `${window.scrollX + rect.left + rect.width / 2}px`).style("top", `${window.scrollY + rect.bottom + 4}px`);
2962
+ el.classed("hover", true);
2963
+ }).on("mouseout", (event) => {
2964
+ tooltipElem.transition().duration(500).style("opacity", 0);
2965
+ select_default(event.currentTarget).classed("hover", false);
2966
+ });
2967
+ }, "setupToolTips");
2968
+ this.direction = "TB";
2969
+ this.setAccTitle = setAccTitle;
2970
+ this.getAccTitle = getAccTitle;
2971
+ this.setAccDescription = setAccDescription;
2972
+ this.getAccDescription = getAccDescription;
2973
+ this.setDiagramTitle = setDiagramTitle;
2974
+ this.getDiagramTitle = getDiagramTitle;
2975
+ this.getConfig = /* @__PURE__ */ __name(() => getConfig2().class, "getConfig");
2976
+ this.functions.push(this.setupToolTips.bind(this));
2977
+ this.clear();
2978
+ this.addRelation = this.addRelation.bind(this);
2979
+ this.addClassesToNamespace = this.addClassesToNamespace.bind(this);
2980
+ this.addNamespace = this.addNamespace.bind(this);
2981
+ this.popNamespace = this.popNamespace.bind(this);
2982
+ this.setCssClass = this.setCssClass.bind(this);
2983
+ this.addMembers = this.addMembers.bind(this);
2984
+ this.addClass = this.addClass.bind(this);
2985
+ this.setClassLabel = this.setClassLabel.bind(this);
2986
+ this.addAnnotation = this.addAnnotation.bind(this);
2987
+ this.addMember = this.addMember.bind(this);
2988
+ this.cleanupLabel = this.cleanupLabel.bind(this);
2989
+ this.addNote = this.addNote.bind(this);
2990
+ this.defineClass = this.defineClass.bind(this);
2991
+ this.setDirection = this.setDirection.bind(this);
2992
+ this.setLink = this.setLink.bind(this);
2993
+ this.bindFunctions = this.bindFunctions.bind(this);
2994
+ this.clear = this.clear.bind(this);
2995
+ this.setTooltip = this.setTooltip.bind(this);
2996
+ this.setClickEvent = this.setClickEvent.bind(this);
2997
+ this.setCssStyle = this.setCssStyle.bind(this);
2998
+ }
2999
+ static {
3000
+ __name(this, "ClassDB");
3001
+ }
3002
+ splitClassNameAndType(_id) {
3003
+ const id = common_default.sanitizeText(_id, getConfig2());
3004
+ let genericType = "";
3005
+ let className = id;
3006
+ if (id.indexOf("~") > 0) {
3007
+ const split = id.split("~");
3008
+ className = sanitizeText2(split[0]);
3009
+ genericType = sanitizeText2(split[1]);
3010
+ }
3011
+ return {
3012
+ className,
3013
+ type: genericType
3014
+ };
3015
+ }
3016
+ setClassLabel(_id, label) {
3017
+ const id = common_default.sanitizeText(_id, getConfig2());
3018
+ if (label) label = sanitizeText2(label);
3019
+ const { className } = this.splitClassNameAndType(id);
3020
+ this.classes.get(className).label = label;
3021
+ this.classes.get(className).text = `${label}${this.classes.get(className).type ? `<${this.classes.get(className).type}>` : ""}`;
3022
+ }
3023
+ /**
3024
+ * Function called by parser when a node definition has been found.
3025
+ *
3026
+ * @param id - ID of the class to add
3027
+ * @public
3028
+ */
3029
+ addClass(_id) {
3030
+ const id = common_default.sanitizeText(_id, getConfig2());
3031
+ const { className, type } = this.splitClassNameAndType(id);
3032
+ if (this.classes.has(className)) return;
3033
+ const name = common_default.sanitizeText(className, getConfig2());
3034
+ this.classes.set(name, {
3035
+ id: name,
3036
+ type,
3037
+ label: name,
3038
+ text: `${name}${type ? `&lt;${type}&gt;` : ""}`,
3039
+ shape: "classBox",
3040
+ cssClasses: "default",
3041
+ methods: [],
3042
+ members: [],
3043
+ annotations: [],
3044
+ styles: [],
3045
+ domId: MERMAID_DOM_ID_PREFIX + name + "-" + classCounter
3046
+ });
3047
+ classCounter++;
3048
+ }
3049
+ addInterface(label, classId) {
3050
+ const classInterface = {
3051
+ id: `interface${this.interfaces.length}`,
3052
+ label,
3053
+ classId
3054
+ };
3055
+ this.interfaces.push(classInterface);
3056
+ }
3057
+ /**
3058
+ * Sets the diagram's SVG element ID, used to prefix domIds for uniqueness
3059
+ * across multiple diagrams on the same page.
3060
+ */
3061
+ setDiagramId(svgElementId) {
3062
+ this.diagramId = svgElementId;
3063
+ }
3064
+ /**
3065
+ * Function to lookup domId from id in the graph definition.
3066
+ * When diagramId is set, returns the prefixed version for DOM uniqueness.
3067
+ *
3068
+ * @param id - class ID to lookup
3069
+ * @public
3070
+ */
3071
+ lookUpDomId(_id) {
3072
+ const id = common_default.sanitizeText(_id, getConfig2());
3073
+ if (this.classes.has(id)) {
3074
+ const domId = this.classes.get(id).domId;
3075
+ return this.diagramId ? `${this.diagramId}-${domId}` : domId;
3076
+ }
3077
+ throw new Error("Class not found: " + id);
3078
+ }
3079
+ clear() {
3080
+ this.relations = [];
3081
+ this.classes = /* @__PURE__ */ new Map();
3082
+ this.notes = /* @__PURE__ */ new Map();
3083
+ this.interfaces = [];
3084
+ this.functions = [];
3085
+ this.functions.push(this.setupToolTips.bind(this));
3086
+ this.namespaces = /* @__PURE__ */ new Map();
3087
+ this.namespaceCounter = 0;
3088
+ this.namespaceStack = [];
3089
+ this.diagramId = "";
3090
+ this.direction = "TB";
3091
+ clear();
3092
+ }
3093
+ getClass(id) {
3094
+ return this.classes.get(id);
3095
+ }
3096
+ getClasses() {
3097
+ return this.classes;
3098
+ }
3099
+ getRelations() {
3100
+ return this.relations;
3101
+ }
3102
+ getNote(id) {
3103
+ const key = typeof id === "number" ? `note${id}` : id;
3104
+ return this.notes.get(key);
3105
+ }
3106
+ getNotes() {
3107
+ return this.notes;
3108
+ }
3109
+ addRelation(classRelation) {
3110
+ log.debug("Adding relation: " + JSON.stringify(classRelation));
3111
+ const invalidTypes = [
3112
+ this.relationType.LOLLIPOP,
3113
+ this.relationType.AGGREGATION,
3114
+ this.relationType.COMPOSITION,
3115
+ this.relationType.DEPENDENCY,
3116
+ this.relationType.EXTENSION
3117
+ ];
3118
+ if (classRelation.relation.type1 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type2)) {
3119
+ this.addClass(classRelation.id2);
3120
+ this.addInterface(classRelation.id1, classRelation.id2);
3121
+ classRelation.id1 = `interface${this.interfaces.length - 1}`;
3122
+ } else if (classRelation.relation.type2 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type1)) {
3123
+ this.addClass(classRelation.id1);
3124
+ this.addInterface(classRelation.id2, classRelation.id1);
3125
+ classRelation.id2 = `interface${this.interfaces.length - 1}`;
3126
+ } else {
3127
+ this.addClass(classRelation.id1);
3128
+ this.addClass(classRelation.id2);
3129
+ }
3130
+ classRelation.id1 = this.splitClassNameAndType(classRelation.id1).className;
3131
+ classRelation.id2 = this.splitClassNameAndType(classRelation.id2).className;
3132
+ classRelation.relationTitle1 = common_default.sanitizeText(classRelation.relationTitle1.trim(), getConfig2());
3133
+ classRelation.relationTitle2 = common_default.sanitizeText(classRelation.relationTitle2.trim(), getConfig2());
3134
+ this.relations.push(classRelation);
3135
+ }
3136
+ /**
3137
+ * Adds an annotation to the specified class Annotations mark special properties of the given type
3138
+ * (like 'interface' or 'service')
3139
+ *
3140
+ * @param className - The class name
3141
+ * @param annotation - The name of the annotation without any brackets
3142
+ * @public
3143
+ */
3144
+ addAnnotation(className, annotation) {
3145
+ const validatedClassName = this.splitClassNameAndType(className).className;
3146
+ this.classes.get(validatedClassName).annotations.push(annotation);
3147
+ }
3148
+ /**
3149
+ * Adds a member to the specified class
3150
+ *
3151
+ * @param className - The class name
3152
+ * @param member - The full name of the member. If the member is enclosed in `<<brackets>>` it is
3153
+ * treated as an annotation If the member is ending with a closing bracket ) it is treated as a
3154
+ * method Otherwise the member will be treated as a normal property
3155
+ * @public
3156
+ */
3157
+ addMember(className, member) {
3158
+ this.addClass(className);
3159
+ const validatedClassName = this.splitClassNameAndType(className).className;
3160
+ const theClass = this.classes.get(validatedClassName);
3161
+ if (typeof member === "string") {
3162
+ const memberString = member.trim();
3163
+ if (memberString.startsWith("<<") && memberString.endsWith(">>")) theClass.annotations.push(sanitizeText2(memberString.substring(2, memberString.length - 2)));
3164
+ else if (memberString.indexOf(")") > 0) theClass.methods.push(new ClassMember(memberString, "method"));
3165
+ else if (memberString) theClass.members.push(new ClassMember(memberString, "attribute"));
3166
+ }
3167
+ }
3168
+ addMembers(className, members) {
3169
+ if (Array.isArray(members)) {
3170
+ members.reverse();
3171
+ members.forEach((member) => this.addMember(className, member));
3172
+ }
3173
+ }
3174
+ addNote(text, className) {
3175
+ const index = this.notes.size;
3176
+ const note = {
3177
+ id: `note${index}`,
3178
+ class: className,
3179
+ text,
3180
+ index
3181
+ };
3182
+ this.notes.set(note.id, note);
3183
+ return note.id;
3184
+ }
3185
+ cleanupLabel(label) {
3186
+ if (label.startsWith(":")) label = label.substring(1);
3187
+ return sanitizeText2(label.trim());
3188
+ }
3189
+ /**
3190
+ * Called by parser when assigning cssClass to a class
3191
+ *
3192
+ * @param ids - Comma separated list of ids
3193
+ * @param className - Class to add
3194
+ */
3195
+ setCssClass(ids, className) {
3196
+ ids.split(",").forEach((_id) => {
3197
+ let id = _id;
3198
+ if (/\d/.exec(_id[0])) id = MERMAID_DOM_ID_PREFIX + id;
3199
+ id = this.splitClassNameAndType(id).className;
3200
+ const classNode = this.classes.get(id);
3201
+ if (classNode) classNode.cssClasses += " " + className;
3202
+ });
3203
+ }
3204
+ defineClass(ids, style) {
3205
+ for (const id of ids) {
3206
+ let styleClass = this.styleClasses.get(id);
3207
+ if (styleClass === void 0) {
3208
+ styleClass = {
3209
+ id,
3210
+ styles: [],
3211
+ textStyles: []
3212
+ };
3213
+ this.styleClasses.set(id, styleClass);
3214
+ }
3215
+ if (style) style.forEach((s) => {
3216
+ if (/color/.exec(s)) {
3217
+ const newStyle = s.replace("fill", "bgFill");
3218
+ styleClass.textStyles.push(newStyle);
3219
+ }
3220
+ styleClass.styles.push(s);
3221
+ });
3222
+ this.classes.forEach((value) => {
3223
+ if (value.cssClasses.includes(id)) value.styles.push(...style.flatMap((s) => s.split(",")));
3224
+ });
3225
+ }
3226
+ }
3227
+ /**
3228
+ * Called by parser when a tooltip is found, e.g. a clickable element.
3229
+ *
3230
+ * @param ids - Comma separated list of ids
3231
+ * @param tooltip - Tooltip to add
3232
+ */
3233
+ setTooltip(ids, tooltip) {
3234
+ ids.split(",").forEach((id) => {
3235
+ if (tooltip !== void 0) {
3236
+ const className = this.splitClassNameAndType(id).className;
3237
+ const classNode = this.classes.get(className);
3238
+ if (classNode) classNode.tooltip = sanitizeText2(tooltip);
3239
+ }
3240
+ });
3241
+ }
3242
+ getTooltip(id, namespace) {
3243
+ if (namespace && this.namespaces.has(namespace)) return this.namespaces.get(namespace).classes.get(id).tooltip;
3244
+ return this.classes.get(id).tooltip;
3245
+ }
3246
+ /**
3247
+ * Called by parser when a link is found. Adds the URL to the vertex data.
3248
+ *
3249
+ * @param ids - Comma separated list of ids
3250
+ * @param linkStr - URL to create a link for
3251
+ * @param target - Target of the link, _blank by default as originally defined in the svgDraw.js file
3252
+ */
3253
+ setLink(ids, linkStr, target) {
3254
+ const config = getConfig2();
3255
+ ids.split(",").forEach((_id) => {
3256
+ let id = _id;
3257
+ if (/\d/.exec(_id[0])) id = MERMAID_DOM_ID_PREFIX + id;
3258
+ id = this.splitClassNameAndType(id).className;
3259
+ const theClass = this.classes.get(id);
3260
+ if (theClass) {
3261
+ theClass.link = utils_default.formatUrl(linkStr, config);
3262
+ if (config.securityLevel === "sandbox") theClass.linkTarget = "_top";
3263
+ else if (typeof target === "string") theClass.linkTarget = sanitizeText2(target);
3264
+ else theClass.linkTarget = "_blank";
3265
+ }
3266
+ });
3267
+ this.setCssClass(ids, "clickable");
3268
+ }
3269
+ /**
3270
+ * Called by parser when a click definition is found. Registers an event handler.
3271
+ *
3272
+ * @param ids - Comma separated list of ids
3273
+ * @param functionName - Function to be called on click
3274
+ * @param functionArgs - Function args the function should be called with
3275
+ */
3276
+ setClickEvent(ids, functionName, functionArgs) {
3277
+ ids.split(",").forEach((id) => {
3278
+ this.setClickFunc(id, functionName, functionArgs);
3279
+ const className = this.splitClassNameAndType(id).className;
3280
+ const classNode = this.classes.get(className);
3281
+ if (classNode) classNode.haveCallback = true;
3282
+ });
3283
+ this.setCssClass(ids, "clickable");
3284
+ }
3285
+ setClickFunc(_domId, functionName, functionArgs) {
3286
+ const domId = common_default.sanitizeText(_domId, getConfig2());
3287
+ if (getConfig2().securityLevel !== "loose") return;
3288
+ if (functionName === void 0) return;
3289
+ const id = this.splitClassNameAndType(domId).className;
3290
+ if (this.classes.has(id)) {
3291
+ let argList = [];
3292
+ if (typeof functionArgs === "string") {
3293
+ argList = functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
3294
+ for (let i = 0; i < argList.length; i++) {
3295
+ let item = argList[i].trim();
3296
+ if (item.startsWith("\"") && item.endsWith("\"")) item = item.substr(1, item.length - 2);
3297
+ argList[i] = item;
3298
+ }
3299
+ }
3300
+ if (argList.length === 0) argList.push(id);
3301
+ this.functions.push(() => {
3302
+ const elemId = this.lookUpDomId(id);
3303
+ const elem = document.querySelector(`[id="${elemId}"]`);
3304
+ if (elem !== null) elem.addEventListener("click", () => {
3305
+ utils_default.runFunc(functionName, ...argList);
3306
+ }, false);
3307
+ });
3308
+ }
3309
+ }
3310
+ bindFunctions(element) {
3311
+ this.functions.forEach((fun) => {
3312
+ fun(element);
3313
+ });
3314
+ }
3315
+ escapeHtml(str) {
3316
+ return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
3317
+ }
3318
+ getDirection() {
3319
+ return this.direction;
3320
+ }
3321
+ setDirection(dir) {
3322
+ this.direction = dir;
3323
+ }
3324
+ static resolveQualifiedId(id, stack) {
3325
+ const prefix = stack.at(-1);
3326
+ return prefix ? `${prefix}.${id}` : id;
3327
+ }
3328
+ static getAncestorIds(qualifiedId) {
3329
+ const parts = qualifiedId.split(".");
3330
+ const ids = new Array(parts.length);
3331
+ ids[0] = parts[0];
3332
+ for (let i = 1; i < parts.length; i++) ids[i] = `${ids[i - 1]}.${parts[i]}`;
3333
+ return ids;
3334
+ }
3335
+ createNamespaceNode(id, label, parentId, explicit = false) {
3336
+ return {
3337
+ id,
3338
+ label,
3339
+ classes: /* @__PURE__ */ new Map(),
3340
+ notes: /* @__PURE__ */ new Map(),
3341
+ children: /* @__PURE__ */ new Map(),
3342
+ domId: MERMAID_DOM_ID_PREFIX + id + "-" + this.namespaceCounter++,
3343
+ parent: parentId,
3344
+ explicit
3345
+ };
3346
+ }
3347
+ linkParentChild(parentId, childId) {
3348
+ const parent = this.namespaces.get(parentId);
3349
+ const child = this.namespaces.get(childId);
3350
+ if (!parent || !child) return;
3351
+ if (!parent.children.has(childId)) parent.children.set(childId, child);
3352
+ child.parent ??= parentId;
3353
+ }
3354
+ addNamespace(id, label) {
3355
+ const qualifiedId = _ClassDB.resolveQualifiedId(id, this.namespaceStack);
3356
+ this.namespaceStack.push(qualifiedId);
3357
+ if (this.namespaces.has(qualifiedId)) {
3358
+ const existing = this.namespaces.get(qualifiedId);
3359
+ existing.explicit = true;
3360
+ if (label) existing.label = label;
3361
+ return qualifiedId;
3362
+ }
3363
+ const parts = qualifiedId.split(".");
3364
+ const ancestorIds = _ClassDB.getAncestorIds(qualifiedId);
3365
+ for (let i = 0; i < ancestorIds.length; i++) {
3366
+ const currentId = ancestorIds[i];
3367
+ const parentId = i > 0 ? ancestorIds[i - 1] : void 0;
3368
+ const isLeaf = i === ancestorIds.length - 1;
3369
+ const nodeLabel = isLeaf && label ? label : parts[i];
3370
+ if (!this.namespaces.has(currentId)) this.namespaces.set(currentId, this.createNamespaceNode(currentId, nodeLabel, parentId, isLeaf));
3371
+ else if (isLeaf) this.namespaces.get(currentId).explicit = true;
3372
+ if (parentId) this.linkParentChild(parentId, currentId);
3373
+ }
3374
+ return qualifiedId;
3375
+ }
3376
+ popNamespace() {
3377
+ this.namespaceStack.pop();
3378
+ }
3379
+ getNamespace(name) {
3380
+ return this.namespaces.get(name);
3381
+ }
3382
+ getNamespaces() {
3383
+ return this.namespaces;
3384
+ }
3385
+ /**
3386
+ * Function called by parser when a namespace definition has been found.
3387
+ *
3388
+ * @param id - ID of the namespace to add
3389
+ * @param classNames - IDs of the class to add
3390
+ * @param noteNames - IDs of the notes to add
3391
+ * @public
3392
+ */
3393
+ addClassesToNamespace(id, classNames, noteNames) {
3394
+ if (!this.namespaces.has(id)) return;
3395
+ for (const name of classNames) {
3396
+ const { className } = this.splitClassNameAndType(name);
3397
+ const classNode = this.getClass(className);
3398
+ classNode.parent = id;
3399
+ this.namespaces.get(id).classes.set(className, classNode);
3400
+ }
3401
+ for (const noteName of noteNames) {
3402
+ const noteNode = this.getNote(noteName);
3403
+ noteNode.parent = id;
3404
+ this.namespaces.get(id).notes.set(noteName, noteNode);
3405
+ }
3406
+ }
3407
+ setCssStyle(id, styles) {
3408
+ const thisClass = this.classes.get(id);
3409
+ if (!styles || !thisClass) return;
3410
+ for (const s of styles) if (s.includes(",")) thisClass.styles.push(...s.split(","));
3411
+ else thisClass.styles.push(s);
3412
+ }
3413
+ /**
3414
+ * Gets the arrow marker for a type index
3415
+ *
3416
+ * @param type - The type to look for
3417
+ * @returns The arrow marker
3418
+ */
3419
+ getArrowMarker(type) {
3420
+ let marker;
3421
+ switch (type) {
3422
+ case 0:
3423
+ marker = "aggregation";
3424
+ break;
3425
+ case 1:
3426
+ marker = "extension";
3427
+ break;
3428
+ case 2:
3429
+ marker = "composition";
3430
+ break;
3431
+ case 3:
3432
+ marker = "dependency";
3433
+ break;
3434
+ case 4:
3435
+ marker = "lollipop";
3436
+ break;
3437
+ default: marker = "none";
3438
+ }
3439
+ return marker;
3440
+ }
3441
+ /**
3442
+ * Walks up the namespace tree from the given id and returns the nearest ancestor
3443
+ * (or the id itself) that is marked as explicit. Used by compact rendering mode
3444
+ * to reassign children to the nearest user-declared namespace.
3445
+ */
3446
+ resolveExplicitAncestor(id) {
3447
+ let current = id;
3448
+ while (current) {
3449
+ const ns = this.namespaces.get(current);
3450
+ if (!ns) return;
3451
+ if (ns.explicit) return current;
3452
+ current = ns.parent;
3453
+ }
3454
+ }
3455
+ getData() {
3456
+ const nodes = [];
3457
+ const edges = [];
3458
+ const config = getConfig2();
3459
+ const hierarchical = config.class?.hierarchicalNamespaces ?? true;
3460
+ for (const namespace of this.namespaces.values()) {
3461
+ if (!hierarchical && !namespace.explicit) continue;
3462
+ const node = {
3463
+ id: namespace.id,
3464
+ label: hierarchical ? namespace.label : namespace.id,
3465
+ isGroup: true,
3466
+ padding: config.class.padding ?? 16,
3467
+ shape: "rect",
3468
+ cssStyles: [],
3469
+ look: config.look,
3470
+ parentId: hierarchical ? namespace.parent : void 0
3471
+ };
3472
+ nodes.push(node);
3473
+ }
3474
+ let classColorIndex = 0;
3475
+ for (const classNode of this.classes.values()) {
3476
+ const parentId = hierarchical ? classNode.parent : this.resolveExplicitAncestor(classNode.parent);
3477
+ const node = {
3478
+ ...classNode,
3479
+ type: void 0,
3480
+ isGroup: false,
3481
+ parentId,
3482
+ look: config.look,
3483
+ colorIndex: classColorIndex++
3484
+ };
3485
+ nodes.push(node);
3486
+ }
3487
+ for (const note of this.notes.values()) {
3488
+ const noteParentId = hierarchical ? note.parent : this.resolveExplicitAncestor(note.parent);
3489
+ const noteNode = {
3490
+ id: note.id,
3491
+ label: note.text,
3492
+ isGroup: false,
3493
+ shape: "note",
3494
+ padding: config.class.padding ?? 6,
3495
+ cssStyles: [
3496
+ "text-align: left",
3497
+ "white-space: nowrap",
3498
+ `fill: ${config.themeVariables.noteBkgColor}`,
3499
+ `stroke: ${config.themeVariables.noteBorderColor}`
3500
+ ],
3501
+ look: config.look,
3502
+ parentId: noteParentId,
3503
+ labelType: "markdown"
3504
+ };
3505
+ nodes.push(noteNode);
3506
+ const noteClassId = this.classes.get(note.class)?.id;
3507
+ if (noteClassId) {
3508
+ const edge = {
3509
+ id: `edgeNote${note.index}`,
3510
+ start: note.id,
3511
+ end: noteClassId,
3512
+ type: "normal",
3513
+ thickness: "normal",
3514
+ classes: "relation",
3515
+ arrowTypeStart: "none",
3516
+ arrowTypeEnd: "none",
3517
+ arrowheadStyle: "",
3518
+ labelStyle: [""],
3519
+ style: ["fill: none"],
3520
+ pattern: "dotted",
3521
+ look: config.look
3522
+ };
3523
+ edges.push(edge);
3524
+ }
3525
+ }
3526
+ for (const _interface of this.interfaces) {
3527
+ const interfaceNode = {
3528
+ id: _interface.id,
3529
+ label: _interface.label,
3530
+ isGroup: false,
3531
+ shape: "rect",
3532
+ cssStyles: ["opacity: 0;"],
3533
+ look: config.look
3534
+ };
3535
+ nodes.push(interfaceNode);
3536
+ }
3537
+ let cnt = 0;
3538
+ for (const classRelation of this.relations) {
3539
+ cnt++;
3540
+ const edge = {
3541
+ id: getEdgeId(classRelation.id1, classRelation.id2, {
3542
+ prefix: "id",
3543
+ counter: cnt
3544
+ }),
3545
+ start: classRelation.id1,
3546
+ end: classRelation.id2,
3547
+ type: "normal",
3548
+ label: classRelation.title,
3549
+ labelpos: "c",
3550
+ thickness: "normal",
3551
+ classes: "relation",
3552
+ arrowTypeStart: this.getArrowMarker(classRelation.relation.type1),
3553
+ arrowTypeEnd: this.getArrowMarker(classRelation.relation.type2),
3554
+ startLabelRight: classRelation.relationTitle1 === "none" ? "" : classRelation.relationTitle1,
3555
+ endLabelLeft: classRelation.relationTitle2 === "none" ? "" : classRelation.relationTitle2,
3556
+ arrowheadStyle: "",
3557
+ labelStyle: ["display: inline-block"],
3558
+ style: classRelation.style || "",
3559
+ pattern: classRelation.relation.lineType == 1 ? "dashed" : "solid",
3560
+ look: config.look,
3561
+ labelType: "markdown"
3562
+ };
3563
+ edges.push(edge);
3564
+ }
3565
+ return {
3566
+ nodes,
3567
+ edges,
3568
+ other: {},
3569
+ config,
3570
+ direction: this.getDirection()
3571
+ };
3572
+ }
3573
+ };
3574
+ var genColor = /* @__PURE__ */ __name((options) => {
3575
+ const { theme, bkgColorArray, borderColorArray } = options;
3576
+ if (!isColorTheme(theme, borderColorArray)) return "";
3577
+ const look = safeLook(options.look);
3578
+ const hasBkgColors = hasPalette(bkgColorArray);
3579
+ let sections = "";
3580
+ for (let i = 0; i < colorSlotCount(options.THEME_COLOR_LIMIT, borderColorArray); i++) {
3581
+ const borderColor = borderColorArray[i % borderColorArray.length];
3582
+ sections += `
3583
+
3584
+ [data-look="${look}"][data-color-id="color-${i}"].node .outer-path path {
3585
+ stroke: ${borderColor};
3586
+ ${hasBkgColors ? `fill: ${bkgColorArray[i % bkgColorArray.length]};` : ""}
3587
+ }
3588
+
3589
+ [data-look="${look}"][data-color-id="color-${i}"].node .divider path {
3590
+ stroke: ${borderColor};
3591
+ }
3592
+ `;
3593
+ }
3594
+ return sections;
3595
+ }, "genColor");
3596
+ var diagram = {
3597
+ parser: classDiagram_default,
3598
+ get db() {
3599
+ return new ClassDB();
3600
+ },
3601
+ renderer: {
3602
+ getClasses: /* @__PURE__ */ __name(function(text, diagramObj) {
3603
+ return diagramObj.db.getClasses();
3604
+ }, "getClasses"),
3605
+ draw: /* @__PURE__ */ __name(async function(text, id, _version, diag) {
3606
+ log.info("REF0:");
3607
+ log.info("Drawing class diagram (v3)", id);
3608
+ const { securityLevel, state: conf, layout } = getConfig2();
3609
+ diag.db.setDiagramId(id);
3610
+ const data4Layout = diag.db.getData();
3611
+ const svg = getDiagramElement(id, securityLevel);
3612
+ data4Layout.type = diag.type;
3613
+ data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);
3614
+ data4Layout.nodeSpacing = conf?.nodeSpacing || 50;
3615
+ data4Layout.rankSpacing = conf?.rankSpacing || 50;
3616
+ data4Layout.markers = [
3617
+ "aggregation",
3618
+ "extension",
3619
+ "composition",
3620
+ "dependency",
3621
+ "lollipop"
3622
+ ];
3623
+ data4Layout.diagramId = id;
3624
+ await render(data4Layout, svg);
3625
+ const padding = 8;
3626
+ utils_default.insertTitle(svg, "classDiagramTitleText", conf?.titleTopMargin ?? 25, diag.db.getDiagramTitle());
3627
+ setupViewPortForSVG(svg, padding, "classDiagram", conf?.useMaxWidth ?? true);
3628
+ }, "draw"),
3629
+ getDir: /* @__PURE__ */ __name((parsedItem, defaultDir = "TB") => {
3630
+ if (!parsedItem.doc) return defaultDir;
3631
+ let dir = defaultDir;
3632
+ for (const parsedItemDoc of parsedItem.doc) if (parsedItemDoc.stmt === "dir") dir = parsedItemDoc.value;
3633
+ return dir;
3634
+ }, "getDir")
3635
+ },
3636
+ styles: /* @__PURE__ */ __name((options) => `${genColor(options)}
3637
+ g.classGroup text {
3638
+ fill: ${options.nodeBorder || options.classText};
3639
+ stroke: none;
3640
+ font-family: ${options.fontFamily};
3641
+ font-size: 10px;
3642
+
3643
+ .title {
3644
+ font-weight: bolder;
3645
+ }
3646
+
3647
+ }
3648
+
3649
+ .cluster-label text {
3650
+ fill: ${options.titleColor};
3651
+ }
3652
+ .cluster-label span {
3653
+ color: ${options.titleColor};
3654
+ }
3655
+ .cluster-label span p {
3656
+ background-color: transparent;
3657
+ }
3658
+
3659
+ .cluster rect {
3660
+ fill: ${options.clusterBkg};
3661
+ stroke: ${options.clusterBorder};
3662
+ stroke-width: 1px;
3663
+ }
3664
+
3665
+ .cluster text {
3666
+ fill: ${options.titleColor};
3667
+ }
3668
+
3669
+ .cluster span {
3670
+ color: ${options.titleColor};
3671
+ }
3672
+
3673
+ .nodeLabel, .edgeLabel {
3674
+ color: ${options.classText};
3675
+ }
3676
+
3677
+ .noteLabel .nodeLabel, .noteLabel .edgeLabel {
3678
+ color: ${options.noteTextColor};
3679
+ }
3680
+ .edgeLabel .label rect {
3681
+ fill: ${options.mainBkg};
3682
+ }
3683
+ .label text {
3684
+ fill: ${options.classText};
3685
+ }
3686
+
3687
+ .labelBkg {
3688
+ background: ${options.mainBkg};
3689
+ }
3690
+ .edgeLabel .label span {
3691
+ background: ${options.mainBkg};
3692
+ }
3693
+
3694
+ .classTitle {
3695
+ font-weight: bolder;
3696
+ }
3697
+ .node rect,
3698
+ .node circle,
3699
+ .node ellipse,
3700
+ .node polygon,
3701
+ .node path {
3702
+ fill: ${options.mainBkg};
3703
+ stroke: ${options.nodeBorder};
3704
+ stroke-width: ${options.strokeWidth};
3705
+ }
3706
+
3707
+
3708
+ .divider {
3709
+ stroke: ${options.nodeBorder};
3710
+ stroke-width: 1;
3711
+ }
3712
+
3713
+ g.clickable {
3714
+ cursor: pointer;
3715
+ }
3716
+
3717
+ g.classGroup rect {
3718
+ fill: ${options.mainBkg};
3719
+ stroke: ${options.nodeBorder};
3720
+ }
3721
+
3722
+ g.classGroup line {
3723
+ stroke: ${options.nodeBorder};
3724
+ stroke-width: 1;
3725
+ }
3726
+
3727
+ .classLabel .box {
3728
+ stroke: none;
3729
+ stroke-width: 0;
3730
+ fill: ${options.mainBkg};
3731
+ opacity: 0.5;
3732
+ }
3733
+
3734
+ .classLabel .label {
3735
+ fill: ${options.nodeBorder};
3736
+ font-size: 10px;
3737
+ }
3738
+
3739
+ .relation {
3740
+ stroke: ${options.lineColor};
3741
+ stroke-width: ${options.strokeWidth};
3742
+ fill: none;
3743
+ }
3744
+
3745
+ .dashed-line{
3746
+ stroke-dasharray: 3;
3747
+ }
3748
+
3749
+ .dotted-line{
3750
+ stroke-dasharray: 1 2;
3751
+ }
3752
+
3753
+ [id$="-compositionStart"], .composition {
3754
+ fill: ${options.lineColor} !important;
3755
+ stroke: ${options.lineColor} !important;
3756
+ stroke-width: 1;
3757
+ }
3758
+
3759
+ [id$="-compositionEnd"], .composition {
3760
+ fill: ${options.lineColor} !important;
3761
+ stroke: ${options.lineColor} !important;
3762
+ stroke-width: 1;
3763
+ }
3764
+
3765
+ [id$="-dependencyStart"], .dependency {
3766
+ fill: ${options.lineColor} !important;
3767
+ stroke: ${options.lineColor} !important;
3768
+ stroke-width: 1;
3769
+ }
3770
+
3771
+ [id$="-dependencyEnd"], .dependency {
3772
+ fill: ${options.lineColor} !important;
3773
+ stroke: ${options.lineColor} !important;
3774
+ stroke-width: 1;
3775
+ }
3776
+
3777
+ [id$="-extensionStart"], .extension {
3778
+ fill: transparent !important;
3779
+ stroke: ${options.lineColor} !important;
3780
+ stroke-width: 1;
3781
+ }
3782
+
3783
+ [id$="-extensionEnd"], .extension {
3784
+ fill: transparent !important;
3785
+ stroke: ${options.lineColor} !important;
3786
+ stroke-width: 1;
3787
+ }
3788
+
3789
+ [id$="-aggregationStart"], .aggregation {
3790
+ fill: transparent !important;
3791
+ stroke: ${options.lineColor} !important;
3792
+ stroke-width: 1;
3793
+ }
3794
+
3795
+ [id$="-aggregationEnd"], .aggregation {
3796
+ fill: transparent !important;
3797
+ stroke: ${options.lineColor} !important;
3798
+ stroke-width: 1;
3799
+ }
3800
+
3801
+ [id$="-lollipopStart"], .lollipop {
3802
+ fill: ${options.mainBkg} !important;
3803
+ stroke: ${options.lineColor} !important;
3804
+ stroke-width: 1;
3805
+ }
3806
+
3807
+ [id$="-lollipopEnd"], .lollipop {
3808
+ fill: ${options.mainBkg} !important;
3809
+ stroke: ${options.lineColor} !important;
3810
+ stroke-width: 1;
3811
+ }
3812
+
3813
+ .edgeTerminals {
3814
+ font-size: 11px;
3815
+ line-height: initial;
3816
+ }
3817
+
3818
+ .classTitleText {
3819
+ text-anchor: middle;
3820
+ font-size: 18px;
3821
+ fill: ${options.textColor};
3822
+ }
3823
+
3824
+ .edgeLabel[data-look="neo"] {
3825
+ background-color: ${options.edgeLabelBackground};
3826
+ p {
3827
+ background-color: ${options.edgeLabelBackground};
3828
+ }
3829
+ rect {
3830
+ opacity: 0.5;
3831
+ background-color: ${options.edgeLabelBackground};
3832
+ fill: ${options.edgeLabelBackground};
3833
+ }
3834
+ text-align: center;
3835
+ }
3836
+ ${getIconStyles()}
3837
+ `, "getStyles"),
3838
+ init: /* @__PURE__ */ __name((cnf) => {
3839
+ if (!cnf.class) cnf.class = {};
3840
+ cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
3841
+ }, "init")
3842
+ };
3843
+
3844
+ //#endregion
3845
+ export { diagram };