CrypticX-YT / Performance Monitor w/ Ping

// ==UserScript==
// @name            Performance Monitor w/ Ping
// @description     Shows Ping, Fps, & Memory Usage. All Sites Are Included!! Drag It Anywhere On Your Screen!!
// @version         2.1.5
// @author          CrypticX
// @namespace       https://greasyfork.org/users/827487
// @compatible      Chrome
// @compatible      Opera
// @compatible      Firefox
// @icon            https://i.imgur.com/MrU4sID.png
// @include         https://*
// @include         http://*
// @grant           none
// @license         LGPL-3.0-or-later
// ==/UserScript==
 
 
 
 
'use strict';
(function(window, e) {
  if ("object" === typeof exports && "undefined" !== typeof module) {
    module.exports = e();
  } else {
    if ("function" === typeof define && define.amd) {
      define(e);
    } else {
      window.Stats = e();
    }
  }
})(this, function() {
  var init = function() {
    function addPanel(panel) {
      container.appendChild(panel.dom);
      return panel;
    }
    function showPanel(id) {
      var i = 0;
      for (; i < container.children.length; i++) {
        container.children[i].style.display = i === id ? "block" : "none";
      }
      p = id;
    }
    var p = 0;
    var container = document.createElement("div");
    container.style.cssText = "position:fixed;top:0;left:0;cursor:pointer;opacity:1.0;z-index:10000";
    container.addEventListener("click", function(event) {
      event.preventDefault();
      showPanel(++p % container.children.length);
    }, false);
    var beginTime = (performance || Date).now();
    var prevTime = beginTime;
    var value = 0;
    var msPanel = addPanel(new init.Panel("PING", "#f00", "#200"));
    var fpsPanel = addPanel(new init.Panel("FPS", "#0ff", "#022"));
    if (self.performance && self.performance.memory) {
      var memPanel = addPanel(new init.Panel("MB", "#f0f", "#202"));
    }
    showPanel(0);
    return {
      REVISION : 16,
      dom : container,
      addPanel : addPanel,
      showPanel : showPanel,
      begin : function() {
        beginTime = (performance || Date).now();
      },
      end : function() {
        value++;
        var time = (performance || Date).now();
        msPanel.update(time - beginTime, 200);
        if (time > prevTime + 1E3 && (fpsPanel.update(1E3 * value / (time - prevTime), 100), prevTime = time, value = 0, memPanel)) {
          var m = performance.memory;
          memPanel.update(m.usedJSHeapSize / 1048576, m.jsHeapSizeLimit / 1048576);
        }
        return time;
      },
      update : function() {
        beginTime = this.end();
      },
      domElement : container,
      setMode : showPanel
    };
  };
  init.Panel = function(label, container, position) {
    var t = Infinity;
    var val = 0;
    var round = Math.round;
    var r = round(window.devicePixelRatio || 999);
    var w = 80 * r;
    var h = 48 * r;
    var right = 3 * r;
    var padding = 2 * r;
    var x = 3 * r;
    var y = 15 * r;
    var width = 74 * r;
    var height = 30 * r;
    var elem = document.createElement("canvas");
    elem.width = w;
    elem.height = h;
    elem.style.cssText = "width:150px;height:90px";
    var context = elem.getContext("2d");
    context.font = "Bold " + 9.5 * r + "px Helvetica,Arial,sans-serif";
    context.textBaseline = "top";
    context.fillStyle = position;
    context.fillRect(0, 0, w, h);
    context.fillStyle = container;
    context.fillText(label, right, padding);
    context.fillRect(x, y, width, height);
    context.fillStyle = position;
    context.globalAlpha = 0.9;
    context.fillRect(x, y, width, height);
    return {
      dom : elem,
      update : function(i, radius) {
        t = Math.min(t, i);
        val = Math.max(val, i);
        context.fillStyle = position;
        context.globalAlpha = 1;
        context.fillRect(0, 0, w, y);
        context.fillStyle = container;
        context.fillText(round(100*i)/100 + " " + label + " (" + round(t) + "-" + round(val) + ")", right, padding);
        context.drawImage(elem, x + r, y, width - r, height, x, y, width - r, height);
        context.fillRect(x + width - r, y, r, height);
        context.fillStyle = position;
        context.globalAlpha = .9;
        context.fillRect(x + width - r, y, r, round((1 - i / radius) * height));
      }
    };
  };
  return init;
});
 
 
//Move Script
 
