/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!(function (n) {
    "function" == typeof define && define.amd
        ? define(["jquery"], n)
        : "object" == typeof module && module.exports
        ? (module.exports = function (e, t) {
              return (
                  void 0 === t &&
                      (t =
                          "undefined" != typeof window
                              ? require("jquery")
                              : require("jquery")(e)),
                  n(t),
                  t
              );
          })
        : n(jQuery);
})(function (t) {
    var e,
        n,
        s,
        p,
        r,
        o,
        h,
        f,
        g,
        m,
        y,
        v,
        i,
        a,
        _,
        s =
            (((u =
                t && t.fn && t.fn.select2 && t.fn.select2.amd
                    ? t.fn.select2.amd
                    : u) &&
                u.requirejs) ||
                (u ? (n = u) : (u = {}),
                (g = {}),
                (m = {}),
                (y = {}),
                (v = {}),
                (i = Object.prototype.hasOwnProperty),
                (a = [].slice),
                (_ = /\.js$/),
                (h = function (e, t) {
                    var n,
                        s,
                        i = c(e),
                        r = i[0],
                        t = t[1];
                    return (
                        (e = i[1]),
                        r && (n = x((r = l(r, t)))),
                        r
                            ? (e =
                                  n && n.normalize
                                      ? n.normalize(
                                            e,
                                            ((s = t),
                                            function (e) {
                                                return l(e, s);
                                            })
                                        )
                                      : l(e, t))
                            : ((r = (i = c((e = l(e, t))))[0]),
                              (e = i[1]),
                              r && (n = x(r))),
                        { f: r ? r + "!" + e : e, n: e, pr: r, p: n }
                    );
                }),
                (f = {
                    require: function (e) {
                        return w(e);
                    },
                    exports: function (e) {
                        var t = g[e];
                        return void 0 !== t ? t : (g[e] = {});
                    },
                    module: function (e) {
                        return {
                            id: e,
                            uri: "",
                            exports: g[e],
                            config:
                                ((t = e),
                                function () {
                                    return (y && y.config && y.config[t]) || {};
                                }),
                        };
                    },
                }),
                (r = function (e, t, n, s) {
                    var i,
                        r,
                        o,
                        a,
                        l,
                        c = [],
                        u = typeof n,
                        d = A((s = s || e));
                    if ("undefined" == u || "function" == u) {
                        for (
                            t =
                                !t.length && n.length
                                    ? ["require", "exports", "module"]
                                    : t,
                                a = 0;
                            a < t.length;
                            a += 1
                        )
                            if ("require" === (r = (o = h(t[a], d)).f))
                                c[a] = f.require(e);
                            else if ("exports" === r)
                                (c[a] = f.exports(e)), (l = !0);
                            else if ("module" === r) i = c[a] = f.module(e);
                            else if (b(g, r) || b(m, r) || b(v, r)) c[a] = x(r);
                            else {
                                if (!o.p) throw new Error(e + " missing " + r);
                                o.p.load(
                                    o.n,
                                    w(s, !0),
                                    (function (t) {
                                        return function (e) {
                                            g[t] = e;
                                        };
                                    })(r),
                                    {}
                                ),
                                    (c[a] = g[r]);
                            }
                        (u = n ? n.apply(g[e], c) : void 0),
                            e &&
                                (i && i.exports !== p && i.exports !== g[e]
                                    ? (g[e] = i.exports)
                                    : (u === p && l) || (g[e] = u));
                    } else e && (g[e] = n);
                }),
                (e =
                    n =
                    o =
                        function (e, t, n, s, i) {
                            if ("string" == typeof e)
                                return f[e] ? f[e](t) : x(h(e, A(t)).f);
                            if (!e.splice) {
                                if (((y = e).deps && o(y.deps, y.callback), !t))
                                    return;
                                t.splice
                                    ? ((e = t), (t = n), (n = null))
                                    : (e = p);
                            }
                            return (
                                (t = t || function () {}),
                                "function" == typeof n && ((n = s), (s = i)),
                                s
                                    ? r(p, e, t, n)
                                    : setTimeout(function () {
                                          r(p, e, t, n);
                                      }, 4),
                                o
                            );
                        }),
                (o.config = function (e) {
                    return o(e);
                }),
                (e._defined = g),
                ((s = function (e, t, n) {
                    if ("string" != typeof e)
                        throw new Error(
                            "See almond README: incorrect module build, no module name"
                        );
                    t.splice || ((n = t), (t = [])),
                        b(g, e) || b(m, e) || (m[e] = [e, t, n]);
                }).amd = { jQuery: !0 }),
                (u.requirejs = e),
                (u.require = n),
                (u.define = s)),
            u.define("almond", function () {}),
            u.define("jquery", [], function () {
                var e = t || $;
                return (
                    null == e &&
                        console &&
                        console.error &&
                        console.error(
                            "Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."
                        ),
                    e
                );
            }),
            u.define("select2/utils", ["jquery"], function (r) {
                var s = {};
                function c(e) {
                    var t,
                        n = e.prototype,
                        s = [];
                    for (t in n)
                        "function" == typeof n[t] &&
                            "constructor" !== t &&
                            s.push(t);
                    return s;
                }
                (s.Extend = function (e, t) {
                    var n,
                        s = {}.hasOwnProperty;
                    function i() {
                        this.constructor = e;
                    }
                    for (n in t) s.call(t, n) && (e[n] = t[n]);
                    return (
                        (i.prototype = t.prototype),
                        (e.prototype = new i()),
                        (e.__super__ = t.prototype),
                        e
                    );
                }),
                    (s.Decorate = function (s, i) {
                        var e = c(i),
                            t = c(s);
                        function r() {
                            var e = Array.prototype.unshift,
                                t = i.prototype.constructor.length,
                                n = s.prototype.constructor;
                            0 < t &&
                                (e.call(arguments, s.prototype.constructor),
                                (n = i.prototype.constructor)),
                                n.apply(this, arguments);
                        }
                        (i.displayName = s.displayName),
                            (r.prototype = new (function () {
                                this.constructor = r;
                            })());
                        for (var n = 0; n < t.length; n++) {
                            var o = t[n];
                            r.prototype[o] = s.prototype[o];
                        }
                        for (var a = 0; a < e.length; a++) {
                            var l = e[a];
                            r.prototype[l] = (function (e) {
                                var t = function () {};
                                e in r.prototype && (t = r.prototype[e]);
                                var n = i.prototype[e];
                                return function () {
                                    return (
                                        Array.prototype.unshift.call(
                                            arguments,
                                            t
                                        ),
                                        n.apply(this, arguments)
                                    );
                                };
                            })(l);
                        }
                        return r;
                    });
                function e() {
                    this.listeners = {};
                }
                (e.prototype.on = function (e, t) {
                    (this.listeners = this.listeners || {}),
                        e in this.listeners
                            ? this.listeners[e].push(t)
                            : (this.listeners[e] = [t]);
                }),
                    (e.prototype.trigger = function (e) {
                        var t = Array.prototype.slice,
                            n = t.call(arguments, 1);
                        (this.listeners = this.listeners || {}),
                            0 === (n = null == n ? [] : n).length && n.push({}),
                            (n[0]._type = e) in this.listeners &&
                                this.invoke(
                                    this.listeners[e],
                                    t.call(arguments, 1)
                                ),
                            "*" in this.listeners &&
                                this.invoke(this.listeners["*"], arguments);
                    }),
                    (e.prototype.invoke = function (e, t) {
                        for (var n = 0, s = e.length; n < s; n++)
                            e[n].apply(this, t);
                    }),
                    (s.Observable = e),
                    (s.generateChars = function (e) {
                        for (var t = "", n = 0; n < e; n++)
                            t += Math.floor(36 * Math.random()).toString(36);
                        return t;
                    }),
                    (s.bind = function (e, t) {
                        return function () {
                            e.apply(t, arguments);
                        };
                    }),
                    (s._convertData = function (e) {
                        for (var t in e) {
                            var n = t.split("-"),
                                s = e;
                            if (1 !== n.length) {
                                for (var i = 0; i < n.length; i++) {
                                    var r = n[i];
                                    (r =
                                        r.substring(0, 1).toLowerCase() +
                                        r.substring(1)) in s || (s[r] = {}),
                                        i == n.length - 1 && (s[r] = e[t]),
                                        (s = s[r]);
                                }
                                delete e[t];
                            }
                        }
                        return e;
                    }),
                    (s.hasScroll = function (e, t) {
                        var n = r(t),
                            s = t.style.overflowX,
                            i = t.style.overflowY;
                        return (
                            (s !== i || ("hidden" !== i && "visible" !== i)) &&
                            ("scroll" === s ||
                                "scroll" === i ||
                                n.innerHeight() < t.scrollHeight ||
                                n.innerWidth() < t.scrollWidth)
                        );
                    }),
                    (s.escapeMarkup = function (e) {
                        var t = {
                            "\\": "&#92;",
                            "&": "&amp;",
                            "<": "&lt;",
                            ">": "&gt;",
                            '"': "&quot;",
                            "'": "&#39;",
                            "/": "&#47;",
                        };
                        return "string" != typeof e
                            ? e
                            : String(e).replace(/[&<>"'\/\\]/g, function (e) {
                                  return t[e];
                              });
                    }),
                    (s.__cache = {});
                var n = 0;
                return (
                    (s.GetUniqueElementId = function (e) {
                        var t = e.getAttribute("data-select2-id");
                        return (
                            null != t ||
                                ((t = e.id
                                    ? "select2-data-" + e.id
                                    : "select2-data-" +
                                      (++n).toString() +
                                      "-" +
                                      s.generateChars(4)),
                                e.setAttribute("data-select2-id", t)),
                            t
                        );
                    }),
                    (s.StoreData = function (e, t, n) {
                        e = s.GetUniqueElementId(e);
                        s.__cache[e] || (s.__cache[e] = {}),
                            (s.__cache[e][t] = n);
                    }),
                    (s.GetData = function (e, t) {
                        var n = s.GetUniqueElementId(e);
                        return t
                            ? s.__cache[n] && null != s.__cache[n][t]
                                ? s.__cache[n][t]
                                : r(e).data(t)
                            : s.__cache[n];
                    }),
                    (s.RemoveData = function (e) {
                        var t = s.GetUniqueElementId(e);
                        null != s.__cache[t] && delete s.__cache[t],
                            e.removeAttribute("data-select2-id");
                    }),
                    (s.copyNonInternalCssClasses = function (e, t) {
                        var n = (n = e
                                .getAttribute("class")
                                .trim()
                                .split(/\s+/)).filter(function (e) {
                                return 0 === e.indexOf("select2-");
                            }),
                            t = (t = t
                                .getAttribute("class")
                                .trim()
                                .split(/\s+/)).filter(function (e) {
                                return 0 !== e.indexOf("select2-");
                            }),
                            t = n.concat(t);
                        e.setAttribute("class", t.join(" "));
                    }),
                    s
                );
            }),
            u.define("select2/results", ["jquery", "./utils"], function (d, p) {
                function s(e, t, n) {
                    (this.$element = e),
                        (this.data = n),
                        (this.options = t),
                        s.__super__.constructor.call(this);
                }
                return (
                    p.Extend(s, p.Observable),
                    (s.prototype.render = function () {
                        var e = d(
                            '<ul class="select2-results__options" role="listbox"></ul>'
                        );
                        return (
                            this.options.get("multiple") &&
                                e.attr("aria-multiselectable", "true"),
                            (this.$results = e)
                        );
                    }),
                    (s.prototype.clear = function () {
                        this.$results.empty();
                    }),
                    (s.prototype.displayMessage = function (e) {
                        var t = this.options.get("escapeMarkup");
                        this.clear(), this.hideLoading();
                        var n = d(
                                '<li role="alert" aria-live="assertive" class="select2-results__option"></li>'
                            ),
                            s = this.options.get("translations").get(e.message);
                        n.append(t(s(e.args))),
                            (n[0].className += " select2-results__message"),
                            this.$results.append(n);
                    }),
                    (s.prototype.hideMessages = function () {
                        this.$results
                            .find(".select2-results__message")
                            .remove();
                    }),
                    (s.prototype.append = function (e) {
                        this.hideLoading();
                        var t = [];
                        if (null != e.results && 0 !== e.results.length) {
                            e.results = this.sort(e.results);
                            for (var n = 0; n < e.results.length; n++) {
                                var s = e.results[n],
                                    s = this.option(s);
                                t.push(s);
                            }
                            this.$results.append(t);
                        } else
                            0 === this.$results.children().length &&
                                this.trigger("results:message", {
                                    message: "noResults",
                                });
                    }),
                    (s.prototype.position = function (e, t) {
                        t.find(".select2-results").append(e);
                    }),
                    (s.prototype.sort = function (e) {
                        return this.options.get("sorter")(e);
                    }),
                    (s.prototype.highlightFirstItem = function () {
                        var e = this.$results.find(
                                ".select2-results__option--selectable"
                            ),
                            t = e.filter(".select2-results__option--selected");
                        (0 < t.length ? t : e).first().trigger("mouseenter"),
                            this.ensureHighlightVisible();
                    }),
                    (s.prototype.setClasses = function () {
                        var t = this;
                        this.data.current(function (e) {
                            var s = e.map(function (e) {
                                return e.id.toString();
                            });
                            t.$results
                                .find(".select2-results__option--selectable")
                                .each(function () {
                                    var e = d(this),
                                        t = p.GetData(this, "data"),
                                        n = "" + t.id;
                                    (null != t.element && t.element.selected) ||
                                    (null == t.element && -1 < s.indexOf(n))
                                        ? (this.classList.add(
                                              "select2-results__option--selected"
                                          ),
                                          e.attr("aria-selected", "true"))
                                        : (this.classList.remove(
                                              "select2-results__option--selected"
                                          ),
                                          e.attr("aria-selected", "false"));
                                });
                        });
                    }),
                    (s.prototype.showLoading = function (e) {
                        this.hideLoading();
                        (e = {
                            disabled: !0,
                            loading: !0,
                            text: this.options
                                .get("translations")
                                .get("searching")(e),
                        }),
                            (e = this.option(e));
                        (e.className += " loading-results"),
                            this.$results.prepend(e);
                    }),
                    (s.prototype.hideLoading = function () {
                        this.$results.find(".loading-results").remove();
                    }),
                    (s.prototype.option = function (e) {
                        var t = document.createElement("li");
                        t.classList.add("select2-results__option"),
                            t.classList.add(
                                "select2-results__option--selectable"
                            );
                        var n,
                            s = { role: "option" },
                            i =
                                window.Element.prototype.matches ||
                                window.Element.prototype.msMatchesSelector ||
                                window.Element.prototype.webkitMatchesSelector;
                        for (n in (((null != e.element &&
                            i.call(e.element, ":disabled")) ||
                            (null == e.element && e.disabled)) &&
                            ((s["aria-disabled"] = "true"),
                            t.classList.remove(
                                "select2-results__option--selectable"
                            ),
                            t.classList.add(
                                "select2-results__option--disabled"
                            )),
                        null == e.id &&
                            t.classList.remove(
                                "select2-results__option--selectable"
                            ),
                        null != e._resultId && (t.id = e._resultId),
                        e.title && (t.title = e.title),
                        e.children &&
                            ((s.role = "group"),
                            (s["aria-label"] = e.text),
                            t.classList.remove(
                                "select2-results__option--selectable"
                            ),
                            t.classList.add("select2-results__option--group")),
                        s)) {
                            var r = s[n];
                            t.setAttribute(n, r);
                        }
                        if (e.children) {
                            var o = d(t),
                                a = document.createElement("strong");
                            (a.className = "select2-results__group"),
                                this.template(e, a);
                            for (
                                var l = [], c = 0;
                                c < e.children.length;
                                c++
                            ) {
                                var u = e.children[c],
                                    u = this.option(u);
                                l.push(u);
                            }
                            i = d("<ul></ul>", {
                                class: "select2-results__options select2-results__options--nested",
                                role: "none",
                            });
                            i.append(l), o.append(a), o.append(i);
                        } else this.template(e, t);
                        return p.StoreData(t, "data", e), t;
                    }),
                    (s.prototype.bind = function (t, e) {
                        var i = this,
                            n = t.id + "-results";
                        this.$results.attr("id", n),
                            t.on("results:all", function (e) {
                                i.clear(),
                                    i.append(e.data),
                                    t.isOpen() &&
                                        (i.setClasses(),
                                        i.highlightFirstItem());
                            }),
                            t.on("results:append", function (e) {
                                i.append(e.data), t.isOpen() && i.setClasses();
                            }),
                            t.on("query", function (e) {
                                i.hideMessages(), i.showLoading(e);
                            }),
                            t.on("select", function () {
                                t.isOpen() &&
                                    (i.setClasses(),
                                    i.options.get("scrollAfterSelect") &&
                                        i.highlightFirstItem());
                            }),
                            t.on("unselect", function () {
                                t.isOpen() &&
                                    (i.setClasses(),
                                    i.options.get("scrollAfterSelect") &&
                                        i.highlightFirstItem());
                            }),
                            t.on("open", function () {
                                i.$results.attr("aria-expanded", "true"),
                                    i.$results.attr("aria-hidden", "false"),
                                    i.setClasses(),
                                    i.ensureHighlightVisible();
                            }),
                            t.on("close", function () {
                                i.$results.attr("aria-expanded", "false"),
                                    i.$results.attr("aria-hidden", "true"),
                                    i.$results.removeAttr(
                                        "aria-activedescendant"
                                    );
                            }),
                            t.on("results:toggle", function () {
                                var e = i.getHighlightedResults();
                                0 !== e.length && e.trigger("mouseup");
                            }),
                            t.on("results:select", function () {
                                var e,
                                    t = i.getHighlightedResults();
                                0 !== t.length &&
                                    ((e = p.GetData(t[0], "data")),
                                    t.hasClass(
                                        "select2-results__option--selected"
                                    )
                                        ? i.trigger("close", {})
                                        : i.trigger("select", { data: e }));
                            }),
                            t.on("results:previous", function () {
                                var e,
                                    t = i.getHighlightedResults(),
                                    n = i.$results.find(
                                        ".select2-results__option--selectable"
                                    ),
                                    s = n.index(t);
                                s <= 0 ||
                                    ((e = s - 1),
                                    0 === t.length && (e = 0),
                                    (s = n.eq(e)).trigger("mouseenter"),
                                    (t = i.$results.offset().top),
                                    (n = s.offset().top),
                                    (s = i.$results.scrollTop() + (n - t)),
                                    0 === e
                                        ? i.$results.scrollTop(0)
                                        : n - t < 0 && i.$results.scrollTop(s));
                            }),
                            t.on("results:next", function () {
                                var e,
                                    t = i.getHighlightedResults(),
                                    n = i.$results.find(
                                        ".select2-results__option--selectable"
                                    ),
                                    s = n.index(t) + 1;
                                s >= n.length ||
                                    ((e = n.eq(s)).trigger("mouseenter"),
                                    (t =
                                        i.$results.offset().top +
                                        i.$results.outerHeight(!1)),
                                    (n = e.offset().top + e.outerHeight(!1)),
                                    (e = i.$results.scrollTop() + n - t),
                                    0 === s
                                        ? i.$results.scrollTop(0)
                                        : t < n && i.$results.scrollTop(e));
                            }),
                            t.on("results:focus", function (e) {
                                e.element[0].classList.add(
                                    "select2-results__option--highlighted"
                                ),
                                    e.element[0].setAttribute(
                                        "aria-selected",
                                        "true"
                                    );
                            }),
                            t.on("results:message", function (e) {
                                i.displayMessage(e);
                            }),
                            d.fn.mousewheel &&
                                this.$results.on("mousewheel", function (e) {
                                    var t = i.$results.scrollTop(),
                                        n =
                                            i.$results.get(0).scrollHeight -
                                            t +
                                            e.deltaY,
                                        t = 0 < e.deltaY && t - e.deltaY <= 0,
                                        n =
                                            e.deltaY < 0 &&
                                            n <= i.$results.height();
                                    t
                                        ? (i.$results.scrollTop(0),
                                          e.preventDefault(),
                                          e.stopPropagation())
                                        : n &&
                                          (i.$results.scrollTop(
                                              i.$results.get(0).scrollHeight -
                                                  i.$results.height()
                                          ),
                                          e.preventDefault(),
                                          e.stopPropagation());
                                }),
                            this.$results.on(
                                "mouseup",
                                ".select2-results__option--selectable",
                                function (e) {
                                    var t = d(this),
                                        n = p.GetData(this, "data");
                                    t.hasClass(
                                        "select2-results__option--selected"
                                    )
                                        ? i.options.get("multiple")
                                            ? i.trigger("unselect", {
                                                  originalEvent: e,
                                                  data: n,
                                              })
                                            : i.trigger("close", {})
                                        : i.trigger("select", {
                                              originalEvent: e,
                                              data: n,
                                          });
                                }
                            ),
                            this.$results.on(
                                "mouseenter",
                                ".select2-results__option--selectable",
                                function (e) {
                                    var t = p.GetData(this, "data");
                                    i
                                        .getHighlightedResults()
                                        .removeClass(
                                            "select2-results__option--highlighted"
                                        )
                                        .attr("aria-selected", "false"),
                                        i.trigger("results:focus", {
                                            data: t,
                                            element: d(this),
                                        });
                                }
                            );
                    }),
                    (s.prototype.getHighlightedResults = function () {
                        return this.$results.find(
                            ".select2-results__option--highlighted"
                        );
                    }),
                    (s.prototype.destroy = function () {
                        this.$results.remove();
                    }),
                    (s.prototype.ensureHighlightVisible = function () {
                        var e,
                            t,
                            n,
                            s,
                            i = this.getHighlightedResults();
                        0 !== i.length &&
                            ((e = this.$results
                                .find(".select2-results__option--selectable")
                                .index(i)),
                            (s = this.$results.offset().top),
                            (t = i.offset().top),
                            (n = this.$results.scrollTop() + (t - s)),
                            (s = t - s),
                            (n -= 2 * i.outerHeight(!1)),
                            e <= 2
                                ? this.$results.scrollTop(0)
                                : (s > this.$results.outerHeight() || s < 0) &&
                                  this.$results.scrollTop(n));
                    }),
                    (s.prototype.template = function (e, t) {
                        var n = this.options.get("templateResult"),
                            s = this.options.get("escapeMarkup"),
                            e = n(e, t);
                        null == e
                            ? (t.style.display = "none")
                            : "string" == typeof e
                            ? (t.innerHTML = s(e))
                            : d(t).append(e);
                    }),
                    s
                );
            }),
            u.define("select2/keys", [], function () {
                return {
                    BACKSPACE: 8,
                    TAB: 9,
                    ENTER: 13,
                    SHIFT: 16,
                    CTRL: 17,
                    ALT: 18,
                    ESC: 27,
                    SPACE: 32,
                    PAGE_UP: 33,
                    PAGE_DOWN: 34,
                    END: 35,
                    HOME: 36,
                    LEFT: 37,
                    UP: 38,
                    RIGHT: 39,
                    DOWN: 40,
                    DELETE: 46,
                };
            }),
            u.define(
                "select2/selection/base",
                ["jquery", "../utils", "../keys"],
                function (n, s, i) {
                    function r(e, t) {
                        (this.$element = e),
                            (this.options = t),
                            r.__super__.constructor.call(this);
                    }
                    return (
                        s.Extend(r, s.Observable),
                        (r.prototype.render = function () {
                            var e = n(
                                '<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>'
                            );
                            return (
                                (this._tabindex = 0),
                                null !=
                                s.GetData(this.$element[0], "old-tabindex")
                                    ? (this._tabindex = s.GetData(
                                          this.$element[0],
                                          "old-tabindex"
                                      ))
                                    : null != this.$element.attr("tabindex") &&
                                      (this._tabindex =
                                          this.$element.attr("tabindex")),
                                e.attr("title", this.$element.attr("title")),
                                e.attr("tabindex", this._tabindex),
                                e.attr("aria-disabled", "false"),
                                (this.$selection = e)
                            );
                        }),
                        (r.prototype.bind = function (e, t) {
                            var n = this,
                                s = e.id + "-results";
                            (this.container = e),
                                this.$selection.on("focus", function (e) {
                                    n.trigger("focus", e);
                                }),
                                this.$selection.on("blur", function (e) {
                                    n._handleBlur(e);
                                }),
                                this.$selection.on("keydown", function (e) {
                                    n.trigger("keypress", e),
                                        e.which === i.SPACE &&
                                            e.preventDefault();
                                }),
                                e.on("results:focus", function (e) {
                                    n.$selection.attr(
                                        "aria-activedescendant",
                                        e.data._resultId
                                    );
                                }),
                                e.on("selection:update", function (e) {
                                    n.update(e.data);
                                }),
                                e.on("open", function () {
                                    n.$selection.attr("aria-expanded", "true"),
                                        n.$selection.attr("aria-owns", s),
                                        n._attachCloseHandler(e);
                                }),
                                e.on("close", function () {
                                    n.$selection.attr("aria-expanded", "false"),
                                        n.$selection.removeAttr(
                                            "aria-activedescendant"
                                        ),
                                        n.$selection.removeAttr("aria-owns"),
                                        n.$selection.trigger("focus"),
                                        n._detachCloseHandler(e);
                                }),
                                e.on("enable", function () {
                                    n.$selection.attr("tabindex", n._tabindex),
                                        n.$selection.attr(
                                            "aria-disabled",
                                            "false"
                                        );
                                }),
                                e.on("disable", function () {
                                    n.$selection.attr("tabindex", "-1"),
                                        n.$selection.attr(
                                            "aria-disabled",
                                            "true"
                                        );
                                });
                        }),
                        (r.prototype._handleBlur = function (e) {
                            var t = this;
                            window.setTimeout(function () {
                                document.activeElement == t.$selection[0] ||
                                    n.contains(
                                        t.$selection[0],
                                        document.activeElement
                                    ) ||
                                    t.trigger("blur", e);
                            }, 1);
                        }),
                        (r.prototype._attachCloseHandler = function (e) {
                            n(document.body).on(
                                "mousedown.select2." + e.id,
                                function (e) {
                                    var t = n(e.target).closest(".select2");
                                    n(".select2.select2-container--open").each(
                                        function () {
                                            this != t[0] &&
                                                s
                                                    .GetData(this, "element")
                                                    .select2("close");
                                        }
                                    );
                                }
                            );
                        }),
                        (r.prototype._detachCloseHandler = function (e) {
                            n(document.body).off("mousedown.select2." + e.id);
                        }),
                        (r.prototype.position = function (e, t) {
                            t.find(".selection").append(e);
                        }),
                        (r.prototype.destroy = function () {
                            this._detachCloseHandler(this.container);
                        }),
                        (r.prototype.update = function (e) {
                            throw new Error(
                                "The `update` method must be defined in child classes."
                            );
                        }),
                        (r.prototype.isEnabled = function () {
                            return !this.isDisabled();
                        }),
                        (r.prototype.isDisabled = function () {
                            return this.options.get("disabled");
                        }),
                        r
                    );
                }
            ),
            u.define(
                "select2/selection/single",
                ["jquery", "./base", "../utils", "../keys"],
                function (e, t, n, s) {
                    function i() {
                        i.__super__.constructor.apply(this, arguments);
                    }
                    return (
                        n.Extend(i, t),
                        (i.prototype.render = function () {
                            var e = i.__super__.render.call(this);
                            return (
                                e[0].classList.add("select2-selection--single"),
                                e.html(
                                    '<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'
                                ),
                                e
                            );
                        }),
                        (i.prototype.bind = function (t, e) {
                            var n = this;
                            i.__super__.bind.apply(this, arguments);
                            var s = t.id + "-container";
                            this.$selection
                                .find(".select2-selection__rendered")
                                .attr("id", s)
                                .attr("role", "textbox")
                                .attr("aria-readonly", "true"),
                                this.$selection.attr("aria-labelledby", s),
                                this.$selection.attr("aria-controls", s),
                                this.$selection.on("mousedown", function (e) {
                                    1 === e.which &&
                                        n.trigger("toggle", {
                                            originalEvent: e,
                                        });
                                }),
                                this.$selection.on("focus", function (e) {}),
                                this.$selection.on("blur", function (e) {}),
                                t.on("focus", function (e) {
                                    t.isOpen() || n.$selection.trigger("focus");
                                });
                        }),
                        (i.prototype.clear = function () {
                            var e = this.$selection.find(
                                ".select2-selection__rendered"
                            );
                            e.empty(), e.removeAttr("title");
                        }),
                        (i.prototype.display = function (e, t) {
                            var n = this.options.get("templateSelection");
                            return this.options.get("escapeMarkup")(n(e, t));
                        }),
                        (i.prototype.selectionContainer = function () {
                            return e("<span></span>");
                        }),
                        (i.prototype.update = function (e) {
                            var t, n;
                            0 !== e.length
                                ? ((n = e[0]),
                                  (t = this.$selection.find(
                                      ".select2-selection__rendered"
                                  )),
                                  (e = this.display(n, t)),
                                  t.empty().append(e),
                                  (n = n.title || n.text)
                                      ? t.attr("title", n)
                                      : t.removeAttr("title"))
                                : this.clear();
                        }),
                        i
                    );
                }
            ),
            u.define(
                "select2/selection/multiple",
                ["jquery", "./base", "../utils"],
                function (i, e, c) {
                    function r(e, t) {
                        r.__super__.constructor.apply(this, arguments);
                    }
                    return (
                        c.Extend(r, e),
                        (r.prototype.render = function () {
                            var e = r.__super__.render.call(this);
                            return (
                                e[0].classList.add(
                                    "select2-selection--multiple"
                                ),
                                e.html(
                                    '<ul class="select2-selection__rendered"></ul>'
                                ),
                                e
                            );
                        }),
                        (r.prototype.bind = function (e, t) {
                            var n = this;
                            r.__super__.bind.apply(this, arguments);
                            var s = e.id + "-container";
                            this.$selection
                                .find(".select2-selection__rendered")
                                .attr("id", s),
                                this.$selection.on("click", function (e) {
                                    n.trigger("toggle", { originalEvent: e });
                                }),
                                this.$selection.on(
                                    "click",
                                    ".select2-selection__choice__remove",
                                    function (e) {
                                        var t;
                                        n.isDisabled() ||
                                            ((t = i(this).parent()),
                                            (t = c.GetData(t[0], "data")),
                                            n.trigger("unselect", {
                                                originalEvent: e,
                                                data: t,
                                            }));
                                    }
                                ),
                                this.$selection.on(
                                    "keydown",
                                    ".select2-selection__choice__remove",
                                    function (e) {
                                        n.isDisabled() || e.stopPropagation();
                                    }
                                );
                        }),
                        (r.prototype.clear = function () {
                            var e = this.$selection.find(
                                ".select2-selection__rendered"
                            );
                            e.empty(), e.removeAttr("title");
                        }),
                        (r.prototype.display = function (e, t) {
                            var n = this.options.get("templateSelection");
                            return this.options.get("escapeMarkup")(n(e, t));
                        }),
                        (r.prototype.selectionContainer = function () {
                            return i(
                                '<li class="select2-selection__choice"><button type="button" class="select2-selection__choice__remove" tabindex="-1"><span aria-hidden="true">&times;</span></button><span class="select2-selection__choice__display"></span></li>'
                            );
                        }),
                        (r.prototype.update = function (e) {
                            if ((this.clear(), 0 !== e.length)) {
                                for (
                                    var t = [],
                                        n =
                                            this.$selection
                                                .find(
                                                    ".select2-selection__rendered"
                                                )
                                                .attr("id") + "-choice-",
                                        s = 0;
                                    s < e.length;
                                    s++
                                ) {
                                    var i = e[s],
                                        r = this.selectionContainer(),
                                        o = this.display(i, r),
                                        a = n + c.generateChars(4) + "-";
                                    i.id
                                        ? (a += i.id)
                                        : (a += c.generateChars(4)),
                                        r
                                            .find(
                                                ".select2-selection__choice__display"
                                            )
                                            .append(o)
                                            .attr("id", a);
                                    var l = i.title || i.text;
                                    l && r.attr("title", l);
                                    (o = this.options
                                        .get("translations")
                                        .get("removeItem")),
                                        (l = r.find(
                                            ".select2-selection__choice__remove"
                                        ));
                                    l.attr("title", o()),
                                        l.attr("aria-label", o()),
                                        l.attr("aria-describedby", a),
                                        c.StoreData(r[0], "data", i),
                                        t.push(r);
                                }
                                this.$selection
                                    .find(".select2-selection__rendered")
                                    .append(t);
                            }
                        }),
                        r
                    );
                }
            ),
            u.define("select2/selection/placeholder", [], function () {
                function e(e, t, n) {
                    (this.placeholder = this.normalizePlaceholder(
                        n.get("placeholder")
                    )),
                        e.call(this, t, n);
                }
                return (
                    (e.prototype.normalizePlaceholder = function (e, t) {
                        return (t =
                            "string" == typeof t ? { id: "", text: t } : t);
                    }),
                    (e.prototype.createPlaceholder = function (e, t) {
                        var n = this.selectionContainer();
                        n.html(this.display(t)),
                            n[0].classList.add(
                                "select2-selection__placeholder"
                            ),
                            n[0].classList.remove("select2-selection__choice");
                        t = t.title || t.text || n.text();
                        return (
                            this.$selection
                                .find(".select2-selection__rendered")
                                .attr("title", t),
                            n
                        );
                    }),
                    (e.prototype.update = function (e, t) {
                        var n = 1 == t.length && t[0].id != this.placeholder.id;
                        if (1 < t.length || n) return e.call(this, t);
                        this.clear();
                        t = this.createPlaceholder(this.placeholder);
                        this.$selection
                            .find(".select2-selection__rendered")
                            .append(t);
                    }),
                    e
                );
            }),
            u.define(
                "select2/selection/allowClear",
                ["jquery", "../keys", "../utils"],
                function (i, s, a) {
                    function e() {}
                    return (
                        (e.prototype.bind = function (e, t, n) {
                            var s = this;
                            e.call(this, t, n),
                                null == this.placeholder &&
                                    this.options.get("debug") &&
                                    window.console &&
                                    console.error &&
                                    console.error(
                                        "Select2: The `allowClear` option should be used in combination with the `placeholder` option."
                                    ),
                                this.$selection.on(
                                    "mousedown",
                                    ".select2-selection__clear",
                                    function (e) {
                                        s._handleClear(e);
                                    }
                                ),
                                t.on("keypress", function (e) {
                                    s._handleKeyboardClear(e, t);
                                });
                        }),
                        (e.prototype._handleClear = function (e, t) {
                            if (!this.isDisabled()) {
                                var n = this.$selection.find(
                                    ".select2-selection__clear"
                                );
                                if (0 !== n.length) {
                                    t.stopPropagation();
                                    var s = a.GetData(n[0], "data"),
                                        i = this.$element.val();
                                    this.$element.val(this.placeholder.id);
                                    var r = { data: s };
                                    if ((this.trigger("clear", r), r.prevented))
                                        this.$element.val(i);
                                    else {
                                        for (var o = 0; o < s.length; o++)
                                            if (
                                                ((r = { data: s[o] }),
                                                this.trigger("unselect", r),
                                                r.prevented)
                                            )
                                                return void this.$element.val(
                                                    i
                                                );
                                        this.$element
                                            .trigger("input")
                                            .trigger("change"),
                                            this.trigger("toggle", {});
                                    }
                                }
                            }
                        }),
                        (e.prototype._handleKeyboardClear = function (e, t, n) {
                            n.isOpen() ||
                                (t.which != s.DELETE &&
                                    t.which != s.BACKSPACE) ||
                                this._handleClear(t);
                        }),
                        (e.prototype.update = function (e, t) {
                            var n, s;
                            e.call(this, t),
                                this.$selection
                                    .find(".select2-selection__clear")
                                    .remove(),
                                this.$selection[0].classList.remove(
                                    "select2-selection--clearable"
                                ),
                                0 <
                                    this.$selection.find(
                                        ".select2-selection__placeholder"
                                    ).length ||
                                    0 === t.length ||
                                    ((n = this.$selection
                                        .find(".select2-selection__rendered")
                                        .attr("id")),
                                    (s = this.options
                                        .get("translations")
                                        .get("removeAllItems")),
                                    (e = i(
                                        '<button type="button" class="select2-selection__clear" tabindex="-1"><span aria-hidden="true">&times;</span></button>'
                                    )).attr("title", s()),
                                    e.attr("aria-label", s()),
                                    e.attr("aria-describedby", n),
                                    a.StoreData(e[0], "data", t),
                                    this.$selection.prepend(e),
                                    this.$selection[0].classList.add(
                                        "select2-selection--clearable"
                                    ));
                        }),
                        e
                    );
                }
            ),
            u.define(
                "select2/selection/search",
                ["jquery", "../utils", "../keys"],
                function (s, a, l) {
                    function e(e, t, n) {
                        e.call(this, t, n);
                    }
                    return (
                        (e.prototype.render = function (e) {
                            var t = this.options
                                    .get("translations")
                                    .get("search"),
                                n = s(
                                    '<span class="select2-search select2-search--inline"><textarea class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" ></textarea></span>'
                                );
                            (this.$searchContainer = n),
                                (this.$search = n.find("textarea")),
                                this.$search.prop(
                                    "autocomplete",
                                    this.options.get("autocomplete")
                                ),
                                this.$search.attr("aria-label", t());
                            e = e.call(this);
                            return (
                                this._transferTabIndex(),
                                e.append(this.$searchContainer),
                                e
                            );
                        }),
                        (e.prototype.bind = function (e, t, n) {
                            var s = this,
                                i = t.id + "-results",
                                r = t.id + "-container";
                            e.call(this, t, n),
                                s.$search.attr("aria-describedby", r),
                                t.on("open", function () {
                                    s.$search.attr("aria-controls", i),
                                        s.$search.trigger("focus");
                                }),
                                t.on("close", function () {
                                    s.$search.val(""),
                                        s.resizeSearch(),
                                        s.$search.removeAttr("aria-controls"),
                                        s.$search.removeAttr(
                                            "aria-activedescendant"
                                        ),
                                        s.$search.trigger("focus");
                                }),
                                t.on("enable", function () {
                                    s.$search.prop("disabled", !1),
                                        s._transferTabIndex();
                                }),
                                t.on("disable", function () {
                                    s.$search.prop("disabled", !0);
                                }),
                                t.on("focus", function (e) {
                                    s.$search.trigger("focus");
                                }),
                                t.on("results:focus", function (e) {
                                    e.data._resultId
                                        ? s.$search.attr(
                                              "aria-activedescendant",
                                              e.data._resultId
                                          )
                                        : s.$search.removeAttr(
                                              "aria-activedescendant"
                                          );
                                }),
                                this.$selection.on(
                                    "focusin",
                                    ".select2-search--inline",
                                    function (e) {
                                        s.trigger("focus", e);
                                    }
                                ),
                                this.$selection.on(
                                    "focusout",
                                    ".select2-search--inline",
                                    function (e) {
                                        s._handleBlur(e);
                                    }
                                ),
                                this.$selection.on(
                                    "keydown",
                                    ".select2-search--inline",
                                    function (e) {
                                        var t;
                                        e.stopPropagation(),
                                            s.trigger("keypress", e),
                                            (s._keyUpPrevented =
                                                e.isDefaultPrevented()),
                                            e.which !== l.BACKSPACE ||
                                                "" !== s.$search.val() ||
                                                (0 <
                                                    (t = s.$selection
                                                        .find(
                                                            ".select2-selection__choice"
                                                        )
                                                        .last()).length &&
                                                    ((t = a.GetData(
                                                        t[0],
                                                        "data"
                                                    )),
                                                    s.searchRemoveChoice(t),
                                                    e.preventDefault()));
                                    }
                                ),
                                this.$selection.on(
                                    "click",
                                    ".select2-search--inline",
                                    function (e) {
                                        s.$search.val() && e.stopPropagation();
                                    }
                                );
                            var t = document.documentMode,
                                o = t && t <= 11;
                            this.$selection.on(
                                "input.searchcheck",
                                ".select2-search--inline",
                                function (e) {
                                    o
                                        ? s.$selection.off(
                                              "input.search input.searchcheck"
                                          )
                                        : s.$selection.off("keyup.search");
                                }
                            ),
                                this.$selection.on(
                                    "keyup.search input.search",
                                    ".select2-search--inline",
                                    function (e) {
                                        var t;
                                        o && "input" === e.type
                                            ? s.$selection.off(
                                                  "input.search input.searchcheck"
                                              )
                                            : (t = e.which) != l.SHIFT &&
                                              t != l.CTRL &&
                                              t != l.ALT &&
                                              t != l.TAB &&
                                              s.handleSearch(e);
                                    }
                                );
                        }),
                        (e.prototype._transferTabIndex = function (e) {
                            this.$search.attr(
                                "tabindex",
                                this.$selection.attr("tabindex")
                            ),
                                this.$selection.attr("tabindex", "-1");
                        }),
                        (e.prototype.createPlaceholder = function (e, t) {
                            this.$search.attr("placeholder", t.text);
                        }),
                        (e.prototype.update = function (e, t) {
                            var n = this.$search[0] == document.activeElement;
                            this.$search.attr("placeholder", ""),
                                e.call(this, t),
                                this.resizeSearch(),
                                n && this.$search.trigger("focus");
                        }),
                        (e.prototype.handleSearch = function () {
                            var e;
                            this.resizeSearch(),
                                this._keyUpPrevented ||
                                    ((e = this.$search.val()),
                                    this.trigger("query", { term: e })),
                                (this._keyUpPrevented = !1);
                        }),
                        (e.prototype.searchRemoveChoice = function (e, t) {
                            this.trigger("unselect", { data: t }),
                                this.$search.val(t.text),
                                this.handleSearch();
                        }),
                        (e.prototype.resizeSearch = function () {
                            this.$search.css("width", "25px");
                            var e = "100%";
                            "" === this.$search.attr("placeholder") &&
                                (e =
                                    0.75 * (this.$search.val().length + 1) +
                                    "em"),
                                this.$search.css("width", e);
                        }),
                        e
                    );
                }
            ),
            u.define(
                "select2/selection/selectionCss",
                ["../utils"],
                function (n) {
                    function e() {}
                    return (
                        (e.prototype.render = function (e) {
                            var t = e.call(this),
                                e = this.options.get("selectionCssClass") || "";
                            return (
                                -1 !== e.indexOf(":all:") &&
                                    ((e = e.replace(":all:", "")),
                                    n.copyNonInternalCssClasses(
                                        t[0],
                                        this.$element[0]
                                    )),
                                t.addClass(e),
                                t
                            );
                        }),
                        e
                    );
                }
            ),
            u.define("select2/selection/eventRelay", ["jquery"], function (o) {
                function e() {}
                return (
                    (e.prototype.bind = function (e, t, n) {
                        var s = this,
                            i = [
                                "open",
                                "opening",
                                "close",
                                "closing",
                                "select",
                                "selecting",
                                "unselect",
                                "unselecting",
                                "clear",
                                "clearing",
                            ],
                            r = [
                                "opening",
                                "closing",
                                "selecting",
                                "unselecting",
                                "clearing",
                            ];
                        e.call(this, t, n),
                            t.on("*", function (e, t) {
                                var n;
                                -1 !== i.indexOf(e) &&
                                    ((t = t || {}),
                                    (n = o.Event("select2:" + e, {
                                        params: t,
                                    })),
                                    s.$element.trigger(n),
                                    -1 !== r.indexOf(e) &&
                                        (t.prevented = n.isDefaultPrevented()));
                            });
                    }),
                    e
                );
            }),
            u.define(
                "select2/translation",
                ["jquery", "require"],
                function (t, n) {
                    function s(e) {
                        this.dict = e || {};
                    }
                    return (
                        (s.prototype.all = function () {
                            return this.dict;
                        }),
                        (s.prototype.get = function (e) {
                            return this.dict[e];
                        }),
                        (s.prototype.extend = function (e) {
                            this.dict = t.extend({}, e.all(), this.dict);
                        }),
                        (s._cache = {}),
                        (s.loadPath = function (e) {
                            var t;
                            return (
                                e in s._cache ||
                                    ((t = n(e)), (s._cache[e] = t)),
                                new s(s._cache[e])
                            );
                        }),
                        s
                    );
                }
            ),
            u.define("select2/diacritics", [], function () {
                return {
                    "Ⓐ": "A",
                    Ａ: "A",
                    À: "A",
                    Á: "A",
                    Â: "A",
                    Ầ: "A",
                    Ấ: "A",
                    Ẫ: "A",
                    Ẩ: "A",
                    Ã: "A",
                    Ā: "A",
                    Ă: "A",
                    Ằ: "A",
                    Ắ: "A",
                    Ẵ: "A",
                    Ẳ: "A",
                    Ȧ: "A",
                    Ǡ: "A",
                    Ä: "A",
                    Ǟ: "A",
                    Ả: "A",
                    Å: "A",
                    Ǻ: "A",
                    Ǎ: "A",
                    Ȁ: "A",
                    Ȃ: "A",
                    Ạ: "A",
                    Ậ: "A",
                    Ặ: "A",
                    Ḁ: "A",
                    Ą: "A",
                    Ⱥ: "A",
                    Ɐ: "A",
                    Ꜳ: "AA",
                    Æ: "AE",
                    Ǽ: "AE",
                    Ǣ: "AE",
                    Ꜵ: "AO",
                    Ꜷ: "AU",
                    Ꜹ: "AV",
                    Ꜻ: "AV",
                    Ꜽ: "AY",
                    "Ⓑ": "B",
                    Ｂ: "B",
                    Ḃ: "B",
                    Ḅ: "B",
                    Ḇ: "B",
                    Ƀ: "B",
                    Ƃ: "B",
                    Ɓ: "B",
                    "Ⓒ": "C",
                    Ｃ: "C",
                    Ć: "C",
                    Ĉ: "C",
                    Ċ: "C",
                    Č: "C",
                    Ç: "C",
                    Ḉ: "C",
                    Ƈ: "C",
                    Ȼ: "C",
                    Ꜿ: "C",
                    "Ⓓ": "D",
                    Ｄ: "D",
                    Ḋ: "D",
                    Ď: "D",
                    Ḍ: "D",
                    Ḑ: "D",
                    Ḓ: "D",
                    Ḏ: "D",
                    Đ: "D",
                    Ƌ: "D",
                    Ɗ: "D",
                    Ɖ: "D",
                    Ꝺ: "D",
                    Ǳ: "DZ",
                    Ǆ: "DZ",
                    ǲ: "Dz",
                    ǅ: "Dz",
                    "Ⓔ": "E",
                    Ｅ: "E",
                    È: "E",
                    É: "E",
                    Ê: "E",
                    Ề: "E",
                    Ế: "E",
                    Ễ: "E",
                    Ể: "E",
                    Ẽ: "E",
                    Ē: "E",
                    Ḕ: "E",
                    Ḗ: "E",
                    Ĕ: "E",
                    Ė: "E",
                    Ë: "E",
                    Ẻ: "E",
                    Ě: "E",
                    Ȅ: "E",
                    Ȇ: "E",
                    Ẹ: "E",
                    Ệ: "E",
                    Ȩ: "E",
                    Ḝ: "E",
                    Ę: "E",
                    Ḙ: "E",
                    Ḛ: "E",
                    Ɛ: "E",
                    Ǝ: "E",
                    "Ⓕ": "F",
                    Ｆ: "F",
                    Ḟ: "F",
                    Ƒ: "F",
                    Ꝼ: "F",
                    "Ⓖ": "G",
                    Ｇ: "G",
                    Ǵ: "G",
                    Ĝ: "G",
                    Ḡ: "G",
                    Ğ: "G",
                    Ġ: "G",
                    Ǧ: "G",
                    Ģ: "G",
                    Ǥ: "G",
                    Ɠ: "G",
                    Ꞡ: "G",
                    Ᵹ: "G",
                    Ꝿ: "G",
                    "Ⓗ": "H",
                    Ｈ: "H",
                    Ĥ: "H",
                    Ḣ: "H",
                    Ḧ: "H",
                    Ȟ: "H",
                    Ḥ: "H",
                    Ḩ: "H",
                    Ḫ: "H",
                    Ħ: "H",
                    Ⱨ: "H",
                    Ⱶ: "H",
                    Ɥ: "H",
                    "Ⓘ": "I",
                    Ｉ: "I",
                    Ì: "I",
                    Í: "I",
                    Î: "I",
                    Ĩ: "I",
                    Ī: "I",
                    Ĭ: "I",
                    İ: "I",
                    Ï: "I",
                    Ḯ: "I",
                    Ỉ: "I",
                    Ǐ: "I",
                    Ȉ: "I",
                    Ȋ: "I",
                    Ị: "I",
                    Į: "I",
                    Ḭ: "I",
                    Ɨ: "I",
                    "Ⓙ": "J",
                    Ｊ: "J",
                    Ĵ: "J",
                    Ɉ: "J",
                    "Ⓚ": "K",
                    Ｋ: "K",
                    Ḱ: "K",
                    Ǩ: "K",
                    Ḳ: "K",
                    Ķ: "K",
                    Ḵ: "K",
                    Ƙ: "K",
                    Ⱪ: "K",
                    Ꝁ: "K",
                    Ꝃ: "K",
                    Ꝅ: "K",
                    Ꞣ: "K",
                    "Ⓛ": "L",
                    Ｌ: "L",
                    Ŀ: "L",
                    Ĺ: "L",
                    Ľ: "L",
                    Ḷ: "L",
                    Ḹ: "L",
                    Ļ: "L",
                    Ḽ: "L",
                    Ḻ: "L",
                    Ł: "L",
                    Ƚ: "L",
                    Ɫ: "L",
                    Ⱡ: "L",
                    Ꝉ: "L",
                    Ꝇ: "L",
                    Ꞁ: "L",
                    Ǉ: "LJ",
                    ǈ: "Lj",
                    "Ⓜ": "M",
                    Ｍ: "M",
                    Ḿ: "M",
                    Ṁ: "M",
                    Ṃ: "M",
                    Ɱ: "M",
                    Ɯ: "M",
                    "Ⓝ": "N",
                    Ｎ: "N",
                    Ǹ: "N",
                    Ń: "N",
                    Ñ: "N",
                    Ṅ: "N",
                    Ň: "N",
                    Ṇ: "N",
                    Ņ: "N",
                    Ṋ: "N",
                    Ṉ: "N",
                    Ƞ: "N",
                    Ɲ: "N",
                    Ꞑ: "N",
                    Ꞥ: "N",
                    Ǌ: "NJ",
                    ǋ: "Nj",
                    "Ⓞ": "O",
                    Ｏ: "O",
                    Ò: "O",
                    Ó: "O",
                    Ô: "O",
                    Ồ: "O",
                    Ố: "O",
                    Ỗ: "O",
                    Ổ: "O",
                    Õ: "O",
                    Ṍ: "O",
                    Ȭ: "O",
                    Ṏ: "O",
                    Ō: "O",
                    Ṑ: "O",
                    Ṓ: "O",
                    Ŏ: "O",
                    Ȯ: "O",
                    Ȱ: "O",
                    Ö: "O",
                    Ȫ: "O",
                    Ỏ: "O",
                    Ő: "O",
                    Ǒ: "O",
                    Ȍ: "O",
                    Ȏ: "O",
                    Ơ: "O",
                    Ờ: "O",
                    Ớ: "O",
                    Ỡ: "O",
                    Ở: "O",
                    Ợ: "O",
                    Ọ: "O",
                    Ộ: "O",
                    Ǫ: "O",
                    Ǭ: "O",
                    Ø: "O",
                    Ǿ: "O",
                    Ɔ: "O",
                    Ɵ: "O",
                    Ꝋ: "O",
                    Ꝍ: "O",
                    Œ: "OE",
                    Ƣ: "OI",
                    Ꝏ: "OO",
                    Ȣ: "OU",
                    "Ⓟ": "P",
                    Ｐ: "P",
                    Ṕ: "P",
                    Ṗ: "P",
                    Ƥ: "P",
                    Ᵽ: "P",
                    Ꝑ: "P",
                    Ꝓ: "P",
                    Ꝕ: "P",
                    "Ⓠ": "Q",
                    Ｑ: "Q",
                    Ꝗ: "Q",
                    Ꝙ: "Q",
                    Ɋ: "Q",
                    "Ⓡ": "R",
                    Ｒ: "R",
                    Ŕ: "R",
                    Ṙ: "R",
                    Ř: "R",
                    Ȑ: "R",
                    Ȓ: "R",
                    Ṛ: "R",
                    Ṝ: "R",
                    Ŗ: "R",
                    Ṟ: "R",
                    Ɍ: "R",
                    Ɽ: "R",
                    Ꝛ: "R",
                    Ꞧ: "R",
                    Ꞃ: "R",
                    "Ⓢ": "S",
                    Ｓ: "S",
                    ẞ: "S",
                    Ś: "S",
                    Ṥ: "S",
                    Ŝ: "S",
                    Ṡ: "S",
                    Š: "S",
                    Ṧ: "S",
                    Ṣ: "S",
                    Ṩ: "S",
                    Ș: "S",
                    Ş: "S",
                    Ȿ: "S",
                    Ꞩ: "S",
                    Ꞅ: "S",
                    "Ⓣ": "T",
                    Ｔ: "T",
                    Ṫ: "T",
                    Ť: "T",
                    Ṭ: "T",
                    Ț: "T",
                    Ţ: "T",
                    Ṱ: "T",
                    Ṯ: "T",
                    Ŧ: "T",
                    Ƭ: "T",
                    Ʈ: "T",
                    Ⱦ: "T",
                    Ꞇ: "T",
                    Ꜩ: "TZ",
                    "Ⓤ": "U",
                    Ｕ: "U",
                    Ù: "U",
                    Ú: "U",
                    Û: "U",
                    Ũ: "U",
                    Ṹ: "U",
                    Ū: "U",
                    Ṻ: "U",
                    Ŭ: "U",
                    Ü: "U",
                    Ǜ: "U",
                    Ǘ: "U",
                    Ǖ: "U",
                    Ǚ: "U",
                    Ủ: "U",
                    Ů: "U",
                    Ű: "U",
                    Ǔ: "U",
                    Ȕ: "U",
                    Ȗ: "U",
                    Ư: "U",
                    Ừ: "U",
                    Ứ: "U",
                    Ữ: "U",
                    Ử: "U",
                    Ự: "U",
                    Ụ: "U",
                    Ṳ: "U",
                    Ų: "U",
                    Ṷ: "U",
                    Ṵ: "U",
                    Ʉ: "U",
                    "Ⓥ": "V",
                    Ｖ: "V",
                    Ṽ: "V",
                    Ṿ: "V",
                    Ʋ: "V",
                    Ꝟ: "V",
                    Ʌ: "V",
                    Ꝡ: "VY",
                    "Ⓦ": "W",
                    Ｗ: "W",
                    Ẁ: "W",
                    Ẃ: "W",
                    Ŵ: "W",
                    Ẇ: "W",
                    Ẅ: "W",
                    Ẉ: "W",
                    Ⱳ: "W",
                    "Ⓧ": "X",
                    Ｘ: "X",
                    Ẋ: "X",
                    Ẍ: "X",
                    "Ⓨ": "Y",
                    Ｙ: "Y",
                    Ỳ: "Y",
                    Ý: "Y",
                    Ŷ: "Y",
                    Ỹ: "Y",
                    Ȳ: "Y",
                    Ẏ: "Y",
                    Ÿ: "Y",
                    Ỷ: "Y",
                    Ỵ: "Y",
                    Ƴ: "Y",
                    Ɏ: "Y",
                    Ỿ: "Y",
                    "Ⓩ": "Z",
                    Ｚ: "Z",
                    Ź: "Z",
                    Ẑ: "Z",
                    Ż: "Z",
                    Ž: "Z",
                    Ẓ: "Z",
                    Ẕ: "Z",
                    Ƶ: "Z",
                    Ȥ: "Z",
                    Ɀ: "Z",
                    Ⱬ: "Z",
                    Ꝣ: "Z",
                    "ⓐ": "a",
                    ａ: "a",
                    ẚ: "a",
                    à: "a",
                    á: "a",
                    â: "a",
                    ầ: "a",
                    ấ: "a",
                    ẫ: "a",
                    ẩ: "a",
                    ã: "a",
                    ā: "a",
                    ă: "a",
                    ằ: "a",
                    ắ: "a",
                    ẵ: "a",
                    ẳ: "a",
                    ȧ: "a",
                    ǡ: "a",
                    ä: "a",
                    ǟ: "a",
                    ả: "a",
                    å: "a",
                    ǻ: "a",
                    ǎ: "a",
                    ȁ: "a",
                    ȃ: "a",
                    ạ: "a",
                    ậ: "a",
                    ặ: "a",
                    ḁ: "a",
                    ą: "a",
                    ⱥ: "a",
                    ɐ: "a",
                    ꜳ: "aa",
                    æ: "ae",
                    ǽ: "ae",
                    ǣ: "ae",
                    ꜵ: "ao",
                    ꜷ: "au",
                    ꜹ: "av",
                    ꜻ: "av",
                    ꜽ: "ay",
                    "ⓑ": "b",
                    ｂ: "b",
                    ḃ: "b",
                    ḅ: "b",
                    ḇ: "b",
                    ƀ: "b",
                    ƃ: "b",
                    ɓ: "b",
                    "ⓒ": "c",
                    ｃ: "c",
                    ć: "c",
                    ĉ: "c",
                    ċ: "c",
                    č: "c",
                    ç: "c",
                    ḉ: "c",
                    ƈ: "c",
                    ȼ: "c",
                    ꜿ: "c",
                    ↄ: "c",
                    "ⓓ": "d",
                    ｄ: "d",
                    ḋ: "d",
                    ď: "d",
                    ḍ: "d",
                    ḑ: "d",
                    ḓ: "d",
                    ḏ: "d",
                    đ: "d",
                    ƌ: "d",
                    ɖ: "d",
                    ɗ: "d",
                    ꝺ: "d",
                    ǳ: "dz",
                    ǆ: "dz",
                    "ⓔ": "e",
                    ｅ: "e",
                    è: "e",
                    é: "e",
                    ê: "e",
                    ề: "e",
                    ế: "e",
                    ễ: "e",
                    ể: "e",
                    ẽ: "e",
                    ē: "e",
                    ḕ: "e",
                    ḗ: "e",
                    ĕ: "e",
                    ė: "e",
                    ë: "e",
                    ẻ: "e",
                    ě: "e",
                    ȅ: "e",
                    ȇ: "e",
                    ẹ: "e",
                    ệ: "e",
                    ȩ: "e",
                    ḝ: "e",
                    ę: "e",
                    ḙ: "e",
                    ḛ: "e",
                    ɇ: "e",
                    ɛ: "e",
                    ǝ: "e",
                    "ⓕ": "f",
                    ｆ: "f",
                    ḟ: "f",
                    ƒ: "f",
                    ꝼ: "f",
                    "ⓖ": "g",
                    ｇ: "g",
                    ǵ: "g",
                    ĝ: "g",
                    ḡ: "g",
                    ğ: "g",
                    ġ: "g",
                    ǧ: "g",
                    ģ: "g",
                    ǥ: "g",
                    ɠ: "g",
                    ꞡ: "g",
                    ᵹ: "g",
                    ꝿ: "g",
                    "ⓗ": "h",
                    ｈ: "h",
                    ĥ: "h",
                    ḣ: "h",
                    ḧ: "h",
                    ȟ: "h",
                    ḥ: "h",
                    ḩ: "h",
                    ḫ: "h",
                    ẖ: "h",
                    ħ: "h",
                    ⱨ: "h",
                    ⱶ: "h",
                    ɥ: "h",
                    ƕ: "hv",
                    "ⓘ": "i",
                    ｉ: "i",
                    ì: "i",
                    í: "i",
                    î: "i",
                    ĩ: "i",
                    ī: "i",
                    ĭ: "i",
                    ï: "i",
                    ḯ: "i",
                    ỉ: "i",
                    ǐ: "i",
                    ȉ: "i",
                    ȋ: "i",
                    ị: "i",
                    į: "i",
                    ḭ: "i",
                    ɨ: "i",
                    ı: "i",
                    "ⓙ": "j",
                    ｊ: "j",
                    ĵ: "j",
                    ǰ: "j",
                    ɉ: "j",
                    "ⓚ": "k",
                    ｋ: "k",
                    ḱ: "k",
                    ǩ: "k",
                    ḳ: "k",
                    ķ: "k",
                    ḵ: "k",
                    ƙ: "k",
                    ⱪ: "k",
                    ꝁ: "k",
                    ꝃ: "k",
                    ꝅ: "k",
                    ꞣ: "k",
                    "ⓛ": "l",
                    ｌ: "l",
                    ŀ: "l",
                    ĺ: "l",
                    ľ: "l",
                    ḷ: "l",
                    ḹ: "l",
                    ļ: "l",
                    ḽ: "l",
                    ḻ: "l",
                    ſ: "l",
                    ł: "l",
                    ƚ: "l",
                    ɫ: "l",
                    ⱡ: "l",
                    ꝉ: "l",
                    ꞁ: "l",
                    ꝇ: "l",
                    ǉ: "lj",
                    "ⓜ": "m",
                    ｍ: "m",
                    ḿ: "m",
                    ṁ: "m",
                    ṃ: "m",
                    ɱ: "m",
                    ɯ: "m",
                    "ⓝ": "n",
                    ｎ: "n",
                    ǹ: "n",
                    ń: "n",
                    ñ: "n",
                    ṅ: "n",
                    ň: "n",
                    ṇ: "n",
                    ņ: "n",
                    ṋ: "n",
                    ṉ: "n",
                    ƞ: "n",
                    ɲ: "n",
                    ŉ: "n",
                    ꞑ: "n",
                    ꞥ: "n",
                    ǌ: "nj",
                    "ⓞ": "o",
                    ｏ: "o",
                    ò: "o",
                    ó: "o",
                    ô: "o",
                    ồ: "o",
                    ố: "o",
                    ỗ: "o",
                    ổ: "o",
                    õ: "o",
                    ṍ: "o",
                    ȭ: "o",
                    ṏ: "o",
                    ō: "o",
                    ṑ: "o",
                    ṓ: "o",
                    ŏ: "o",
                    ȯ: "o",
                    ȱ: "o",
                    ö: "o",
                    ȫ: "o",
                    ỏ: "o",
                    ő: "o",
                    ǒ: "o",
                    ȍ: "o",
                    ȏ: "o",
                    ơ: "o",
                    ờ: "o",
                    ớ: "o",
                    ỡ: "o",
                    ở: "o",
                    ợ: "o",
                    ọ: "o",
                    ộ: "o",
                    ǫ: "o",
                    ǭ: "o",
                    ø: "o",
                    ǿ: "o",
                    ɔ: "o",
                    ꝋ: "o",
                    ꝍ: "o",
                    ɵ: "o",
                    œ: "oe",
                    ƣ: "oi",
                    ȣ: "ou",
                    ꝏ: "oo",
                    "ⓟ": "p",
                    ｐ: "p",
                    ṕ: "p",
                    ṗ: "p",
                    ƥ: "p",
                    ᵽ: "p",
                    ꝑ: "p",
                    ꝓ: "p",
                    ꝕ: "p",
                    "ⓠ": "q",
                    ｑ: "q",
                    ɋ: "q",
                    ꝗ: "q",
                    ꝙ: "q",
                    "ⓡ": "r",
                    ｒ: "r",
                    ŕ: "r",
                    ṙ: "r",
                    ř: "r",
                    ȑ: "r",
                    ȓ: "r",
                    ṛ: "r",
                    ṝ: "r",
                    ŗ: "r",
                    ṟ: "r",
                    ɍ: "r",
                    ɽ: "r",
                    ꝛ: "r",
                    ꞧ: "r",
                    ꞃ: "r",
                    "ⓢ": "s",
                    ｓ: "s",
                    ß: "s",
                    ś: "s",
                    ṥ: "s",
                    ŝ: "s",
                    ṡ: "s",
                    š: "s",
                    ṧ: "s",
                    ṣ: "s",
                    ṩ: "s",
                    ș: "s",
                    ş: "s",
                    ȿ: "s",
                    ꞩ: "s",
                    ꞅ: "s",
                    ẛ: "s",
                    "ⓣ": "t",
                    ｔ: "t",
                    ṫ: "t",
                    ẗ: "t",
                    ť: "t",
                    ṭ: "t",
                    ț: "t",
                    ţ: "t",
                    ṱ: "t",
                    ṯ: "t",
                    ŧ: "t",
                    ƭ: "t",
                    ʈ: "t",
                    ⱦ: "t",
                    ꞇ: "t",
                    ꜩ: "tz",
                    "ⓤ": "u",
                    ｕ: "u",
                    ù: "u",
                    ú: "u",
                    û: "u",
                    ũ: "u",
                    ṹ: "u",
                    ū: "u",
                    ṻ: "u",
                    ŭ: "u",
                    ü: "u",
                    ǜ: "u",
                    ǘ: "u",
                    ǖ: "u",
                    ǚ: "u",
                    ủ: "u",
                    ů: "u",
                    ű: "u",
                    ǔ: "u",
                    ȕ: "u",
                    ȗ: "u",
                    ư: "u",
                    ừ: "u",
                    ứ: "u",
                    ữ: "u",
                    ử: "u",
                    ự: "u",
                    ụ: "u",
                    ṳ: "u",
                    ų: "u",
                    ṷ: "u",
                    ṵ: "u",
                    ʉ: "u",
                    "ⓥ": "v",
                    ｖ: "v",
                    ṽ: "v",
                    ṿ: "v",
                    ʋ: "v",
                    ꝟ: "v",
                    ʌ: "v",
                    ꝡ: "vy",
                    "ⓦ": "w",
                    ｗ: "w",
                    ẁ: "w",
                    ẃ: "w",
                    ŵ: "w",
                    ẇ: "w",
                    ẅ: "w",
                    ẘ: "w",
                    ẉ: "w",
                    ⱳ: "w",
                    "ⓧ": "x",
                    ｘ: "x",
                    ẋ: "x",
                    ẍ: "x",
                    "ⓨ": "y",
                    ｙ: "y",
                    ỳ: "y",
                    ý: "y",
                    ŷ: "y",
                    ỹ: "y",
                    ȳ: "y",
                    ẏ: "y",
                    ÿ: "y",
                    ỷ: "y",
                    ẙ: "y",
                    ỵ: "y",
                    ƴ: "y",
                    ɏ: "y",
                    ỿ: "y",
                    "ⓩ": "z",
                    ｚ: "z",
                    ź: "z",
                    ẑ: "z",
                    ż: "z",
                    ž: "z",
                    ẓ: "z",
                    ẕ: "z",
                    ƶ: "z",
                    ȥ: "z",
                    ɀ: "z",
                    ⱬ: "z",
                    ꝣ: "z",
                    Ά: "Α",
                    Έ: "Ε",
                    Ή: "Η",
                    Ί: "Ι",
                    Ϊ: "Ι",
                    Ό: "Ο",
                    Ύ: "Υ",
                    Ϋ: "Υ",
                    Ώ: "Ω",
                    ά: "α",
                    έ: "ε",
                    ή: "η",
                    ί: "ι",
                    ϊ: "ι",
                    ΐ: "ι",
                    ό: "ο",
                    ύ: "υ",
                    ϋ: "υ",
                    ΰ: "υ",
                    ώ: "ω",
                    ς: "σ",
                    "’": "'",
                };
            }),
            u.define("select2/data/base", ["../utils"], function (n) {
                function s(e, t) {
                    s.__super__.constructor.call(this);
                }
                return (
                    n.Extend(s, n.Observable),
                    (s.prototype.current = function (e) {
                        throw new Error(
                            "The `current` method must be defined in child classes."
                        );
                    }),
                    (s.prototype.query = function (e, t) {
                        throw new Error(
                            "The `query` method must be defined in child classes."
                        );
                    }),
                    (s.prototype.bind = function (e, t) {}),
                    (s.prototype.destroy = function () {}),
                    (s.prototype.generateResultId = function (e, t) {
                        e = e.id + "-result-";
                        return (
                            (e += n.generateChars(4)),
                            null != t.id
                                ? (e += "-" + t.id.toString())
                                : (e += "-" + n.generateChars(4)),
                            e
                        );
                    }),
                    s
                );
            }),
            u.define(
                "select2/data/select",
                ["./base", "../utils", "jquery"],
                function (e, a, l) {
                    function n(e, t) {
                        (this.$element = e),
                            (this.options = t),
                            n.__super__.constructor.call(this);
                    }
                    return (
                        a.Extend(n, e),
                        (n.prototype.current = function (e) {
                            var t = this;
                            e(
                                Array.prototype.map.call(
                                    this.$element[0].querySelectorAll(
                                        ":checked"
                                    ),
                                    function (e) {
                                        return t.item(l(e));
                                    }
                                )
                            );
                        }),
                        (n.prototype.select = function (i) {
                            var e,
                                r = this;
                            if (
                                ((i.selected = !0),
                                null != i.element &&
                                    "option" ===
                                        i.element.tagName.toLowerCase())
                            )
                                return (
                                    (i.element.selected = !0),
                                    void this.$element
                                        .trigger("input")
                                        .trigger("change")
                                );
                            this.$element.prop("multiple")
                                ? this.current(function (e) {
                                      var t = [];
                                      (i = [i]).push.apply(i, e);
                                      for (var n = 0; n < i.length; n++) {
                                          var s = i[n].id;
                                          -1 === t.indexOf(s) && t.push(s);
                                      }
                                      r.$element.val(t),
                                          r.$element
                                              .trigger("input")
                                              .trigger("change");
                                  })
                                : ((e = i.id),
                                  this.$element.val(e),
                                  this.$element
                                      .trigger("input")
                                      .trigger("change"));
                        }),
                        (n.prototype.unselect = function (i) {
                            var r = this;
                            if (this.$element.prop("multiple")) {
                                if (
                                    ((i.selected = !1),
                                    null != i.element &&
                                        "option" ===
                                            i.element.tagName.toLowerCase())
                                )
                                    return (
                                        (i.element.selected = !1),
                                        void this.$element
                                            .trigger("input")
                                            .trigger("change")
                                    );
                                this.current(function (e) {
                                    for (var t = [], n = 0; n < e.length; n++) {
                                        var s = e[n].id;
                                        s !== i.id &&
                                            -1 === t.indexOf(s) &&
                                            t.push(s);
                                    }
                                    r.$element.val(t),
                                        r.$element
                                            .trigger("input")
                                            .trigger("change");
                                });
                            }
                        }),
                        (n.prototype.bind = function (e, t) {
                            var n = this;
                            (this.container = e).on("select", function (e) {
                                n.select(e.data);
                            }),
                                e.on("unselect", function (e) {
                                    n.unselect(e.data);
                                });
                        }),
                        (n.prototype.destroy = function () {
                            this.$element.find("*").each(function () {
                                a.RemoveData(this);
                            });
                        }),
                        (n.prototype.query = function (t, e) {
                            var n = [],
                                s = this;
                            this.$element.children().each(function () {
                                var e;
                                ("option" !== this.tagName.toLowerCase() &&
                                    "optgroup" !==
                                        this.tagName.toLowerCase()) ||
                                    ((e = l(this)),
                                    (e = s.item(e)),
                                    null !== (e = s.matches(t, e)) &&
                                        n.push(e));
                            }),
                                e({ results: n });
                        }),
                        (n.prototype.addOptions = function (e) {
                            this.$element.append(e);
                        }),
                        (n.prototype.option = function (e) {
                            var t;
                            e.children
                                ? ((t =
                                      document.createElement(
                                          "optgroup"
                                      )).label = e.text)
                                : void 0 !==
                                  (t = document.createElement("option"))
                                      .textContent
                                ? (t.textContent = e.text)
                                : (t.innerText = e.text),
                                void 0 !== e.id && (t.value = e.id),
                                e.disabled && (t.disabled = !0),
                                e.selected && (t.selected = !0),
                                e.title && (t.title = e.title);
                            e = this._normalizeItem(e);
                            return (
                                (e.element = t), a.StoreData(t, "data", e), l(t)
                            );
                        }),
                        (n.prototype.item = function (e) {
                            var t = {};
                            if (null != (t = a.GetData(e[0], "data"))) return t;
                            var n = e[0];
                            if ("option" === n.tagName.toLowerCase())
                                t = {
                                    id: e.val(),
                                    text: e.text(),
                                    disabled: e.prop("disabled"),
                                    selected: e.prop("selected"),
                                    title: e.prop("title"),
                                };
                            else if ("optgroup" === n.tagName.toLowerCase()) {
                                t = {
                                    text: e.prop("label"),
                                    children: [],
                                    title: e.prop("title"),
                                };
                                for (
                                    var s = e.children("option"), i = [], r = 0;
                                    r < s.length;
                                    r++
                                ) {
                                    var o = l(s[r]),
                                        o = this.item(o);
                                    i.push(o);
                                }
                                t.children = i;
                            }
                            return (
                                ((t = this._normalizeItem(t)).element = e[0]),
                                a.StoreData(e[0], "data", t),
                                t
                            );
                        }),
                        (n.prototype._normalizeItem = function (e) {
                            e !== Object(e) && (e = { id: e, text: e });
                            return (
                                null !=
                                    (e = l.extend({}, { text: "" }, e)).id &&
                                    (e.id = e.id.toString()),
                                null != e.text && (e.text = e.text.toString()),
                                null == e._resultId &&
                                    e.id &&
                                    null != this.container &&
                                    (e._resultId = this.generateResultId(
                                        this.container,
                                        e
                                    )),
                                l.extend({}, { selected: !1, disabled: !1 }, e)
                            );
                        }),
                        (n.prototype.matches = function (e, t) {
                            return this.options.get("matcher")(e, t);
                        }),
                        n
                    );
                }
            ),
            u.define(
                "select2/data/array",
                ["./select", "../utils", "jquery"],
                function (e, t, c) {
                    function s(e, t) {
                        (this._dataToConvert = t.get("data") || []),
                            s.__super__.constructor.call(this, e, t);
                    }
                    return (
                        t.Extend(s, e),
                        (s.prototype.bind = function (e, t) {
                            s.__super__.bind.call(this, e, t),
                                this.addOptions(
                                    this.convertToOptions(this._dataToConvert)
                                );
                        }),
                        (s.prototype.select = function (n) {
                            var e = this.$element
                                .find("option")
                                .filter(function (e, t) {
                                    return t.value == n.id.toString();
                                });
                            0 === e.length &&
                                ((e = this.option(n)), this.addOptions(e)),
                                s.__super__.select.call(this, n);
                        }),
                        (s.prototype.convertToOptions = function (e) {
                            var t = this,
                                n = this.$element.find("option"),
                                s = n
                                    .map(function () {
                                        return t.item(c(this)).id;
                                    })
                                    .get(),
                                i = [];
                            for (var r = 0; r < e.length; r++) {
                                var o,
                                    a,
                                    l = this._normalizeItem(e[r]);
                                0 <= s.indexOf(l.id)
                                    ? ((o = n.filter(
                                          (function (e) {
                                              return function () {
                                                  return c(this).val() == e.id;
                                              };
                                          })(l)
                                      )),
                                      (a = this.item(o)),
                                      (a = c.extend(!0, {}, l, a)),
                                      (a = this.option(a)),
                                      o.replaceWith(a))
                                    : ((a = this.option(l)),
                                      l.children &&
                                          ((l = this.convertToOptions(
                                              l.children
                                          )),
                                          a.append(l)),
                                      i.push(a));
                            }
                            return i;
                        }),
                        s
                    );
                }
            ),
            u.define(
                "select2/data/ajax",
                ["./array", "../utils", "jquery"],
                function (e, t, r) {
                    function n(e, t) {
                        (this.ajaxOptions = this._applyDefaults(t.get("ajax"))),
                            null != this.ajaxOptions.processResults &&
                                (this.processResults =
                                    this.ajaxOptions.processResults),
                            n.__super__.constructor.call(this, e, t);
                    }
                    return (
                        t.Extend(n, e),
                        (n.prototype._applyDefaults = function (e) {
                            var t = {
                                data: function (e) {
                                    return r.extend({}, e, { q: e.term });
                                },
                                transport: function (e, t, n) {
                                    e = r.ajax(e);
                                    return e.then(t), e.fail(n), e;
                                },
                            };
                            return r.extend({}, t, e, !0);
                        }),
                        (n.prototype.processResults = function (e) {
                            return e;
                        }),
                        (n.prototype.query = function (t, n) {
                            var s = this;
                            null != this._request &&
                                ("function" == typeof this._request.abort &&
                                    this._request.abort(),
                                (this._request = null));
                            var i = r.extend({ type: "GET" }, this.ajaxOptions);
                            function e() {
                                var e = i.transport(
                                    i,
                                    function (e) {
                                        e = s.processResults(e, t);
                                        s.options.get("debug") &&
                                            window.console &&
                                            console.error &&
                                            ((e &&
                                                e.results &&
                                                Array.isArray(e.results)) ||
                                                console.error(
                                                    "Select2: The AJAX results did not return an array in the `results` key of the response."
                                                )),
                                            n(e);
                                    },
                                    function () {
                                        ("status" in e &&
                                            (0 === e.status ||
                                                "0" === e.status)) ||
                                            s.trigger("results:message", {
                                                message: "errorLoading",
                                            });
                                    }
                                );
                                s._request = e;
                            }
                            "function" == typeof i.url &&
                                (i.url = i.url.call(this.$element, t)),
                                "function" == typeof i.data &&
                                    (i.data = i.data.call(this.$element, t)),
                                this.ajaxOptions.delay && null != t.term
                                    ? (this._queryTimeout &&
                                          window.clearTimeout(
                                              this._queryTimeout
                                          ),
                                      (this._queryTimeout = window.setTimeout(
                                          e,
                                          this.ajaxOptions.delay
                                      )))
                                    : e();
                        }),
                        n
                    );
                }
            ),
            u.define("select2/data/tags", ["jquery"], function (t) {
                function e(e, t, n) {
                    var s = n.get("tags"),
                        i = n.get("createTag");
                    void 0 !== i && (this.createTag = i);
                    i = n.get("insertTag");
                    if (
                        (void 0 !== i && (this.insertTag = i),
                        e.call(this, t, n),
                        Array.isArray(s))
                    )
                        for (var r = 0; r < s.length; r++) {
                            var o = s[r],
                                o = this._normalizeItem(o),
                                o = this.option(o);
                            this.$element.append(o);
                        }
                }
                return (
                    (e.prototype.query = function (e, c, u) {
                        var d = this;
                        this._removeOldTags(),
                            null != c.term && null == c.page
                                ? e.call(this, c, function e(t, n) {
                                      for (
                                          var s = t.results, i = 0;
                                          i < s.length;
                                          i++
                                      ) {
                                          var r = s[i],
                                              o =
                                                  null != r.children &&
                                                  !e(
                                                      { results: r.children },
                                                      !0
                                                  );
                                          if (
                                              (r.text || "").toUpperCase() ===
                                                  (
                                                      c.term || ""
                                                  ).toUpperCase() ||
                                              o
                                          )
                                              return (
                                                  !n &&
                                                  ((t.data = s), void u(t))
                                              );
                                      }
                                      if (n) return !0;
                                      var a,
                                          l = d.createTag(c);
                                      null != l &&
                                          ((a = d.option(l)).attr(
                                              "data-select2-tag",
                                              "true"
                                          ),
                                          d.addOptions([a]),
                                          d.insertTag(s, l)),
                                          (t.results = s),
                                          u(t);
                                  })
                                : e.call(this, c, u);
                    }),
                    (e.prototype.createTag = function (e, t) {
                        if (null == t.term) return null;
                        t = t.term.trim();
                        return "" === t ? null : { id: t, text: t };
                    }),
                    (e.prototype.insertTag = function (e, t, n) {
                        t.unshift(n);
                    }),
                    (e.prototype._removeOldTags = function (e) {
                        this.$element
                            .find("option[data-select2-tag]")
                            .each(function () {
                                this.selected || t(this).remove();
                            });
                    }),
                    e
                );
            }),
            u.define("select2/data/tokenizer", ["jquery"], function (c) {
                function e(e, t, n) {
                    var s = n.get("tokenizer");
                    void 0 !== s && (this.tokenizer = s), e.call(this, t, n);
                }
                return (
                    (e.prototype.bind = function (e, t, n) {
                        e.call(this, t, n),
                            (this.$search =
                                t.dropdown.$search ||
                                t.selection.$search ||
                                n.find(".select2-search__field"));
                    }),
                    (e.prototype.query = function (e, t, n) {
                        var s = this;
                        t.term = t.term || "";
                        var i = this.tokenizer(t, this.options, function (e) {
                            var t,
                                n = s._normalizeItem(e);
                            s.$element.find("option").filter(function () {
                                return c(this).val() === n.id;
                            }).length ||
                                ((t = s.option(n)).attr("data-select2-tag", !0),
                                s._removeOldTags(),
                                s.addOptions([t])),
                                (t = n),
                                s.trigger("select", { data: t });
                        });
                        i.term !== t.term &&
                            (this.$search.length &&
                                (this.$search.val(i.term),
                                this.$search.trigger("focus")),
                            (t.term = i.term)),
                            e.call(this, t, n);
                    }),
                    (e.prototype.tokenizer = function (e, t, n, s) {
                        for (
                            var i = n.get("tokenSeparators") || [],
                                r = t.term,
                                o = 0,
                                a =
                                    this.createTag ||
                                    function (e) {
                                        return { id: e.term, text: e.term };
                                    };
                            o < r.length;

                        ) {
                            var l = r[o];
                            -1 !== i.indexOf(l)
                                ? ((l = r.substr(0, o)),
                                  null != (l = a(c.extend({}, t, { term: l })))
                                      ? (s(l),
                                        (r = r.substr(o + 1) || ""),
                                        (o = 0))
                                      : o++)
                                : o++;
                        }
                        return { term: r };
                    }),
                    e
                );
            }),
            u.define("select2/data/minimumInputLength", [], function () {
                function e(e, t, n) {
                    (this.minimumInputLength = n.get("minimumInputLength")),
                        e.call(this, t, n);
                }
                return (
                    (e.prototype.query = function (e, t, n) {
                        (t.term = t.term || ""),
                            t.term.length < this.minimumInputLength
                                ? this.trigger("results:message", {
                                      message: "inputTooShort",
                                      args: {
                                          minimum: this.minimumInputLength,
                                          input: t.term,
                                          params: t,
                                      },
                                  })
                                : e.call(this, t, n);
                    }),
                    e
                );
            }),
            u.define("select2/data/maximumInputLength", [], function () {
                function e(e, t, n) {
                    (this.maximumInputLength = n.get("maximumInputLength")),
                        e.call(this, t, n);
                }
                return (
                    (e.prototype.query = function (e, t, n) {
                        (t.term = t.term || ""),
                            0 < this.maximumInputLength &&
                            t.term.length > this.maximumInputLength
                                ? this.trigger("results:message", {
                                      message: "inputTooLong",
                                      args: {
                                          maximum: this.maximumInputLength,
                                          input: t.term,
                                          params: t,
                                      },
                                  })
                                : e.call(this, t, n);
                    }),
                    e
                );
            }),
            u.define("select2/data/maximumSelectionLength", [], function () {
                function e(e, t, n) {
                    (this.maximumSelectionLength = n.get(
                        "maximumSelectionLength"
                    )),
                        e.call(this, t, n);
                }
                return (
                    (e.prototype.bind = function (e, t, n) {
                        var s = this;
                        e.call(this, t, n),
                            t.on("select", function () {
                                s._checkIfMaximumSelected();
                            });
                    }),
                    (e.prototype.query = function (e, t, n) {
                        var s = this;
                        this._checkIfMaximumSelected(function () {
                            e.call(s, t, n);
                        });
                    }),
                    (e.prototype._checkIfMaximumSelected = function (e, t) {
                        var n = this;
                        this.current(function (e) {
                            e = null != e ? e.length : 0;
                            0 < n.maximumSelectionLength &&
                            e >= n.maximumSelectionLength
                                ? n.trigger("results:message", {
                                      message: "maximumSelected",
                                      args: {
                                          maximum: n.maximumSelectionLength,
                                      },
                                  })
                                : t && t();
                        });
                    }),
                    e
                );
            }),
            u.define(
                "select2/dropdown",
                ["jquery", "./utils"],
                function (t, e) {
                    function n(e, t) {
                        (this.$element = e),
                            (this.options = t),
                            n.__super__.constructor.call(this);
                    }
                    return (
                        e.Extend(n, e.Observable),
                        (n.prototype.render = function () {
                            var e = t(
                                '<span class="select2-dropdown"><span class="select2-results"></span></span>'
                            );
                            return (
                                e.attr("dir", this.options.get("dir")),
                                (this.$dropdown = e)
                            );
                        }),
                        (n.prototype.bind = function () {}),
                        (n.prototype.position = function (e, t) {}),
                        (n.prototype.destroy = function () {
                            this.$dropdown.remove();
                        }),
                        n
                    );
                }
            ),
            u.define("select2/dropdown/search", ["jquery"], function (r) {
                function e() {}
                return (
                    (e.prototype.render = function (e) {
                        var t = e.call(this),
                            n = this.options.get("translations").get("search"),
                            e = r(
                                '<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>'
                            );
                        return (
                            (this.$searchContainer = e),
                            (this.$search = e.find("input")),
                            this.$search.prop(
                                "autocomplete",
                                this.options.get("autocomplete")
                            ),
                            this.$search.attr("aria-label", n()),
                            t.prepend(e),
                            t
                        );
                    }),
                    (e.prototype.bind = function (e, t, n) {
                        var s = this,
                            i = t.id + "-results";
                        e.call(this, t, n),
                            this.$search.on("keydown", function (e) {
                                s.trigger("keypress", e),
                                    (s._keyUpPrevented =
                                        e.isDefaultPrevented());
                            }),
                            this.$search.on("input", function (e) {
                                r(this).off("keyup");
                            }),
                            this.$search.on("keyup input", function (e) {
                                s.handleSearch(e);
                            }),
                            t.on("open", function () {
                                s.$search.attr("tabindex", 0),
                                    s.$search.attr("aria-controls", i),
                                    s.$search.trigger("focus"),
                                    window.setTimeout(function () {
                                        s.$search.trigger("focus");
                                    }, 0);
                            }),
                            t.on("close", function () {
                                s.$search.attr("tabindex", -1),
                                    s.$search.removeAttr("aria-controls"),
                                    s.$search.removeAttr(
                                        "aria-activedescendant"
                                    ),
                                    s.$search.val(""),
                                    s.$search.trigger("blur");
                            }),
                            t.on("focus", function () {
                                t.isOpen() || s.$search.trigger("focus");
                            }),
                            t.on("results:all", function (e) {
                                (null != e.query.term && "" !== e.query.term) ||
                                    (s.showSearch(e)
                                        ? s.$searchContainer[0].classList.remove(
                                              "select2-search--hide"
                                          )
                                        : s.$searchContainer[0].classList.add(
                                              "select2-search--hide"
                                          ));
                            }),
                            t.on("results:focus", function (e) {
                                e.data._resultId
                                    ? s.$search.attr(
                                          "aria-activedescendant",
                                          e.data._resultId
                                      )
                                    : s.$search.removeAttr(
                                          "aria-activedescendant"
                                      );
                            });
                    }),
                    (e.prototype.handleSearch = function (e) {
                        var t;
                        this._keyUpPrevented ||
                            ((t = this.$search.val()),
                            this.trigger("query", { term: t })),
                            (this._keyUpPrevented = !1);
                    }),
                    (e.prototype.showSearch = function (e, t) {
                        return !0;
                    }),
                    e
                );
            }),
            u.define("select2/dropdown/hidePlaceholder", [], function () {
                function e(e, t, n, s) {
                    (this.placeholder = this.normalizePlaceholder(
                        n.get("placeholder")
                    )),
                        e.call(this, t, n, s);
                }
                return (
                    (e.prototype.append = function (e, t) {
                        (t.results = this.removePlaceholder(t.results)),
                            e.call(this, t);
                    }),
                    (e.prototype.normalizePlaceholder = function (e, t) {
                        return (t =
                            "string" == typeof t ? { id: "", text: t } : t);
                    }),
                    (e.prototype.removePlaceholder = function (e, t) {
                        for (
                            var n = t.slice(0), s = t.length - 1;
                            0 <= s;
                            s--
                        ) {
                            var i = t[s];
                            this.placeholder.id === i.id && n.splice(s, 1);
                        }
                        return n;
                    }),
                    e
                );
            }),
            u.define(
                "select2/dropdown/infiniteScroll",
                ["jquery"],
                function (n) {
                    function e(e, t, n, s) {
                        (this.lastParams = {}),
                            e.call(this, t, n, s),
                            (this.$loadingMore = this.createLoadingMore()),
                            (this.loading = !1);
                    }
                    return (
                        (e.prototype.append = function (e, t) {
                            this.$loadingMore.remove(),
                                (this.loading = !1),
                                e.call(this, t),
                                this.showLoadingMore(t) &&
                                    (this.$results.append(this.$loadingMore),
                                    this.loadMoreIfNeeded());
                        }),
                        (e.prototype.bind = function (e, t, n) {
                            var s = this;
                            e.call(this, t, n),
                                t.on("query", function (e) {
                                    (s.lastParams = e), (s.loading = !0);
                                }),
                                t.on("query:append", function (e) {
                                    (s.lastParams = e), (s.loading = !0);
                                }),
                                this.$results.on(
                                    "scroll",
                                    this.loadMoreIfNeeded.bind(this)
                                );
                        }),
                        (e.prototype.loadMoreIfNeeded = function () {
                            var e = n.contains(
                                document.documentElement,
                                this.$loadingMore[0]
                            );
                            !this.loading &&
                                e &&
                                ((e =
                                    this.$results.offset().top +
                                    this.$results.outerHeight(!1)),
                                this.$loadingMore.offset().top +
                                    this.$loadingMore.outerHeight(!1) <=
                                    e + 50 && this.loadMore());
                        }),
                        (e.prototype.loadMore = function () {
                            this.loading = !0;
                            var e = n.extend({}, { page: 1 }, this.lastParams);
                            e.page++, this.trigger("query:append", e);
                        }),
                        (e.prototype.showLoadingMore = function (e, t) {
                            return t.pagination && t.pagination.more;
                        }),
                        (e.prototype.createLoadingMore = function () {
                            var e = n(
                                    '<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'
                                ),
                                t = this.options
                                    .get("translations")
                                    .get("loadingMore");
                            return e.html(t(this.lastParams)), e;
                        }),
                        e
                    );
                }
            ),
            u.define(
                "select2/dropdown/attachBody",
                ["jquery", "../utils"],
                function (u, o) {
                    function e(e, t, n) {
                        (this.$dropdownParent = u(
                            n.get("dropdownParent") || document.body
                        )),
                            e.call(this, t, n);
                    }
                    return (
                        (e.prototype.bind = function (e, t, n) {
                            var s = this;
                            e.call(this, t, n),
                                t.on("open", function () {
                                    s._showDropdown(),
                                        s._attachPositioningHandler(t),
                                        s._bindContainerResultHandlers(t);
                                }),
                                t.on("close", function () {
                                    s._hideDropdown(),
                                        s._detachPositioningHandler(t);
                                }),
                                this.$dropdownContainer.on(
                                    "mousedown",
                                    function (e) {
                                        e.stopPropagation();
                                    }
                                );
                        }),
                        (e.prototype.destroy = function (e) {
                            e.call(this), this.$dropdownContainer.remove();
                        }),
                        (e.prototype.position = function (e, t, n) {
                            t.attr("class", n.attr("class")),
                                t[0].classList.remove("select2"),
                                t[0].classList.add("select2-container--open"),
                                t.css({ position: "absolute", top: -999999 }),
                                (this.$container = n);
                        }),
                        (e.prototype.render = function (e) {
                            var t = u("<span></span>"),
                                e = e.call(this);
                            return t.append(e), (this.$dropdownContainer = t);
                        }),
                        (e.prototype._hideDropdown = function (e) {
                            this.$dropdownContainer.detach();
                        }),
                        (e.prototype._bindContainerResultHandlers = function (
                            e,
                            t
                        ) {
                            var n;
                            this._containerResultsHandlersBound ||
                                ((n = this),
                                t.on("results:all", function () {
                                    n._positionDropdown(), n._resizeDropdown();
                                }),
                                t.on("results:append", function () {
                                    n._positionDropdown(), n._resizeDropdown();
                                }),
                                t.on("results:message", function () {
                                    n._positionDropdown(), n._resizeDropdown();
                                }),
                                t.on("select", function () {
                                    n._positionDropdown(), n._resizeDropdown();
                                }),
                                t.on("unselect", function () {
                                    n._positionDropdown(), n._resizeDropdown();
                                }),
                                (this._containerResultsHandlersBound = !0));
                        }),
                        (e.prototype._attachPositioningHandler = function (
                            e,
                            t
                        ) {
                            var n = this,
                                s = "scroll.select2." + t.id,
                                i = "resize.select2." + t.id,
                                r = "orientationchange.select2." + t.id,
                                t = this.$container
                                    .parents()
                                    .filter(o.hasScroll);
                            t.each(function () {
                                o.StoreData(this, "select2-scroll-position", {
                                    x: u(this).scrollLeft(),
                                    y: u(this).scrollTop(),
                                });
                            }),
                                t.on(s, function (e) {
                                    var t = o.GetData(
                                        this,
                                        "select2-scroll-position"
                                    );
                                    u(this).scrollTop(t.y);
                                }),
                                u(window).on(
                                    s + " " + i + " " + r,
                                    function (e) {
                                        n._positionDropdown(),
                                            n._resizeDropdown();
                                    }
                                );
                        }),
                        (e.prototype._detachPositioningHandler = function (
                            e,
                            t
                        ) {
                            var n = "scroll.select2." + t.id,
                                s = "resize.select2." + t.id,
                                t = "orientationchange.select2." + t.id;
                            this.$container
                                .parents()
                                .filter(o.hasScroll)
                                .off(n),
                                u(window).off(n + " " + s + " " + t);
                        }),
                        (e.prototype._positionDropdown = function () {
                            var e = u(window),
                                t = this.$dropdown[0].classList.contains(
                                    "select2-dropdown--above"
                                ),
                                n = this.$dropdown[0].classList.contains(
                                    "select2-dropdown--below"
                                ),
                                s = null,
                                i = this.$container.offset();
                            i.bottom = i.top + this.$container.outerHeight(!1);
                            var r = { height: this.$container.outerHeight(!1) };
                            (r.top = i.top), (r.bottom = i.top + r.height);
                            var o = this.$dropdown.outerHeight(!1),
                                a = e.scrollTop(),
                                l = e.scrollTop() + e.height(),
                                c = a < i.top - o,
                                e = l > i.bottom + o,
                                a = { left: i.left, top: r.bottom },
                                l = this.$dropdownParent;
                            "static" === l.css("position") &&
                                (l = l.offsetParent());
                            i = { top: 0, left: 0 };
                            (u.contains(document.body, l[0]) ||
                                l[0].isConnected) &&
                                (i = l.offset()),
                                (a.top -= i.top),
                                (a.left -= i.left),
                                t || n || (s = "below"),
                                e || !c || t
                                    ? !c && e && t && (s = "below")
                                    : (s = "above"),
                                ("above" == s || (t && "below" !== s)) &&
                                    (a.top = r.top - i.top - o),
                                null != s &&
                                    (this.$dropdown[0].classList.remove(
                                        "select2-dropdown--below"
                                    ),
                                    this.$dropdown[0].classList.remove(
                                        "select2-dropdown--above"
                                    ),
                                    this.$dropdown[0].classList.add(
                                        "select2-dropdown--" + s
                                    ),
                                    this.$container[0].classList.remove(
                                        "select2-container--below"
                                    ),
                                    this.$container[0].classList.remove(
                                        "select2-container--above"
                                    ),
                                    this.$container[0].classList.add(
                                        "select2-container--" + s
                                    )),
                                this.$dropdownContainer.css(a);
                        }),
                        (e.prototype._resizeDropdown = function () {
                            var e = {
                                width: this.$container.outerWidth(!1) + "px",
                            };
                            this.options.get("dropdownAutoWidth") &&
                                ((e.minWidth = e.width),
                                (e.position = "relative"),
                                (e.width = "auto")),
                                this.$dropdown.css(e);
                        }),
                        (e.prototype._showDropdown = function (e) {
                            this.$dropdownContainer.appendTo(
                                this.$dropdownParent
                            ),
                                this._positionDropdown(),
                                this._resizeDropdown();
                        }),
                        e
                    );
                }
            ),
            u.define(
                "select2/dropdown/minimumResultsForSearch",
                [],
                function () {
                    function e(e, t, n, s) {
                        (this.minimumResultsForSearch = n.get(
                            "minimumResultsForSearch"
                        )),
                            this.minimumResultsForSearch < 0 &&
                                (this.minimumResultsForSearch = 1 / 0),
                            e.call(this, t, n, s);
                    }
                    return (
                        (e.prototype.showSearch = function (e, t) {
                            return (
                                !(
                                    (function e(t) {
                                        for (
                                            var n = 0, s = 0;
                                            s < t.length;
                                            s++
                                        ) {
                                            var i = t[s];
                                            i.children
                                                ? (n += e(i.children))
                                                : n++;
                                        }
                                        return n;
                                    })(t.data.results) <
                                    this.minimumResultsForSearch
                                ) && e.call(this, t)
                            );
                        }),
                        e
                    );
                }
            ),
            u.define(
                "select2/dropdown/selectOnClose",
                ["../utils"],
                function (s) {
                    function e() {}
                    return (
                        (e.prototype.bind = function (e, t, n) {
                            var s = this;
                            e.call(this, t, n),
                                t.on("close", function (e) {
                                    s._handleSelectOnClose(e);
                                });
                        }),
                        (e.prototype._handleSelectOnClose = function (e, t) {
                            if (t && null != t.originalSelect2Event) {
                                var n = t.originalSelect2Event;
                                if (
                                    "select" === n._type ||
                                    "unselect" === n._type
                                )
                                    return;
                            }
                            n = this.getHighlightedResults();
                            n.length < 1 ||
                                (null !=
                                    (n = s.GetData(n[0], "data")).element &&
                                    n.element.selected) ||
                                (null == n.element && n.selected) ||
                                this.trigger("select", { data: n });
                        }),
                        e
                    );
                }
            ),
            u.define("select2/dropdown/closeOnSelect", [], function () {
                function e() {}
                return (
                    (e.prototype.bind = function (e, t, n) {
                        var s = this;
                        e.call(this, t, n),
                            t.on("select", function (e) {
                                s._selectTriggered(e);
                            }),
                            t.on("unselect", function (e) {
                                s._selectTriggered(e);
                            });
                    }),
                    (e.prototype._selectTriggered = function (e, t) {
                        var n = t.originalEvent;
                        (n && (n.ctrlKey || n.metaKey)) ||
                            this.trigger("close", {
                                originalEvent: n,
                                originalSelect2Event: t,
                            });
                    }),
                    e
                );
            }),
            u.define(
                "select2/dropdown/dropdownCss",
                ["../utils"],
                function (n) {
                    function e() {}
                    return (
                        (e.prototype.render = function (e) {
                            var t = e.call(this),
                                e = this.options.get("dropdownCssClass") || "";
                            return (
                                -1 !== e.indexOf(":all:") &&
                                    ((e = e.replace(":all:", "")),
                                    n.copyNonInternalCssClasses(
                                        t[0],
                                        this.$element[0]
                                    )),
                                t.addClass(e),
                                t
                            );
                        }),
                        e
                    );
                }
            ),
            u.define(
                "select2/dropdown/tagsSearchHighlight",
                ["../utils"],
                function (s) {
                    function e() {}
                    return (
                        (e.prototype.highlightFirstItem = function (e) {
                            var t = this.$results.find(
                                ".select2-results__option--selectable:not(.select2-results__option--selected)"
                            );
                            if (0 < t.length) {
                                var n = t.first(),
                                    t = s.GetData(n[0], "data").element;
                                if (
                                    t &&
                                    t.getAttribute &&
                                    "true" ===
                                        t.getAttribute("data-select2-tag")
                                )
                                    return void n.trigger("mouseenter");
                            }
                            e.call(this);
                        }),
                        e
                    );
                }
            ),
            u.define("select2/i18n/en", [], function () {
                return {
                    errorLoading: function () {
                        return "The results could not be loaded.";
                    },
                    inputTooLong: function (e) {
                        var t = e.input.length - e.maximum,
                            e = "Please delete " + t + " character";
                        return 1 != t && (e += "s"), e;
                    },
                    inputTooShort: function (e) {
                        return (
                            "Please enter " +
                            (e.minimum - e.input.length) +
                            " or more characters"
                        );
                    },
                    loadingMore: function () {
                        return "Loading more results…";
                    },
                    maximumSelected: function (e) {
                        var t = "You can only select " + e.maximum + " item";
                        return 1 != e.maximum && (t += "s"), t;
                    },
                    noResults: function () {
                        return "No results found";
                    },
                    searching: function () {
                        return "Searching…";
                    },
                    removeAllItems: function () {
                        return "Remove all items";
                    },
                    removeItem: function () {
                        return "Remove item";
                    },
                    search: function () {
                        return "Search";
                    },
                };
            }),
            u.define(
                "select2/defaults",
                [
                    "jquery",
                    "./results",
                    "./selection/single",
                    "./selection/multiple",
                    "./selection/placeholder",
                    "./selection/allowClear",
                    "./selection/search",
                    "./selection/selectionCss",
                    "./selection/eventRelay",
                    "./utils",
                    "./translation",
                    "./diacritics",
                    "./data/select",
                    "./data/array",
                    "./data/ajax",
                    "./data/tags",
                    "./data/tokenizer",
                    "./data/minimumInputLength",
                    "./data/maximumInputLength",
                    "./data/maximumSelectionLength",
                    "./dropdown",
                    "./dropdown/search",
                    "./dropdown/hidePlaceholder",
                    "./dropdown/infiniteScroll",
                    "./dropdown/attachBody",
                    "./dropdown/minimumResultsForSearch",
                    "./dropdown/selectOnClose",
                    "./dropdown/closeOnSelect",
                    "./dropdown/dropdownCss",
                    "./dropdown/tagsSearchHighlight",
                    "./i18n/en",
                ],
                function (
                    l,
                    r,
                    o,
                    a,
                    c,
                    u,
                    d,
                    p,
                    h,
                    f,
                    g,
                    t,
                    m,
                    y,
                    v,
                    _,
                    b,
                    $,
                    w,
                    x,
                    A,
                    D,
                    S,
                    E,
                    O,
                    C,
                    L,
                    T,
                    q,
                    I,
                    e
                ) {
                    function n() {
                        this.reset();
                    }
                    return (
                        (n.prototype.apply = function (e) {
                            var t;
                            null ==
                                (e = l.extend(!0, {}, this.defaults, e))
                                    .dataAdapter &&
                                (null != e.ajax
                                    ? (e.dataAdapter = v)
                                    : null != e.data
                                    ? (e.dataAdapter = y)
                                    : (e.dataAdapter = m),
                                0 < e.minimumInputLength &&
                                    (e.dataAdapter = f.Decorate(
                                        e.dataAdapter,
                                        $
                                    )),
                                0 < e.maximumInputLength &&
                                    (e.dataAdapter = f.Decorate(
                                        e.dataAdapter,
                                        w
                                    )),
                                0 < e.maximumSelectionLength &&
                                    (e.dataAdapter = f.Decorate(
                                        e.dataAdapter,
                                        x
                                    )),
                                e.tags &&
                                    (e.dataAdapter = f.Decorate(
                                        e.dataAdapter,
                                        _
                                    )),
                                (null == e.tokenSeparators &&
                                    null == e.tokenizer) ||
                                    (e.dataAdapter = f.Decorate(
                                        e.dataAdapter,
                                        b
                                    ))),
                                null == e.resultsAdapter &&
                                    ((e.resultsAdapter = r),
                                    null != e.ajax &&
                                        (e.resultsAdapter = f.Decorate(
                                            e.resultsAdapter,
                                            E
                                        )),
                                    null != e.placeholder &&
                                        (e.resultsAdapter = f.Decorate(
                                            e.resultsAdapter,
                                            S
                                        )),
                                    e.selectOnClose &&
                                        (e.resultsAdapter = f.Decorate(
                                            e.resultsAdapter,
                                            L
                                        )),
                                    e.tags &&
                                        (e.resultsAdapter = f.Decorate(
                                            e.resultsAdapter,
                                            I
                                        ))),
                                null == e.dropdownAdapter &&
                                    (e.multiple
                                        ? (e.dropdownAdapter = A)
                                        : ((t = f.Decorate(A, D)),
                                          (e.dropdownAdapter = t)),
                                    0 !== e.minimumResultsForSearch &&
                                        (e.dropdownAdapter = f.Decorate(
                                            e.dropdownAdapter,
                                            C
                                        )),
                                    e.closeOnSelect &&
                                        (e.dropdownAdapter = f.Decorate(
                                            e.dropdownAdapter,
                                            T
                                        )),
                                    null != e.dropdownCssClass &&
                                        (e.dropdownAdapter = f.Decorate(
                                            e.dropdownAdapter,
                                            q
                                        )),
                                    (e.dropdownAdapter = f.Decorate(
                                        e.dropdownAdapter,
                                        O
                                    ))),
                                null == e.selectionAdapter &&
                                    (e.multiple
                                        ? (e.selectionAdapter = a)
                                        : (e.selectionAdapter = o),
                                    null != e.placeholder &&
                                        (e.selectionAdapter = f.Decorate(
                                            e.selectionAdapter,
                                            c
                                        )),
                                    e.allowClear &&
                                        (e.selectionAdapter = f.Decorate(
                                            e.selectionAdapter,
                                            u
                                        )),
                                    e.multiple &&
                                        (e.selectionAdapter = f.Decorate(
                                            e.selectionAdapter,
                                            d
                                        )),
                                    null != e.selectionCssClass &&
                                        (e.selectionAdapter = f.Decorate(
                                            e.selectionAdapter,
                                            p
                                        )),
                                    (e.selectionAdapter = f.Decorate(
                                        e.selectionAdapter,
                                        h
                                    ))),
                                (e.language = this._resolveLanguage(
                                    e.language
                                )),
                                e.language.push("en");
                            for (
                                var n = [], s = 0;
                                s < e.language.length;
                                s++
                            ) {
                                var i = e.language[s];
                                -1 === n.indexOf(i) && n.push(i);
                            }
                            return (
                                (e.language = n),
                                (e.translations = this._processTranslations(
                                    e.language,
                                    e.debug
                                )),
                                e
                            );
                        }),
                        (n.prototype.reset = function () {
                            function a(e) {
                                return e.replace(
                                    /[^\u0000-\u007E]/g,
                                    function (e) {
                                        return t[e] || e;
                                    }
                                );
                            }
                            this.defaults = {
                                amdLanguageBase: "./i18n/",
                                autocomplete: "off",
                                closeOnSelect: !0,
                                debug: !1,
                                dropdownAutoWidth: !1,
                                escapeMarkup: f.escapeMarkup,
                                language: {},
                                matcher: function e(t, n) {
                                    if (null == t.term || "" === t.term.trim())
                                        return n;
                                    if (n.children && 0 < n.children.length) {
                                        for (
                                            var s = l.extend(!0, {}, n),
                                                i = n.children.length - 1;
                                            0 <= i;
                                            i--
                                        )
                                            null == e(t, n.children[i]) &&
                                                s.children.splice(i, 1);
                                        return 0 < s.children.length
                                            ? s
                                            : e(t, s);
                                    }
                                    var r = a(n.text).toUpperCase(),
                                        o = a(t.term).toUpperCase();
                                    return -1 < r.indexOf(o) ? n : null;
                                },
                                minimumInputLength: 0,
                                maximumInputLength: 0,
                                maximumSelectionLength: 0,
                                minimumResultsForSearch: 0,
                                selectOnClose: !1,
                                scrollAfterSelect: !1,
                                sorter: function (e) {
                                    return e;
                                },
                                templateResult: function (e) {
                                    return e.text;
                                },
                                templateSelection: function (e) {
                                    return e.text;
                                },
                                theme: "default",
                                width: "resolve",
                            };
                        }),
                        (n.prototype.applyFromElement = function (e, t) {
                            var n = e.language,
                                s = this.defaults.language,
                                i = t.prop("lang"),
                                t = t.closest("[lang]").prop("lang"),
                                t = Array.prototype.concat.call(
                                    this._resolveLanguage(i),
                                    this._resolveLanguage(n),
                                    this._resolveLanguage(s),
                                    this._resolveLanguage(t)
                                );
                            return (e.language = t), e;
                        }),
                        (n.prototype._resolveLanguage = function (e) {
                            if (!e) return [];
                            if (l.isEmptyObject(e)) return [];
                            if (l.isPlainObject(e)) return [e];
                            for (
                                var t,
                                    n = Array.isArray(e) ? e : [e],
                                    s = [],
                                    i = 0;
                                i < n.length;
                                i++
                            )
                                s.push(n[i]),
                                    "string" == typeof n[i] &&
                                        0 < n[i].indexOf("-") &&
                                        ((t = n[i].split("-")[0]), s.push(t));
                            return s;
                        }),
                        (n.prototype._processTranslations = function (e, t) {
                            for (var n = new g(), s = 0; s < e.length; s++) {
                                var i = new g(),
                                    r = e[s];
                                if ("string" == typeof r)
                                    try {
                                        i = g.loadPath(r);
                                    } catch (e) {
                                        try {
                                            (r =
                                                this.defaults.amdLanguageBase +
                                                r),
                                                (i = g.loadPath(r));
                                        } catch (e) {
                                            t &&
                                                window.console &&
                                                console.warn &&
                                                console.warn(
                                                    'Select2: The language file for "' +
                                                        r +
                                                        '" could not be automatically loaded. A fallback will be used instead.'
                                                );
                                        }
                                    }
                                else i = l.isPlainObject(r) ? new g(r) : r;
                                n.extend(i);
                            }
                            return n;
                        }),
                        (n.prototype.set = function (e, t) {
                            var n = {};
                            n[l.camelCase(e)] = t;
                            n = f._convertData(n);
                            l.extend(!0, this.defaults, n);
                        }),
                        new n()
                    );
                }
            ),
            u.define(
                "select2/options",
                ["jquery", "./defaults", "./utils"],
                function (c, n, u) {
                    function e(e, t) {
                        (this.options = e),
                            null != t && this.fromElement(t),
                            null != t &&
                                (this.options = n.applyFromElement(
                                    this.options,
                                    t
                                )),
                            (this.options = n.apply(this.options));
                    }
                    return (
                        (e.prototype.fromElement = function (e) {
                            var t = ["select2"];
                            null == this.options.multiple &&
                                (this.options.multiple = e.prop("multiple")),
                                null == this.options.disabled &&
                                    (this.options.disabled =
                                        e.prop("disabled")),
                                null == this.options.autocomplete &&
                                    e.prop("autocomplete") &&
                                    (this.options.autocomplete =
                                        e.prop("autocomplete")),
                                null == this.options.dir &&
                                    (e.prop("dir")
                                        ? (this.options.dir = e.prop("dir"))
                                        : e.closest("[dir]").prop("dir")
                                        ? (this.options.dir = e
                                              .closest("[dir]")
                                              .prop("dir"))
                                        : (this.options.dir = "ltr")),
                                e.prop("disabled", this.options.disabled),
                                e.prop("multiple", this.options.multiple),
                                u.GetData(e[0], "select2Tags") &&
                                    (this.options.debug &&
                                        window.console &&
                                        console.warn &&
                                        console.warn(
                                            'Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'
                                        ),
                                    u.StoreData(
                                        e[0],
                                        "data",
                                        u.GetData(e[0], "select2Tags")
                                    ),
                                    u.StoreData(e[0], "tags", !0)),
                                u.GetData(e[0], "ajaxUrl") &&
                                    (this.options.debug &&
                                        window.console &&
                                        console.warn &&
                                        console.warn(
                                            "Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."
                                        ),
                                    e.attr(
                                        "ajax--url",
                                        u.GetData(e[0], "ajaxUrl")
                                    ),
                                    u.StoreData(
                                        e[0],
                                        "ajax-Url",
                                        u.GetData(e[0], "ajaxUrl")
                                    ));
                            var n = {};
                            function s(e, t) {
                                return t.toUpperCase();
                            }
                            for (var i = 0; i < e[0].attributes.length; i++) {
                                var r = e[0].attributes[i].name,
                                    o = "data-";
                                r.substr(0, o.length) == o &&
                                    ((r = r.substring(o.length)),
                                    (o = u.GetData(e[0], r)),
                                    (n[r.replace(/-([a-z])/g, s)] = o));
                            }
                            c.fn.jquery &&
                                "1." == c.fn.jquery.substr(0, 2) &&
                                e[0].dataset &&
                                (n = c.extend(!0, {}, e[0].dataset, n));
                            var a,
                                l = c.extend(!0, {}, u.GetData(e[0]), n);
                            for (a in (l = u._convertData(l)))
                                -1 < t.indexOf(a) ||
                                    (c.isPlainObject(this.options[a])
                                        ? c.extend(this.options[a], l[a])
                                        : (this.options[a] = l[a]));
                            return this;
                        }),
                        (e.prototype.get = function (e) {
                            return this.options[e];
                        }),
                        (e.prototype.set = function (e, t) {
                            this.options[e] = t;
                        }),
                        e
                    );
                }
            ),
            u.define(
                "select2/core",
                ["jquery", "./options", "./utils", "./keys"],
                function (t, i, r, s) {
                    var o = function (e, t) {
                        null != r.GetData(e[0], "select2") &&
                            r.GetData(e[0], "select2").destroy(),
                            (this.$element = e),
                            (this.id = this._generateId(e)),
                            (t = t || {}),
                            (this.options = new i(t, e)),
                            o.__super__.constructor.call(this);
                        var n = e.attr("tabindex") || 0;
                        r.StoreData(e[0], "old-tabindex", n),
                            e.attr("tabindex", "-1");
                        t = this.options.get("dataAdapter");
                        this.dataAdapter = new t(e, this.options);
                        n = this.render();
                        this._placeContainer(n);
                        t = this.options.get("selectionAdapter");
                        (this.selection = new t(e, this.options)),
                            (this.$selection = this.selection.render()),
                            this.selection.position(this.$selection, n);
                        t = this.options.get("dropdownAdapter");
                        (this.dropdown = new t(e, this.options)),
                            (this.$dropdown = this.dropdown.render()),
                            this.dropdown.position(this.$dropdown, n);
                        n = this.options.get("resultsAdapter");
                        (this.results = new n(
                            e,
                            this.options,
                            this.dataAdapter
                        )),
                            (this.$results = this.results.render()),
                            this.results.position(
                                this.$results,
                                this.$dropdown
                            );
                        var s = this;
                        this._bindAdapters(),
                            this._registerDomEvents(),
                            this._registerDataEvents(),
                            this._registerSelectionEvents(),
                            this._registerDropdownEvents(),
                            this._registerResultsEvents(),
                            this._registerEvents(),
                            this.dataAdapter.current(function (e) {
                                s.trigger("selection:update", { data: e });
                            }),
                            e[0].classList.add("select2-hidden-accessible"),
                            e.attr("aria-hidden", "true"),
                            this._syncAttributes(),
                            r.StoreData(e[0], "select2", this),
                            e.data("select2", this);
                    };
                    return (
                        r.Extend(o, r.Observable),
                        (o.prototype._generateId = function (e) {
                            return (
                                "select2-" +
                                (null != e.attr("id")
                                    ? e.attr("id")
                                    : null != e.attr("name")
                                    ? e.attr("name") + "-" + r.generateChars(2)
                                    : r.generateChars(4)
                                ).replace(/(:|\.|\[|\]|,)/g, "")
                            );
                        }),
                        (o.prototype._placeContainer = function (e) {
                            e.insertAfter(this.$element);
                            var t = this._resolveWidth(
                                this.$element,
                                this.options.get("width")
                            );
                            null != t && e.css("width", t);
                        }),
                        (o.prototype._resolveWidth = function (e, t) {
                            var n =
                                /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
                            if ("resolve" == t) {
                                var s = this._resolveWidth(e, "style");
                                return null != s
                                    ? s
                                    : this._resolveWidth(e, "element");
                            }
                            if ("element" == t) {
                                s = e.outerWidth(!1);
                                return s <= 0 ? "auto" : s + "px";
                            }
                            if ("style" != t)
                                return "computedstyle" != t
                                    ? t
                                    : window.getComputedStyle(e[0]).width;
                            e = e.attr("style");
                            if ("string" != typeof e) return null;
                            for (
                                var i = e.split(";"), r = 0, o = i.length;
                                r < o;
                                r += 1
                            ) {
                                var a = i[r].replace(/\s/g, "").match(n);
                                if (null !== a && 1 <= a.length) return a[1];
                            }
                            return null;
                        }),
                        (o.prototype._bindAdapters = function () {
                            this.dataAdapter.bind(this, this.$container),
                                this.selection.bind(this, this.$container),
                                this.dropdown.bind(this, this.$container),
                                this.results.bind(this, this.$container);
                        }),
                        (o.prototype._registerDomEvents = function () {
                            var t = this;
                            this.$element.on("change.select2", function () {
                                t.dataAdapter.current(function (e) {
                                    t.trigger("selection:update", { data: e });
                                });
                            }),
                                this.$element.on("focus.select2", function (e) {
                                    t.trigger("focus", e);
                                }),
                                (this._syncA = r.bind(
                                    this._syncAttributes,
                                    this
                                )),
                                (this._syncS = r.bind(this._syncSubtree, this)),
                                (this._observer = new window.MutationObserver(
                                    function (e) {
                                        t._syncA(), t._syncS(e);
                                    }
                                )),
                                this._observer.observe(this.$element[0], {
                                    attributes: !0,
                                    childList: !0,
                                    subtree: !1,
                                });
                        }),
                        (o.prototype._registerDataEvents = function () {
                            var n = this;
                            this.dataAdapter.on("*", function (e, t) {
                                n.trigger(e, t);
                            });
                        }),
                        (o.prototype._registerSelectionEvents = function () {
                            var n = this,
                                s = ["toggle", "focus"];
                            this.selection.on("toggle", function () {
                                n.toggleDropdown();
                            }),
                                this.selection.on("focus", function (e) {
                                    n.focus(e);
                                }),
                                this.selection.on("*", function (e, t) {
                                    -1 === s.indexOf(e) && n.trigger(e, t);
                                });
                        }),
                        (o.prototype._registerDropdownEvents = function () {
                            var n = this;
                            this.dropdown.on("*", function (e, t) {
                                n.trigger(e, t);
                            });
                        }),
                        (o.prototype._registerResultsEvents = function () {
                            var n = this;
                            this.results.on("*", function (e, t) {
                                n.trigger(e, t);
                            });
                        }),
                        (o.prototype._registerEvents = function () {
                            var n = this;
                            this.on("open", function () {
                                n.$container[0].classList.add(
                                    "select2-container--open"
                                );
                            }),
                                this.on("close", function () {
                                    n.$container[0].classList.remove(
                                        "select2-container--open"
                                    );
                                }),
                                this.on("enable", function () {
                                    n.$container[0].classList.remove(
                                        "select2-container--disabled"
                                    );
                                }),
                                this.on("disable", function () {
                                    n.$container[0].classList.add(
                                        "select2-container--disabled"
                                    );
                                }),
                                this.on("blur", function () {
                                    n.$container[0].classList.remove(
                                        "select2-container--focus"
                                    );
                                }),
                                this.on("query", function (t) {
                                    n.isOpen() || n.trigger("open", {}),
                                        this.dataAdapter.query(t, function (e) {
                                            n.trigger("results:all", {
                                                data: e,
                                                query: t,
                                            });
                                        });
                                }),
                                this.on("query:append", function (t) {
                                    this.dataAdapter.query(t, function (e) {
                                        n.trigger("results:append", {
                                            data: e,
                                            query: t,
                                        });
                                    });
                                }),
                                this.on("keypress", function (e) {
                                    var t = e.which;
                                    n.isOpen()
                                        ? t === s.ESC ||
                                          (t === s.UP && e.altKey)
                                            ? (n.close(e), e.preventDefault())
                                            : t === s.ENTER || t === s.TAB
                                            ? (n.trigger("results:select", {}),
                                              e.preventDefault())
                                            : t === s.SPACE && e.ctrlKey
                                            ? (n.trigger("results:toggle", {}),
                                              e.preventDefault())
                                            : t === s.UP
                                            ? (n.trigger(
                                                  "results:previous",
                                                  {}
                                              ),
                                              e.preventDefault())
                                            : t === s.DOWN &&
                                              (n.trigger("results:next", {}),
                                              e.preventDefault())
                                        : (t === s.ENTER ||
                                              t === s.SPACE ||
                                              (t === s.DOWN && e.altKey)) &&
                                          (n.open(), e.preventDefault());
                                });
                        }),
                        (o.prototype._syncAttributes = function () {
                            this.options.set(
                                "disabled",
                                this.$element.prop("disabled")
                            ),
                                this.isDisabled()
                                    ? (this.isOpen() && this.close(),
                                      this.trigger("disable", {}))
                                    : this.trigger("enable", {});
                        }),
                        (o.prototype._isChangeMutation = function (e) {
                            var t = this;
                            if (e.addedNodes && 0 < e.addedNodes.length) {
                                for (var n = 0; n < e.addedNodes.length; n++)
                                    if (e.addedNodes[n].selected) return !0;
                            } else {
                                if (e.removedNodes && 0 < e.removedNodes.length)
                                    return !0;
                                if (Array.isArray(e))
                                    return e.some(function (e) {
                                        return t._isChangeMutation(e);
                                    });
                            }
                            return !1;
                        }),
                        (o.prototype._syncSubtree = function (e) {
                            var e = this._isChangeMutation(e),
                                t = this;
                            e &&
                                this.dataAdapter.current(function (e) {
                                    t.trigger("selection:update", { data: e });
                                });
                        }),
                        (o.prototype.trigger = function (e, t) {
                            var n = o.__super__.trigger,
                                s = {
                                    open: "opening",
                                    close: "closing",
                                    select: "selecting",
                                    unselect: "unselecting",
                                    clear: "clearing",
                                };
                            if ((void 0 === t && (t = {}), e in s)) {
                                var i = s[e],
                                    s = { prevented: !1, name: e, args: t };
                                if ((n.call(this, i, s), s.prevented))
                                    return void (t.prevented = !0);
                            }
                            n.call(this, e, t);
                        }),
                        (o.prototype.toggleDropdown = function () {
                            this.isDisabled() ||
                                (this.isOpen() ? this.close() : this.open());
                        }),
                        (o.prototype.open = function () {
                            this.isOpen() ||
                                this.isDisabled() ||
                                this.trigger("query", {});
                        }),
                        (o.prototype.close = function (e) {
                            this.isOpen() &&
                                this.trigger("close", { originalEvent: e });
                        }),
                        (o.prototype.isEnabled = function () {
                            return !this.isDisabled();
                        }),
                        (o.prototype.isDisabled = function () {
                            return this.options.get("disabled");
                        }),
                        (o.prototype.isOpen = function () {
                            return this.$container[0].classList.contains(
                                "select2-container--open"
                            );
                        }),
                        (o.prototype.hasFocus = function () {
                            return this.$container[0].classList.contains(
                                "select2-container--focus"
                            );
                        }),
                        (o.prototype.focus = function (e) {
                            this.hasFocus() ||
                                (this.$container[0].classList.add(
                                    "select2-container--focus"
                                ),
                                this.trigger("focus", {}));
                        }),
                        (o.prototype.enable = function (e) {
                            this.options.get("debug") &&
                                window.console &&
                                console.warn &&
                                console.warn(
                                    'Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'
                                );
                            e = !(e =
                                null == e || 0 === e.length ? [!0] : e)[0];
                            this.$element.prop("disabled", e);
                        }),
                        (o.prototype.data = function () {
                            this.options.get("debug") &&
                                0 < arguments.length &&
                                window.console &&
                                console.warn &&
                                console.warn(
                                    'Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.'
                                );
                            var t = [];
                            return (
                                this.dataAdapter.current(function (e) {
                                    t = e;
                                }),
                                t
                            );
                        }),
                        (o.prototype.val = function (e) {
                            if (
                                (this.options.get("debug") &&
                                    window.console &&
                                    console.warn &&
                                    console.warn(
                                        'Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'
                                    ),
                                null == e || 0 === e.length)
                            )
                                return this.$element.val();
                            e = e[0];
                            Array.isArray(e) &&
                                (e = e.map(function (e) {
                                    return e.toString();
                                })),
                                this.$element
                                    .val(e)
                                    .trigger("input")
                                    .trigger("change");
                        }),
                        (o.prototype.destroy = function () {
                            r.RemoveData(this.$container[0]),
                                this.$container.remove(),
                                this._observer.disconnect(),
                                (this._observer = null),
                                (this._syncA = null),
                                (this._syncS = null),
                                this.$element.off(".select2"),
                                this.$element.attr(
                                    "tabindex",
                                    r.GetData(this.$element[0], "old-tabindex")
                                ),
                                this.$element[0].classList.remove(
                                    "select2-hidden-accessible"
                                ),
                                this.$element.attr("aria-hidden", "false"),
                                r.RemoveData(this.$element[0]),
                                this.$element.removeData("select2"),
                                this.dataAdapter.destroy(),
                                this.selection.destroy(),
                                this.dropdown.destroy(),
                                this.results.destroy(),
                                (this.dataAdapter = null),
                                (this.selection = null),
                                (this.dropdown = null),
                                (this.results = null);
                        }),
                        (o.prototype.render = function () {
                            var e = t(
                                '<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>'
                            );
                            return (
                                e.attr("dir", this.options.get("dir")),
                                (this.$container = e),
                                this.$container[0].classList.add(
                                    "select2-container--" +
                                        this.options.get("theme")
                                ),
                                r.StoreData(e[0], "element", this.$element),
                                e
                            );
                        }),
                        o
                    );
                }
            ),
            u.define("jquery-mousewheel", ["jquery"], function (e) {
                return e;
            }),
            u.define(
                "jquery.select2",
                [
                    "jquery",
                    "jquery-mousewheel",
                    "./select2/core",
                    "./select2/defaults",
                    "./select2/utils",
                ],
                function (i, e, r, t, o) {
                    var a;
                    return (
                        null == i.fn.select2 &&
                            ((a = ["open", "close", "destroy"]),
                            (i.fn.select2 = function (t) {
                                if ("object" == typeof (t = t || {}))
                                    return (
                                        this.each(function () {
                                            var e = i.extend(!0, {}, t);
                                            new r(i(this), e);
                                        }),
                                        this
                                    );
                                if ("string" != typeof t)
                                    throw new Error(
                                        "Invalid arguments for Select2: " + t
                                    );
                                var n,
                                    s = Array.prototype.slice.call(
                                        arguments,
                                        1
                                    );
                                return (
                                    this.each(function () {
                                        var e = o.GetData(this, "select2");
                                        null == e &&
                                            window.console &&
                                            console.error &&
                                            console.error(
                                                "The select2('" +
                                                    t +
                                                    "') method was called on an element that is not using Select2."
                                            ),
                                            (n = e[t].apply(e, s));
                                    }),
                                    -1 < a.indexOf(t) ? this : n
                                );
                            })),
                        null == i.fn.select2.defaults &&
                            (i.fn.select2.defaults = t),
                        r
                    );
                }
            ),
            { define: u.define, require: u.require });
    function b(e, t) {
        return i.call(e, t);
    }
    function l(e, t) {
        var n,
            s,
            i,
            r,
            o,
            a,
            l,
            c,
            u,
            d,
            p = t && t.split("/"),
            h = y.map,
            f = (h && h["*"]) || {};
        if (e) {
            for (
                t = (e = e.split("/")).length - 1,
                    y.nodeIdCompat &&
                        _.test(e[t]) &&
                        (e[t] = e[t].replace(_, "")),
                    "." === e[0].charAt(0) &&
                        p &&
                        (e = p.slice(0, p.length - 1).concat(e)),
                    c = 0;
                c < e.length;
                c++
            )
                "." === (d = e[c])
                    ? (e.splice(c, 1), --c)
                    : ".." === d &&
                      (0 === c ||
                          (1 === c && ".." === e[2]) ||
                          ".." === e[c - 1] ||
                          (0 < c && (e.splice(c - 1, 2), (c -= 2))));
            e = e.join("/");
        }
        if ((p || f) && h) {
            for (c = (n = e.split("/")).length; 0 < c; --c) {
                if (((s = n.slice(0, c).join("/")), p))
                    for (u = p.length; 0 < u; --u)
                        if (
                            ((i = h[p.slice(0, u).join("/")]), (i = i && i[s]))
                        ) {
                            (r = i), (o = c);
                            break;
                        }
                if (r) break;
                !a && f && f[s] && ((a = f[s]), (l = c));
            }
            !r && a && ((r = a), (o = l)),
                r && (n.splice(0, o, r), (e = n.join("/")));
        }
        return e;
    }
    function w(t, n) {
        return function () {
            var e = a.call(arguments, 0);
            return (
                "string" != typeof e[0] && 1 === e.length && e.push(null),
                o.apply(p, e.concat([t, n]))
            );
        };
    }
    function x(e) {
        var t;
        if (
            (b(m, e) && ((t = m[e]), delete m[e], (v[e] = !0), r.apply(p, t)),
            !b(g, e) && !b(v, e))
        )
            throw new Error("No " + e);
        return g[e];
    }
    function c(e) {
        var t,
            n = e ? e.indexOf("!") : -1;
        return (
            -1 < n &&
                ((t = e.substring(0, n)), (e = e.substring(n + 1, e.length))),
            [t, e]
        );
    }
    function A(e) {
        return e ? c(e) : [];
    }
    var u = s.require("jquery.select2");
    return (t.fn.select2.amd = s), u;
});
