cullmann.io/themes/blowfish/assets/lib/mermaid/utils-aa888deb.js

2611 lines
83 KiB
JavaScript
Raw Normal View History

import { l as g, a as Se, s as Te, g as ke, b as Ee, c as Hi, d as Ne, e as xi, f as Oe } from "./config-e567ef17.js";
import { s as Fe } from "./setupGraphViewbox-a4603a92.js";
import { c as Me } from "./commonDb-4dc3d465.js";
var gi = {};
Object.defineProperty(gi, "__esModule", { value: !0 });
var qi = gi.sanitizeUrl = void 0, Ie = /^([^\w]*)(javascript|data|vbscript)/im, $e = /&#(\w+)(^\w|;)?/g, Pe = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim, je = /^([^:]+):/gm, Le = [".", "/"];
function De(i) {
return Le.indexOf(i[0]) > -1;
}
function Re(i) {
return i.replace($e, function(e, n) {
return String.fromCharCode(n);
});
}
function ze(i) {
var e = Re(i || "").replace(Pe, "").trim();
if (!e)
return "about:blank";
if (De(e))
return e;
var n = e.match(je);
if (!n)
return e;
var t = n[0];
return Ie.test(t) ? "about:blank" : e;
}
qi = gi.sanitizeUrl = ze;
const Ko = Math.abs, Vo = Math.atan2, Xo = Math.cos, Jo = Math.max, Zo = Math.min, Qo = Math.sin, is = Math.sqrt, Ni = 1e-12, mi = Math.PI, Oi = mi / 2, es = 2 * mi;
function ns(i) {
return i > 1 ? 0 : i < -1 ? mi : Math.acos(i);
}
function ts(i) {
return i >= 1 ? Oi : i <= -1 ? -Oi : Math.asin(i);
}
function Gi(i) {
this._context = i;
}
Gi.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._point = 0;
},
lineEnd: function() {
(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e);
break;
case 1:
this._point = 2;
default:
this._context.lineTo(i, e);
break;
}
}
};
function Be(i) {
return new Gi(i);
}
class Ki {
constructor(e, n) {
this._context = e, this._x = n;
}
areaStart() {
this._line = 0;
}
areaEnd() {
this._line = NaN;
}
lineStart() {
this._point = 0;
}
lineEnd() {
(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
}
point(e, n) {
switch (e = +e, n = +n, this._point) {
case 0: {
this._point = 1, this._line ? this._context.lineTo(e, n) : this._context.moveTo(e, n);
break;
}
case 1:
this._point = 2;
default: {
this._x ? this._context.bezierCurveTo(this._x0 = (this._x0 + e) / 2, this._y0, this._x0, n, e, n) : this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + n) / 2, e, this._y0, e, n);
break;
}
}
this._x0 = e, this._y0 = n;
}
}
function Ye(i) {
return new Ki(i, !0);
}
function We(i) {
return new Ki(i, !1);
}
function E() {
}
function K(i, e, n) {
i._context.bezierCurveTo(
(2 * i._x0 + i._x1) / 3,
(2 * i._y0 + i._y1) / 3,
(i._x0 + 2 * i._x1) / 3,
(i._y0 + 2 * i._y1) / 3,
(i._x0 + 4 * i._x1 + e) / 6,
(i._y0 + 4 * i._y1 + n) / 6
);
}
function ri(i) {
this._context = i;
}
ri.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
},
lineEnd: function() {
switch (this._point) {
case 3:
K(this, this._x1, this._y1);
case 2:
this._context.lineTo(this._x1, this._y1);
break;
}
(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e);
break;
case 1:
this._point = 2;
break;
case 2:
this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);
default:
K(this, i, e);
break;
}
this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e;
}
};
function Ue(i) {
return new ri(i);
}
function Vi(i) {
this._context = i;
}
Vi.prototype = {
areaStart: E,
areaEnd: E,
lineStart: function() {
this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0;
},
lineEnd: function() {
switch (this._point) {
case 1: {
this._context.moveTo(this._x2, this._y2), this._context.closePath();
break;
}
case 2: {
this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath();
break;
}
case 3: {
this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4);
break;
}
}
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1, this._x2 = i, this._y2 = e;
break;
case 1:
this._point = 2, this._x3 = i, this._y3 = e;
break;
case 2:
this._point = 3, this._x4 = i, this._y4 = e, this._context.moveTo((this._x0 + 4 * this._x1 + i) / 6, (this._y0 + 4 * this._y1 + e) / 6);
break;
default:
K(this, i, e);
break;
}
this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e;
}
};
function He(i) {
return new Vi(i);
}
function Xi(i) {
this._context = i;
}
Xi.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
},
lineEnd: function() {
(this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1;
break;
case 1:
this._point = 2;
break;
case 2:
this._point = 3;
var n = (this._x0 + 4 * this._x1 + i) / 6, t = (this._y0 + 4 * this._y1 + e) / 6;
this._line ? this._context.lineTo(n, t) : this._context.moveTo(n, t);
break;
case 3:
this._point = 4;
default:
K(this, i, e);
break;
}
this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e;
}
};
function qe(i) {
return new Xi(i);
}
function Ji(i, e) {
this._basis = new ri(i), this._beta = e;
}
Ji.prototype = {
lineStart: function() {
this._x = [], this._y = [], this._basis.lineStart();
},
lineEnd: function() {
var i = this._x, e = this._y, n = i.length - 1;
if (n > 0)
for (var t = i[0], r = e[0], s = i[n] - t, o = e[n] - r, l = -1, a; ++l <= n; )
a = l / n, this._basis.point(
this._beta * i[l] + (1 - this._beta) * (t + a * s),
this._beta * e[l] + (1 - this._beta) * (r + a * o)
);
this._x = this._y = null, this._basis.lineEnd();
},
point: function(i, e) {
this._x.push(+i), this._y.push(+e);
}
};
const Ge = function i(e) {
function n(t) {
return e === 1 ? new ri(t) : new Ji(t, e);
}
return n.beta = function(t) {
return i(+t);
}, n;
}(0.85);
function V(i, e, n) {
i._context.bezierCurveTo(
i._x1 + i._k * (i._x2 - i._x0),
i._y1 + i._k * (i._y2 - i._y0),
i._x2 + i._k * (i._x1 - e),
i._y2 + i._k * (i._y1 - n),
i._x2,
i._y2
);
}
function yi(i, e) {
this._context = i, this._k = (1 - e) / 6;
}
yi.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
},
lineEnd: function() {
switch (this._point) {
case 2:
this._context.lineTo(this._x2, this._y2);
break;
case 3:
V(this, this._x1, this._y1);
break;
}
(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e);
break;
case 1:
this._point = 2, this._x1 = i, this._y1 = e;
break;
case 2:
this._point = 3;
default:
V(this, i, e);
break;
}
this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e;
}
};
const Ke = function i(e) {
function n(t) {
return new yi(t, e);
}
return n.tension = function(t) {
return i(+t);
}, n;
}(0);
function vi(i, e) {
this._context = i, this._k = (1 - e) / 6;
}
vi.prototype = {
areaStart: E,
areaEnd: E,
lineStart: function() {
this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0;
},
lineEnd: function() {
switch (this._point) {
case 1: {
this._context.moveTo(this._x3, this._y3), this._context.closePath();
break;
}
case 2: {
this._context.lineTo(this._x3, this._y3), this._context.closePath();
break;
}
case 3: {
this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
break;
}
}
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1, this._x3 = i, this._y3 = e;
break;
case 1:
this._point = 2, this._context.moveTo(this._x4 = i, this._y4 = e);
break;
case 2:
this._point = 3, this._x5 = i, this._y5 = e;
break;
default:
V(this, i, e);
break;
}
this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e;
}
};
const Ve = function i(e) {
function n(t) {
return new vi(t, e);
}
return n.tension = function(t) {
return i(+t);
}, n;
}(0);
function bi(i, e) {
this._context = i, this._k = (1 - e) / 6;
}
bi.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
},
lineEnd: function() {
(this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1;
break;
case 1:
this._point = 2;
break;
case 2:
this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
break;
case 3:
this._point = 4;
default:
V(this, i, e);
break;
}
this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e;
}
};
const Xe = function i(e) {
function n(t) {
return new bi(t, e);
}
return n.tension = function(t) {
return i(+t);
}, n;
}(0);
function wi(i, e, n) {
var t = i._x1, r = i._y1, s = i._x2, o = i._y2;
if (i._l01_a > Ni) {
var l = 2 * i._l01_2a + 3 * i._l01_a * i._l12_a + i._l12_2a, a = 3 * i._l01_a * (i._l01_a + i._l12_a);
t = (t * l - i._x0 * i._l12_2a + i._x2 * i._l01_2a) / a, r = (r * l - i._y0 * i._l12_2a + i._y2 * i._l01_2a) / a;
}
if (i._l23_a > Ni) {
var h = 2 * i._l23_2a + 3 * i._l23_a * i._l12_a + i._l12_2a, f = 3 * i._l23_a * (i._l23_a + i._l12_a);
s = (s * h + i._x1 * i._l23_2a - e * i._l12_2a) / f, o = (o * h + i._y1 * i._l23_2a - n * i._l12_2a) / f;
}
i._context.bezierCurveTo(t, r, s, o, i._x2, i._y2);
}
function Zi(i, e) {
this._context = i, this._alpha = e;
}
Zi.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
},
lineEnd: function() {
switch (this._point) {
case 2:
this._context.lineTo(this._x2, this._y2);
break;
case 3:
this.point(this._x2, this._y2);
break;
}
(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
if (i = +i, e = +e, this._point) {
var n = this._x2 - i, t = this._y2 - e;
this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + t * t, this._alpha));
}
switch (this._point) {
case 0:
this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e);
break;
case 1:
this._point = 2;
break;
case 2:
this._point = 3;
default:
wi(this, i, e);
break;
}
this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e;
}
};
const Je = function i(e) {
function n(t) {
return e ? new Zi(t, e) : new yi(t, 0);
}
return n.alpha = function(t) {
return i(+t);
}, n;
}(0.5);
function Qi(i, e) {
this._context = i, this._alpha = e;
}
Qi.prototype = {
areaStart: E,
areaEnd: E,
lineStart: function() {
this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
},
lineEnd: function() {
switch (this._point) {
case 1: {
this._context.moveTo(this._x3, this._y3), this._context.closePath();
break;
}
case 2: {
this._context.lineTo(this._x3, this._y3), this._context.closePath();
break;
}
case 3: {
this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
break;
}
}
},
point: function(i, e) {
if (i = +i, e = +e, this._point) {
var n = this._x2 - i, t = this._y2 - e;
this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + t * t, this._alpha));
}
switch (this._point) {
case 0:
this._point = 1, this._x3 = i, this._y3 = e;
break;
case 1:
this._point = 2, this._context.moveTo(this._x4 = i, this._y4 = e);
break;
case 2:
this._point = 3, this._x5 = i, this._y5 = e;
break;
default:
wi(this, i, e);
break;
}
this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e;
}
};
const Ze = function i(e) {
function n(t) {
return e ? new Qi(t, e) : new vi(t, 0);
}
return n.alpha = function(t) {
return i(+t);
}, n;
}(0.5);
function ie(i, e) {
this._context = i, this._alpha = e;
}
ie.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
},
lineEnd: function() {
(this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
if (i = +i, e = +e, this._point) {
var n = this._x2 - i, t = this._y2 - e;
this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + t * t, this._alpha));
}
switch (this._point) {
case 0:
this._point = 1;
break;
case 1:
this._point = 2;
break;
case 2:
this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
break;
case 3:
this._point = 4;
default:
wi(this, i, e);
break;
}
this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e;
}
};
const Qe = function i(e) {
function n(t) {
return e ? new ie(t, e) : new bi(t, 0);
}
return n.alpha = function(t) {
return i(+t);
}, n;
}(0.5);
function ee(i) {
this._context = i;
}
ee.prototype = {
areaStart: E,
areaEnd: E,
lineStart: function() {
this._point = 0;
},
lineEnd: function() {
this._point && this._context.closePath();
},
point: function(i, e) {
i = +i, e = +e, this._point ? this._context.lineTo(i, e) : (this._point = 1, this._context.moveTo(i, e));
}
};
function en(i) {
return new ee(i);
}
function Fi(i) {
return i < 0 ? -1 : 1;
}
function Mi(i, e, n) {
var t = i._x1 - i._x0, r = e - i._x1, s = (i._y1 - i._y0) / (t || r < 0 && -0), o = (n - i._y1) / (r || t < 0 && -0), l = (s * r + o * t) / (t + r);
return (Fi(s) + Fi(o)) * Math.min(Math.abs(s), Math.abs(o), 0.5 * Math.abs(l)) || 0;
}
function Ii(i, e) {
var n = i._x1 - i._x0;
return n ? (3 * (i._y1 - i._y0) / n - e) / 2 : e;
}
function ci(i, e, n) {
var t = i._x0, r = i._y0, s = i._x1, o = i._y1, l = (s - t) / 3;
i._context.bezierCurveTo(t + l, r + l * e, s - l, o - l * n, s, o);
}
function X(i) {
this._context = i;
}
X.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0;
},
lineEnd: function() {
switch (this._point) {
case 2:
this._context.lineTo(this._x1, this._y1);
break;
case 3:
ci(this, this._t0, Ii(this, this._t0));
break;
}
(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(i, e) {
var n = NaN;
if (i = +i, e = +e, !(i === this._x1 && e === this._y1)) {
switch (this._point) {
case 0:
this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e);
break;
case 1:
this._point = 2;
break;
case 2:
this._point = 3, ci(this, Ii(this, n = Mi(this, i, e)), n);
break;
default:
ci(this, this._t0, n = Mi(this, i, e));
break;
}
this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e, this._t0 = n;
}
}
};
function ne(i) {
this._context = new te(i);
}
(ne.prototype = Object.create(X.prototype)).point = function(i, e) {
X.prototype.point.call(this, e, i);
};
function te(i) {
this._context = i;
}
te.prototype = {
moveTo: function(i, e) {
this._context.moveTo(e, i);
},
closePath: function() {
this._context.closePath();
},
lineTo: function(i, e) {
this._context.lineTo(e, i);
},
bezierCurveTo: function(i, e, n, t, r, s) {
this._context.bezierCurveTo(e, i, t, n, s, r);
}
};
function nn(i) {
return new X(i);
}
function tn(i) {
return new ne(i);
}
function re(i) {
this._context = i;
}
re.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x = [], this._y = [];
},
lineEnd: function() {
var i = this._x, e = this._y, n = i.length;
if (n)
if (this._line ? this._context.lineTo(i[0], e[0]) : this._context.moveTo(i[0], e[0]), n === 2)
this._context.lineTo(i[1], e[1]);
else
for (var t = $i(i), r = $i(e), s = 0, o = 1; o < n; ++s, ++o)
this._context.bezierCurveTo(t[0][s], r[0][s], t[1][s], r[1][s], i[o], e[o]);
(this._line || this._line !== 0 && n === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null;
},
point: function(i, e) {
this._x.push(+i), this._y.push(+e);
}
};
function $i(i) {
var e, n = i.length - 1, t, r = new Array(n), s = new Array(n), o = new Array(n);
for (r[0] = 0, s[0] = 2, o[0] = i[0] + 2 * i[1], e = 1; e < n - 1; ++e)
r[e] = 1, s[e] = 4, o[e] = 4 * i[e] + 2 * i[e + 1];
for (r[n - 1] = 2, s[n - 1] = 7, o[n - 1] = 8 * i[n - 1] + i[n], e = 1; e < n; ++e)
t = r[e] / s[e - 1], s[e] -= t, o[e] -= t * o[e - 1];
for (r[n - 1] = o[n - 1] / s[n - 1], e = n - 2; e >= 0; --e)
r[e] = (o[e] - r[e + 1]) / s[e];
for (s[n - 1] = (i[n] + r[n - 1]) / 2, e = 0; e < n - 1; ++e)
s[e] = 2 * i[e + 1] - r[e + 1];
return [r, s];
}
function rn(i) {
return new re(i);
}
function oi(i, e) {
this._context = i, this._t = e;
}
oi.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._x = this._y = NaN, this._point = 0;
},
lineEnd: function() {
0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line);
},
point: function(i, e) {
switch (i = +i, e = +e, this._point) {
case 0:
this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e);
break;
case 1:
this._point = 2;
default: {
if (this._t <= 0)
this._context.lineTo(this._x, e), this._context.lineTo(i, e);
else {
var n = this._x * (1 - this._t) + i * this._t;
this._context.lineTo(n, this._y), this._context.lineTo(n, e);
}
break;
}
}
this._x = i, this._y = e;
}
};
function on(i) {
return new oi(i, 0.5);
}
function sn(i) {
return new oi(i, 0);
}
function ln(i) {
return new oi(i, 1);
}
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
function oe(i) {
return typeof i > "u" || i === null;
}
function an(i) {
return typeof i == "object" && i !== null;
}
function cn(i) {
return Array.isArray(i) ? i : oe(i) ? [] : [i];
}
function hn(i, e) {
var n, t, r, s;
if (e)
for (s = Object.keys(e), n = 0, t = s.length; n < t; n += 1)
r = s[n], i[r] = e[r];
return i;
}
function un(i, e) {
var n = "", t;
for (t = 0; t < e; t += 1)
n += i;
return n;
}
function fn(i) {
return i === 0 && Number.NEGATIVE_INFINITY === 1 / i;
}
var _n = oe, pn = an, dn = cn, xn = un, gn = fn, mn = hn, w = {
isNothing: _n,
isObject: pn,
toArray: dn,
repeat: xn,
isNegativeZero: gn,
extend: mn
};
function se(i, e) {
var n = "", t = i.reason || "(unknown reason)";
return i.mark ? (i.mark.name && (n += 'in "' + i.mark.name + '" '), n += "(" + (i.mark.line + 1) + ":" + (i.mark.column + 1) + ")", !e && i.mark.snippet && (n += `
` + i.mark.snippet), t + " " + n) : t;
}
function B(i, e) {
Error.call(this), this.name = "YAMLException", this.reason = i, this.mark = e, this.message = se(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack || "";
}
B.prototype = Object.create(Error.prototype);
B.prototype.constructor = B;
B.prototype.toString = function(e) {
return this.name + ": " + se(this, e);
};
var T = B;
function hi(i, e, n, t, r) {
var s = "", o = "", l = Math.floor(r / 2) - 1;
return t - e > l && (s = " ... ", e = t - l + s.length), n - t > l && (o = " ...", n = t + l - o.length), {
str: s + i.slice(e, n).replace(/\t/g, "→") + o,
pos: t - e + s.length
// relative position
};
}
function ui(i, e) {
return w.repeat(" ", e - i.length) + i;
}
function yn(i, e) {
if (e = Object.create(e || null), !i.buffer)
return null;
e.maxLength || (e.maxLength = 79), typeof e.indent != "number" && (e.indent = 1), typeof e.linesBefore != "number" && (e.linesBefore = 3), typeof e.linesAfter != "number" && (e.linesAfter = 2);
for (var n = /\r?\n|\r|\0/g, t = [0], r = [], s, o = -1; s = n.exec(i.buffer); )
r.push(s.index), t.push(s.index + s[0].length), i.position <= s.index && o < 0 && (o = t.length - 2);
o < 0 && (o = t.length - 1);
var l = "", a, h, f = Math.min(i.line + e.linesAfter, r.length).toString().length, c = e.maxLength - (e.indent + f + 3);
for (a = 1; a <= e.linesBefore && !(o - a < 0); a++)
h = hi(
i.buffer,
t[o - a],
r[o - a],
i.position - (t[o] - t[o - a]),
c
), l = w.repeat(" ", e.indent) + ui((i.line - a + 1).toString(), f) + " | " + h.str + `
` + l;
for (h = hi(i.buffer, t[o], r[o], i.position, c), l += w.repeat(" ", e.indent) + ui((i.line + 1).toString(), f) + " | " + h.str + `
`, l += w.repeat("-", e.indent + f + 3 + h.pos) + `^
`, a = 1; a <= e.linesAfter && !(o + a >= r.length); a++)
h = hi(
i.buffer,
t[o + a],
r[o + a],
i.position - (t[o] - t[o + a]),
c
), l += w.repeat(" ", e.indent) + ui((i.line + a + 1).toString(), f) + " | " + h.str + `
`;
return l.replace(/\n$/, "");
}
var vn = yn, bn = [
"kind",
"multi",
"resolve",
"construct",
"instanceOf",
"predicate",
"represent",
"representName",
"defaultStyle",
"styleAliases"
], wn = [
"scalar",
"sequence",
"mapping"
];
function Cn(i) {
var e = {};
return i !== null && Object.keys(i).forEach(function(n) {
i[n].forEach(function(t) {
e[String(t)] = n;
});
}), e;
}
function An(i, e) {
if (e = e || {}, Object.keys(e).forEach(function(n) {
if (bn.indexOf(n) === -1)
throw new T('Unknown option "' + n + '" is met in definition of "' + i + '" YAML type.');
}), this.options = e, this.tag = i, this.kind = e.kind || null, this.resolve = e.resolve || function() {
return !0;
}, this.construct = e.construct || function(n) {
return n;
}, this.instanceOf = e.instanceOf || null, this.predicate = e.predicate || null, this.represent = e.represent || null, this.representName = e.representName || null, this.defaultStyle = e.defaultStyle || null, this.multi = e.multi || !1, this.styleAliases = Cn(e.styleAliases || null), wn.indexOf(this.kind) === -1)
throw new T('Unknown kind "' + this.kind + '" is specified for "' + i + '" YAML type.');
}
var b = An;
function Pi(i, e) {
var n = [];
return i[e].forEach(function(t) {
var r = n.length;
n.forEach(function(s, o) {
s.tag === t.tag && s.kind === t.kind && s.multi === t.multi && (r = o);
}), n[r] = t;
}), n;
}
function Sn() {
var i = {
scalar: {},
sequence: {},
mapping: {},
fallback: {},
multi: {
scalar: [],
sequence: [],
mapping: [],
fallback: []
}
}, e, n;
function t(r) {
r.multi ? (i.multi[r.kind].push(r), i.multi.fallback.push(r)) : i[r.kind][r.tag] = i.fallback[r.tag] = r;
}
for (e = 0, n = arguments.length; e < n; e += 1)
arguments[e].forEach(t);
return i;
}
function di(i) {
return this.extend(i);
}
di.prototype.extend = function(e) {
var n = [], t = [];
if (e instanceof b)
t.push(e);
else if (Array.isArray(e))
t = t.concat(e);
else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit)))
e.implicit && (n = n.concat(e.implicit)), e.explicit && (t = t.concat(e.explicit));
else
throw new T("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
n.forEach(function(s) {
if (!(s instanceof b))
throw new T("Specified list of YAML types (or a single Type object) contains a non-Type object.");
if (s.loadKind && s.loadKind !== "scalar")
throw new T("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
if (s.multi)
throw new T("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
}), t.forEach(function(s) {
if (!(s instanceof b))
throw new T("Specified list of YAML types (or a single Type object) contains a non-Type object.");
});
var r = Object.create(di.prototype);
return r.implicit = (this.implicit || []).concat(n), r.explicit = (this.explicit || []).concat(t), r.compiledImplicit = Pi(r, "implicit"), r.compiledExplicit = Pi(r, "explicit"), r.compiledTypeMap = Sn(r.compiledImplicit, r.compiledExplicit), r;
};
var Tn = di, kn = new b("tag:yaml.org,2002:str", {
kind: "scalar",
construct: function(i) {
return i !== null ? i : "";
}
}), En = new b("tag:yaml.org,2002:seq", {
kind: "sequence",
construct: function(i) {
return i !== null ? i : [];
}
}), Nn = new b("tag:yaml.org,2002:map", {
kind: "mapping",
construct: function(i) {
return i !== null ? i : {};
}
}), le = new Tn({
explicit: [
kn,
En,
Nn
]
});
function On(i) {
if (i === null)
return !0;
var e = i.length;
return e === 1 && i === "~" || e === 4 && (i === "null" || i === "Null" || i === "NULL");
}
function Fn() {
return null;
}
function Mn(i) {
return i === null;
}
var In = new b("tag:yaml.org,2002:null", {
kind: "scalar",
resolve: On,
construct: Fn,
predicate: Mn,
represent: {
canonical: function() {
return "~";
},
lowercase: function() {
return "null";
},
uppercase: function() {
return "NULL";
},
camelcase: function() {
return "Null";
},
empty: function() {
return "";
}
},
defaultStyle: "lowercase"
});
function $n(i) {
if (i === null)
return !1;
var e = i.length;
return e === 4 && (i === "true" || i === "True" || i === "TRUE") || e === 5 && (i === "false" || i === "False" || i === "FALSE");
}
function Pn(i) {
return i === "true" || i === "True" || i === "TRUE";
}
function jn(i) {
return Object.prototype.toString.call(i) === "[object Boolean]";
}
var Ln = new b("tag:yaml.org,2002:bool", {
kind: "scalar",
resolve: $n,
construct: Pn,
predicate: jn,
represent: {
lowercase: function(i) {
return i ? "true" : "false";
},
uppercase: function(i) {
return i ? "TRUE" : "FALSE";
},
camelcase: function(i) {
return i ? "True" : "False";
}
},
defaultStyle: "lowercase"
});
function Dn(i) {
return 48 <= i && i <= 57 || 65 <= i && i <= 70 || 97 <= i && i <= 102;
}
function Rn(i) {
return 48 <= i && i <= 55;
}
function zn(i) {
return 48 <= i && i <= 57;
}
function Bn(i) {
if (i === null)
return !1;
var e = i.length, n = 0, t = !1, r;
if (!e)
return !1;
if (r = i[n], (r === "-" || r === "+") && (r = i[++n]), r === "0") {
if (n + 1 === e)
return !0;
if (r = i[++n], r === "b") {
for (n++; n < e; n++)
if (r = i[n], r !== "_") {
if (r !== "0" && r !== "1")
return !1;
t = !0;
}
return t && r !== "_";
}
if (r === "x") {
for (n++; n < e; n++)
if (r = i[n], r !== "_") {
if (!Dn(i.charCodeAt(n)))
return !1;
t = !0;
}
return t && r !== "_";
}
if (r === "o") {
for (n++; n < e; n++)
if (r = i[n], r !== "_") {
if (!Rn(i.charCodeAt(n)))
return !1;
t = !0;
}
return t && r !== "_";
}
}
if (r === "_")
return !1;
for (; n < e; n++)
if (r = i[n], r !== "_") {
if (!zn(i.charCodeAt(n)))
return !1;
t = !0;
}
return !(!t || r === "_");
}
function Yn(i) {
var e = i, n = 1, t;
if (e.indexOf("_") !== -1 && (e = e.replace(/_/g, "")), t = e[0], (t === "-" || t === "+") && (t === "-" && (n = -1), e = e.slice(1), t = e[0]), e === "0")
return 0;
if (t === "0") {
if (e[1] === "b")
return n * parseInt(e.slice(2), 2);
if (e[1] === "x")
return n * parseInt(e.slice(2), 16);
if (e[1] === "o")
return n * parseInt(e.slice(2), 8);
}
return n * parseInt(e, 10);
}
function Wn(i) {
return Object.prototype.toString.call(i) === "[object Number]" && i % 1 === 0 && !w.isNegativeZero(i);
}
var Un = new b("tag:yaml.org,2002:int", {
kind: "scalar",
resolve: Bn,
construct: Yn,
predicate: Wn,
represent: {
binary: function(i) {
return i >= 0 ? "0b" + i.toString(2) : "-0b" + i.toString(2).slice(1);
},
octal: function(i) {
return i >= 0 ? "0o" + i.toString(8) : "-0o" + i.toString(8).slice(1);
},
decimal: function(i) {
return i.toString(10);
},
/* eslint-disable max-len */
hexadecimal: function(i) {
return i >= 0 ? "0x" + i.toString(16).toUpperCase() : "-0x" + i.toString(16).toUpperCase().slice(1);
}
},
defaultStyle: "decimal",
styleAliases: {
binary: [2, "bin"],
octal: [8, "oct"],
decimal: [10, "dec"],
hexadecimal: [16, "hex"]
}
}), Hn = new RegExp(
// 2.5e4, 2.5 and integers
"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
);
function qn(i) {
return !(i === null || !Hn.test(i) || // Quick hack to not allow integers end with `_`
// Probably should update regexp & check speed
i[i.length - 1] === "_");
}
function Gn(i) {
var e, n;
return e = i.replace(/_/g, "").toLowerCase(), n = e[0] === "-" ? -1 : 1, "+-".indexOf(e[0]) >= 0 && (e = e.slice(1)), e === ".inf" ? n === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY : e === ".nan" ? NaN : n * parseFloat(e, 10);
}
var Kn = /^[-+]?[0-9]+e/;
function Vn(i, e) {
var n;
if (isNaN(i))
switch (e) {
case "lowercase":
return ".nan";
case "uppercase":
return ".NAN";
case "camelcase":
return ".NaN";
}
else if (Number.POSITIVE_INFINITY === i)
switch (e) {
case "lowercase":
return ".inf";
case "uppercase":
return ".INF";
case "camelcase":
return ".Inf";
}
else if (Number.NEGATIVE_INFINITY === i)
switch (e) {
case "lowercase":
return "-.inf";
case "uppercase":
return "-.INF";
case "camelcase":
return "-.Inf";
}
else if (w.isNegativeZero(i))
return "-0.0";
return n = i.toString(10), Kn.test(n) ? n.replace("e", ".e") : n;
}
function Xn(i) {
return Object.prototype.toString.call(i) === "[object Number]" && (i % 1 !== 0 || w.isNegativeZero(i));
}
var Jn = new b("tag:yaml.org,2002:float", {
kind: "scalar",
resolve: qn,
construct: Gn,
predicate: Xn,
represent: Vn,
defaultStyle: "lowercase"
}), Zn = le.extend({
implicit: [
In,
Ln,
Un,
Jn
]
}), Qn = Zn, ae = new RegExp(
"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
), ce = new RegExp(
"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
);
function it(i) {
return i === null ? !1 : ae.exec(i) !== null || ce.exec(i) !== null;
}
function et(i) {
var e, n, t, r, s, o, l, a = 0, h = null, f, c, p;
if (e = ae.exec(i), e === null && (e = ce.exec(i)), e === null)
throw new Error("Date resolve error");
if (n = +e[1], t = +e[2] - 1, r = +e[3], !e[4])
return new Date(Date.UTC(n, t, r));
if (s = +e[4], o = +e[5], l = +e[6], e[7]) {
for (a = e[7].slice(0, 3); a.length < 3; )
a += "0";
a = +a;
}
return e[9] && (f = +e[10], c = +(e[11] || 0), h = (f * 60 + c) * 6e4, e[9] === "-" && (h = -h)), p = new Date(Date.UTC(n, t, r, s, o, l, a)), h && p.setTime(p.getTime() - h), p;
}
function nt(i) {
return i.toISOString();
}
var tt = new b("tag:yaml.org,2002:timestamp", {
kind: "scalar",
resolve: it,
construct: et,
instanceOf: Date,
represent: nt
});
function rt(i) {
return i === "<<" || i === null;
}
var ot = new b("tag:yaml.org,2002:merge", {
kind: "scalar",
resolve: rt
}), Ci = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
\r`;
function st(i) {
if (i === null)
return !1;
var e, n, t = 0, r = i.length, s = Ci;
for (n = 0; n < r; n++)
if (e = s.indexOf(i.charAt(n)), !(e > 64)) {
if (e < 0)
return !1;
t += 6;
}
return t % 8 === 0;
}
function lt(i) {
var e, n, t = i.replace(/[\r\n=]/g, ""), r = t.length, s = Ci, o = 0, l = [];
for (e = 0; e < r; e++)
e % 4 === 0 && e && (l.push(o >> 16 & 255), l.push(o >> 8 & 255), l.push(o & 255)), o = o << 6 | s.indexOf(t.charAt(e));
return n = r % 4 * 6, n === 0 ? (l.push(o >> 16 & 255), l.push(o >> 8 & 255), l.push(o & 255)) : n === 18 ? (l.push(o >> 10 & 255), l.push(o >> 2 & 255)) : n === 12 && l.push(o >> 4 & 255), new Uint8Array(l);
}
function at(i) {
var e = "", n = 0, t, r, s = i.length, o = Ci;
for (t = 0; t < s; t++)
t % 3 === 0 && t && (e += o[n >> 18 & 63], e += o[n >> 12 & 63], e += o[n >> 6 & 63], e += o[n & 63]), n = (n << 8) + i[t];
return r = s % 3, r === 0 ? (e += o[n >> 18 & 63], e += o[n >> 12 & 63], e += o[n >> 6 & 63], e += o[n & 63]) : r === 2 ? (e += o[n >> 10 & 63], e += o[n >> 4 & 63], e += o[n << 2 & 63], e += o[64]) : r === 1 && (e += o[n >> 2 & 63], e += o[n << 4 & 63], e += o[64], e += o[64]), e;
}
function ct(i) {
return Object.prototype.toString.call(i) === "[object Uint8Array]";
}
var ht = new b("tag:yaml.org,2002:binary", {
kind: "scalar",
resolve: st,
construct: lt,
predicate: ct,
represent: at
}), ut = Object.prototype.hasOwnProperty, ft = Object.prototype.toString;
function _t(i) {
if (i === null)
return !0;
var e = [], n, t, r, s, o, l = i;
for (n = 0, t = l.length; n < t; n += 1) {
if (r = l[n], o = !1, ft.call(r) !== "[object Object]")
return !1;
for (s in r)
if (ut.call(r, s))
if (!o)
o = !0;
else
return !1;
if (!o)
return !1;
if (e.indexOf(s) === -1)
e.push(s);
else
return !1;
}
return !0;
}
function pt(i) {
return i !== null ? i : [];
}
var dt = new b("tag:yaml.org,2002:omap", {
kind: "sequence",
resolve: _t,
construct: pt
}), xt = Object.prototype.toString;
function gt(i) {
if (i === null)
return !0;
var e, n, t, r, s, o = i;
for (s = new Array(o.length), e = 0, n = o.length; e < n; e += 1) {
if (t = o[e], xt.call(t) !== "[object Object]" || (r = Object.keys(t), r.length !== 1))
return !1;
s[e] = [r[0], t[r[0]]];
}
return !0;
}
function mt(i) {
if (i === null)
return [];
var e, n, t, r, s, o = i;
for (s = new Array(o.length), e = 0, n = o.length; e < n; e += 1)
t = o[e], r = Object.keys(t), s[e] = [r[0], t[r[0]]];
return s;
}
var yt = new b("tag:yaml.org,2002:pairs", {
kind: "sequence",
resolve: gt,
construct: mt
}), vt = Object.prototype.hasOwnProperty;
function bt(i) {
if (i === null)
return !0;
var e, n = i;
for (e in n)
if (vt.call(n, e) && n[e] !== null)
return !1;
return !0;
}
function wt(i) {
return i !== null ? i : {};
}
var Ct = new b("tag:yaml.org,2002:set", {
kind: "mapping",
resolve: bt,
construct: wt
}), At = Qn.extend({
implicit: [
tt,
ot
],
explicit: [
ht,
dt,
yt,
Ct
]
}), N = Object.prototype.hasOwnProperty, J = 1, he = 2, ue = 3, Z = 4, fi = 1, St = 2, ji = 3, Tt = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, kt = /[\x85\u2028\u2029]/, Et = /[,\[\]\{\}]/, fe = /^(?:!|!!|![a-z\-]+!)$/i, _e = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
function Li(i) {
return Object.prototype.toString.call(i);
}
function S(i) {
return i === 10 || i === 13;
}
function F(i) {
return i === 9 || i === 32;
}
function A(i) {
return i === 9 || i === 32 || i === 10 || i === 13;
}
function P(i) {
return i === 44 || i === 91 || i === 93 || i === 123 || i === 125;
}
function Nt(i) {
var e;
return 48 <= i && i <= 57 ? i - 48 : (e = i | 32, 97 <= e && e <= 102 ? e - 97 + 10 : -1);
}
function Ot(i) {
return i === 120 ? 2 : i === 117 ? 4 : i === 85 ? 8 : 0;
}
function Ft(i) {
return 48 <= i && i <= 57 ? i - 48 : -1;
}
function Di(i) {
return i === 48 ? "\0" : i === 97 ? "\x07" : i === 98 ? "\b" : i === 116 || i === 9 ? " " : i === 110 ? `
` : i === 118 ? "\v" : i === 102 ? "\f" : i === 114 ? "\r" : i === 101 ? "\x1B" : i === 32 ? " " : i === 34 ? '"' : i === 47 ? "/" : i === 92 ? "\\" : i === 78 ? "…" : i === 95 ? " " : i === 76 ? "\u2028" : i === 80 ? "\u2029" : "";
}
function Mt(i) {
return i <= 65535 ? String.fromCharCode(i) : String.fromCharCode(
(i - 65536 >> 10) + 55296,
(i - 65536 & 1023) + 56320
);
}
var pe = new Array(256), de = new Array(256);
for (var $ = 0; $ < 256; $++)
pe[$] = Di($) ? 1 : 0, de[$] = Di($);
function It(i, e) {
this.input = i, this.filename = e.filename || null, this.schema = e.schema || At, this.onWarning = e.onWarning || null, this.legacy = e.legacy || !1, this.json = e.json || !1, this.listener = e.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = i.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = [];
}
function xe(i, e) {
var n = {
name: i.filename,
buffer: i.input.slice(0, -1),
// omit trailing \0
position: i.position,
line: i.line,
column: i.position - i.lineStart
};
return n.snippet = vn(n), new T(e, n);
}
function _(i, e) {
throw xe(i, e);
}
function Q(i, e) {
i.onWarning && i.onWarning.call(null, xe(i, e));
}
var Ri = {
YAML: function(e, n, t) {
var r, s, o;
e.version !== null && _(e, "duplication of %YAML directive"), t.length !== 1 && _(e, "YAML directive accepts exactly one argument"), r = /^([0-9]+)\.([0-9]+)$/.exec(t[0]), r === null && _(e, "ill-formed argument of the YAML directive"), s = parseInt(r[1], 10), o = parseInt(r[2], 10), s !== 1 && _(e, "unacceptable YAML version of the document"), e.version = t[0], e.checkLineBreaks = o < 2, o !== 1 && o !== 2 && Q(e, "unsupported YAML version of the document");
},
TAG: function(e, n, t) {
var r, s;
t.length !== 2 && _(e, "TAG directive accepts exactly two arguments"), r = t[0], s = t[1], fe.test(r) || _(e, "ill-formed tag handle (first argument) of the TAG directive"), N.call(e.tagMap, r) && _(e, 'there is a previously declared suffix for "' + r + '" tag handle'), _e.test(s) || _(e, "ill-formed tag prefix (second argument) of the TAG directive");
try {
s = decodeURIComponent(s);
} catch {
_(e, "tag prefix is malformed: " + s);
}
e.tagMap[r] = s;
}
};
function k(i, e, n, t) {
var r, s, o, l;
if (e < n) {
if (l = i.input.slice(e, n), t)
for (r = 0, s = l.length; r < s; r += 1)
o = l.charCodeAt(r), o === 9 || 32 <= o && o <= 1114111 || _(i, "expected valid JSON character");
else
Tt.test(l) && _(i, "the stream contains non-printable characters");
i.result += l;
}
}
function zi(i, e, n, t) {
var r, s, o, l;
for (w.isObject(n) || _(i, "cannot merge mappings; the provided source object is unacceptable"), r = Object.keys(n), o = 0, l = r.length; o < l; o += 1)
s = r[o], N.call(e, s) || (e[s] = n[s], t[s] = !0);
}
function j(i, e, n, t, r, s, o, l, a) {
var h, f;
if (Array.isArray(r))
for (r = Array.prototype.slice.call(r), h = 0, f = r.length; h < f; h += 1)
Array.isArray(r[h]) && _(i, "nested arrays are not supported inside keys"), typeof r == "object" && Li(r[h]) === "[object Object]" && (r[h] = "[object Object]");
if (typeof r == "object" && Li(r) === "[object Object]" && (r = "[object Object]"), r = String(r), e === null && (e = {}), t === "tag:yaml.org,2002:merge")
if (Array.isArray(s))
for (h = 0, f = s.length; h < f; h += 1)
zi(i, e, s[h], n);
else
zi(i, e, s, n);
else
!i.json && !N.call(n, r) && N.call(e, r) && (i.line = o || i.line, i.lineStart = l || i.lineStart, i.position = a || i.position, _(i, "duplicated mapping key")), r === "__proto__" ? Object.defineProperty(e, r, {
configurable: !0,
enumerable: !0,
writable: !0,
value: s
}) : e[r] = s, delete n[r];
return e;
}
function Ai(i) {
var e;
e = i.input.charCodeAt(i.position), e === 10 ? i.position++ : e === 13 ? (i.position++, i.input.charCodeAt(i.position) === 10 && i.position++) : _(i, "a line break is expected"), i.line += 1, i.lineStart = i.position, i.firstTabInLine = -1;
}
function v(i, e, n) {
for (var t = 0, r = i.input.charCodeAt(i.position); r !== 0; ) {
for (; F(r); )
r === 9 && i.firstTabInLine === -1 && (i.firstTabInLine = i.position), r = i.input.charCodeAt(++i.position);
if (e && r === 35)
do
r = i.input.charCodeAt(++i.position);
while (r !== 10 && r !== 13 && r !== 0);
if (S(r))
for (Ai(i), r = i.input.charCodeAt(i.position), t++, i.lineIndent = 0; r === 32; )
i.lineIndent++, r = i.input.charCodeAt(++i.position);
else
break;
}
return n !== -1 && t !== 0 && i.lineIndent < n && Q(i, "deficient indentation"), t;
}
function si(i) {
var e = i.position, n;
return n = i.input.charCodeAt(e), !!((n === 45 || n === 46) && n === i.input.charCodeAt(e + 1) && n === i.input.charCodeAt(e + 2) && (e += 3, n = i.input.charCodeAt(e), n === 0 || A(n)));
}
function Si(i, e) {
e === 1 ? i.result += " " : e > 1 && (i.result += w.repeat(`
`, e - 1));
}
function $t(i, e, n) {
var t, r, s, o, l, a, h, f, c = i.kind, p = i.result, u;
if (u = i.input.charCodeAt(i.position), A(u) || P(u) || u === 35 || u === 38 || u === 42 || u === 33 || u === 124 || u === 62 || u === 39 || u === 34 || u === 37 || u === 64 || u === 96 || (u === 63 || u === 45) && (r = i.input.charCodeAt(i.position + 1), A(r) || n && P(r)))
return !1;
for (i.kind = "scalar", i.result = "", s = o = i.position, l = !1; u !== 0; ) {
if (u === 58) {
if (r = i.input.charCodeAt(i.position + 1), A(r) || n && P(r))
break;
} else if (u === 35) {
if (t = i.input.charCodeAt(i.position - 1), A(t))
break;
} else {
if (i.position === i.lineStart && si(i) || n && P(u))
break;
if (S(u))
if (a = i.line, h = i.lineStart, f = i.lineIndent, v(i, !1, -1), i.lineIndent >= e) {
l = !0, u = i.input.charCodeAt(i.position);
continue;
} else {
i.position = o, i.line = a, i.lineStart = h, i.lineIndent = f;
break;
}
}
l && (k(i, s, o, !1), Si(i, i.line - a), s = o = i.position, l = !1), F(u) || (o = i.position + 1), u = i.input.charCodeAt(++i.position);
}
return k(i, s, o, !1), i.result ? !0 : (i.kind = c, i.result = p, !1);
}
function Pt(i, e) {
var n, t, r;
if (n = i.input.charCodeAt(i.position), n !== 39)
return !1;
for (i.kind = "scalar", i.result = "", i.position++, t = r = i.position; (n = i.input.charCodeAt(i.position)) !== 0; )
if (n === 39)
if (k(i, t, i.position, !0), n = i.input.charCodeAt(++i.position), n === 39)
t = i.position, i.position++, r = i.position;
else
return !0;
else
S(n) ? (k(i, t, r, !0), Si(i, v(i, !1, e)), t = r = i.position) : i.position === i.lineStart && si(i) ? _(i, "unexpected end of the document within a single quoted scalar") : (i.position++, r = i.position);
_(i, "unexpected end of the stream within a single quoted scalar");
}
function jt(i, e) {
var n, t, r, s, o, l;
if (l = i.input.charCodeAt(i.position), l !== 34)
return !1;
for (i.kind = "scalar", i.result = "", i.position++, n = t = i.position; (l = i.input.charCodeAt(i.position)) !== 0; ) {
if (l === 34)
return k(i, n, i.position, !0), i.position++, !0;
if (l === 92) {
if (k(i, n, i.position, !0), l = i.input.charCodeAt(++i.position), S(l))
v(i, !1, e);
else if (l < 256 && pe[l])
i.result += de[l], i.position++;
else if ((o = Ot(l)) > 0) {
for (r = o, s = 0; r > 0; r--)
l = i.input.charCodeAt(++i.position), (o = Nt(l)) >= 0 ? s = (s << 4) + o : _(i, "expected hexadecimal character");
i.result += Mt(s), i.position++;
} else
_(i, "unknown escape sequence");
n = t = i.position;
} else
S(l) ? (k(i, n, t, !0), Si(i, v(i, !1, e)), n = t = i.position) : i.position === i.lineStart && si(i) ? _(i, "unexpected end of the document within a double quoted scalar") : (i.position++, t = i.position);
}
_(i, "unexpected end of the stream within a double quoted scalar");
}
function Lt(i, e) {
var n = !0, t, r, s, o = i.tag, l, a = i.anchor, h, f, c, p, u, x = /* @__PURE__ */ Object.create(null), y, m, C, d;
if (d = i.input.charCodeAt(i.position), d === 91)
f = 93, u = !1, l = [];
else if (d === 123)
f = 125, u = !0, l = {};
else
return !1;
for (i.anchor !== null && (i.anchorMap[i.anchor] = l), d = i.input.charCodeAt(++i.position); d !== 0; ) {
if (v(i, !0, e), d = i.input.charCodeAt(i.position), d === f)
return i.position++, i.tag = o, i.anchor = a, i.kind = u ? "mapping" : "sequence", i.result = l, !0;
n ? d === 44 && _(i, "expected the node content, but found ','") : _(i, "missed comma between flow collection entries"), m = y = C = null, c = p = !1, d === 63 && (h = i.input.charCodeAt(i.position + 1), A(h) && (c = p = !0, i.position++, v(i, !0, e))), t = i.line, r = i.lineStart, s = i.position, L(i, e, J, !1, !0), m = i.tag, y = i.result, v(i, !0, e), d = i.input.charCodeAt(i.position), (p || i.line === t) && d === 58 && (c = !0, d = i.input.charCodeAt(++i.position), v(i, !0, e), L(i, e, J, !1, !0), C = i.result), u ? j(i, l, x, m, y, C, t, r, s) : c ? l.push(j(i, null, x, m, y, C, t, r, s)) : l.push(y), v(i, !0, e), d = i.input.charCodeAt(i.position), d === 44 ? (n = !0, d = i.input.charCodeAt(++i.position)) : n = !1;
}
_(i, "unexpected end of the stream within a flow collection");
}
function Dt(i, e) {
var n, t, r = fi, s = !1, o = !1, l = e, a = 0, h = !1, f, c;
if (c = i.input.charCodeAt(i.position), c === 124)
t = !1;
else if (c === 62)
t = !0;
else
return !1;
for (i.kind = "scalar", i.result = ""; c !== 0; )
if (c = i.input.charCodeAt(++i.position), c === 43 || c === 45)
fi === r ? r = c === 43 ? ji : St : _(i, "repeat of a chomping mode identifier");
else if ((f = Ft(c)) >= 0)
f === 0 ? _(i, "bad explicit indentation width of a block scalar; it cannot be less than one") : o ? _(i, "repeat of an indentation width identifier") : (l = e + f - 1, o = !0);
else
break;
if (F(c)) {
do
c = i.input.charCodeAt(++i.position);
while (F(c));
if (c === 35)
do
c = i.input.charCodeAt(++i.position);
while (!S(c) && c !== 0);
}
for (; c !== 0; ) {
for (Ai(i), i.lineIndent = 0, c = i.input.charCodeAt(i.position); (!o || i.lineIndent < l) && c === 32; )
i.lineIndent++, c = i.input.charCodeAt(++i.position);
if (!o && i.lineIndent > l && (l = i.lineIndent), S(c)) {
a++;
continue;
}
if (i.lineIndent < l) {
r === ji ? i.result += w.repeat(`
`, s ? 1 + a : a) : r === fi && s && (i.result += `
`);
break;
}
for (t ? F(c) ? (h = !0, i.result += w.repeat(`
`, s ? 1 + a : a)) : h ? (h = !1, i.result += w.repeat(`
`, a + 1)) : a === 0 ? s && (i.result += " ") : i.result += w.repeat(`
`, a) : i.result += w.repeat(`
`, s ? 1 + a : a), s = !0, o = !0, a = 0, n = i.position; !S(c) && c !== 0; )
c = i.input.charCodeAt(++i.position);
k(i, n, i.position, !1);
}
return !0;
}
function Bi(i, e) {
var n, t = i.tag, r = i.anchor, s = [], o, l = !1, a;
if (i.firstTabInLine !== -1)
return !1;
for (i.anchor !== null && (i.anchorMap[i.anchor] = s), a = i.input.charCodeAt(i.position); a !== 0 && (i.firstTabInLine !== -1 && (i.position = i.firstTabInLine, _(i, "tab characters must not be used in indentation")), !(a !== 45 || (o = i.input.charCodeAt(i.position + 1), !A(o)))); ) {
if (l = !0, i.position++, v(i, !0, -1) && i.lineIndent <= e) {
s.push(null), a = i.input.charCodeAt(i.position);
continue;
}
if (n = i.line, L(i, e, ue, !1, !0), s.push(i.result), v(i, !0, -1), a = i.input.charCodeAt(i.position), (i.line === n || i.lineIndent > e) && a !== 0)
_(i, "bad indentation of a sequence entry");
else if (i.lineIndent < e)
break;
}
return l ? (i.tag = t, i.anchor = r, i.kind = "sequence", i.result = s, !0) : !1;
}
function Rt(i, e, n) {
var t, r, s, o, l, a, h = i.tag, f = i.anchor, c = {}, p = /* @__PURE__ */ Object.create(null), u = null, x = null, y = null, m = !1, C = !1, d;
if (i.firstTabInLine !== -1)
return !1;
for (i.anchor !== null && (i.anchorMap[i.anchor] = c), d = i.input.charCodeAt(i.position); d !== 0; ) {
if (!m && i.firstTabInLine !== -1 && (i.position = i.firstTabInLine, _(i, "tab characters must not be used in indentation")), t = i.input.charCodeAt(i.position + 1), s = i.line, (d === 63 || d === 58) && A(t))
d === 63 ? (m && (j(i, c, p, u, x, null, o, l, a), u = x = y = null), C = !0, m = !0, r = !0) : m ? (m = !1, r = !0) : _(i, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), i.position += 1, d = t;
else {
if (o = i.line, l = i.lineStart, a = i.position, !L(i, n, he, !1, !0))
break;
if (i.line === s) {
for (d = i.input.charCodeAt(i.position); F(d); )
d = i.input.charCodeAt(++i.position);
if (d === 58)
d = i.input.charCodeAt(++i.position), A(d) || _(i, "a whitespace character is expected after the key-value separator within a block mapping"), m && (j(i, c, p, u, x, null, o, l, a), u = x = y = null), C = !0, m = !1, r = !1, u = i.tag, x = i.result;
else if (C)
_(i, "can not read an implicit mapping pair; a colon is missed");
else
return i.tag = h, i.anchor = f, !0;
} else if (C)
_(i, "can not read a block mapping entry; a multiline key may not be an implicit key");
else
return i.tag = h, i.anchor = f, !0;
}
if ((i.line === s || i.lineIndent > e) && (m && (o = i.line, l = i.lineStart, a = i.position), L(i, e, Z, !0, r) && (m ? x = i.result : y = i.result), m || (j(i, c, p, u, x, y, o, l, a), u = x = y = null), v(i, !0, -1), d = i.input.charCodeAt(i.position)), (i.line === s || i.lineIndent > e) && d !== 0)
_(i, "bad indentation of a mapping entry");
else if (i.lineIndent < e)
break;
}
return m && j(i, c, p, u, x, null, o, l, a), C && (i.tag = h, i.anchor = f, i.kind = "mapping", i.result = c), C;
}
function zt(i) {
var e, n = !1, t = !1, r, s, o;
if (o = i.input.charCodeAt(i.position), o !== 33)
return !1;
if (i.tag !== null && _(i, "duplication of a tag property"), o = i.input.charCodeAt(++i.position), o === 60 ? (n = !0, o = i.input.charCodeAt(++i.position)) : o === 33 ? (t = !0, r = "!!", o = i.input.charCodeAt(++i.position)) : r = "!", e = i.position, n) {
do
o = i.input.charCodeAt(++i.position);
while (o !== 0 && o !== 62);
i.position < i.length ? (s = i.input.slice(e, i.position), o = i.input.charCodeAt(++i.position)) : _(i, "unexpected end of the stream within a verbatim tag");
} else {
for (; o !== 0 && !A(o); )
o === 33 && (t ? _(i, "tag suffix cannot contain exclamation marks") : (r = i.input.slice(e - 1, i.position + 1), fe.test(r) || _(i, "named tag handle cannot contain such characters"), t = !0, e = i.position + 1)), o = i.input.charCodeAt(++i.position);
s = i.input.slice(e, i.position), Et.test(s) && _(i, "tag suffix cannot contain flow indicator characters");
}
s && !_e.test(s) && _(i, "tag name cannot contain such characters: " + s);
try {
s = decodeURIComponent(s);
} catch {
_(i, "tag name is malformed: " + s);
}
return n ? i.tag = s : N.call(i.tagMap, r) ? i.tag = i.tagMap[r] + s : r === "!" ? i.tag = "!" + s : r === "!!" ? i.tag = "tag:yaml.org,2002:" + s : _(i, 'undeclared tag handle "' + r + '"'), !0;
}
function Bt(i) {
var e, n;
if (n = i.input.charCodeAt(i.position), n !== 38)
return !1;
for (i.anchor !== null && _(i, "duplication of an anchor property"), n = i.input.charCodeAt(++i.position), e = i.position; n !== 0 && !A(n) && !P(n); )
n = i.input.charCodeAt(++i.position);
return i.position === e && _(i, "name of an anchor node must contain at least one character"), i.anchor = i.input.slice(e, i.position), !0;
}
function Yt(i) {
var e, n, t;
if (t = i.input.charCodeAt(i.position), t !== 42)
return !1;
for (t = i.input.charCodeAt(++i.position), e = i.position; t !== 0 && !A(t) && !P(t); )
t = i.input.charCodeAt(++i.position);
return i.position === e && _(i, "name of an alias node must contain at least one character"), n = i.input.slice(e, i.position), N.call(i.anchorMap, n) || _(i, 'unidentified alias "' + n + '"'), i.result = i.anchorMap[n], v(i, !0, -1), !0;
}
function L(i, e, n, t, r) {
var s, o, l, a = 1, h = !1, f = !1, c, p, u, x, y, m;
if (i.listener !== null && i.listener("open", i), i.tag = null, i.anchor = null, i.kind = null, i.result = null, s = o = l = Z === n || ue === n, t && v(i, !0, -1) && (h = !0, i.lineIndent > e ? a = 1 : i.lineIndent === e ? a = 0 : i.lineIndent < e && (a = -1)), a === 1)
for (; zt(i) || Bt(i); )
v(i, !0, -1) ? (h = !0, l = s, i.lineIndent > e ? a = 1 : i.lineIndent === e ? a = 0 : i.lineIndent < e && (a = -1)) : l = !1;
if (l && (l = h || r), (a === 1 || Z === n) && (J === n || he === n ? y = e : y = e + 1, m = i.position - i.lineStart, a === 1 ? l && (Bi(i, m) || Rt(i, m, y)) || Lt(i, y) ? f = !0 : (o && Dt(i, y) || Pt(i, y) || jt(i, y) ? f = !0 : Yt(i) ? (f = !0, (i.tag !== null || i.anchor !== null) && _(i, "alias node should not have any properties")) : $t(i, y, J === n) && (f = !0, i.tag === null && (i.tag = "?")), i.anchor !== null && (i.anchorMap[i.anchor] = i.result)) : a === 0 && (f = l && Bi(i, m))), i.tag === null)
i.anchor !== null && (i.anchorMap[i.anchor] = i.result);
else if (i.tag === "?") {
for (i.result !== null && i.kind !== "scalar" && _(i, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + i.kind + '"'), c = 0, p = i.implicitTypes.length; c < p; c += 1)
if (x = i.implicitTypes[c], x.resolve(i.result)) {
i.result = x.construct(i.result), i.tag = x.tag, i.anchor !== null && (i.anchorMap[i.anchor] = i.result);
break;
}
} else if (i.tag !== "!") {
if (N.call(i.typeMap[i.kind || "fallback"], i.tag))
x = i.typeMap[i.kind || "fallback"][i.tag];
else
for (x = null, u = i.typeMap.multi[i.kind || "fallback"], c = 0, p = u.length; c < p; c += 1)
if (i.tag.slice(0, u[c].tag.length) === u[c].tag) {
x = u[c];
break;
}
x || _(i, "unknown tag !<" + i.tag + ">"), i.result !== null && x.kind !== i.kind && _(i, "unacceptable node kind for !<" + i.tag + '> tag; it should be "' + x.kind + '", not "' + i.kind + '"'), x.resolve(i.result, i.tag) ? (i.result = x.construct(i.result, i.tag), i.anchor !== null && (i.anchorMap[i.anchor] = i.result)) : _(i, "cannot resolve a node with !<" + i.tag + "> explicit tag");
}
return i.listener !== null && i.listener("close", i), i.tag !== null || i.anchor !== null || f;
}
function Wt(i) {
var e = i.position, n, t, r, s = !1, o;
for (i.version = null, i.checkLineBreaks = i.legacy, i.tagMap = /* @__PURE__ */ Object.create(null), i.anchorMap = /* @__PURE__ */ Object.create(null); (o = i.input.charCodeAt(i.position)) !== 0 && (v(i, !0, -1), o = i.input.charCodeAt(i.position), !(i.lineIndent > 0 || o !== 37)); ) {
for (s = !0, o = i.input.charCodeAt(++i.position), n = i.position; o !== 0 && !A(o); )
o = i.input.charCodeAt(++i.position);
for (t = i.input.slice(n, i.position), r = [], t.length < 1 && _(i, "directive name must not be less than one character in length"); o !== 0; ) {
for (; F(o); )
o = i.input.charCodeAt(++i.position);
if (o === 35) {
do
o = i.input.charCodeAt(++i.position);
while (o !== 0 && !S(o));
break;
}
if (S(o))
break;
for (n = i.position; o !== 0 && !A(o); )
o = i.input.charCodeAt(++i.position);
r.push(i.input.slice(n, i.position));
}
o !== 0 && Ai(i), N.call(Ri, t) ? Ri[t](i, t, r) : Q(i, 'unknown document directive "' + t + '"');
}
if (v(i, !0, -1), i.lineIndent === 0 && i.input.charCodeAt(i.position) === 45 && i.input.charCodeAt(i.position + 1) === 45 && i.input.charCodeAt(i.position + 2) === 45 ? (i.position += 3, v(i, !0, -1)) : s && _(i, "directives end mark is expected"), L(i, i.lineIndent - 1, Z, !1, !0), v(i, !0, -1), i.checkLineBreaks && kt.test(i.input.slice(e, i.position)) && Q(i, "non-ASCII line breaks are interpreted as content"), i.documents.push(i.result), i.position === i.lineStart && si(i)) {
i.input.charCodeAt(i.position) === 46 && (i.position += 3, v(i, !0, -1));
return;
}
if (i.position < i.length - 1)
_(i, "end of the stream or a document separator is expected");
else
return;
}
function ge(i, e) {
i = String(i), e = e || {}, i.length !== 0 && (i.charCodeAt(i.length - 1) !== 10 && i.charCodeAt(i.length - 1) !== 13 && (i += `
`), i.charCodeAt(0) === 65279 && (i = i.slice(1)));
var n = new It(i, e), t = i.indexOf("\0");
for (t !== -1 && (n.position = t, _(n, "null byte is not allowed in input")), n.input += "\0"; n.input.charCodeAt(n.position) === 32; )
n.lineIndent += 1, n.position += 1;
for (; n.position < n.length - 1; )
Wt(n);
return n.documents;
}
function Ut(i, e, n) {
e !== null && typeof e == "object" && typeof n > "u" && (n = e, e = null);
var t = ge(i, n);
if (typeof e != "function")
return t;
for (var r = 0, s = t.length; r < s; r += 1)
e(t[r]);
}
function Ht(i, e) {
var n = ge(i, e);
if (n.length !== 0) {
if (n.length === 1)
return n[0];
throw new T("expected a single document in the stream, but found more");
}
}
var qt = Ut, Gt = Ht, Kt = {
loadAll: qt,
load: Gt
}, Vt = le, Xt = Kt.load;
const me = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s;
function rs(i, e) {
var t;
const n = i.match(me);
if (n) {
const r = Xt(n[1], {
// To keep things simple, only allow strings, arrays, and plain objects.
// https://www.yaml.org/spec/1.2/spec.html#id2802346
schema: Vt
});
return r != null && r.title && ((t = e.setDiagramTitle) == null || t.call(e, r.title)), i.slice(n[0].length);
} else
return i;
}
const q = {}, Jt = (i, e, n) => {
let t = "";
return i in q && q[i] ? t = q[i](n) : g.warn(`No theme found for ${i}`), ` & {
font-family: ${n.fontFamily};
font-size: ${n.fontSize};
fill: ${n.textColor}
}
/* Classes common for multiple diagrams */
& .error-icon {
fill: ${n.errorBkgColor};
}
& .error-text {
fill: ${n.errorTextColor};
stroke: ${n.errorTextColor};
}
& .edge-thickness-normal {
stroke-width: 2px;
}
& .edge-thickness-thick {
stroke-width: 3.5px
}
& .edge-pattern-solid {
stroke-dasharray: 0;
}
& .edge-pattern-dashed{
stroke-dasharray: 3;
}
.edge-pattern-dotted {
stroke-dasharray: 2;
}
& .marker {
fill: ${n.lineColor};
stroke: ${n.lineColor};
}
& .marker.cross {
stroke: ${n.lineColor};
}
& svg {
font-family: ${n.fontFamily};
font-size: ${n.fontSize};
}
${t}
${e}
`;
}, Zt = (i, e) => {
q[i] = e;
}, os = Jt;
let O = {};
const Qt = function(i, e, n, t) {
g.debug("parseDirective is being called", e, n, t);
try {
if (e !== void 0)
switch (e = e.trim(), n) {
case "open_directive":
O = {};
break;
case "type_directive":
if (!O)
throw new Error("currentDirective is undefined");
O.type = e.toLowerCase();
break;
case "arg_directive":
if (!O)
throw new Error("currentDirective is undefined");
O.args = JSON.parse(e);
break;
case "close_directive":
ir(i, O, t), O = void 0;
break;
}
} catch (r) {
g.error(
`Error while rendering sequenceDiagram directive: ${e} jison context: ${n}`
), g.error(r.message);
}
}, ir = function(i, e, n) {
switch (g.info(`Directive type=${e.type} with args:`, e.args), e.type) {
case "init":
case "initialize": {
["config"].forEach((t) => {
e.args[t] !== void 0 && (n === "flowchart-v2" && (n = "flowchart"), e.args[n] = e.args[t], delete e.args[t]);
}), g.info("sanitize in handleDirective", e.args), W(e.args), g.info("sanitize in handleDirective (done)", e.args), Se(e.args);
break;
}
case "wrap":
case "nowrap":
i && i.setWrap && i.setWrap(e.type === "wrap");
break;
case "themeCss":
g.warn("themeCss encountered");
break;
default:
g.warn(
`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(
e.args ? e.args : {}
)}}%%`,
e
);
break;
}
}, er = g, nr = Te, ye = ke, tr = (i) => Ee(i, ye()), rr = Fe, or = () => Me, sr = (i, e, n, t) => Qt(i, e, n, t), ii = {}, lr = (i, e, n) => {
if (ii[i])
throw new Error(`Diagram ${i} already registered.`);
ii[i] = e, n && ve(i, n), Zt(i, e.styles), e.injectUtils && e.injectUtils(
er,
nr,
ye,
tr,
rr,
or(),
sr
);
}, ar = (i) => {
if (i in ii)
return ii[i];
throw new Error(`Diagram ${i} not found.`);
};
class cr extends Error {
constructor(e) {
super(e), this.name = "UnknownDiagramError";
}
}
const hr = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, ur = /\s*%%.*\n/gm, D = {}, fr = function(i, e) {
i = i.replace(me, "").replace(hr, "").replace(ur, `
`);
for (const [n, { detector: t }] of Object.entries(D))
if (t(i, e))
return n;
throw new cr(
`No diagram type detected matching given configuration for text: ${i}`
);
}, ss = (...i) => {
for (const { id: e, detector: n, loader: t } of i)
ve(e, n, t);
}, ls = async () => {
g.debug("Loading registered diagrams");
const e = (await Promise.allSettled(
Object.entries(D).map(async ([n, { detector: t, loader: r }]) => {
if (r)
try {
ar(n);
} catch {
try {
const { diagram: o, id: l } = await r();
lr(l, o, t);
} catch (o) {
throw g.error(`Failed to load external diagram with key ${n}. Removing from detectors.`), delete D[n], o;
}
}
})
)).filter((n) => n.status === "rejected");
if (e.length > 0) {
g.error(`Failed to load ${e.length} external diagrams`);
for (const n of e)
g.error(n);
throw new Error(`Failed to load ${e.length} external diagrams`);
}
}, ve = (i, e, n) => {
D[i] ? g.error(`Detector with key ${i} already exists`) : D[i] = { detector: e, loader: n }, g.debug(`Detector with key ${i} added${n ? " with loader" : ""}`);
}, as = (i) => D[i].loader;
var _r = typeof global == "object" && global && global.Object === Object && global;
const pr = _r;
var dr = typeof self == "object" && self && self.Object === Object && self, xr = pr || dr || Function("return this")();
const Ti = xr;
var gr = Ti.Symbol;
const ei = gr;
var be = Object.prototype, mr = be.hasOwnProperty, yr = be.toString, z = ei ? ei.toStringTag : void 0;
function vr(i) {
var e = mr.call(i, z), n = i[z];
try {
i[z] = void 0;
var t = !0;
} catch {
}
var r = yr.call(i);
return t && (e ? i[z] = n : delete i[z]), r;
}
var br = Object.prototype, wr = br.toString;
function Cr(i) {
return wr.call(i);
}
var Ar = "[object Null]", Sr = "[object Undefined]", Yi = ei ? ei.toStringTag : void 0;
function Tr(i) {
return i == null ? i === void 0 ? Sr : Ar : Yi && Yi in Object(i) ? vr(i) : Cr(i);
}
function we(i) {
var e = typeof i;
return i != null && (e == "object" || e == "function");
}
var kr = "[object AsyncFunction]", Er = "[object Function]", Nr = "[object GeneratorFunction]", Or = "[object Proxy]";
function Fr(i) {
if (!we(i))
return !1;
var e = Tr(i);
return e == Er || e == Nr || e == kr || e == Or;
}
var Mr = Ti["__core-js_shared__"];
const _i = Mr;
var Wi = function() {
var i = /[^.]+$/.exec(_i && _i.keys && _i.keys.IE_PROTO || "");
return i ? "Symbol(src)_1." + i : "";
}();
function Ir(i) {
return !!Wi && Wi in i;
}
var $r = Function.prototype, Pr = $r.toString;
function jr(i) {
if (i != null) {
try {
return Pr.call(i);
} catch {
}
try {
return i + "";
} catch {
}
}
return "";
}
var Lr = /[\\^$.*+?()[\]{}|]/g, Dr = /^\[object .+?Constructor\]$/, Rr = Function.prototype, zr = Object.prototype, Br = Rr.toString, Yr = zr.hasOwnProperty, Wr = RegExp(
"^" + Br.call(Yr).replace(Lr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function Ur(i) {
if (!we(i) || Ir(i))
return !1;
var e = Fr(i) ? Wr : Dr;
return e.test(jr(i));
}
function Hr(i, e) {
return i == null ? void 0 : i[e];
}
function Ce(i, e) {
var n = Hr(i, e);
return Ur(n) ? n : void 0;
}
var qr = Ce(Object, "create");
const Y = qr;
function Gr() {
this.__data__ = Y ? Y(null) : {}, this.size = 0;
}
function Kr(i) {
var e = this.has(i) && delete this.__data__[i];
return this.size -= e ? 1 : 0, e;
}
var Vr = "__lodash_hash_undefined__", Xr = Object.prototype, Jr = Xr.hasOwnProperty;
function Zr(i) {
var e = this.__data__;
if (Y) {
var n = e[i];
return n === Vr ? void 0 : n;
}
return Jr.call(e, i) ? e[i] : void 0;
}
var Qr = Object.prototype, io = Qr.hasOwnProperty;
function eo(i) {
var e = this.__data__;
return Y ? e[i] !== void 0 : io.call(e, i);
}
var no = "__lodash_hash_undefined__";
function to(i, e) {
var n = this.__data__;
return this.size += this.has(i) ? 0 : 1, n[i] = Y && e === void 0 ? no : e, this;
}
function M(i) {
var e = -1, n = i == null ? 0 : i.length;
for (this.clear(); ++e < n; ) {
var t = i[e];
this.set(t[0], t[1]);
}
}
M.prototype.clear = Gr;
M.prototype.delete = Kr;
M.prototype.get = Zr;
M.prototype.has = eo;
M.prototype.set = to;
function ro() {
this.__data__ = [], this.size = 0;
}
function oo(i, e) {
return i === e || i !== i && e !== e;
}
function li(i, e) {
for (var n = i.length; n--; )
if (oo(i[n][0], e))
return n;
return -1;
}
var so = Array.prototype, lo = so.splice;
function ao(i) {
var e = this.__data__, n = li(e, i);
if (n < 0)
return !1;
var t = e.length - 1;
return n == t ? e.pop() : lo.call(e, n, 1), --this.size, !0;
}
function co(i) {
var e = this.__data__, n = li(e, i);
return n < 0 ? void 0 : e[n][1];
}
function ho(i) {
return li(this.__data__, i) > -1;
}
function uo(i, e) {
var n = this.__data__, t = li(n, i);
return t < 0 ? (++this.size, n.push([i, e])) : n[t][1] = e, this;
}
function R(i) {
var e = -1, n = i == null ? 0 : i.length;
for (this.clear(); ++e < n; ) {
var t = i[e];
this.set(t[0], t[1]);
}
}
R.prototype.clear = ro;
R.prototype.delete = ao;
R.prototype.get = co;
R.prototype.has = ho;
R.prototype.set = uo;
var fo = Ce(Ti, "Map");
const _o = fo;
function po() {
this.size = 0, this.__data__ = {
hash: new M(),
map: new (_o || R)(),
string: new M()
};
}
function xo(i) {
var e = typeof i;
return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? i !== "__proto__" : i === null;
}
function ai(i, e) {
var n = i.__data__;
return xo(e) ? n[typeof e == "string" ? "string" : "hash"] : n.map;
}
function go(i) {
var e = ai(this, i).delete(i);
return this.size -= e ? 1 : 0, e;
}
function mo(i) {
return ai(this, i).get(i);
}
function yo(i) {
return ai(this, i).has(i);
}
function vo(i, e) {
var n = ai(this, i), t = n.size;
return n.set(i, e), this.size += n.size == t ? 0 : 1, this;
}
function I(i) {
var e = -1, n = i == null ? 0 : i.length;
for (this.clear(); ++e < n; ) {
var t = i[e];
this.set(t[0], t[1]);
}
}
I.prototype.clear = po;
I.prototype.delete = go;
I.prototype.get = mo;
I.prototype.has = yo;
I.prototype.set = vo;
var bo = "Expected a function";
function U(i, e) {
if (typeof i != "function" || e != null && typeof e != "function")
throw new TypeError(bo);
var n = function() {
var t = arguments, r = e ? e.apply(this, t) : t[0], s = n.cache;
if (s.has(r))
return s.get(r);
var o = i.apply(this, t);
return n.cache = s.set(r, o) || s, o;
};
return n.cache = new (U.Cache || I)(), n;
}
U.Cache = I;
const wo = {
curveBasis: Ue,
curveBasisClosed: He,
curveBasisOpen: qe,
curveBumpX: Ye,
curveBumpY: We,
curveBundle: Ge,
curveCardinalClosed: Ve,
curveCardinalOpen: Xe,
curveCardinal: Ke,
curveCatmullRomClosed: Ze,
curveCatmullRomOpen: Qe,
curveCatmullRom: Je,
curveLinear: Be,
curveLinearClosed: en,
curveMonotoneX: nn,
curveMonotoneY: tn,
curveNatural: rn,
curveStep: on,
curveStepAfter: ln,
curveStepBefore: sn
}, pi = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, Co = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, Ao = function(i, e) {
const n = Ae(i, /(?:init\b)|(?:initialize\b)/);
let t = {};
if (Array.isArray(n)) {
const r = n.map((s) => s.args);
W(r), t = Hi(t, [...r]);
} else
t = n.args;
if (t) {
let r = fr(i, e);
["config"].forEach((s) => {
t[s] !== void 0 && (r === "flowchart-v2" && (r = "flowchart"), t[r] = t[s], delete t[s]);
});
}
return t;
}, Ae = function(i, e = null) {
try {
const n = new RegExp(
`[%]{2}(?![{]${Co.source})(?=[}][%]{2}).*
`,
"ig"
);
i = i.trim().replace(n, "").replace(/'/gm, '"'), g.debug(
`Detecting diagram directive${e !== null ? " type:" + e : ""} based on the text:${i}`
);
let t;
const r = [];
for (; (t = pi.exec(i)) !== null; )
if (t.index === pi.lastIndex && pi.lastIndex++, t && !e || e && t[1] && t[1].match(e) || e && t[2] && t[2].match(e)) {
const s = t[1] ? t[1] : t[2], o = t[3] ? t[3].trim() : t[4] ? JSON.parse(t[4].trim()) : null;
r.push({ type: s, args: o });
}
return r.length === 0 && r.push({ type: i, args: null }), r.length === 1 ? r[0] : r;
} catch (n) {
return g.error(
`ERROR: ${n.message} - Unable to parse directive
${e !== null ? " type:" + e : ""} based on the text:${i}`
), { type: null, args: null };
}
}, So = function(i, e) {
for (const [n, t] of e.entries())
if (t.match(i))
return n;
return -1;
};
function To(i, e) {
if (!i)
return e;
const n = `curve${i.charAt(0).toUpperCase() + i.slice(1)}`;
return wo[n] || e;
}
function ko(i, e) {
const n = i.trim();
if (n)
return e.securityLevel !== "loose" ? qi(n) : n;
}
const Eo = (i, ...e) => {
const n = i.split("."), t = n.length - 1, r = n[t];
let s = window;
for (let o = 0; o < t; o++)
if (s = s[n[o]], !s)
return;
s[r](...e);
};
function ni(i, e) {
return i && e ? Math.sqrt(Math.pow(e.x - i.x, 2) + Math.pow(e.y - i.y, 2)) : 0;
}
function No(i) {
let e, n = 0;
i.forEach((s) => {
n += ni(s, e), e = s;
});
let t = n / 2, r;
return e = void 0, i.forEach((s) => {
if (e && !r) {
const o = ni(s, e);
if (o < t)
t -= o;
else {
const l = t / o;
l <= 0 && (r = e), l >= 1 && (r = { x: s.x, y: s.y }), l > 0 && l < 1 && (r = {
x: (1 - l) * e.x + l * s.x,
y: (1 - l) * e.y + l * s.y
});
}
}
e = s;
}), r;
}
function Oo(i) {
return i.length === 1 ? i[0] : No(i);
}
const Fo = (i, e, n) => {
let t;
g.info(`our points ${JSON.stringify(e)}`), e[0] !== n && (e = e.reverse());
let s = 25, o;
t = void 0, e.forEach((f) => {
if (t && !o) {
const c = ni(f, t);
if (c < s)
s -= c;
else {
const p = s / c;
p <= 0 && (o = t), p >= 1 && (o = { x: f.x, y: f.y }), p > 0 && p < 1 && (o = {
x: (1 - p) * t.x + p * f.x,
y: (1 - p) * t.y + p * f.y
});
}
}
t = f;
});
const l = i ? 10 : 5, a = Math.atan2(e[0].y - o.y, e[0].x - o.x), h = { x: 0, y: 0 };
return h.x = Math.sin(a) * l + (e[0].x + o.x) / 2, h.y = -Math.cos(a) * l + (e[0].y + o.y) / 2, h;
};
function Mo(i, e, n) {
let t = JSON.parse(JSON.stringify(n)), r;
g.info("our points", t), e !== "start_left" && e !== "start_right" && (t = t.reverse()), t.forEach((c) => {
r = c;
});
let o = 25 + i, l;
r = void 0, t.forEach((c) => {
if (r && !l) {
const p = ni(c, r);
if (p < o)
o -= p;
else {
const u = o / p;
u <= 0 && (l = r), u >= 1 && (l = { x: c.x, y: c.y }), u > 0 && u < 1 && (l = {
x: (1 - u) * r.x + u * c.x,
y: (1 - u) * r.y + u * c.y
});
}
}
r = c;
});
const a = 10 + i * 0.5, h = Math.atan2(t[0].y - l.y, t[0].x - l.x), f = { x: 0, y: 0 };
return f.x = Math.sin(h) * a + (t[0].x + l.x) / 2, f.y = -Math.cos(h) * a + (t[0].y + l.y) / 2, e === "start_left" && (f.x = Math.sin(h + Math.PI) * a + (t[0].x + l.x) / 2, f.y = -Math.cos(h + Math.PI) * a + (t[0].y + l.y) / 2), e === "end_right" && (f.x = Math.sin(h - Math.PI) * a + (t[0].x + l.x) / 2 - 5, f.y = -Math.cos(h - Math.PI) * a + (t[0].y + l.y) / 2 - 5), e === "end_left" && (f.x = Math.sin(h) * a + (t[0].x + l.x) / 2 - 5, f.y = -Math.cos(h) * a + (t[0].y + l.y) / 2 - 5), f;
}
function Io(i) {
let e = "", n = "";
for (const t of i)
t !== void 0 && (t.startsWith("color:") || t.startsWith("text-align:") ? n = n + t + ";" : e = e + t + ";");
return { style: e, labelStyle: n };
}
let Ui = 0;
const $o = () => (Ui++, "id-" + Math.random().toString(36).substr(2, 12) + "-" + Ui);
function Po(i) {
let e = "";
const n = "0123456789abcdef", t = n.length;
for (let r = 0; r < i; r++)
e += n.charAt(Math.floor(Math.random() * t));
return e;
}
const jo = (i) => Po(i.length), Lo = function() {
return {
x: 0,
y: 0,
fill: void 0,
anchor: "start",
style: "#666",
width: 100,
height: 100,
textMargin: 0,
rx: 0,
ry: 0,
valign: void 0
};
}, Do = function(i, e) {
const n = e.text.replace(xi.lineBreakRegex, " "), [, t] = Ei(e.fontSize), r = i.append("text");
r.attr("x", e.x), r.attr("y", e.y), r.style("text-anchor", e.anchor), r.style("font-family", e.fontFamily), r.style("font-size", t), r.style("font-weight", e.fontWeight), r.attr("fill", e.fill), e.class !== void 0 && r.attr("class", e.class);
const s = r.append("tspan");
return s.attr("x", e.x + e.textMargin * 2), s.attr("fill", e.fill), s.text(n), r;
}, Ro = U(
(i, e, n) => {
if (!i || (n = Object.assign(
{ fontSize: 12, fontWeight: 400, fontFamily: "Arial", joinWith: "<br/>" },
n
), xi.lineBreakRegex.test(i)))
return i;
const t = i.split(" "), r = [];
let s = "";
return t.forEach((o, l) => {
const a = ti(`${o} `, n), h = ti(s, n);
if (a > e) {
const { hyphenatedStrings: p, remainingWord: u } = zo(o, e, "-", n);
r.push(s, ...p), s = u;
} else
h + a >= e ? (r.push(s), s = o) : s = [s, o].filter(Boolean).join(" ");
l + 1 === t.length && r.push(s);
}), r.filter((o) => o !== "").join(n.joinWith);
},
(i, e, n) => `${i}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`
), zo = U(
(i, e, n = "-", t) => {
t = Object.assign(
{ fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 0 },
t
);
const r = [...i], s = [];
let o = "";
return r.forEach((l, a) => {
const h = `${o}${l}`;
if (ti(h, t) >= e) {
const c = a + 1, p = r.length === c, u = `${h}${n}`;
s.push(p ? h : u), o = "";
} else
o = h;
}), { hyphenatedStrings: s, remainingWord: o };
},
(i, e, n = "-", t) => `${i}${e}${n}${t.fontSize}${t.fontWeight}${t.fontFamily}`
);
function Bo(i, e) {
return e = Object.assign(
{ fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 15 },
e
), ki(i, e).height;
}
function ti(i, e) {
return e = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial" }, e), ki(i, e).width;
}
const ki = U(
(i, e) => {
e = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial" }, e);
const { fontSize: n, fontFamily: t, fontWeight: r } = e;
if (!i)
return { width: 0, height: 0 };
const [, s] = Ei(n), o = ["sans-serif", t], l = i.split(xi.lineBreakRegex), a = [], h = Oe("body");
if (!h.remove)
return { width: 0, height: 0, lineHeight: 0 };
const f = h.append("svg");
for (const p of o) {
let u = 0;
const x = { width: 0, height: 0, lineHeight: 0 };
for (const y of l) {
const m = Lo();
m.text = y;
const C = Do(f, m).style("font-size", s).style("font-weight", r).style("font-family", p), d = (C._groups || C)[0][0].getBBox();
x.width = Math.round(Math.max(x.width, d.width)), u = Math.round(d.height), x.height += u, x.lineHeight = Math.round(Math.max(x.lineHeight, u));
}
a.push(x);
}
f.remove();
const c = isNaN(a[1].height) || isNaN(a[1].width) || isNaN(a[1].lineHeight) || a[0].height > a[1].height && a[0].width > a[1].width && a[0].lineHeight > a[1].lineHeight ? 0 : 1;
return a[c];
},
(i, e) => `${i}${e.fontSize}${e.fontWeight}${e.fontFamily}`
), Yo = class {
constructor(e, n) {
this.deterministic = e, this.seed = n, this.count = n ? n.length : 0;
}
next() {
return this.deterministic ? this.count++ : Date.now();
}
};
let H;
const Wo = function(i) {
return H = H || document.createElement("div"), i = escape(i).replace(/%26/g, "&").replace(/%23/g, "#").replace(/%3B/g, ";"), H.innerHTML = i, unescape(H.textContent);
}, W = (i) => {
if (g.debug("directiveSanitizer called with", i), typeof i == "object" && (i.length ? i.forEach((e) => W(e)) : Object.keys(i).forEach((e) => {
g.debug("Checking key", e), e.startsWith("__") && (g.debug("sanitize deleting __ option", e), delete i[e]), e.includes("proto") && (g.debug("sanitize deleting proto option", e), delete i[e]), e.includes("constr") && (g.debug("sanitize deleting constr option", e), delete i[e]), e.includes("themeCSS") && (g.debug("sanitizing themeCss option"), i[e] = G(i[e])), e.includes("fontFamily") && (g.debug("sanitizing fontFamily option"), i[e] = G(i[e])), e.includes("altFontFamily") && (g.debug("sanitizing altFontFamily option"), i[e] = G(i[e])), Ne.includes(e) ? typeof i[e] == "object" && (g.debug("sanitize deleting object", e), W(i[e])) : (g.debug("sanitize deleting option", e), delete i[e]);
})), i.themeVariables) {
const e = Object.keys(i.themeVariables);
for (const n of e) {
const t = i.themeVariables[n];
t && t.match && !t.match(/^[\d "#%(),.;A-Za-z]+$/) && (i.themeVariables[n] = "");
}
}
g.debug("After sanitization", i);
}, G = (i) => {
let e = 0, n = 0;
for (const t of i) {
if (e < n)
return "{ /* ERROR: Unbalanced CSS */ }";
t === "{" ? e++ : t === "}" && n++;
}
return e !== n ? "{ /* ERROR: Unbalanced CSS */ }" : i;
};
function hs(i) {
return "str" in i;
}
function us(i) {
return i instanceof Error ? i.message : String(i);
}
const Uo = (i, e, n, t) => {
if (!t)
return;
const r = i.node().getBBox();
i.append("text").text(t).attr("x", r.x + r.width / 2).attr("y", -n).attr("class", e);
}, Ei = (i) => {
if (typeof i == "number")
return [i, i + "px"];
const e = parseInt(i, 10);
return Number.isNaN(e) ? [void 0, void 0] : i === String(e) ? [e, i + "px"] : [e, i];
}, fs = {
assignWithDepth: Hi,
wrapLabel: Ro,
calculateTextHeight: Bo,
calculateTextWidth: ti,
calculateTextDimensions: ki,
detectInit: Ao,
detectDirective: Ae,
isSubstringInArray: So,
interpolateToCurve: To,
calcLabelPosition: Oo,
calcCardinalityPosition: Fo,
calcTerminalLabelPosition: Mo,
formatUrl: ko,
getStylesFromArray: Io,
generateId: $o,
random: jo,
runFunc: Eo,
entityDecode: Wo,
initIdGenerator: Yo,
directiveSanitizer: W,
sanitizeCss: G,
insertTitle: Uo,
parseFontSize: Ei
};
export {
we as A,
oo as B,
U as C,
I as D,
Ue as E,
jo as F,
ye as G,
rr as H,
es as I,
mi as J,
Xo as K,
R as L,
_o as M,
Qo as N,
Oi as O,
Ni as P,
is as Q,
Zo as R,
ei as S,
Ko as T,
cr as U,
Vo as V,
ts as W,
ns as X,
Jo as Y,
Ei as Z,
$o as _,
lr as a,
as as b,
Ce as c,
fr as d,
rs as e,
Ti as f,
ar as g,
Tr as h,
hs as i,
Fr as j,
pr as k,
ls as l,
W as m,
os as n,
us as o,
Qt as p,
ti as q,
ss as r,
qi as s,
jr as t,
fs as u,
Bo as v,
Ro as w,
Be as x,
Io as y,
To as z
};
//# sourceMappingURL=utils-aa888deb.js.map