UNPKG

mermaid

Version:

Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.

794 lines 67.2 kB
import { aS as It, s as Rt, g as Nt, a as Ot, b as Pt, D as wt, E as Gt, c as de, m as Ut, l as Ae, A as Ee, F as Mt, f as Kt, j as N1 } from "./mermaid-d733041c.js"; var fe = function() { var t = function(o1, a, l, f) { for (l = l || {}, f = o1.length; f--; l[o1[f]] = a) ; return l; }, u = [1, 9], i = [1, 7], r = [1, 6], c = [1, 8], o = [1, 20, 21, 22, 23, 38, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], h = [2, 10], G = [1, 20], g = [1, 21], O = [1, 22], z = [1, 23], c1 = [1, 30], h1 = [1, 32], f1 = [1, 33], V1 = [1, 34], k = [1, 56], S = [1, 55], w1 = [1, 36], G1 = [1, 37], U1 = [1, 38], M1 = [1, 39], K1 = [1, 40], B = [1, 51], x = [1, 53], y = [1, 49], m = [1, 54], v = [1, 50], V = [1, 57], L = [1, 52], I = [1, 58], R = [1, 59], j1 = [1, 41], Y1 = [1, 42], X1 = [1, 43], z1 = [1, 44], be = [1, 62], L1 = [1, 67], _ = [1, 20, 21, 22, 23, 38, 43, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], H = [1, 71], W = [1, 70], q = [1, 72], H1 = [20, 21, 23, 84, 86], E1 = [1, 98], k1 = [1, 103], b1 = [1, 102], D1 = [1, 99], g1 = [1, 95], F1 = [1, 101], _1 = [1, 97], T1 = [1, 104], S1 = [1, 100], C1 = [1, 105], B1 = [1, 96], W1 = [20, 21, 22, 23, 84, 86], N = [20, 21, 22, 23, 55, 84, 86], M = [20, 21, 22, 23, 40, 53, 55, 57, 59, 61, 63, 65, 67, 69, 72, 74, 76, 77, 79, 84, 86, 97, 110, 113, 114, 117, 119, 122, 123, 124], F = [20, 21, 23], De = [20, 21, 23, 53, 69, 84, 86, 97, 110, 113, 114, 117, 119, 122, 123, 124], ie = [1, 12, 20, 21, 22, 23, 24, 38, 43, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], I1 = [53, 69, 97, 110, 113, 114, 117, 119, 122, 123, 124], ge = [1, 134], Fe = [1, 133], _e = [1, 141], Te = [1, 155], Se = [1, 156], Ce = [1, 157], Be = [1, 158], xe = [1, 143], ye = [1, 145], me = [1, 149], ve = [1, 150], Ve = [1, 151], Le = [1, 152], Ie = [1, 153], Re = [1, 154], Ne = [1, 159], Oe = [1, 160], Pe = [1, 139], we = [1, 140], Ge = [1, 147], Ue = [1, 142], Me = [1, 146], Ke = [1, 144], ne = [20, 21, 22, 23, 38, 43, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], je = [1, 162], K = [20, 21, 22, 23, 26, 53, 69, 97, 113, 114, 117, 119, 122, 123, 124], p = [1, 182], P = [1, 178], w = [1, 179], d = [1, 183], A = [1, 180], E = [1, 181], Ye = [12, 21, 22, 24], x1 = [86, 124, 127], b = [20, 21, 22, 23, 24, 26, 38, 40, 43, 53, 69, 84, 92, 93, 94, 95, 96, 97, 98, 113, 117, 119, 122, 123, 124], Xe = [22, 114], l1 = [42, 58, 60, 62, 64, 66, 71, 73, 75, 76, 78, 80, 124, 125, 126], Z = [1, 250], J = [1, 248], $ = [1, 252], e1 = [1, 246], t1 = [1, 247], s1 = [1, 249], u1 = [1, 251], i1 = [1, 253], y1 = [1, 270], ze = [20, 21, 23, 114], Q = [20, 21, 22, 23, 69, 92, 113, 114, 117, 118, 119, 120], re = { trace: function() { }, yy: {}, symbols_: { error: 2, start: 3, mermaidDoc: 4, directive: 5, openDirective: 6, typeDirective: 7, closeDirective: 8, separator: 9, ":": 10, argDirective: 11, open_directive: 12, type_directive: 13, arg_directive: 14, close_directive: 15, graphConfig: 16, document: 17, line: 18, statement: 19, SEMI: 20, NEWLINE: 21, SPACE: 22, EOF: 23, GRAPH: 24, NODIR: 25, DIR: 26, FirstStmtSeperator: 27, ending: 28, endToken: 29, spaceList: 30, spaceListNewline: 31, verticeStatement: 32, styleStatement: 33, linkStyleStatement: 34, classDefStatement: 35, classStatement: 36, clickStatement: 37, subgraph: 38, textNoTags: 39, SQS: 40, text: 41, SQE: 42, end: 43, direction: 44, acc_title: 45, acc_title_value: 46, acc_descr: 47, acc_descr_value: 48, acc_descr_multiline_value: 49, link: 50, node: 51, styledVertex: 52, AMP: 53, vertex: 54, STYLE_SEPARATOR: 55, idString: 56, DOUBLECIRCLESTART: 57, DOUBLECIRCLEEND: 58, PS: 59, PE: 60, "(-": 61, "-)": 62, STADIUMSTART: 63, STADIUMEND: 64, SUBROUTINESTART: 65, SUBROUTINEEND: 66, VERTEX_WITH_PROPS_START: 67, "NODE_STRING[field]": 68, COLON: 69, "NODE_STRING[value]": 70, PIPE: 71, CYLINDERSTART: 72, CYLINDEREND: 73, DIAMOND_START: 74, DIAMOND_STOP: 75, TAGEND: 76, TRAPSTART: 77, TRAPEND: 78, INVTRAPSTART: 79, INVTRAPEND: 80, linkStatement: 81, arrowText: 82, TESTSTR: 83, START_LINK: 84, edgeText: 85, LINK: 86, edgeTextToken: 87, STR: 88, MD_STR: 89, textToken: 90, keywords: 91, STYLE: 92, LINKSTYLE: 93, CLASSDEF: 94, CLASS: 95, CLICK: 96, DOWN: 97, UP: 98, textNoTagsToken: 99, stylesOpt: 100, "idString[vertex]": 101, "idString[class]": 102, CALLBACKNAME: 103, CALLBACKARGS: 104, HREF: 105, LINK_TARGET: 106, "STR[link]": 107, "STR[tooltip]": 108, alphaNum: 109, DEFAULT: 110, numList: 111, INTERPOLATE: 112, NUM: 113, COMMA: 114, style: 115, styleComponent: 116, NODE_STRING: 117, UNIT: 118, BRKT: 119, PCT: 120, idStringToken: 121, MINUS: 122, MULT: 123, UNICODE_TEXT: 124, TEXT: 125, TAGSTART: 126, EDGE_TEXT: 127, alphaNumToken: 128, direction_tb: 129, direction_bt: 130, direction_rl: 131, direction_lr: 132, $accept: 0, $end: 1 }, terminals_: { 2: "error", 10: ":", 12: "open_directive", 13: "type_directive", 14: "arg_directive", 15: "close_directive", 20: "SEMI", 21: "NEWLINE", 22: "SPACE", 23: "EOF", 24: "GRAPH", 25: "NODIR", 26: "DIR", 38: "subgraph", 40: "SQS", 42: "SQE", 43: "end", 45: "acc_title", 46: "acc_title_value", 47: "acc_descr", 48: "acc_descr_value", 49: "acc_descr_multiline_value", 53: "AMP", 55: "STYLE_SEPARATOR", 57: "DOUBLECIRCLESTART", 58: "DOUBLECIRCLEEND", 59: "PS", 60: "PE", 61: "(-", 62: "-)", 63: "STADIUMSTART", 64: "STADIUMEND", 65: "SUBROUTINESTART", 66: "SUBROUTINEEND", 67: "VERTEX_WITH_PROPS_START", 68: "NODE_STRING[field]", 69: "COLON", 70: "NODE_STRING[value]", 71: "PIPE", 72: "CYLINDERSTART", 73: "CYLINDEREND", 74: "DIAMOND_START", 75: "DIAMOND_STOP", 76: "TAGEND", 77: "TRAPSTART", 78: "TRAPEND", 79: "INVTRAPSTART", 80: "INVTRAPEND", 83: "TESTSTR", 84: "START_LINK", 86: "LINK", 88: "STR", 89: "MD_STR", 92: "STYLE", 93: "LINKSTYLE", 94: "CLASSDEF", 95: "CLASS", 96: "CLICK", 97: "DOWN", 98: "UP", 101: "idString[vertex]", 102: "idString[class]", 103: "CALLBACKNAME", 104: "CALLBACKARGS", 105: "HREF", 106: "LINK_TARGET", 107: "STR[link]", 108: "STR[tooltip]", 110: "DEFAULT", 112: "INTERPOLATE", 113: "NUM", 114: "COMMA", 117: "NODE_STRING", 118: "UNIT", 119: "BRKT", 120: "PCT", 122: "MINUS", 123: "MULT", 124: "UNICODE_TEXT", 125: "TEXT", 126: "TAGSTART", 127: "EDGE_TEXT", 129: "direction_tb", 130: "direction_bt", 131: "direction_rl", 132: "direction_lr" }, productions_: [0, [3, 1], [3, 2], [5, 4], [5, 6], [6, 1], [7, 1], [11, 1], [8, 1], [4, 2], [17, 0], [17, 2], [18, 1], [18, 1], [18, 1], [18, 1], [18, 1], [16, 2], [16, 2], [16, 2], [16, 3], [28, 2], [28, 1], [29, 1], [29, 1], [29, 1], [27, 1], [27, 1], [27, 2], [31, 2], [31, 2], [31, 1], [31, 1], [30, 2], [30, 1], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 9], [19, 6], [19, 4], [19, 1], [19, 2], [19, 2], [19, 1], [9, 1], [9, 1], [9, 1], [32, 3], [32, 4], [32, 2], [32, 1], [51, 1], [51, 5], [52, 1], [52, 3], [54, 4], [54, 4], [54, 6], [54, 4], [54, 4], [54, 4], [54, 8], [54, 4], [54, 4], [54, 4], [54, 6], [54, 4], [54, 4], [54, 4], [54, 4], [54, 4], [54, 1], [50, 2], [50, 3], [50, 3], [50, 1], [50, 3], [85, 1], [85, 2], [85, 1], [85, 1], [81, 1], [82, 3], [41, 1], [41, 2], [41, 1], [41, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [39, 1], [39, 2], [39, 1], [39, 1], [35, 5], [36, 5], [37, 2], [37, 4], [37, 3], [37, 5], [37, 3], [37, 5], [37, 5], [37, 7], [37, 2], [37, 4], [37, 2], [37, 4], [37, 4], [37, 6], [33, 5], [34, 5], [34, 5], [34, 9], [34, 9], [34, 7], [34, 7], [111, 1], [111, 3], [100, 1], [100, 3], [115, 1], [115, 2], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [90, 1], [90, 1], [90, 1], [90, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [87, 1], [87, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [56, 1], [56, 2], [109, 1], [109, 2], [44, 1], [44, 1], [44, 1], [44, 1]], performAction: function(a, l, f, n, T, e, R1) { var s = e.length - 1; switch (T) { case 5: n.parseDirective("%%{", "open_directive"); break; case 6: n.parseDirective(e[s], "type_directive"); break; case 7: e[s] = e[s].trim().replace(/'/g, '"'), n.parseDirective(e[s], "arg_directive"); break; case 8: n.parseDirective("}%%", "close_directive", "flowchart"); break; case 10: this.$ = []; break; case 11: (!Array.isArray(e[s]) || e[s].length > 0) && e[s - 1].push(e[s]), this.$ = e[s - 1]; break; case 12: case 184: this.$ = e[s]; break; case 19: n.setDirection("TB"), this.$ = "TB"; break; case 20: n.setDirection(e[s - 1]), this.$ = e[s - 1]; break; case 35: this.$ = e[s - 1].nodes; break; case 36: case 37: case 38: case 39: case 40: this.$ = []; break; case 41: this.$ = n.addSubGraph(e[s - 6], e[s - 1], e[s - 4]); break; case 42: this.$ = n.addSubGraph(e[s - 3], e[s - 1], e[s - 3]); break; case 43: this.$ = n.addSubGraph(void 0, e[s - 1], void 0); break; case 45: this.$ = e[s].trim(), n.setAccTitle(this.$); break; case 46: case 47: this.$ = e[s].trim(), n.setAccDescription(this.$); break; case 51: n.addLink(e[s - 2].stmt, e[s], e[s - 1]), this.$ = { stmt: e[s], nodes: e[s].concat(e[s - 2].nodes) }; break; case 52: n.addLink(e[s - 3].stmt, e[s - 1], e[s - 2]), this.$ = { stmt: e[s - 1], nodes: e[s - 1].concat(e[s - 3].nodes) }; break; case 53: this.$ = { stmt: e[s - 1], nodes: e[s - 1] }; break; case 54: this.$ = { stmt: e[s], nodes: e[s] }; break; case 55: this.$ = [e[s]]; break; case 56: this.$ = e[s - 4].concat(e[s]); break; case 57: this.$ = e[s]; break; case 58: this.$ = e[s - 2], n.setClass(e[s - 2], e[s]); break; case 59: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "square"); break; case 60: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "doublecircle"); break; case 61: this.$ = e[s - 5], n.addVertex(e[s - 5], e[s - 2], "circle"); break; case 62: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "ellipse"); break; case 63: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "stadium"); break; case 64: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "subroutine"); break; case 65: this.$ = e[s - 7], n.addVertex(e[s - 7], e[s - 1], "rect", void 0, void 0, void 0, Object.fromEntries([[e[s - 5], e[s - 3]]])); break; case 66: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "cylinder"); break; case 67: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "round"); break; case 68: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "diamond"); break; case 69: this.$ = e[s - 5], n.addVertex(e[s - 5], e[s - 2], "hexagon"); break; case 70: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "odd"); break; case 71: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "trapezoid"); break; case 72: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "inv_trapezoid"); break; case 73: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "lean_right"); break; case 74: this.$ = e[s - 3], n.addVertex(e[s - 3], e[s - 1], "lean_left"); break; case 75: this.$ = e[s], n.addVertex(e[s]); break; case 76: e[s - 1].text = e[s], this.$ = e[s - 1]; break; case 77: case 78: e[s - 2].text = e[s - 1], this.$ = e[s - 2]; break; case 79: this.$ = e[s]; break; case 80: var j = n.destructLink(e[s], e[s - 2]); this.$ = { type: j.type, stroke: j.stroke, length: j.length, text: e[s - 1] }; break; case 81: this.$ = { text: e[s], type: "text" }; break; case 82: this.$ = { text: e[s - 1].text + "" + e[s], type: e[s - 1].type }; break; case 83: this.$ = { text: e[s], type: "string" }; break; case 84: this.$ = { text: e[s], type: "markdown" }; break; case 85: var j = n.destructLink(e[s]); this.$ = { type: j.type, stroke: j.stroke, length: j.length }; break; case 86: this.$ = e[s - 1]; break; case 87: this.$ = { text: e[s], type: "text" }; break; case 88: this.$ = { text: e[s - 1].text + "" + e[s], type: e[s - 1].type }; break; case 89: this.$ = { text: e[s], type: "string" }; break; case 90: case 105: this.$ = { text: e[s], type: "markdown" }; break; case 102: this.$ = { text: e[s], type: "text" }; break; case 103: this.$ = { text: e[s - 1].text + "" + e[s], type: e[s - 1].type }; break; case 104: this.$ = { text: e[s], type: "text" }; break; case 106: this.$ = e[s - 4], n.addClass(e[s - 2], e[s]); break; case 107: this.$ = e[s - 4], n.setClass(e[s - 2], e[s]); break; case 108: case 116: this.$ = e[s - 1], n.setClickEvent(e[s - 1], e[s]); break; case 109: case 117: this.$ = e[s - 3], n.setClickEvent(e[s - 3], e[s - 2]), n.setTooltip(e[s - 3], e[s]); break; case 110: this.$ = e[s - 2], n.setClickEvent(e[s - 2], e[s - 1], e[s]); break; case 111: this.$ = e[s - 4], n.setClickEvent(e[s - 4], e[s - 3], e[s - 2]), n.setTooltip(e[s - 4], e[s]); break; case 112: this.$ = e[s - 2], n.setLink(e[s - 2], e[s]); break; case 113: this.$ = e[s - 4], n.setLink(e[s - 4], e[s - 2]), n.setTooltip(e[s - 4], e[s]); break; case 114: this.$ = e[s - 4], n.setLink(e[s - 4], e[s - 2], e[s]); break; case 115: this.$ = e[s - 6], n.setLink(e[s - 6], e[s - 4], e[s]), n.setTooltip(e[s - 6], e[s - 2]); break; case 118: this.$ = e[s - 1], n.setLink(e[s - 1], e[s]); break; case 119: this.$ = e[s - 3], n.setLink(e[s - 3], e[s - 2]), n.setTooltip(e[s - 3], e[s]); break; case 120: this.$ = e[s - 3], n.setLink(e[s - 3], e[s - 2], e[s]); break; case 121: this.$ = e[s - 5], n.setLink(e[s - 5], e[s - 4], e[s]), n.setTooltip(e[s - 5], e[s - 2]); break; case 122: this.$ = e[s - 4], n.addVertex(e[s - 2], void 0, void 0, e[s]); break; case 123: this.$ = e[s - 4], n.updateLink([e[s - 2]], e[s]); break; case 124: this.$ = e[s - 4], n.updateLink(e[s - 2], e[s]); break; case 125: this.$ = e[s - 8], n.updateLinkInterpolate([e[s - 6]], e[s - 2]), n.updateLink([e[s - 6]], e[s]); break; case 126: this.$ = e[s - 8], n.updateLinkInterpolate(e[s - 6], e[s - 2]), n.updateLink(e[s - 6], e[s]); break; case 127: this.$ = e[s - 6], n.updateLinkInterpolate([e[s - 4]], e[s]); break; case 128: this.$ = e[s - 6], n.updateLinkInterpolate(e[s - 4], e[s]); break; case 129: case 131: this.$ = [e[s]]; break; case 130: case 132: e[s - 2].push(e[s]), this.$ = e[s - 2]; break; case 134: this.$ = e[s - 1] + e[s]; break; case 182: this.$ = e[s]; break; case 183: this.$ = e[s - 1] + "" + e[s]; break; case 185: this.$ = e[s - 1] + "" + e[s]; break; case 186: this.$ = { stmt: "dir", value: "TB" }; break; case 187: this.$ = { stmt: "dir", value: "BT" }; break; case 188: this.$ = { stmt: "dir", value: "RL" }; break; case 189: this.$ = { stmt: "dir", value: "LR" }; break; } }, table: [{ 3: 1, 4: 2, 5: 3, 6: 5, 12: u, 16: 4, 21: i, 22: r, 24: c }, { 1: [3] }, { 1: [2, 1] }, { 3: 10, 4: 2, 5: 3, 6: 5, 12: u, 16: 4, 21: i, 22: r, 24: c }, t(o, h, { 17: 11 }), { 7: 12, 13: [1, 13] }, { 16: 14, 21: i, 22: r, 24: c }, { 16: 15, 21: i, 22: r, 24: c }, { 25: [1, 16], 26: [1, 17] }, { 13: [2, 5] }, { 1: [2, 2] }, { 1: [2, 9], 18: 18, 19: 19, 20: G, 21: g, 22: O, 23: z, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: c1, 44: 31, 45: h1, 47: f1, 49: V1, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: S, 92: w1, 93: G1, 94: U1, 95: M1, 96: K1, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R, 129: j1, 130: Y1, 131: X1, 132: z1 }, { 8: 60, 10: [1, 61], 15: be }, t([10, 15], [2, 6]), t(o, [2, 17]), t(o, [2, 18]), t(o, [2, 19]), { 20: [1, 64], 21: [1, 65], 22: L1, 27: 63, 30: 66 }, t(_, [2, 11]), t(_, [2, 12]), t(_, [2, 13]), t(_, [2, 14]), t(_, [2, 15]), t(_, [2, 16]), { 9: 68, 20: H, 21: W, 23: q, 50: 69, 81: 73, 84: [1, 74], 86: [1, 75] }, { 9: 76, 20: H, 21: W, 23: q }, { 9: 77, 20: H, 21: W, 23: q }, { 9: 78, 20: H, 21: W, 23: q }, { 9: 79, 20: H, 21: W, 23: q }, { 9: 80, 20: H, 21: W, 23: q }, { 9: 82, 20: H, 21: W, 22: [1, 81], 23: q }, t(_, [2, 44]), { 46: [1, 83] }, { 48: [1, 84] }, t(_, [2, 47]), t(H1, [2, 54], { 30: 85, 22: L1 }), { 22: [1, 86] }, { 22: [1, 87] }, { 22: [1, 88] }, { 22: [1, 89] }, { 26: E1, 53: k1, 69: b1, 88: [1, 93], 97: D1, 103: [1, 90], 105: [1, 91], 109: 92, 113: g1, 114: F1, 117: _1, 119: T1, 122: S1, 123: C1, 124: B1, 128: 94 }, t(_, [2, 186]), t(_, [2, 187]), t(_, [2, 188]), t(_, [2, 189]), t(W1, [2, 55]), t(W1, [2, 57], { 55: [1, 106] }), t(N, [2, 75], { 121: 119, 40: [1, 107], 53: k, 57: [1, 108], 59: [1, 109], 61: [1, 110], 63: [1, 111], 65: [1, 112], 67: [1, 113], 69: S, 72: [1, 114], 74: [1, 115], 76: [1, 116], 77: [1, 117], 79: [1, 118], 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 122: L, 123: I, 124: R }), t(M, [2, 182]), t(M, [2, 143]), t(M, [2, 144]), t(M, [2, 145]), t(M, [2, 146]), t(M, [2, 147]), t(M, [2, 148]), t(M, [2, 149]), t(M, [2, 150]), t(M, [2, 151]), t(M, [2, 152]), t(M, [2, 153]), { 9: 120, 20: H, 21: W, 23: q }, { 11: 121, 14: [1, 122] }, t(F, [2, 8]), t(o, [2, 20]), t(o, [2, 26]), t(o, [2, 27]), { 21: [1, 123] }, t(De, [2, 34], { 30: 124, 22: L1 }), t(_, [2, 35]), { 51: 125, 52: 45, 53: k, 54: 46, 56: 47, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R }, t(ie, [2, 48]), t(ie, [2, 49]), t(ie, [2, 50]), t(I1, [2, 79], { 82: 126, 71: [1, 128], 83: [1, 127] }), { 85: 129, 87: 130, 88: [1, 131], 89: [1, 132], 124: ge, 127: Fe }, t([53, 69, 71, 83, 97, 110, 113, 114, 117, 119, 122, 123, 124], [2, 85]), t(_, [2, 36]), t(_, [2, 37]), t(_, [2, 38]), t(_, [2, 39]), t(_, [2, 40]), { 22: _e, 24: Te, 26: Se, 38: Ce, 39: 135, 43: Be, 53: xe, 69: ye, 84: me, 88: [1, 137], 89: [1, 138], 91: 148, 92: ve, 93: Ve, 94: Le, 95: Ie, 96: Re, 97: Ne, 98: Oe, 99: 136, 113: Pe, 117: we, 119: Ge, 122: Ue, 123: Me, 124: Ke }, t(ne, h, { 17: 161 }), t(_, [2, 45]), t(_, [2, 46]), t(H1, [2, 53], { 53: je }), { 53: k, 56: 163, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R }, { 110: [1, 164], 111: 165, 113: [1, 166] }, { 53: k, 56: 167, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R }, { 53: k, 56: 168, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R }, t(F, [2, 108], { 22: [1, 169], 104: [1, 170] }), { 88: [1, 171] }, t(F, [2, 116], { 128: 173, 22: [1, 172], 26: E1, 53: k1, 69: b1, 97: D1, 113: g1, 114: F1, 117: _1, 119: T1, 122: S1, 123: C1, 124: B1 }), t(F, [2, 118], { 22: [1, 174] }), t(K, [2, 184]), t(K, [2, 171]), t(K, [2, 172]), t(K, [2, 173]), t(K, [2, 174]), t(K, [2, 175]), t(K, [2, 176]), t(K, [2, 177]), t(K, [2, 178]), t(K, [2, 179]), t(K, [2, 180]), t(K, [2, 181]), { 53: k, 56: 175, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R }, { 41: 176, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 184, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 186, 59: [1, 185], 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 187, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 188, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 189, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 117: [1, 190] }, { 41: 191, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 192, 74: [1, 193], 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 194, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 195, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 41: 196, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, t(M, [2, 183]), t(Ye, [2, 3]), { 8: 197, 15: be }, { 15: [2, 7] }, t(o, [2, 28]), t(De, [2, 33]), t(H1, [2, 51], { 30: 198, 22: L1 }), t(I1, [2, 76], { 22: [1, 199] }), { 22: [1, 200] }, { 41: 201, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 86: [1, 202], 87: 203, 124: ge, 127: Fe }, t(x1, [2, 81]), t(x1, [2, 83]), t(x1, [2, 84]), t(x1, [2, 169]), t(x1, [2, 170]), { 9: 205, 20: H, 21: W, 22: _e, 23: q, 24: Te, 26: Se, 38: Ce, 40: [1, 204], 43: Be, 53: xe, 69: ye, 84: me, 91: 148, 92: ve, 93: Ve, 94: Le, 95: Ie, 96: Re, 97: Ne, 98: Oe, 99: 206, 113: Pe, 117: we, 119: Ge, 122: Ue, 123: Me, 124: Ke }, t(b, [2, 102]), t(b, [2, 104]), t(b, [2, 105]), t(b, [2, 158]), t(b, [2, 159]), t(b, [2, 160]), t(b, [2, 161]), t(b, [2, 162]), t(b, [2, 163]), t(b, [2, 164]), t(b, [2, 165]), t(b, [2, 166]), t(b, [2, 167]), t(b, [2, 168]), t(b, [2, 91]), t(b, [2, 92]), t(b, [2, 93]), t(b, [2, 94]), t(b, [2, 95]), t(b, [2, 96]), t(b, [2, 97]), t(b, [2, 98]), t(b, [2, 99]), t(b, [2, 100]), t(b, [2, 101]), { 18: 18, 19: 19, 20: G, 21: g, 22: O, 23: z, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: c1, 43: [1, 207], 44: 31, 45: h1, 47: f1, 49: V1, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: S, 92: w1, 93: G1, 94: U1, 95: M1, 96: K1, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R, 129: j1, 130: Y1, 131: X1, 132: z1 }, { 22: L1, 30: 208 }, { 22: [1, 209], 53: k, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 119, 122: L, 123: I, 124: R }, { 22: [1, 210] }, { 22: [1, 211], 114: [1, 212] }, t(Xe, [2, 129]), { 22: [1, 213], 53: k, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 119, 122: L, 123: I, 124: R }, { 22: [1, 214], 53: k, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 119, 122: L, 123: I, 124: R }, { 88: [1, 215] }, t(F, [2, 110], { 22: [1, 216] }), t(F, [2, 112], { 22: [1, 217] }), { 88: [1, 218] }, t(K, [2, 185]), { 88: [1, 219], 106: [1, 220] }, t(W1, [2, 58], { 121: 119, 53: k, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 122: L, 123: I, 124: R }), { 42: [1, 221], 76: p, 90: 222, 124: d, 125: A, 126: E }, t(l1, [2, 87]), t(l1, [2, 89]), t(l1, [2, 90]), t(l1, [2, 154]), t(l1, [2, 155]), t(l1, [2, 156]), t(l1, [2, 157]), { 58: [1, 223], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 41: 224, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 60: [1, 225], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 62: [1, 226], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 64: [1, 227], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 66: [1, 228], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 69: [1, 229] }, { 73: [1, 230], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 75: [1, 231], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 41: 232, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, { 42: [1, 233], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 76: p, 78: [1, 234], 80: [1, 235], 90: 222, 124: d, 125: A, 126: E }, { 76: p, 78: [1, 237], 80: [1, 236], 90: 222, 124: d, 125: A, 126: E }, { 9: 238, 20: H, 21: W, 23: q }, t(H1, [2, 52], { 53: je }), t(I1, [2, 78]), t(I1, [2, 77]), { 71: [1, 239], 76: p, 90: 222, 124: d, 125: A, 126: E }, t(I1, [2, 80]), t(x1, [2, 82]), { 41: 240, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, t(ne, h, { 17: 241 }), t(b, [2, 103]), t(_, [2, 43]), { 52: 242, 53: k, 54: 46, 56: 47, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R }, { 22: Z, 69: J, 92: $, 100: 243, 113: e1, 115: 244, 116: 245, 117: t1, 118: s1, 119: u1, 120: i1 }, { 22: Z, 69: J, 92: $, 100: 254, 112: [1, 255], 113: e1, 115: 244, 116: 245, 117: t1, 118: s1, 119: u1, 120: i1 }, { 22: Z, 69: J, 92: $, 100: 256, 112: [1, 257], 113: e1, 115: 244, 116: 245, 117: t1, 118: s1, 119: u1, 120: i1 }, { 113: [1, 258] }, { 22: Z, 69: J, 92: $, 100: 259, 113: e1, 115: 244, 116: 245, 117: t1, 118: s1, 119: u1, 120: i1 }, { 53: k, 56: 260, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R }, t(F, [2, 109]), { 88: [1, 261] }, { 88: [1, 262], 106: [1, 263] }, t(F, [2, 117]), t(F, [2, 119], { 22: [1, 264] }), t(F, [2, 120]), t(N, [2, 59]), t(l1, [2, 88]), t(N, [2, 60]), { 60: [1, 265], 76: p, 90: 222, 124: d, 125: A, 126: E }, t(N, [2, 67]), t(N, [2, 62]), t(N, [2, 63]), t(N, [2, 64]), { 117: [1, 266] }, t(N, [2, 66]), t(N, [2, 68]), { 75: [1, 267], 76: p, 90: 222, 124: d, 125: A, 126: E }, t(N, [2, 70]), t(N, [2, 71]), t(N, [2, 73]), t(N, [2, 72]), t(N, [2, 74]), t(Ye, [2, 4]), t([22, 53, 69, 97, 110, 113, 114, 117, 119, 122, 123, 124], [2, 86]), { 42: [1, 268], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 18: 18, 19: 19, 20: G, 21: g, 22: O, 23: z, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: c1, 43: [1, 269], 44: 31, 45: h1, 47: f1, 49: V1, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: S, 92: w1, 93: G1, 94: U1, 95: M1, 96: K1, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R, 129: j1, 130: Y1, 131: X1, 132: z1 }, t(W1, [2, 56]), t(F, [2, 122], { 114: y1 }), t(ze, [2, 131], { 116: 271, 22: Z, 69: J, 92: $, 113: e1, 117: t1, 118: s1, 119: u1, 120: i1 }), t(Q, [2, 133]), t(Q, [2, 135]), t(Q, [2, 136]), t(Q, [2, 137]), t(Q, [2, 138]), t(Q, [2, 139]), t(Q, [2, 140]), t(Q, [2, 141]), t(Q, [2, 142]), t(F, [2, 123], { 114: y1 }), { 22: [1, 272] }, t(F, [2, 124], { 114: y1 }), { 22: [1, 273] }, t(Xe, [2, 130]), t(F, [2, 106], { 114: y1 }), t(F, [2, 107], { 121: 119, 53: k, 69: S, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 122: L, 123: I, 124: R }), t(F, [2, 111]), t(F, [2, 113], { 22: [1, 274] }), t(F, [2, 114]), { 106: [1, 275] }, { 60: [1, 276] }, { 71: [1, 277] }, { 75: [1, 278] }, { 9: 279, 20: H, 21: W, 23: q }, t(_, [2, 42]), { 22: Z, 69: J, 92: $, 113: e1, 115: 280, 116: 245, 117: t1, 118: s1, 119: u1, 120: i1 }, t(Q, [2, 134]), { 26: E1, 53: k1, 69: b1, 97: D1, 109: 281, 113: g1, 114: F1, 117: _1, 119: T1, 122: S1, 123: C1, 124: B1, 128: 94 }, { 26: E1, 53: k1, 69: b1, 97: D1, 109: 282, 113: g1, 114: F1, 117: _1, 119: T1, 122: S1, 123: C1, 124: B1, 128: 94 }, { 106: [1, 283] }, t(F, [2, 121]), t(N, [2, 61]), { 41: 284, 76: p, 88: P, 89: w, 90: 177, 124: d, 125: A, 126: E }, t(N, [2, 69]), t(ne, h, { 17: 285 }), t(ze, [2, 132], { 116: 271, 22: Z, 69: J, 92: $, 113: e1, 117: t1, 118: s1, 119: u1, 120: i1 }), t(F, [2, 127], { 128: 173, 22: [1, 286], 26: E1, 53: k1, 69: b1, 97: D1, 113: g1, 114: F1, 117: _1, 119: T1, 122: S1, 123: C1, 124: B1 }), t(F, [2, 128], { 128: 173, 22: [1, 287], 26: E1, 53: k1, 69: b1, 97: D1, 113: g1, 114: F1, 117: _1, 119: T1, 122: S1, 123: C1, 124: B1 }), t(F, [2, 115]), { 42: [1, 288], 76: p, 90: 222, 124: d, 125: A, 126: E }, { 18: 18, 19: 19, 20: G, 21: g, 22: O, 23: z, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: c1, 43: [1, 289], 44: 31, 45: h1, 47: f1, 49: V1, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: S, 92: w1, 93: G1, 94: U1, 95: M1, 96: K1, 97: B, 110: x, 113: y, 114: m, 117: v, 119: V, 121: 48, 122: L, 123: I, 124: R, 129: j1, 130: Y1, 131: X1, 132: z1 }, { 22: Z, 69: J, 92: $, 100: 290, 113: e1, 115: 244, 116: 245, 117: t1, 118: s1, 119: u1, 120: i1 }, { 22: Z, 69: J, 92: $, 100: 291, 113: e1, 115: 244, 116: 245, 117: t1, 118: s1, 119: u1, 120: i1 }, t(N, [2, 65]), t(_, [2, 41]), t(F, [2, 125], { 114: y1 }), t(F, [2, 126], { 114: y1 })], defaultActions: { 2: [2, 1], 9: [2, 5], 10: [2, 2], 122: [2, 7] }, parseError: function(a, l) { if (l.recoverable) this.trace(a); else { var f = new Error(a); throw f.hash = l, f; } }, parse: function(a) { var l = this, f = [0], n = [], T = [null], e = [], R1 = this.table, s = "", j = 0, He = 0, mt = 2, We = 1, vt = e.slice.call(arguments, 1), C = Object.create(this.lexer), p1 = { yy: {} }; for (var ce in this.yy) Object.prototype.hasOwnProperty.call(this.yy, ce) && (p1.yy[ce] = this.yy[ce]); C.setInput(a, p1.yy), p1.yy.lexer = C, p1.yy.parser = this, typeof C.yylloc > "u" && (C.yylloc = {}); var le = C.yylloc; e.push(le); var Vt = C.options && C.options.ranges; typeof p1.yy.parseError == "function" ? this.parseError = p1.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function Lt() { var r1; return r1 = n.pop() || C.lex() || We, typeof r1 != "number" && (r1 instanceof Array && (n = r1, r1 = n.pop()), r1 = l.symbols_[r1] || r1), r1; } for (var U, d1, Y, oe, m1 = {}, q1, n1, qe, Q1; ; ) { if (d1 = f[f.length - 1], this.defaultActions[d1] ? Y = this.defaultActions[d1] : ((U === null || typeof U > "u") && (U = Lt()), Y = R1[d1] && R1[d1][U]), typeof Y > "u" || !Y.length || !Y[0]) { var he = ""; Q1 = []; for (q1 in R1[d1]) this.terminals_[q1] && q1 > mt && Q1.push("'" + this.terminals_[q1] + "'"); C.showPosition ? he = "Parse error on line " + (j + 1) + `: ` + C.showPosition() + ` Expecting ` + Q1.join(", ") + ", got '" + (this.terminals_[U] || U) + "'" : he = "Parse error on line " + (j + 1) + ": Unexpected " + (U == We ? "end of input" : "'" + (this.terminals_[U] || U) + "'"), this.parseError(he, { text: C.match, token: this.terminals_[U] || U, line: C.yylineno, loc: le, expected: Q1 }); } if (Y[0] instanceof Array && Y.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + d1 + ", token: " + U); switch (Y[0]) { case 1: f.push(U), T.push(C.yytext), e.push(C.yylloc), f.push(Y[1]), U = null, He = C.yyleng, s = C.yytext, j = C.yylineno, le = C.yylloc; break; case 2: if (n1 = this.productions_[Y[1]][1], m1.$ = T[T.length - n1], m1._$ = { first_line: e[e.length - (n1 || 1)].first_line, last_line: e[e.length - 1].last_line, first_column: e[e.length - (n1 || 1)].first_column, last_column: e[e.length - 1].last_column }, Vt && (m1._$.range = [ e[e.length - (n1 || 1)].range[0], e[e.length - 1].range[1] ]), oe = this.performAction.apply(m1, [ s, He, j, p1.yy, Y[1], T, e ].concat(vt)), typeof oe < "u") return oe; n1 && (f = f.slice(0, -1 * n1 * 2), T = T.slice(0, -1 * n1), e = e.slice(0, -1 * n1)), f.push(this.productions_[Y[1]][0]), T.push(m1.$), e.push(m1._$), qe = R1[f[f.length - 2]][f[f.length - 1]], f.push(qe); break; case 3: return !0; } } return !0; } }, yt = function() { var o1 = { EOF: 1, parseError: function(l, f) { if (this.yy.parser) this.yy.parser.parseError(l, f); else throw new Error(l); }, // resets the lexer, sets new input setInput: function(a, l) { return this.yy = l || this.yy || {}, this._input = a, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this; }, // consumes and returns one char from the input input: function() { var a = this._input[0]; this.yytext += a, this.yyleng++, this.offset++, this.match += a, this.matched += a; var l = a.match(/(?:\r\n?|\n).*/g); return l ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), a; }, // unshifts one char (or a string) into the input unput: function(a) { var l = a.length, f = a.split(/(?:\r\n?|\n)/g); this._input = a + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - l), this.offset -= l; var n = this.match.split(/(?:\r\n?|\n)/g); this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), f.length - 1 && (this.yylineno -= f.length - 1); var T = this.yylloc.range; return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: f ? (f.length === n.length ? this.yylloc.first_column : 0) + n[n.length - f.length].length - f[0].length : this.yylloc.first_column - l }, this.options.ranges && (this.yylloc.range = [T[0], T[0] + this.yyleng - l]), this.yyleng = this.yytext.length, this; }, // When called from action, caches matched text and appends it on next action more: function() { return this._more = !0, this; }, // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. reject: function() { if (this.options.backtrack_lexer) this._backtrack = !0; else return this.parseError("Lexical error on line " + (this.yylineno + 1) + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). ` + this.showPosition(), { text: "", token: null, line: this.yylineno }); return this; }, // retain first n characters of the match less: function(a) { this.unput(this.match.slice(a)); }, // displays already matched input, i.e. for error messages pastInput: function() { var a = this.matched.substr(0, this.matched.length - this.match.length); return (a.length > 20 ? "..." : "") + a.substr(-20).replace(/\n/g, ""); }, // displays upcoming input, i.e. for error messages upcomingInput: function() { var a = this.match; return a.length < 20 && (a += this._input.substr(0, 20 - a.length)), (a.substr(0, 20) + (a.length > 20 ? "..." : "")).replace(/\n/g, ""); }, // displays the character position where the lexing error occurred, i.e. for error messages showPosition: function() { var a = this.pastInput(), l = new Array(a.length + 1).join("-"); return a + this.upcomingInput() + ` ` + l + "^"; }, // test the lexed token: return FALSE when not a match, otherwise return token test_match: function(a, l) { var f, n, T; if (this.options.backtrack_lexer && (T = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (T.yylloc.range = this.yylloc.range.slice(0))), n = a[0].match(/(?:\r\n?|\n).*/g), n && (this.yylineno += n.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + a[0].length }, this.yytext += a[0], this.match += a[0], this.matches = a, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(a[0].length), this.matched += a[0], f = this.performAction.call(this, this.yy, this, l, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), f) return f; if (this._backtrack) { for (var e in T) this[e] = T[e]; return !1; } return !1; }, // return next match in input next: function() { if (this.done) return this.EOF; this._input || (this.done = !0); var a, l, f, n; this._more || (this.yytext = "", this.match = ""); for (var T = this._currentRules(), e = 0; e < T.length; e++) if (f = this._input.match(this.rules[T[e]]), f && (!l || f[0].length > l[0].length)) { if (l = f, n = e, this.options.backtrack_lexer) { if (a = this.test_match(f, T[e]), a !== !1) return a; if (this._backtrack) { l = !1; continue; } else return !1; } else if (!this.options.flex) break; } return l ? (a = this.test_match(l, T[n]), a !== !1 ? a : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text. ` + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // return next match that has a token lex: function() { var l = this.next(); return l || this.lex(); }, // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) begin: function(l) { this.conditionStack.push(l); }, // pop the previously active lexer condition state off the condition stack popState: function() { var l = this.conditionStack.length - 1; return l > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, // produce the lexer rule set which is active for the currently active lexer condition state _currentRules: function() { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules; }, // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available topState: function(l) { return l = this.conditionStack.length - 1 - Math.abs(l || 0), l >= 0 ? this.conditionStack[l] : "INITIAL"; }, // alias for begin(condition) pushState: function(l) { this.begin(l); }, // return the number of states currently on the stack stateStackSize: function() { return this.conditionStack.length; }, options: {}, performAction: function(l, f, n, T) { switch (n) { case 0: return this.begin("open_directive"), 12; case 1: return this.begin("type_directive"), 13; case 2: return this.popState(), this.begin("arg_directive"), 10; case 3: return this.popState(), this.popState(), 15; case 4: return 14; case 5: return this.begin("acc_title"), 45; case 6: return this.popState(), "acc_title_value"; case 7: return this.begin("acc_descr"), 47; case 8: return this.popState(), "acc_descr_value"; case 9: this.begin("acc_descr_multiline"); break; case 10: this.popState(); break; case 11: return "acc_descr_multiline_value"; case 12: this.begin("callbackname"); break; case 13: this.popState(); break; case 14: this.popState(), this.begin("callbackargs"); break; case 15: return 103; case 16: this.popState(); break; case 17: return 104; case 18: return "MD_STR"; case 19: this.popState(); break; case 20: this.begin("md_string"); break; case 21: return "STR"; case 22: this.popState(); break; case 23: this.pushState("string"); break; case 24: return 92; case 25: return 110; case 26: return 93; case 27: return 112; case 28: return 94; case 29: return 95; case 30: return 105; case 31: this.begin("click"); break; case 32: this.popState(); break; case 33: return 96; case 34: return l.lex.firstGraph() && this.begin("dir"), 24; case 35: return l.lex.firstGraph() && this.begin("dir"), 24; case 36: return l.lex.firstGraph() && this.begin("dir"), 24; case 37: return 38; case 38: return 43; case 39: return 106; case 40: return 106; case 41: return 106; case 42: return 106; case 43: return this.popState(), 25; case 44: return this.popState(), 26; case 45: return this.popState(), 26; case 46: return this.popState(), 26; case 47: return this.popState(), 26; case 48: return this.popState(), 26; case 49: return this.popState(), 26; case 50: return this.popState(), 26; case 51: return this.popState(), 26; case 52: return this.popState(), 26; case 53: return this.popState(), 26; case 54: return 129; case 55: return 130; case 56: return 131; case 57: return 132; case 58: return 113; case 59: return 119; case 60: return 55; case 61: return 69; case 62: return 53; case 63: return 20; case 64: return 114; case 65: return 123; case 66: return this.popState(), 86; case 67: return this.pushState("edgeText"), 84; case 68: return 127; case 69: return this.popState(), 86; case 70: return this.pushState("thickEdgeText"), 84; case 71: return 127; case 72: return this.popState(), 86; case 73: return this.pushState("dottedEdgeText"), 84; case 74: return 127; case 75: return 86; case 76: return this.popState(), 62; case 77: return "TEXT"; case 78: return this.pushState("ellipseText"), 61; case 79: return this.popState(), 64; case 80: return this.pushState("text"), 63; case 81: return this.popState(), 66; case 82: return this.pushState("text"), 65; case 83: return 67; case 84: return this.pushState("text"), 76; case 85: return this.popState(), 73; case 86: return this.pushState("text"), 72; case 87: return this.popState(), 58; case 88: return this.pushState("text"), 57; case 89: return this.popState(), 78; case 90: return this.popState(), 80; case 91: return 125; case 92: return this.pushState("trapText"), 77; case 93: return this.pushState("trapText"), 79; case 94: return 126; case 95: return 76; case 96: return 98; case 97: return "SEP"; case 98: return 97; case 99: return 123; case 100: return 119; case 101: return 53; case 102: return 117; case 103: return 122; case 104: return 124; case 105: return this.popState(), 71; case 106: return this.pushState("text"), 71; case 107: return this.popState(), 60; case 108: return this.pushState("text"), 59; case 109: return this.popState(), 42; case 110: return this.pushState("text"), 40; case 111: return this.popState(), 75; case 112: return this.pushState("text"), 74; case 113: return "TEXT"; case 114: return "QUOTE"; case 115: return 21; case 116: return 22; case 117: return 23; } }, rules: [/^(?:%%\{)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["][`])/, /^(?:[^"]+)/, /^(?:["])/, /^(?:["])/, /^(?:style\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\b)/, /^(?:class\b)/, /^(?:href[\s])/, /^(?:click[\s]+)/, /^(?:[\s\n])/, /^(?:[^\s\n]*)/, /^(?:flowchart-elk\b)/, /^(?:graph\b)/, /^(?:flowchart\b)/, /^(?:subgraph\b)/, /^(?:end\b\s*)/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:(\r?\n)*\s*\n)/, /^(?:\s*LR\b)/, /^(?:\s*RL\b)/, /^(?:\s*TB\b)/, /^(?:\s*BT\b)/, /^(?:\s*TD\b)/, /^(?:\s*BR\b)/, /^(?:\s*<)/, /^(?:\s*>)/, /^(?:\s*\^)/, /^(?:\s*v\b)/, /^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\*)/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?--\s*)/, /^(?:[^-]|-(?!-)+)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?==\s*)/, /^(?:[^=]|=(?!))/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?:\s*[xo<]?-\.\s*)/, /^(?:[^\.]|\.(?!))/, /^(?:\s*~~[\~]+\s*)/, /^(?:[-/\)][\)])/, /^(?:[^\(\)\[\]\{\}]|(?!\)+))/, /^(?:\(-)/, /^(?:\]\))/, /^(?:\(\[)/, /^(?:\]\])/, /^(?:\[\[)/, /^(?:\[\|)/, /^(?:>)/, /^(?:\)\])/, /^(?:\[\()/, /^(?:\)\)\))/, /^(?:\(\(\()/, /^(?:[\\(?=\])][\]])/, /^(?:\/(?=\])\])/, /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/, /^(?:\[\/)/, /^(?:\[\\)/, /^(?:<)/, /^(?:>)/, /^(?:\^)/, /^(?:\\\|)/, /^(?:v\b)/, /^(?:\*)/, /^(?:#)/, /^(?:&)/, /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/, /^(?:-)/, /^(?:[\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]|[\u06E