! function (t) {
    if ("object" == typeof exports && "undefined" != typeof module) module.exports = t();
    else if ("function" == typeof define && define.amd) define([], t);
    else {
        ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).interact = t()
    }
}(function () {
    function t(e) {
        var n;
        return function (t) {
            return n || e(n = {
                exports: {},
                parent: t
            }, n.exports), n.exports
        }
    }
    var M = t(function (t, e) {
            "use strict";
 
            function a(t) {
                return (a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
                    return typeof t
                } : function (t) {
                    return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                })(t)
            }
            Object.defineProperty(e, "__esModule", {
                value: !0
            }), e.default = e.Interactable = void 0;
            var u = r(j),
                l = n(A),
                s = n(B),
                c = n(Tt),
                f = n(Qt),
                p = r(P),
                d = n(te),
                o = n(ue),
                v = O({});
 
            function n(t) {
                return t && t.__esModule ? t : {
                    default: t
                }
            }
 
            function y() {
                if ("function" != typeof WeakMap) return null;
                var t = new WeakMap;
                return y = function () {
                    return t
                }, t
            }
 
            function r(t) {
                if (t && t.__esModule) return t;
                if (null === t || "object" !== a(t) && "function" != typeof t) return {
                    default: t
                };
                var e = y();
                if (e && e.has(t)) return e.get(t);
                var n = {},
                    r = Object.defineProperty && Object.getOwnPropertyDescriptor;
                for (var o in t)
                    if (Object.prototype.hasOwnProperty.call(t, o)) {
                        var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                        i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                    } return n.default = t, e && e.set(t, n), n
            }
 
            function i(t, e) {
                for (var n = 0; n < e.length; n++) {
                    var r = e[n];
                    r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
                }
            }
 
            function h(t, e, n) {
                return e && i(t.prototype, e), n && i(t, n), t
            }
 
            function g(t, e, n) {
                return e in t ? Object.defineProperty(t, e, {
                    value: n,
                    enumerable: !0,
                    configurable: !0,
                    writable: !0
                }) : t[e] = n, t
            }
            var b = function () {
                    function r(t, e, n) {
                        ! function (t, e) {
                            if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                        }(this, r), g(this, "options", void 0), g(this, "_actions", void 0), g(this, "target", void 0), g(this, "events", new o.default), g(this, "_context", void 0), g(this, "_win", void 0), g(this, "_doc", void 0), this._actions = e.actions, this.target = t, this._context = e.context || n, this._win = (0, w.getWindow)((0, K.trySelector)(t) ? this._context : t), this._doc = this._win.document, this.set(e)
                    }
                    return h(r, [{
                        key: "_defaults",
                        get: function () {
                            return {
                                base: {},
                                perAction: {},
                                actions: {}
                            }
                        }
                    }]), h(r, [{
                        key: "setOnEvents",
                        value: function (t, e) {
                            return p.func(e.onstart) && this.on("".concat(t, "start"), e.onstart), p.func(e.onmove) && this.on("".concat(t, "move"), e.onmove), p.func(e.onend) && this.on("".concat(t, "end"), e.onend), p.func(e.oninertiastart) && this.on("".concat(t, "inertiastart"), e.oninertiastart), this
                        }
                    }, {
                        key: "updatePerActionListeners",
                        value: function (t, e, n) {
                            (p.array(e) || p.object(e)) && this.off(t, e), (p.array(n) || p.object(n)) && this.on(t, n)
                        }
                    }, {
                        key: "setPerAction",
                        value: function (t, e) {
                            var n = this._defaults;
                            for (var r in e) {
                                var o = r,
                                    i = this.options[t],
                                    a = e[o];
                                "listeners" === o && this.updatePerActionListeners(t, i.listeners, a), p.array(a) ? i[o] = u.from(a) : p.plainObject(a) ? (i[o] = (0, f.default)(i[o] || {}, (0, s.default)(a)), p.object(n.perAction[o]) && "enabled" in n.perAction[o] && (i[o].enabled = !1 !== a.enabled)) : p.bool(a) && p.object(n.perAction[o]) ? i[o].enabled = a : i[o] = a
                            }
                        }
                    }, {
                        key: "getRect",
                        value: function (t) {
                            return t = t || (p.element(this.target) ? this.target : null), p.string(this.target) && (t = t || this._context.querySelector(this.target)), (0, K.getElementRect)(t)
                        }
                    }, {
                        key: "rectChecker",
                        value: function (t) {
                            return p.func(t) ? (this.getRect = t, this) : null === t ? (delete this.getRect, this) : this.getRect
                        }
                    }, {
                        key: "_backCompatOption",
                        value: function (t, e) {
                            if ((0, K.trySelector)(e) || p.object(e)) {
                                for (var n in this.options[t] = e, this._actions.map) this.options[n][t] = e;
                                return this
                            }
                            return this.options[t]
                        }
                    }, {
                        key: "origin",
                        value: function (t) {
                            return this._backCompatOption("origin", t)
                        }
                    }, {
                        key: "deltaSource",
                        value: function (t) {
                            return "page" === t || "client" === t ? (this.options.deltaSource = t, this) : this.options.deltaSource
                        }
                    }, {
                        key: "context",
                        value: function () {
                            return this._context
                        }
                    }, {
                        key: "inContext",
                        value: function (t) {
                            return this._context === t.ownerDocument || (0, K.nodeContains)(this._context, t)
                        }
                    }, {
                        key: "testIgnoreAllow",
                        value: function (t, e, n) {
                            return !this.testIgnore(t.ignoreFrom, e, n) && this.testAllow(t.allowFrom, e, n)
                        }
                    }, {
                        key: "testAllow",
                        value: function (t, e, n) {
                            return !t || !!p.element(n) && (p.string(t) ? (0, K.matchesUpTo)(n, t, e) : !!p.element(t) && (0, K.nodeContains)(t, n))
                        }
                    }, {
                        key: "testIgnore",
                        value: function (t, e, n) {
                            return !(!t || !p.element(n)) && (p.string(t) ? (0, K.matchesUpTo)(n, t, e) : !!p.element(t) && (0, K.nodeContains)(t, n))
                        }
                    }, {
                        key: "fire",
                        value: function (t) {
                            return this.events.fire(t), this
                        }
                    }, {
                        key: "_onOff",
                        value: function (t, e, n, r) {
                            p.object(e) && !p.array(e) && (r = n, n = null);
                            var o = "on" === t ? "add" : "remove",
                                i = (0, d.default)(e, n);
                            for (var a in i) {
                                "wheel" === a && (a = l.default.wheelEvent);
                                for (var u = 0; u < i[a].length; u++) {
                                    var s = i[a][u];
                                    (0, v.isNonNativeEvent)(a, this._actions) ? this.events[t](a, s): p.string(this.target) ? c.default["".concat(o, "Delegate")](this.target, this._context, a, s, r) : c.default[o](this.target, a, s, r)
                                }
                            }
                            return this
                        }
                    }, {
                        key: "on",
                        value: function (t, e, n) {
                            return this._onOff("on", t, e, n)
                        }
                    }, {
                        key: "off",
                        value: function (t, e, n) {
                            return this._onOff("off", t, e, n)
                        }
                    }, {
                        key: "set",
                        value: function (t) {
                            var e = this._defaults;
                            for (var n in p.object(t) || (t = {}), this.options = (0, s.default)(e.base), this._actions.methodDict) {
                                var r = n,
                                    o = this._actions.methodDict[r];
                                this.options[r] = {}, this.setPerAction(r, (0, f.default)((0, f.default)({}, e.perAction), e.actions[r])), this[o](t[r])
                            }
                            for (var i in t) p.func(this[i]) && this[i](t[i]);
                            return this
                        }
                    }, {
                        key: "unset",
                        value: function () {
                            if (c.default.remove(this.target, "all"), p.string(this.target))
                                for (var t in c.default.delegatedEvents) {
                                    var e = c.default.delegatedEvents[t];
                                    e.selectors[0] === this.target && e.contexts[0] === this._context && (e.selectors.splice(0, 1), e.contexts.splice(0, 1), e.listeners.splice(0, 1)), c.default.remove(this._context, t, c.default.delegateListener), c.default.remove(this._context, t, c.default.delegateUseCapture, !0)
                                } else c.default.remove(this.target, "all")
                        }
                    }]), r
                }(),
                m = e.Interactable = b;
            e.default = m
        }),
        O = t(function (t, e) {
            "use strict";
            Object.defineProperty(e, "__esModule", {
                value: !0
            }), e.isNonNativeEvent = function (t, e) {
                if (e.phaselessTypes[t]) return !0;
                for (var n in e.map)
                    if (0 === t.indexOf(n) && t.substr(n.length) in e.phases) return !0;
                return !1
            }, e.Scope = void 0;
            var n = f(T),
                r = function (t) {
                    if (t && t.__esModule) return t;
                    if (null === t || "object" !== p(t) && "function" != typeof t) return {
                        default: t
                    };
                    var e = c();
                    if (e && e.has(t)) return e.get(t);
                    var n = {},
                        r = Object.defineProperty && Object.getOwnPropertyDescriptor;
                    for (var o in t)
                        if (Object.prototype.hasOwnProperty.call(t, o)) {
                            var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                            i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                        } n.default = t, e && e.set(t, n);
                    return n
                }(De),
                o = f($e),
                i = f(ue),
                a = f(M({})),
                u = f(Qe),
                s = f(bn),
                l = f(k({}));
 
            function c() {
                if ("function" != typeof WeakMap) return null;
                var t = new WeakMap;
                return c = function () {
                    return t
                }, t
            }
 
            function f(t) {
                return t && t.__esModule ? t : {
                    default: t
                }
            }
 
            function p(t) {
                return (p = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
                    return typeof t
                } : function (t) {
                    return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                })(t)
            }
 
            function d(t, e) {
                return !e || "object" !== p(e) && "function" != typeof e ? function (t) {
                    if (void 0 !== t) return t;
                    throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
                }(t) : e
            }
 
            function v(t, e, n) {
                return (v = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (t, e, n) {
                    var r = function (t, e) {
                        for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = y(t)););
                        return t
                    }(t, e);
                    if (r) {
                        var o = Object.getOwnPropertyDescriptor(r, e);
                        return o.get ? o.get.call(n) : o.value
                    }
                })(t, e, n || t)
            }
 
            function y(t) {
                return (y = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
                    return t.__proto__ || Object.getPrototypeOf(t)
                })(t)
            }
 
            function h(t, e) {
                return (h = Object.setPrototypeOf || function (t, e) {
                    return t.__proto__ = e, t
                })(t, e)
            }
 
            function g(t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }
 
            function b(t, e) {
                for (var n = 0; n < e.length; n++) {
                    var r = e[n];
                    r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
                }
            }
 
            function m(t, e, n) {
                return e && b(t.prototype, e), n && b(t, n), t
            }
 
            function O(t, e, n) {
                return e in t ? Object.defineProperty(t, e, {
                    value: n,
                    enumerable: !0,
                    configurable: !0,
                    writable: !0
                }) : t[e] = n, t
            }
            var w = r.win,
                P = r.browser,
                _ = r.raf,
                x = r.events;
            var j = function () {
                function t() {
                    var e = this;
                    g(this, t), O(this, "id", "__interact_scope_".concat(Math.floor(100 * Math.random()))), O(this, "isInitialized", !1), O(this, "listenerMaps", []), O(this, "browser", P), O(this, "events", x), O(this, "utils", r), O(this, "defaults", r.clone(o.default)), O(this, "Eventable", i.default), O(this, "actions", {
                        map: {},
                        phases: {
                            start: !0,
                            move: !0,
                            end: !0
                        },
                        methodDict: {},
                        phaselessTypes: {}
                    }), O(this, "InteractEvent", s.default), O(this, "Interactable", void 0), O(this, "interactables", new u.default(this)), O(this, "_win", void 0), O(this, "document", void 0), O(this, "window", void 0), O(this, "documents", []), O(this, "_plugins", {
                        list: [],
                        map: {}
                    }), O(this, "onWindowUnload", function (t) {
                        return e.removeDocument(t.target)
                    });
                    var n = this;
                    this.Interactable = function () {
                        function e() {
                            return g(this, e), d(this, y(e).apply(this, arguments))
                        }
                        return function (t, e) {
                            if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
                            t.prototype = Object.create(e && e.prototype, {
                                constructor: {
                                    value: t,
                                    writable: !0,
                                    configurable: !0
                                }
                            }), e && h(t, e)
                        }(e, a["default"]), m(e, [{
                            key: "set",
                            value: function (t) {
                                return v(y(e.prototype), "set", this).call(this, t), n.fire("interactable:set", {
                                    options: t,
                                    interactable: this
                                }), this
                            }
                        }, {
                            key: "unset",
                            value: function () {
                                v(y(e.prototype), "unset", this).call(this), n.interactables.list.splice(n.interactables.list.indexOf(this), 1), n.fire("interactable:unset", {
                                    interactable: this
                                })
                            }
                        }, {
                            key: "_defaults",
                            get: function () {
                                return n.defaults
                            }
                        }]), e
                    }()
                }
                return m(t, [{
                    key: "addListeners",
                    value: function (t, e) {
                        this.listenerMaps.push({
                            id: e,
                            map: t
                        })
                    }
                }, {
                    key: "fire",
                    value: function (t, e) {
                        for (var n = 0; n < this.listenerMaps.length; n++) {
                            var r = this.listenerMaps[n].map[t];
                            if (r && !1 === r(e, this, t)) return !1
                        }
                    }
                }, {
                    key: "init",
                    value: function (t) {
                        return this.isInitialized ? this : S(this, t)
                    }
                }, {
                    key: "pluginIsInstalled",
                    value: function (t) {
                        return this._plugins.map[t.id] || -1 !== this._plugins.list.indexOf(t)
                    }
                }, {
                    key: "usePlugin",
                    value: function (t, e) {
                        if (this.pluginIsInstalled(t)) return this;
                        if (t.id && (this._plugins.map[t.id] = t), this._plugins.list.push(t), t.install && t.install(this, e), t.listeners && t.before) {
                            for (var n = 0, r = this.listenerMaps.length, o = t.before.reduce(function (t, e) {
                                    return t[e] = !0, t
                                }, {}); n < r; n++) {
                                if (o[this.listenerMaps[n].id]) break
                            }
                            this.listenerMaps.splice(n, 0, {
                                id: t.id,
                                map: t.listeners
                            })
                        } else t.listeners && this.listenerMaps.push({
                            id: t.id,
                            map: t.listeners
                        });
                        return this
                    }
                }, {
                    key: "addDocument",
                    value: function (t, e) {
                        if (-1 !== this.getDocIndex(t)) return !1;
                        var n = w.getWindow(t);
                        e = e ? r.extend({}, e) : {}, this.documents.push({
                            doc: t,
                            options: e
                        }), x.documents.push(t), t !== this.document && x.add(n, "unload", this.onWindowUnload), this.fire("scope:add-document", {
                            doc: t,
                            window: n,
                            scope: this,
                            options: e
                        })
                    }
                }, {
                    key: "removeDocument",
                    value: function (t) {
                        var e = this.getDocIndex(t),
                            n = w.getWindow(t),
                            r = this.documents[e].options;
                        x.remove(n, "unload", this.onWindowUnload), this.documents.splice(e, 1), x.documents.splice(e, 1), this.fire("scope:remove-document", {
                            doc: t,
                            window: n,
                            scope: this,
                            options: r
                        })
                    }
                }, {
                    key: "getDocIndex",
                    value: function (t) {
                        for (var e = 0; e < this.documents.length; e++)
                            if (this.documents[e].doc === t) return e;
                        return -1
                    }
                }, {
                    key: "getDocOptions",
                    value: function (t) {
                        var e = this.getDocIndex(t);
                        return -1 === e ? null : this.documents[e].options
                    }
                }, {
                    key: "now",
                    value: function () {
                        return (this.window.Date || Date).now()
                    }
                }]), t
            }();
 
            function S(t, e) {
                return t.isInitialized = !0, w.init(e), n.default.init(e), P.init(e), _.init(e), x.init(e), t.usePlugin(l.default), t.document = e.document, t.window = e, t
            }
            e.Scope = j
        }),
        k = t(function (t, e) {
            "use strict";
            Object.defineProperty(e, "__esModule", {
                value: !0
            }), e.default = void 0;
            var P = n(A),
                u = n(T),
                f = n(Tt),
                _ = function (t) {
                    if (t && t.__esModule) return t;
                    if (null === t || "object" !== c(t) && "function" != typeof t) return {
                        default: t
                    };
                    var e = a();
                    if (e && e.has(t)) return e.get(t);
                    var n = {},
                        r = Object.defineProperty && Object.getOwnPropertyDescriptor;
                    for (var o in t)
                        if (Object.prototype.hasOwnProperty.call(t, o)) {
                            var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                            i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                        } n.default = t, e && e.set(t, n);
                    return n
                }(dt),
                s = n(Wn),
                o = n(Qn),
                l = (O({}), n(ar));
 
            function a() {
                if ("function" != typeof WeakMap) return null;
                var t = new WeakMap;
                return a = function () {
                    return t
                }, t
            }
 
            function n(t) {
                return t && t.__esModule ? t : {
                    default: t
                }
            }
 
            function c(t) {
                return (c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
                    return typeof t
                } : function (t) {
                    return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                })(t)
            }
 
            function x(t, e) {
                return function (t) {
                    if (Array.isArray(t)) return t
                }(t) || function (t, e) {
                    if (!(Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t))) return;
                    var n = [],
                        r = !0,
                        o = !1,
                        i = void 0;
                    try {
                        for (var a, u = t[Symbol.iterator](); !(r = (a = u.next()).done) && (n.push(a.value), !e || n.length !== e); r = !0);
                    } catch (t) {
                        o = !0, i = t
                    } finally {
                        try {
                            r || null == u.return || u.return()
                        } finally {
                            if (o) throw i
                        }
                    }
                    return n
                }(t, e) || function () {
                    throw new TypeError("Invalid attempt to destructure non-iterable instance")
                }()
            }
 
            function p(t, e) {
                for (var n = 0; n < e.length; n++) {
                    var r = e[n];
                    r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
                }
            }
 
            function d(t, e) {
                return !e || "object" !== c(e) && "function" != typeof e ? function (t) {
                    if (void 0 !== t) return t;
                    throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
                }(t) : e
            }
 
            function v(t) {
                return (v = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
                    return t.__proto__ || Object.getPrototypeOf(t)
                })(t)
            }
 
            function y(t, e) {
                return (y = Object.setPrototypeOf || function (t, e) {
                    return t.__proto__ = e, t
                })(t, e)
            }
            var h = ["pointerDown", "pointerMove", "pointerUp", "updatePointer", "removePointer", "windowBlur"];
 
            function g(O, w) {
                return function (t) {
                    var e = w.interactions.list,
                        n = _.getPointerType(t),
                        r = x(_.getEventTargets(t), 2),
                        o = r[0],
                        i = r[1],
                        a = [];
                    if (/^touch/.test(t.type)) {
                        w.prevTouchTime = w.now();
                        for (var u = 0; u < t.changedTouches.length; u++) {
                            s = t.changedTouches[u];
                            var s, l = {
                                    pointer: s,
                                    pointerId: _.getPointerId(s),
                                    pointerType: n,
                                    eventType: t.type,
                                    eventTarget: o,
                                    curEventTarget: i,
                                    scope: w
                                },
                                c = j(l);
                            a.push([l.pointer, l.eventTarget, l.curEventTarget, c])
                        }
                    } else {
                        var f = !1;
                        if (!P.default.supportsPointerEvent && /mouse/.test(t.type)) {
                            for (var p = 0; p < e.length && !f; p++) f = "mouse" !== e[p].pointerType && e[p].pointerIsDown;
                            f = f || w.now() - w.prevTouchTime < 500 || 0 === t.timeStamp
                        }
                        if (!f) {
                            var d = {
                                    pointer: t,
                                    pointerId: _.getPointerId(t),
                                    pointerType: n,
                                    eventType: t.type,
                                    curEventTarget: i,
                                    eventTarget: o,
                                    scope: w
                                },
                                v = j(d);
                            a.push([d.pointer, d.eventTarget, d.curEventTarget, v])
                        }
                    }
                    for (var y = 0; y < a.length; y++) {
                        var h = x(a[y], 4),
                            g = h[0],
                            b = h[1],
                            m = h[2];
                        h[3][O](g, t, b, m)
                    }
                }
            }
 
            function j(t) {
                var e = t.pointerType,
                    n = t.scope,
                    r = {
                        interaction: o.default.search(t),
                        searchDetails: t
                    };
                return n.fire("interactions:find", r), r.interaction || n.interactions.new({
                    pointerType: e
                })
            }
 
            function r(t, e) {
                var n = t.doc,
                    r = t.scope,
                    o = t.options,
                    i = r.interactions.docEvents,
                    a = f.default[e];
                for (var u in r.browser.isIOS && !o.events && (o.events = {
                        passive: !1
                    }), f.default.delegatedEvents) a(n, u, f.default.delegateListener), a(n, u, f.default.delegateUseCapture, !0);
                for (var s = o && o.events, l = 0; l < i.length; l++) {
                    var c;
                    c = i[l];
                    a(n, c.type, c.listener, s)
                }
            }
            var i = {
                id: "core/interactions",
                install: function (o) {
                    for (var t = {}, e = 0; e < h.length; e++) {
                        var n;
                        n = h[e];
                        t[n] = g(n, o)
                    }
                    var r, i = P.default.pEventTypes;
 
                    function a() {
                        for (var t = 0; t < o.interactions.list.length; t++) {
                            var e = o.interactions.list[t];
                            if (e.pointerIsDown && "touch" === e.pointerType && !e._interacting)
                                for (var n = function () {
                                        var n = e.pointers[r];
                                        o.documents.some(function (t) {
                                            var e = t.doc;
                                            return (0, K.nodeContains)(e, n.downTarget)
                                        }) || e.removePointer(n.pointer, n.event)
                                    }, r = 0; r < e.pointers.length; r++) {
                                    n()
                                }
                        }
                    }(r = u.default.PointerEvent ? [{
                        type: i.down,
                        listener: a
                    }, {
                        type: i.down,
                        listener: t.pointerDown
                    }, {
                        type: i.move,
                        listener: t.pointerMove
                    }, {
                        type: i.up,
                        listener: t.pointerUp
                    }, {
                        type: i.cancel,
                        listener: t.pointerUp
                    }] : [{
                        type: "mousedown",
                        listener: t.pointerDown
                    }, {
                        type: "mousemove",
                        listener: t.pointerMove
                    }, {
                        type: "mouseup",
                        listener: t.pointerUp
                    }, {
                        type: "touchstart",
                        listener: a
                    }, {
                        type: "touchstart",
                        listener: t.pointerDown
                    }, {
                        type: "touchmove",
                        listener: t.pointerMove
                    }, {
                        type: "touchend",
                        listener: t.pointerUp
                    }, {
                        type: "touchcancel",
                        listener: t.pointerUp
                    }]).push({
                        type: "blur",
                        listener: function (t) {
                            for (var e = 0; e < o.interactions.list.length; e++) {
                                o.interactions.list[e].documentBlur(t)
                            }
                        }
                    }), o.prevTouchTime = 0, o.Interaction = function () {
                        function t() {
                            return function (t, e) {
                                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                            }(this, t), d(this, v(t).apply(this, arguments))
                        }
                        var e, n, r;
                        return function (t, e) {
                            if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
                            t.prototype = Object.create(e && e.prototype, {
                                constructor: {
                                    value: t,
                                    writable: !0,
                                    configurable: !0
                                }
                            }), e && y(t, e)
                        }(t, s["default"]), e = t, (n = [{
                            key: "_now",
                            value: function () {
                                return o.now()
                            }
                        }, {
                            key: "pointerMoveTolerance",
                            get: function () {
                                return o.interactions.pointerMoveTolerance
                            },
                            set: function (t) {
                                o.interactions.pointerMoveTolerance = t
                            }
                        }]) && p(e.prototype, n), r && p(e, r), t
                    }(), o.interactions = {
                        list: [],
                        new: function (t) {
                            t.scopeFire = function (t, e) {
                                return o.fire(t, e)
                            };
                            var e = new o.Interaction(t);
                            return o.interactions.list.push(e), e
                        },
                        listeners: t,
                        docEvents: r,
                        pointerMoveTolerance: 1
                    }, o.usePlugin(l.default)
                },
                listeners: {
                    "scope:add-document": function (t) {
                        return r(t, "add")
                    },
                    "scope:remove-document": function (t) {
                        return r(t, "remove")
                    },
                    "interactable:unset": function (t, e) {
                        for (var n = t.interactable, r = e.interactions.list.length - 1; 0 <= r; r--) {
                            var o = e.interactions.list[r];
                            o.interactable === n && (o.stop(), e.fire("interactions:destroy", {
                                interaction: o
                            }), o.destroy(), 2 < e.interactions.list.length && e.interactions.list.splice(r, 1))
                        }
                    }
                },
                onDocSignal: r,
                doOnInteractions: g,
                methodNames: h
            };
            e.default = i
        }),
        e = {};
    Object.defineProperty(e, "__esModule", {
        value: !0
    }), e.default = void 0;
    e.default = function (t) {
        return !(!t || !t.Window) && t instanceof t.Window
    };
    var w = {};
    Object.defineProperty(w, "__esModule", {
        value: !0
    }), w.init = i, w.getWindow = a, w.default = void 0;
    var n, r = (n = e) && n.__esModule ? n : {
        default: n
    };
    var o = {
        realWindow: void 0,
        window: void 0,
        getWindow: a,
        init: i
    };
 
    function i(t) {
        var e = (o.realWindow = t).document.createTextNode("");
        e.ownerDocument !== t.document && "function" == typeof t.wrap && t.wrap(e) === e && (t = t.wrap(t)), o.window = t
    }
 
    function a(t) {
        return (0, r.default)(t) ? t : (t.ownerDocument || t).defaultView || o.window
    }
    "undefined" == typeof window ? (o.window = void 0, o.realWindow = void 0) : i(window), o.init = i;
    var u = o;
    w.default = u;
    var P = {};
    Object.defineProperty(P, "__esModule", {
        value: !0
    }), P.array = P.plainObject = P.element = P.string = P.bool = P.number = P.func = P.object = P.docFrag = P.window = void 0;
    var s = c(e),
        l = c(w);
 
    function c(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function f(t) {
        return (f = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    P.window = function (t) {
        return t === l.default.window || (0, s.default)(t)
    };
    P.docFrag = function (t) {
        return p(t) && 11 === t.nodeType
    };
    var p = function (t) {
        return !!t && "object" === f(t)
    };
    P.object = p;
 
    function d(t) {
        return "function" == typeof t
    }
    P.func = d;
    P.number = function (t) {
        return "number" == typeof t
    };
    P.bool = function (t) {
        return "boolean" == typeof t
    };
    P.string = function (t) {
        return "string" == typeof t
    };
    P.element = function (t) {
        if (!t || "object" !== f(t)) return !1;
        var e = l.default.getWindow(t) || l.default.window;
        return /object|function/.test(f(e.Element)) ? t instanceof e.Element : 1 === t.nodeType && "string" == typeof t.nodeName
    };
    P.plainObject = function (t) {
        return p(t) && !!t.constructor && /function Object\b/.test(t.constructor.toString())
    };
    P.array = function (t) {
        return p(t) && void 0 !== t.length && d(t.splice)
    };
    var v = {};
 
    function y(t) {
        return (y = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(v, "__esModule", {
        value: !0
    }), v.default = void 0;
    var h = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== y(t) && "function" != typeof t) return {
            default: t
        };
        var e = g();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(P);
 
    function g() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return g = function () {
            return t
        }, t
    }
 
    function b(t) {
        var e = t.interaction;
        if ("drag" === e.prepared.name) {
            var n = e.prepared.axis;
            "x" === n ? (e.coords.cur.page.y = e.coords.start.page.y, e.coords.cur.client.y = e.coords.start.client.y, e.coords.velocity.client.y = 0, e.coords.velocity.page.y = 0) : "y" === n && (e.coords.cur.page.x = e.coords.start.page.x, e.coords.cur.client.x = e.coords.start.client.x, e.coords.velocity.client.x = 0, e.coords.velocity.page.x = 0)
        }
    }
 
    function m(t) {
        var e = t.iEvent,
            n = t.interaction;
        if ("drag" === n.prepared.name) {
            var r = n.prepared.axis;
            if ("x" === r || "y" === r) {
                var o = "x" === r ? "y" : "x";
                e.page[o] = n.coords.start.page[o], e.client[o] = n.coords.start.client[o], e.delta[o] = 0
            }
        }
    }
    var _ = {
            id: "actions/drag",
            install: function (t) {
                var e = t.actions,
                    n = t.Interactable,
                    r = t.defaults;
                n.prototype.draggable = _.draggable, e.map.drag = _, e.methodDict.drag = "draggable", r.actions.drag = _.defaults
            },
            listeners: {
                "interactions:before-action-move": b,
                "interactions:action-resume": b,
                "interactions:action-move": m,
                "auto-start:check": function (t) {
                    var e = t.interaction,
                        n = t.interactable,
                        r = t.buttons,
                        o = n.options.drag;
                    if (o && o.enabled && (!e.pointerIsDown || !/mouse|pointer/.test(e.pointerType) || 0 != (r & n.options.drag.mouseButtons))) return !(t.action = {
                        name: "drag",
                        axis: "start" === o.lockAxis ? o.startAxis : o.lockAxis
                    })
                }
            },
            draggable: function (t) {
                return h.object(t) ? (this.options.drag.enabled = !1 !== t.enabled, this.setPerAction("drag", t), this.setOnEvents("drag", t), /^(xy|x|y|start)$/.test(t.lockAxis) && (this.options.drag.lockAxis = t.lockAxis), /^(xy|x|y)$/.test(t.startAxis) && (this.options.drag.startAxis = t.startAxis), this) : h.bool(t) ? (this.options.drag.enabled = t, this) : this.options.drag
            },
            beforeMove: b,
            move: m,
            defaults: {
                startAxis: "xy",
                lockAxis: "xy"
            },
            getCursor: function () {
                return "move"
            }
        },
        x = _;
    v.default = x;
    var j = {};
 
    function S(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            t.push(r)
        }
        return t
    }
 
    function E(t, e) {
        for (var n = 0; n < t.length; n++)
            if (e(t[n], n, t)) return n;
        return -1
    }
    Object.defineProperty(j, "__esModule", {
        value: !0
    }), j.contains = function (t, e) {
        return -1 !== t.indexOf(e)
    }, j.remove = function (t, e) {
        return t.splice(t.indexOf(e), 1)
    }, j.merge = S, j.from = function (t) {
        return S([], t)
    }, j.findIndex = E, j.find = function (t, e) {
        return t[E(t, e)]
    };
    var T = {};
    Object.defineProperty(T, "__esModule", {
        value: !0
    }), T.default = void 0;
    var D = {
        init: function (t) {
            var e = t;
            D.document = e.document, D.DocumentFragment = e.DocumentFragment || I, D.SVGElement = e.SVGElement || I, D.SVGSVGElement = e.SVGSVGElement || I, D.SVGElementInstance = e.SVGElementInstance || I, D.Element = e.Element || I, D.HTMLElement = e.HTMLElement || D.Element, D.Event = e.Event, D.Touch = e.Touch || I, D.PointerEvent = e.PointerEvent || e.MSPointerEvent
        },
        document: null,
        DocumentFragment: null,
        SVGElement: null,
        SVGSVGElement: null,
        SVGElementInstance: null,
        Element: null,
        HTMLElement: null,
        Event: null,
        Touch: null,
        PointerEvent: null
    };
 
    function I() {}
    var z = D;
    T.default = z;
    var A = {};
 
    function C(t) {
        return (C = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(A, "__esModule", {
        value: !0
    }), A.default = void 0;
    var W = Y(T),
        R = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== C(t) && "function" != typeof t) return {
                default: t
            };
            var e = X();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(P),
        F = Y(w);
 
    function X() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return X = function () {
            return t
        }, t
    }
 
    function Y(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var L = {
        init: function (t) {
            var e = W.default.Element,
                n = F.default.window.navigator;
            L.supportsTouch = "ontouchstart" in t || R.func(t.DocumentTouch) && W.default.document instanceof t.DocumentTouch, L.supportsPointerEvent = !1 !== n.pointerEnabled && !!W.default.PointerEvent, L.isIOS = /iP(hone|od|ad)/.test(n.platform), L.isIOS7 = /iP(hone|od|ad)/.test(n.platform) && /OS 7[^\d]/.test(n.appVersion), L.isIe9 = /MSIE 9/.test(n.userAgent), L.isOperaMobile = "Opera" === n.appName && L.supportsTouch && /Presto/.test(n.userAgent), L.prefixedMatchesSelector = "matches" in e.prototype ? "matches" : "webkitMatchesSelector" in e.prototype ? "webkitMatchesSelector" : "mozMatchesSelector" in e.prototype ? "mozMatchesSelector" : "oMatchesSelector" in e.prototype ? "oMatchesSelector" : "msMatchesSelector", L.pEventTypes = L.supportsPointerEvent ? W.default.PointerEvent === t.MSPointerEvent ? {
                up: "MSPointerUp",
                down: "MSPointerDown",
                over: "mouseover",
                out: "mouseout",
                move: "MSPointerMove",
                cancel: "MSPointerCancel"
            } : {
                up: "pointerup",
                down: "pointerdown",
                over: "pointerover",
                out: "pointerout",
                move: "pointermove",
                cancel: "pointercancel"
            } : null, L.wheelEvent = "onmousewheel" in W.default.document ? "mousewheel" : "wheel"
        },
        supportsTouch: null,
        supportsPointerEvent: null,
        isIOS7: null,
        isIOS: null,
        isIe9: null,
        isOperaMobile: null,
        prefixedMatchesSelector: null,
        pEventTypes: null,
        wheelEvent: null
    };
    var N = L;
    A.default = N;
    var B = {};
 
    function V(t) {
        return (V = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(B, "__esModule", {
        value: !0
    }), B.default = function t(e) {
        var n = {};
        for (var r in e) {
            var o = e[r];
            U.plainObject(o) ? n[r] = t(o) : U.array(o) ? n[r] = q.from(o) : n[r] = o
        }
        return n
    };
    var q = H(j),
        U = H(P);
 
    function G() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return G = function () {
            return t
        }, t
    }
 
    function H(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== V(t) && "function" != typeof t) return {
            default: t
        };
        var e = G();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
    var K = {};
 
    function $(t) {
        return ($ = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(K, "__esModule", {
        value: !0
    }), K.nodeContains = function (t, e) {
        for (; e;) {
            if (e === t) return !0;
            e = e.parentNode
        }
        return !1
    }, K.closest = function (t, e) {
        for (; Q.element(t);) {
            if (it(t, e)) return t;
            t = ot(t)
        }
        return null
    }, K.parentNode = ot, K.matchesSelector = it, K.indexOfDeepestElement = function (t) {
        var e, n, r = [],
            o = t[0],
            i = o ? 0 : -1;
        for (e = 1; e < t.length; e++) {
            var a = t[e];
            if (a && a !== o)
                if (o) {
                    if (a.parentNode !== a.ownerDocument)
                        if (o.parentNode !== a.ownerDocument)
                            if (a.parentNode !== o.parentNode) {
                                if (!r.length)
                                    for (var u = o, s = void 0;
                                        (s = at(u)) && s !== u.ownerDocument;) r.unshift(u), u = s;
                                var l = void 0;
                                if (o instanceof J.default.HTMLElement && a instanceof J.default.SVGElement && !(a instanceof J.default.SVGSVGElement)) {
                                    if (a === o.parentNode) continue;
                                    l = a.ownerSVGElement
                                } else l = a;
                                for (var c = []; l.parentNode !== l.ownerDocument;) c.unshift(l), l = at(l);
                                for (n = 0; c[n] && c[n] === r[n];) n++;
                                for (var f = [c[n - 1], c[n], r[n]], p = f[0].lastChild; p;) {
                                    if (p === f[1]) {
                                        o = a, i = e, r = c;
                                        break
                                    }
                                    if (p === f[2]) break;
                                    p = p.previousSibling
                                }
                            } else {
                                var d = parseInt((0, tt.getWindow)(o).getComputedStyle(o).zIndex, 10) || 0,
                                    v = parseInt((0, tt.getWindow)(a).getComputedStyle(a).zIndex, 10) || 0;
                                d <= v && (o = a, i = e)
                            }
                    else o = a, i = e
                } else o = a, i = e
        }
        return i
    }, K.matchesUpTo = function (t, e, n) {
        for (; Q.element(t);) {
            if (it(t, e)) return !0;
            if ((t = ot(t)) === n) return it(t, e)
        }
        return !1
    }, K.getActualElement = function (t) {
        return t instanceof J.default.SVGElementInstance ? t.correspondingUseElement : t
    }, K.getScrollXY = ut, K.getElementClientRect = st, K.getElementRect = function (t) {
        var e = st(t);
        if (!Z.default.isIOS7 && e) {
            var n = ut(tt.default.getWindow(t));
            e.left += n.x, e.right += n.x, e.top += n.y, e.bottom += n.y
        }
        return e
    }, K.getPath = function (t) {
        var e = [];
        for (; t;) e.push(t), t = ot(t);
        return e
    }, K.trySelector = function (t) {
        return !!Q.string(t) && (J.default.document.querySelector(t), !0)
    };
    var Z = rt(A),
        J = rt(T),
        Q = nt(P),
        tt = nt(w);
 
    function et() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return et = function () {
            return t
        }, t
    }
 
    function nt(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== $(t) && "function" != typeof t) return {
            default: t
        };
        var e = et();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function rt(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function ot(t) {
        var e = t.parentNode;
        if (Q.docFrag(e)) {
            for (;
                (e = e.host) && Q.docFrag(e););
            return e
        }
        return e
    }
 
    function it(t, e) {
        return tt.default.window !== tt.default.realWindow && (e = e.replace(/\/deep\//g, " ")), t[Z.default.prefixedMatchesSelector](e)
    }
    var at = function (t) {
        return t.parentNode ? t.parentNode : t.host
    };
 
    function ut(t) {
        return {
            x: (t = t || tt.default.window).scrollX || t.document.documentElement.scrollLeft,
            y: t.scrollY || t.document.documentElement.scrollTop
        }
    }
 
    function st(t) {
        var e = t instanceof J.default.SVGElement ? t.getBoundingClientRect() : t.getClientRects()[0];
        return e && {
            left: e.left,
            right: e.right,
            top: e.top,
            bottom: e.bottom,
            width: e.width || e.right - e.left,
            height: e.height || e.bottom - e.top
        }
    }
    var lt = {};
 
    function ct(t, e) {
        for (var n in e) {
            var r = ct.prefixedPropREs,
                o = !1;
            for (var i in r)
                if (0 === n.indexOf(i) && r[i].test(n)) {
                    o = !0;
                    break
                } o || "function" == typeof e[n] || (t[n] = e[n])
        }
        return t
    }
    Object.defineProperty(lt, "__esModule", {
        value: !0
    }), lt.default = void 0, ct.prefixedPropREs = {
        webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,
        moz: /(Pressure)$/
    };
    var ft = ct;
    lt.default = ft;
    var pt = {};
    Object.defineProperty(pt, "__esModule", {
        value: !0
    }), pt.default = void 0;
    pt.default = function (t, e) {
        return Math.sqrt(t * t + e * e)
    };
    var dt = {};
 
    function vt(t) {
        return (vt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(dt, "__esModule", {
        value: !0
    }), dt.copyCoords = function (t, e) {
        t.page = t.page || {}, t.page.x = e.page.x, t.page.y = e.page.y, t.client = t.client || {}, t.client.x = e.client.x, t.client.y = e.client.y, t.timeStamp = e.timeStamp
    }, dt.setCoordDeltas = function (t, e, n) {
        t.page.x = n.page.x - e.page.x, t.page.y = n.page.y - e.page.y, t.client.x = n.client.x - e.client.x, t.client.y = n.client.y - e.client.y, t.timeStamp = n.timeStamp - e.timeStamp
    }, dt.setCoordVelocity = function (t, e) {
        var n = Math.max(e.timeStamp / 1e3, .001);
        t.page.x = e.page.x / n, t.page.y = e.page.y / n, t.client.x = e.client.x / n, t.client.y = e.client.y / n, t.timeStamp = n
    }, dt.setZeroCoords = function (t) {
        t.page.x = 0, t.page.y = 0, t.client.x = 0, t.client.y = 0
    }, dt.isNativePointer = xt, dt.getXY = jt, dt.getPageXY = St, dt.getClientXY = Mt, dt.getPointerId = function (t) {
        return mt.number(t.pointerId) ? t.pointerId : t.identifier
    }, dt.setCoords = function (t, e, n) {
        var r = 1 < e.length ? Et(e) : e[0],
            o = {};
        St(r, o), t.page.x = o.x, t.page.y = o.y, Mt(r, o), t.client.x = o.x, t.client.y = o.y, t.timeStamp = n
    }, dt.getTouchPair = kt, dt.pointerAverage = Et, dt.touchBBox = function (t) {
        if (!(t.length || t.touches && 1 < t.touches.length)) return null;
        var e = kt(t),
            n = Math.min(e[0].pageX, e[1].pageX),
            r = Math.min(e[0].pageY, e[1].pageY),
            o = Math.max(e[0].pageX, e[1].pageX),
            i = Math.max(e[0].pageY, e[1].pageY);
        return {
            x: n,
            y: r,
            left: n,
            top: r,
            right: o,
            bottom: i,
            width: o - n,
            height: i - r
        }
    }, dt.touchDistance = function (t, e) {
        var n = e + "X",
            r = e + "Y",
            o = kt(t),
            i = o[0][n] - o[1][n],
            a = o[0][r] - o[1][r];
        return (0, bt.default)(i, a)
    }, dt.touchAngle = function (t, e) {
        var n = e + "X",
            r = e + "Y",
            o = kt(t),
            i = o[1][n] - o[0][n],
            a = o[1][r] - o[0][r];
        return 180 * Math.atan2(a, i) / Math.PI
    }, dt.getPointerType = function (t) {
        return mt.string(t.pointerType) ? t.pointerType : mt.number(t.pointerType) ? [void 0, void 0, "touch", "pen", "mouse"][t.pointerType] : /touch/.test(t.type) || t instanceof ht.default.Touch ? "touch" : "mouse"
    }, dt.getEventTargets = function (t) {
        var e = mt.func(t.composedPath) ? t.composedPath() : t.path;
        return [gt.getActualElement(e ? e[0] : t.target), gt.getActualElement(t.currentTarget)]
    }, dt.newCoords = function () {
        return {
            page: {
                x: 0,
                y: 0
            },
            client: {
                x: 0,
                y: 0
            },
            timeStamp: 0
        }
    }, dt.coordsToEvent = function (t) {
        return {
            coords: t,
            get page() {
                return this.coords.page
            },
            get client() {
                return this.coords.client
            },
            get timeStamp() {
                return this.coords.timeStamp
            },
            get pageX() {
                return this.coords.page.x
            },
            get pageY() {
                return this.coords.page.y
            },
            get clientX() {
                return this.coords.client.x
            },
            get clientY() {
                return this.coords.client.y
            },
            get pointerId() {
                return this.coords.pointerId
            },
            get target() {
                return this.coords.target
            },
            get type() {
                return this.coords.type
            },
            get pointerType() {
                return this.coords.pointerType
            },
            get buttons() {
                return this.coords.buttons
            },
            preventDefault: function () {}
        }
    }, Object.defineProperty(dt, "pointerExtend", {
        enumerable: !0,
        get: function () {
            return Ot.default
        }
    });
    var yt = _t(A),
        ht = _t(T),
        gt = Pt(K),
        bt = _t(pt),
        mt = Pt(P),
        Ot = _t(lt);
 
    function wt() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return wt = function () {
            return t
        }, t
    }
 
    function Pt(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== vt(t) && "function" != typeof t) return {
            default: t
        };
        var e = wt();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function _t(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function xt(t) {
        return t instanceof ht.default.Event || t instanceof ht.default.Touch
    }
 
    function jt(t, e, n) {
        return (n = n || {}).x = e[(t = t || "page") + "X"], n.y = e[t + "Y"], n
    }
 
    function St(t, e) {
        return e = e || {
            x: 0,
            y: 0
        }, yt.default.isOperaMobile && xt(t) ? (jt("screen", t, e), e.x += window.scrollX, e.y += window.scrollY) : jt("page", t, e), e
    }
 
    function Mt(t, e) {
        return e = e || {}, yt.default.isOperaMobile && xt(t) ? jt("screen", t, e) : jt("client", t, e), e
    }
 
    function kt(t) {
        var e = [];
        return mt.array(t) ? (e[0] = t[0], e[1] = t[1]) : "touchend" === t.type ? 1 === t.touches.length ? (e[0] = t.touches[0], e[1] = t.changedTouches[0]) : 0 === t.touches.length && (e[0] = t.changedTouches[0], e[1] = t.changedTouches[1]) : (e[0] = t.touches[0], e[1] = t.touches[1]), e
    }
 
    function Et(t) {
        for (var e = {
                pageX: 0,
                pageY: 0,
                clientX: 0,
                clientY: 0,
                screenX: 0,
                screenY: 0
            }, n = 0; n < t.length; n++) {
            var r = t[n];
            for (var o in e) e[o] += r[o]
        }
        for (var i in e) e[i] /= t.length;
        return e
    }
    var Tt = {};
 
    function Dt(t) {
        return (Dt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Tt, "__esModule", {
        value: !0
    }), Tt.default = Tt.FakeEvent = void 0;
    var It, zt = Ft(K),
        At = Ft(P),
        Ct = (It = lt) && It.__esModule ? It : {
            default: It
        },
        Wt = Ft(dt);
 
    function Rt() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Rt = function () {
            return t
        }, t
    }
 
    function Ft(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Dt(t) && "function" != typeof t) return {
            default: t
        };
        var e = Rt();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function Xt(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function Yt(t, e) {
        return function (t) {
            if (Array.isArray(t)) return t
        }(t) || function (t, e) {
            if (!(Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t))) return;
            var n = [],
                r = !0,
                o = !1,
                i = void 0;
            try {
                for (var a, u = t[Symbol.iterator](); !(r = (a = u.next()).done) && (n.push(a.value), !e || n.length !== e); r = !0);
            } catch (t) {
                o = !0, i = t
            } finally {
                try {
                    r || null == u.return || u.return()
                } finally {
                    if (o) throw i
                }
            }
            return n
        }(t, e) || function () {
            throw new TypeError("Invalid attempt to destructure non-iterable instance")
        }()
    }
    var Lt = [],
        Nt = [],
        Bt = {},
        Vt = [];
 
    function qt(t, e, n, r) {
        var o = Kt(r),
            i = Lt.indexOf(t),
            a = Nt[i];
        a || (a = {
            events: {},
            typeCount: 0
        }, i = Lt.push(t) - 1, Nt.push(a)), a.events[e] || (a.events[e] = [], a.typeCount++), t.removeEventListener && !(0, j.contains)(a.events[e], n) && (t.addEventListener(e, n, Zt.supportsOptions ? o : !!o.capture), a.events[e].push(n))
    }
 
    function Ut(t, e, n, r) {
        var o = Kt(r),
            i = Lt.indexOf(t),
            a = Nt[i];
        if (a && a.events)
            if ("all" !== e) {
                if (a.events[e]) {
                    var u = a.events[e].length;
                    if ("all" === n) {
                        for (var s = 0; s < u; s++) Ut(t, e, a.events[e][s], o);
                        return
                    }
                    for (var l = 0; l < u; l++)
                        if (t.removeEventListener && a.events[e][l] === n) {
                            t.removeEventListener(e, n, Zt.supportsOptions ? o : !!o.capture), a.events[e].splice(l, 1);
                            break
                        } a.events[e] && 0 === a.events[e].length && (a.events[e] = null, a.typeCount--)
                }
                a.typeCount || (Nt.splice(i, 1), Lt.splice(i, 1))
            } else
                for (e in a.events) a.events.hasOwnProperty(e) && Ut(t, e, "all")
    }
 
    function Gt(t, e) {
        for (var n = Kt(e), r = new $t(t), o = Bt[t.type], i = Yt(Wt.getEventTargets(t), 1)[0], a = i; At.element(a);) {
            for (var u = 0; u < o.selectors.length; u++) {
                var s = o.selectors[u],
                    l = o.contexts[u];
                if (zt.matchesSelector(a, s) && zt.nodeContains(l, i) && zt.nodeContains(l, a)) {
                    var c = o.listeners[u];
                    r.currentTarget = a;
                    for (var f = 0; f < c.length; f++) {
                        var p = Yt(c[f], 3),
                            d = p[0],
                            v = p[1],
                            y = p[2];
                        v === !!n.capture && y === n.passive && d(r)
                    }
                }
            }
            a = zt.parentNode(a)
        }
    }
 
    function Ht(t) {
        return Gt.call(this, t, !0)
    }
 
    function Kt(t) {
        return At.object(t) ? t : {
            capture: t
        }
    }
    var $t = function () {
        function o(t) {
            var e, n, r;
            ! function (t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }(this, o), this.originalEvent = t, r = void 0, (n = "currentTarget") in (e = this) ? Object.defineProperty(e, n, {
                value: r,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[n] = r, (0, Ct.default)(this, t)
        }
        var t, e, n;
        return t = o, (e = [{
            key: "preventOriginalDefault",
            value: function () {
                this.originalEvent.preventDefault()
            }
        }, {
            key: "stopPropagation",
            value: function () {
                this.originalEvent.stopPropagation()
            }
        }, {
            key: "stopImmediatePropagation",
            value: function () {
                this.originalEvent.stopImmediatePropagation()
            }
        }]) && Xt(t.prototype, e), n && Xt(t, n), o
    }();
    Tt.FakeEvent = $t;
    var Zt = {
            add: qt,
            remove: Ut,
            addDelegate: function (t, e, n, r, o) {
                var i = Kt(o);
                if (!Bt[n]) {
                    Bt[n] = {
                        contexts: [],
                        listeners: [],
                        selectors: []
                    };
                    for (var a = 0; a < Vt.length; a++) {
                        var u = Vt[a];
                        qt(u, n, Gt), qt(u, n, Ht, !0)
                    }
                }
                var s, l = Bt[n];
                for (s = l.selectors.length - 1; 0 <= s && (l.selectors[s] !== t || l.contexts[s] !== e); s--); - 1 === s && (s = l.selectors.length, l.selectors.push(t), l.contexts.push(e), l.listeners.push([])), l.listeners[s].push([r, !!i.capture, i.passive])
            },
            removeDelegate: function (t, e, n, r, o) {
                var i, a = Kt(o),
                    u = Bt[n],
                    s = !1;
                if (u)
                    for (i = u.selectors.length - 1; 0 <= i; i--)
                        if (u.selectors[i] === t && u.contexts[i] === e) {
                            for (var l = u.listeners[i], c = l.length - 1; 0 <= c; c--) {
                                var f = Yt(l[c], 3),
                                    p = f[0],
                                    d = f[1],
                                    v = f[2];
                                if (p === r && d === !!a.capture && v === a.passive) {
                                    l.splice(c, 1), l.length || (u.selectors.splice(i, 1), u.contexts.splice(i, 1), u.listeners.splice(i, 1), Ut(e, n, Gt), Ut(e, n, Ht, !0), u.selectors.length || (Bt[n] = null)), s = !0;
                                    break
                                }
                            }
                            if (s) break
                        }
            },
            delegateListener: Gt,
            delegateUseCapture: Ht,
            delegatedEvents: Bt,
            documents: Vt,
            supportsOptions: !1,
            supportsPassive: !1,
            _elements: Lt,
            _targets: Nt,
            init: function (t) {
                t.document.createElement("div").addEventListener("test", null, {
                    get capture() {
                        return Zt.supportsOptions = !0
                    },
                    get passive() {
                        return Zt.supportsPassive = !0
                    }
                })
            }
        },
        Jt = Zt;
    Tt.default = Jt;
    var Qt = {};
    Object.defineProperty(Qt, "__esModule", {
        value: !0
    }), Qt.default = function (t, e) {
        for (var n in e) t[n] = e[n];
        return t
    };
    var te = {};
 
    function ee(t) {
        return (ee = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(te, "__esModule", {
        value: !0
    }), te.default = function n(e, r, o) {
        o = o || {};
        oe.string(e) && -1 !== e.search(" ") && (e = ae(e));
        if (oe.array(e)) return e.reduce(function (t, e) {
            return (0, re.default)(t, n(e, r, o))
        }, o);
        oe.object(e) && (r = e, e = "");
        if (oe.func(r)) o[e] = o[e] || [], o[e].push(r);
        else if (oe.array(r))
            for (var t = 0; t < r.length; t++) {
                var i = r[t];
                n(e, i, o)
            } else if (oe.object(r))
                for (var a in r) {
                    var u = ae(a).map(function (t) {
                        return "".concat(e).concat(t)
                    });
                    n(u, r[a], o)
                }
        return o
    };
    var ne, re = (ne = Qt) && ne.__esModule ? ne : {
            default: ne
        },
        oe = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== ee(t) && "function" != typeof t) return {
                default: t
            };
            var e = ie();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(P);
 
    function ie() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return ie = function () {
            return t
        }, t
    }
 
    function ae(t) {
        return t.trim().split(/ +/)
    }
    var ue = {};
 
    function se(t) {
        return (se = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(ue, "__esModule", {
        value: !0
    }), ue.default = void 0;
    var le = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== se(t) && "function" != typeof t) return {
                default: t
            };
            var e = de();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(j),
        ce = pe(Qt),
        fe = pe(te);
 
    function pe(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function de() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return de = function () {
            return t
        }, t
    }
 
    function ve(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function ye(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
 
    function he(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            if (t.immediatePropagationStopped) break;
            r(t)
        }
    }
    var ge = function () {
        function e(t) {
            ! function (t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }(this, e), ye(this, "options", void 0), ye(this, "types", {}), ye(this, "propagationStopped", !1), ye(this, "immediatePropagationStopped", !1), ye(this, "global", void 0), this.options = (0, ce.default)({}, t || {})
        }
        var t, n, r;
        return t = e, (n = [{
            key: "fire",
            value: function (t) {
                var e, n = this.global;
                (e = this.types[t.type]) && he(t, e), !t.propagationStopped && n && (e = n[t.type]) && he(t, e)
            }
        }, {
            key: "on",
            value: function (t, e) {
                var n = (0, fe.default)(t, e);
                for (t in n) this.types[t] = le.merge(this.types[t] || [], n[t])
            }
        }, {
            key: "off",
            value: function (t, e) {
                var n = (0, fe.default)(t, e);
                for (t in n) {
                    var r = this.types[t];
                    if (r && r.length)
                        for (var o = 0; o < n[t].length; o++) {
                            var i = n[t][o],
                                a = r.indexOf(i); - 1 !== a && r.splice(a, 1)
                        }
                }
            }
        }, {
            key: "getRect",
            value: function () {
                return null
            }
        }]) && ve(t.prototype, n), r && ve(t, r), e
    }();
    ue.default = ge;
    var be = {};
 
    function me(t) {
        return (me = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(be, "__esModule", {
        value: !0
    }), be.getStringOptionResult = xe, be.resolveRectLike = function (t, e, n, r) {
        var o = t;
        Pe.string(o) ? o = xe(o, e, n) : Pe.func(o) && (o = o.apply(void 0, function (t) {
            return function (t) {
                if (Array.isArray(t)) {
                    for (var e = 0, n = new Array(t.length); e < t.length; e++) n[e] = t[e];
                    return n
                }
            }(t) || function (t) {
                if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t)
            }(t) || function () {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }(r)));
        Pe.element(o) && (o = (0, K.getElementRect)(o));
        return o
    }, be.rectToXY = function (t) {
        return t && {
            x: "x" in t ? t.x : t.left,
            y: "y" in t ? t.y : t.top
        }
    }, be.xywhToTlbr = function (t) {
        !t || "left" in t && "top" in t || ((t = (0, we.default)({}, t)).left = t.x || 0, t.top = t.y || 0, t.right = t.right || t.left + t.width, t.bottom = t.bottom || t.top + t.height);
        return t
    }, be.tlbrToXywh = function (t) {
        !t || "x" in t && "y" in t || ((t = (0, we.default)({}, t)).x = t.left || 0, t.y = t.top || 0, t.width = t.width || t.right || 0 - t.x, t.height = t.height || t.bottom || 0 - t.y);
        return t
    }, be.addEdges = function (t, e, n) {
        t.left && (e.left += n.x);
        t.right && (e.right += n.x);
        t.top && (e.top += n.y);
        t.bottom && (e.bottom += n.y);
        e.width = e.right - e.left, e.height = e.bottom - e.top
    };
    var Oe, we = (Oe = Qt) && Oe.__esModule ? Oe : {
            default: Oe
        },
        Pe = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== me(t) && "function" != typeof t) return {
                default: t
            };
            var e = _e();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(P);
 
    function _e() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return _e = function () {
            return t
        }, t
    }
 
    function xe(t, e, n) {
        return "parent" === t ? (0, K.parentNode)(n) : "self" === t ? e.getRect(n) : (0, K.closest)(n, t)
    }
    var je = {};
    Object.defineProperty(je, "__esModule", {
        value: !0
    }), je.default = function (t, e, n) {
        var r = t.options[n],
            o = r && r.origin || t.options.origin,
            i = (0, be.resolveRectLike)(o, t, e, [t && e]);
        return (0, be.rectToXY)(i) || {
            x: 0,
            y: 0
        }
    };
    var Se = {};
    Object.defineProperty(Se, "__esModule", {
        value: !0
    }), Se.default = void 0;
    var Me, ke, Ee = 0;
    var Te = {
        request: function (t) {
            return Me(t)
        },
        cancel: function (t) {
            return ke(t)
        },
        init: function (t) {
            if (Me = t.requestAnimationFrame, ke = t.cancelAnimationFrame, !Me)
                for (var e = ["ms", "moz", "webkit", "o"], n = 0; n < e.length; n++) {
                    var r = e[n];
                    Me = t["".concat(r, "RequestAnimationFrame")], ke = t["".concat(r, "CancelAnimationFrame")] || t["".concat(r, "CancelRequestAnimationFrame")]
                }
            Me || (Me = function (t) {
                var e = Date.now(),
                    n = Math.max(0, 16 - (e - Ee)),
                    r = setTimeout(function () {
                        t(e + n)
                    }, n);
                return Ee = e + n, r
            }, ke = function (t) {
                return clearTimeout(t)
            })
        }
    };
    Se.default = Te;
    var De = {};
 
    function Ie(t) {
        return (Ie = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(De, "__esModule", {
        value: !0
    }), De.warnOnce = function (t, e) {
        var n = !1;
        return function () {
            return n || (Fe.default.window.console.warn(e), n = !0), t.apply(this, arguments)
        }
    }, De.copyAction = function (t, e) {
        return t.name = e.name, t.axis = e.axis, t.edges = e.edges, t
    }, Object.defineProperty(De, "win", {
        enumerable: !0,
        get: function () {
            return Fe.default
        }
    }), Object.defineProperty(De, "browser", {
        enumerable: !0,
        get: function () {
            return Xe.default
        }
    }), Object.defineProperty(De, "clone", {
        enumerable: !0,
        get: function () {
            return Ye.default
        }
    }), Object.defineProperty(De, "events", {
        enumerable: !0,
        get: function () {
            return Le.default
        }
    }), Object.defineProperty(De, "extend", {
        enumerable: !0,
        get: function () {
            return Ne.default
        }
    }), Object.defineProperty(De, "getOriginXY", {
        enumerable: !0,
        get: function () {
            return Be.default
        }
    }), Object.defineProperty(De, "hypot", {
        enumerable: !0,
        get: function () {
            return Ve.default
        }
    }), Object.defineProperty(De, "normalizeListeners", {
        enumerable: !0,
        get: function () {
            return qe.default
        }
    }), Object.defineProperty(De, "raf", {
        enumerable: !0,
        get: function () {
            return Ue.default
        }
    }), De.rect = De.pointer = De.is = De.dom = De.arr = void 0;
    var ze = Ke(j);
    De.arr = ze;
    var Ae = Ke(K);
    De.dom = Ae;
    var Ce = Ke(P);
    De.is = Ce;
    var We = Ke(dt);
    De.pointer = We;
    var Re = Ke(be);
    De.rect = Re;
    var Fe = Ge(w),
        Xe = Ge(A),
        Ye = Ge(B),
        Le = Ge(Tt),
        Ne = Ge(Qt),
        Be = Ge(je),
        Ve = Ge(pt),
        qe = Ge(te),
        Ue = Ge(Se);
 
    function Ge(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function He() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return He = function () {
            return t
        }, t
    }
 
    function Ke(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Ie(t) && "function" != typeof t) return {
            default: t
        };
        var e = He();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
    var $e = {};
    Object.defineProperty($e, "__esModule", {
        value: !0
    }), $e.default = $e.defaults = void 0;
    var Ze = {
            base: {
                preventDefault: "auto",
                deltaSource: "page"
            },
            perAction: {
                enabled: !1,
                origin: {
                    x: 0,
                    y: 0
                }
            },
            actions: {}
        },
        Je = $e.defaults = Ze;
    $e.default = Je;
    var Qe = {};
 
    function tn(t) {
        return (tn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Qe, "__esModule", {
        value: !0
    }), Qe.default = void 0;
    var en, nn = sn(j),
        rn = sn(K),
        on = (en = Qt) && en.__esModule ? en : {
            default: en
        },
        an = sn(P);
 
    function un() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return un = function () {
            return t
        }, t
    }
 
    function sn(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== tn(t) && "function" != typeof t) return {
            default: t
        };
        var e = un();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function ln(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function cn(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    var fn = function () {
        function e(t) {
            var a = this;
            ! function (t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }(this, e), this.scope = t, cn(this, "list", []), cn(this, "selectorMap", {}), t.addListeners({
                "interactable:unset": function (t) {
                    var e = t.interactable,
                        n = e.target,
                        r = e._context,
                        o = an.string(n) ? a.selectorMap[n] : n[a.scope.id],
                        i = o.findIndex(function (t) {
                            return t.context === r
                        });
                    o[i] && (o[i].context = null, o[i].interactable = null), o.splice(i, 1)
                }
            })
        }
        var t, n, r;
        return t = e, (n = [{
            key: "new",
            value: function (t, e) {
                e = (0, on.default)(e || {}, {
                    actions: this.scope.actions
                });
                var n = new this.scope.Interactable(t, e, this.scope.document),
                    r = {
                        context: n._context,
                        interactable: n
                    };
                return this.scope.addDocument(n._doc), this.list.push(n), an.string(t) ? (this.selectorMap[t] || (this.selectorMap[t] = []), this.selectorMap[t].push(r)) : (n.target[this.scope.id] || Object.defineProperty(t, this.scope.id, {
                    value: [],
                    configurable: !0
                }), t[this.scope.id].push(r)), this.scope.fire("interactable:new", {
                    target: t,
                    options: e,
                    interactable: n,
                    win: this.scope._win
                }), n
            }
        }, {
            key: "get",
            value: function (e, t) {
                var n = t && t.context || this.scope.document,
                    r = an.string(e),
                    o = r ? this.selectorMap[e] : e[this.scope.id];
                if (!o) return null;
                var i = nn.find(o, function (t) {
                    return t.context === n && (r || t.interactable.inContext(e))
                });
                return i && i.interactable
            }
        }, {
            key: "forEachMatch",
            value: function (t, e) {
                for (var n = 0; n < this.list.length; n++) {
                    var r = this.list[n],
                        o = void 0;
                    if ((an.string(r.target) ? an.element(t) && rn.matchesSelector(t, r.target) : t === r.target) && r.inContext(t) && (o = e(r)), void 0 !== o) return o
                }
            }
        }]) && ln(t.prototype, n), r && ln(t, r), e
    }();
    Qe.default = fn;
    var pn = {};
 
    function dn(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function vn(t, e, n) {
        return e && dn(t.prototype, e), n && dn(t, n), t
    }
 
    function yn(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    Object.defineProperty(pn, "__esModule", {
        value: !0
    }), pn.default = pn.BaseEvent = void 0;
    var hn = function () {
            function e(t) {
                ! function (t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                }(this, e), yn(this, "type", void 0), yn(this, "target", void 0), yn(this, "currentTarget", void 0), yn(this, "interactable", void 0), yn(this, "_interaction", void 0), yn(this, "timeStamp", void 0), yn(this, "immediatePropagationStopped", !1), yn(this, "propagationStopped", !1), this._interaction = t
            }
            return vn(e, [{
                key: "interaction",
                get: function () {
                    return this._interaction._proxy
                }
            }]), vn(e, [{
                key: "preventDefault",
                value: function () {}
            }, {
                key: "stopPropagation",
                value: function () {
                    this.propagationStopped = !0
                }
            }, {
                key: "stopImmediatePropagation",
                value: function () {
                    this.immediatePropagationStopped = this.propagationStopped = !0
                }
            }]), e
        }(),
        gn = pn.BaseEvent = hn;
    pn.default = gn;
    var bn = {};
    Object.defineProperty(bn, "__esModule", {
        value: !0
    }), bn.default = bn.InteractEvent = void 0;
    var mn = xn(Qt),
        On = xn(je),
        wn = xn(pt),
        Pn = xn(pn),
        _n = xn($e);
 
    function xn(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function jn(t) {
        return (jn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
 
    function Sn(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function Mn(t) {
        return (Mn = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
            return t.__proto__ || Object.getPrototypeOf(t)
        })(t)
    }
 
    function kn(t) {
        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return t
    }
 
    function En(t, e) {
        return (En = Object.setPrototypeOf || function (t, e) {
            return t.__proto__ = e, t
        })(t, e)
    }
 
    function Tn(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    var Dn = function () {
            function g(t, e, n, r, o, i, a) {
                var u, s, l;
                ! function (t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                }(this, g), s = this, u = !(l = Mn(g).call(this, t)) || "object" !== jn(l) && "function" != typeof l ? kn(s) : l, Tn(kn(u), "target", void 0), Tn(kn(u), "currentTarget", void 0), Tn(kn(u), "relatedTarget", null), Tn(kn(u), "screenX", void 0), Tn(kn(u), "screenY", void 0), Tn(kn(u), "button", void 0), Tn(kn(u), "buttons", void 0), Tn(kn(u), "ctrlKey", void 0), Tn(kn(u), "shiftKey", void 0), Tn(kn(u), "altKey", void 0), Tn(kn(u), "metaKey", void 0), Tn(kn(u), "page", void 0), Tn(kn(u), "client", void 0), Tn(kn(u), "delta", void 0), Tn(kn(u), "rect", void 0), Tn(kn(u), "x0", void 0), Tn(kn(u), "y0", void 0), Tn(kn(u), "t0", void 0), Tn(kn(u), "dt", void 0), Tn(kn(u), "duration", void 0), Tn(kn(u), "clientX0", void 0), Tn(kn(u), "clientY0", void 0), Tn(kn(u), "velocity", void 0), Tn(kn(u), "speed", void 0), Tn(kn(u), "swipe", void 0), Tn(kn(u), "timeStamp", void 0), Tn(kn(u), "dragEnter", void 0), Tn(kn(u), "dragLeave", void 0), Tn(kn(u), "axes", void 0), Tn(kn(u), "preEnd", void 0), o = o || t.element;
                var c = t.interactable,
                    f = (c && c.options || _n.default).deltaSource,
                    p = (0, On.default)(c, o, n),
                    d = "start" === r,
                    v = "end" === r,
                    y = d ? kn(u) : t.prevEvent,
                    h = d ? t.coords.start : v ? {
                        page: y.page,
                        client: y.client,
                        timeStamp: t.coords.cur.timeStamp
                    } : t.coords.cur;
                return u.page = (0, mn.default)({}, h.page), u.client = (0, mn.default)({}, h.client), u.rect = (0, mn.default)({}, t.rect), u.timeStamp = h.timeStamp, v || (u.page.x -= p.x, u.page.y -= p.y, u.client.x -= p.x, u.client.y -= p.y), u.ctrlKey = e.ctrlKey, u.altKey = e.altKey, u.shiftKey = e.shiftKey, u.metaKey = e.metaKey, u.button = e.button, u.buttons = e.buttons, u.target = o, u.currentTarget = o, u.preEnd = i, u.type = a || n + (r || ""), u.interactable = c, u.t0 = d ? t.pointers[t.pointers.length - 1].downTime : y.t0, u.x0 = t.coords.start.page.x - p.x, u.y0 = t.coords.start.page.y - p.y, u.clientX0 = t.coords.start.client.x - p.x, u.clientY0 = t.coords.start.client.y - p.y, u.delta = d || v ? {
                    x: 0,
                    y: 0
                } : {
                    x: u[f].x - y[f].x,
                    y: u[f].y - y[f].y
                }, u.dt = t.coords.delta.timeStamp, u.duration = u.timeStamp - u.t0, u.velocity = (0, mn.default)({}, t.coords.velocity[f]), u.speed = (0, wn.default)(u.velocity.x, u.velocity.y), u.swipe = v || "inertiastart" === r ? u.getSwipe() : null, u
            }
            var t, e, n;
            return function (t, e) {
                if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
                t.prototype = Object.create(e && e.prototype, {
                    constructor: {
                        value: t,
                        writable: !0,
                        configurable: !0
                    }
                }), e && En(t, e)
            }(g, Pn["default"]), t = g, (e = [{
                key: "getSwipe",
                value: function () {
                    var t = this._interaction;
                    if (t.prevEvent.speed < 600 || 150 < this.timeStamp - t.prevEvent.timeStamp) return null;
                    var e = 180 * Math.atan2(t.prevEvent.velocityY, t.prevEvent.velocityX) / Math.PI;
                    e < 0 && (e += 360);
                    var n = 112.5 <= e && e < 247.5,
                        r = 202.5 <= e && e < 337.5;
                    return {
                        up: r,
                        down: !r && 22.5 <= e && e < 157.5,
                        left: n,
                        right: !n && (292.5 <= e || e < 67.5),
                        angle: e,
                        speed: t.prevEvent.speed,
                        velocity: {
                            x: t.prevEvent.velocityX,
                            y: t.prevEvent.velocityY
                        }
                    }
                }
            }, {
                key: "preventDefault",
                value: function () {}
            }, {
                key: "stopImmediatePropagation",
                value: function () {
                    this.immediatePropagationStopped = this.propagationStopped = !0
                }
            }, {
                key: "stopPropagation",
                value: function () {
                    this.propagationStopped = !0
                }
            }, {
                key: "pageX",
                get: function () {
                    return this.page.x
                },
                set: function (t) {
                    this.page.x = t
                }
            }, {
                key: "pageY",
                get: function () {
                    return this.page.y
                },
                set: function (t) {
                    this.page.y = t
                }
            }, {
                key: "clientX",
                get: function () {
                    return this.client.x
                },
                set: function (t) {
                    this.client.x = t
                }
            }, {
                key: "clientY",
                get: function () {
                    return this.client.y
                },
                set: function (t) {
                    this.client.y = t
                }
            }, {
                key: "dx",
                get: function () {
                    return this.delta.x
                },
                set: function (t) {
                    this.delta.x = t
                }
            }, {
                key: "dy",
                get: function () {
                    return this.delta.y
                },
                set: function (t) {
                    this.delta.y = t
                }
            }, {
                key: "velocityX",
                get: function () {
                    return this.velocity.x
                },
                set: function (t) {
                    this.velocity.x = t
                }
            }, {
                key: "velocityY",
                get: function () {
                    return this.velocity.y
                },
                set: function (t) {
                    this.velocity.y = t
                }
            }]) && Sn(t.prototype, e), n && Sn(t, n), g
        }(),
        In = bn.InteractEvent = Dn;
    bn.default = In;
    var zn = {};
    Object.defineProperty(zn, "__esModule", {
        value: !0
    }), zn.default = zn.PointerInfo = void 0;
 
    function An(t, e, n, r, o) {
        ! function (t, e) {
            if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
        }(this, An), this.id = t, this.pointer = e, this.event = n, this.downTime = r, this.downTarget = o
    }
    var Cn = zn.PointerInfo = An;
    zn.default = Cn;
    var Wn = {};
 
    function Rn(t) {
        return (Rn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Wn, "__esModule", {
        value: !0
    }), Object.defineProperty(Wn, "PointerInfo", {
        enumerable: !0,
        get: function () {
            return Vn.default
        }
    }), Wn.default = Wn.Interaction = Wn._ProxyMethods = Wn._ProxyValues = void 0;
    var Fn, Xn, Yn, Ln, Nn = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Rn(t) && "function" != typeof t) return {
                default: t
            };
            var e = Un();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(De),
        Bn = qn(bn),
        Vn = qn(zn);
 
    function qn(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function Un() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Un = function () {
            return t
        }, t
    }
 
    function Gn(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function Hn(t, e, n) {
        return e && Gn(t.prototype, e), n && Gn(t, n), t
    }
 
    function Kn(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    Wn._ProxyValues = Fn, (Xn = Fn || (Wn._ProxyValues = Fn = {})).interactable = "", Xn.element = "", Xn.prepared = "", Xn.pointerIsDown = "", Xn.pointerWasMoved = "", Xn._proxy = "", Wn._ProxyMethods = Yn, (Ln = Yn || (Wn._ProxyMethods = Yn = {})).start = "", Ln.move = "", Ln.end = "", Ln.stop = "", Ln.interacting = "";
    var $n = 0,
        Zn = function () {
            function l(t) {
                var e = this,
                    n = t.pointerType,
                    r = t.scopeFire;
                ! function (t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                }(this, l), Kn(this, "interactable", null), Kn(this, "element", null), Kn(this, "rect", void 0), Kn(this, "_rects", void 0), Kn(this, "edges", void 0), Kn(this, "_scopeFire", void 0), Kn(this, "prepared", {
                    name: null,
                    axis: null,
                    edges: null
                }), Kn(this, "pointerType", void 0), Kn(this, "pointers", []), Kn(this, "downEvent", null), Kn(this, "downPointer", {}), Kn(this, "_latestPointer", {
                    pointer: null,
                    event: null,
                    eventTarget: null
                }), Kn(this, "prevEvent", null), Kn(this, "pointerIsDown", !1), Kn(this, "pointerWasMoved", !1), Kn(this, "_interacting", !1), Kn(this, "_ending", !1), Kn(this, "_stopped", !0), Kn(this, "_proxy", null), Kn(this, "simulation", null), Kn(this, "doMove", Nn.warnOnce(function (t) {
                    this.move(t)
                }, "The interaction.doMove() method has been renamed to interaction.move()")), Kn(this, "coords", {
                    start: Nn.pointer.newCoords(),
                    prev: Nn.pointer.newCoords(),
                    cur: Nn.pointer.newCoords(),
                    delta: Nn.pointer.newCoords(),
                    velocity: Nn.pointer.newCoords()
                }), Kn(this, "_id", $n++), this._scopeFire = r, this.pointerType = n;
                var o = this;
                this._proxy = {};
 
                function i(t) {
                    Object.defineProperty(e._proxy, t, {
                        get: function () {
                            return o[t]
                        }
                    })
                }
                for (var a in Fn) i(a);
 
                function u(t) {
                    Object.defineProperty(e._proxy, t, {
                        value: function () {
                            return o[t].apply(o, arguments)
                        }
                    })
                }
                for (var s in Yn) u(s);
                this._scopeFire("interactions:new", {
                    interaction: this
                })
            }
            return Hn(l, [{
                key: "pointerMoveTolerance",
                get: function () {
                    return 1
                }
            }]), Hn(l, [{
                key: "pointerDown",
                value: function (t, e, n) {
                    var r = this.updatePointer(t, e, n, !0),
                        o = this.pointers[r];
                    this._scopeFire("interactions:down", {
                        pointer: t,
                        event: e,
                        eventTarget: n,
                        pointerIndex: r,
                        pointerInfo: o,
                        type: "down",
                        interaction: this
                    })
                }
            }, {
                key: "start",
                value: function (t, e, n) {
                    return !(this.interacting() || !this.pointerIsDown || this.pointers.length < ("gesture" === t.name ? 2 : 1) || !e.options[t.name].enabled) && (Nn.copyAction(this.prepared, t), this.interactable = e, this.element = n, this.rect = e.getRect(n), this.edges = this.prepared.edges ? Nn.extend({}, this.prepared.edges) : {
                        left: !0,
                        right: !0,
                        top: !0,
                        bottom: !0
                    }, this._stopped = !1, this._interacting = this._doPhase({
                        interaction: this,
                        event: this.downEvent,
                        phase: "start"
                    }) && !this._stopped, this._interacting)
                }
            }, {
                key: "pointerMove",
                value: function (t, e, n) {
                    this.simulation || this.modification && this.modification.endResult || this.updatePointer(t, e, n, !1);
                    var r, o, i = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;
                    this.pointerIsDown && !this.pointerWasMoved && (r = this.coords.cur.client.x - this.coords.start.client.x, o = this.coords.cur.client.y - this.coords.start.client.y, this.pointerWasMoved = Nn.hypot(r, o) > this.pointerMoveTolerance);
                    var a = this.getPointerIndex(t),
                        u = {
                            pointer: t,
                            pointerIndex: a,
                            pointerInfo: this.pointers[a],
                            event: e,
                            type: "move",
                            eventTarget: n,
                            dx: r,
                            dy: o,
                            duplicate: i,
                            interaction: this
                        };
                    i || Nn.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta), this._scopeFire("interactions:move", u), i || this.simulation || (this.interacting() && (u.type = null, this.move(u)), this.pointerWasMoved && Nn.pointer.copyCoords(this.coords.prev, this.coords.cur))
                }
            }, {
                key: "move",
                value: function (t) {
                    t && t.event || Nn.pointer.setZeroCoords(this.coords.delta), (t = Nn.extend({
                        pointer: this._latestPointer.pointer,
                        event: this._latestPointer.event,
                        eventTarget: this._latestPointer.eventTarget,
                        interaction: this
                    }, t || {})).phase = "move", this._doPhase(t)
                }
            }, {
                key: "pointerUp",
                value: function (t, e, n, r) {
                    var o = this.getPointerIndex(t); - 1 === o && (o = this.updatePointer(t, e, n, !1));
                    var i = /cancel$/i.test(e.type) ? "cancel" : "up";
                    this._scopeFire("interactions:".concat(i), {
                        pointer: t,
                        pointerIndex: o,
                        pointerInfo: this.pointers[o],
                        event: e,
                        eventTarget: n,
                        type: i,
                        curEventTarget: r,
                        interaction: this
                    }), this.simulation || this.end(e), this.pointerIsDown = !1, this.removePointer(t, e)
                }
            }, {
                key: "documentBlur",
                value: function (t) {
                    this.end(t), this._scopeFire("interactions:blur", {
                        event: t,
                        type: "blur",
                        interaction: this
                    })
                }
            }, {
                key: "end",
                value: function (t) {
                    var e;
                    this._ending = !0, t = t || this._latestPointer.event, this.interacting() && (e = this._doPhase({
                        event: t,
                        interaction: this,
                        phase: "end"
                    })), !(this._ending = !1) === e && this.stop()
                }
            }, {
                key: "currentAction",
                value: function () {
                    return this._interacting ? this.prepared.name : null
                }
            }, {
                key: "interacting",
                value: function () {
                    return this._interacting
                }
            }, {
                key: "stop",
                value: function () {
                    this._scopeFire("interactions:stop", {
                        interaction: this
                    }), this.interactable = this.element = null, this._interacting = !1, this._stopped = !0, this.prepared.name = this.prevEvent = null
                }
            }, {
                key: "getPointerIndex",
                value: function (t) {
                    var e = Nn.pointer.getPointerId(t);
                    return "mouse" === this.pointerType || "pen" === this.pointerType ? this.pointers.length - 1 : Nn.arr.findIndex(this.pointers, function (t) {
                        return t.id === e
                    })
                }
            }, {
                key: "getPointerInfo",
                value: function (t) {
                    return this.pointers[this.getPointerIndex(t)]
                }
            }, {
                key: "updatePointer",
                value: function (t, e, n, r) {
                    var o = Nn.pointer.getPointerId(t),
                        i = this.getPointerIndex(t),
                        a = this.pointers[i];
                    return r = !1 !== r && (r || /(down|start)$/i.test(e.type)), a ? a.pointer = t : (a = new Vn.default(o, t, e, null, null), i = this.pointers.length, this.pointers.push(a)), Nn.pointer.setCoords(this.coords.cur, this.pointers.map(function (t) {
                        return t.pointer
                    }), this._now()), Nn.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur), r && (this.pointerIsDown = !0, a.downTime = this.coords.cur.timeStamp, a.downTarget = n, Nn.pointer.pointerExtend(this.downPointer, t), this.interacting() || (Nn.pointer.copyCoords(this.coords.start, this.coords.cur), Nn.pointer.copyCoords(this.coords.prev, this.coords.cur), this.downEvent = e, this.pointerWasMoved = !1)), this._updateLatestPointer(t, e, n), this._scopeFire("interactions:update-pointer", {
                        pointer: t,
                        event: e,
                        eventTarget: n,
                        down: r,
                        pointerInfo: a,
                        pointerIndex: i,
                        interaction: this
                    }), i
                }
            }, {
                key: "removePointer",
                value: function (t, e) {
                    var n = this.getPointerIndex(t);
                    if (-1 !== n) {
                        var r = this.pointers[n];
                        this._scopeFire("interactions:remove-pointer", {
                            pointer: t,
                            event: e,
                            eventTarget: null,
                            pointerIndex: n,
                            pointerInfo: r,
                            interaction: this
                        }), this.pointers.splice(n, 1)
                    }
                }
            }, {
                key: "_updateLatestPointer",
                value: function (t, e, n) {
                    this._latestPointer.pointer = t, this._latestPointer.event = e, this._latestPointer.eventTarget = n
                }
            }, {
                key: "destroy",
                value: function () {
                    this._latestPointer.pointer = null, this._latestPointer.event = null, this._latestPointer.eventTarget = null
                }
            }, {
                key: "_createPreparedEvent",
                value: function (t, e, n, r) {
                    return new Bn.default(this, t, this.prepared.name, e, this.element, n, r)
                }
            }, {
                key: "_fireEvent",
                value: function (t) {
                    this.interactable.fire(t), (!this.prevEvent || t.timeStamp >= this.prevEvent.timeStamp) && (this.prevEvent = t)
                }
            }, {
                key: "_doPhase",
                value: function (t) {
                    var e = t.event,
                        n = t.phase,
                        r = t.preEnd,
                        o = t.type,
                        i = this.rect;
                    if (i && "move" === n && (Nn.rect.addEdges(this.edges, i, this.coords.delta[this.interactable.options.deltaSource]), i.width = i.right - i.left, i.height = i.bottom - i.top), !1 === this._scopeFire("interactions:before-action-".concat(n), t)) return !1;
                    var a = t.iEvent = this._createPreparedEvent(e, n, r, o);
                    return this._scopeFire("interactions:action-".concat(n), t), "start" === n && (this.prevEvent = a), this._fireEvent(a), this._scopeFire("interactions:after-action-".concat(n), t), !0
                }
            }, {
                key: "_now",
                value: function () {
                    return Date.now()
                }
            }]), l
        }(),
        Jn = Wn.Interaction = Zn;
    Wn.default = Jn;
    var Qn = {};
 
    function tr(t) {
        return (tr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Qn, "__esModule", {
        value: !0
    }), Qn.default = void 0;
    var er = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== tr(t) && "function" != typeof t) return {
            default: t
        };
        var e = nr();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(K);
 
    function nr() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return nr = function () {
            return t
        }, t
    }
    var rr = {
        methodOrder: ["simulationResume", "mouseOrPen", "hasPointer", "idle"],
        search: function (t) {
            for (var e = 0; e < rr.methodOrder.length; e++) {
                var n;
                n = rr.methodOrder[e];
                var r = rr[n](t);
                if (r) return r
            }
            return null
        },
        simulationResume: function (t) {
            var e = t.pointerType,
                n = t.eventType,
                r = t.eventTarget,
                o = t.scope;
            if (!/down|start/i.test(n)) return null;
            for (var i = 0; i < o.interactions.list.length; i++) {
                var a = o.interactions.list[i],
                    u = r;
                if (a.simulation && a.simulation.allowResume && a.pointerType === e)
                    for (; u;) {
                        if (u === a.element) return a;
                        u = er.parentNode(u)
                    }
            }
            return null
        },
        mouseOrPen: function (t) {
            var e, n = t.pointerId,
                r = t.pointerType,
                o = t.eventType,
                i = t.scope;
            if ("mouse" !== r && "pen" !== r) return null;
            for (var a = 0; a < i.interactions.list.length; a++) {
                var u = i.interactions.list[a];
                if (u.pointerType === r) {
                    if (u.simulation && !or(u, n)) continue;
                    if (u.interacting()) return u;
                    e = e || u
                }
            }
            if (e) return e;
            for (var s = 0; s < i.interactions.list.length; s++) {
                var l = i.interactions.list[s];
                if (!(l.pointerType !== r || /down/i.test(o) && l.simulation)) return l
            }
            return null
        },
        hasPointer: function (t) {
            for (var e = t.pointerId, n = t.scope, r = 0; r < n.interactions.list.length; r++) {
                var o = n.interactions.list[r];
                if (or(o, e)) return o
            }
            return null
        },
        idle: function (t) {
            for (var e = t.pointerType, n = t.scope, r = 0; r < n.interactions.list.length; r++) {
                var o = n.interactions.list[r];
                if (1 === o.pointers.length) {
                    var i = o.interactable;
                    if (i && (!i.options.gesture || !i.options.gesture.enabled)) continue
                } else if (2 <= o.pointers.length) continue;
                if (!o.interacting() && e === o.pointerType) return o
            }
            return null
        }
    };
 
    function or(t, e) {
        return t.pointers.some(function (t) {
            return t.id === e
        })
    }
    var ir = rr;
    Qn.default = ir;
    var ar = {};
 
    function ur(t) {
        return (ur = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(ar, "__esModule", {
        value: !0
    }), ar.install = vr, ar.default = void 0;
    var sr, lr = (sr = Tt) && sr.__esModule ? sr : {
            default: sr
        },
        cr = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== ur(t) && "function" != typeof t) return {
                default: t
            };
            var e = fr();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(P);
 
    function fr() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return fr = function () {
            return t
        }, t
    }
 
    function pr(t) {
        return /^(always|never|auto)$/.test(t) ? (this.options.preventDefault = t, this) : cr.bool(t) ? (this.options.preventDefault = t ? "always" : "never", this) : this.options.preventDefault
    }
 
    function dr(t) {
        var e = t.interaction,
            n = t.event;
        e.interactable && e.interactable.checkAndPreventDefault(n)
    }
 
    function vr(r) {
        var t = r.Interactable;
        t.prototype.preventDefault = pr, t.prototype.checkAndPreventDefault = function (t) {
            return function (t, e, n) {
                var r = t.options.preventDefault;
                if ("never" !== r)
                    if ("always" !== r) {
                        if (lr.default.supportsPassive && /^touch(start|move)$/.test(n.type)) {
                            var o = (0, w.getWindow)(n.target).document,
                                i = e.getDocOptions(o);
                            if (!i || !i.events || !1 !== i.events.passive) return
                        }
                        /^(mouse|pointer|touch)*(down|start)/i.test(n.type) || cr.element(n.target) && (0, K.matchesSelector)(n.target, "input,select,textarea,[contenteditable=true],[contenteditable=true] *") || n.preventDefault()
                    } else n.preventDefault()
            }(this, r, t)
        }, r.interactions.docEvents.push({
            type: "dragstart",
            listener: function (t) {
                for (var e = 0; e < r.interactions.list.length; e++) {
                    var n = r.interactions.list[e];
                    if (n.element && (n.element === t.target || (0, K.nodeContains)(n.element, t.target))) return void n.interactable.checkAndPreventDefault(t)
                }
            }
        })
    }
    var yr = {
        id: "core/interactablePreventDefault",
        install: vr,
        listeners: ["down", "move", "up", "cancel"].reduce(function (t, e) {
            return t["interactions:".concat(e)] = dr, t
        }, {})
    };
    ar.default = yr;
    var hr = {};
    Object.defineProperty(hr, "__esModule", {
        value: !0
    }), hr.default = void 0;
    var gr, br = (gr = pn) && gr.__esModule ? gr : {
            default: gr
        },
        mr = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== wr(t) && "function" != typeof t) return {
                default: t
            };
            var e = Or();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(j);
 
    function Or() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Or = function () {
            return t
        }, t
    }
 
    function wr(t) {
        return (wr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
 
    function Pr(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function _r(t) {
        return (_r = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
            return t.__proto__ || Object.getPrototypeOf(t)
        })(t)
    }
 
    function xr(t) {
        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return t
    }
 
    function jr(t, e) {
        return (jr = Object.setPrototypeOf || function (t, e) {
            return t.__proto__ = e, t
        })(t, e)
    }
 
    function Sr(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    var Mr = function () {
        function l(t, e, n) {
            var r, o, i;
            ! function (t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }(this, l), o = this, r = !(i = _r(l).call(this, e._interaction)) || "object" !== wr(i) && "function" != typeof i ? xr(o) : i, Sr(xr(r), "target", void 0), Sr(xr(r), "dropzone", void 0), Sr(xr(r), "dragEvent", void 0), Sr(xr(r), "relatedTarget", void 0), Sr(xr(r), "draggable", void 0), Sr(xr(r), "timeStamp", void 0), Sr(xr(r), "propagationStopped", !1), Sr(xr(r), "immediatePropagationStopped", !1);
            var a = "dragleave" === n ? t.prev : t.cur,
                u = a.element,
                s = a.dropzone;
            return r.type = n, r.target = u, r.currentTarget = u, r.dropzone = s, r.dragEvent = e, r.relatedTarget = e.target, r.draggable = e.interactable, r.timeStamp = e.timeStamp, r
        }
        var t, e, n;
        return function (t, e) {
            if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
            t.prototype = Object.create(e && e.prototype, {
                constructor: {
                    value: t,
                    writable: !0,
                    configurable: !0
                }
            }), e && jr(t, e)
        }(l, br["default"]), t = l, (e = [{
            key: "reject",
            value: function () {
                var r = this,
                    t = this._interaction.dropState;
                if ("dropactivate" === this.type || this.dropzone && t.cur.dropzone === this.dropzone && t.cur.element === this.target)
                    if (t.prev.dropzone = this.dropzone, t.prev.element = this.target, t.rejected = !0, t.events.enter = null, this.stopImmediatePropagation(), "dropactivate" === this.type) {
                        var e = t.activeDrops,
                            n = mr.findIndex(e, function (t) {
                                var e = t.dropzone,
                                    n = t.element;
                                return e === r.dropzone && n === r.target
                            });
                        t.activeDrops.splice(n, 1);
                        var o = new l(t, this.dragEvent, "dropdeactivate");
                        o.dropzone = this.dropzone, o.target = this.target, this.dropzone.fire(o)
                    } else this.dropzone.fire(new l(t, this.dragEvent, "dragleave"))
            }
        }, {
            key: "preventDefault",
            value: function () {}
        }, {
            key: "stopPropagation",
            value: function () {
                this.propagationStopped = !0
            }
        }, {
            key: "stopImmediatePropagation",
            value: function () {
                this.immediatePropagationStopped = this.propagationStopped = !0
            }
        }]) && Pr(t.prototype, e), n && Pr(t, n), l
    }();
    hr.default = Mr;
    var kr = {};
 
    function Er(t) {
        return (Er = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(kr, "__esModule", {
        value: !0
    }), kr.default = void 0;
    Ar(M({})), O({});
    var Tr = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Er(t) && "function" != typeof t) return {
                default: t
            };
            var e = zr();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(De),
        Dr = Ar(v),
        Ir = Ar(hr);
 
    function zr() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return zr = function () {
            return t
        }, t
    }
 
    function Ar(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function Cr(t, e) {
        for (var n = 0; n < t.slice().length; n++) {
            r = t.slice()[n];
            var r, o = r.dropzone,
                i = r.element;
            e.dropzone = o, e.target = i, o.fire(e), e.propagationStopped = e.immediatePropagationStopped = !1
        }
    }
 
    function Wr(t, e) {
        for (var n = function (t, e) {
                for (var n = t.interactables, r = [], o = 0; o < n.list.length; o++) {
                    var i = n.list[o];
                    if (i.options.drop.enabled) {
                        var a = i.options.drop.accept;
                        if (!(Tr.is.element(a) && a !== e || Tr.is.string(a) && !Tr.dom.matchesSelector(e, a) || Tr.is.func(a) && !a({
                                dropzone: i,
                                draggableElement: e
                            })))
                            for (var u = Tr.is.string(i.target) ? i._context.querySelectorAll(i.target) : Tr.is.array(i.target) ? i.target : [i.target], s = 0; s < u.length; s++) {
                                var l;
                                l = u[s];
                                l !== e && r.push({
                                    dropzone: i,
                                    element: l
                                })
                            }
                    }
                }
                return r
            }(t, e), r = 0; r < n.length; r++) {
            var o;
            o = n[r];
            o.rect = o.dropzone.getRect(o.element)
        }
        return n
    }
 
    function Rr(t, e, n) {
        for (var r = t.dropState, o = t.interactable, i = t.element, a = [], u = 0; u < r.activeDrops.length; u++) {
            s = r.activeDrops[u];
            var s, l = s.dropzone,
                c = s.element,
                f = s.rect;
            a.push(l.dropCheck(e, n, o, i, c, f) ? c : null)
        }
        var p = Tr.dom.indexOfDeepestElement(a);
        return r.activeDrops[p] || null
    }
 
    function Fr(t, e, n) {
        var r = t.dropState,
            o = {
                enter: null,
                leave: null,
                activate: null,
                deactivate: null,
                move: null,
                drop: null
            };
        return "dragstart" === n.type && (o.activate = new Ir.default(r, n, "dropactivate"), o.activate.target = null, o.activate.dropzone = null), "dragend" === n.type && (o.deactivate = new Ir.default(r, n, "dropdeactivate"), o.deactivate.target = null, o.deactivate.dropzone = null), r.rejected || (r.cur.element !== r.prev.element && (r.prev.dropzone && (o.leave = new Ir.default(r, n, "dragleave"), n.dragLeave = o.leave.target = r.prev.element, n.prevDropzone = o.leave.dropzone = r.prev.dropzone), r.cur.dropzone && (o.enter = new Ir.default(r, n, "dragenter"), n.dragEnter = r.cur.element, n.dropzone = r.cur.dropzone)), "dragend" === n.type && r.cur.dropzone && (o.drop = new Ir.default(r, n, "drop"), n.dropzone = r.cur.dropzone, n.relatedTarget = r.cur.element), "dragmove" === n.type && r.cur.dropzone && (o.move = new Ir.default(r, n, "dropmove"), (o.move.dragmove = n).dropzone = r.cur.dropzone)), o
    }
 
    function Xr(t, e) {
        var n = t.dropState,
            r = n.activeDrops,
            o = n.cur,
            i = n.prev;
        e.leave && i.dropzone.fire(e.leave), e.move && o.dropzone.fire(e.move), e.enter && o.dropzone.fire(e.enter), e.drop && o.dropzone.fire(e.drop), e.deactivate && Cr(r, e.deactivate), n.prev.dropzone = o.dropzone, n.prev.element = o.element
    }
 
    function Yr(t, e) {
        var n = t.interaction,
            r = t.iEvent,
            o = t.event;
        if ("dragmove" === r.type || "dragend" === r.type) {
            var i = n.dropState;
            e.dynamicDrop && (i.activeDrops = Wr(e, n.element));
            var a = r,
                u = Rr(n, a, o);
            i.rejected = i.rejected && !!u && u.dropzone === i.cur.dropzone && u.element === i.cur.element, i.cur.dropzone = u && u.dropzone, i.cur.element = u && u.element, i.events = Fr(n, 0, a)
        }
    }
    var Lr = {
            id: "actions/drop",
            install: function (e) {
                var t = e.actions,
                    n = e.interact,
                    r = e.Interactable,
                    o = e.defaults;
                e.usePlugin(Dr.default), r.prototype.dropzone = function (t) {
                    return function (t, e) {
                        if (Tr.is.object(e)) {
                            if (t.options.drop.enabled = !1 !== e.enabled, e.listeners) {
                                var n = Tr.normalizeListeners(e.listeners),
                                    r = Object.keys(n).reduce(function (t, e) {
                                        return t[/^(enter|leave)/.test(e) ? "drag".concat(e) : /^(activate|deactivate|move)/.test(e) ? "drop".concat(e) : e] = n[e], t
                                    }, {});
                                t.off(t.options.drop.listeners), t.on(r), t.options.drop.listeners = r
                            }
                            return Tr.is.func(e.ondrop) && t.on("drop", e.ondrop), Tr.is.func(e.ondropactivate) && t.on("dropactivate", e.ondropactivate), Tr.is.func(e.ondropdeactivate) && t.on("dropdeactivate", e.ondropdeactivate), Tr.is.func(e.ondragenter) && t.on("dragenter", e.ondragenter), Tr.is.func(e.ondragleave) && t.on("dragleave", e.ondragleave), Tr.is.func(e.ondropmove) && t.on("dropmove", e.ondropmove), /^(pointer|center)$/.test(e.overlap) ? t.options.drop.overlap = e.overlap : Tr.is.number(e.overlap) && (t.options.drop.overlap = Math.max(Math.min(1, e.overlap), 0)), "accept" in e && (t.options.drop.accept = e.accept), "checker" in e && (t.options.drop.checker = e.checker), t
                        }
                        if (Tr.is.bool(e)) return t.options.drop.enabled = e, t;
                        return t.options.drop
                    }(this, t)
                }, r.prototype.dropCheck = function (t, e, n, r, o, i) {
                    return function (t, e, n, r, o, i, a) {
                        var u = !1;
                        if (!(a = a || t.getRect(i))) return !!t.options.drop.checker && t.options.drop.checker(e, n, u, t, i, r, o);
                        var s = t.options.drop.overlap;
                        if ("pointer" === s) {
                            var l = Tr.getOriginXY(r, o, "drag"),
                                c = Tr.pointer.getPageXY(e);
                            c.x += l.x, c.y += l.y;
                            var f = c.x > a.left && c.x < a.right,
                                p = c.y > a.top && c.y < a.bottom;
                            u = f && p
                        }
                        var d = r.getRect(o);
                        if (d && "center" === s) {
                            var v = d.left + d.width / 2,
                                y = d.top + d.height / 2;
                            u = v >= a.left && v <= a.right && y >= a.top && y <= a.bottom
                        }
                        if (d && Tr.is.number(s)) {
                            var h = Math.max(0, Math.min(a.right, d.right) - Math.max(a.left, d.left)) * Math.max(0, Math.min(a.bottom, d.bottom) - Math.max(a.top, d.top)) / (d.width * d.height);
                            u = s <= h
                        }
                        t.options.drop.checker && (u = t.options.drop.checker(e, n, u, t, i, r, o));
                        return u
                    }(this, t, e, n, r, o, i)
                }, n.dynamicDrop = function (t) {
                    return Tr.is.bool(t) ? (e.dynamicDrop = t, n) : e.dynamicDrop
                }, Tr.extend(t.phaselessTypes, {
                    dragenter: !0,
                    dragleave: !0,
                    dropactivate: !0,
                    dropdeactivate: !0,
                    dropmove: !0,
                    drop: !0
                }), t.methodDict.drop = "dropzone", e.dynamicDrop = !1, o.actions.drop = Lr.defaults
            },
            listeners: {
                "interactions:before-action-start": function (t) {
                    var e = t.interaction;
                    "drag" === e.prepared.name && (e.dropState = {
                        cur: {
                            dropzone: null,
                            element: null
                        },
                        prev: {
                            dropzone: null,
                            element: null
                        },
                        rejected: null,
                        events: null,
                        activeDrops: []
                    })
                },
                "interactions:after-action-start": function (t, e) {
                    var n = t.interaction,
                        r = (t.event, t.iEvent);
                    if ("drag" === n.prepared.name) {
                        var o = n.dropState;
                        o.activeDrops = null, o.events = null, o.activeDrops = Wr(e, n.element), o.events = Fr(n, 0, r), o.events.activate && (Cr(o.activeDrops, o.events.activate), e.fire("actions/drop:start", {
                            interaction: n,
                            dragEvent: r
                        }))
                    }
                },
                "interactions:action-move": Yr,
                "interactions:action-end": Yr,
                "interactions:after-action-move": function (t, e) {
                    var n = t.interaction,
                        r = t.iEvent;
                    "drag" === n.prepared.name && (Xr(n, n.dropState.events), e.fire("actions/drop:move", {
                        interaction: n,
                        dragEvent: r
                    }), n.dropState.events = {})
                },
                "interactions:after-action-end": function (t, e) {
                    var n = t.interaction,
                        r = t.iEvent;
                    "drag" === n.prepared.name && (Xr(n, n.dropState.events), e.fire("actions/drop:end", {
                        interaction: n,
                        dragEvent: r
                    }))
                },
                "interactions:stop": function (t) {
                    var e = t.interaction;
                    if ("drag" === e.prepared.name) {
                        var n = e.dropState;
                        n && (n.activeDrops = null, n.events = null, n.cur.dropzone = null, n.cur.element = null, n.prev.dropzone = null, n.prev.element = null, n.rejected = !1)
                    }
                }
            },
            getActiveDrops: Wr,
            getDrop: Rr,
            getDropEvents: Fr,
            fireDropEvents: Xr,
            defaults: {
                enabled: !1,
                accept: null,
                overlap: "pointer"
            }
        },
        Nr = Lr;
    kr.default = Nr;
    var Br = {};
 
    function Vr(t) {
        return (Vr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Br, "__esModule", {
        value: !0
    }), Br.default = void 0;
    var qr = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Vr(t) && "function" != typeof t) return {
            default: t
        };
        var e = Ur();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(De);
 
    function Ur() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Ur = function () {
            return t
        }, t
    }
 
    function Gr(t) {
        var e = t.interaction,
            n = t.iEvent,
            r = t.phase;
        if ("gesture" === e.prepared.name) {
            var o = e.pointers.map(function (t) {
                    return t.pointer
                }),
                i = "start" === r,
                a = "end" === r,
                u = e.interactable.options.deltaSource;
            if (n.touches = [o[0], o[1]], i) n.distance = qr.pointer.touchDistance(o, u), n.box = qr.pointer.touchBBox(o), n.scale = 1, n.ds = 0, n.angle = qr.pointer.touchAngle(o, u), n.da = 0, e.gesture.startDistance = n.distance, e.gesture.startAngle = n.angle;
            else if (a) {
                var s = e.prevEvent;
                n.distance = s.distance, n.box = s.box, n.scale = s.scale, n.ds = 0, n.angle = s.angle, n.da = 0
            } else n.distance = qr.pointer.touchDistance(o, u), n.box = qr.pointer.touchBBox(o), n.scale = n.distance / e.gesture.startDistance, n.angle = qr.pointer.touchAngle(o, u), n.ds = n.scale - e.gesture.scale, n.da = n.angle - e.gesture.angle;
            e.gesture.distance = n.distance, e.gesture.angle = n.angle, qr.is.number(n.scale) && n.scale !== 1 / 0 && !isNaN(n.scale) && (e.gesture.scale = n.scale)
        }
    }
    var Hr = {
            id: "actions/gesture",
            before: ["actions/drag", "actions/resize"],
            install: function (t) {
                var e = t.actions,
                    n = t.Interactable,
                    r = t.defaults;
                n.prototype.gesturable = function (t) {
                    return qr.is.object(t) ? (this.options.gesture.enabled = !1 !== t.enabled, this.setPerAction("gesture", t), this.setOnEvents("gesture", t), this) : qr.is.bool(t) ? (this.options.gesture.enabled = t, this) : this.options.gesture
                }, e.map.gesture = Hr, e.methodDict.gesture = "gesturable", r.actions.gesture = Hr.defaults
            },
            listeners: {
                "interactions:action-start": Gr,
                "interactions:action-move": Gr,
                "interactions:action-end": Gr,
                "interactions:new": function (t) {
                    t.interaction.gesture = {
                        angle: 0,
                        distance: 0,
                        scale: 1,
                        startAngle: 0,
                        startDistance: 0
                    }
                },
                "auto-start:check": function (t) {
                    if (!(t.interaction.pointers.length < 2)) {
                        var e = t.interactable.options.gesture;
                        if (e && e.enabled) return !(t.action = {
                            name: "gesture"
                        })
                    }
                }
            },
            defaults: {},
            getCursor: function () {
                return ""
            }
        },
        Kr = Hr;
    Br.default = Kr;
    var $r = {};
 
    function Zr(t) {
        return (Zr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty($r, "__esModule", {
        value: !0
    }), $r.default = void 0;
    var Jr, Qr = ro(K),
        to = (Jr = Qt) && Jr.__esModule ? Jr : {
            default: Jr
        },
        eo = ro(P);
 
    function no() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return no = function () {
            return t
        }, t
    }
 
    function ro(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Zr(t) && "function" != typeof t) return {
            default: t
        };
        var e = no();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function oo(t, e, n, r, o, i, a) {
        if (!e) return !1;
        if (!0 === e) {
            var u = eo.number(i.width) ? i.width : i.right - i.left,
                s = eo.number(i.height) ? i.height : i.bottom - i.top;
            if (a = Math.min(a, ("left" === t || "right" === t ? u : s) / 2), u < 0 && ("left" === t ? t = "right" : "right" === t && (t = "left")), s < 0 && ("top" === t ? t = "bottom" : "bottom" === t && (t = "top")), "left" === t) return n.x < (0 <= u ? i.left : i.right) + a;
            if ("top" === t) return n.y < (0 <= s ? i.top : i.bottom) + a;
            if ("right" === t) return n.x > (0 <= u ? i.right : i.left) - a;
            if ("bottom" === t) return n.y > (0 <= s ? i.bottom : i.top) - a
        }
        return !!eo.element(r) && (eo.element(e) ? e === r : Qr.matchesUpTo(r, e, o))
    }
 
    function io(t) {
        var e = t.iEvent,
            n = t.interaction;
        if ("resize" === n.prepared.name && n.resizeAxes) {
            var r = e;
            n.interactable.options.resize.square ? ("y" === n.resizeAxes ? r.delta.x = r.delta.y : r.delta.y = r.delta.x, r.axes = "xy") : (r.axes = n.resizeAxes, "x" === n.resizeAxes ? r.delta.y = 0 : "y" === n.resizeAxes && (r.delta.x = 0))
        }
    }
    var ao = {
            id: "actions/resize",
            before: ["actions/drag"],
            install: function (e) {
                var t = e.actions,
                    n = e.browser,
                    r = e.Interactable,
                    o = e.defaults;
                ao.cursors = n.isIe9 ? {
                    x: "e-resize",
                    y: "s-resize",
                    xy: "se-resize",
                    top: "n-resize",
                    left: "w-resize",
                    bottom: "s-resize",
                    right: "e-resize",
                    topleft: "se-resize",
                    bottomright: "se-resize",
                    topright: "ne-resize",
                    bottomleft: "ne-resize"
                } : {
                    x: "ew-resize",
                    y: "ns-resize",
                    xy: "nwse-resize",
                    top: "ns-resize",
                    left: "ew-resize",
                    bottom: "ns-resize",
                    right: "ew-resize",
                    topleft: "nwse-resize",
                    bottomright: "nwse-resize",
                    topright: "nesw-resize",
                    bottomleft: "nesw-resize"
                }, ao.defaultMargin = n.supportsTouch || n.supportsPointerEvent ? 20 : 10, r.prototype.resizable = function (t) {
                    return function (t, e, n) {
                        if (eo.object(e)) return t.options.resize.enabled = !1 !== e.enabled, t.setPerAction("resize", e), t.setOnEvents("resize", e), eo.string(e.axis) && /^x$|^y$|^xy$/.test(e.axis) ? t.options.resize.axis = e.axis : null === e.axis && (t.options.resize.axis = n.defaults.actions.resize.axis), eo.bool(e.preserveAspectRatio) ? t.options.resize.preserveAspectRatio = e.preserveAspectRatio : eo.bool(e.square) && (t.options.resize.square = e.square), t;
                        if (eo.bool(e)) return t.options.resize.enabled = e, t;
                        return t.options.resize
                    }(this, t, e)
                }, t.map.resize = ao, t.methodDict.resize = "resizable", o.actions.resize = ao.defaults
            },
            listeners: {
                "interactions:new": function (t) {
                    t.interaction.resizeAxes = "xy"
                },
                "interactions:action-start": function (t) {
                    ! function (t) {
                        var e = t.iEvent,
                            n = t.interaction;
                        if ("resize" === n.prepared.name && n.prepared.edges) {
                            var r = e,
                                o = n.rect;
                            n._rects = {
                                start: (0, to.default)({}, o),
                                corrected: (0, to.default)({}, o),
                                previous: (0, to.default)({}, o),
                                delta: {
                                    left: 0,
                                    right: 0,
                                    width: 0,
                                    top: 0,
                                    bottom: 0,
                                    height: 0
                                }
                            }, r.edges = n.prepared.edges, r.rect = n._rects.corrected, r.deltaRect = n._rects.delta
                        }
                    }(t), io(t)
                },
                "interactions:action-move": function (t) {
                    ! function (t) {
                        var e = t.iEvent,
                            n = t.interaction;
                        if ("resize" === n.prepared.name && n.prepared.edges) {
                            var r = e,
                                o = n.interactable.options.resize.invert,
                                i = "reposition" === o || "negate" === o,
                                a = n.rect,
                                u = n._rects,
                                s = u.start,
                                l = u.corrected,
                                c = u.delta,
                                f = u.previous;
                            if ((0, to.default)(f, l), i) {
                                if ((0, to.default)(l, a), "reposition" === o) {
                                    if (l.top > l.bottom) {
                                        var p = l.top;
                                        l.top = l.bottom, l.bottom = p
                                    }
                                    if (l.left > l.right) {
                                        var d = l.left;
                                        l.left = l.right, l.right = d
                                    }
                                }
                            } else l.top = Math.min(a.top, s.bottom), l.bottom = Math.max(a.bottom, s.top), l.left = Math.min(a.left, s.right), l.right = Math.max(a.right, s.left);
                            for (var v in l.width = l.right - l.left, l.height = l.bottom - l.top, l) c[v] = l[v] - f[v];
                            r.edges = n.prepared.edges, r.rect = l, r.deltaRect = c
                        }
                    }(t), io(t)
                },
                "interactions:action-end": function (t) {
                    var e = t.iEvent,
                        n = t.interaction;
                    if ("resize" === n.prepared.name && n.prepared.edges) {
                        var r = e;
                        r.edges = n.prepared.edges, r.rect = n._rects.corrected, r.deltaRect = n._rects.delta
                    }
                },
                "auto-start:check": function (t) {
                    var e = t.interaction,
                        n = t.interactable,
                        r = t.element,
                        o = t.rect,
                        i = t.buttons;
                    if (o) {
                        var a = (0, to.default)({}, e.coords.cur.page),
                            u = n.options.resize;
                        if (u && u.enabled && (!e.pointerIsDown || !/mouse|pointer/.test(e.pointerType) || 0 != (i & u.mouseButtons))) {
                            if (eo.object(u.edges)) {
                                var s = {
                                    left: !1,
                                    right: !1,
                                    top: !1,
                                    bottom: !1
                                };
                                for (var l in s) s[l] = oo(l, u.edges[l], a, e._latestPointer.eventTarget, r, o, u.margin || ao.defaultMargin);
                                s.left = s.left && !s.right, s.top = s.top && !s.bottom, (s.left || s.right || s.top || s.bottom) && (t.action = {
                                    name: "resize",
                                    edges: s
                                })
                            } else {
                                var c = "y" !== u.axis && a.x > o.right - ao.defaultMargin,
                                    f = "x" !== u.axis && a.y > o.bottom - ao.defaultMargin;
                                (c || f) && (t.action = {
                                    name: "resize",
                                    axes: (c ? "x" : "") + (f ? "y" : "")
                                })
                            }
                            return !t.action && void 0
                        }
                    }
                }
            },
            defaults: {
                square: !1,
                preserveAspectRatio: !1,
                axis: "xy",
                margin: NaN,
                edges: null,
                invert: "none"
            },
            cursors: null,
            getCursor: function (t) {
                var e = t.edges,
                    n = t.axis,
                    r = t.name,
                    o = ao.cursors,
                    i = null;
                if (n) i = o[r + n];
                else if (e) {
                    for (var a = "", u = ["top", "bottom", "left", "right"], s = 0; s < u.length; s++) {
                        var l = u[s];
                        e[l] && (a += l)
                    }
                    i = o[a]
                }
                return i
            },
            defaultMargin: null
        },
        uo = ao;
    $r.default = uo;
    var so = {};
    Object.defineProperty(so, "__esModule", {
        value: !0
    }), Object.defineProperty(so, "drag", {
        enumerable: !0,
        get: function () {
            return lo.default
        }
    }), Object.defineProperty(so, "drop", {
        enumerable: !0,
        get: function () {
            return co.default
        }
    }), Object.defineProperty(so, "gesture", {
        enumerable: !0,
        get: function () {
            return fo.default
        }
    }), Object.defineProperty(so, "resize", {
        enumerable: !0,
        get: function () {
            return po.default
        }
    }), so.default = void 0;
    var lo = vo(v),
        co = vo(kr),
        fo = vo(Br),
        po = vo($r);
 
    function vo(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var yo = {
        id: "actions",
        install: function (t) {
            t.usePlugin(fo.default), t.usePlugin(po.default), t.usePlugin(lo.default), t.usePlugin(co.default)
        }
    };
    so.default = yo;
    var ho = {};
 
    function go(t) {
        return (go = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(ho, "__esModule", {
        value: !0
    }), ho.getContainer = jo, ho.getScroll = So, ho.getScrollSize = function (t) {
        Oo.window(t) && (t = window.document.body);
        return {
            x: t.scrollWidth,
            y: t.scrollHeight
        }
    }, ho.getScrollSizeDelta = function (t, e) {
        var n = t.interaction,
            r = t.element,
            o = n && n.interactable.options[n.prepared.name].autoScroll;
        if (!o || !o.enabled) return e(), {
            x: 0,
            y: 0
        };
        var i = jo(o.container, n.interactable, r),
            a = So(i);
        e();
        var u = So(i);
        return {
            x: u.x - a.x,
            y: u.y - a.y
        }
    }, ho.default = void 0;
    var bo, mo = _o(K),
        Oo = _o(P),
        wo = (bo = Se) && bo.__esModule ? bo : {
            default: bo
        };
 
    function Po() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Po = function () {
            return t
        }, t
    }
 
    function _o(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== go(t) && "function" != typeof t) return {
            default: t
        };
        var e = Po();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
    var xo = {
        defaults: {
            enabled: !1,
            margin: 60,
            container: null,
            speed: 300
        },
        now: Date.now,
        interaction: null,
        i: 0,
        x: 0,
        y: 0,
        isScrolling: !1,
        prevTime: 0,
        margin: 0,
        speed: 0,
        start: function (t) {
            xo.isScrolling = !0, wo.default.cancel(xo.i), (t.autoScroll = xo).interaction = t, xo.prevTime = xo.now(), xo.i = wo.default.request(xo.scroll)
        },
        stop: function () {
            xo.isScrolling = !1, xo.interaction && (xo.interaction.autoScroll = null), wo.default.cancel(xo.i)
        },
        scroll: function () {
            var t = xo.interaction,
                e = t.interactable,
                n = t.element,
                r = t.prepared.name,
                o = e.options[r].autoScroll,
                i = jo(o.container, e, n),
                a = xo.now(),
                u = (a - xo.prevTime) / 1e3,
                s = o.speed * u;
            if (1 <= s) {
                var l = {
                    x: xo.x * s,
                    y: xo.y * s
                };
                if (l.x || l.y) {
                    var c = So(i);
                    Oo.window(i) ? i.scrollBy(l.x, l.y) : i && (i.scrollLeft += l.x, i.scrollTop += l.y);
                    var f = So(i),
                        p = {
                            x: f.x - c.x,
                            y: f.y - c.y
                        };
                    (p.x || p.y) && e.fire({
                        type: "autoscroll",
                        target: n,
                        interactable: e,
                        delta: p,
                        interaction: t,
                        container: i
                    })
                }
                xo.prevTime = a
            }
            xo.isScrolling && (wo.default.cancel(xo.i), xo.i = wo.default.request(xo.scroll))
        },
        check: function (t, e) {
            var n = t.options;
            return n[e].autoScroll && n[e].autoScroll.enabled
        },
        onInteractionMove: function (t) {
            var e = t.interaction,
                n = t.pointer;
            if (e.interacting() && xo.check(e.interactable, e.prepared.name))
                if (e.simulation) xo.x = xo.y = 0;
                else {
                    var r, o, i, a, u = e.interactable,
                        s = e.element,
                        l = e.prepared.name,
                        c = u.options[l].autoScroll,
                        f = jo(c.container, u, s);
                    if (Oo.window(f)) a = n.clientX < xo.margin, r = n.clientY < xo.margin, o = n.clientX > f.innerWidth - xo.margin, i = n.clientY > f.innerHeight - xo.margin;
                    else {
                        var p = mo.getElementClientRect(f);
                        a = n.clientX < p.left + xo.margin, r = n.clientY < p.top + xo.margin, o = n.clientX > p.right - xo.margin, i = n.clientY > p.bottom - xo.margin
                    }
                    xo.x = o ? 1 : a ? -1 : 0, xo.y = i ? 1 : r ? -1 : 0, xo.isScrolling || (xo.margin = c.margin, xo.speed = c.speed, xo.start(e))
                }
        }
    };
 
    function jo(t, e, n) {
        return (Oo.string(t) ? (0, be.getStringOptionResult)(t, e, n) : t) || (0, w.getWindow)(n)
    }
 
    function So(t) {
        return Oo.window(t) && (t = window.document.body), {
            x: t.scrollLeft,
            y: t.scrollTop
        }
    }
    var Mo = {
        id: "auto-scroll",
        install: function (t) {
            var e = t.defaults,
                n = t.actions;
            (t.autoScroll = xo).now = function () {
                return t.now()
            }, n.phaselessTypes.autoscroll = !0, e.perAction.autoScroll = xo.defaults
        },
        listeners: {
            "interactions:new": function (t) {
                t.interaction.autoScroll = null
            },
            "interactions:destroy": function (t) {
                t.interaction.autoScroll = null, xo.stop(), xo.interaction && (xo.interaction = null)
            },
            "interactions:stop": xo.stop,
            "interactions:action-move": function (t) {
                return xo.onInteractionMove(t)
            }
        }
    };
    ho.default = Mo;
    var ko = {};
 
    function Eo(t) {
        return (Eo = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(ko, "__esModule", {
        value: !0
    }), ko.default = void 0;
    var To = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Eo(t) && "function" != typeof t) return {
            default: t
        };
        var e = Do();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(P);
 
    function Do() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Do = function () {
            return t
        }, t
    }
 
    function Io(t) {
        return To.bool(t) ? (this.options.styleCursor = t, this) : null === t ? (delete this.options.styleCursor, this) : this.options.styleCursor
    }
 
    function zo(t) {
        return To.func(t) ? (this.options.actionChecker = t, this) : null === t ? (delete this.options.actionChecker, this) : this.options.actionChecker
    }
    var Ao = {
        id: "auto-start/interactableMethods",
        install: function (d) {
            var t = d.Interactable;
            t.prototype.getAction = function (t, e, n, r) {
                var o, i, a, u, s, l, c, f, p = (i = e, a = n, u = r, s = d, l = (o = this).getRect(u), c = i.buttons || {
                    0: 1,
                    1: 4,
                    3: 8,
                    4: 16
                } [i.button], f = {
                    action: null,
                    interactable: o,
                    interaction: a,
                    element: u,
                    rect: l,
                    buttons: c
                }, s.fire("auto-start:check", f), f.action);
                return this.options.actionChecker ? this.options.actionChecker(t, e, p, this, r, n) : p
            }, t.prototype.ignoreFrom = (0, De.warnOnce)(function (t) {
                return this._backCompatOption("ignoreFrom", t)
            }, "Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."), t.prototype.allowFrom = (0, De.warnOnce)(function (t) {
                return this._backCompatOption("allowFrom", t)
            }, "Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."), t.prototype.actionChecker = zo, t.prototype.styleCursor = Io
        }
    };
    ko.default = Ao;
    var Co = {};
 
    function Wo(t) {
        return (Wo = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Co, "__esModule", {
        value: !0
    }), Co.default = void 0;
    var Ro, Fo = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Wo(t) && "function" != typeof t) return {
                default: t
            };
            var e = Yo();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(De),
        Xo = (Ro = ko) && Ro.__esModule ? Ro : {
            default: Ro
        };
 
    function Yo() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Yo = function () {
            return t
        }, t
    }
 
    function Lo(t, e, n, r, o) {
        return e.testIgnoreAllow(e.options[t.name], n, r) && e.options[t.name].enabled && qo(e, n, t, o) ? t : null
    }
 
    function No(t, e, n, r, o, i, a) {
        for (var u = 0, s = r.length; u < s; u++) {
            var l = r[u],
                c = o[u],
                f = l.getAction(e, n, t, c);
            if (f) {
                var p = Lo(f, l, c, i, a);
                if (p) return {
                    action: p,
                    interactable: l,
                    element: c
                }
            }
        }
        return {
            action: null,
            interactable: null,
            element: null
        }
    }
 
    function Bo(t, e, n, r, o) {
        var i = [],
            a = [],
            u = r;
 
        function s(t) {
            i.push(t), a.push(u)
        }
        for (; Fo.is.element(u);) {
            i = [], a = [], o.interactables.forEachMatch(u, s);
            var l = No(t, e, n, i, a, r, o);
            if (l.action && !l.interactable.options[l.action.name].manualStart) return l;
            u = Fo.dom.parentNode(u)
        }
        return {
            action: null,
            interactable: null,
            element: null
        }
    }
 
    function Vo(t, e, n) {
        var r = e.action,
            o = e.interactable,
            i = e.element;
        r = r || {
            name: null
        }, t.interactable = o, t.element = i, Fo.copyAction(t.prepared, r), t.rect = o && r.name ? o.getRect(i) : null, Ho(t, n), n.fire("autoStart:prepared", {
            interaction: t
        })
    }
 
    function qo(t, e, n, r) {
        var o = t.options,
            i = o[n.name].max,
            a = o[n.name].maxPerElement,
            u = r.autoStart.maxInteractions,
            s = 0,
            l = 0,
            c = 0;
        if (!(i && a && u)) return !1;
        for (var f = 0; f < r.interactions.list.length; f++) {
            var p = r.interactions.list[f],
                d = p.prepared.name;
            if (p.interacting()) {
                if (u <= ++s) return !1;
                if (p.interactable === t) {
                    if (i <= (l += d === n.name ? 1 : 0)) return !1;
                    if (p.element === e && (c++, d === n.name && a <= c)) return !1
                }
            }
        }
        return 0 < u
    }
 
    function Uo(t, e) {
        return Fo.is.number(t) ? (e.autoStart.maxInteractions = t, this) : e.autoStart.maxInteractions
    }
 
    function Go(t, e, n) {
        var r = n.autoStart.cursorElement;
        r && r !== t && (r.style.cursor = ""), t.ownerDocument.documentElement.style.cursor = e, t.style.cursor = e, n.autoStart.cursorElement = e ? t : null
    }
 
    function Ho(t, e) {
        var n = t.interactable,
            r = t.element,
            o = t.prepared;
        if ("mouse" === t.pointerType && n && n.options.styleCursor) {
            var i = "";
            if (o.name) {
                var a = n.options[o.name].cursorChecker;
                i = Fo.is.func(a) ? a(o, n, r, t._interacting) : e.actions.map[o.name].getCursor(o)
            }
            Go(t.element, i || "", e)
        } else e.autoStart.cursorElement && Go(e.autoStart.cursorElement, "", e)
    }
    var Ko = {
        id: "auto-start/base",
        before: ["actions", "actions/drag", "actions/resize", "actions/gesture"],
        install: function (e) {
            var t = e.interact,
                n = e.defaults;
            e.usePlugin(Xo.default), n.base.actionChecker = null, n.base.styleCursor = !0, Fo.extend(n.perAction, {
                manualStart: !1,
                max: 1 / 0,
                maxPerElement: 1,
                allowFrom: null,
                ignoreFrom: null,
                mouseButtons: 1
            }), t.maxInteractions = function (t) {
                return Uo(t, e)
            }, e.autoStart = {
                maxInteractions: 1 / 0,
                withinInteractionLimit: qo,
                cursorElement: null
            }
        },
        listeners: {
            "interactions:down": function (t, e) {
                var n = t.interaction,
                    r = t.pointer,
                    o = t.event,
                    i = t.eventTarget;
                n.interacting() || Vo(n, Bo(n, r, o, i, e), e)
            },
            "interactions:move": function (t, e) {
                var n, r, o, i, a, u;
                r = e, o = (n = t).interaction, i = n.pointer, a = n.event, u = n.eventTarget, "mouse" !== o.pointerType || o.pointerIsDown || o.interacting() || Vo(o, Bo(o, i, a, u, r), r),
                    function (t, e) {
                        var n = t.interaction;
                        if (n.pointerIsDown && !n.interacting() && n.pointerWasMoved && n.prepared.name) {
                            e.fire("autoStart:before-start", t);
                            var r = n.interactable,
                                o = n.prepared.name;
                            o && r && (r.options[o].manualStart || !qo(r, n.element, n.prepared, e) ? n.stop() : (n.start(n.prepared, r, n.element), Ho(n, e)))
                        }
                    }(t, e)
            },
            "interactions:stop": function (t, e) {
                var n = t.interaction,
                    r = n.interactable;
                r && r.options.styleCursor && Go(n.element, "", e)
            }
        },
        maxInteractions: Uo,
        withinInteractionLimit: qo,
        validateAction: Lo
    };
    Co.default = Ko;
    var $o = {};
 
    function Zo(t) {
        return (Zo = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty($o, "__esModule", {
        value: !0
    }), $o.default = void 0;
    var Jo, Qo = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Zo(t) && "function" != typeof t) return {
                default: t
            };
            var e = ei();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(P),
        ti = (Jo = Co) && Jo.__esModule ? Jo : {
            default: Jo
        };
 
    function ei() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return ei = function () {
            return t
        }, t
    }
    var ni = {
        id: "auto-start/dragAxis",
        listeners: {
            "autoStart:before-start": function (t, r) {
                var o = t.interaction,
                    i = t.eventTarget,
                    e = t.dx,
                    n = t.dy;
                if ("drag" === o.prepared.name) {
                    var a = Math.abs(e),
                        u = Math.abs(n),
                        s = o.interactable.options.drag,
                        l = s.startAxis,
                        c = u < a ? "x" : a < u ? "y" : "xy";
                    if (o.prepared.axis = "start" === s.lockAxis ? c[0] : s.lockAxis, "xy" != c && "xy" !== l && l !== c) {
                        o.prepared.name = null;
 
                        function f(t) {
                            if (t !== o.interactable) {
                                var e = o.interactable.options.drag;
                                if (!e.manualStart && t.testIgnoreAllow(e, p, i)) {
                                    var n = t.getAction(o.downPointer, o.downEvent, o, p);
                                    if (n && "drag" === n.name && function (t, e) {
                                            if (!e) return;
                                            var n = e.options.drag.startAxis;
                                            return "xy" === t || "xy" === n || n === t
                                        }(c, t) && ti.default.validateAction(n, t, p, i, r)) return t
                                }
                            }
                        }
                        for (var p = i; Qo.element(p);) {
                            var d = r.interactables.forEachMatch(p, f);
                            if (d) {
                                o.prepared.name = "drag", o.interactable = d, o.element = p;
                                break
                            }
                            p = (0, K.parentNode)(p)
                        }
                    }
                }
            }
        }
    };
    $o.default = ni;
    var ri = {};
    Object.defineProperty(ri, "__esModule", {
        value: !0
    }), ri.default = void 0;
    var oi, ii = (oi = Co) && oi.__esModule ? oi : {
        default: oi
    };
 
    function ai(t) {
        var e = t.prepared && t.prepared.name;
        if (!e) return null;
        var n = t.interactable.options;
        return n[e].hold || n[e].delay
    }
    var ui = {
        id: "auto-start/hold",
        install: function (t) {
            var e = t.defaults;
            t.usePlugin(ii.default), e.perAction.hold = 0, e.perAction.delay = 0
        },
        listeners: {
            "interactions:new": function (t) {
                t.interaction.autoStartHoldTimer = null
            },
            "autoStart:prepared": function (t) {
                var e = t.interaction,
                    n = ai(e);
                0 < n && (e.autoStartHoldTimer = setTimeout(function () {
                    e.start(e.prepared, e.interactable, e.element)
                }, n))
            },
            "interactions:move": function (t) {
                var e = t.interaction,
                    n = t.duplicate;
                e.pointerWasMoved && !n && clearTimeout(e.autoStartHoldTimer)
            },
            "autoStart:before-start": function (t) {
                var e = t.interaction;
                0 < ai(e) && (e.prepared.name = null)
            }
        },
        getHoldDuration: ai
    };
    ri.default = ui;
    var si = {};
    Object.defineProperty(si, "__esModule", {
        value: !0
    }), Object.defineProperty(si, "autoStart", {
        enumerable: !0,
        get: function () {
            return li.default
        }
    }), Object.defineProperty(si, "dragAxis", {
        enumerable: !0,
        get: function () {
            return ci.default
        }
    }), Object.defineProperty(si, "hold", {
        enumerable: !0,
        get: function () {
            return fi.default
        }
    }), si.default = void 0;
    var li = pi(Co),
        ci = pi($o),
        fi = pi(ri);
 
    function pi(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var di = {
        id: "auto-start",
        install: function (t) {
            t.usePlugin(li.default), t.usePlugin(fi.default), t.usePlugin(ci.default)
        }
    };
    si.default = di;
    var vi = {};
 
    function yi(t) {
        return (yi = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(vi, "__esModule", {
        value: !0
    }), vi.default = void 0;
    var hi, gi, bi = Pi(T),
        mi = (Pi(Qt), function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== yi(t) && "function" != typeof t) return {
                default: t
            };
            var e = wi();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(P)),
        Oi = Pi(w);
 
    function wi() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return wi = function () {
            return t
        }, t
    }
 
    function Pi(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }(gi = hi = hi || {}).touchAction = "touchAction", gi.boxSizing = "boxSizing", gi.noListeners = "noListeners";
    var _i = {
        touchAction: "https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action",
        boxSizing: "https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing"
    };
    hi.touchAction, hi.boxSizing, hi.noListeners;
 
    function xi(t, e, n) {
        return n.test(t.style[e] || Oi.default.window.getComputedStyle(t)[e])
    }
    var ji = "dev-tools",
        Si = {
            id: ji,
            install: function () {}
        };
    vi.default = Si;
    var Mi = {};
 
    function ki(t) {
        return (ki = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Mi, "__esModule", {
        value: !0
    }), Mi.getRectOffset = Xi, Mi.default = void 0;
    var Ei = zi(B),
        Ti = zi(Qt),
        Di = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== ki(t) && "function" != typeof t) return {
                default: t
            };
            var e = Ii();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(be);
 
    function Ii() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Ii = function () {
            return t
        }, t
    }
 
    function zi(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function Ai(t, e) {
        return function (t) {
            if (Array.isArray(t)) return t
        }(t) || function (t, e) {
            if (!(Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t))) return;
            var n = [],
                r = !0,
                o = !1,
                i = void 0;
            try {
                for (var a, u = t[Symbol.iterator](); !(r = (a = u.next()).done) && (n.push(a.value), !e || n.length !== e); r = !0);
            } catch (t) {
                o = !0, i = t
            } finally {
                try {
                    r || null == u.return || u.return()
                } finally {
                    if (o) throw i
                }
            }
            return n
        }(t, e) || function () {
            throw new TypeError("Invalid attempt to destructure non-iterable instance")
        }()
    }
 
    function Ci(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function Wi(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    var Ri = function () {
        function e(t) {
            ! function (t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }(this, e), this.interaction = t, Wi(this, "states", []), Wi(this, "startOffset", {
                left: 0,
                right: 0,
                top: 0,
                bottom: 0
            }), Wi(this, "startDelta", null), Wi(this, "result", null), Wi(this, "endResult", null), Wi(this, "edges", void 0), this.result = Fi()
        }
        var t, n, r;
        return t = e, (n = [{
            key: "start",
            value: function (t, e) {
                var n = t.phase,
                    r = this.interaction,
                    o = function (t) {
                        var n = t.interactable.options[t.prepared.name],
                            e = n.modifiers;
                        if (e && e.length) return e.filter(function (t) {
                            return !t.options || !1 !== t.options.enabled
                        });
                        return ["snap", "snapSize", "snapEdges", "restrict", "restrictEdges", "restrictSize"].map(function (t) {
                            var e = n[t];
                            return e && e.enabled && {
                                options: e,
                                methods: e._methods
                            }
                        }).filter(function (t) {
                            return !!t
                        })
                    }(r);
                this.prepareStates(o), this.edges = (0, Ti.default)({}, r.edges), this.startOffset = Xi(r.rect, e);
                var i = {
                    phase: n,
                    pageCoords: e,
                    preEnd: !(this.startDelta = {
                        x: 0,
                        y: 0
                    })
                };
                return this.result = Fi(), this.startAll(i), this.result = this.setAll(i)
            }
        }, {
            key: "fillArg",
            value: function (t) {
                var e = this.interaction;
                t.interaction = e, t.interactable = e.interactable, t.element = e.element, t.rect = t.rect || e.rect, t.edges = this.edges, t.startOffset = this.startOffset
            }
        }, {
            key: "startAll",
            value: function (t) {
                this.fillArg(t);
                for (var e = 0; e < this.states.length; e++) {
                    var n = this.states[e];
                    n.methods.start && (t.state = n).methods.start(t)
                }
            }
        }, {
            key: "setAll",
            value: function (t) {
                this.fillArg(t);
                var e = t.phase,
                    n = t.preEnd,
                    r = t.skipModifiers,
                    o = t.rect;
                t.coords = (0, Ti.default)({}, t.pageCoords), t.rect = (0, Ti.default)({}, o);
                for (var i = r ? this.states.slice(r) : this.states, a = Fi(t.coords, t.rect), u = 0; u < i.length; u++) {
                    var s = i[u],
                        l = s.options,
                        c = (0, Ti.default)({}, t.coords),
                        f = null;
                    s.methods.set && this.shouldDo(l, n, e) && (f = (t.state = s).methods.set(t), Di.addEdges(this.interaction.edges, t.rect, {
                        x: t.coords.x - c.x,
                        y: t.coords.y - c.y
                    })), a.eventProps.push(f)
                }
                a.delta.x = t.coords.x - t.pageCoords.x, a.delta.y = t.coords.y - t.pageCoords.y, a.rectDelta.left = t.rect.left - o.left, a.rectDelta.right = t.rect.right - o.right, a.rectDelta.top = t.rect.top - o.top, a.rectDelta.bottom = t.rect.bottom - o.bottom;
                var p = this.result.coords,
                    d = this.result.rect;
                if (p && d) {
                    var v = a.rect.left !== d.left || a.rect.right !== d.right || a.rect.top !== d.top || a.rect.bottom !== d.bottom;
                    a.changed = v || p.x !== a.coords.x || p.y !== a.coords.y
                }
                return a
            }
        }, {
            key: "applyToInteraction",
            value: function (t) {
                var e = this.interaction,
                    n = t.phase,
                    r = e.coords.cur,
                    o = e.coords.start,
                    i = this.result,
                    a = this.startDelta,
                    u = i.delta;
                "start" === n && (0, Ti.default)(this.startDelta, i.delta);
                for (var s = 0; s < [
                        [o, a],
                        [r, u]
                    ].length; s++) {
                    var l = Ai([
                            [o, a],
                            [r, u]
                        ][s], 2),
                        c = l[0],
                        f = l[1];
                    c.page.x += f.x, c.page.y += f.y, c.client.x += f.x, c.client.y += f.y
                }
                var p = this.result.rectDelta,
                    d = t.rect || e.rect;
                d.left += p.left, d.right += p.right, d.top += p.top, d.bottom += p.bottom, d.width = d.right - d.left, d.height = d.bottom - d.top
            }
        }, {
            key: "setAndApply",
            value: function (t) {
                var e = this.interaction,
                    n = t.phase,
                    r = t.preEnd,
                    o = t.skipModifiers,
                    i = this.setAll({
                        preEnd: r,
                        phase: n,
                        pageCoords: t.modifiedCoords || e.coords.cur.page
                    });
                if (!(this.result = i).changed && (!o || o < this.states.length) && e.interacting()) return !1;
                if (t.modifiedCoords) {
                    var a = e.coords.cur.page,
                        u = t.modifiedCoords.x - a.x,
                        s = t.modifiedCoords.y - a.y;
                    i.coords.x += u, i.coords.y += s, i.delta.x += u, i.delta.y += s
                }
                this.applyToInteraction(t)
            }
        }, {
            key: "beforeEnd",
            value: function (t) {
                var e = t.interaction,
                    n = t.event,
                    r = this.states;
                if (r && r.length) {
                    for (var o = !1, i = 0; i < r.length; i++) {
                        var a = r[i],
                            u = (t.state = a).options,
                            s = a.methods,
                            l = s.beforeEnd && s.beforeEnd(t);
                        if (l) return this.endResult = l, !1;
                        o = o || !o && this.shouldDo(u, !0, t.phase, !0)
                    }
                    o && e.move({
                        event: n,
                        preEnd: !0
                    })
                }
            }
        }, {
            key: "stop",
            value: function (t) {
                var e = t.interaction;
                if (this.states && this.states.length) {
                    var n = (0, Ti.default)({
                        states: this.states,
                        interactable: e.interactable,
                        element: e.element,
                        rect: null
                    }, t);
                    this.fillArg(n);
                    for (var r = 0; r < this.states.length; r++) {
                        var o = this.states[r];
                        (n.state = o).methods.stop && o.methods.stop(n)
                    }
                    this.states = null, this.endResult = null
                }
            }
        }, {
            key: "prepareStates",
            value: function (t) {
                this.states = [];
                for (var e = 0; e < t.length; e++) {
                    var n = t[e],
                        r = n.options,
                        o = n.methods,
                        i = n.name;
                    r && !1 === r.enabled || this.states.push({
                        options: r,
                        methods: o,
                        index: e,
                        name: i
                    })
                }
                return this.states
            }
        }, {
            key: "restoreInteractionCoords",
            value: function (t) {
                var e = t.interaction,
                    n = e.coords,
                    r = e.rect,
                    o = e.modification;
                if (o.result) {
                    for (var i = o.startDelta, a = o.result, u = a.delta, s = a.rectDelta, l = [
                            [n.start, i],
                            [n.cur, u]
                        ], c = 0; c < l.length; c++) {
                        var f = Ai(l[c], 2),
                            p = f[0],
                            d = f[1];
                        p.page.x -= d.x, p.page.y -= d.y, p.client.x -= d.x, p.client.y -= d.y
                    }
                    r.left -= s.left, r.right -= s.right, r.top -= s.top, r.bottom -= s.bottom
                }
            }
        }, {
            key: "shouldDo",
            value: function (t, e, n, r) {
                return !(!t || !1 === t.enabled || r && !t.endOnly || t.endOnly && !e || "start" === n && !t.setStart)
            }
        }, {
            key: "copyFrom",
            value: function (t) {
                this.startOffset = t.startOffset, this.startDelta = t.startDelta, this.edges = t.edges, this.states = t.states.map(function (t) {
                    return (0, Ei.default)(t)
                }), this.result = Fi((0, Ti.default)({}, t.result.coords), (0, Ti.default)({}, t.result.rect))
            }
        }, {
            key: "destroy",
            value: function () {
                for (var t in this) this[t] = null
            }
        }]) && Ci(t.prototype, n), r && Ci(t, r), e
    }();
 
    function Fi(t, e) {
        return {
            rect: e,
            coords: t,
            delta: {
                x: 0,
                y: 0
            },
            rectDelta: {
                left: 0,
                right: 0,
                top: 0,
                bottom: 0
            },
            eventProps: [],
            changed: !0
        }
    }
 
    function Xi(t, e) {
        return t ? {
            left: e.x - t.left,
            top: e.y - t.top,
            right: t.right - e.x,
            bottom: t.bottom - e.y
        } : {
            left: 0,
            top: 0,
            right: 0,
            bottom: 0
        }
    }
    Mi.default = Ri;
    var Yi = {};
    Object.defineProperty(Yi, "__esModule", {
        value: !0
    }), Yi.makeModifier = function (t, r) {
        function e(t) {
            var e = t || {};
            for (var n in e.enabled = !1 !== e.enabled, o) n in e || (e[n] = o[n]);
            return {
                options: e,
                methods: i,
                name: r
            }
        }
        var o = t.defaults,
            i = {
                start: t.start,
                set: t.set,
                beforeEnd: t.beforeEnd,
                stop: t.stop
            };
        r && "string" == typeof r && (e._defaults = o, e._methods = i);
        return e
    }, Yi.addEventModifiers = Bi, Yi.default = void 0;
    var Li, Ni = (Li = Mi) && Li.__esModule ? Li : {
        default: Li
    };
 
    function Bi(t) {
        var e = t.iEvent,
            n = t.interaction.modification.result;
        n && (e.modifiers = n.eventProps)
    }
    var Vi = {
        id: "modifiers/base",
        install: function (t) {
            t.defaults.perAction.modifiers = []
        },
        listeners: {
            "interactions:new": function (t) {
                var e = t.interaction;
                e.modification = new Ni.default(e)
            },
            "interactions:before-action-start": function (t) {
                var e = t.interaction.modification;
                e.start(t, t.interaction.coords.start.page), t.interaction.edges = e.edges, e.applyToInteraction(t)
            },
            "interactions:before-action-move": function (t) {
                return t.interaction.modification.setAndApply(t)
            },
            "interactions:before-action-end": function (t) {
                return t.interaction.modification.beforeEnd(t)
            },
            "interactions:action-start": Bi,
            "interactions:action-move": Bi,
            "interactions:action-end": Bi,
            "interactions:after-action-start": function (t) {
                return t.interaction.modification.restoreInteractionCoords(t)
            },
            "interactions:after-action-move": function (t) {
                return t.interaction.modification.restoreInteractionCoords(t)
            },
            "interactions:stop": function (t) {
                return t.interaction.modification.stop(t)
            }
        },
        before: ["actions", "action/drag", "actions/resize", "actions/gesture"]
    };
    Yi.default = Vi;
    var qi = {};
 
    function Ui(t) {
        return (Ui = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(qi, "__esModule", {
        value: !0
    }), qi.addTotal = Ki, qi.applyPending = Zi, qi.default = void 0;
    var Gi = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Ui(t) && "function" != typeof t) return {
            default: t
        };
        var e = Hi();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(be);
 
    function Hi() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Hi = function () {
            return t
        }, t
    }
 
    function Ki(t) {
        t.pointerIsDown && (Qi(t.coords.cur, t.offset.total), t.offset.pending.x = 0, t.offset.pending.y = 0)
    }
 
    function $i(t) {
        Zi(t.interaction)
    }
 
    function Zi(t) {
        if (!(e = t).offset.pending.x && !e.offset.pending.y) return !1;
        var e, n = t.offset.pending;
        return Qi(t.coords.cur, n), Qi(t.coords.delta, n), Gi.addEdges(t.edges, t.rect, n), n.x = 0, !(n.y = 0)
    }
 
    function Ji(t) {
        var e = t.x,
            n = t.y;
        this.offset.pending.x += e, this.offset.pending.y += n, this.offset.total.x += e, this.offset.total.y += n
    }
 
    function Qi(t, e) {
        var n = t.page,
            r = t.client,
            o = e.x,
            i = e.y;
        n.x += o, n.y += i, r.x += o, r.y += i
    }
    Wn._ProxyMethods.offsetBy = "";
    var ta = {
        id: "offset",
        install: function (t) {
            t.Interaction.prototype.offsetBy = Ji
        },
        listeners: {
            "interactions:new": function (t) {
                t.interaction.offset = {
                    total: {
                        x: 0,
                        y: 0
                    },
                    pending: {
                        x: 0,
                        y: 0
                    }
                }
            },
            "interactions:update-pointer": function (t) {
                return Ki(t.interaction)
            },
            "interactions:before-action-start": $i,
            "interactions:before-action-move": $i,
            "interactions:before-action-end": function (t) {
                var e = t.interaction;
                if (Zi(e)) return e.move({
                    offset: !0
                }), e.end(), !1
            },
            "interactions:stop": function (t) {
                var e = t.interaction;
                e.offset.total.x = 0, e.offset.total.y = 0, e.offset.pending.x = 0, e.offset.pending.y = 0
            }
        }
    };
    qi.default = ta;
    var ea = {};
 
    function na(t) {
        return (na = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(ea, "__esModule", {
        value: !0
    }), ea.default = ea.InertiaState = void 0;
    var ra = pa(Yi),
        oa = ca(Mi),
        ia = ca(qi),
        aa = pa(K),
        ua = ca(pt),
        sa = pa(P),
        la = ca(Se);
 
    function ca(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function fa() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return fa = function () {
            return t
        }, t
    }
 
    function pa(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== na(t) && "function" != typeof t) return {
            default: t
        };
        var e = fa();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function da(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function va(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    var ya = function () {
        function e(t) {
            ! function (t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }(this, e), this.interaction = t, va(this, "active", !1), va(this, "isModified", !1), va(this, "smoothEnd", !1), va(this, "allowResume", !1), va(this, "modification", null), va(this, "modifierCount", 0), va(this, "modifierArg", null), va(this, "startCoords", null), va(this, "t0", 0), va(this, "v0", 0), va(this, "te", 0), va(this, "targetOffset", null), va(this, "modifiedOffset", null), va(this, "currentOffset", null), va(this, "lambda_v0", 0), va(this, "one_ve_v0", 0), va(this, "timeout", null)
        }
        var t, n, r;
        return t = e, (n = [{
            key: "start",
            value: function (t) {
                var e = this.interaction,
                    n = ha(e);
                if (!n || !n.enabled) return !1;
                var r = e.coords.velocity.client,
                    o = (0, ua.default)(r.x, r.y),
                    i = this.modification || (this.modification = new oa.default(e));
                if (i.copyFrom(e.modification), this.t0 = e._now(), this.allowResume = n.allowResume, this.v0 = o, this.currentOffset = {
                        x: 0,
                        y: 0
                    }, this.startCoords = e.coords.cur.page, this.modifierArg = {
                        interaction: e,
                        interactable: e.interactable,
                        element: e.element,
                        rect: e.rect,
                        edges: e.edges,
                        pageCoords: this.startCoords,
                        preEnd: !0,
                        phase: "inertiastart"
                    }, this.t0 - e.coords.cur.timeStamp < 50 && o > n.minSpeed && o > n.endSpeed) this.startInertia();
                else {
                    if (i.result = i.setAll(this.modifierArg), !i.result.changed) return !1;
                    this.startSmoothEnd()
                }
                return e.modification.result.rect = null, e.offsetBy(this.targetOffset), e._doPhase({
                    interaction: e,
                    event: t,
                    phase: "inertiastart"
                }), e.offsetBy({
                    x: -this.targetOffset.x,
                    y: -this.targetOffset.y
                }), e.modification.result.rect = null, this.active = !0, e.simulation = this, !0
            }
        }, {
            key: "startInertia",
            value: function () {
                var t = this,
                    e = this.interaction.coords.velocity.client,
                    n = ha(this.interaction),
                    r = n.resistance,
                    o = -Math.log(n.endSpeed / this.v0) / r;
                this.targetOffset = {
                    x: (e.x - o) / r,
                    y: (e.y - o) / r
                }, this.te = o, this.lambda_v0 = r / this.v0, this.one_ve_v0 = 1 - n.endSpeed / this.v0;
                var i = this.modification,
                    a = this.modifierArg;
                a.pageCoords = {
                    x: this.startCoords.x + this.targetOffset.x,
                    y: this.startCoords.y + this.targetOffset.y
                }, i.result = i.setAll(a), i.result.changed && (this.isModified = !0, this.modifiedOffset = {
                    x: this.targetOffset.x + i.result.delta.x,
                    y: this.targetOffset.y + i.result.delta.y
                }), this.timeout = la.default.request(function () {
                    return t.inertiaTick()
                })
            }
        }, {
            key: "startSmoothEnd",
            value: function () {
                var t = this;
                this.smoothEnd = !0, this.isModified = !0, this.targetOffset = {
                    x: this.modification.result.delta.x,
                    y: this.modification.result.delta.y
                }, this.timeout = la.default.request(function () {
                    return t.smoothEndTick()
                })
            }
        }, {
            key: "inertiaTick",
            value: function () {
                var t, e, n, r, o, i, a, u = this,
                    s = this.interaction,
                    l = ha(s).resistance,
                    c = (s._now() - this.t0) / 1e3;
                if (c < this.te) {
                    var f, p = 1 - (Math.exp(-l * c) - this.lambda_v0) / this.one_ve_v0,
                        d = {
                            x: (f = this.isModified ? (e = t = 0, n = this.targetOffset.x, r = this.targetOffset.y, o = this.modifiedOffset.x, i = this.modifiedOffset.y, {
                                x: ga(a = p, t, n, o),
                                y: ga(a, e, r, i)
                            }) : {
                                x: this.targetOffset.x * p,
                                y: this.targetOffset.y * p
                            }).x - this.currentOffset.x,
                            y: f.y - this.currentOffset.y
                        };
                    this.currentOffset.x += d.x, this.currentOffset.y += d.y, s.offsetBy(d), s.move(), this.timeout = la.default.request(function () {
                        return u.inertiaTick()
                    })
                } else s.offsetBy({
                    x: this.modifiedOffset.x - this.currentOffset.x,
                    y: this.modifiedOffset.y - this.currentOffset.y
                }), this.end()
            }
        }, {
            key: "smoothEndTick",
            value: function () {
                var t = this,
                    e = this.interaction,
                    n = e._now() - this.t0,
                    r = ha(e).smoothEndDuration;
                if (n < r) {
                    var o = ba(n, 0, this.targetOffset.x, r),
                        i = ba(n, 0, this.targetOffset.y, r),
                        a = {
                            x: o - this.currentOffset.x,
                            y: i - this.currentOffset.y
                        };
                    this.currentOffset.x += a.x, this.currentOffset.y += a.y, e.offsetBy(a), e.move({
                        skipModifiers: this.modifierCount
                    }), this.timeout = la.default.request(function () {
                        return t.smoothEndTick()
                    })
                } else e.offsetBy({
                    x: this.targetOffset.x - this.currentOffset.x,
                    y: this.targetOffset.y - this.currentOffset.y
                }), this.end()
            }
        }, {
            key: "resume",
            value: function (t) {
                var e = t.pointer,
                    n = t.event,
                    r = t.eventTarget,
                    o = this.interaction;
                o.offsetBy({
                    x: -this.currentOffset.x,
                    y: -this.currentOffset.y
                }), o.updatePointer(e, n, r, !0), o._doPhase({
                    interaction: o,
                    event: n,
                    phase: "resume"
                }), (0, dt.copyCoords)(o.coords.prev, o.coords.cur), this.stop()
            }
        }, {
            key: "end",
            value: function () {
                this.interaction.move(), this.interaction.end(), this.stop()
            }
        }, {
            key: "stop",
            value: function () {
                this.active = this.smoothEnd = !1, this.interaction.simulation = null, la.default.cancel(this.timeout)
            }
        }]) && da(t.prototype, n), r && da(t, r), e
    }();
 
    function ha(t) {
        var e = t.interactable,
            n = t.prepared;
        return e && e.options && n.name && e.options[n.name].inertia
    }
 
    function ga(t, e, n, r) {
        var o = 1 - t;
        return o * o * e + 2 * o * t * n + t * t * r
    }
 
    function ba(t, e, n, r) {
        return -n * (t /= r) * (t - 2) + e
    }
    ea.InertiaState = ya;
    var ma = {
        id: "inertia",
        before: ["modifiers/base"],
        install: function (t) {
            var e = t.defaults;
            t.usePlugin(ia.default), t.usePlugin(ra.default), t.actions.phases.inertiastart = !0, t.actions.phases.resume = !0, e.perAction.inertia = {
                enabled: !1,
                resistance: 10,
                minSpeed: 100,
                endSpeed: 10,
                allowResume: !0,
                smoothEndDuration: 300
            }
        },
        listeners: {
            "interactions:new": function (t) {
                var e = t.interaction;
                e.inertia = new ya(e)
            },
            "interactions:before-action-end": function (t) {
                var e = t.interaction,
                    n = t.event;
                return (!e._interacting || e.simulation || !e.inertia.start(n)) && null
            },
            "interactions:down": function (t) {
                var e = t.interaction,
                    n = t.eventTarget,
                    r = e.inertia;
                if (r.active)
                    for (var o = n; sa.element(o);) {
                        if (o === e.element) {
                            r.resume(t);
                            break
                        }
                        o = aa.parentNode(o)
                    }
            },
            "interactions:stop": function (t) {
                var e = t.interaction.inertia;
                e.active && e.stop()
            },
            "interactions:before-action-resume": function (t) {
                var e = t.interaction.modification;
                e.stop(t), e.start(t, t.interaction.coords.cur.page), e.applyToInteraction(t)
            },
            "interactions:before-action-inertiastart": function (t) {
                return t.interaction.modification.setAndApply(t)
            },
            "interactions:action-resume": ra.addEventModifiers,
            "interactions:action-inertiastart": ra.addEventModifiers,
            "interactions:after-action-inertiastart": function (t) {
                return t.interaction.modification.restoreInteractionCoords(t)
            },
            "interactions:after-action-resume": function (t) {
                return t.interaction.modification.restoreInteractionCoords(t)
            }
        }
    };
    ea.default = ma;
    var Oa = {};
    Object.defineProperty(Oa, "__esModule", {
        value: !0
    }), Oa.aspectRatio = Oa.default = void 0;
    var wa = _a(Qt),
        Pa = _a(Mi);
 
    function _a(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function xa(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            t && (r = r.filter(function (t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable
            })), n.push.apply(n, r)
        }
        return n
    }
 
    function ja(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? xa(Object(n), !0).forEach(function (t) {
                Sa(e, t, n[t])
            }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : xa(Object(n)).forEach(function (t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            })
        }
        return e
    }
 
    function Sa(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    var Ma = {
        start: function (t) {
            var e = t.state,
                n = t.rect,
                r = t.edges,
                o = t.pageCoords,
                i = e.options.ratio,
                a = e.options,
                u = a.equalDelta,
                s = a.modifiers;
            "preserve" === i && (i = n.width / n.height), e.startCoords = (0, wa.default)({}, o), e.startRect = (0, wa.default)({}, n), e.ratio = i, e.equalDelta = u;
            var l = e.linkedEdges = {
                top: r.top || r.left && !r.bottom,
                left: r.left || r.top && !r.right,
                bottom: r.bottom || r.right && !r.top,
                right: r.right || r.bottom && !r.left
            };
            if (e.xIsPrimaryAxis = !(!r.left && !r.right), e.equalDelta) e.edgeSign = (l.left ? 1 : -1) * (l.top ? 1 : -1);
            else {
                var c = e.xIsPrimaryAxis ? l.top : l.left;
                e.edgeSign = c ? -1 : 1
            }
            if ((0, wa.default)(t.edges, l), s && s.length) {
                var f = new Pa.default(t.interaction);
                f.copyFrom(t.interaction.modification), f.prepareStates(s), (e.subModification = f).startAll(ja({}, t))
            }
        },
        set: function (t) {
            var e = t.state,
                n = t.rect,
                r = t.coords,
                o = (0, wa.default)({}, r),
                i = e.equalDelta ? ka : Ea;
            if (i(e, e.xIsPrimaryAxis, r, n), !e.subModification) return null;
            var a = (0, wa.default)({}, n);
            (0, be.addEdges)(e.linkedEdges, a, {
                x: r.x - o.x,
                y: r.y - o.y
            });
            var u = e.subModification.setAll(ja({}, t, {
                    rect: a,
                    edges: e.linkedEdges,
                    pageCoords: r,
                    prevCoords: r,
                    prevRect: a
                })),
                s = u.delta;
            u.changed && (i(e, Math.abs(s.x) > Math.abs(s.y), u.coords, u.rect), (0, wa.default)(r, u.coords));
            return u.eventProps
        },
        defaults: {
            ratio: "preserve",
            equalDelta: !1,
            modifiers: [],
            enabled: !1
        }
    };
 
    function ka(t, e, n) {
        var r = t.startCoords,
            o = t.edgeSign;
        e ? n.y = r.y + (n.x - r.x) * o : n.x = r.x + (n.y - r.y) * o
    }
 
    function Ea(t, e, n, r) {
        var o = t.startRect,
            i = t.startCoords,
            a = t.ratio,
            u = t.edgeSign;
        if (e) {
            var s = r.width / a;
            n.y = i.y + (s - o.height) * u
        } else {
            var l = r.height * a;
            n.x = i.x + (l - o.width) * u
        }
    }
    Oa.aspectRatio = Ma;
    var Ta = (0, Yi.makeModifier)(Ma, "aspectRatio");
    Oa.default = Ta;
    var Da = {};
 
    function Ia(t) {
        return (Ia = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Da, "__esModule", {
        value: !0
    }), Da.getRestrictionRect = Xa, Da.restrict = Da.default = void 0;
    var za, Aa = (za = Qt) && za.__esModule ? za : {
            default: za
        },
        Ca = Fa(P),
        Wa = Fa(be);
 
    function Ra() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Ra = function () {
            return t
        }, t
    }
 
    function Fa(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Ia(t) && "function" != typeof t) return {
            default: t
        };
        var e = Ra();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function Xa(t, e, n) {
        return Ca.func(t) ? Wa.resolveRectLike(t, e.interactable, e.element, [n.x, n.y, e]) : Wa.resolveRectLike(t, e.interactable, e.element)
    }
    var Ya = {
        start: function (t) {
            var e = t.rect,
                n = t.startOffset,
                r = t.state,
                o = t.interaction,
                i = t.pageCoords,
                a = r.options,
                u = a.elementRect,
                s = (0, Aa.default)({
                    left: 0,
                    top: 0,
                    right: 0,
                    bottom: 0
                }, a.offset || {});
            if (e && u) {
                var l = Xa(a.restriction, o, i);
                if (l) {
                    var c = l.right - l.left - e.width,
                        f = l.bottom - l.top - e.height;
                    c < 0 && (s.left += c, s.right += c), f < 0 && (s.top += f, s.bottom += f)
                }
                s.left += n.left - e.width * u.left, s.top += n.top - e.height * u.top, s.right += n.right - e.width * (1 - u.right), s.bottom += n.bottom - e.height * (1 - u.bottom)
            }
            r.offset = s
        },
        set: function (t) {
            var e = t.coords,
                n = t.interaction,
                r = t.state,
                o = r.options,
                i = r.offset,
                a = Xa(o.restriction, n, e);
            if (a) {
                var u = Wa.xywhToTlbr(a);
                e.x = Math.max(Math.min(u.right - i.right, e.x), u.left + i.left), e.y = Math.max(Math.min(u.bottom - i.bottom, e.y), u.top + i.top)
            }
        },
        defaults: {
            restriction: null,
            elementRect: null,
            offset: null,
            endOnly: !1,
            enabled: !1
        }
    };
    Da.restrict = Ya;
    var La = (0, Yi.makeModifier)(Ya, "restrict");
    Da.default = La;
    var Na = {};
 
    function Ba(t) {
        return (Ba = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Na, "__esModule", {
        value: !0
    }), Na.restrictEdges = Na.default = void 0;
    var Va, qa = (Va = Qt) && Va.__esModule ? Va : {
            default: Va
        },
        Ua = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Ba(t) && "function" != typeof t) return {
                default: t
            };
            var e = Ga();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(be);
 
    function Ga() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Ga = function () {
            return t
        }, t
    }
    var Ha = {
            top: 1 / 0,
            left: 1 / 0,
            bottom: -1 / 0,
            right: -1 / 0
        },
        Ka = {
            top: -1 / 0,
            left: -1 / 0,
            bottom: 1 / 0,
            right: 1 / 0
        };
 
    function $a(t, e) {
        for (var n = ["top", "left", "bottom", "right"], r = 0; r < n.length; r++) {
            var o = n[r];
            o in t || (t[o] = e[o])
        }
        return t
    }
    var Za = {
        noInner: Ha,
        noOuter: Ka,
        start: function (t) {
            var e, n = t.interaction,
                r = t.startOffset,
                o = t.state,
                i = o.options;
            if (i) {
                var a = (0, Da.getRestrictionRect)(i.offset, n, n.coords.start.page);
                e = Ua.rectToXY(a)
            }
            e = e || {
                x: 0,
                y: 0
            }, o.offset = {
                top: e.y + r.top,
                left: e.x + r.left,
                bottom: e.y - r.bottom,
                right: e.x - r.right
            }
        },
        set: function (t) {
            var e = t.coords,
                n = t.edges,
                r = t.interaction,
                o = t.state,
                i = o.offset,
                a = o.options;
            if (n) {
                var u = (0, qa.default)({}, e),
                    s = (0, Da.getRestrictionRect)(a.inner, r, u) || {},
                    l = (0, Da.getRestrictionRect)(a.outer, r, u) || {};
                $a(s, Ha), $a(l, Ka), n.top ? e.y = Math.min(Math.max(l.top + i.top, u.y), s.top + i.top) : n.bottom && (e.y = Math.max(Math.min(l.bottom + i.bottom, u.y), s.bottom + i.bottom)), n.left ? e.x = Math.min(Math.max(l.left + i.left, u.x), s.left + i.left) : n.right && (e.x = Math.max(Math.min(l.right + i.right, u.x), s.right + i.right))
            }
        },
        defaults: {
            inner: null,
            outer: null,
            offset: null,
            endOnly: !1,
            enabled: !1
        }
    };
    Na.restrictEdges = Za;
    var Ja = (0, Yi.makeModifier)(Za, "restrictEdges");
    Na.default = Ja;
    var Qa, tu = {};
    Object.defineProperty(tu, "__esModule", {
        value: !0
    }), tu.restrictRect = tu.default = void 0;
    var eu = (0, ((Qa = Qt) && Qa.__esModule ? Qa : {
            default: Qa
        }).default)({
            get elementRect() {
                return {
                    top: 0,
                    left: 0,
                    bottom: 1,
                    right: 1
                }
            },
            set elementRect(t) {}
        }, Da.restrict.defaults),
        nu = {
            start: Da.restrict.start,
            set: Da.restrict.set,
            defaults: eu
        };
    tu.restrictRect = nu;
    var ru = (0, Yi.makeModifier)(nu, "restrictRect");
    tu.default = ru;
    var ou = {};
 
    function iu(t) {
        return (iu = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(ou, "__esModule", {
        value: !0
    }), ou.restrictSize = ou.default = void 0;
    var au, uu = (au = Qt) && au.__esModule ? au : {
            default: au
        },
        su = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== iu(t) && "function" != typeof t) return {
                default: t
            };
            var e = lu();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(be);
 
    function lu() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return lu = function () {
            return t
        }, t
    }
    var cu = {
            width: -1 / 0,
            height: -1 / 0
        },
        fu = {
            width: 1 / 0,
            height: 1 / 0
        };
    var pu = {
        start: function (t) {
            return Na.restrictEdges.start(t)
        },
        set: function (t) {
            var e = t.interaction,
                n = t.state,
                r = t.rect,
                o = t.edges,
                i = n.options;
            if (o) {
                var a = su.tlbrToXywh((0, Da.getRestrictionRect)(i.min, e, t.coords)) || cu,
                    u = su.tlbrToXywh((0, Da.getRestrictionRect)(i.max, e, t.coords)) || fu;
                n.options = {
                    endOnly: i.endOnly,
                    inner: (0, uu.default)({}, Na.restrictEdges.noInner),
                    outer: (0, uu.default)({}, Na.restrictEdges.noOuter)
                }, o.top ? (n.options.inner.top = r.bottom - a.height, n.options.outer.top = r.bottom - u.height) : o.bottom && (n.options.inner.bottom = r.top + a.height, n.options.outer.bottom = r.top + u.height), o.left ? (n.options.inner.left = r.right - a.width, n.options.outer.left = r.right - u.width) : o.right && (n.options.inner.right = r.left + a.width, n.options.outer.right = r.left + u.width), Na.restrictEdges.set(t), n.options = i
            }
        },
        defaults: {
            min: null,
            max: null,
            endOnly: !1,
            enabled: !1
        }
    };
    ou.restrictSize = pu;
    var du = (0, Yi.makeModifier)(pu, "restrictSize");
    ou.default = du;
    var vu = {};
 
    function yu(t) {
        return (yu = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(vu, "__esModule", {
        value: !0
    }), vu.snap = vu.default = void 0;
    var hu = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== yu(t) && "function" != typeof t) return {
            default: t
        };
        var e = gu();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(De);
 
    function gu() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return gu = function () {
            return t
        }, t
    }
    var bu = {
        start: function (t) {
            var e, n, r, o = t.interaction,
                i = t.interactable,
                a = t.element,
                u = t.rect,
                s = t.state,
                l = t.startOffset,
                c = s.options,
                f = c.offsetWithOrigin ? (n = (e = t).interaction.element, hu.rect.rectToXY(hu.rect.resolveRectLike(e.state.options.origin, null, null, [n])) || hu.getOriginXY(e.interactable, n, e.interaction.prepared.name)) : {
                    x: 0,
                    y: 0
                };
            if ("startCoords" === c.offset) r = {
                x: o.coords.start.page.x,
                y: o.coords.start.page.y
            };
            else {
                var p = hu.rect.resolveRectLike(c.offset, i, a, [o]);
                (r = hu.rect.rectToXY(p) || {
                    x: 0,
                    y: 0
                }).x += f.x, r.y += f.y
            }
            var d = c.relativePoints;
            s.offsets = u && d && d.length ? d.map(function (t, e) {
                return {
                    index: e,
                    relativePoint: t,
                    x: l.left - u.width * t.x + r.x,
                    y: l.top - u.height * t.y + r.y
                }
            }) : [hu.extend({
                index: 0,
                relativePoint: null
            }, r)]
        },
        set: function (t) {
            var e = t.interaction,
                n = t.coords,
                r = t.state,
                o = r.options,
                i = r.offsets,
                a = hu.getOriginXY(e.interactable, e.element, e.prepared.name),
                u = hu.extend({}, n),
                s = [];
            o.offsetWithOrigin || (u.x -= a.x, u.y -= a.y);
            for (var l = 0; l < i.length; l++)
                for (var c = i[l], f = u.x - c.x, p = u.y - c.y, d = 0, v = o.targets.length; d < v; d++) {
                    var y = o.targets[d],
                        h = void 0;
                    (h = hu.is.func(y) ? y(f, p, e, c, d) : y) && s.push({
                        x: (hu.is.number(h.x) ? h.x : f) + c.x,
                        y: (hu.is.number(h.y) ? h.y : p) + c.y,
                        range: hu.is.number(h.range) ? h.range : o.range,
                        source: y,
                        index: d,
                        offset: c
                    })
                }
            for (var g = {
                    target: null,
                    inRange: !1,
                    distance: 0,
                    range: 0,
                    delta: {
                        x: 0,
                        y: 0
                    }
                }, b = 0; b < s.length; b++) {
                var m = s[b],
                    O = m.range,
                    w = m.x - u.x,
                    P = m.y - u.y,
                    _ = hu.hypot(w, P),
                    x = _ <= O;
                O === 1 / 0 && g.inRange && g.range !== 1 / 0 && (x = !1), g.target && !(x ? g.inRange && O !== 1 / 0 ? _ / O < g.distance / g.range : O === 1 / 0 && g.range !== 1 / 0 || _ < g.distance : !g.inRange && _ < g.distance) || (g.target = m, g.distance = _, g.range = O, g.inRange = x, g.delta.x = w, g.delta.y = P)
            }
            return g.inRange && (n.x = g.target.x, n.y = g.target.y), r.closest = g
        },
        defaults: {
            range: 1 / 0,
            targets: null,
            offset: null,
            offsetWithOrigin: !0,
            origin: null,
            relativePoints: null,
            endOnly: !1,
            enabled: !1
        }
    };
    vu.snap = bu;
    var mu = (0, Yi.makeModifier)(bu, "snap");
    vu.default = mu;
    var Ou = {};
 
    function wu(t) {
        return (wu = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Ou, "__esModule", {
        value: !0
    }), Ou.snapSize = Ou.default = void 0;
    var Pu, _u = (Pu = Qt) && Pu.__esModule ? Pu : {
            default: Pu
        },
        xu = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== wu(t) && "function" != typeof t) return {
                default: t
            };
            var e = ju();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(P);
 
    function ju() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return ju = function () {
            return t
        }, t
    }
 
    function Su(t, e) {
        return function (t) {
            if (Array.isArray(t)) return t
        }(t) || function (t, e) {
            if (!(Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t))) return;
            var n = [],
                r = !0,
                o = !1,
                i = void 0;
            try {
                for (var a, u = t[Symbol.iterator](); !(r = (a = u.next()).done) && (n.push(a.value), !e || n.length !== e); r = !0);
            } catch (t) {
                o = !0, i = t
            } finally {
                try {
                    r || null == u.return || u.return()
                } finally {
                    if (o) throw i
                }
            }
            return n
        }(t, e) || function () {
            throw new TypeError("Invalid attempt to destructure non-iterable instance")
        }()
    }
    var Mu = {
        start: function (t) {
            var e = t.state,
                n = t.edges,
                r = e.options;
            if (!n) return null;
            t.state = {
                options: {
                    targets: null,
                    relativePoints: [{
                        x: n.left ? 0 : 1,
                        y: n.top ? 0 : 1
                    }],
                    offset: r.offset || "self",
                    origin: {
                        x: 0,
                        y: 0
                    },
                    range: r.range
                }
            }, e.targetFields = e.targetFields || [
                ["width", "height"],
                ["x", "y"]
            ], vu.snap.start(t), e.offsets = t.state.offsets, t.state = e
        },
        set: function (t) {
            var e = t.interaction,
                n = t.state,
                r = t.coords,
                o = n.options,
                i = n.offsets,
                a = {
                    x: r.x - i[0].x,
                    y: r.y - i[0].y
                };
            n.options = (0, _u.default)({}, o), n.options.targets = [];
            for (var u = 0; u < (o.targets || []).length; u++) {
                var s = (o.targets || [])[u],
                    l = void 0;
                if (l = xu.func(s) ? s(a.x, a.y, e) : s) {
                    for (var c = 0; c < n.targetFields.length; c++) {
                        var f = Su(n.targetFields[c], 2),
                            p = f[0],
                            d = f[1];
                        if (p in l || d in l) {
                            l.x = l[p], l.y = l[d];
                            break
                        }
                    }
                    n.options.targets.push(l)
                }
            }
            var v = vu.snap.set(t);
            return n.options = o, v
        },
        defaults: {
            range: 1 / 0,
            targets: null,
            offset: null,
            endOnly: !1,
            enabled: !1
        }
    };
    Ou.snapSize = Mu;
    var ku = (0, Yi.makeModifier)(Mu, "snapSize");
    Ou.default = ku;
    var Eu = {};
    Object.defineProperty(Eu, "__esModule", {
        value: !0
    }), Eu.snapEdges = Eu.default = void 0;
    var Tu = Iu(B),
        Du = Iu(Qt);
 
    function Iu(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var zu = {
        start: function (t) {
            var e = t.edges;
            return e ? (t.state.targetFields = t.state.targetFields || [
                [e.left ? "left" : "right", e.top ? "top" : "bottom"]
            ], Ou.snapSize.start(t)) : null
        },
        set: Ou.snapSize.set,
        defaults: (0, Du.default)((0, Tu.default)(Ou.snapSize.defaults), {
            targets: null,
            range: null,
            offset: {
                x: 0,
                y: 0
            }
        })
    };
    Eu.snapEdges = zu;
    var Au = (0, Yi.makeModifier)(zu, "snapEdges");
    Eu.default = Au;
    var Cu = {};
    Object.defineProperty(Cu, "__esModule", {
        value: !0
    }), Object.defineProperty(Cu, "aspectRatio", {
        enumerable: !0,
        get: function () {
            return Wu.default
        }
    }), Object.defineProperty(Cu, "restrictEdges", {
        enumerable: !0,
        get: function () {
            return Ru.default
        }
    }), Object.defineProperty(Cu, "restrict", {
        enumerable: !0,
        get: function () {
            return Fu.default
        }
    }), Object.defineProperty(Cu, "restrictRect", {
        enumerable: !0,
        get: function () {
            return Xu.default
        }
    }), Object.defineProperty(Cu, "restrictSize", {
        enumerable: !0,
        get: function () {
            return Yu.default
        }
    }), Object.defineProperty(Cu, "snapEdges", {
        enumerable: !0,
        get: function () {
            return Lu.default
        }
    }), Object.defineProperty(Cu, "snap", {
        enumerable: !0,
        get: function () {
            return Nu.default
        }
    }), Object.defineProperty(Cu, "snapSize", {
        enumerable: !0,
        get: function () {
            return Bu.default
        }
    });
    var Wu = Vu(Oa),
        Ru = Vu(Na),
        Fu = Vu(Da),
        Xu = Vu(tu),
        Yu = Vu(ou),
        Lu = Vu(Eu),
        Nu = Vu(vu),
        Bu = Vu(Ou);
 
    function Vu(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var qu = {};
 
    function Uu(t, e) {
        return function (t) {
            if (Array.isArray(t)) return t
        }(t) || function (t, e) {
            if (!(Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t))) return;
            var n = [],
                r = !0,
                o = !1,
                i = void 0;
            try {
                for (var a, u = t[Symbol.iterator](); !(r = (a = u.next()).done) && (n.push(a.value), !e || n.length !== e); r = !0);
            } catch (t) {
                o = !0, i = t
            } finally {
                try {
                    r || null == u.return || u.return()
                } finally {
                    if (o) throw i
                }
            }
            return n
        }(t, e) || function () {
            throw new TypeError("Invalid attempt to destructure non-iterable instance")
        }()
    }
    Object.defineProperty(qu, "__esModule", {
        value: !0
    }), qu.default = void 0;
 
    function Gu(v) {
        function t(t, e) {
            for (var n = v.range, r = v.limits, o = void 0 === r ? {
                    left: -1 / 0,
                    right: 1 / 0,
                    top: -1 / 0,
                    bottom: 1 / 0
                } : r, i = v.offset, a = void 0 === i ? {
                    x: 0,
                    y: 0
                } : i, u = {
                    range: n,
                    grid: v,
                    x: null,
                    y: null
                }, s = 0; s < y.length; s++) {
                var l = Uu(y[s], 2),
                    c = l[0],
                    f = l[1],
                    p = Math.round((t - a.x) / v[c]),
                    d = Math.round((e - a.y) / v[f]);
                u[c] = Math.max(o.left, Math.min(o.right, p * v[c] + a.x)), u[f] = Math.max(o.top, Math.min(o.bottom, d * v[f] + a.y))
            }
            return u
        }
        var y = [
            ["x", "y"],
            ["left", "top"],
            ["right", "bottom"],
            ["width", "height"]
        ].filter(function (t) {
            var e = Uu(t, 2),
                n = e[0],
                r = e[1];
            return n in v || r in v
        });
        return t.grid = v, t.coordFields = y, t
    }
    qu.default = Gu;
    var Hu = {};
    Object.defineProperty(Hu, "__esModule", {
        value: !0
    }), Object.defineProperty(Hu, "grid", {
        enumerable: !0,
        get: function () {
            return $u.default
        }
    });
    var Ku, $u = (Ku = qu) && Ku.__esModule ? Ku : {
        default: Ku
    };
    var Zu = {};
 
    function Ju(t) {
        return (Ju = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Zu, "__esModule", {
        value: !0
    }), Zu.default = void 0;
    var Qu = is(Yi),
        ts = os(Cu),
        es = is(Qt),
        ns = os(Hu);
 
    function rs() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return rs = function () {
            return t
        }, t
    }
 
    function os(t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Ju(t) && "function" != typeof t) return {
            default: t
        };
        var e = rs();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } return n.default = t, e && e.set(t, n), n
    }
 
    function is(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var as = {
        id: "modifiers",
        install: function (t) {
            var e = t.interact;
            for (var n in t.usePlugin(Qu.default), e.modifiers = (0, es.default)(e.modifiers || {}, ts), e.snappers = (0, es.default)(e.snappers || {}, ns), e.createSnapGrid = e.snappers.grid, ts) {
                var r = ts[n],
                    o = r._defaults,
                    i = r._methods;
                o._methods = i, t.defaults.perAction[n] = o
            }
        }
    };
    Zu.default = as;
    var us = {};
    Object.defineProperty(us, "__esModule", {
        value: !0
    }), us.PointerEvent = us.default = void 0;
    var ss, ls = (ss = pn) && ss.__esModule ? ss : {
            default: ss
        },
        cs = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== ps(t) && "function" != typeof t) return {
                default: t
            };
            var e = fs();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(dt);
 
    function fs() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return fs = function () {
            return t
        }, t
    }
 
    function ps(t) {
        return (ps = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
 
    function ds(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
 
    function vs(t) {
        return (vs = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
            return t.__proto__ || Object.getPrototypeOf(t)
        })(t)
    }
 
    function ys(t) {
        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return t
    }
 
    function hs(t, e) {
        return (hs = Object.setPrototypeOf || function (t, e) {
            return t.__proto__ = e, t
        })(t, e)
    }
 
    function gs(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
    var bs = function () {
        function f(t, e, n, r, o, i) {
            var a, u, s;
            if (! function (t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                }(this, f), u = this, a = !(s = vs(f).call(this, o)) || "object" !== ps(s) && "function" != typeof s ? ys(u) : s, gs(ys(a), "type", void 0), gs(ys(a), "originalEvent", void 0), gs(ys(a), "pointerId", void 0), gs(ys(a), "pointerType", void 0), gs(ys(a), "double", void 0), gs(ys(a), "pageX", void 0), gs(ys(a), "pageY", void 0), gs(ys(a), "clientX", void 0), gs(ys(a), "clientY", void 0), gs(ys(a), "dt", void 0), gs(ys(a), "eventable", void 0), cs.pointerExtend(ys(a), n), n !== e && cs.pointerExtend(ys(a), e), a.timeStamp = i, a.originalEvent = n, a.type = t, a.pointerId = cs.getPointerId(e), a.pointerType = cs.getPointerType(e), a.target = r, a.currentTarget = null, "tap" === t) {
                var l = o.getPointerIndex(e);
                a.dt = a.timeStamp - o.pointers[l].downTime;
                var c = a.timeStamp - o.tapTime;
                a.double = !!(o.prevTap && "doubletap" !== o.prevTap.type && o.prevTap.target === a.target && c < 500)
            } else "doubletap" === t && (a.dt = e.timeStamp - o.tapTime);
            return a
        }
        var t, e, n;
        return function (t, e) {
            if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
            t.prototype = Object.create(e && e.prototype, {
                constructor: {
                    value: t,
                    writable: !0,
                    configurable: !0
                }
            }), e && hs(t, e)
        }(f, ls["default"]), t = f, (e = [{
            key: "_subtractOrigin",
            value: function (t) {
                var e = t.x,
                    n = t.y;
                return this.pageX -= e, this.pageY -= n, this.clientX -= e, this.clientY -= n, this
            }
        }, {
            key: "_addOrigin",
            value: function (t) {
                var e = t.x,
                    n = t.y;
                return this.pageX += e, this.pageY += n, this.clientX += e, this.clientY += n, this
            }
        }, {
            key: "preventDefault",
            value: function () {
                this.originalEvent.preventDefault()
            }
        }]) && ds(t.prototype, e), n && ds(t, n), f
    }();
    us.PointerEvent = us.default = bs;
    var ms = {};
 
    function Os(t) {
        return (Os = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(ms, "__esModule", {
        value: !0
    }), ms.default = void 0;
    xs(Wn), O({});
    var ws = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Os(t) && "function" != typeof t) return {
                default: t
            };
            var e = _s();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(De),
        Ps = xs(us);
 
    function _s() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return _s = function () {
            return t
        }, t
    }
 
    function xs(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var js = {
        id: "pointer-events/base",
        install: function (t) {
            t.pointerEvents = js, t.defaults.actions.pointerEvents = js.defaults, ws.extend(t.actions.phaselessTypes, js.types)
        },
        listeners: {
            "interactions:new": function (t) {
                var e = t.interaction;
                e.prevTap = null, e.tapTime = 0
            },
            "interactions:update-pointer": function (t) {
                var e = t.down,
                    n = t.pointerInfo;
                if (!e && n.hold) return;
                n.hold = {
                    duration: 1 / 0,
                    timeout: null
                }
            },
            "interactions:move": function (t, e) {
                var n = t.interaction,
                    r = t.pointer,
                    o = t.event,
                    i = t.eventTarget,
                    a = t.duplicate,
                    u = n.getPointerIndex(r);
                a || n.pointerIsDown && !n.pointerWasMoved || (n.pointerIsDown && clearTimeout(n.pointers[u].hold.timeout), Ss({
                    interaction: n,
                    pointer: r,
                    event: o,
                    eventTarget: i,
                    type: "move"
                }, e))
            },
            "interactions:down": function (t, e) {
                ! function (t, e) {
                    for (var n = t.interaction, r = t.pointer, o = t.event, i = t.eventTarget, a = t.pointerIndex, u = n.pointers[a].hold, s = ws.dom.getPath(i), l = {
                            interaction: n,
                            pointer: r,
                            event: o,
                            eventTarget: i,
                            type: "hold",
                            targets: [],
                            path: s,
                            node: null
                        }, c = 0; c < s.length; c++) {
                        var f = s[c];
                        l.node = f, e.fire("pointerEvents:collect-targets", l)
                    }
                    if (!l.targets.length) return;
                    for (var p = 1 / 0, d = 0; d < l.targets.length; d++) {
                        var v = l.targets[d].eventable.options.holdDuration;
                        v < p && (p = v)
                    }
                    u.duration = p, u.timeout = setTimeout(function () {
                        Ss({
                            interaction: n,
                            eventTarget: i,
                            pointer: r,
                            event: o,
                            type: "hold"
                        }, e)
                    }, p)
                }(t, e), Ss(t, e)
            },
            "interactions:up": function (t, e) {
                var n, r, o, i, a, u;
                ks(t), Ss(t, e), r = e, o = (n = t).interaction, i = n.pointer, a = n.event, u = n.eventTarget, o.pointerWasMoved || Ss({
                    interaction: o,
                    eventTarget: u,
                    pointer: i,
                    event: a,
                    type: "tap"
                }, r)
            },
            "interactions:cancel": function (t, e) {
                ks(t), Ss(t, e)
            }
        },
        PointerEvent: Ps.default,
        fire: Ss,
        collectEventTargets: Ms,
        defaults: {
            holdDuration: 600,
            ignoreFrom: null,
            allowFrom: null,
            origin: {
                x: 0,
                y: 0
            }
        },
        types: {
            down: !0,
            move: !0,
            up: !0,
            cancel: !0,
            tap: !0,
            doubletap: !0,
            hold: !0
        }
    };
 
    function Ss(t, e) {
        var n = t.interaction,
            r = t.pointer,
            o = t.event,
            i = t.eventTarget,
            a = t.type,
            u = t.targets,
            s = void 0 === u ? Ms(t, e) : u,
            l = new Ps.default(a, r, o, i, n, e.now());
        e.fire("pointerEvents:new", {
            pointerEvent: l
        });
        for (var c = {
                interaction: n,
                pointer: r,
                event: o,
                eventTarget: i,
                targets: s,
                type: a,
                pointerEvent: l
            }, f = 0; f < s.length; f++) {
            var p = s[f];
            for (var d in p.props || {}) l[d] = p.props[d];
            var v = ws.getOriginXY(p.eventable, p.node);
            if (l._subtractOrigin(v), l.eventable = p.eventable, l.currentTarget = p.node, p.eventable.fire(l), l._addOrigin(v), l.immediatePropagationStopped || l.propagationStopped && f + 1 < s.length && s[f + 1].node !== l.currentTarget) break
        }
        if (e.fire("pointerEvents:fired", c), "tap" === a) {
            var y = l.double ? Ss({
                interaction: n,
                pointer: r,
                event: o,
                eventTarget: i,
                type: "doubletap"
            }, e) : l;
            n.prevTap = y, n.tapTime = y.timeStamp
        }
        return l
    }
 
    function Ms(t, e) {
        var n = t.interaction,
            r = t.pointer,
            o = t.event,
            i = t.eventTarget,
            a = t.type,
            u = n.getPointerIndex(r),
            s = n.pointers[u];
        if ("tap" === a && (n.pointerWasMoved || !s || s.downTarget !== i)) return [];
        for (var l = ws.dom.getPath(i), c = {
                interaction: n,
                pointer: r,
                event: o,
                eventTarget: i,
                type: a,
                path: l,
                targets: [],
                node: null
            }, f = 0; f < l.length; f++) {
            var p = l[f];
            c.node = p, e.fire("pointerEvents:collect-targets", c)
        }
        return "hold" === a && (c.targets = c.targets.filter(function (t) {
            return t.eventable.options.holdDuration === n.pointers[u].hold.duration
        })), c.targets
    }
 
    function ks(t) {
        var e = t.interaction,
            n = t.pointerIndex;
        e.pointers[n].hold && clearTimeout(e.pointers[n].hold.timeout)
    }
    var Es = js;
    ms.default = Es;
    var Ts = {};
    Object.defineProperty(Ts, "__esModule", {
        value: !0
    }), Ts.default = void 0;
    var Ds = Is(ms);
    Is(us);
 
    function Is(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function zs(t) {
        var e = t.interaction;
        e.holdIntervalHandle && (clearInterval(e.holdIntervalHandle), e.holdIntervalHandle = null)
    }
    var As = {
        id: "pointer-events/holdRepeat",
        install: function (t) {
            t.usePlugin(Ds.default);
            var e = t.pointerEvents;
            e.defaults.holdRepeatInterval = 0, e.types.holdrepeat = t.actions.phaselessTypes.holdrepeat = !0
        },
        listeners: ["move", "up", "cancel", "endall"].reduce(function (t, e) {
            return t["pointerEvents:".concat(e)] = zs, t
        }, {
            "pointerEvents:new": function (t) {
                var e = t.pointerEvent;
                "hold" === e.type && (e.count = (e.count || 0) + 1)
            },
            "pointerEvents:fired": function (t, e) {
                var n = t.interaction,
                    r = t.pointerEvent,
                    o = t.eventTarget,
                    i = t.targets;
                if ("hold" === r.type && i.length) {
                    var a = i[0].eventable.options.holdRepeatInterval;
                    a <= 0 || (n.holdIntervalHandle = setTimeout(function () {
                        e.pointerEvents.fire({
                            interaction: n,
                            eventTarget: o,
                            type: "hold",
                            pointer: r,
                            event: r
                        }, e)
                    }, a))
                }
            }
        })
    };
    Ts.default = As;
    var Cs = {};
    Object.defineProperty(Cs, "__esModule", {
        value: !0
    }), Cs.default = void 0;
    var Ws, Rs = (Ws = Qt) && Ws.__esModule ? Ws : {
        default: Ws
    };
 
    function Fs(t) {
        return (0, Rs.default)(this.events.options, t), this
    }
    var Xs = {
        id: "pointer-events/interactableTargets",
        install: function (t) {
            var e = t.Interactable;
            e.prototype.pointerEvents = Fs;
            var r = e.prototype._backCompatOption;
            e.prototype._backCompatOption = function (t, e) {
                var n = r.call(this, t, e);
                return n === this && (this.events.options[t] = e), n
            }
        },
        listeners: {
            "pointerEvents:collect-targets": function (t, e) {
                var r = t.targets,
                    o = t.node,
                    i = t.type,
                    a = t.eventTarget;
                e.interactables.forEachMatch(o, function (t) {
                    var e = t.events,
                        n = e.options;
                    e.types[i] && e.types[i].length && t.testIgnoreAllow(n, o, a) && r.push({
                        node: o,
                        eventable: e,
                        props: {
                            interactable: t
                        }
                    })
                })
            },
            "interactable:new": function (t) {
                var e = t.interactable;
                e.events.getRect = function (t) {
                    return e.getRect(t)
                }
            },
            "interactable:set": function (t, e) {
                var n = t.interactable,
                    r = t.options;
                (0, Rs.default)(n.events.options, e.pointerEvents.defaults), (0, Rs.default)(n.events.options, r.pointerEvents || {})
            }
        }
    };
    Cs.default = Xs;
    var Ys = {};
 
    function Ls(t) {
        return (Ls = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Ys, "__esModule", {
        value: !0
    }), Object.defineProperty(Ys, "holdRepeat", {
        enumerable: !0,
        get: function () {
            return Bs.default
        }
    }), Object.defineProperty(Ys, "interactableTargets", {
        enumerable: !0,
        get: function () {
            return Vs.default
        }
    }), Ys.pointerEvents = Ys.default = void 0;
    var Ns = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== Ls(t) && "function" != typeof t) return {
            default: t
        };
        var e = Us();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(ms);
    Ys.pointerEvents = Ns;
    var Bs = qs(Ts),
        Vs = qs(Cs);
 
    function qs(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function Us() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Us = function () {
            return t
        }, t
    }
    var Gs = {
        id: "pointer-events",
        install: function (t) {
            t.usePlugin(Ns), t.usePlugin(Bs.default), t.usePlugin(Vs.default)
        }
    };
    Ys.default = Gs;
    var Hs = {};
    Object.defineProperty(Hs, "__esModule", {
        value: !0
    }), Hs.install = $s, Hs.default = void 0;
    var Ks;
    (Ks = M({})) && Ks.__esModule;
 
    function $s(e) {
        var t = e.Interactable;
        e.actions.phases.reflow = !0, t.prototype.reflow = function (t) {
            return function (u, s, l) {
                function t() {
                    var e = c[d],
                        t = u.getRect(e);
                    if (!t) return "break";
                    var n = De.arr.find(l.interactions.list, function (t) {
                            return t.interacting() && t.interactable === u && t.element === e && t.prepared.name === s.name
                        }),
                        r = void 0;
                    if (n) n.move(), p && (r = n._reflowPromise || new f(function (t) {
                        n._reflowResolve = t
                    }));
                    else {
                        var o = De.rect.tlbrToXywh(t),
                            i = {
                                page: {
                                    x: o.x,
                                    y: o.y
                                },
                                client: {
                                    x: o.x,
                                    y: o.y
                                },
                                timeStamp: l.now()
                            },
                            a = De.pointer.coordsToEvent(i);
                        r = function (t, e, n, r, o) {
                            var i = t.interactions.new({
                                    pointerType: "reflow"
                                }),
                                a = {
                                    interaction: i,
                                    event: o,
                                    pointer: o,
                                    eventTarget: n,
                                    phase: "reflow"
                                };
                            i.interactable = e, i.element = n, i.prepared = (0, De.extend)({}, r), i.prevEvent = o, i.updatePointer(o, o, n, !0), i._doPhase(a);
                            var u = De.win.window.Promise ? new De.win.window.Promise(function (t) {
                                i._reflowResolve = t
                            }) : null;
                            i._reflowPromise = u, i.start(r, e, n), i._interacting ? (i.move(a), i.end(o)) : i.stop();
                            return i.removePointer(o, o), i.pointerIsDown = !1, u
                        }(l, u, e, s, a)
                    }
                    p && p.push(r)
                }
                for (var c = De.is.string(u.target) ? De.arr.from(u._context.querySelectorAll(u.target)) : [u.target], f = De.win.window.Promise, p = f ? [] : null, d = 0; d < c.length; d++) {
                    if ("break" === t()) break
                }
                return p && f.all(p).then(function () {
                    return u
                })
            }(this, t, e)
        }
    }
    var Zs = {
        id: "reflow",
        install: $s,
        listeners: {
            "interactions:stop": function (t, e) {
                var n = t.interaction;
                "reflow" === n.pointerType && (n._reflowResolve && n._reflowResolve(), De.arr.remove(e.interactions.list, n))
            }
        }
    };
    Hs.default = Zs;
    var Js = {};
 
    function Qs(t) {
        return (Qs = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    Object.defineProperty(Js, "__esModule", {
        value: !0
    }), Js.init = function (t) {
        return ul.init(t), sl
    }, Js.default = Js.scope = Js.interact = void 0;
    var tl = O({}),
        el = il(A),
        nl = il(Tt),
        rl = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Qs(t) && "function" != typeof t) return {
                default: t
            };
            var e = ol();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(De);
 
    function ol() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return ol = function () {
            return t
        }, t
    }
 
    function il(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var al = {},
        ul = new tl.Scope;
    Js.scope = ul;
    var sl = function (t, e) {
        var n = ul.interactables.get(t, e);
        return n || ((n = ul.interactables.new(t, e)).events.global = al), n
    };
    (Js.interact = sl).use = function (t, e) {
        return ul.usePlugin(t, e), sl
    }, sl.isSet = function (t, e) {
        return !!ul.interactables.get(t, e && e.context)
    }, sl.on = function (t, e, n) {
        rl.is.string(t) && -1 !== t.search(" ") && (t = t.trim().split(/ +/));
        if (rl.is.array(t)) {
            for (var r = 0; r < t.length; r++) {
                var o = t[r];
                sl.on(o, e, n)
            }
            return sl
        }
        if (rl.is.object(t)) {
            for (var i in t) sl.on(i, t[i], e);
            return sl
        }(0, tl.isNonNativeEvent)(t, ul.actions) ? al[t] ? al[t].push(e) : al[t] = [e]: nl.default.add(ul.document, t, e, {
            options: n
        });
        return sl
    }, sl.off = function (t, e, n) {
        rl.is.string(t) && -1 !== t.search(" ") && (t = t.trim().split(/ +/));
        if (rl.is.array(t)) {
            for (var r = 0; r < t.length; r++) {
                var o = t[r];
                sl.off(o, e, n)
            }
            return sl
        }
        if (rl.is.object(t)) {
            for (var i in t) sl.off(i, t[i], e);
            return sl
        }
        var a;
        (0, tl.isNonNativeEvent)(t, ul.actions) ? t in al && -1 !== (a = al[t].indexOf(e)) && al[t].splice(a, 1): nl.default.remove(ul.document, t, e, n);
        return sl
    }, sl.debug = function () {
        return ul
    }, sl.getPointerAverage = rl.pointer.pointerAverage, sl.getTouchBBox = rl.pointer.touchBBox, sl.getTouchDistance = rl.pointer.touchDistance, sl.getTouchAngle = rl.pointer.touchAngle, sl.getElementRect = rl.dom.getElementRect, sl.getElementClientRect = rl.dom.getElementClientRect, sl.matchesSelector = rl.dom.matchesSelector, sl.closest = rl.dom.closest, sl.supportsTouch = function () {
        return el.default.supportsTouch
    }, sl.supportsPointerEvent = function () {
        return el.default.supportsPointerEvent
    }, sl.stop = function () {
        for (var t = 0; t < ul.interactions.list.length; t++) {
            ul.interactions.list[t].stop()
        }
        return sl
    }, sl.pointerMoveTolerance = function (t) {
        if (rl.is.number(t)) return ul.interactions.pointerMoveTolerance = t, sl;
        return ul.interactions.pointerMoveTolerance
    }, sl.addDocument = function (t, e) {
        return ul.addDocument(t, e)
    }, sl.removeDocument = function (t) {
        return ul.removeDocument(t)
    }, sl.version = "1.9.2";
    var ll = ul.interact = sl;
    Js.default = ll;
    var cl = {};
    Object.defineProperty(cl, "__esModule", {
        value: !0
    }), cl.init = xl, cl.default = void 0;
    var fl = wl(so),
        pl = wl(ho),
        dl = wl(si),
        vl = (wl(vi), wl(ea)),
        yl = wl(Zu),
        hl = wl(qi),
        gl = wl(Ys),
        bl = wl(Hs),
        ml = function (t) {
            if (t && t.__esModule) return t;
            if (null === t || "object" !== Pl(t) && "function" != typeof t) return {
                default: t
            };
            var e = Ol();
            if (e && e.has(t)) return e.get(t);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var o in t)
                if (Object.prototype.hasOwnProperty.call(t, o)) {
                    var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                    i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
                } n.default = t, e && e.set(t, n);
            return n
        }(Js);
 
    function Ol() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Ol = function () {
            return t
        }, t
    }
 
    function wl(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
 
    function Pl(t) {
        return (Pl = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    "object" === ("undefined" == typeof window ? "undefined" : Pl(window)) && window && xl(window);
    var _l = ml.default;
 
    function xl(t) {
        return (0, ml.init)(t), ml.default.use(hl.default), ml.default.use(gl.default), ml.default.use(vl.default), ml.default.use(yl.default), ml.default.use(dl.default), ml.default.use(fl.default), ml.default.use(pl.default), ml.default.use(bl.default), ml.default
    }
    cl.default = _l;
    var jl = {
        exports: {}
    };
    Object.defineProperty(jl.exports, "__esModule", {
        value: !0
    }), Object.defineProperty(jl.exports, "init", {
        enumerable: !0,
        get: function () {
            return Sl.init
        }
    }), jl.exports.default = void 0;
    var Sl = function (t) {
        if (t && t.__esModule) return t;
        if (null === t || "object" !== kl(t) && "function" != typeof t) return {
            default: t
        };
        var e = Ml();
        if (e && e.has(t)) return e.get(t);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var o in t)
            if (Object.prototype.hasOwnProperty.call(t, o)) {
                var i = r ? Object.getOwnPropertyDescriptor(t, o) : null;
                i && (i.get || i.set) ? Object.defineProperty(n, o, i) : n[o] = t[o]
            } n.default = t, e && e.set(t, n);
        return n
    }(cl);
 
    function Ml() {
        if ("function" != typeof WeakMap) return null;
        var t = new WeakMap;
        return Ml = function () {
            return t
        }, t
    }
 
    function kl(t) {
        return (kl = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
            return typeof t
        } : function (t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }
    if ("object" === kl(jl) && jl) try {
        jl.exports = Sl.default
    } catch (t) {}
    Sl.default.default = Sl.default, Sl.default.init = Sl.init;
    var El = Sl.default;
    return jl.exports.default = El, jl = jl.exports
});
 
//Move Script Pt2
(function() {
    'use strict';
    const stats = new Stats();
    const statsParentNode = document
        .body;
    let statsIsHidden = false;
    let mouseOverParentNode = true;
    stats.dom.style.touchAction =
        'none';
    stats.dom.style.width = '80px';
    stats.dom.style.height = '48px';
    stats.dom.style.padding = 0;
    stats.dom.style.margin = 0;
    statsParentNode.appendChild(
        stats.dom);
    const panelNum = {
        current: 0,
        max: 2
    };
    const listeners = {
        statsDragInteract: {
 
            move(event) {
                const target =
                    event
                    .target;
 
                const x = (
                        parseFloat(
                            target
                            .getAttribute(
                                'data-x'
                            )
                        ) ||
                        0) +
                    event.dx;
                const y = (
                        parseFloat(
                            target
                            .getAttribute(
                                'data-y'
                            )
                        ) ||
                        0) +
                    event.dy;
 
                target.style
                    .transform =
                    'translate(' +
                    x + 'px, ' +
                    (y < 0 ? 0 :
                        y) +
                    'px)';
                target.style
                    .webkitTransform =
                    target.style
                    .transform;
 
                target
                    .setAttribute(
                        'data-x',
                        x);
                target
                    .setAttribute(
                        'data-y',
                        y);
            },
 
            start(event) {
                const target =
                    event
                    .target;
                const
                    targetTransform =
                    target.style
                    .transform;
                const
                    transformY =
                    (/,( |)*(\d*)/
                        .exec(
                            targetTransform
                        ) || []
                    )[2];
                if (targetTransform &&
                    transformY <=
                    0) {
                    target
                        .setAttribute(
                            'data-y',
                            0);
                }
            },
 
            end(event) {
                statsIsHidden =
                    false;
                if (mouseOverParentNode &&
                    --panelNum
                    .current < 0
                ) {
                    panelNum
                        .current =
                        panelNum
                        .max;
                }
                if (!
                    mouseOverParentNode ||
                    statsIsHidden
                ) {
                    return stats
                        .showPanel(
                            panelNum
                            .current
                        );
                }
                stats.showPanel(
                    panelNum
                    .current -
                    1);
            }
        },
        statsNative: {
            node: {
                click(event) {
                    if (
                        statsIsHidden
                    ) {
                        statsIsHidden
                            =
                            false;
                        return stats
                            .showPanel(
                                panelNum
                                .current
                            );
                    }
                    if (++
                        panelNum
                        .current >
                        panelNum
                        .max) {
                        panelNum
                            .current =
                            0;
                    }
                    stats
                        .showPanel(
                            panelNum
                            .current
                        );
                }
            },
            parent: {
                mouseenter(
                    event) {
                    mouseOverParentNode
                        = true;
                },
                mouseleave(
                    event) {
                    mouseOverParentNode
                        = false;
                }
            },
            canvas: {
                contextmenu(
                    event) {
                    event
                        .preventDefault();
                    statsIsHidden
                        = true;
                    this.style
                        .display =
                        'none';
                }
            }
        }
    };
    interact(stats.dom).draggable({
 
        modifiers: [
            interact
            .modifiers
            .restrictRect({
                restriction: 'parent'
            })
        ],
        listeners: listeners
            .statsDragInteract
    });
    const panels = Array.from(stats
        .dom.querySelectorAll(
            'canvas'));
    panels.forEach((canvas) => {
        canvas
            .addEventListener(
                'contextmenu',
                listeners
                .statsNative
                .canvas
                .contextmenu
            );
    });
    stats.dom.addEventListener(
        'click', listeners
        .statsNative.node.click);
    statsParentNode
        .addEventListener(
            'mouseenter', listeners
            .statsNative.parent
            .mouseenter);
    statsParentNode
        .addEventListener(
            'mouseleave', listeners
            .statsNative.parent
            .mouseleave);
    requestAnimationFrame(
        function loop() {
            stats.update();
            requestAnimationFrame
                (loop);
        });
})();