PageSourceSearch

https://sumenepkab.go.id/assets/theme2/js/bootstrap.min.js

js sumenepkab.go.id collected 2026-10-02 06:28:24 UTC 93,064 bytes, 1,589 lines download raw bytes

vendor: 91,713 bytes, lines 1-1566
1/*!
2 * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
3 * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 */
6var bootstrap = function(t, e, n) {
7    "use strict";
8
9    function i(t, e) {
10        for (var n = 0; n < e.length; n++) {
11            var i = e[n];
12            i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
13        }
14    }
15    e = e && e.hasOwnProperty("default") ? e.default : e, n = n && n.hasOwnProperty("default") ? n.default : n;
16    var s = function() {
17            function t(t) {
18                return {}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
19            }
20
21            function n() {
22                return {
23                    bindType: r.end,
24                    delegateType: r.end,
25                    handle: function(t) {
26                        if (e(t.target).is(this)) return t.handleObj.handler.apply(this, arguments)
27                    }
28                }
29            }
30
31            function i() {
32                if (window.QUnit) return !1;
33                var t = document.createElement("bootstrap");
34                for (var e in o)
35                    if ("undefined" != typeof t.style[e]) return {
36                        end: o[e]
37                    };
38                return !1
39            }
40
41            function s(t) {
42                var n = this,
43                    i = !1;
44                return e(this).one(a.TRANSITION_END, function() {
45                    i = !0
46                }), setTimeout(function() {
47                    i || a.triggerTransitionEnd(n)
48                }, t), this
49            }
50            var r = !1,
51                o = {
52                    WebkitTransition: "webkitTransitionEnd",
53                    MozTransition: "transitionend",
54                    OTransition: "oTransitionEnd otransitionend",
55                    transition: "transitionend"
56                },
57                a = {
58                    TRANSITION_END: "bsTransitionEnd",
59                    getUID: function(t) {
60                        do {
61                            t += ~~(1e6 * Math.random())
62                        } while (document.getElementById(t));
63                        return t
64                    },
65                    getSelectorFromElement: function(t) {
66                        var n = t.getAttribute("data-target");
67                        n && "#" !== n || (n = t.getAttribute("href") || "");
68                        try {
69                            return e(document).find(n).length > 0 ? n : null
70                        } catch (t) {
71                            return null
72                        }
73                    },
74                    reflow: function(t) {
75                        return t.offsetHeight
76                    },
77                    triggerTransitionEnd: function(t) {
78                        e(t).trigger(r.end)
79                    },
80                    supportsTransitionEnd: function() {
81                        return Boolean(r)
82                    },
83                    isElement: function(t) {
84                        return (t[0] || t).nodeType
85                    },
86                    typeCheckConfig: function(e, n, i) {
87                        for (var s in i)
88                            if (Object.prototype.hasOwnProperty.call(i, s)) {
89                                var r = i[s],
90                                    o = n[s],
91                                    l = o && a.isElement(o) ? "element" : t(o);
92                                if (!new RegExp(r).test(l)) throw new Error(e.toUpperCase() + ': Option "' + s + '" provided type "' + l + '" but expected type "' + r + '".')
93                            }
94                    }
95                };
96            return r = i(), e.fn.emulateTransitionEnd = s, a.supportsTransitionEnd() && (e.event.special[a.TRANSITION_END] = n()), a
97        }(),
98        r = function(t, e, n) {
99            return e && i(t.prototype, e), n && i(t, n), t
100        },
101        o = function(t, e) {
102            t.prototype = Object.create(e.prototype), t.prototype.constructor = t, t.__proto__ = e
103        },
104        a = function() {
105            var t = "alert",
106                n = e.fn[t],
107                i = {
108                    CLOSE: "close.bs.alert",
109                    CLOSED: "closed.bs.alert",
110                    CLICK_DATA_API: "click.bs.alert.data-api"
111                },
112                o = {
113                    ALERT: "alert",
114                    FADE: "fade",
115                    SHOW: "show"
116                },
117                a = function() {
118                    function t(t) {
119                        this._element = t
120                    }
121                    var n = t.prototype;
122                    return n.close = function(t) {
123                        t = t || this._element;
124                        var e = this._getRootElement(t);
125                        this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e)
126                    }, n.dispose = function() {
127                        e.removeData(this._element, "bs.alert"), this._element = null
128                    }, n._getRootElement = function(t) {
129                        var n = s.getSelectorFromElement(t),
130                            i = !1;
131                        return n && (i = e(n)[0]), i || (i = e(t).closest("." + o.ALERT)[0]), i
132                    }, n._triggerCloseEvent = function(t) {
133                        var n = e.Event(i.CLOSE);
134                        return e(t).trigger(n), n
135                    }, n._removeElement = function(t) {
136                        var n = this;
137                        e(t).removeClass(o.SHOW), s.supportsTransitionEnd() && e(t).hasClass(o.FADE) ? e(t).one(s.TRANSITION_END, function(e) {
138                            return n._destroyElement(t, e)
139                        }).emulateTransitionEnd(150) : this._destroyElement(t)
140                    }, n._destroyElement = function(t) {
141                        e(t).detach().trigger(i.CLOSED).remove()
142                    }, t._jQueryInterface = function(n) {
143                        return this.each(function() {
144                            var i = e(this),
145                                s = i.data("bs.alert");
146                            s || (s = new t(this), i.data("bs.alert", s)), "close" === n && s[n](this)
147                        })
148                    }, t._handleDismiss = function(t) {
149                        return function(e) {
150                            e && e.preventDefault(), t.close(this)
151                        }
152                    }, r(t, null, [{
153                        key: "VERSION",
154                        get: function() {
155                            return "4.0.0-beta.2"
156                        }
157                    }]), t
158                }();
159            return e(document).on(i.CLICK_DATA_API, {
160                DISMISS: '[data-dismiss="alert"]'
161            }.DISMISS, a._handleDismiss(new a)), e.fn[t] = a._jQueryInterface, e.fn[t].Constructor = a, e.fn[t].noConflict = function() {
162                return e.fn[t] = n, a._jQueryInterface
163            }, a
164        }(),
165        l = function() {
166            var t = "button",
167                n = e.fn[t],
168                i = {
169                    ACTIVE: "active",
170                    BUTTON: "btn",
171                    FOCUS: "focus"
172                },
173                s = {
174                    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
175                    DATA_TOGGLE: '[data-toggle="buttons"]',
176                    INPUT: "input",
177                    ACTIVE: ".active",
178                    BUTTON: ".btn"
179                },
180                o = {
181                    CLICK_DATA_API: "click.bs.button.data-api",
182                    FOCUS_BLUR_DATA_API: "focus.bs.button.data-api blur.bs.button.data-api"
183                },
184                a = function() {
185                    function t(t) {
186                        this._element = t
187                    }
188                    var n = t.prototype;
189                    return n.toggle = function() {
190                        var t = !0,
191                            n = !0,
192                            r = e(this._element).closest(s.DATA_TOGGLE)[0];
193                        if (r) {
194                            var o = e(this._element).find(s.INPUT)[0];
195                            if (o) {
196                                if ("radio" === o.type)
197                                    if (o.checked && e(this._element).hasClass(i.ACTIVE)) t = !1;
198                                    else {
199                                        var a = e(r).find(s.ACTIVE)[0];
200                                        a && e(a).removeClass(i.ACTIVE)
201                                    }
202                                if (t) {
203                                    if (o.hasAttribute("disabled") || r.hasAttribute("disabled") || o.classList.contains("disabled") || r.classList.contains("disabled")) return;
204                                    o.checked = !e(this._element).hasClass(i.ACTIVE), e(o).trigger("change")
205                                }
206                                o.focus(), n = !1
207                            }
208                        }
209                        n && this._element.setAttribute("aria-pressed", !e(this._element).hasClass(i.ACTIVE)), t && e(this._element).toggleClass(i.ACTIVE)
210                    }, n.dispose = function() {
211                        e.removeData(this._element, "bs.button"), this._element = null
212                    }, t._jQueryInterface = function(n) {
213                        return this.each(function() {
214                            var i = e(this).data("bs.button");
215                            i || (i = new t(this), e(this).data("bs.button", i)), "toggle" === n && i[n]()
216                        })
217                    }, r(t, null, [{
218                        key: "VERSION",
219                        get: function() {
220                            return "4.0.0-beta.2"
221                        }
222                    }]), t
223                }();
224            return e(document).on(o.CLICK_DATA_API, s.DATA_TOGGLE_CARROT, function(t) {
225                t.preventDefault();
226                var n = t.target;
227                e(n).hasClass(i.BUTTON) || (n = e(n).closest(s.BUTTON)), a._jQueryInterface.call(e(n), "toggle")
228            }).on(o.FOCUS_BLUR_DATA_API, s.DATA_TOGGLE_CARROT, function(t) {
229                var n = e(t.target).closest(s.BUTTON)[0];
230                e(n).toggleClass(i.FOCUS, /^focus(in)?$/.test(t.type))
231            }), e.fn[t] = a._jQueryInterface, e.fn[t].Constructor = a, e.fn[t].noConflict = function() {
232                return e.fn[t] = n, a._jQueryInterface
233            }, a
234        }(),
235        h = function() {
236            var t = "carousel",
237                n = "bs.carousel",
238                i = "." + n,
239                o = e.fn[t],
240                a = {
241                    interval: 5e3,
242                    keyboard: !0,
243                    slide: !1,
244                    pause: "hover",
245                    wrap: !0
246                },
247                l = {
248                    interval: "(number|boolean)",
249                    keyboard: "boolean",
250                    slide: "(boolean|string)",
251                    pause: "(string|boolean)",
252                    wrap: "boolean"
253                },
254                h = {
255                    NEXT: "next",
256                    PREV: "prev",
257                    LEFT: "left",
258                    RIGHT: "right"
259                },
260                c = {
261                    SLIDE: "slide" + i,
262                    SLID: "slid" + i,
263                    KEYDOWN: "keydown" + i,
264                    MOUSEENTER: "mouseenter" + i,
265                    MOUSELEAVE: "mouseleave" + i,
266                    TOUCHEND: "touchend" + i,
267                    LOAD_DATA_API: "load.bs.carousel.data-api",
268                    CLICK_DATA_API: "click.bs.carousel.data-api"
269                },
270                u = {
271                    CAROUSEL: "carousel",
272                    ACTIVE: "active",
273                    SLIDE: "slide",
274                    RIGHT: "carousel-item-right",
275                    LEFT: "carousel-item-left",
276                    NEXT: "carousel-item-next",
277                    PREV: "carousel-item-prev",
278                    ITEM: "carousel-item"
279                },
280                d = {
281                    ACTIVE: ".active",
282                    ACTIVE_ITEM: ".active.carousel-item",
283                    ITEM: ".carousel-item",
284                    NEXT_PREV: ".carousel-item-next, .carousel-item-prev",
285                    INDICATORS: ".carousel-indicators",
286                    DATA_SLIDE: "[data-slide], [data-slide-to]",
287                    DATA_RIDE: '[data-ride="carousel"]'
288                },
289                f = function() {
290                    function o(t, n) {
291                        this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this._config = this._getConfig(n), this._element = e(t)[0], this._indicatorsElement = e(this._element).find(d.INDICATORS)[0], this._addEventListeners()
292                    }
293                    var f = o.prototype;
294                    return f.next = function() {
295                        this._isSliding || this._slide(h.NEXT)
296                    }, f.nextWhenVisible = function() {
297                        !document.hidden && e(this._element).is(":visible") && "hidden" !== e(this._element).css("visibility") && this.next()
298                    }, f.prev = function() {
299                        this._isSliding || this._slide(h.PREV)
300                    }, f.pause = function(t) {
301                        t || (this._isPaused = !0), e(this._element).find(d.NEXT_PREV)[0] && s.supportsTransitionEnd() && (s.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
302                    }, f.cycle = function(t) {
303                        t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
304                    }, f.to = function(t) {
305                        var n = this;
306                        this._activeElement = e(this._element).find(d.ACTIVE_ITEM)[0];
307                        var i = this._getItemIndex(this._activeElement);
308                        if (!(t > this._items.length - 1 || t < 0))
309                            if (this._isSliding) e(this._element).one(c.SLID, function() {
310                                return n.to(t)
311                            });
312                            else {
313                                if (i === t) return this.pause(), void this.cycle();
314                                var s = t > i ? h.NEXT : h.PREV;
315                                this._slide(s, this._items[t])
316                            }
317                    }, f.dispose = function() {
318                        e(this._element).off(i), e.removeData(this._element, n), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
319                    }, f._getConfig = function(n) {
320                        return n = e.extend({}, a, n), s.typeCheckConfig(t, n, l), n
321                    }, f._addEventListeners = function() {
322                        var t = this;
323                        this._config.keyboard && e(this._element).on(c.KEYDOWN, function(e) {
324                            return t._keydown(e)
325                        }), "hover" === this._config.pause && (e(this._element).on(c.MOUSEENTER, function(e) {
326                            return t.pause(e)
327                        }).on(c.MOUSELEAVE, function(e) {
328                            return t.cycle(e)
329                        }), "ontouchstart" in document.documentElement && e(this._element).on(c.TOUCHEND, function() {
330                            t.pause(), t.touchTimeout && clearTimeout(t.touchTimeout), t.touchTimeout = setTimeout(function(e) {
331                                return t.cycle(e)
332                            }, 500 + t._config.interval)
333                        }))
334                    }, f._keydown = function(t) {
335                        if (!/input|textarea/i.test(t.target.tagName)) switch (t.which) {
336                            case 37:
337                                t.preventDefault(), this.prev();
338                                break;
339                            case 39:
340                                t.preventDefault(), this.next();
341                                break;
342                            default:
343                                return
344                        }
345                    }, f._getItemIndex = function(t) {
346                        return this._items = e.makeArray(e(t).parent().find(d.ITEM)), this._items.indexOf(t)
347                    }, f._getItemByDirection = function(t, e) {
348                        var n = t === h.NEXT,
349                            i = t === h.PREV,
350                            s = this._getItemIndex(e),
351                            r = this._items.length - 1;
352                        if ((i && 0 === s || n && s === r) && !this._config.wrap) return e;
353                        var o = (s + (t === h.PREV ? -1 : 1)) % this._items.length;
354                        return -1 === o ? this._items[this._items.length - 1] : this._items[o]
355                    }, f._triggerSlideEvent = function(t, n) {
356                        var i = this._getItemIndex(t),
357                            s = this._getItemIndex(e(this._element).find(d.ACTIVE_ITEM)[0]),
358                            r = e.Event(c.SLIDE, {
359                                relatedTarget: t,
360                                direction: n,
361                                from: s,
362                                to: i
363                            });
364                        return e(this._element).trigger(r), r
365                    }, f._setActiveIndicatorElement = function(t) {
366                        if (this._indicatorsElement) {
367                            e(this._indicatorsElement).find(d.ACTIVE).removeClass(u.ACTIVE);
368                            var n = this._indicatorsElement.children[this._getItemIndex(t)];
369                            n && e(n).addClass(u.ACTIVE)
370                        }
371                    }, f._slide = function(t, n) {
372                        var i, r, o, a = this,
373                            l = e(this._element).find(d.ACTIVE_ITEM)[0],
374                            f = this._getItemIndex(l),
375                            _ = n || l && this._getItemByDirection(t, l),
376                            g = this._getItemIndex(_),
377                            m = Boolean(this._interval);
378                        if (t === h.NEXT ? (i = u.LEFT, r = u.NEXT, o = h.LEFT) : (i = u.RIGHT, r = u.PREV, o = h.RIGHT), _ && e(_).hasClass(u.ACTIVE)) this._isSliding = !1;
379                        else if (!this._triggerSlideEvent(_, o).isDefaultPrevented() && l && _) {
380                            this._isSliding = !0, m && this.pause(), this._setActiveIndicatorElement(_);
381                            var p = e.Event(c.SLID, {
382                                relatedTarget: _,
383                                direction: o,
384                                from: f,
385                                to: g
386                            });
387                            s.supportsTransitionEnd() && e(this._element).hasClass(u.SLIDE) ? (e(_).addClass(r), s.reflow(_), e(l).addClass(i), e(_).addClass(i), e(l).one(s.TRANSITION_END, function() {
388                                e(_).removeClass(i + " " + r).addClass(u.ACTIVE), e(l).removeClass(u.ACTIVE + " " + r + " " + i), a._isSliding = !1, setTimeout(function() {
389                                    return e(a._element).trigger(p)
390                                }, 0)
391                            }).emulateTransitionEnd(600)) : (e(l).removeClass(u.ACTIVE), e(_).addClass(u.ACTIVE), this._isSliding = !1, e(this._element).trigger(p)), m && this.cycle()
392                        }
393                    }, o._jQueryInterface = function(t) {
394                        return this.each(function() {
395                            var i = e(this).data(n),
396                                s = e.extend({}, a, e(this).data());
397                            "object" == typeof t && e.extend(s, t);
398                            var r = "string" == typeof t ? t : s.slide;
399                            if (i || (i = new o(this, s), e(this).data(n, i)), "number" == typeof t) i.to(t);
400                            else if ("string" == typeof r) {
401                                if ("undefined" == typeof i[r]) throw new Error('No method named "' + r + '"');
402                                i[r]()
403                            } else s.interval && (i.pause(), i.cycle())
404                        })
405                    }, o._dataApiClickHandler = function(t) {
406                        var i = s.getSelectorFromElement(this);
407                        if (i) {
408                            var r = e(i)[0];
409                            if (r && e(r).hasClass(u.CAROUSEL)) {
410                                var a = e.extend({}, e(r).data(), e(this).data()),
411                                    l = this.getAttribute("data-slide-to");
412                                l && (a.interval = !1), o._jQueryInterface.call(e(r), a), l && e(r).data(n).to(l), t.preventDefault()
413                            }
414                        }
415                    }, r(o, null, [{
416                        key: "VERSION",
417                        get: function() {
418                            return "4.0.0-beta.2"
419                        }
420                    }, {
421                        key: "Default",
422                        get: function() {
423                            return a
424                        }
425                    }]), o
426                }();
427            return e(document).on(c.CLICK_DATA_API, d.DATA_SLIDE, f._dataApiClickHandler), e(window).on(c.LOAD_DATA_API, function() {
428                e(d.DATA_RIDE).each(function() {
429                    var t = e(this);
430                    f._jQueryInterface.call(t, t.data())
431                })
432            }), e.fn[t] = f._jQueryInterface, e.fn[t].Constructor = f, e.fn[t].noConflict = function() {
433                return e.fn[t] = o, f._jQueryInterface
434            }, f
435        }(),
436        c = function() {
437            var t = "collapse",
438                n = "bs.collapse",
439                i = e.fn[t],
440                o = {
441                    toggle: !0,
442                    parent: ""
443                },
444                a = {
445                    toggle: "boolean",
446                    parent: "(string|element)"
447                },
448                l = {
449                    SHOW: "show.bs.collapse",
450                    SHOWN: "shown.bs.collapse",
451                    HIDE: "hide.bs.collapse",
452                    HIDDEN: "hidden.bs.collapse",
453                    CLICK_DATA_API: "click.bs.collapse.data-api"
454                },
455                h = {
456                    SHOW: "show",
457                    COLLAPSE: "collapse",
458                    COLLAPSING: "collapsing",
459                    COLLAPSED: "collapsed"
460                },
461                c = {
462                    WIDTH: "width",
463                    HEIGHT: "height"
464                },
465                u = {
466                    ACTIVES: ".show, .collapsing",
467                    DATA_TOGGLE: '[data-toggle="collapse"]'
468                },
469                d = function() {
470                    function i(t, n) {
471                        this._isTransitioning = !1, this._element = t, this._config = this._getConfig(n), this._triggerArray = e.makeArray(e('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]'));
472                        for (var i = e(u.DATA_TOGGLE), r = 0; r < i.length; r++) {
473                            var o = i[r],
474                                a = s.getSelectorFromElement(o);
475                            null !== a && e(a).filter(t).length > 0 && this._triggerArray.push(o)
476                        }
477                        this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle()
478                    }
479                    var d = i.prototype;
480                    return d.toggle = function() {
481                        e(this._element).hasClass(h.SHOW) ? this.hide() : this.show()
482                    }, d.show = function() {
483                        var t = this;
484                        if (!this._isTransitioning && !e(this._element).hasClass(h.SHOW)) {
485                            var r, o;
486                            if (this._parent && ((r = e.makeArray(e(this._parent).children().children(u.ACTIVES))).length || (r = null)), !(r && (o = e(r).data(n)) && o._isTransitioning)) {
487                                var a = e.Event(l.SHOW);
488                                if (e(this._element).trigger(a), !a.isDefaultPrevented()) {
489                                    r && (i._jQueryInterface.call(e(r), "hide"), o || e(r).data(n, null));
490                                    var c = this._getDimension();
491                                    e(this._element).removeClass(h.COLLAPSE).addClass(h.COLLAPSING), this._element.style[c] = 0, this._triggerArray.length && e(this._triggerArray).removeClass(h.COLLAPSED).attr("aria-expanded", !0), this.setTransitioning(!0);
492                                    var d = function() {
493                                        e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).addClass(h.SHOW), t._element.style[c] = "", t.setTransitioning(!1), e(t._element).trigger(l.SHOWN)
494                                    };
495                                    if (s.supportsTransitionEnd()) {
496                                        var f = "scroll" + (c[0].toUpperCase() + c.slice(1));
497                                        e(this._element).one(s.TRANSITION_END, d).emulateTransitionEnd(600), this._element.style[c] = this._element[f] + "px"
498                                    } else d()
499                                }
500                            }
501                        }
502                    }, d.hide = function() {
503                        var t = this;
504                        if (!this._isTransitioning && e(this._element).hasClass(h.SHOW)) {
505                            var n = e.Event(l.HIDE);
506                            if (e(this._element).trigger(n), !n.isDefaultPrevented()) {
507                                var i = this._getDimension();
508                                if (this._element.style[i] = this._element.getBoundingClientRect()[i] + "px", s.reflow(this._element), e(this._element).addClass(h.COLLAPSING).removeClass(h.COLLAPSE).removeClass(h.SHOW), this._triggerArray.length)
509                                    for (var r = 0; r < this._triggerArray.length; r++) {
510                                        var o = this._triggerArray[r],
511                                            a = s.getSelectorFromElement(o);
512                                        null !== a && (e(a).hasClass(h.SHOW) || e(o).addClass(h.COLLAPSED).attr("aria-expanded", !1))
513                                    }
514                                this.setTransitioning(!0);
515                                var c = function() {
516                                    t.setTransitioning(!1), e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).trigger(l.HIDDEN)
517                                };
518                                this._element.style[i] = "", s.supportsTransitionEnd() ? e(this._element).one(s.TRANSITION_END, c).emulateTransitionEnd(600) : c()
519                            }
520                        }
521                    }, d.setTransitioning = function(t) {
522                        this._isTransitioning = t
523                    }, d.dispose = function() {
524                        e.removeData(this._element, n), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
525                    }, d._getConfig = function(n) {
526                        return n = e.extend({}, o, n), n.toggle = Boolean(n.toggle), s.typeCheckConfig(t, n, a), n
527                    }, d._getDimension = function() {
528                        return e(this._element).hasClass(c.WIDTH) ? c.WIDTH : c.HEIGHT
529                    }, d._getParent = function() {
530                        var t = this,
531                            n = null;
532                        s.isElement(this._config.parent) ? (n = this._config.parent, "undefined" != typeof this._config.parent.jquery && (n = this._config.parent[0])) : n = e(this._config.parent)[0];
533                        var r = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
534                        return e(n).find(r).each(function(e, n) {
535                            t._addAriaAndCollapsedClass(i._getTargetFromElement(n), [n])
536                        }), n
537                    }, d._addAriaAndCollapsedClass = function(t, n) {
538                        if (t) {
539                            var i = e(t).hasClass(h.SHOW);
540                            n.length && e(n).toggleClass(h.COLLAPSED, !i).attr("aria-expanded", i)
541                        }
542                    }, i._getTargetFromElement = function(t) {
543                        var n = s.getSelectorFromElement(t);
544                        return n ? e(n)[0] : null
545                    }, i._jQueryInterface = function(t) {
546                        return this.each(function() {
547                            var s = e(this),
548                                r = s.data(n),
549                                a = e.extend({}, o, s.data(), "object" == typeof t && t);
550                            if (!r && a.toggle && /show|hide/.test(t) && (a.toggle = !1), r || (r = new i(this, a), s.data(n, r)), "string" == typeof t) {
551                                if ("undefined" == typeof r[t]) throw new Error('No method named "' + t + '"');
552                                r[t]()
553                            }
554                        })
555                    }, r(i, null, [{
556                        key: "VERSION",
557                        get: function() {
558                            return "4.0.0-beta.2"
559                        }
560                    }, {
561                        key: "Default",
562                        get: function() {
563                            return o
564                        }
565                    }]), i
566                }();
567            return e(document).on(l.CLICK_DATA_API, u.DATA_TOGGLE, function(t) {
568                "A" === t.currentTarget.tagName && t.preventDefault();
569                var i = e(this),
570                    r = s.getSelectorFromElement(this);
571                e(r).each(function() {
572                    var t = e(this),
573                        s = t.data(n) ? "toggle" : i.data();
574                    d._jQueryInterface.call(t, s)
575                })
576            }), e.fn[t] = d._jQueryInterface, e.fn[t].Constructor = d, e.fn[t].noConflict = function() {
577                return e.fn[t] = i, d._jQueryInterface
578            }, d
579        }(),
580        u = function() {
581            if ("undefined" == typeof n) throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");
582            var t = "dropdown",
583                i = "bs.dropdown",
584                o = "." + i,
585                a = e.fn[t],
586                l = new RegExp("38|40|27"),
587                h = {
588                    HIDE: "hide" + o,
589                    HIDDEN: "hidden" + o,
590                    SHOW: "show" + o,
591                    SHOWN: "shown" + o,
592                    CLICK: "click" + o,
593                    CLICK_DATA_API: "click.bs.dropdown.data-api",
594                    KEYDOWN_DATA_API: "keydown.bs.dropdown.data-api",
595                    KEYUP_DATA_API: "keyup.bs.dropdown.data-api"
596                },
597                c = {
598                    DISABLED: "disabled",
599                    SHOW: "show",
600                    DROPUP: "dropup",
601                    MENURIGHT: "dropdown-menu-right",
602                    MENULEFT: "dropdown-menu-left"
603                },
604                u = {
605                    DATA_TOGGLE: '[data-toggle="dropdown"]',
606                    FORM_CHILD: ".dropdown form",
607                    MENU: ".dropdown-menu",
608                    NAVBAR_NAV: ".navbar-nav",
609                    VISIBLE_ITEMS: ".dropdown-menu .dropdown-item:not(.disabled)"
610                },
611                d = {
612                    TOP: "top-start",
613                    TOPEND: "top-end",
614                    BOTTOM: "bottom-start",
615                    BOTTOMEND: "bottom-end"
616                },
617                f = {
618                    offset: 0,
619                    flip: !0
620                },
621                _ = {
622                    offset: "(number|string|function)",
623                    flip: "boolean"
624                },
625                g = function() {
626                    function a(t, e) {
627                        this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners()
628                    }
629                    var g = a.prototype;
630                    return g.toggle = function() {
631                        if (!this._element.disabled && !e(this._element).hasClass(c.DISABLED)) {
632                            var t = a._getParentFromElement(this._element),
633                                i = e(this._menu).hasClass(c.SHOW);
634                            if (a._clearMenus(), !i) {
635                                var s = {
636                                        relatedTarget: this._element
637                                    },
638                                    r = e.Event(h.SHOW, s);
639                                if (e(t).trigger(r), !r.isDefaultPrevented()) {
640                                    var o = this._element;
641                                    e(t).hasClass(c.DROPUP) && (e(this._menu).hasClass(c.MENULEFT) || e(this._menu).hasClass(c.MENURIGHT)) && (o = t), this._popper = new n(o, this._menu, this._getPopperConfig()), "ontouchstart" in document.documentElement && !e(t).closest(u.NAVBAR_NAV).length && e("body").children().on("mouseover", null, e.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), e(this._menu).toggleClass(c.SHOW), e(t).toggleClass(c.SHOW).trigger(e.Event(h.SHOWN, s))
642                                }
643                            }
644                        }
645                    }, g.dispose = function() {
646                        e.removeData(this._element, i), e(this._element).off(o), this._element = null, this._menu = null, null !== this._popper && this._popper.destroy(), this._popper = null
647                    }, g.update = function() {
648                        this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate()
649                    }, g._addEventListeners = function() {
650                        var t = this;
651                        e(this._element).on(h.CLICK, function(e) {
652                            e.preventDefault(), e.stopPropagation(), t.toggle()
653                        })
654                    }, g._getConfig = function(n) {
655                        return n = e.extend({}, this.constructor.Default, e(this._element).data(), n), s.typeCheckConfig(t, n, this.constructor.DefaultType), n
656                    }, g._getMenuElement = function() {
657                        if (!this._menu) {
658                            var t = a._getParentFromElement(this._element);
659                            this._menu = e(t).find(u.MENU)[0]
660                        }
661                        return this._menu
662                    }, g._getPlacement = function() {
663                        var t = e(this._element).parent(),
664                            n = d.BOTTOM;
665                        return t.hasClass(c.DROPUP) ? (n = d.TOP, e(this._menu).hasClass(c.MENURIGHT) && (n = d.TOPEND)) : e(this._menu).hasClass(c.MENURIGHT) && (n = d.BOTTOMEND), n
666                    }, g._detectNavbar = function() {
667                        return e(this._element).closest(".navbar").length > 0
668                    }, g._getPopperConfig = function() {
669                        var t = this,
670                            n = {};
671                        "function" == typeof this._config.offset ? n.fn = function(n) {
672                            return n.offsets = e.extend({}, n.offsets, t._config.offset(n.offsets) || {}), n
673                        } : n.offset = this._config.offset;
674                        var i = {
675                            placement: this._getPlacement(),
676                            modifiers: {
677                                offset: n,
678                                flip: {
679                                    enabled: this._config.flip
680                                }
681                            }
682                        };
683                        return this._inNavbar && (i.modifiers.applyStyle = {
684                            enabled: !this._inNavbar
685                        }), i
686                    }, a._jQueryInterface = function(t) {
687                        return this.each(function() {
688                            var n = e(this).data(i),
689                                s = "object" == typeof t ? t : null;
690                            if (n || (n = new a(this, s), e(this).data(i, n)), "string" == typeof t) {
691                                if ("undefined" == typeof n[t]) throw new Error('No method named "' + t + '"');
692                                n[t]()
693                            }
694                        })
695                    }, a._clearMenus = function(t) {
696                        if (!t || 3 !== t.which && ("keyup" !== t.type || 9 === t.which))
697                            for (var n = e.makeArray(e(u.DATA_TOGGLE)), s = 0; s < n.length; s++) {
698                                var r = a._getParentFromElement(n[s]),
699                                    o = e(n[s]).data(i),
700                                    l = {
701                                        relatedTarget: n[s]
702                                    };
703                                if (o) {
704                                    var d = o._menu;
705                                    if (e(r).hasClass(c.SHOW) && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && 9 === t.which) && e.contains(r, t.target))) {
706                                        var f = e.Event(h.HIDE, l);
707                                        e(r).trigger(f), f.isDefaultPrevented() || ("ontouchstart" in document.documentElement && e("body").children().off("mouseover", null, e.noop), n[s].setAttribute("aria-expanded", "false"), e(d).removeClass(c.SHOW), e(r).removeClass(c.SHOW).trigger(e.Event(h.HIDDEN, l)))
708                                    }
709                                }
710                            }
711                    }, a._getParentFromElement = function(t) {
712                        var n, i = s.getSelectorFromElement(t);
713                        return i && (n = e(i)[0]), n || t.parentNode
714                    }, a._dataApiKeydownHandler = function(t) {
715                        if (!(!l.test(t.which) || /button/i.test(t.target.tagName) && 32 === t.which || /input|textarea/i.test(t.target.tagName) || (t.preventDefault(), t.stopPropagation(), this.disabled || e(this).hasClass(c.DISABLED)))) {
716                            var n = a._getParentFromElement(this),
717                                i = e(n).hasClass(c.SHOW);
718                            if ((i || 27 === t.which && 32 === t.which) && (!i || 27 !== t.which && 32 !== t.which)) {
719                                var s = e(n).find(u.VISIBLE_ITEMS).get();
720                                if (s.length) {
721                                    var r = s.indexOf(t.target);
722                                    38 === t.which && r > 0 && r--, 40 === t.which && r < s.length - 1 && r++, r < 0 && (r = 0), s[r].focus()
723                                }
724                            } else {
725                                if (27 === t.which) {
726                                    var o = e(n).find(u.DATA_TOGGLE)[0];
727                                    e(o).trigger("focus")
728                                }
729                                e(this).trigger("click")
730                            }
731                        }
732                    }, r(a, null, [{
733                        key: "VERSION",
734                        get: function() {
735                            return "4.0.0-beta.2"
736                        }
737                    }, {
738                        key: "Default",
739                        get: function() {
740                            return f
741                        }
742                    }, {
743                        key: "DefaultType",
744                        get: function() {
745                            return _
746                        }
747                    }]), a
748                }();
749            return e(document).on(h.KEYDOWN_DATA_API, u.DATA_TOGGLE, g._dataApiKeydownHandler).on(h.KEYDOWN_DATA_API, u.MENU, g._dataApiKeydownHandler).on(h.CLICK_DATA_API + " " + h.KEYUP_DATA_API, g._clearMenus).on(h.CLICK_DATA_API, u.DATA_TOGGLE, function(t) {
750                t.preventDefault(), t.stopPropagation(), g._jQueryInterface.call(e(this), "toggle")
751            }).on(h.CLICK_DATA_API, u.FORM_CHILD, function(t) {
752                t.stopPropagation()
753            }), e.fn[t] = g._jQueryInterface, e.fn[t].Constructor = g, e.fn[t].noConflict = function() {
754                return e.fn[t] = a, g._jQueryInterface
755            }, g
756        }(),
757        d = function() {
758            var t = "modal",
759                n = ".bs.modal",
760                i = e.fn[t],
761                o = {
762                    backdrop: !0,
763                    keyboard: !0,
764                    focus: !0,
765                    show: !0
766                },
767                a = {
768                    backdrop: "(boolean|string)",
769                    keyboard: "boolean",
770                    focus: "boolean",
771                    show: "boolean"
772                },
773                l = {
774                    HIDE: "hide.bs.modal",
775                    HIDDEN: "hidden.bs.modal",
776                    SHOW: "show.bs.modal",
777                    SHOWN: "shown.bs.modal",
778                    FOCUSIN: "focusin.bs.modal",
779                    RESIZE: "resize.bs.modal",
780                    CLICK_DISMISS: "click.dismiss.bs.modal",
781                    KEYDOWN_DISMISS: "keydown.dismiss.bs.modal",
782                    MOUSEUP_DISMISS: "mouseup.dismiss.bs.modal",
783                    MOUSEDOWN_DISMISS: "mousedown.dismiss.bs.modal",
784                    CLICK_DATA_API: "click.bs.modal.data-api"
785                },
786                h = {
787                    SCROLLBAR_MEASURER: "modal-scrollbar-measure",
788                    BACKDROP: "modal-backdrop",
789                    OPEN: "modal-open",
790                    FADE: "fade",
791                    SHOW: "show"
792                },
793                c = {
794                    DIALOG: ".modal-dialog",
795                    DATA_TOGGLE: '[data-toggle="modal"]',
796                    DATA_DISMISS: '[data-dismiss="modal"]',
797                    FIXED_CONTENT: ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
798                    STICKY_CONTENT: ".sticky-top",
799                    NAVBAR_TOGGLER: ".navbar-toggler"
800                },
801                u = function() {
802                    function i(t, n) {
803                        this._config = this._getConfig(n), this._element = t, this._dialog = e(t).find(c.DIALOG)[0], this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._originalBodyPadding = 0, this._scrollbarWidth = 0
804                    }
805                    var u = i.prototype;
806                    return u.toggle = function(t) {
807                        return this._isShown ? this.hide() : this.show(t)
808                    }, u.show = function(t) {
809                        var n = this;
810                        if (!this._isTransitioning && !this._isShown) {
811                            s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE) && (this._isTransitioning = !0);
812                            var i = e.Event(l.SHOW, {
813                                relatedTarget: t
814                            });
815                            e(this._element).trigger(i), this._isShown || i.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), e(document.body).addClass(h.OPEN), this._setEscapeEvent(), this._setResizeEvent(), e(this._element).on(l.CLICK_DISMISS, c.DATA_DISMISS, function(t) {
816                                return n.hide(t)
817                            }), e(this._dialog).on(l.MOUSEDOWN_DISMISS, function() {
818                                e(n._element).one(l.MOUSEUP_DISMISS, function(t) {
819                                    e(t.target).is(n._element) && (n._ignoreBackdropClick = !0)
820                                })
821                            }), this._showBackdrop(function() {
822                                return n._showElement(t)
823                            }))
824                        }
825                    }, u.hide = function(t) {
826                        var n = this;
827                        if (t && t.preventDefault(), !this._isTransitioning && this._isShown) {
828                            var i = e.Event(l.HIDE);
829                            if (e(this._element).trigger(i), this._isShown && !i.isDefaultPrevented()) {
830                                this._isShown = !1;
831                                var r = s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE);
832                                r && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), e(document).off(l.FOCUSIN), e(this._element).removeClass(h.SHOW), e(this._element).off(l.CLICK_DISMISS), e(this._dialog).off(l.MOUSEDOWN_DISMISS), r ? e(this._element).one(s.TRANSITION_END, function(t) {
833                                    return n._hideModal(t)
834                                }).emulateTransitionEnd(300) : this._hideModal()
835                            }
836                        }
837                    }, u.dispose = function() {
838                        e.removeData(this._element, "bs.modal"), e(window, document, this._element, this._backdrop).off(n), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._scrollbarWidth = null
839                    }, u.handleUpdate = function() {
840                        this._adjustDialog()
841                    }, u._getConfig = function(n) {
842                        return n = e.extend({}, o, n), s.typeCheckConfig(t, n, a), n
843                    }, u._showElement = function(t) {
844                        var n = this,
845                            i = s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE);
846                        this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.scrollTop = 0, i && s.reflow(this._element), e(this._element).addClass(h.SHOW), this._config.focus && this._enforceFocus();
847                        var r = e.Event(l.SHOWN, {
848                                relatedTarget: t
849                            }),
850                            o = function() {
851                                n._config.focus && n._element.focus(), n._isTransitioning = !1, e(n._element).trigger(r)
852                            };
853                        i ? e(this._dialog).one(s.TRANSITION_END, o).emulateTransitionEnd(300) : o()
854                    }, u._enforceFocus = function() {
855                        var t = this;
856                        e(document).off(l.FOCUSIN).on(l.FOCUSIN, function(n) {
857                            document === n.target || t._element === n.target || e(t._element).has(n.target).length || t._element.focus()
858                        })
859                    }, u._setEscapeEvent = function() {
860                        var t = this;
861                        this._isShown && this._config.keyboard ? e(this._element).on(l.KEYDOWN_DISMISS, function(e) {
862                            27 === e.which && (e.preventDefault(), t.hide())
863                        }) : this._isShown || e(this._element).off(l.KEYDOWN_DISMISS)
864                    }, u._setResizeEvent = function() {
865                        var t = this;
866                        this._isShown ? e(window).on(l.RESIZE, function(e) {
867                            return t.handleUpdate(e)
868                        }) : e(window).off(l.RESIZE)
869                    }, u._hideModal = function() {
870                        var t = this;
871                        this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._isTransitioning = !1, this._showBackdrop(function() {
872                            e(document.body).removeClass(h.OPEN), t._resetAdjustments(), t._resetScrollbar(), e(t._element).trigger(l.HIDDEN)
873                        })
874                    }, u._removeBackdrop = function() {
875                        this._backdrop && (e(this._backdrop).remove(), this._backdrop = null)
876                    }, u._showBackdrop = function(t) {
877                        var n = this,
878                            i = e(this._element).hasClass(h.FADE) ? h.FADE : "";
879                        if (this._isShown && this._config.backdrop) {
880                            var r = s.supportsTransitionEnd() && i;
881                            if (this._backdrop = document.createElement("div"), this._backdrop.className = h.BACKDROP, i && e(this._backdrop).addClass(i), e(this._backdrop).appendTo(document.body), e(this._element).on(l.CLICK_DISMISS, function(t) {
882                                    n._ignoreBackdropClick ? n._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === n._config.backdrop ? n._element.focus() : n.hide())
883                                }), r && s.reflow(this._backdrop), e(this._backdrop).addClass(h.SHOW), !t) return;
884                            if (!r) return void t();
885                            e(this._backdrop).one(s.TRANSITION_END, t).emulateTransitionEnd(150)
886                        } else if (!this._isShown && this._backdrop) {
887                            e(this._backdrop).removeClass(h.SHOW);
888                            var o = function() {
889                                n._removeBackdrop(), t && t()
890                            };
891                            s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE) ? e(this._backdrop).one(s.TRANSITION_END, o).emulateTransitionEnd(150) : o()
892                        } else t && t()
893                    }, u._adjustDialog = function() {
894                        var t = this._element.scrollHeight > document.documentElement.clientHeight;
895                        !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px")
896                    }, u._resetAdjustments = function() {
897                        this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
898                    }, u._checkScrollbar = function() {
899                        var t = document.body.getBoundingClientRect();
900                        this._isBodyOverflowing = t.left + t.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
901                    }, u._setScrollbar = function() {
902                        var t = this;
903                        if (this._isBodyOverflowing) {
904                            e(c.FIXED_CONTENT).each(function(n, i) {
905                                var s = e(i)[0].style.paddingRight,
906                                    r = e(i).css("padding-right");
907                                e(i).data("padding-right", s).css("padding-right", parseFloat(r) + t._scrollbarWidth + "px")
908                            }), e(c.STICKY_CONTENT).each(function(n, i) {
909                                var s = e(i)[0].style.marginRight,
910                                    r = e(i).css("margin-right");
911                                e(i).data("margin-right", s).css("margin-right", parseFloat(r) - t._scrollbarWidth + "px")
912                            }), e(c.NAVBAR_TOGGLER).each(function(n, i) {
913                                var s = e(i)[0].style.marginRight,
914                                    r = e(i).css("margin-right");
915                                e(i).data("margin-right", s).css("margin-right", parseFloat(r) + t._scrollbarWidth + "px")
916                            });
917                            var n = document.body.style.paddingRight,
918                                i = e("body").css("padding-right");
919                            e("body").data("padding-right", n).css("padding-right", parseFloat(i) + this._scrollbarWidth + "px")
920                        }
921                    }, u._resetScrollbar = function() {
922                        e(c.FIXED_CONTENT).each(function(t, n) {
923                            var i = e(n).data("padding-right");
924                            "undefined" != typeof i && e(n).css("padding-right", i).removeData("padding-right")
925                        }), e(c.STICKY_CONTENT + ", " + c.NAVBAR_TOGGLER).each(function(t, n) {
926                            var i = e(n).data("margin-right");
927                            "undefined" != typeof i && e(n).css("margin-right", i).removeData("margin-right")
928                        });
929                        var t = e("body").data("padding-right");
930                        "undefined" != typeof t && e("body").css("padding-right", t).removeData("padding-right")
931                    }, u._getScrollbarWidth = function() {
932                        var t = document.createElement("div");
933                        t.className = h.SCROLLBAR_MEASURER, document.body.appendChild(t);
934                        var e = t.getBoundingClientRect().width - t.clientWidth;
935                        return document.body.removeChild(t), e
936                    }, i._jQueryInterface = function(t, n) {
937                        return this.each(function() {
938                            var s = e(this).data("bs.modal"),
939                                r = e.extend({}, i.Default, e(this).data(), "object" == typeof t && t);
940                            if (s || (s = new i(this, r), e(this).data("bs.modal", s)), "string" == typeof t) {
941                                if ("undefined" == typeof s[t]) throw new Error('No method named "' + t + '"');
942                                s[t](n)
943                            } else r.show && s.show(n)
944                        })
945                    }, r(i, null, [{
946                        key: "VERSION",
947                        get: function() {
948                            return "4.0.0-beta.2"
949                        }
950                    }, {
951                        key: "Default",
952                        get: function() {
953                            return o
954                        }
955                    }]), i
956                }();
957            return e(document).on(l.CLICK_DATA_API, c.DATA_TOGGLE, function(t) {
958                var n, i = this,
959                    r = s.getSelectorFromElement(this);
960                r && (n = e(r)[0]);
961                var o = e(n).data("bs.modal") ? "toggle" : e.extend({}, e(n).data(), e(this).data());
962                "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault();
963                var a = e(n).one(l.SHOW, function(t) {
964                    t.isDefaultPrevented() || a.one(l.HIDDEN, function() {
965                        e(i).is(":visible") && i.focus()
966                    })
967                });
968                u._jQueryInterface.call(e(n), o, this)
969            }), e.fn[t] = u._jQueryInterface, e.fn[t].Constructor = u, e.fn[t].noConflict = function() {
970                return e.fn[t] = i, u._jQueryInterface
971            }, u
972        }(),
973        f = function() {
974            if ("undefined" == typeof n) throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");
975            var t = "tooltip",
976                i = ".bs.tooltip",
977                o = e.fn[t],
978                a = new RegExp("(^|\\s)bs-tooltip\\S+", "g"),
979                l = {
980                    animation: "boolean",
981                    template: "string",
982                    title: "(string|element|function)",
983                    trigger: "string",
984                    delay: "(number|object)",
985                    html: "boolean",
986                    selector: "(string|boolean)",
987                    placement: "(string|function)",
988                    offset: "(number|string)",
989                    container: "(string|element|boolean)",
990                    fallbackPlacement: "(string|array)"
991                },
992                h = {
993                    AUTO: "auto",
994                    TOP: "top",
995                    RIGHT: "right",
996                    BOTTOM: "bottom",
997                    LEFT: "left"
998                },
999                c = {
1000                    animation: !0,
1001                    template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
1002                    trigger: "hover focus",
1003                    title: "",
1004                    delay: 0,
1005                    html: !1,
1006                    selector: !1,
1007                    placement: "top",
1008                    offset: 0,
1009                    container: !1,
1010                    fallbackPlacement: "flip"
1011                },
1012                u = {
1013                    SHOW: "show",
1014                    OUT: "out"
1015                },
1016                d = {
1017                    HIDE: "hide" + i,
1018                    HIDDEN: "hidden" + i,
1019                    SHOW: "show" + i,
1020                    SHOWN: "shown" + i,
1021                    INSERTED: "inserted" + i,
1022                    CLICK: "click" + i,
1023                    FOCUSIN: "focusin" + i,
1024                    FOCUSOUT: "focusout" + i,
1025                    MOUSEENTER: "mouseenter" + i,
1026                    MOUSELEAVE: "mouseleave" + i
1027                },
1028                f = {
1029                    FADE: "fade",
1030                    SHOW: "show"
1031                },
1032                _ = {
1033                    TOOLTIP: ".tooltip",
1034                    TOOLTIP_INNER: ".tooltip-inner",
1035                    ARROW: ".arrow"
1036                },
1037                g = {
1038                    HOVER: "hover",
1039                    FOCUS: "focus",
1040                    CLICK: "click",
1041                    MANUAL: "manual"
1042                },
1043                m = function() {
1044                    function o(t, e) {
1045                        this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners()
1046                    }
1047                    var m = o.prototype;
1048                    return m.enable = function() {
1049                        this._isEnabled = !0
1050                    }, m.disable = function() {
1051                        this._isEnabled = !1
1052                    }, m.toggleEnabled = function() {
1053                        this._isEnabled = !this._isEnabled
1054                    }, m.toggle = function(t) {
1055                        if (this._isEnabled)
1056                            if (t) {
1057                                var n = this.constructor.DATA_KEY,
1058                                    i = e(t.currentTarget).data(n);
1059                                i || (i = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(n, i)), i._activeTrigger.click = !i._activeTrigger.click, i._isWithActiveTrigger() ? i._enter(null, i) : i._leave(null, i)
1060                            } else {
1061                                if (e(this.getTipElement()).hasClass(f.SHOW)) return void this._leave(null, this);
1062                                this._enter(null, this)
1063                            }
1064                    }, m.dispose = function() {
1065                        clearTimeout(this._timeout), e.removeData(this.element, this.constructor.DATA_KEY), e(this.element).off(this.constructor.EVENT_KEY), e(this.element).closest(".modal").off("hide.bs.modal"), this.tip && e(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, null !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
1066                    }, m.show = function() {
1067                        var t = this;
1068                        if ("none" === e(this.element).css("display")) throw new Error("Please use show on visible elements");
1069                        var i = e.Event(this.constructor.Event.SHOW);
1070                        if (this.isWithContent() && this._isEnabled) {
1071                            e(this.element).trigger(i);
1072                            var r = e.contains(this.element.ownerDocument.documentElement, this.element);
1073                            if (i.isDefaultPrevented() || !r) return;
1074                            var a = this.getTipElement(),
1075                                l = s.getUID(this.constructor.NAME);
1076                            a.setAttribute("id", l), this.element.setAttribute("aria-describedby", l), this.setContent(), this.config.animation && e(a).addClass(f.FADE);
1077                            var h = "function" == typeof this.config.placement ? this.config.placement.call(this, a, this.element) : this.config.placement,
1078                                c = this._getAttachment(h);
1079                            this.addAttachmentClass(c);
1080                            var d = !1 === this.config.container ? document.body : e(this.config.container);
1081                            e(a).data(this.constructor.DATA_KEY, this), e.contains(this.element.ownerDocument.documentElement, this.tip) || e(a).appendTo(d), e(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new n(this.element, a, {
1082                                placement: c,
1083                                modifiers: {
1084                                    offset: {
1085                                        offset: this.config.offset
1086                                    },
1087                                    flip: {
1088                                        behavior: this.config.fallbackPlacement
1089                                    },
1090                                    arrow: {
1091                                        element: _.ARROW
1092                                    }
1093                                },
1094                                onCreate: function(e) {
1095                                    e.originalPlacement !== e.placement && t._handlePopperPlacementChange(e)
1096                                },
1097                                onUpdate: function(e) {
1098                                    t._handlePopperPlacementChange(e)
1099                                }
1100                            }), e(a).addClass(f.SHOW), "ontouchstart" in document.documentElement && e("body").children().on("mouseover", null, e.noop);
1101                            var g = function() {
1102                                t.config.animation && t._fixTransition();
1103                                var n = t._hoverState;
1104                                t._hoverState = null, e(t.element).trigger(t.constructor.Event.SHOWN), n === u.OUT && t._leave(null, t)
1105                            };
1106                            s.supportsTransitionEnd() && e(this.tip).hasClass(f.FADE) ? e(this.tip).one(s.TRANSITION_END, g).emulateTransitionEnd(o._TRANSITION_DURATION) : g()
1107                        }
1108                    }, m.hide = function(t) {
1109                        var n = this,
1110                            i = this.getTipElement(),
1111                            r = e.Event(this.constructor.Event.HIDE),
1112                            o = function() {
1113                                n._hoverState !== u.SHOW && i.parentNode && i.parentNode.removeChild(i), n._cleanTipClass(), n.element.removeAttribute("aria-describedby"), e(n.element).trigger(n.constructor.Event.HIDDEN), null !== n._popper && n._popper.destroy(), t && t()
1114                            };
1115                        e(this.element).trigger(r), r.isDefaultPrevented() || (e(i).removeClass(f.SHOW), "ontouchstart" in document.documentElement && e("body").children().off("mouseover", null, e.noop), this._activeTrigger[g.CLICK] = !1, this._activeTrigger[g.FOCUS] = !1, this._activeTrigger[g.HOVER] = !1, s.supportsTransitionEnd() && e(this.tip).hasClass(f.FADE) ? e(i).one(s.TRANSITION_END, o).emulateTransitionEnd(150) : o(), this._hoverState = "")
1116                    }, m.update = function() {
1117                        null !== this._popper && this._popper.scheduleUpdate()
1118                    }, m.isWithContent = function() {
1119                        return Boolean(this.getTitle())
1120                    }, m.addAttachmentClass = function(t) {
1121                        e(this.getTipElement()).addClass("bs-tooltip-" + t)
1122                    }, m.getTipElement = function() {
1123                        return this.tip = this.tip || e(this.config.template)[0], this.tip
1124                    }, m.setContent = function() {
1125                        var t = e(this.getTipElement());
1126                        this.setElementContent(t.find(_.TOOLTIP_INNER), this.getTitle()), t.removeClass(f.FADE + " " + f.SHOW)
1127                    }, m.setElementContent = function(t, n) {
1128                        var i = this.config.html;
1129                        "object" == typeof n && (n.nodeType || n.jquery) ? i ? e(n).parent().is(t) || t.empty().append(n) : t.text(e(n).text()) : t[i ? "html" : "text"](n)
1130                    }, m.getTitle = function() {
1131                        var t = this.element.getAttribute("data-original-title");
1132                        return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t
1133                    }, m._getAttachment = function(t) {
1134                        return h[t.toUpperCase()]
1135                    }, m._setListeners = function() {
1136                        var t = this;
1137                        this.config.trigger.split(" ").forEach(function(n) {
1138                            if ("click" === n) e(t.element).on(t.constructor.Event.CLICK, t.config.selector, function(e) {
1139                                return t.toggle(e)
1140                            });
1141                            else if (n !== g.MANUAL) {
1142                                var i = n === g.HOVER ? t.constructor.Event.MOUSEENTER : t.constructor.Event.FOCUSIN,
1143                                    s = n === g.HOVER ? t.constructor.Event.MOUSELEAVE : t.constructor.Event.FOCUSOUT;
1144                                e(t.element).on(i, t.config.selector, function(e) {
1145                                    return t._enter(e)
1146                                }).on(s, t.config.selector, function(e) {
1147                                    return t._leave(e)
1148                                })
1149                            }
1150                            e(t.element).closest(".modal").on("hide.bs.modal", function() {
1151                                return t.hide()
1152                            })
1153                        }), this.config.selector ? this.config = e.extend({}, this.config, {
1154                            trigger: "manual",
1155                            selector: ""
1156                        }) : this._fixTitle()
1157                    }, m._fixTitle = function() {
1158                        var t = typeof this.element.getAttribute("data-original-title");
1159                        (this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
1160                    }, m._enter = function(t, n) {
1161                        var i = this.constructor.DATA_KEY;
1162                        (n = n || e(t.currentTarget).data(i)) || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(i, n)), t && (n._activeTrigger["focusin" === t.type ? g.FOCUS : g.HOVER] = !0), e(n.getTipElement()).hasClass(f.SHOW) || n._hoverState === u.SHOW ? n._hoverState = u.SHOW : (clearTimeout(n._timeout), n._hoverState = u.SHOW, n.config.delay && n.config.delay.show ? n._timeout = setTimeout(function() {
1163                            n._hoverState === u.SHOW && n.show()
1164                        }, n.config.delay.show) : n.show())
1165                    }, m._leave = function(t, n) {
1166                        var i = this.constructor.DATA_KEY;
1167                        (n = n || e(t.currentTarget).data(i)) || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(i, n)), t && (n._activeTrigger["focusout" === t.type ? g.FOCUS : g.HOVER] = !1), n._isWithActiveTrigger() || (clearTimeout(n._timeout), n._hoverState = u.OUT, n.config.delay && n.config.delay.hide ? n._timeout = setTimeout(function() {
1168                            n._hoverState === u.OUT && n.hide()
1169                        }, n.config.delay.hide) : n.hide())
1170                    }, m._isWithActiveTrigger = function() {
1171                        for (var t in this._activeTrigger)
1172                            if (this._activeTrigger[t]) return !0;
1173                        return !1
1174                    }, m._getConfig = function(n) {
1175                        return "number" == typeof(n = e.extend({}, this.constructor.Default, e(this.element).data(), n)).delay && (n.delay = {
1176                            show: n.delay,
1177                            hide: n.delay
1178                        }), "number" == typeof n.title && (n.title = n.title.toString()), "number" == typeof n.content && (n.content = n.content.toString()), s.typeCheckConfig(t, n, this.constructor.DefaultType), n
1179                    }, m._getDelegateConfig = function() {
1180                        var t = {};
1181                        if (this.config)
1182                            for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);
1183                        return t
1184                    }, m._cleanTipClass = function() {
1185                        var t = e(this.getTipElement()),
1186                            n = t.attr("class").match(a);
1187                        null !== n && n.length > 0 && t.removeClass(n.join(""))
1188                    }, m._handlePopperPlacementChange = function(t) {
1189                        this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement))
1190                    }, m._fixTransition = function() {
1191                        var t = this.getTipElement(),
1192                            n = this.config.animation;
1193                        null === t.getAttribute("x-placement") && (e(t).removeClass(f.FADE), this.config.animation = !1, this.hide(), this.show(), this.config.animation = n)
1194                    }, o._jQueryInterface = function(t) {
1195                        return this.each(function() {
1196                            var n = e(this).data("bs.tooltip"),
1197                                i = "object" == typeof t && t;
1198                            if ((n || !/dispose|hide/.test(t)) && (n || (n = new o(this, i), e(this).data("bs.tooltip", n)), "string" == typeof t)) {
1199                                if ("undefined" == typeof n[t]) throw new Error('No method named "' + t + '"');
1200                                n[t]()
1201                            }
1202                        })
1203                    }, r(o, null, [{
1204                        key: "VERSION",
1205                        get: function() {
1206                            return "4.0.0-beta.2"
1207                        }
1208                    }, {
1209                        key: "Default",
1210                        get: function() {
1211                            return c
1212                        }
1213                    }, {
1214                        key: "NAME",
1215                        get: function() {
1216                            return t
1217                        }
1218                    }, {
1219                        key: "DATA_KEY",
1220                        get: function() {
1221                            return "bs.tooltip"
1222                        }
1223                    }, {
1224                        key: "Event",
1225                        get: function() {
1226                            return d
1227                        }
1228                    }, {
1229                        key: "EVENT_KEY",
1230                        get: function() {
1231                            return i
1232                        }
1233                    }, {
1234                        key: "DefaultType",
1235                        get: function() {
1236                            return l
1237                        }
1238                    }]), o
1239                }();
1240            return e.fn[t] = m._jQueryInterface, e.fn[t].Constructor = m, e.fn[t].noConflict = function() {
1241                return e.fn[t] = o, m._jQueryInterface
1242            }, m
1243        }(),
1244        _ = function() {
1245            var t = "popover",
1246                n = ".bs.popover",
1247                i = e.fn[t],
1248                s = new RegExp("(^|\\s)bs-popover\\S+", "g"),
1249                a = e.extend({}, f.Default, {
1250                    placement: "right",
1251                    trigger: "click",
1252                    content: "",
1253                    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
1254                }),
1255                l = e.extend({}, f.DefaultType, {
1256                    content: "(string|element|function)"
1257                }),
1258                h = {
1259                    FADE: "fade",
1260                    SHOW: "show"
1261                },
1262                c = {
1263                    TITLE: ".popover-header",
1264                    CONTENT: ".popover-body"
1265                },
1266                u = {
1267                    HIDE: "hide" + n,
1268                    HIDDEN: "hidden" + n,
1269                    SHOW: "show" + n,
1270                    SHOWN: "shown" + n,
1271                    INSERTED: "inserted" + n,
1272                    CLICK: "click" + n,
1273                    FOCUSIN: "focusin" + n,
1274                    FOCUSOUT: "focusout" + n,
1275                    MOUSEENTER: "mouseenter" + n,
1276                    MOUSELEAVE: "mouseleave" + n
1277                },
1278                d = function(i) {
1279                    function d() {
1280                        return i.apply(this, arguments) || this
1281                    }
1282                    o(d, i);
1283                    var f = d.prototype;
1284                    return f.isWithContent = function() {
1285                        return this.getTitle() || this._getContent()
1286                    }, f.addAttachmentClass = function(t) {
1287                        e(this.getTipElement()).addClass("bs-popover-" + t)
1288                    }, f.getTipElement = function() {
1289                        return this.tip = this.tip || e(this.config.template)[0], this.tip
1290                    }, f.setContent = function() {
1291                        var t = e(this.getTipElement());
1292                        this.setElementContent(t.find(c.TITLE), this.getTitle()), this.setElementContent(t.find(c.CONTENT), this._getContent()), t.removeClass(h.FADE + " " + h.SHOW)
1293                    }, f._getContent = function() {
1294                        return this.element.getAttribute("data-content") || ("function" == typeof this.config.content ? this.config.content.call(this.element) : this.config.content)
1295                    }, f._cleanTipClass = function() {
1296                        var t = e(this.getTipElement()),
1297                            n = t.attr("class").match(s);
1298                        null !== n && n.length > 0 && t.removeClass(n.join(""))
1299                    }, d._jQueryInterface = function(t) {
1300                        return this.each(function() {
1301                            var n = e(this).data("bs.popover"),
1302                                i = "object" == typeof t ? t : null;
1303                            if ((n || !/destroy|hide/.test(t)) && (n || (n = new d(this, i), e(this).data("bs.popover", n)), "string" == typeof t)) {
1304                                if ("undefined" == typeof n[t]) throw new Error('No method named "' + t + '"');
1305                                n[t]()
1306                            }
1307                        })
1308                    }, r(d, null, [{
1309                        key: "VERSION",
1310                        get: function() {
1311                            return "4.0.0-beta.2"
1312                        }
1313                    }, {
1314                        key: "Default",
1315                        get: function() {
1316                            return a
1317                        }
1318                    }, {
1319                        key: "NAME",
1320                        get: function() {
1321                            return t
1322                        }
1323                    }, {
1324                        key: "DATA_KEY",
1325                        get: function() {
1326                            return "bs.popover"
1327                        }
1328                    }, {
1329                        key: "Event",
1330                        get: function() {
1331                            return u
1332                        }
1333                    }, {
1334                        key: "EVENT_KEY",
1335                        get: function() {
1336                            return n
1337                        }
1338                    }, {
1339                        key: "DefaultType",
1340                        get: function() {
1341                            return l
1342                        }
1343                    }]), d
1344                }(f);
1345            return e.fn[t] = d._jQueryInterface, e.fn[t].Constructor = d, e.fn[t].noConflict = function() {
1346                return e.fn[t] = i, d._jQueryInterface
1347            }, d
1348        }(),
1349        g = function() {
1350            var t = "scrollspy",
1351                n = e.fn[t],
1352                i = {
1353                    offset: 10,
1354                    method: "auto",
1355                    target: ""
1356                },
1357                o = {
1358                    offset: "number",
1359                    method: "string",
1360                    target: "(string|element)"
1361                },
1362                a = {
1363                    ACTIVATE: "activate.bs.scrollspy",
1364                    SCROLL: "scroll.bs.scrollspy",
1365                    LOAD_DATA_API: "load.bs.scrollspy.data-api"
1366                },
1367                l = {
1368                    DROPDOWN_ITEM: "dropdown-item",
1369                    DROPDOWN_MENU: "dropdown-menu",
1370                    ACTIVE: "active"
1371                },
1372                h = {
1373                    DATA_SPY: '[data-spy="scroll"]',
1374                    ACTIVE: ".active",
1375                    NAV_LIST_GROUP: ".nav, .list-group",
1376                    NAV_LINKS: ".nav-link",
1377                    NAV_ITEMS: ".nav-item",
1378                    LIST_ITEMS: ".list-group-item",
1379                    DROPDOWN: ".dropdown",
1380                    DROPDOWN_ITEMS: ".dropdown-item",
1381                    DROPDOWN_TOGGLE: ".dropdown-toggle"
1382                },
1383                c = {
1384                    OFFSET: "offset",
1385                    POSITION: "position"
1386                },
1387                u = function() {
1388                    function n(t, n) {
1389                        var i = this;
1390                        this._element = t, this._scrollElement = "BODY" === t.tagName ? window : t, this._config = this._getConfig(n), this._selector = this._config.target + " " + h.NAV_LINKS + "," + this._config.target + " " + h.LIST_ITEMS + "," + this._config.target + " " + h.DROPDOWN_ITEMS, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, e(this._scrollElement).on(a.SCROLL, function(t) {
1391                            return i._process(t)
1392                        }), this.refresh(), this._process()
1393                    }
1394                    var u = n.prototype;
1395                    return u.refresh = function() {
1396                        var t = this,
1397                            n = this._scrollElement !== this._scrollElement.window ? c.POSITION : c.OFFSET,
1398                            i = "auto" === this._config.method ? n : this._config.method,
1399                            r = i === c.POSITION ? this._getScrollTop() : 0;
1400                        this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), e.makeArray(e(this._selector)).map(function(t) {
1401                            var n, o = s.getSelectorFromElement(t);
1402                            if (o && (n = e(o)[0]), n) {
1403                                var a = n.getBoundingClientRect();
1404                                if (a.width || a.height) return [e(n)[i]().top + r, o]
1405                            }
1406                            return null
1407                        }).filter(function(t) {
1408                            return t
1409                        }).sort(function(t, e) {
1410                            return t[0] - e[0]
1411                        }).forEach(function(e) {
1412                            t._offsets.push(e[0]), t._targets.push(e[1])
1413                        })
1414                    }, u.dispose = function() {
1415                        e.removeData(this._element, "bs.scrollspy"), e(this._scrollElement).off(".bs.scrollspy"), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
1416                    }, u._getConfig = function(n) {
1417                        if ("string" != typeof(n = e.extend({}, i, n)).target) {
1418                            var r = e(n.target).attr("id");
1419                            r || (r = s.getUID(t), e(n.target).attr("id", r)), n.target = "#" + r
1420                        }
1421                        return s.typeCheckConfig(t, n, o), n
1422                    }, u._getScrollTop = function() {
1423                        return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
1424                    }, u._getScrollHeight = function() {
1425                        return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
1426                    }, u._getOffsetHeight = function() {
1427                        return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
1428                    }, u._process = function() {
1429                        var t = this._getScrollTop() + this._config.offset,
1430                            e = this._getScrollHeight(),
1431                            n = this._config.offset + e - this._getOffsetHeight();
1432                        if (this._scrollHeight !== e && this.refresh(), t >= n) {
1433                            var i = this._targets[this._targets.length - 1];
1434                            this._activeTarget !== i && this._activate(i)
1435                        } else {
1436                            if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear();
1437                            for (var s = this._offsets.length; s--;) this._activeTarget !== this._targets[s] && t >= this._offsets[s] && ("undefined" == typeof this._offsets[s + 1] || t < this._offsets[s + 1]) && this._activate(this._targets[s])
1438                        }
1439                    }, u._activate = function(t) {
1440                        this._activeTarget = t, this._clear();
1441                        var n = this._selector.split(",");
1442                        n = n.map(function(e) {
1443                            return e + '[data-target="' + t + '"],' + e + '[href="' + t + '"]'
1444                        });
1445                        var i = e(n.join(","));
1446                        i.hasClass(l.DROPDOWN_ITEM) ? (i.closest(h.DROPDOWN).find(h.DROPDOWN_TOGGLE).addClass(l.ACTIVE), i.addClass(l.ACTIVE)) : (i.addClass(l.ACTIVE), i.parents(h.NAV_LIST_GROUP).prev(h.NAV_LINKS + ", " + h.LIST_ITEMS).addClass(l.ACTIVE), i.parents(h.NAV_LIST_GROUP).prev(h.NAV_ITEMS).children(h.NAV_LINKS).addClass(l.ACTIVE)), e(this._scrollElement).trigger(a.ACTIVATE, {
1447                            relatedTarget: t
1448                        })
1449                    }, u._clear = function() {
1450                        e(this._selector).filter(h.ACTIVE).removeClass(l.ACTIVE)
1451                    }, n._jQueryInterface = function(t) {
1452                        return this.each(function() {
1453                            var i = e(this).data("bs.scrollspy"),
1454                                s = "object" == typeof t && t;
1455                            if (i || (i = new n(this, s), e(this).data("bs.scrollspy", i)), "string" == typeof t) {
1456                                if ("undefined" == typeof i[t]) throw new Error('No method named "' + t + '"');
1457                                i[t]()
1458                            }
1459                        })
1460                    }, r(n, null, [{
1461                        key: "VERSION",
1462                        get: function() {
1463                            return "4.0.0-beta.2"
1464                        }
1465                    }, {
1466                        key: "Default",
1467                        get: function() {
1468                            return i
1469                        }
1470                    }]), n
1471                }();
1472            return e(window).on(a.LOAD_DATA_API, function() {
1473                for (var t = e.makeArray(e(h.DATA_SPY)), n = t.length; n--;) {
1474                    var i = e(t[n]);
1475                    u._jQueryInterface.call(i, i.data())
1476                }
1477            }), e.fn[t] = u._jQueryInterface, e.fn[t].Constructor = u, e.fn[t].noConflict = function() {
1478                return e.fn[t] = n, u._jQueryInterface
1479            }, u
1480        }(),
1481        m = function() {
1482            var t = e.fn.tab,
1483                n = {
1484                    HIDE: "hide.bs.tab",
1485                    HIDDEN: "hidden.bs.tab",
1486                    SHOW: "show.bs.tab",
1487                    SHOWN: "shown.bs.tab",
1488                    CLICK_DATA_API: "click.bs.tab.data-api"
1489                },
1490                i = {
1491                    DROPDOWN_MENU: "dropdown-menu",
1492                    ACTIVE: "active",
1493                    DISABLED: "disabled",
1494                    FADE: "fade",
1495                    SHOW: "show"
1496                },
1497                o = {
1498                    DROPDOWN: ".dropdown",
1499                    NAV_LIST_GROUP: ".nav, .list-group",
1500                    ACTIVE: ".active",
1501                    ACTIVE_UL: "> li > .active",
1502                    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
1503                    DROPDOWN_TOGGLE: ".dropdown-toggle",
1504                    DROPDOWN_ACTIVE_CHILD: "> .dropdown-menu .active"
1505                },
1506                a = function() {
1507                    function t(t) {
1508                        this._element = t
1509                    }
1510                    var a = t.prototype;
1511                    return a.show = function() {
1512                        var t = this;
1513                        if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && e(this._element).hasClass(i.ACTIVE) || e(this._element).hasClass(i.DISABLED))) {
1514                            var r, a, l = e(this._element).closest(o.NAV_LIST_GROUP)[0],
1515                                h = s.getSelectorFromElement(this._element);
1516                            if (l) {
1517                                var c = "UL" === l.nodeName ? o.ACTIVE_UL : o.ACTIVE;
1518                                a = e.makeArray(e(l).find(c)), a = a[a.length - 1]
1519                            }
1520                            var u = e.Event(n.HIDE, {
1521                                    relatedTarget: this._element
1522                                }),
1523                                d = e.Event(n.SHOW, {
1524                                    relatedTarget: a
1525                                });
1526                            if (a && e(a).trigger(u), e(this._element).trigger(d), !d.isDefaultPrevented() && !u.isDefaultPrevented()) {
1527                                h && (r = e(h)[0]), this._activate(this._element, l);
1528                                var f = function() {
1529                                    var i = e.Event(n.HIDDEN, {
1530                                            relatedTarget: t._element
1531                                        }),
1532                                        s = e.Event(n.SHOWN, {
1533                                            relatedTarget: a
1534                                        });
1535                                    e(a).trigger(i), e(t._element).trigger(s)
1536                                };
1537                                r ? this._activate(r, r.parentNode, f) : f()
1538                            }
1539                        }
1540                    }, a.dispose = function() {
1541                        e.removeData(this._element, "bs.tab"), this._element = null
1542                    }, a._activate = function(t, n, r) {
1543                        var a, l = this,
1544                            h = (a = "UL" === n.nodeName ? e(n).find(o.ACTIVE_UL) : e(n).children(o.ACTIVE))[0],
1545                            c = r && s.supportsTransitionEnd() && h && e(h).hasClass(i.FADE),
1546                            u = function() {
1547                                return l._transitionComplete(t, h, c, r)
1548                            };
1549                        h && c ? e(h).one(s.TRANSITION_END, u).emulateTransitionEnd(150) : u(), h && e(h).removeClass(i.SHOW)
1550                    }, a._transitionComplete = function(t, n, r, a) {
1551                        if (n) {
1552                            e(n).removeClass(i.ACTIVE);
1553                            var l = e(n.parentNode).find(o.DROPDOWN_ACTIVE_CHILD)[0];
1554                            l && e(l).removeClass(i.ACTIVE), "tab" === n.getAttribute("role") && n.setAttribute("aria-selected", !1)
1555                        }
1556                        if (e(t).addClass(i.ACTIVE), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), r ? (s.reflow(t), e(t).addClass(i.SHOW)) : e(t).removeClass(i.FADE), t.parentNode && e(t.parentNode).hasClass(i.DROPDOWN_MENU)) {
1557                            var h = e(t).closest(o.DROPDOWN)[0];
1558                            h && e(h).find(o.DROPDOWN_TOGGLE).addClass(i.ACTIVE), t.setAttribute("aria-expanded", !0)
1559                        }
1560                        a && a()
1561                    }, t._jQueryInterface = function(n) {
1562                        return this.each(function() {
1563                            var i = e(this),
1564                                s = i.data("bs.tab");
1565                            if (s || (s = new t(this), i.data("bs.tab", s)), "string" == typeof n) {
1566                                if ("undefined" == typeof s[n]) throw new Error('No method n
1566amed "' + n + '"');
1567                                s[n]()
1568                            }
1569                        })
1570                    }, r(t, null, [{
1571                        key: "VERSION",
1572                        get: function() {
1573                            return "4.0.0-beta.2"
1574                        }
1575                    }]), t
1576                }();
1577            return e(document).on(n.CLICK_DATA_API, o.DATA_TOGGLE, function(t) {
1578                t.preventDefault(), a._jQueryInterface.call(e(this), "show")
1579            }), e.fn.tab = a._jQueryInterface, e.fn.tab.Constructor = a, e.fn.tab.noConflict = function() {
1580                return e.fn.tab = t, a._jQueryInterface
1581            }, a
1582        }();
1583    return function() {
1584        if ("undefined" == typeof e) throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");
1585        var t = e.fn.jquery.split(" ")[0].split(".");
1586        if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || t[0] >= 4) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")
1587    }(), t.Util = s, t.Alert = a, t.Button = l, t.Carousel = h, t.Collapse = c, t.Dropdown = u, t.Modal = d, t.Popover = _, t.Scrollspy = g, t.Tab = m, t.Tooltip = f, t
1588}({}, $, Popper);
1589//# sourceMappingURL=bootstrap.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.