import { e as La, V as Vn, b as bt$1, a as L, b6 as q0, g as ei, P as Pf, c as ai } from './index.esm2.js';
import { U as Ur } from './createText-03b82060.esm.js';
import { P as P$1 } from './line-24d93f1b.esm.js';

function _array_like_to_array(arr, len) {
    if (len == null || len > arr.length) len = arr.length;
    for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
    return arr2;
}
function _array_without_holes(arr) {
    if (Array.isArray(arr)) return _array_like_to_array(arr);
}
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
    try {
        var info = gen[key](arg);
        var value = info.value;
    } catch (error) {
        reject(error);
        return;
    }
    if (info.done) {
        resolve(value);
    } else {
        Promise.resolve(value).then(_next, _throw);
    }
}
function _async_to_generator(fn) {
    return function() {
        var self = this, args = arguments;
        return new Promise(function(resolve, reject) {
            var gen = fn.apply(self, args);
            function _next(value) {
                asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
            }
            function _throw(err) {
                asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
            }
            _next(undefined);
        });
    };
}
function _iterable_to_array(iter) {
    if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _non_iterable_spread() {
    throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _to_consumable_array(arr) {
    return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
}
function _type_of(obj) {
    "@swc/helpers - typeof";
    return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
}
function _unsupported_iterable_to_array(o, minLen) {
    if (!o) return;
    if (typeof o === "string") return _array_like_to_array(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor) n = o.constructor.name;
    if (n === "Map" || n === "Set") return Array.from(n);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
}
function _ts_generator(thisArg, body) {
    var f, y, t, g, _ = {
        label: 0,
        sent: function() {
            if (t[0] & 1) throw t[1];
            return t[1];
        },
        trys: [],
        ops: []
    };
    return g = {
        next: verb(0),
        "throw": verb(1),
        "return": verb(2)
    }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
        return this;
    }), g;
    function verb(n) {
        return function(v) {
            return step([
                n,
                v
            ]);
        };
    }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while(_)try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [
                op[0] & 2,
                t.value
            ];
            switch(op[0]){
                case 0:
                case 1:
                    t = op;
                    break;
                case 4:
                    _.label++;
                    return {
                        value: op[1],
                        done: false
                    };
                case 5:
                    _.label++;
                    y = op[1];
                    op = [
                        0
                    ];
                    continue;
                case 7:
                    op = _.ops.pop();
                    _.trys.pop();
                    continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
                        _ = 0;
                        continue;
                    }
                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
                        _.label = op[1];
                        break;
                    }
                    if (op[0] === 6 && _.label < t[1]) {
                        _.label = t[1];
                        t = op;
                        break;
                    }
                    if (t && _.label < t[2]) {
                        _.label = t[2];
                        _.ops.push(op);
                        break;
                    }
                    if (t[2]) _.ops.pop();
                    _.trys.pop();
                    continue;
            }
            op = body.call(thisArg, _);
        } catch (e) {
            op = [
                6,
                e
            ];
            y = 0;
        } finally{
            f = t = 0;
        }
        if (op[0] & 5) throw op[1];
        return {
            value: op[0] ? op[1] : void 0,
            done: true
        };
    }
}
var ht = function(e, t, a, i) {
    t.forEach(function(l) {
        wt[l](e, a, i);
    });
}, ot = function(e, t, a) {
    L.trace("Making markers for ", a), e.append("defs").append("marker").attr("id", a + "_" + t + "-extensionStart").attr("class", "marker extension " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z"), e.append("defs").append("marker").attr("id", a + "_" + t + "-extensionEnd").attr("class", "marker extension " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z");
}, yt = function(e, t, a) {
    e.append("defs").append("marker").attr("id", a + "_" + t + "-compositionStart").attr("class", "marker composition " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), e.append("defs").append("marker").attr("id", a + "_" + t + "-compositionEnd").attr("class", "marker composition " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
}, ft = function(e, t, a) {
    e.append("defs").append("marker").attr("id", a + "_" + t + "-aggregationStart").attr("class", "marker aggregation " + t).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), e.append("defs").append("marker").attr("id", a + "_" + t + "-aggregationEnd").attr("class", "marker aggregation " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
}, pt = function(e, t, a) {
    e.append("defs").append("marker").attr("id", a + "_" + t + "-dependencyStart").attr("class", "marker dependency " + t).attr("refX", 6).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), e.append("defs").append("marker").attr("id", a + "_" + t + "-dependencyEnd").attr("class", "marker dependency " + t).attr("refX", 13).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z");
}, dt = function(e, t, a) {
    e.append("defs").append("marker").attr("id", a + "_" + t + "-lollipopStart").attr("class", "marker lollipop " + t).attr("refX", 13).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6), e.append("defs").append("marker").attr("id", a + "_" + t + "-lollipopEnd").attr("class", "marker lollipop " + t).attr("refX", 1).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
}, xt = function(e, t, a) {
    e.append("marker").attr("id", a + "_" + t + "-pointEnd").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 6).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), e.append("marker").attr("id", a + "_" + t + "-pointStart").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 4.5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 5 L 10 10 L 10 0 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
}, gt = function(e, t, a) {
    e.append("marker").attr("id", a + "_" + t + "-circleEnd").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", 11).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0"), e.append("marker").attr("id", a + "_" + t + "-circleStart").attr("class", "marker " + t).attr("viewBox", "0 0 10 10").attr("refX", -1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
}, ut = function(e, t, a) {
    e.append("marker").attr("id", a + "_" + t + "-crossEnd").attr("class", "marker cross " + t).attr("viewBox", "0 0 11 11").attr("refX", 12).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0"), e.append("marker").attr("id", a + "_" + t + "-crossStart").attr("class", "marker cross " + t).attr("viewBox", "0 0 11 11").attr("refX", -1).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0");
}, bt = function(e, t, a) {
    e.append("defs").append("marker").attr("id", a + "_" + t + "-barbEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 14).attr("markerUnits", "strokeWidth").attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
}, wt = {
    extension: ot,
    composition: yt,
    aggregation: ft,
    dependency: pt,
    lollipop: dt,
    point: xt,
    circle: gt,
    cross: ut,
    barb: bt
}, hr = ht;
function mt(e, t) {
    t && e.attr("style", t);
}
function kt(e) {
    var t = bt$1(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject")), a = t.append("xhtml:div"), i = e.label, l = e.isNode ? "nodeLabel" : "edgeLabel";
    return a.html('<span class="' + l + '" ' + (e.labelStyle ? 'style="' + e.labelStyle + '"' : "") + ">" + i + "</span>"), mt(a, e.labelStyle), a.style("display", "inline-block"), a.style("white-space", "nowrap"), a.attr("xmlns", "http://www.w3.org/1999/xhtml"), t.node();
}
var vt = function(e, t, a, i) {
    var l = e || "";
    if ((typeof l === "undefined" ? "undefined" : _type_of(l)) == "object" && (l = l[0]), La(Vn().flowchart.htmlLabels)) {
        l = l.replace(/\\n|\n/g, "<br />"), L.debug("vertexText" + l);
        var r = {
            isNode: i,
            label: q0(l).replace(/fa[blrs]?:fa-[\w-]+/g, // cspell: disable-line
            function(n) {
                return "<i class='".concat(n.replace(":", " "), "'></i>");
            }),
            labelStyle: t.replace("fill:", "color:")
        };
        return kt(r);
    } else {
        var r1 = document.createElementNS("http://www.w3.org/2000/svg", "text");
        r1.setAttribute("style", t.replace("color:", "fill:"));
        var s = [];
        typeof l == "string" ? s = l.split(/\\n|\n|<br\s*\/?>/gi) : Array.isArray(l) ? s = l : s = [];
        var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
        try {
            for(var _iterator = s[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
                var n = _step.value;
                var c = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
                c.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), c.setAttribute("dy", "1em"), c.setAttribute("x", "0"), a ? c.setAttribute("class", "title-row") : c.setAttribute("class", "row"), c.textContent = n.trim(), r1.appendChild(c);
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally{
            try {
                if (!_iteratorNormalCompletion && _iterator.return != null) {
                    _iterator.return();
                }
            } finally{
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }
        return r1;
    }
}, R = vt, M = function() {
    var _ref = _async_to_generator(function(e, t, a, i) {
        var l, r, s, n, c, o, h, y, p, f, x, k, d;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    r = t.useHtmlLabels || La(Vn().flowchart.htmlLabels);
                    a ? l = a : l = "node default";
                    s = e.insert("g").attr("class", l).attr("id", t.domId || t.id), n = s.insert("g").attr("class", "label").attr("style", t.labelStyle);
                    t.labelText === void 0 ? c = "" : c = typeof t.labelText == "string" ? t.labelText : t.labelText[0];
                    o = n.node();
                    t.labelType === "markdown" ? h = Ur(n, ai(q0(c), Vn()), {
                        useHtmlLabels: r,
                        width: t.width || Vn().flowchart.wrappingWidth,
                        classes: "markdown-node-label"
                    }) : h = o.appendChild(R(ai(q0(c), Vn()), t.labelStyle, false, i));
                    y = h.getBBox();
                    p = t.padding / 2;
                    if (!La(Vn().flowchart.htmlLabels)) return [
                        3,
                        3
                    ];
                    f = h.children[0], x = bt$1(h), k = f.getElementsByTagName("img");
                    if (!k) return [
                        3,
                        2
                    ];
                    d = c.replace(/<img[^>]*>/g, "").trim() === "";
                    return [
                        4,
                        Promise.all(_to_consumable_array(k).map(function(u) {
                            return new Promise(function(S) {
                                var E = function E() {
                                    if (u.style.display = "flex", u.style.flexDirection = "column", d) {
                                        var C = Vn().fontSize ? Vn().fontSize : window.getComputedStyle(document.body).fontSize, W = 5, A = parseInt(C, 10) * W + "px";
                                        u.style.minWidth = A, u.style.maxWidth = A;
                                    } else u.style.width = "100%";
                                    S(u);
                                };
                                setTimeout(function() {
                                    u.complete && E();
                                }), u.addEventListener("error", E), u.addEventListener("load", E);
                            });
                        }))
                    ];
                case 1:
                    _state.sent();
                    _state.label = 2;
                case 2:
                    y = f.getBoundingClientRect(), x.attr("width", y.width), x.attr("height", y.height);
                    _state.label = 3;
                case 3:
                    return [
                        2,
                        (r ? n.attr("transform", "translate(" + -y.width / 2 + ", " + -y.height / 2 + ")") : n.attr("transform", "translate(0, " + -y.height / 2 + ")"), t.centerLabel && n.attr("transform", "translate(" + -y.width / 2 + ", " + -y.height / 2 + ")"), n.insert("rect", ":first-child"), {
                            shapeSvg: s,
                            bbox: y,
                            halfPadding: p,
                            label: n
                        })
                    ];
            }
        });
    });
    return function M(e, t, a, i) {
        return _ref.apply(this, arguments);
    };
}(), m = function(e, t) {
    var a = t.node().getBBox();
    e.width = a.width, e.height = a.height;
};
function I(e, t, a, i) {
    return e.insert("polygon", ":first-child").attr("points", i.map(function(l) {
        return l.x + "," + l.y;
    }).join(" ")).attr("class", "label-container").attr("transform", "translate(" + -t / 2 + "," + a / 2 + ")");
}
function Lt(e, t) {
    return e.intersect(t);
}
function it(e, t, a, i) {
    var l = e.x, r = e.y, s = l - i.x, n = r - i.y, c = Math.sqrt(t * t * n * n + a * a * s * s), o = Math.abs(t * a * s / c);
    i.x < l && (o = -o);
    var h = Math.abs(t * a * n / c);
    return i.y < r && (h = -h), {
        x: l + o,
        y: r + h
    };
}
function St(e, t, a) {
    return it(e, t, t, a);
}
function Mt(e, t, a, i) {
    var l, r, s, n, c, o, h, y, p, f, x, k, d, u, S;
    if (l = t.y - e.y, s = e.x - t.x, c = t.x * e.y - e.x * t.y, p = l * a.x + s * a.y + c, f = l * i.x + s * i.y + c, !(p !== 0 && f !== 0 && J(p, f)) && (r = i.y - a.y, n = a.x - i.x, o = i.x * a.y - a.x * i.y, h = r * e.x + n * e.y + o, y = r * t.x + n * t.y + o, !(h !== 0 && y !== 0 && J(h, y)) && (x = l * n - r * s, x !== 0))) return k = Math.abs(x / 2), d = s * o - n * c, u = d < 0 ? (d - k) / x : (d + k) / x, d = r * c - l * o, S = d < 0 ? (d - k) / x : (d + k) / x, {
        x: u,
        y: S
    };
}
function J(e, t) {
    return e * t > 0;
}
function Tt(e, t, a) {
    var i = e.x, l = e.y, r = [], s = Number.POSITIVE_INFINITY, n = Number.POSITIVE_INFINITY;
    typeof t.forEach == "function" ? t.forEach(function(x) {
        s = Math.min(s, x.x), n = Math.min(n, x.y);
    }) : (s = Math.min(s, t.x), n = Math.min(n, t.y));
    for(var c = i - e.width / 2 - s, o = l - e.height / 2 - n, h = 0; h < t.length; h++){
        var y = t[h], p = t[h < t.length - 1 ? h + 1 : 0], f = Mt(e, a, {
            x: c + y.x,
            y: o + y.y
        }, {
            x: c + p.x,
            y: o + p.y
        });
        f && r.push(f);
    }
    return r.length ? (r.length > 1 && r.sort(function(x, k) {
        var d = x.x - a.x, u = x.y - a.y, S = Math.sqrt(d * d + u * u), E = k.x - a.x, C = k.y - a.y, W = Math.sqrt(E * E + C * C);
        return S < W ? -1 : S === W ? 0 : 1;
    }), r[0]) : e;
}
var Et = function(e, t) {
    var a = e.x, i = e.y, l = t.x - a, r = t.y - i, s = e.width / 2, n = e.height / 2, c, o;
    return Math.abs(r) * s > Math.abs(l) * n ? (r < 0 && (n = -n), c = r === 0 ? 0 : n * l / r, o = n) : (l < 0 && (s = -s), c = s, o = l === 0 ? 0 : s * r / l), {
        x: a + c,
        y: i + o
    };
}, Bt = Et, w = {
    node: Lt,
    circle: St,
    ellipse: it,
    polygon: Tt,
    rect: Bt
}, Ct = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, i, l, r, s;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    t.useHtmlLabels || Vn().flowchart.htmlLabels || (t.centerLabel = true);
                    return [
                        4,
                        M(e, t, "node " + t.classes, true)
                    ];
                case 1:
                    _ref = _state.sent(), i = _ref.shapeSvg, l = _ref.bbox, r = _ref.halfPadding;
                    L.info("Classes = ", t.classes);
                    s = i.insert("rect", ":first-child");
                    return [
                        2,
                        (s.attr("rx", t.rx).attr("ry", t.ry).attr("x", -l.width / 2 - r).attr("y", -l.height / 2 - r).attr("width", l.width + t.padding).attr("height", l.height + t.padding), m(t, s), t.intersect = function(n) {
                            return w.rect(t, n);
                        }, i)
                    ];
            }
        });
    });
    return function Ct(e, t) {
        return _ref.apply(this, arguments);
    };
}(), $t = Ct, _t = function(e) {
    var t = /* @__PURE__ */ new Set();
    var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
    try {
        for(var _iterator = e[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
            var a = _step.value;
            switch(a){
                case "x":
                    t.add("right"), t.add("left");
                    break;
                case "y":
                    t.add("up"), t.add("down");
                    break;
                default:
                    t.add(a);
                    break;
            }
        }
    } catch (err) {
        _didIteratorError = true;
        _iteratorError = err;
    } finally{
        try {
            if (!_iteratorNormalCompletion && _iterator.return != null) {
                _iterator.return();
            }
        } finally{
            if (_didIteratorError) {
                throw _iteratorError;
            }
        }
    }
    return t;
}, Rt = function(e, t, a) {
    var i = _t(e), l = 2, r = t.height + 2 * a.padding, s = r / l, n = t.width + 2 * s + a.padding, c = a.padding / 2;
    return i.has("right") && i.has("left") && i.has("up") && i.has("down") ? [
        // Bottom
        {
            x: 0,
            y: 0
        },
        {
            x: s,
            y: 0
        },
        {
            x: n / 2,
            y: 2 * c
        },
        {
            x: n - s,
            y: 0
        },
        {
            x: n,
            y: 0
        },
        // Right
        {
            x: n,
            y: -r / 3
        },
        {
            x: n + 2 * c,
            y: -r / 2
        },
        {
            x: n,
            y: -2 * r / 3
        },
        {
            x: n,
            y: -r
        },
        // Top
        {
            x: n - s,
            y: -r
        },
        {
            x: n / 2,
            y: -r - 2 * c
        },
        {
            x: s,
            y: -r
        },
        // Left
        {
            x: 0,
            y: -r
        },
        {
            x: 0,
            y: -2 * r / 3
        },
        {
            x: -2 * c,
            y: -r / 2
        },
        {
            x: 0,
            y: -r / 3
        }
    ] : i.has("right") && i.has("left") && i.has("up") ? [
        {
            x: s,
            y: 0
        },
        {
            x: n - s,
            y: 0
        },
        {
            x: n,
            y: -r / 2
        },
        {
            x: n - s,
            y: -r
        },
        {
            x: s,
            y: -r
        },
        {
            x: 0,
            y: -r / 2
        }
    ] : i.has("right") && i.has("left") && i.has("down") ? [
        {
            x: 0,
            y: 0
        },
        {
            x: s,
            y: -r
        },
        {
            x: n - s,
            y: -r
        },
        {
            x: n,
            y: 0
        }
    ] : i.has("right") && i.has("up") && i.has("down") ? [
        {
            x: 0,
            y: 0
        },
        {
            x: n,
            y: -s
        },
        {
            x: n,
            y: -r + s
        },
        {
            x: 0,
            y: -r
        }
    ] : i.has("left") && i.has("up") && i.has("down") ? [
        {
            x: n,
            y: 0
        },
        {
            x: 0,
            y: -s
        },
        {
            x: 0,
            y: -r + s
        },
        {
            x: n,
            y: -r
        }
    ] : i.has("right") && i.has("left") ? [
        {
            x: s,
            y: 0
        },
        {
            x: s,
            y: -c
        },
        {
            x: n - s,
            y: -c
        },
        {
            x: n - s,
            y: 0
        },
        {
            x: n,
            y: -r / 2
        },
        {
            x: n - s,
            y: -r
        },
        {
            x: n - s,
            y: -r + c
        },
        {
            x: s,
            y: -r + c
        },
        {
            x: s,
            y: -r
        },
        {
            x: 0,
            y: -r / 2
        }
    ] : i.has("up") && i.has("down") ? [
        // Bottom center
        {
            x: n / 2,
            y: 0
        },
        // Left pont of bottom arrow
        {
            x: 0,
            y: -c
        },
        {
            x: s,
            y: -c
        },
        // Left top over vertical section
        {
            x: s,
            y: -r + c
        },
        {
            x: 0,
            y: -r + c
        },
        // Top of arrow
        {
            x: n / 2,
            y: -r
        },
        {
            x: n,
            y: -r + c
        },
        // Top of right vertical bar
        {
            x: n - s,
            y: -r + c
        },
        {
            x: n - s,
            y: -c
        },
        {
            x: n,
            y: -c
        }
    ] : i.has("right") && i.has("up") ? [
        {
            x: 0,
            y: 0
        },
        {
            x: n,
            y: -s
        },
        {
            x: 0,
            y: -r
        }
    ] : i.has("right") && i.has("down") ? [
        {
            x: 0,
            y: 0
        },
        {
            x: n,
            y: 0
        },
        {
            x: 0,
            y: -r
        }
    ] : i.has("left") && i.has("up") ? [
        {
            x: n,
            y: 0
        },
        {
            x: 0,
            y: -s
        },
        {
            x: n,
            y: -r
        }
    ] : i.has("left") && i.has("down") ? [
        {
            x: n,
            y: 0
        },
        {
            x: 0,
            y: 0
        },
        {
            x: n,
            y: -r
        }
    ] : i.has("right") ? [
        {
            x: s,
            y: -c
        },
        {
            x: s,
            y: -c
        },
        {
            x: n - s,
            y: -c
        },
        {
            x: n - s,
            y: 0
        },
        {
            x: n,
            y: -r / 2
        },
        {
            x: n - s,
            y: -r
        },
        {
            x: n - s,
            y: -r + c
        },
        // top left corner of arrow
        {
            x: s,
            y: -r + c
        },
        {
            x: s,
            y: -r + c
        }
    ] : i.has("left") ? [
        {
            x: s,
            y: 0
        },
        {
            x: s,
            y: -c
        },
        // Two points, the right corners
        {
            x: n - s,
            y: -c
        },
        {
            x: n - s,
            y: -r + c
        },
        {
            x: s,
            y: -r + c
        },
        {
            x: s,
            y: -r
        },
        {
            x: 0,
            y: -r / 2
        }
    ] : i.has("up") ? [
        // Bottom center
        {
            x: s,
            y: -c
        },
        // Left top over vertical section
        {
            x: s,
            y: -r + c
        },
        {
            x: 0,
            y: -r + c
        },
        // Top of arrow
        {
            x: n / 2,
            y: -r
        },
        {
            x: n,
            y: -r + c
        },
        // Top of right vertical bar
        {
            x: n - s,
            y: -r + c
        },
        {
            x: n - s,
            y: -c
        }
    ] : i.has("down") ? [
        // Bottom center
        {
            x: n / 2,
            y: 0
        },
        // Left pont of bottom arrow
        {
            x: 0,
            y: -c
        },
        {
            x: s,
            y: -c
        },
        // Left top over vertical section
        {
            x: s,
            y: -r + c
        },
        {
            x: n - s,
            y: -r + c
        },
        {
            x: n - s,
            y: -c
        },
        {
            x: n,
            y: -c
        }
    ] : [
        {
            x: 0,
            y: 0
        }
    ];
}, K = function(e) {
    return e ? " " + e : "";
}, _ = function(e, t) {
    return "".concat("node default").concat(K(e.classes), " ").concat(K(e.class));
}, P = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n, c;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = l + r, n = [
                        {
                            x: s / 2,
                            y: 0
                        },
                        {
                            x: s,
                            y: -s / 2
                        },
                        {
                            x: s / 2,
                            y: -s
                        },
                        {
                            x: 0,
                            y: -s / 2
                        }
                    ];
                    L.info("Question main (Circle)");
                    c = I(a, s, s, n);
                    return [
                        2,
                        (c.attr("style", t.style), m(t, c), t.intersect = function(o) {
                            return L.warn("Intersect called"), w.polygon(t, n, o);
                        }, a)
                    ];
            }
        });
    });
    return function P(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Ht = function(e, t) {
    var a = e.insert("g").attr("class", "node default").attr("id", t.domId || t.id), i = 28, l = [
        {
            x: 0,
            y: i / 2
        },
        {
            x: i / 2,
            y: 0
        },
        {
            x: 0,
            y: -i / 2
        },
        {
            x: -i / 2,
            y: 0
        }
    ];
    return a.insert("polygon", ":first-child").attr("points", l.map(function(s) {
        return s.x + "," + s.y;
    }).join(" ")).attr("class", "state-start").attr("r", 7).attr("width", 28).attr("height", 28), t.width = 28, t.height = 28, t.intersect = function Ht(s) {
        return w.circle(t, 14, s);
    }, a;
}, It = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n, c, o;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = 4, r = i.height + t.padding, s = r / l, n = i.width + 2 * s + t.padding, c = [
                        {
                            x: s,
                            y: 0
                        },
                        {
                            x: n - s,
                            y: 0
                        },
                        {
                            x: n,
                            y: -r / 2
                        },
                        {
                            x: n - s,
                            y: -r
                        },
                        {
                            x: s,
                            y: -r
                        },
                        {
                            x: 0,
                            y: -r / 2
                        }
                    ], o = I(a, n, r, c);
                    return [
                        2,
                        (o.attr("style", t.style), m(t, o), t.intersect = function(h) {
                            return w.polygon(t, c, h);
                        }, a)
                    ];
            }
        });
    });
    return function It(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Nt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n, c, o;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, void 0, true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = 2, r = i.height + 2 * t.padding, s = r / l, n = i.width + 2 * s + t.padding, c = Rt(t.directions, i, t), o = I(a, n, r, c);
                    return [
                        2,
                        (o.attr("style", t.style), m(t, o), t.intersect = function(h) {
                            return w.polygon(t, c, h);
                        }, a)
                    ];
            }
        });
    });
    return function Nt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Ot = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = [
                        {
                            x: -r / 2,
                            y: 0
                        },
                        {
                            x: l,
                            y: 0
                        },
                        {
                            x: l,
                            y: -r
                        },
                        {
                            x: -r / 2,
                            y: -r
                        },
                        {
                            x: 0,
                            y: -r / 2
                        }
                    ];
                    return [
                        2,
                        (I(a, l, r, s).attr("style", t.style), t.width = l + r, t.height = r, t.intersect = function(c) {
                            return w.polygon(t, s, c);
                        }, a)
                    ];
            }
        });
    });
    return function Ot(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Wt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = [
                        {
                            x: -2 * r / 6,
                            y: 0
                        },
                        {
                            x: l - r / 6,
                            y: 0
                        },
                        {
                            x: l + 2 * r / 6,
                            y: -r
                        },
                        {
                            x: r / 6,
                            y: -r
                        }
                    ], n = I(a, l, r, s);
                    return [
                        2,
                        (n.attr("style", t.style), m(t, n), t.intersect = function(c) {
                            return w.polygon(t, s, c);
                        }, a)
                    ];
            }
        });
    });
    return function Wt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Xt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = [
                        {
                            x: 2 * r / 6,
                            y: 0
                        },
                        {
                            x: l + r / 6,
                            y: 0
                        },
                        {
                            x: l - 2 * r / 6,
                            y: -r
                        },
                        {
                            x: -r / 6,
                            y: -r
                        }
                    ], n = I(a, l, r, s);
                    return [
                        2,
                        (n.attr("style", t.style), m(t, n), t.intersect = function(c) {
                            return w.polygon(t, s, c);
                        }, a)
                    ];
            }
        });
    });
    return function Xt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Yt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = [
                        {
                            x: -2 * r / 6,
                            y: 0
                        },
                        {
                            x: l + 2 * r / 6,
                            y: 0
                        },
                        {
                            x: l - r / 6,
                            y: -r
                        },
                        {
                            x: r / 6,
                            y: -r
                        }
                    ], n = I(a, l, r, s);
                    return [
                        2,
                        (n.attr("style", t.style), m(t, n), t.intersect = function(c) {
                            return w.polygon(t, s, c);
                        }, a)
                    ];
            }
        });
    });
    return function Yt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), At = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = [
                        {
                            x: r / 6,
                            y: 0
                        },
                        {
                            x: l - r / 6,
                            y: 0
                        },
                        {
                            x: l + 2 * r / 6,
                            y: -r
                        },
                        {
                            x: -2 * r / 6,
                            y: -r
                        }
                    ], n = I(a, l, r, s);
                    return [
                        2,
                        (n.attr("style", t.style), m(t, n), t.intersect = function(c) {
                            return w.polygon(t, s, c);
                        }, a)
                    ];
            }
        });
    });
    return function At(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Dt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = [
                        {
                            x: 0,
                            y: 0
                        },
                        {
                            x: l + r / 2,
                            y: 0
                        },
                        {
                            x: l,
                            y: -r / 2
                        },
                        {
                            x: l + r / 2,
                            y: -r
                        },
                        {
                            x: 0,
                            y: -r
                        }
                    ], n = I(a, l, r, s);
                    return [
                        2,
                        (n.attr("style", t.style), m(t, n), t.intersect = function(c) {
                            return w.polygon(t, s, c);
                        }, a)
                    ];
            }
        });
    });
    return function Dt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), jt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n, c, o;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = l / 2, s = r / (2.5 + l / 50), n = i.height + s + t.padding, c = "M 0," + s + " a " + r + "," + s + " 0,0,0 " + l + " 0 a " + r + "," + s + " 0,0,0 " + -l + " 0 l 0," + n + " a " + r + "," + s + " 0,0,0 " + l + " 0 l 0," + -n, o = a.attr("label-offset-y", s).insert("path", ":first-child").attr("style", t.style).attr("d", c).attr("transform", "translate(" + -l / 2 + "," + -(n / 2 + s) + ")");
                    return [
                        2,
                        (m(t, o), t.intersect = function(h) {
                            var y = w.rect(t, h), p = y.x - t.x;
                            if (r != 0 && (Math.abs(p) < t.width / 2 || Math.abs(p) == t.width / 2 && Math.abs(y.y - t.y) > t.height / 2 - s)) {
                                var f = s * s * (1 - p * p / (r * r));
                                f != 0 && (f = Math.sqrt(f)), f = s - f, h.y - t.y > 0 && (f = -f), y.y += f;
                            }
                            return y;
                        }, a)
                    ];
            }
        });
    });
    return function jt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Ut = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n, c, o, h;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, "node " + t.classes + " " + t.class, true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = _ref.halfPadding, r = a.insert("rect", ":first-child"), s = t.positioned ? t.width : i.width + t.padding, n = t.positioned ? t.height : i.height + t.padding, c = t.positioned ? -s / 2 : -i.width / 2 - l, o = t.positioned ? -n / 2 : -i.height / 2 - l;
                    if (r.attr("class", "basic label-container").attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("x", c).attr("y", o).attr("width", s).attr("height", n), t.props) {
                        h = new Set(Object.keys(t.props));
                        t.props.borders && (V(r, t.props.borders, s, n), h.delete("borders")), h.forEach(function(y) {
                            L.warn("Unknown node property ".concat(y));
                        });
                    }
                    return [
                        2,
                        (m(t, r), t.intersect = function(h) {
                            return w.rect(t, h);
                        }, a)
                    ];
            }
        });
    });
    return function Ut(e, t) {
        return _ref.apply(this, arguments);
    };
}(), zt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n, c, o, h;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, "node " + t.classes, true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = _ref.halfPadding, r = a.insert("rect", ":first-child"), s = t.positioned ? t.width : i.width + t.padding, n = t.positioned ? t.height : i.height + t.padding, c = t.positioned ? -s / 2 : -i.width / 2 - l, o = t.positioned ? -n / 2 : -i.height / 2 - l;
                    if (r.attr("class", "basic cluster composite label-container").attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("x", c).attr("y", o).attr("width", s).attr("height", n), t.props) {
                        h = new Set(Object.keys(t.props));
                        t.props.borders && (V(r, t.props.borders, s, n), h.delete("borders")), h.forEach(function(y) {
                            L.warn("Unknown node property ".concat(y));
                        });
                    }
                    return [
                        2,
                        (m(t, r), t.intersect = function(h) {
                            return w.rect(t, h);
                        }, a)
                    ];
            }
        });
    });
    return function zt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Zt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, "label", true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg;
                    L.trace("Classes = ", t.class);
                    i = a.insert("rect", ":first-child"), l = 0, r = 0;
                    if (i.attr("width", l).attr("height", r), a.attr("class", "label edgeLabel"), t.props) {
                        s = new Set(Object.keys(t.props));
                        t.props.borders && (V(i, t.props.borders, l, r), s.delete("borders")), s.forEach(function(n) {
                            L.warn("Unknown node property ".concat(n));
                        });
                    }
                    return [
                        2,
                        (m(t, i), t.intersect = function(s) {
                            return w.rect(t, s);
                        }, a)
                    ];
            }
        });
    });
    return function Zt(e, t) {
        return _ref.apply(this, arguments);
    };
}();
function V(e, t, a, i) {
    var l = [], r = function(n) {
        l.push(n, 0);
    }, s = function(n) {
        l.push(0, n);
    };
    t.includes("t") ? (L.debug("add top border"), r(a)) : s(a), t.includes("r") ? (L.debug("add right border"), r(i)) : s(i), t.includes("b") ? (L.debug("add bottom border"), r(a)) : s(a), t.includes("l") ? (L.debug("add left border"), r(i)) : s(i), e.attr("stroke-dasharray", l.join(" "));
}
var Gt = function(e, t) {
    var a;
    t.classes ? a = "node " + t.classes : a = "node default";
    var i = e.insert("g").attr("class", a).attr("id", t.domId || t.id), l = i.insert("rect", ":first-child"), r = i.insert("line"), s = i.insert("g").attr("class", "label"), n = t.labelText.flat ? t.labelText.flat() : t.labelText;
    var c = "";
    (typeof n === "undefined" ? "undefined" : _type_of(n)) == "object" ? c = n[0] : c = n, L.info("Label text abc79", c, n, (typeof n === "undefined" ? "undefined" : _type_of(n)) == "object");
    var o = s.node().appendChild(R(c, t.labelStyle, true, true));
    var h = {
        width: 0,
        height: 0
    };
    if (La(Vn().flowchart.htmlLabels)) {
        var k = o.children[0], d = bt$1(o);
        h = k.getBoundingClientRect(), d.attr("width", h.width), d.attr("height", h.height);
    }
    L.info("Text 2", n);
    var y = n.slice(1, n.length);
    var p = o.getBBox();
    var f = s.node().appendChild(R(y.join ? y.join("<br/>") : y, t.labelStyle, true, true));
    if (La(Vn().flowchart.htmlLabels)) {
        var k1 = f.children[0], d1 = bt$1(f);
        h = k1.getBoundingClientRect(), d1.attr("width", h.width), d1.attr("height", h.height);
    }
    var x = t.padding / 2;
    return bt$1(f).attr("transform", "translate( " + // (titleBox.width - bbox.width) / 2 +
    (h.width > p.width ? 0 : (p.width - h.width) / 2) + ", " + (p.height + x + 5) + ")"), bt$1(o).attr("transform", "translate( " + // (titleBox.width - bbox.width) / 2 +
    (h.width < p.width ? 0 : -(p.width - h.width) / 2) + ", 0)"), h = s.node().getBBox(), s.attr("transform", "translate(" + -h.width / 2 + ", " + (-h.height / 2 - x + 3) + ")"), l.attr("class", "outer title-state").attr("x", -h.width / 2 - x).attr("y", -h.height / 2 - x).attr("width", h.width + t.padding).attr("height", h.height + t.padding), r.attr("class", "divider").attr("x1", -h.width / 2 - x).attr("x2", h.width / 2 + x).attr("y1", -h.height / 2 - x + p.height + x).attr("y2", -h.height / 2 - x + p.height + x), m(t, l), t.intersect = function Gt(k) {
        return w.rect(t, k);
    }, i;
}, Ft = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.height + t.padding, r = i.width + l / 4 + t.padding, s = a.insert("rect", ":first-child").attr("style", t.style).attr("rx", l / 2).attr("ry", l / 2).attr("x", -r / 2).attr("y", -l / 2).attr("width", r).attr("height", l);
                    return [
                        2,
                        (m(t, s), t.intersect = function(n) {
                            return w.rect(t, n);
                        }, a)
                    ];
            }
        });
    });
    return function Ft(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Qt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = _ref.halfPadding, r = a.insert("circle", ":first-child");
                    return [
                        2,
                        (r.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("r", i.width / 2 + l).attr("width", i.width + t.padding).attr("height", i.height + t.padding), L.info("Circle main"), m(t, r), t.intersect = function(s) {
                            return L.info("Circle intersect", t, i.width / 2 + l, s), w.circle(t, i.width / 2 + l, s);
                        }, a)
                    ];
            }
        });
    });
    return function Qt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Vt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n, c;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = _ref.halfPadding, r = 5, s = a.insert("g", ":first-child"), n = s.insert("circle"), c = s.insert("circle");
                    return [
                        2,
                        (s.attr("class", t.class), n.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("r", i.width / 2 + l + r).attr("width", i.width + t.padding + r * 2).attr("height", i.height + t.padding + r * 2), c.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("r", i.width / 2 + l).attr("width", i.width + t.padding).attr("height", i.height + t.padding), L.info("DoubleCircle main"), m(t, n), t.intersect = function(o) {
                            return L.info("DoubleCircle intersect", t, i.width / 2 + l + r, o), w.circle(t, i.width / 2 + l + r, o);
                        }, a)
                    ];
            }
        });
    });
    return function Vt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), qt = function() {
    var _ref = _async_to_generator(function(e, t) {
        var _ref, a, i, l, r, s, n;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    return [
                        4,
                        M(e, t, _(t), true)
                    ];
                case 1:
                    _ref = _state.sent(), a = _ref.shapeSvg, i = _ref.bbox, l = i.width + t.padding, r = i.height + t.padding, s = [
                        {
                            x: 0,
                            y: 0
                        },
                        {
                            x: l,
                            y: 0
                        },
                        {
                            x: l,
                            y: -r
                        },
                        {
                            x: 0,
                            y: -r
                        },
                        {
                            x: 0,
                            y: 0
                        },
                        {
                            x: -8,
                            y: 0
                        },
                        {
                            x: l + 8,
                            y: 0
                        },
                        {
                            x: l + 8,
                            y: -r
                        },
                        {
                            x: -8,
                            y: -r
                        },
                        {
                            x: -8,
                            y: 0
                        }
                    ], n = I(a, l, r, s);
                    return [
                        2,
                        (n.attr("style", t.style), m(t, n), t.intersect = function(c) {
                            return w.polygon(t, s, c);
                        }, a)
                    ];
            }
        });
    });
    return function qt(e, t) {
        return _ref.apply(this, arguments);
    };
}(), Jt = function(e, t) {
    var a = e.insert("g").attr("class", "node default").attr("id", t.domId || t.id), i = a.insert("circle", ":first-child");
    return i.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), m(t, i), t.intersect = function Jt(l) {
        return w.circle(t, 7, l);
    }, a;
}, tt = function(e, t, a) {
    var i = e.insert("g").attr("class", "node default").attr("id", t.domId || t.id);
    var l = 70, r = 10;
    a === "LR" && (l = 10, r = 70);
    var s = i.append("rect").attr("x", -1 * l / 2).attr("y", -1 * r / 2).attr("width", l).attr("height", r).attr("class", "fork-join");
    return m(t, s), t.height = t.height + t.padding / 2, t.width = t.width + t.padding / 2, t.intersect = function tt(n) {
        return w.rect(t, n);
    }, i;
}, Kt = function(e, t) {
    var a = e.insert("g").attr("class", "node default").attr("id", t.domId || t.id), i = a.insert("circle", ":first-child"), l = a.insert("circle", ":first-child");
    return l.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), i.attr("class", "state-end").attr("r", 5).attr("width", 10).attr("height", 10), m(t, l), t.intersect = function Kt(r) {
        return w.circle(t, 7, r);
    }, a;
}, Pt = function(e, t) {
    var a = t.padding / 2, i = 4, l = 8;
    var r;
    t.classes ? r = "node " + t.classes : r = "node default";
    var s = e.insert("g").attr("class", r).attr("id", t.domId || t.id), n = s.insert("rect", ":first-child"), c = s.insert("line"), o = s.insert("line");
    var h = 0, y = i;
    var p = s.insert("g").attr("class", "label");
    var f = 0;
    var x = t.classData.annotations && t.classData.annotations[0], k = t.classData.annotations[0] ? "«" + t.classData.annotations[0] + "»" : "", d = p.node().appendChild(R(k, t.labelStyle, true, true));
    var u = d.getBBox();
    if (La(Vn().flowchart.htmlLabels)) {
        var v = d.children[0], L = bt$1(d);
        u = v.getBoundingClientRect(), L.attr("width", u.width), L.attr("height", u.height);
    }
    t.classData.annotations[0] && (y += u.height + i, h += u.width);
    var S = t.classData.label;
    t.classData.type !== void 0 && t.classData.type !== "" && (Vn().flowchart.htmlLabels ? S += "&lt;" + t.classData.type + "&gt;" : S += "<" + t.classData.type + ">");
    var E = p.node().appendChild(R(S, t.labelStyle, true, true));
    bt$1(E).attr("class", "classTitle");
    var C = E.getBBox();
    if (La(Vn().flowchart.htmlLabels)) {
        var v1 = E.children[0], L1 = bt$1(E);
        C = v1.getBoundingClientRect(), L1.attr("width", C.width), L1.attr("height", C.height);
    }
    y += C.height + i, C.width > h && (h = C.width);
    var W = [];
    t.classData.members.forEach(function(v) {
        var L = v.getDisplayDetails();
        var X = L.displayText;
        Vn().flowchart.htmlLabels && (X = X.replace(/</g, "&lt;").replace(/>/g, "&gt;"));
        var N = p.node().appendChild(R(X, L.cssStyle ? L.cssStyle : t.labelStyle, true, true));
        var $ = N.getBBox();
        if (La(Vn().flowchart.htmlLabels)) {
            var F = N.children[0], D = bt$1(N);
            $ = F.getBoundingClientRect(), D.attr("width", $.width), D.attr("height", $.height);
        }
        $.width > h && (h = $.width), y += $.height + i, W.push(N);
    }), y += l;
    var A = [];
    if (t.classData.methods.forEach(function(v) {
        var L = v.getDisplayDetails();
        var X = L.displayText;
        Vn().flowchart.htmlLabels && (X = X.replace(/</g, "&lt;").replace(/>/g, "&gt;"));
        var N = p.node().appendChild(R(X, L.cssStyle ? L.cssStyle : t.labelStyle, true, true));
        var $ = N.getBBox();
        if (La(Vn().flowchart.htmlLabels)) {
            var F = N.children[0], D = bt$1(N);
            $ = F.getBoundingClientRect(), D.attr("width", $.width), D.attr("height", $.height);
        }
        $.width > h && (h = $.width), y += $.height + i, A.push(N);
    }), y += l, x) {
        var v2 = (h - u.width) / 2;
        bt$1(d).attr("transform", "translate( " + (-1 * h / 2 + v2) + ", " + -1 * y / 2 + ")"), f = u.height + i;
    }
    var nt = (h - C.width) / 2;
    return bt$1(E).attr("transform", "translate( " + (-1 * h / 2 + nt) + ", " + (-1 * y / 2 + f) + ")"), f += C.height + i, c.attr("class", "divider").attr("x1", -h / 2 - a).attr("x2", h / 2 + a).attr("y1", -y / 2 - a + l + f).attr("y2", -y / 2 - a + l + f), f += l, W.forEach(function(v) {
        bt$1(v).attr("transform", "translate( " + -h / 2 + ", " + (-1 * y / 2 + f + l / 2) + ")");
        var L = v == null ? void 0 : v.getBBox();
        var _ref;
        f += ((_ref = L == null ? void 0 : L.height) !== null && _ref !== void 0 ? _ref : 0) + i;
    }), f += l, o.attr("class", "divider").attr("x1", -h / 2 - a).attr("x2", h / 2 + a).attr("y1", -y / 2 - a + l + f).attr("y2", -y / 2 - a + l + f), f += l, A.forEach(function(v) {
        bt$1(v).attr("transform", "translate( " + -h / 2 + ", " + (-1 * y / 2 + f) + ")");
        var L = v == null ? void 0 : v.getBBox();
        var _ref;
        f += ((_ref = L == null ? void 0 : L.height) !== null && _ref !== void 0 ? _ref : 0) + i;
    }), n.attr("style", t.style).attr("class", "outer title-state").attr("x", -h / 2 - a).attr("y", -(y / 2) - a).attr("width", h + t.padding).attr("height", y + t.padding), m(t, n), t.intersect = function Pt(v) {
        return w.rect(t, v);
    }, s;
}, rt = {
    rhombus: P,
    composite: zt,
    question: P,
    rect: Ut,
    labelRect: Zt,
    rectWithTitle: Gt,
    choice: Ht,
    circle: Qt,
    doublecircle: Vt,
    stadium: Ft,
    hexagon: It,
    block_arrow: Nt,
    rect_left_inv_arrow: Ot,
    lean_right: Wt,
    lean_left: Xt,
    trapezoid: Yt,
    inv_trapezoid: At,
    rect_right_inv_arrow: Dt,
    cylinder: jt,
    start: Jt,
    end: Kt,
    note: $t,
    subroutine: qt,
    fork: tt,
    join: tt,
    class_box: Pt
};
var Y = {};
var or = function() {
    var _ref = _async_to_generator(function(e, t, a) {
        var i, l, r;
        return _ts_generator(this, function(_state) {
            switch(_state.label){
                case 0:
                    if (!t.link) return [
                        3,
                        2
                    ];
                    Vn().securityLevel === "sandbox" ? r = "_top" : t.linkTarget && (r = t.linkTarget || "_blank"), i = e.insert("svg:a").attr("xlink:href", t.link).attr("target", r);
                    return [
                        4,
                        rt[t.shape](i, t, a)
                    ];
                case 1:
                    l = _state.sent();
                    return [
                        3,
                        4
                    ];
                case 2:
                    return [
                        4,
                        rt[t.shape](e, t, a)
                    ];
                case 3:
                    l = _state.sent(), i = l;
                    _state.label = 4;
                case 4:
                    return [
                        2,
                        (t.tooltip && l.attr("title", t.tooltip), t.class && l.attr("class", "node default " + t.class), i.attr("data-node", "true"), i.attr("data-id", t.id), Y[t.id] = i, t.haveCallback && Y[t.id].attr("class", Y[t.id].attr("class") + " clickable"), i)
                    ];
            }
        });
    });
    return function or(e, t, a) {
        return _ref.apply(this, arguments);
    };
}(), yr = function(e, t) {
    Y[t.id] = e;
}, fr = function() {
    Y = {};
}, pr = function(e) {
    var t = Y[e.id];
    L.trace("Transforming node", e.diff, e, "translate(" + (e.x - e.width / 2 - 5) + ", " + e.width / 2 + ")");
    var a = 8, i = e.diff || 0;
    return e.clusterNode ? t.attr("transform", "translate(" + (e.x + i - e.width / 2) + ", " + (e.y - e.height / 2 - a) + ")") : t.attr("transform", "translate(" + e.x + ", " + e.y + ")"), i;
}, tr = function(param) {
    var e = param.flowchart;
    var l, r;
    var _ref, _ref1;
    var t = (_ref = (l = e == null ? void 0 : e.subGraphTitleMargin) == null ? void 0 : l.top) !== null && _ref !== void 0 ? _ref : 0, a = (_ref1 = (r = e == null ? void 0 : e.subGraphTitleMargin) == null ? void 0 : r.bottom) !== null && _ref1 !== void 0 ? _ref1 : 0, i = t + a;
    return {
        subGraphTitleTopMargin: t,
        subGraphTitleBottomMargin: a,
        subGraphTitleTotalMargin: i
    };
}, O = {
    aggregation: 18,
    extension: 18,
    composition: 18,
    dependency: 6,
    lollipop: 13.5,
    arrow_point: 5.3
};
function U(e, t) {
    if (e === void 0 || t === void 0) return {
        angle: 0,
        deltaX: 0,
        deltaY: 0
    };
    e = Z(e), t = Z(t);
    var _ref = [
        e.x,
        e.y
    ], a = _ref[0], i = _ref[1], _ref1 = [
        t.x,
        t.y
    ], l = _ref1[0], r = _ref1[1], s = l - a, n = r - i;
    return {
        angle: Math.atan(n / s),
        deltaX: s,
        deltaY: n
    };
}
var Z = function(e) {
    return Array.isArray(e) ? {
        x: e[0],
        y: e[1]
    } : e;
}, rr = function(e) {
    return {
        x: function x(t, a, i) {
            var l = 0;
            if (a === 0 && Object.hasOwn(O, e.arrowTypeStart)) {
                var _U = U(i[0], i[1]), r = _U.angle, s = _U.deltaX;
                l = O[e.arrowTypeStart] * Math.cos(r) * (s >= 0 ? 1 : -1);
            } else if (a === i.length - 1 && Object.hasOwn(O, e.arrowTypeEnd)) {
                var _U1 = U(i[i.length - 1], i[i.length - 2]), r1 = _U1.angle, s1 = _U1.deltaX;
                l = O[e.arrowTypeEnd] * Math.cos(r1) * (s1 >= 0 ? 1 : -1);
            }
            return Z(t).x + l;
        },
        y: function y(t, a, i) {
            var l = 0;
            if (a === 0 && Object.hasOwn(O, e.arrowTypeStart)) {
                var _U = U(i[0], i[1]), r = _U.angle, s = _U.deltaY;
                l = O[e.arrowTypeStart] * Math.abs(Math.sin(r)) * (s >= 0 ? 1 : -1);
            } else if (a === i.length - 1 && Object.hasOwn(O, e.arrowTypeEnd)) {
                var _U1 = U(i[i.length - 1], i[i.length - 2]), r1 = _U1.angle, s1 = _U1.deltaY;
                l = O[e.arrowTypeEnd] * Math.abs(Math.sin(r1)) * (s1 >= 0 ? 1 : -1);
            }
            return Z(t).y + l;
        }
    };
}, ar = function(e, t, a, i, l) {
    t.arrowTypeStart && at(e, "start", t.arrowTypeStart, a, i, l), t.arrowTypeEnd && at(e, "end", t.arrowTypeEnd, a, i, l);
}, er = {
    arrow_cross: "cross",
    arrow_point: "point",
    arrow_barb: "barb",
    arrow_circle: "circle",
    aggregation: "aggregation",
    extension: "extension",
    composition: "composition",
    dependency: "dependency",
    lollipop: "lollipop"
}, at = function(e, t, a, i, l, r) {
    var s = er[a];
    if (!s) {
        L.warn("Unknown arrow type: ".concat(a));
        return;
    }
    var n = t === "start" ? "Start" : "End";
    e.attr("marker-".concat(t), "url(".concat(i, "#").concat(l, "_").concat(r, "-").concat(s).concat(n, ")"));
};
var G = {}, T = {};
var dr = function() {
    G = {}, T = {};
}, xr = function(e, t) {
    var a = La(Vn().flowchart.htmlLabels), i = t.labelType === "markdown" ? Ur(e, t.label, {
        style: t.labelStyle,
        useHtmlLabels: a,
        addSvgBackground: true
    }) : R(t.label, t.labelStyle), l = e.insert("g").attr("class", "edgeLabel"), r = l.insert("g").attr("class", "label");
    r.node().appendChild(i);
    var s = i.getBBox();
    if (a) {
        var c = i.children[0], o = bt$1(i);
        s = c.getBoundingClientRect(), o.attr("width", s.width), o.attr("height", s.height);
    }
    r.attr("transform", "translate(" + -s.width / 2 + ", " + -s.height / 2 + ")"), G[t.id] = l, t.width = s.width, t.height = s.height;
    var n;
    if (t.startLabelLeft) {
        var c1 = R(t.startLabelLeft, t.labelStyle), o1 = e.insert("g").attr("class", "edgeTerminals"), h = o1.insert("g").attr("class", "inner");
        n = h.node().appendChild(c1);
        var y = c1.getBBox();
        h.attr("transform", "translate(" + -y.width / 2 + ", " + -y.height / 2 + ")"), T[t.id] || (T[t.id] = {}), T[t.id].startLeft = o1, z(n, t.startLabelLeft);
    }
    if (t.startLabelRight) {
        var c2 = R(t.startLabelRight, t.labelStyle), o2 = e.insert("g").attr("class", "edgeTerminals"), h1 = o2.insert("g").attr("class", "inner");
        n = o2.node().appendChild(c2), h1.node().appendChild(c2);
        var y1 = c2.getBBox();
        h1.attr("transform", "translate(" + -y1.width / 2 + ", " + -y1.height / 2 + ")"), T[t.id] || (T[t.id] = {}), T[t.id].startRight = o2, z(n, t.startLabelRight);
    }
    if (t.endLabelLeft) {
        var c3 = R(t.endLabelLeft, t.labelStyle), o3 = e.insert("g").attr("class", "edgeTerminals"), h2 = o3.insert("g").attr("class", "inner");
        n = h2.node().appendChild(c3);
        var y2 = c3.getBBox();
        h2.attr("transform", "translate(" + -y2.width / 2 + ", " + -y2.height / 2 + ")"), o3.node().appendChild(c3), T[t.id] || (T[t.id] = {}), T[t.id].endLeft = o3, z(n, t.endLabelLeft);
    }
    if (t.endLabelRight) {
        var c4 = R(t.endLabelRight, t.labelStyle), o4 = e.insert("g").attr("class", "edgeTerminals"), h3 = o4.insert("g").attr("class", "inner");
        n = h3.node().appendChild(c4);
        var y3 = c4.getBBox();
        h3.attr("transform", "translate(" + -y3.width / 2 + ", " + -y3.height / 2 + ")"), o4.node().appendChild(c4), T[t.id] || (T[t.id] = {}), T[t.id].endRight = o4, z(n, t.endLabelRight);
    }
    return i;
};
function z(e, t) {
    Vn().flowchart.htmlLabels && e && (e.style.width = t.length * 9 + "px", e.style.height = "12px");
}
var gr = function(e, t) {
    L.debug("Moving label abc88 ", e.id, e.label, G[e.id], t);
    var a = t.updatedPath ? t.updatedPath : t.originalPath;
    var i = Vn(), _tr = tr(i), l = _tr.subGraphTitleTotalMargin;
    if (e.label) {
        var r = G[e.id];
        var s = e.x, n = e.y;
        if (a) {
            var c = ei.calcLabelPosition(a);
            L.debug("Moving label " + e.label + " from (", s, ",", n, ") to (", c.x, ",", c.y, ") abc88"), t.updatedPath && (s = c.x, n = c.y);
        }
        r.attr("transform", "translate(".concat(s, ", ").concat(n + l / 2, ")"));
    }
    if (e.startLabelLeft) {
        var r1 = T[e.id].startLeft;
        var s1 = e.x, n1 = e.y;
        if (a) {
            var c1 = ei.calcTerminalLabelPosition(e.arrowTypeStart ? 10 : 0, "start_left", a);
            s1 = c1.x, n1 = c1.y;
        }
        r1.attr("transform", "translate(".concat(s1, ", ").concat(n1, ")"));
    }
    if (e.startLabelRight) {
        var r2 = T[e.id].startRight;
        var s2 = e.x, n2 = e.y;
        if (a) {
            var c2 = ei.calcTerminalLabelPosition(e.arrowTypeStart ? 10 : 0, "start_right", a);
            s2 = c2.x, n2 = c2.y;
        }
        r2.attr("transform", "translate(".concat(s2, ", ").concat(n2, ")"));
    }
    if (e.endLabelLeft) {
        var r3 = T[e.id].endLeft;
        var s3 = e.x, n3 = e.y;
        if (a) {
            var c3 = ei.calcTerminalLabelPosition(e.arrowTypeEnd ? 10 : 0, "end_left", a);
            s3 = c3.x, n3 = c3.y;
        }
        r3.attr("transform", "translate(".concat(s3, ", ").concat(n3, ")"));
    }
    if (e.endLabelRight) {
        var r4 = T[e.id].endRight;
        var s4 = e.x, n4 = e.y;
        if (a) {
            var c4 = ei.calcTerminalLabelPosition(e.arrowTypeEnd ? 10 : 0, "end_right", a);
            s4 = c4.x, n4 = c4.y;
        }
        r4.attr("transform", "translate(".concat(s4, ", ").concat(n4, ")"));
    }
}, sr = function(e, t) {
    var a = e.x, i = e.y, l = Math.abs(t.x - a), r = Math.abs(t.y - i), s = e.width / 2, n = e.height / 2;
    return l >= s || r >= n;
}, ir = function(e, t, a) {
    L.debug("intersection calc abc89:\n  outsidePoint: ".concat(JSON.stringify(t), "\n  insidePoint : ").concat(JSON.stringify(a), "\n  node        : x:").concat(e.x, " y:").concat(e.y, " w:").concat(e.width, " h:").concat(e.height));
    var i = e.x, l = e.y, r = Math.abs(i - a.x), s = e.width / 2;
    var n = a.x < t.x ? s - r : s + r;
    var c = e.height / 2, o = Math.abs(t.y - a.y), h = Math.abs(t.x - a.x);
    if (Math.abs(l - t.y) * s > Math.abs(i - t.x) * c) {
        var y = a.y < t.y ? t.y - c - l : l - c - t.y;
        n = h * y / o;
        var p = {
            x: a.x < t.x ? a.x + n : a.x - h + n,
            y: a.y < t.y ? a.y + o - y : a.y - o + y
        };
        return n === 0 && (p.x = t.x, p.y = t.y), h === 0 && (p.x = t.x), o === 0 && (p.y = t.y), L.debug("abc89 topp/bott calc, Q ".concat(o, ", q ").concat(y, ", R ").concat(h, ", r ").concat(n), p), p;
    } else {
        a.x < t.x ? n = t.x - s - i : n = i - s - t.x;
        var y1 = o * n / h, p1 = a.x < t.x ? a.x + h - n : a.x - h + n, f = a.y < t.y ? a.y + y1 : a.y - y1;
        return L.debug("sides calc abc89, Q ".concat(o, ", q ").concat(y1, ", R ").concat(h, ", r ").concat(n), {
            _x: p1,
            _y: f
        }), n === 0 && (p1 = t.x, f = t.y), h === 0 && (p1 = t.x), o === 0 && (f = t.y), {
            x: p1,
            y: f
        };
    }
}, et = function(e, t) {
    L.debug("abc88 cutPathAtIntersect", e, t);
    var a = [], i = e[0], l = false;
    return e.forEach(function(r) {
        if (!sr(t, r) && !l) {
            var s = ir(t, i, r);
            var n = false;
            a.forEach(function(c) {
                n = n || c.x === s.x && c.y === s.y;
            }), a.some(function(c) {
                return c.x === s.x && c.y === s.y;
            }) || a.push(s), l = true;
        } else i = r, l || a.push(r);
    }), a;
}, ur = function ur(e, t, a, i, l, r, s) {
    var n = a.points;
    L.debug("abc88 InsertEdge: edge=", a, "e=", t);
    var c = false;
    var o = r.node(t.v);
    var h = r.node(t.w);
    h != null && h.intersect && o != null && o.intersect && (n = n.slice(1, a.points.length - 1), n.unshift(o.intersect(n[0])), n.push(h.intersect(n[n.length - 1]))), a.toCluster && (L.debug("to cluster abc88", i[a.toCluster]), n = et(a.points, i[a.toCluster].node), c = true), a.fromCluster && (L.debug("from cluster abc88", i[a.fromCluster]), n = et(n.reverse(), i[a.fromCluster].node).reverse(), c = true);
    var y = n.filter(function(C) {
        return !Number.isNaN(C.y);
    });
    var p = Pf;
    a.curve && (l === "graph" || l === "flowchart") && (p = a.curve);
    var _rr = rr(a), f = _rr.x, x = _rr.y, k = P$1().x(f).y(x).curve(p);
    var d;
    switch(a.thickness){
        case "normal":
            d = "edge-thickness-normal";
            break;
        case "thick":
            d = "edge-thickness-thick";
            break;
        case "invisible":
            d = "edge-thickness-thick";
            break;
        default:
            d = "";
    }
    switch(a.pattern){
        case "solid":
            d += " edge-pattern-solid";
            break;
        case "dotted":
            d += " edge-pattern-dotted";
            break;
        case "dashed":
            d += " edge-pattern-dashed";
            break;
    }
    var u = e.append("path").attr("d", k(y)).attr("id", a.id).attr("class", " " + d + (a.classes ? " " + a.classes : "")).attr("style", a.style);
    var S = "";
    (Vn().flowchart.arrowMarkerAbsolute || Vn().state.arrowMarkerAbsolute) && (S = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, S = S.replace(/\(/g, "\\("), S = S.replace(/\)/g, "\\)")), ar(u, a, S, s, l);
    var E = {};
    return c && (E.updatedPath = n), E.originalPath = a.points, E;
};

export { Bt as B, M, R, ar as a, dr as d, fr as f, gr as g, hr as h, m, or as o, pr as p, rr as r, tr as t, ur as u, xr as x, yr as y };
