import { _ as o, O as gt, an as Rt, ao as Ct, ap as Wt, f as pt, l as E, T as Pt, ag as Bt, aq as ft, h as U, N as Vt, ar as Ft, I as Ot } from "./mermaid-VLURNSYL-TtKCXHSS.js";
import { d as ot } from "./arc-BeHiQS3H.js";
var tt = (function() {
  var e = /* @__PURE__ */ o(function(k, s, d, l) {
    for (d = d || {}, l = k.length; l--; d[k[l]] = s) ;
    return d;
  }, "o"), t = [6, 11, 13, 14, 15, 17, 19, 20, 23, 24], n = [1, 12], i = [1, 13], r = [1, 14], h = [1, 15], c = [1, 16], a = [1, 19], f = [1, 20], p = {
    trace: /* @__PURE__ */ o(function() {
    }, "trace"),
    yy: {},
    symbols_: { error: 2, start: 3, timeline_header: 4, document: 5, EOF: 6, timeline: 7, timeline_lr: 8, timeline_td: 9, line: 10, SPACE: 11, statement: 12, NEWLINE: 13, title: 14, acc_title: 15, acc_title_value: 16, acc_descr: 17, acc_descr_value: 18, acc_descr_multiline_value: 19, section: 20, period_statement: 21, event_statement: 22, period: 23, event: 24, $accept: 0, $end: 1 },
    terminals_: { 2: "error", 6: "EOF", 7: "timeline", 8: "timeline_lr", 9: "timeline_td", 11: "SPACE", 13: "NEWLINE", 14: "title", 15: "acc_title", 16: "acc_title_value", 17: "acc_descr", 18: "acc_descr_value", 19: "acc_descr_multiline_value", 20: "section", 23: "period", 24: "event" },
    productions_: [0, [3, 3], [4, 1], [4, 1], [4, 1], [5, 0], [5, 2], [10, 2], [10, 1], [10, 1], [10, 1], [12, 1], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [21, 1], [22, 1]],
    performAction: /* @__PURE__ */ o(function(s, d, l, g, x, u, S) {
      var v = u.length - 1;
      switch (x) {
        case 1:
          return u[v - 1];
        case 3:
          g.setDirection("LR");
          break;
        case 4:
          g.setDirection("TD");
          break;
        case 5:
          this.$ = [];
          break;
        case 6:
          u[v - 1].push(u[v]), this.$ = u[v - 1];
          break;
        case 7:
        case 8:
          this.$ = u[v];
          break;
        case 9:
        case 10:
          this.$ = [];
          break;
        case 11:
          g.getCommonDb().setDiagramTitle(u[v].substr(6)), this.$ = u[v].substr(6);
          break;
        case 12:
          this.$ = u[v].trim(), g.getCommonDb().setAccTitle(this.$);
          break;
        case 13:
        case 14:
          this.$ = u[v].trim(), g.getCommonDb().setAccDescription(this.$);
          break;
        case 15:
          g.addSection(u[v].substr(8)), this.$ = u[v].substr(8);
          break;
        case 18:
          g.addTask(u[v], 0, ""), this.$ = u[v];
          break;
        case 19:
          g.addEvent(u[v].substr(2)), this.$ = u[v];
          break;
      }
    }, "anonymous"),
    table: [{ 3: 1, 4: 2, 7: [1, 3], 8: [1, 4], 9: [1, 5] }, { 1: [3] }, e(t, [2, 5], { 5: 6 }), e(t, [2, 2]), e(t, [2, 3]), e(t, [2, 4]), { 6: [1, 7], 10: 8, 11: [1, 9], 12: 10, 13: [1, 11], 14: n, 15: i, 17: r, 19: h, 20: c, 21: 17, 22: 18, 23: a, 24: f }, e(t, [2, 10], { 1: [2, 1] }), e(t, [2, 6]), { 12: 21, 14: n, 15: i, 17: r, 19: h, 20: c, 21: 17, 22: 18, 23: a, 24: f }, e(t, [2, 8]), e(t, [2, 9]), e(t, [2, 11]), { 16: [1, 22] }, { 18: [1, 23] }, e(t, [2, 14]), e(t, [2, 15]), e(t, [2, 16]), e(t, [2, 17]), e(t, [2, 18]), e(t, [2, 19]), e(t, [2, 7]), e(t, [2, 12]), e(t, [2, 13])],
    defaultActions: {},
    parseError: /* @__PURE__ */ o(function(s, d) {
      if (d.recoverable)
        this.trace(s);
      else {
        var l = new Error(s);
        throw l.hash = d, l;
      }
    }, "parseError"),
    parse: /* @__PURE__ */ o(function(s) {
      var d = this, l = [0], g = [], x = [null], u = [], S = this.table, v = "", I = 0, R = 0, W = 2, z = 1, L = u.slice.call(arguments, 1), w = Object.create(this.lexer), H = { yy: {} };
      for (var V in this.yy)
        Object.prototype.hasOwnProperty.call(this.yy, V) && (H.yy[V] = this.yy[V]);
      w.setInput(s, H.yy), H.yy.lexer = w, H.yy.parser = this, typeof w.yylloc > "u" && (w.yylloc = {});
      var F = w.yylloc;
      u.push(F);
      var K = w.options && w.options.ranges;
      typeof H.yy.parseError == "function" ? this.parseError = H.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
      function N(A) {
        l.length = l.length - 2 * A, x.length = x.length - A, u.length = u.length - A;
      }
      o(N, "popStack");
      function b() {
        var A;
        return A = g.pop() || w.lex() || z, typeof A != "number" && (A instanceof Array && (g = A, A = g.pop()), A = d.symbols_[A] || A), A;
      }
      o(b, "lex");
      for (var _, $, T, P, C = {}, G, B, X, Z; ; ) {
        if ($ = l[l.length - 1], this.defaultActions[$] ? T = this.defaultActions[$] : ((_ === null || typeof _ > "u") && (_ = b()), T = S[$] && S[$][_]), typeof T > "u" || !T.length || !T[0]) {
          var Y = "";
          Z = [];
          for (G in S[$])
            this.terminals_[G] && G > W && Z.push("'" + this.terminals_[G] + "'");
          w.showPosition ? Y = "Parse error on line " + (I + 1) + `:
` + w.showPosition() + `
Expecting ` + Z.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : Y = "Parse error on line " + (I + 1) + ": Unexpected " + (_ == z ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(Y, {
            text: w.match,
            token: this.terminals_[_] || _,
            line: w.yylineno,
            loc: F,
            expected: Z
          });
        }
        if (T[0] instanceof Array && T.length > 1)
          throw new Error("Parse Error: multiple actions possible at state: " + $ + ", token: " + _);
        switch (T[0]) {
          case 1:
            l.push(_), x.push(w.yytext), u.push(w.yylloc), l.push(T[1]), _ = null, R = w.yyleng, v = w.yytext, I = w.yylineno, F = w.yylloc;
            break;
          case 2:
            if (B = this.productions_[T[1]][1], C.$ = x[x.length - B], C._$ = {
              first_line: u[u.length - (B || 1)].first_line,
              last_line: u[u.length - 1].last_line,
              first_column: u[u.length - (B || 1)].first_column,
              last_column: u[u.length - 1].last_column
            }, K && (C._$.range = [
              u[u.length - (B || 1)].range[0],
              u[u.length - 1].range[1]
            ]), P = this.performAction.apply(C, [
              v,
              R,
              I,
              H.yy,
              T[1],
              x,
              u
            ].concat(L)), typeof P < "u")
              return P;
            B && (l = l.slice(0, -1 * B * 2), x = x.slice(0, -1 * B), u = u.slice(0, -1 * B)), l.push(this.productions_[T[1]][0]), x.push(C.$), u.push(C._$), X = S[l[l.length - 2]][l[l.length - 1]], l.push(X);
            break;
          case 3:
            return !0;
        }
      }
      return !0;
    }, "parse")
  }, m = /* @__PURE__ */ (function() {
    var k = {
      EOF: 1,
      parseError: /* @__PURE__ */ o(function(d, l) {
        if (this.yy.parser)
          this.yy.parser.parseError(d, l);
        else
          throw new Error(d);
      }, "parseError"),
      // resets the lexer, sets new input
      setInput: /* @__PURE__ */ o(function(s, d) {
        return this.yy = d || this.yy || {}, this._input = s, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
          first_line: 1,
          first_column: 0,
          last_line: 1,
          last_column: 0
        }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
      }, "setInput"),
      // consumes and returns one char from the input
      input: /* @__PURE__ */ o(function() {
        var s = this._input[0];
        this.yytext += s, this.yyleng++, this.offset++, this.match += s, this.matched += s;
        var d = s.match(/(?:\r\n?|\n).*/g);
        return d ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), s;
      }, "input"),
      // unshifts one char (or a string) into the input
      unput: /* @__PURE__ */ o(function(s) {
        var d = s.length, l = s.split(/(?:\r\n?|\n)/g);
        this._input = s + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - d), this.offset -= d;
        var g = this.match.split(/(?:\r\n?|\n)/g);
        this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), l.length - 1 && (this.yylineno -= l.length - 1);
        var x = this.yylloc.range;
        return this.yylloc = {
          first_line: this.yylloc.first_line,
          last_line: this.yylineno + 1,
          first_column: this.yylloc.first_column,
          last_column: l ? (l.length === g.length ? this.yylloc.first_column : 0) + g[g.length - l.length].length - l[0].length : this.yylloc.first_column - d
        }, this.options.ranges && (this.yylloc.range = [x[0], x[0] + this.yyleng - d]), this.yyleng = this.yytext.length, this;
      }, "unput"),
      // When called from action, caches matched text and appends it on next action
      more: /* @__PURE__ */ o(function() {
        return this._more = !0, this;
      }, "more"),
      // 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: /* @__PURE__ */ o(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;
      }, "reject"),
      // retain first n characters of the match
      less: /* @__PURE__ */ o(function(s) {
        this.unput(this.match.slice(s));
      }, "less"),
      // displays already matched input, i.e. for error messages
      pastInput: /* @__PURE__ */ o(function() {
        var s = this.matched.substr(0, this.matched.length - this.match.length);
        return (s.length > 20 ? "..." : "") + s.substr(-20).replace(/\n/g, "");
      }, "pastInput"),
      // displays upcoming input, i.e. for error messages
      upcomingInput: /* @__PURE__ */ o(function() {
        var s = this.match;
        return s.length < 20 && (s += this._input.substr(0, 20 - s.length)), (s.substr(0, 20) + (s.length > 20 ? "..." : "")).replace(/\n/g, "");
      }, "upcomingInput"),
      // displays the character position where the lexing error occurred, i.e. for error messages
      showPosition: /* @__PURE__ */ o(function() {
        var s = this.pastInput(), d = new Array(s.length + 1).join("-");
        return s + this.upcomingInput() + `
` + d + "^";
      }, "showPosition"),
      // test the lexed token: return FALSE when not a match, otherwise return token
      test_match: /* @__PURE__ */ o(function(s, d) {
        var l, g, x;
        if (this.options.backtrack_lexer && (x = {
          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 && (x.yylloc.range = this.yylloc.range.slice(0))), g = s[0].match(/(?:\r\n?|\n).*/g), g && (this.yylineno += g.length), this.yylloc = {
          first_line: this.yylloc.last_line,
          last_line: this.yylineno + 1,
          first_column: this.yylloc.last_column,
          last_column: g ? g[g.length - 1].length - g[g.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + s[0].length
        }, this.yytext += s[0], this.match += s[0], this.matches = s, 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(s[0].length), this.matched += s[0], l = this.performAction.call(this, this.yy, this, d, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), l)
          return l;
        if (this._backtrack) {
          for (var u in x)
            this[u] = x[u];
          return !1;
        }
        return !1;
      }, "test_match"),
      // return next match in input
      next: /* @__PURE__ */ o(function() {
        if (this.done)
          return this.EOF;
        this._input || (this.done = !0);
        var s, d, l, g;
        this._more || (this.yytext = "", this.match = "");
        for (var x = this._currentRules(), u = 0; u < x.length; u++)
          if (l = this._input.match(this.rules[x[u]]), l && (!d || l[0].length > d[0].length)) {
            if (d = l, g = u, this.options.backtrack_lexer) {
              if (s = this.test_match(l, x[u]), s !== !1)
                return s;
              if (this._backtrack) {
                d = !1;
                continue;
              } else
                return !1;
            } else if (!this.options.flex)
              break;
          }
        return d ? (s = this.test_match(d, x[g]), s !== !1 ? s : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
` + this.showPosition(), {
          text: "",
          token: null,
          line: this.yylineno
        });
      }, "next"),
      // return next match that has a token
      lex: /* @__PURE__ */ o(function() {
        var d = this.next();
        return d || this.lex();
      }, "lex"),
      // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
      begin: /* @__PURE__ */ o(function(d) {
        this.conditionStack.push(d);
      }, "begin"),
      // pop the previously active lexer condition state off the condition stack
      popState: /* @__PURE__ */ o(function() {
        var d = this.conditionStack.length - 1;
        return d > 0 ? this.conditionStack.pop() : this.conditionStack[0];
      }, "popState"),
      // produce the lexer rule set which is active for the currently active lexer condition state
      _currentRules: /* @__PURE__ */ o(function() {
        return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
      }, "_currentRules"),
      // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
      topState: /* @__PURE__ */ o(function(d) {
        return d = this.conditionStack.length - 1 - Math.abs(d || 0), d >= 0 ? this.conditionStack[d] : "INITIAL";
      }, "topState"),
      // alias for begin(condition)
      pushState: /* @__PURE__ */ o(function(d) {
        this.begin(d);
      }, "pushState"),
      // return the number of states currently on the stack
      stateStackSize: /* @__PURE__ */ o(function() {
        return this.conditionStack.length;
      }, "stateStackSize"),
      options: { "case-insensitive": !0 },
      performAction: /* @__PURE__ */ o(function(d, l, g, x) {
        switch (g) {
          case 0:
            break;
          case 1:
            break;
          case 2:
            return 13;
          case 3:
            break;
          case 4:
            break;
          case 5:
            return 8;
          case 6:
            return 9;
          case 7:
            return 7;
          case 8:
            return 14;
          case 9:
            return this.begin("acc_title"), 15;
          case 10:
            return this.popState(), "acc_title_value";
          case 11:
            return this.begin("acc_descr"), 17;
          case 12:
            return this.popState(), "acc_descr_value";
          case 13:
            this.begin("acc_descr_multiline");
            break;
          case 14:
            this.popState();
            break;
          case 15:
            return "acc_descr_multiline_value";
          case 16:
            return 20;
          case 17:
            return 24;
          case 18:
            return 23;
          case 19:
            return 6;
          case 20:
            return "INVALID";
        }
      }, "anonymous"),
      rules: [/^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:timeline[ \t]+LR\b)/i, /^(?:timeline[ \t]+TD\b)/i, /^(?:timeline\b)/i, /^(?:title\s[^\n]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:section\s[^:\n]+)/i, /^(?::\s(?:[^:\n]|:(?!\s))+)/i, /^(?:[^#:\n]+)/i, /^(?:$)/i, /^(?:.)/i],
      conditions: { acc_descr_multiline: { rules: [14, 15], inclusive: !1 }, acc_descr: { rules: [12], inclusive: !1 }, acc_title: { rules: [10], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20], inclusive: !0 } }
    };
    return k;
  })();
  p.lexer = m;
  function y() {
    this.yy = {};
  }
  return o(y, "Parser"), y.prototype = p, p.Parser = y, new y();
})();
tt.parser = tt;
var zt = tt, yt = {};
Vt(yt, {
  addEvent: () => Tt,
  addSection: () => _t,
  addTask: () => Et,
  addTaskOrg: () => $t,
  clear: () => kt,
  default: () => Gt,
  getCommonDb: () => xt,
  getDirection: () => bt,
  getSections: () => wt,
  getTasks: () => St,
  setDirection: () => vt
});
var D = "", mt = 0, nt = "LR", rt = [], j = [], q = [], xt = /* @__PURE__ */ o(() => Ft, "getCommonDb"), kt = /* @__PURE__ */ o(function() {
  rt.length = 0, j.length = 0, D = "", q.length = 0, nt = "LR", Ot();
}, "clear"), vt = /* @__PURE__ */ o(function(e) {
  nt = e;
}, "setDirection"), bt = /* @__PURE__ */ o(function() {
  return nt;
}, "getDirection"), _t = /* @__PURE__ */ o(function(e) {
  D = e, rt.push(e);
}, "addSection"), wt = /* @__PURE__ */ o(function() {
  return rt;
}, "getSections"), St = /* @__PURE__ */ o(function() {
  let e = ct();
  const t = 100;
  let n = 0;
  for (; !e && n < t; )
    e = ct(), n++;
  return j.push(...q), j;
}, "getTasks"), Et = /* @__PURE__ */ o(function(e, t, n) {
  const i = {
    id: mt++,
    section: D,
    type: D,
    task: e,
    score: t || 0,
    //if event is defined, then add it the events array
    events: n ? [n] : []
  };
  q.push(i);
}, "addTask"), Tt = /* @__PURE__ */ o(function(e) {
  q.find((n) => n.id === mt - 1).events.push(e);
}, "addEvent"), $t = /* @__PURE__ */ o(function(e) {
  const t = {
    section: D,
    type: D,
    description: e,
    task: e,
    classes: []
  };
  j.push(t);
}, "addTaskOrg"), ct = /* @__PURE__ */ o(function() {
  const e = /* @__PURE__ */ o(function(n) {
    return q[n].processed;
  }, "compileTask");
  let t = !0;
  for (const [n, i] of q.entries())
    e(n), t = t && i.processed;
  return t;
}, "compileTasks"), Gt = {
  clear: kt,
  getCommonDb: xt,
  getDirection: bt,
  setDirection: vt,
  addSection: _t,
  getSections: wt,
  getTasks: St,
  addTask: Et,
  addTaskOrg: $t,
  addEvent: Tt
}, Nt = 0, J = /* @__PURE__ */ o(function(e, t) {
  const n = e.append("rect");
  return n.attr("x", t.x), n.attr("y", t.y), n.attr("fill", t.fill), n.attr("stroke", t.stroke), n.attr("width", t.width), n.attr("height", t.height), n.attr("rx", t.rx), n.attr("ry", t.ry), t.class !== void 0 && n.attr("class", t.class), n;
}, "drawRect"), Dt = /* @__PURE__ */ o(function(e, t) {
  const i = e.append("circle").attr("cx", t.cx).attr("cy", t.cy).attr("class", "face").attr("r", 15).attr("stroke-width", 2).attr("overflow", "visible"), r = e.append("g");
  r.append("circle").attr("cx", t.cx - 15 / 3).attr("cy", t.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666"), r.append("circle").attr("cx", t.cx + 15 / 3).attr("cy", t.cy - 15 / 3).attr("r", 1.5).attr("stroke-width", 2).attr("fill", "#666").attr("stroke", "#666");
  function h(f) {
    const p = ot().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175);
    f.append("path").attr("class", "mouth").attr("d", p).attr("transform", "translate(" + t.cx + "," + (t.cy + 2) + ")");
  }
  o(h, "smile");
  function c(f) {
    const p = ot().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(7.5).outerRadius(6.8181818181818175);
    f.append("path").attr("class", "mouth").attr("d", p).attr("transform", "translate(" + t.cx + "," + (t.cy + 7) + ")");
  }
  o(c, "sad");
  function a(f) {
    f.append("line").attr("class", "mouth").attr("stroke", 2).attr("x1", t.cx - 5).attr("y1", t.cy + 7).attr("x2", t.cx + 5).attr("y2", t.cy + 7).attr("class", "mouth").attr("stroke-width", "1px").attr("stroke", "#666");
  }
  return o(a, "ambivalent"), t.score > 3 ? h(r) : t.score < 3 ? c(r) : a(r), i;
}, "drawFace"), qt = /* @__PURE__ */ o(function(e, t) {
  const n = e.append("circle");
  return n.attr("cx", t.cx), n.attr("cy", t.cy), n.attr("class", "actor-" + t.pos), n.attr("fill", t.fill), n.attr("stroke", t.stroke), n.attr("r", t.r), n.class !== void 0 && n.attr("class", n.class), t.title !== void 0 && n.append("title").text(t.title), n;
}, "drawCircle"), It = /* @__PURE__ */ o(function(e, t) {
  const n = t.text.replace(/<br\s*\/?>/gi, " "), i = e.append("text");
  i.attr("x", t.x), i.attr("y", t.y), i.attr("class", "legend"), i.style("text-anchor", t.anchor), t.class !== void 0 && i.attr("class", t.class);
  const r = i.append("tspan");
  return r.attr("x", t.x + t.textMargin * 2), r.text(n), i;
}, "drawText"), Kt = /* @__PURE__ */ o(function(e, t) {
  function n(r, h, c, a, f) {
    return r + "," + h + " " + (r + c) + "," + h + " " + (r + c) + "," + (h + a - f) + " " + (r + c - f * 1.2) + "," + (h + a) + " " + r + "," + (h + a);
  }
  o(n, "genPoints");
  const i = e.append("polygon");
  i.attr("points", n(t.x, t.y, 50, 20, 7)), i.attr("class", "labelBox"), t.y = t.y + t.labelMargin, t.x = t.x + 0.5 * t.labelMargin, It(e, t);
}, "drawLabel"), Ut = /* @__PURE__ */ o(function(e, t, n) {
  const i = e.append("g"), r = st();
  r.x = t.x, r.y = t.y, r.fill = t.fill, r.width = n.width, r.height = n.height, r.class = "journey-section section-type-" + t.num, r.rx = 3, r.ry = 3, J(i, r), Ht(n)(
    t.text,
    i,
    r.x,
    r.y,
    r.width,
    r.height,
    { class: "journey-section section-type-" + t.num },
    n,
    t.colour
  );
}, "drawSection"), et = -1, Xt = /* @__PURE__ */ o(function(e, t, n, i) {
  const r = t.x + n.width / 2, h = e.append("g");
  et++, h.append("line").attr("id", i + "-task" + et).attr("x1", r).attr("y1", t.y).attr("x2", r).attr("y2", 450).attr("class", "task-line").attr("stroke-width", "1px").attr("stroke-dasharray", "4 2").attr("stroke", "#666"), Dt(h, {
    cx: r,
    cy: 300 + (5 - t.score) * 30,
    score: t.score
  });
  const a = st();
  a.x = t.x, a.y = t.y, a.fill = t.fill, a.width = n.width, a.height = n.height, a.class = "task task-type-" + t.num, a.rx = 3, a.ry = 3, J(h, a), Ht(n)(
    t.task,
    h,
    a.x,
    a.y,
    a.width,
    a.height,
    { class: "task" },
    n,
    t.colour
  );
}, "drawTask"), Zt = /* @__PURE__ */ o(function(e, t) {
  J(e, {
    x: t.startx,
    y: t.starty,
    width: t.stopx - t.startx,
    height: t.stopy - t.starty,
    fill: t.fill,
    class: "rect"
  }).lower();
}, "drawBackgroundRect"), jt = /* @__PURE__ */ o(function() {
  return {
    x: 0,
    y: 0,
    fill: void 0,
    "text-anchor": "start",
    width: 100,
    height: 100,
    textMargin: 0,
    rx: 0,
    ry: 0
  };
}, "getTextObj"), st = /* @__PURE__ */ o(function() {
  return {
    x: 0,
    y: 0,
    width: 100,
    anchor: "start",
    height: 100,
    rx: 0,
    ry: 0
  };
}, "getNoteRect"), Ht = /* @__PURE__ */ (function() {
  function e(r, h, c, a, f, p, m, y) {
    const k = h.append("text").attr("x", c + f / 2).attr("y", a + p / 2 + 5).style("font-color", y).style("text-anchor", "middle").text(r);
    i(k, m);
  }
  o(e, "byText");
  function t(r, h, c, a, f, p, m, y, k) {
    const { taskFontSize: s, taskFontFamily: d } = y, l = r.split(/<br\s*\/?>/gi);
    for (let g = 0; g < l.length; g++) {
      const x = g * s - s * (l.length - 1) / 2, u = h.append("text").attr("x", c + f / 2).attr("y", a).attr("fill", k).style("text-anchor", "middle").style("font-size", s).style("font-family", d);
      u.append("tspan").attr("x", c + f / 2).attr("dy", x).text(l[g]), u.attr("y", a + p / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), i(u, m);
    }
  }
  o(t, "byTspan");
  function n(r, h, c, a, f, p, m, y) {
    const k = h.append("switch"), d = k.append("foreignObject").attr("x", c).attr("y", a).attr("width", f).attr("height", p).attr("position", "fixed").append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%");
    d.append("div").attr("class", "label").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(r), t(r, k, c, a, f, p, m, y), i(d, m);
  }
  o(n, "byFo");
  function i(r, h) {
    for (const c in h)
      c in h && r.attr(c, h[c]);
  }
  return o(i, "_setTextAttrs"), function(r) {
    return r.textPlacement === "fo" ? n : r.textPlacement === "old" ? e : t;
  };
})(), Jt = /* @__PURE__ */ o(function(e, t) {
  Nt = 0, et = -1, e.append("defs").append("marker").attr("id", t + "-arrowhead").attr("refX", 5).attr("refY", 2).attr("markerWidth", 6).attr("markerHeight", 4).attr("orient", "auto").append("path").attr("d", "M 0,0 V 4 L6,2 Z");
}, "initGraphics");
function it(e, t) {
  e.each(function() {
    var n = U(this), i = n.text().split(/(\s+|<br>)/).reverse(), r, h = [], c = 1.1, a = n.attr("y"), f = parseFloat(n.attr("dy")), p = n.text(null).append("tspan").attr("x", 0).attr("y", a).attr("dy", f + "em");
    for (let m = 0; m < i.length; m++)
      r = i[i.length - 1 - m], h.push(r), p.text(h.join(" ").trim()), (p.node().getComputedTextLength() > t || r === "<br>") && (h.pop(), p.text(h.join(" ").trim()), r === "<br>" ? h = [""] : h = [r], p = n.append("tspan").attr("x", 0).attr("y", a).attr("dy", c + "em").text(r));
  });
}
o(it, "wrap");
var Qt = /* @__PURE__ */ o(function(e, t, n, i, r, h = !1) {
  const { theme: c, look: a } = i, f = c?.includes("redux"), p = i?.themeVariables?.THEME_COLOR_LIMIT ?? 12, m = n % p - 1, y = e.append("g");
  t.section = m, y.attr(
    "class",
    (t.class ? t.class + " " : "") + "timeline-node " + ("section-" + m)
  );
  const k = y.append("g"), s = y.append("g"), l = s.append("text").text(t.descr).attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle").call(it, t.width).node().getBBox(), g = i.fontSize?.replace ? i.fontSize.replace("px", "") : i.fontSize;
  if (t.height = l.height + g * 1.1 * 0.5 + t.padding, t.height = Math.max(t.height, t.maxHeight), t.width = t.width + 2 * t.padding, s.attr("transform", "translate(" + t.width / 2 + ", " + t.padding / 2 + ")"), f && s.attr(
    "transform",
    `translate(${t.width / 2}, ${h ? t.padding / 2 + 3 : t.padding})`
  ), te(k, t, m, r, i), a === "neo" && (y.attr("data-look", "neo"), f)) {
    const x = c.includes("dark"), u = e.node()?.ownerSVGElement ?? e.node(), S = U(u), v = S.attr("id") ?? "", I = v ? `${v}-drop-shadow` : "drop-shadow";
    if (S.select(`#${I}`).empty()) {
      const R = S.select("defs");
      (R.empty() ? S.append("defs") : R).append("filter").attr("id", I).attr("height", "130%").attr("width", "130%").append("feDropShadow").attr("dx", "4").attr("dy", "4").attr("stdDeviation", 0).attr("flood-opacity", x ? "0.2" : "0.06").attr("flood-color", x ? "#FFFFFF" : "#000000");
    }
  }
  return t;
}, "drawNode"), Yt = /* @__PURE__ */ o(function(e, t, n) {
  const i = e.append("g"), h = i.append("text").text(t.descr).attr("dy", "1em").attr("alignment-baseline", "middle").attr("dominant-baseline", "middle").attr("text-anchor", "middle").call(it, t.width).node().getBBox(), c = n.fontSize?.replace ? n.fontSize.replace("px", "") : n.fontSize;
  return i.remove(), h.height + c * 1.1 * 0.5 + t.padding;
}, "getVirtualNodeHeight"), te = /* @__PURE__ */ o(function(e, t, n, i, r) {
  const { theme: h } = r, c = h?.includes("redux") ? 0 : 5, a = 5, f = c > 0 ? `M0 ${t.height - a} v${-t.height + 2 * a} q0,-${c},${c},-${c} h${t.width - 2 * a} q${c},0,${c},${c} v${t.height - a} H0 Z` : `M0 ${t.height - a} v${-(t.height - a)} h${t.width} v${t.height} H0 Z`;
  e.append("path").attr("id", i + "-node-" + Nt++).attr("class", "node-bkg node-" + t.type).attr("d", f), h?.includes("redux") || e.append("line").attr("class", "node-line-" + n).attr("x1", 0).attr("y1", t.height).attr("x2", t.width).attr("y2", t.height);
}, "defaultBkg"), M = {
  drawRect: J,
  drawCircle: qt,
  drawSection: Ut,
  drawText: It,
  drawLabel: Kt,
  drawTask: Xt,
  drawBackgroundRect: Zt,
  getTextObj: jt,
  getNoteRect: st,
  initGraphics: Jt,
  drawNode: Qt,
  getVirtualNodeHeight: Yt
}, ee = /* @__PURE__ */ o(function(e, t, n, i) {
  const r = pt(), { look: h, theme: c, themeVariables: a } = r, { useGradient: f, gradientStart: p, gradientStop: m } = a, y = r.timeline?.leftMargin ?? 50;
  E.debug("timeline", i.db);
  const k = r.securityLevel;
  let s;
  k === "sandbox" && (s = U("#i" + t));
  const l = (k === "sandbox" ? U(s.nodes()[0].contentDocument.body) : U("body")).select("#" + t);
  l.append("g");
  const g = i.db.getTasks(), x = i.db.getCommonDb().getDiagramTitle();
  E.debug("task", g), M.initGraphics(l, t);
  const u = i.db.getSections();
  E.debug("sections", u);
  let S = 0, v = 0, I = 0, R = 0, W = 50 + y, z = 50;
  R = 50;
  let L = 0, w = !0;
  u.forEach(function(N) {
    const b = {
      number: L,
      descr: N,
      section: L,
      width: 150,
      padding: 20,
      maxHeight: S
    }, _ = M.getVirtualNodeHeight(l, b, r);
    E.debug("sectionHeight before draw", _), S = Math.max(S, _ + 20);
  });
  let H = 0, V = 0;
  E.debug("tasks.length", g.length);
  for (const [N, b] of g.entries()) {
    const _ = {
      number: N,
      descr: b,
      section: b.section,
      width: 150,
      padding: 20,
      maxHeight: v
    }, $ = M.getVirtualNodeHeight(l, _, r);
    E.debug("taskHeight before draw", $), v = Math.max(v, $ + 20), H = Math.max(H, b.events.length);
    let T = 0;
    for (const P of b.events) {
      const C = {
        descr: P,
        section: b.section,
        number: b.section,
        width: 150,
        padding: 20,
        maxHeight: 50
      };
      T += M.getVirtualNodeHeight(l, C, r);
    }
    b.events.length > 0 && (T += (b.events.length - 1) * 10), V = Math.max(V, T);
  }
  E.debug("maxSectionHeight before draw", S), E.debug("maxTaskHeight before draw", v), u && u.length > 0 ? u.forEach((N) => {
    const b = g.filter((P) => P.section === N), _ = {
      number: L,
      descr: N,
      section: L,
      width: 200 * Math.max(b.length, 1) - 50,
      padding: 20,
      maxHeight: S
    };
    E.debug("sectionNode", _);
    const $ = l.append("g"), T = M.drawNode($, _, L, r, t);
    E.debug("sectionNode output", T), $.attr("transform", `translate(${W}, ${R})`), z += S + 50, b.length > 0 && lt(
      l,
      b,
      L,
      W,
      z,
      v,
      r,
      H,
      V,
      S,
      !1,
      t
    ), W += 200 * Math.max(b.length, 1), z = R, L++;
  }) : (w = !1, lt(
    l,
    g,
    L,
    W,
    z,
    v,
    r,
    H,
    V,
    S,
    !0,
    t
  ));
  const F = l.node().getBBox();
  if (E.debug("bounds", F), x && l.append("text").text(x).attr("x", h === "neo" ? F.x * 2 + y : F.width / 2 - y).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 20), I = w ? S + v + 150 : v + 100, l.append("g").attr("class", "lineWrapper").append("line").attr("x1", y).attr("y1", I).attr("x2", F.width + 3 * y).attr("y2", I).attr("stroke-width", 4).attr("stroke", "black").attr("marker-end", `url(#${t}-arrowhead)`), h === "neo" && f && c !== "neutral") {
    const N = l.select("defs"), _ = (N.empty() ? l.append("defs") : N).append("linearGradient").attr("id", l.attr("id") + "-gradient").attr("gradientUnits", "objectBoundingBox").attr("x1", "0%").attr("y1", "0%").attr("x2", "100%").attr("y2", "0%");
    _.append("stop").attr("offset", "0%").attr("stop-color", p).attr("stop-opacity", 1), _.append("stop").attr("offset", "100%").attr("stop-color", m).attr("stop-opacity", 1);
  }
  ft(
    void 0,
    l,
    r.timeline?.padding ?? 50,
    r.timeline?.useMaxWidth ?? !1
  );
}, "draw"), lt = /* @__PURE__ */ o(function(e, t, n, i, r, h, c, a, f, p, m, y) {
  for (const k of t) {
    const s = {
      descr: k.task,
      section: n,
      number: n,
      width: 150,
      padding: 20,
      maxHeight: h
    };
    E.debug("taskNode", s);
    const d = e.append("g").attr("class", "taskWrapper"), g = M.drawNode(d, s, n, c, y).height;
    if (E.debug("taskHeight after draw", g), d.attr("transform", `translate(${i}, ${r})`), h = Math.max(h, g), k.events) {
      const x = e.append("g").attr("class", "lineWrapper");
      let u = h;
      r += 100, u = u + ne(e, k.events, n, i, r, c, y), r -= 100, x.append("line").attr("x1", i + 190 / 2).attr("y1", r + h).attr("x2", i + 190 / 2).attr("y2", r + h + 100 + f + 100).attr("stroke-width", 2).attr("stroke", "black").attr("marker-end", `url(#${y}-arrowhead)`).attr("stroke-dasharray", "5,5");
    }
    i = i + 200, m && !c.timeline?.disableMulticolor && n++;
  }
  r = r - 10;
}, "drawTasks"), ne = /* @__PURE__ */ o(function(e, t, n, i, r, h, c) {
  let a = 0;
  const f = r;
  r = r + 100;
  for (const p of t) {
    const m = {
      descr: p,
      section: n,
      number: n,
      width: 150,
      padding: 20,
      maxHeight: 50
    };
    E.debug("eventNode", m);
    const y = e.append("g").attr("class", "eventWrapper"), s = M.drawNode(y, m, n, h, c, !0).height;
    a = a + s, y.attr("transform", `translate(${i}, ${r})`), r = r + 10 + s;
  }
  return r = f, a;
}, "drawEvents"), re = {
  setConf: /* @__PURE__ */ o(() => {
  }, "setConf"),
  draw: ee
}, Q = 200, O = 5, se = Q + O * 2, at = Q + 100, ie = at + O * 2, Lt = 10, ae = 0, ht = 20, Mt = 20, dt = 30, At = 50, oe = /* @__PURE__ */ o(function(e, t, n, i) {
  const r = pt(), h = r.timeline?.leftMargin ?? 50;
  E.debug("timeline", i.db);
  const c = Pt(t);
  c.append("g");
  const a = i.db.getTasks(), f = i.db.getCommonDb().getDiagramTitle();
  E.debug("task", a), M.initGraphics(c);
  const p = i.db.getSections();
  E.debug("sections", p);
  let m = 0, y = 0;
  const k = 50 + h;
  let s = 50;
  const d = s, l = k, g = se + Mt, x = ie + At, u = l + g;
  let S = 0;
  const v = p && p.length > 0, I = v ? u : k + g, R = Math.max(50, g + x - O * 2);
  p.forEach(function(N) {
    const b = {
      number: S,
      descr: N,
      section: S,
      width: R,
      padding: O,
      maxHeight: m
    }, _ = M.getVirtualNodeHeight(c, b, r);
    E.debug("sectionHeight before draw", _), m = Math.max(m, _);
  });
  let W = 0;
  E.debug("tasks.length", a.length);
  for (const [N, b] of a.entries()) {
    const _ = {
      number: N,
      descr: b,
      section: b.section,
      width: Q,
      padding: O,
      maxHeight: y
    }, $ = M.getVirtualNodeHeight(c, _, r);
    E.debug("taskHeight before draw", $), y = Math.max(y, $);
    let T = 0;
    for (const P of b.events) {
      const C = {
        descr: P,
        section: b.section,
        number: b.section,
        width: at,
        padding: O,
        maxHeight: 50
      };
      T += M.getVirtualNodeHeight(c, C, r);
    }
    b.events.length > 0 && (T += (b.events.length - 1) * Lt), W = Math.max(W, T) + ae;
  }
  E.debug("maxSectionHeight before draw", m), E.debug("maxTaskHeight before draw", y);
  const L = Math.max(y, W) + dt;
  v ? p.forEach((N) => {
    const b = a.filter((X) => X.section === N), _ = {
      number: S,
      descr: N,
      section: S,
      width: R,
      padding: O,
      maxHeight: m
    };
    E.debug("sectionNode", _);
    const $ = c.append("g"), T = M.drawNode($, _, S, r);
    E.debug("sectionNode output", T);
    const P = I - g;
    $.attr("transform", `translate(${P}, ${s})`);
    const C = s + T.height + ht;
    b.length > 0 && ut(
      c,
      b,
      S,
      I,
      C,
      y,
      r,
      L,
      !1
    );
    const G = b.length, B = T.height + ht + L * Math.max(G, 1) - (G > 0 ? dt * 2 : 0);
    s += B, S++;
  }) : ut(
    c,
    a,
    S,
    I,
    s,
    y,
    r,
    L,
    !0
  );
  let w = c.node()?.getBBox();
  if (!w)
    throw new Error("bbox not found");
  if (E.debug("bounds", w), f) {
    if (c.append("text").text(f).attr("x", w.width / 2 - h).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 20), w = c.node()?.getBBox(), !w)
      throw new Error("bbox not found");
    E.debug("bounds after title", w);
  }
  const [H] = Bt(r.fontSize), V = (H ?? 16) * 2, F = (H ?? 16) * 0.5 + 20, K = c.append("g").attr("class", "lineWrapper");
  K.append("line").attr("x1", I).attr("y1", d - V).attr("x2", I).attr("y2", w.y + w.height + F).attr("stroke-width", 4).attr("stroke", "black").attr("marker-end", "url(#arrowhead)"), K.lower(), ft(
    void 0,
    c,
    r.timeline?.padding ?? 50,
    r.timeline?.useMaxWidth ?? !1
  );
}, "draw"), ut = /* @__PURE__ */ o(function(e, t, n, i, r, h, c, a, f) {
  for (const p of t) {
    const m = {
      descr: p.task,
      section: n,
      number: n,
      width: Q,
      padding: O,
      maxHeight: h
    };
    E.debug("taskNode", m);
    const y = e.append("g").attr("class", "taskWrapper"), k = M.drawNode(y, m, n, c), s = k.height;
    E.debug("taskHeight after draw", s);
    const d = i - Mt - k.width;
    if (y.attr("transform", `translate(${d}, ${r})`), h = Math.max(h, s), p.events && p.events.length > 0) {
      const l = r, g = i + At;
      ce(e, p.events, n, i, g, l, c);
    }
    r = r + a, f && !c.timeline?.disableMulticolor && n++;
  }
}, "drawTasks"), ce = /* @__PURE__ */ o(function(e, t, n, i, r, h, c) {
  let a = h;
  for (const f of t) {
    const p = {
      descr: f,
      section: n,
      number: n,
      width: at,
      padding: O,
      maxHeight: 0
    };
    E.debug("eventNode", p);
    const m = e.append("g").attr("class", "eventWrapper"), k = M.drawNode(m, p, n, c).height;
    m.attr("transform", `translate(${r}, ${a})`);
    const s = e.append("g").attr("class", "lineWrapper"), d = a + k / 2;
    s.append("line").attr("x1", i).attr("y1", d).attr("x2", r).attr("y2", d).attr("stroke-width", 2).attr("stroke", "black").attr("marker-end", "url(#arrowhead)").attr("stroke-dasharray", "5,5"), a = a + k + Lt;
  }
  return a - h;
}, "drawEvents"), le = {
  setConf: /* @__PURE__ */ o(() => {
  }, "setConf"),
  draw: oe
}, he = /* @__PURE__ */ o((e) => {
  const { theme: t } = gt(), n = t?.includes("dark"), i = t?.includes("color"), r = e.svgId?.replace(/^#/, "") ?? "", h = r ? `url(#${r}-drop-shadow)` : e.dropShadow ?? "none";
  let c = "";
  for (let a = 0; a < e.THEME_COLOR_LIMIT; a++) {
    const f = `${17 - 3 * a}`, p = i ? e.borderColorArray[a] : e.mainBkg, m = i ? e.borderColorArray[a] : e.nodeBorder;
    c += `
    .section-${a - 1} rect,
    .section-${a - 1} path,
    .section-${a - 1} circle {
      fill: ${n && i ? e.mainBkg : p};
      stroke: ${m};
      stroke-width: ${e.strokeWidth};
      filter: ${h};
    }

    .section-${a - 1} text {
      fill: ${e.nodeBorder};
      font-weight: ${e.fontWeight}
    }

    .node-icon-${a - 1} {
      font-size: 40px;
      color: ${e["cScaleLabel" + a]};
    }

    .section-edge-${a - 1} {
      stroke: ${e["cScale" + a]};
    }

    .edge-depth-${a - 1} {
      stroke-width: ${f};
    }

    .section-${a - 1} line {
      stroke: ${e["cScaleInv" + a]};
      stroke-width: 3;
    }

    .lineWrapper line {
      stroke: ${e.nodeBorder};
      stroke-width:${e.strokeWidth}
    }

    .disabled,
    .disabled circle,
    .disabled text {
      fill: ${e.tertiaryColor ?? "lightgray"};
    }

    .disabled text {
      fill: ${e.clusterBorder ?? "#efefef"};
    }
    `;
  }
  return c;
}, "genReduxSections"), de = /* @__PURE__ */ o((e) => {
  let t = "";
  for (let n = 0; n < e.THEME_COLOR_LIMIT; n++)
    e["lineColor" + n] = e["lineColor" + n] || e["cScaleInv" + n], Rt(e["lineColor" + n]) ? e["lineColor" + n] = Ct(e["lineColor" + n], 20) : e["lineColor" + n] = Wt(e["lineColor" + n], 20);
  for (let n = 0; n < e.THEME_COLOR_LIMIT; n++) {
    const i = "" + (17 - 3 * n);
    t += `
    .section-${n - 1} rect, .section-${n - 1} path, .section-${n - 1} circle, .section-${n - 1} path  {
      fill: ${e["cScale" + n]};
    }
    .section-${n - 1} text {
     fill: ${e["cScaleLabel" + n]};
    }
    .node-icon-${n - 1} {
      font-size: 40px;
      color: ${e["cScaleLabel" + n]};
    }
    .section-edge-${n - 1}{
      stroke: ${e["cScale" + n]};
    }
    .edge-depth-${n - 1}{
      stroke-width: ${i};
    }
    .section-${n - 1} line {
      stroke: ${e["cScaleInv" + n]} ;
      stroke-width: 3;
    }

    .lineWrapper line{
      stroke: ${e["cScaleLabel" + n]} ;
    }

    .disabled, .disabled circle, .disabled text {
      fill: ${e.tertiaryColor ?? "lightgray"};
    }
    .disabled text {
      fill: ${e.clusterBorder ?? "#efefef"};
    }
    `;
  }
  return t;
}, "genSections"), ue = /* @__PURE__ */ o((e) => {
  const { theme: t } = gt(), n = t?.includes("redux"), i = t === "neutral", r = e.svgId?.replace(/^#/, "") ?? "";
  let h = "";
  if (e.useGradient && r && e.THEME_COLOR_LIMIT && !i)
    for (let c = 0; c < e.THEME_COLOR_LIMIT; c++)
      h += `
      .section-${c - 1}[data-look="neo"] rect,
      .section-${c - 1}[data-look="neo"] path,
      .section-${c - 1}[data-look="neo"] circle {
        fill: ${e.mainBkg};
        stroke: url(#${r}-gradient);
        stroke-width: 2;
      }
      .section-${c - 1}[data-look="neo"] line {
        stroke: url(#${r}-gradient);
        stroke-width: 2;
      }`;
  return `
  .edge {
    stroke-width: 3;
  }
  ${n ? he(e) : de(e)}
  ${h}
  .section-root rect, .section-root path, .section-root circle  {
    fill: ${e.git0};
  }
  .section-root text {
    fill: ${e.gitBranchLabel0};
  }
  .icon-container {
    height:100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .edge {
    fill: none;
  }
  .eventWrapper  {
   filter: brightness(120%);
  }
`;
}, "getStyles"), ge = ue, pe = {
  setConf: /* @__PURE__ */ o(() => {
  }, "setConf"),
  draw: /* @__PURE__ */ o((e, t, n, i) => (i?.db?.getDirection?.() ?? "LR") === "TD" ? le.draw(e, t, n, i) : re.draw(e, t, n, i), "draw")
}, me = {
  db: yt,
  renderer: pe,
  parser: zt,
  styles: ge
};
export {
  me as diagram
};
