PageSourceSearch

https://www.skyviewprojects.com.au/wp-content/themes/newave-theme/js/bootstrap.min.js?ver=5.0.15

js skyviewprojects.com.au collected 2026-10-07 11:11:55 UTC 37,815 bytes, 825 lines download raw bytes

vendor: 4,845 bytes, lines 1-112
1/*!
2 * Bootstrap.js by @fat & @mdo
3 * Copyright 2012 Twitter, Inc.
4 * http://www.apache.org/licenses/LICENSE-2.0.txt
5 */
6! function (e) {
7    e(function () {
8        "use strict";
9        e.support.transition = function () {
10            var e = function () {
11                var e = document.createElement("bootstrap"),
12                    t = {
13                        WebkitTransition: "webkitTransitionEnd",
14                        MozTransition: "transitionend",
15                        OTransition: "oTransitionEnd otransitionend",
16                        transition: "transitionend"
17                    }, n;
18                for (n in t)
19                    if (e.style[n] !== undefined) return t[n]
20            }();
21            return e && {
22                end: e
23            }
24        }()
25    })
26}(window.jQuery), ! function (e) {
27    "use strict";
28    var t = '[data-dismiss="alert"]',
29        n = function (n) {
30            e(n).on("click", t, this.close)
31        };
32    n.prototype.close = function (t) {
33        function s() {
34            i.trigger("closed").remove()
35        }
36        var n = e(this),
37            r = n.attr("data-target"),
38            i;
39        r || (r = n.attr("href"), r = r && r.replace(/.*(?=#[^\s]*$)/, "")), i = e(r), t && t.preventDefault(), i.length || (i = n.hasClass("alert") ? n : n.parent()), i.trigger(t = e.Event("close"));
40        if (t.isDefaultPrevented()) return;
41        i.removeClass("in"), e.support.transition && i.hasClass("fade") ? i.on(e.support.transition.end, s) : s()
42    }, e.fn.alert = function (t) {
43        return this.each(function () {
44            var r = e(this),
45                i = r.data("alert");
46            i || r.data("alert", i = new n(this)), typeof t == "string" && i[t].call(r)
47        })
48    }, e.fn.alert.Constructor = n, e(function () {
49        e("body").on("click.alert.data-api", t, n.prototype.close)
50    })
51}(window.jQuery), ! function (e) {
52    "use strict";
53    var t = function (t, n) {
54        this.$element = e(t), this.options = e.extend({}, e.fn.button.defaults, n)
55    };
56    t.prototype.setState = function (e) {
57        var t = "disabled",
58            n = this.$element,
59            r = n.data(),
60            i = n.is("input") ? "val" : "html";
61        e += "Text", r.resetText || n.data("resetText", n[i]()), n[i](r[e] || this.options[e]), setTimeout(function () {
62            e == "loadingText" ? n.addClass(t).attr(t, t) : n.removeClass(t).removeAttr(t)
63        }, 0)
64    }, t.prototype.toggle = function () {
65        var e = this.$element.closest('[data-toggle="buttons-radio"]');
66        e && e.find(".active").removeClass("active"), this.$element.toggleClass("active")
67    }, e.fn.button = function (n) {
68        return this.each(function () {
69            var r = e(this),
70                i = r.data("button"),
71                s = typeof n == "object" && n;
72            i || r.data("button", i = new t(this, s)), n == "toggle" ? i.toggle() : n && i.setState(n)
73        })
74    }, e.fn.button.defaults = {
75        loadingText: "loading..."
76    }, e.fn.button.Constructor = t, e(function () {
77        e("body").on("click.button.data-api", "[data-toggle^=button]", function (t) {
78            var n = e(t.target);
79            n.hasClass("btn") || (n = n.closest(".btn")), n.button("toggle")
80        })
81    })
82}(window.jQuery), ! function (e) {
83    "use strict";
84    var t = function (t, n) {
85        this.$element = e(t), this.options = n, this.options.slide && this.slide(this.options.slide), this.options.pause == "hover" && this.$element.on("mouseenter", e.proxy(this.pause, this)).on("mouseleave", e.proxy(this.cycle, this))
86    };
87    t.prototype = {
88        cycle: function (t) {
89            return t || (this.paused = !1), this.options.interval && !this.paused && (this.interval = setInterval(e.proxy(this.next, this), this.options.interval)), this
90        },
91        to: function (t) {
92            var n = this.$element.find(".item.active"),
93                r = n.parent().children(),
94                i = r.index(n),
95                s = this;
96            if (t > r.length - 1 || t < 0) return;
97            return this.sliding ? this.$element.one("slid", function () {
98                s.to(t)
99            }) : i == t ? this.pause().cycle() : this.slide(t > i ? "next" : "prev", e(r[t]))
100        },
101        pause: function (t) {
102            return t || (this.paused = !0), this.$element.find(".next, .prev").length && e.support.transition.end && (this.$element.trigger(e.support.transition.end), this.cycle()), clearInterval(this.interval), this.interval = null, this
103        },
104        next: function () {
105            if (this.sliding) return;
106            return this.slide("next")
107        },
108        prev: function () {
109            if (this.sliding) return;
110            return this.slide("prev")
111        },
112        slide: function (t, n) {
vendor: 5,055 bytes, lines 113-213
113            var r = this.$element.find(".item.active"),
114                i = n || r[t](),
115                s = this.interval,
116                o = t == "next" ? "left" : "right",
117                u = t == "next" ? "first" : "last",
118                a = this,
119                f = e.Event("slide", {
120                    relatedTarget: i[0]
121                });
122            this.sliding = !0, s && this.pause(), i = i.length ? i : this.$element.find(".item")[u]();
123            if (i.hasClass("active")) return;
124            if (e.support.transition && this.$element.hasClass("slide")) {
125                this.$element.trigger(f);
126                if (f.isDefaultPrevented()) return;
127                i.addClass(t), i[0].offsetWidth, r.addClass(o), i.addClass(o), this.$element.one(e.support.transition.end, function () {
128                    i.removeClass([t, o].join(" ")).addClass("active"), r.removeClass(["active", o].join(" ")), a.sliding = !1, setTimeout(function () {
129                        a.$element.trigger("slid")
130                    }, 0)
131                })
132            } else {
133                this.$element.trigger(f);
134                if (f.isDefaultPrevented()) return;
135                r.removeClass("active"), i.addClass("active"), this.sliding = !1, this.$element.trigger("slid")
136            }
137            return s && this.cycle(), this
138        }
139    }, e.fn.carousel = function (n) {
140        return this.each(function () {
141            var r = e(this),
142                i = r.data("carousel"),
143                s = e.extend({}, e.fn.carousel.defaults, typeof n == "object" && n),
144                o = typeof n == "string" ? n : s.slide;
145            i || r.data("carousel", i = new t(this, s)), typeof n == "number" ? i.to(n) : o ? i[o]() : s.interval && i.cycle()
146        })
147    }, e.fn.carousel.defaults = {
148        interval: 5e3,
149        pause: "hover"
150    }, e.fn.carousel.Constructor = t, e(function () {
151        e("body").on("click.carousel.data-api", "[data-slide]", function (t) {
152            var n = e(this),
153                r, i = e(n.attr("data-target") || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, "")),
154                s = !i.data("modal") && e.extend({}, i.data(), n.data());
155            i.carousel(s), t.preventDefault()
156        })
157    })
158}(window.jQuery), ! function (e) {
159    "use strict";
160    var t = function (t, n) {
161        this.$element = e(t), this.options = e.extend({}, e.fn.collapse.defaults, n), this.options.parent && (this.$parent = e(this.options.parent)), this.options.toggle && this.toggle()
162    };
163    t.prototype = {
164        constructor: t,
165        dimension: function () {
166            var e = this.$element.hasClass("width");
167            return e ? "width" : "height"
168        },
169        show: function () {
170            var t, n, r, i;
171            if (this.transitioning) return;
172            t = this.dimension(), n = e.camelCase(["scroll", t].join("-")), r = this.$parent && this.$parent.find("> .accordion-group > .in");
173            if (r && r.length) {
174                i = r.data("collapse");
175                if (i && i.transitioning) return;
176                r.collapse("hide"), i || r.data("collapse", null)
177            }
178            this.$element[t](0), this.transition("addClass", e.Event("show"), "shown"), e.support.transition && this.$element[t](this.$element[0][n])
179        },
180        hide: function () {
181            var t;
182            if (this.transitioning) return;
183            t = this.dimension(), this.reset(this.$element[t]()), this.transition("removeClass", e.Event("hide"), "hidden"), this.$element[t](0)
184        },
185        reset: function (e) {
186            var t = this.dimension();
187            return this.$element.removeClass("collapse")[t](e || "auto")[0].offsetWidth, this.$element[e !== null ? "addClass" : "removeClass"]("collapse"), this
188        },
189        transition: function (t, n, r) {
190            var i = this,
191                s = function () {
192                    n.type == "show" && i.reset(), i.transitioning = 0, i.$element.trigger(r)
193                };
194            this.$element.trigger(n);
195            if (n.isDefaultPrevented()) return;
196            this.transitioning = 1, this.$element[t]("in"), e.support.transition && this.$element.hasClass("collapse") ? this.$element.one(e.support.transition.end, s) : s()
197        },
198        toggle: function () {
199            this[this.$element.hasClass("in") ? "hide" : "show"]()
200        }
201    }, e.fn.collapse = function (n) {
202        return this.each(function () {
203            var r = e(this),
204                i = r.data("collapse"),
205                s = typeof n == "object" && n;
206            i || r.data("collapse", i = new t(this, s)), typeof n == "string" && i[n]()
207        })
208    }, e.fn.collapse.defaults = {
209        toggle: !0
210    }, e.fn.collapse.Constructor = t, e(function () {
211        e("body").on("click.collapse.data-api", "[data-toggle=collapse]", function (t) {
212            var n = e(this),
213                r, i = n.attr("data-target") || t.preventDefault() || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, ""),
vendor: 27,915 bytes, lines 214-825
214                s = e(i).data("collapse") ? "toggle" : n.data();
215            n[e(i).hasClass("in") ? "addClass" : "removeClass"]("collapsed"), e(i).collapse(s)
216        })
217    })
218}(window.jQuery), ! function (e) {
219    "use strict";
220
221    function r() {
222        i(e(t)).removeClass("open")
223    }
224
225    function i(t) {
226        var n = t.attr("data-target"),
227            r;
228        return n || (n = t.attr("href"), n = n && /#/.test(n) && n.replace(/.*(?=#[^\s]*$)/, "")), r = e(n), r.length || (r = t.parent()), r
229    }
230    var t = "[data-toggle=dropdown]",
231        n = function (t) {
232            var n = e(t).on("click.dropdown.data-api", this.toggle);
233            e("html").on("click.dropdown.data-api", function () {
234                n.parent().removeClass("open")
235            })
236        };
237    n.prototype = {
238        constructor: n,
239        toggle: function (t) {
240            var n = e(this),
241                s, o;
242            if (n.is(".disabled, :disabled")) return;
243            return s = i(n), o = s.hasClass("open"), r(), o || (s.toggleClass("open"), n.focus()), !1
244        },
245        keydown: function (t) {
246            var n, r, s, o, u, a;
247            if (!/(38|40|27)/.test(t.keyCode)) return;
248            n = e(this), t.preventDefault(), t.stopPropagation();
249            if (n.is(".disabled, :disabled")) return;
250            o = i(n), u = o.hasClass("open");
251            if (!u || u && t.keyCode == 27) return n.click();
252            r = e("[role=menu] li:not(.divider) a", o);
253            if (!r.length) return;
254            a = r.index(r.filter(":focus")), t.keyCode == 38 && a > 0 && a--, t.keyCode == 40 && a < r.length - 1 && a++, ~a || (a = 0), r.eq(a).focus()
255        }
256    }, e.fn.dropdown = function (t) {
257        return this.each(function () {
258            var r = e(this),
259                i = r.data("dropdown");
260            i || r.data("dropdown", i = new n(this)), typeof t == "string" && i[t].call(r)
261        })
262    }, e.fn.dropdown.Constructor = n, e(function () {
263        e("html").on("click.dropdown.data-api touchstart.dropdown.data-api", r), e("body").on("click.dropdown touchstart.dropdown.data-api", ".dropdown form", function (e) {
264            e.stopPropagation()
265        }).on("click.dropdown.data-api touchstart.dropdown.data-api", t, n.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api", t + ", [role=menu]", n.prototype.keydown)
266    })
267}(window.jQuery), ! function (e) {
268    "use strict";
269    var t = function (t, n) {
270        this.options = n, this.$element = e(t).delegate('[data-dismiss="modal"]', "click.dismiss.modal", e.proxy(this.hide, this)), this.options.remote && this.$element.find(".modal-body").load(this.options.remote)
271    };
272    t.prototype = {
273        constructor: t,
274        toggle: function () {
275            return this[this.isShown ? "hide" : "show"]()
276        },
277        show: function () {
278            var t = this,
279                n = e.Event("show");
280            this.$element.trigger(n);
281            if (this.isShown || n.isDefaultPrevented()) return;
282            e("body").addClass("modal-open"), this.isShown = !0, this.escape(), this.backdrop(function () {
283                var n = e.support.transition && t.$element.hasClass("fade");
284                t.$element.parent().length || t.$element.appendTo(document.body), t.$element.show(), n && t.$element[0].offsetWidth, t.$element.addClass("in").attr("aria-hidden", !1).focus(), t.enforceFocus(), n ? t.$element.one(e.support.transition.end, function () {
285                    t.$element.trigger("shown")
286                }) : t.$element.trigger("shown")
287            })
288        },
289        hide: function (t) {
290            t && t.preventDefault();
291            var n = this;
292            t = e.Event("hide"), this.$element.trigger(t);
293            if (!this.isShown || t.isDefaultPrevented()) return;
294            this.isShown = !1, e("body").removeClass("modal-open"), this.escape(), e(document).off("focusin.modal"), this.$element.removeClass("in").attr("aria-hidden", !0), e.support.transition && this.$element.hasClass("fade") ? this.hideWithTransition() : this.hideModal()
295        },
296        enforceFocus: function () {
297            var t = this;
298            e(document).on("focusin.modal", function (e) {
299                t.$element[0] !== e.target && !t.$element.has(e.target).length && t.$element.focus()
300            })
301        },
302        escape: function () {
303            var e = this;
304            this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.modal", function (t) {
305                t.which == 27 && e.hide()
306            }) : this.isShown || this.$element.off("keyup.dismiss.modal")
307        },
308        hideWithTransition: function () {
309            var t = this,
310                n = setTimeout(function () {
311                    t.$element.off(e.support.transition.end), t.hideModal()
312                }, 500);
313            this.$element.one(e.support.transition.end, function () {
314                clearTimeout(n), t.hideModal()
315            })
316        },
317        hideModal: function (e) {
318            this.$element.hide().trigger("hidden"), this.backdrop()
319        },
320        removeBackdrop: function () {
321            this.$backdrop.remove(), this.$backdrop = null
322        },
323        backdrop: function (t) {
324            var n = this,
325                r = this.$element.hasClass("fade") ? "fade" : "";
326            if (this.isShown && this.options.backdrop) {
327                var i = e.support.transition && r;
328                this.$backdrop = e('<div class="modal-backdrop ' + r + '" />').appendTo(document.body), this.options.backdrop != "static" && this.$backdrop.click(e.proxy(this.hide, this)), i && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), i ? this.$backdrop.one(e.support.transition.end, t) : t()
329            } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), e.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one(e.support.transition.end, e.proxy(this.removeBackdrop, this)) : this.removeBackdrop()) : t && t()
330        }
331    }, e.fn.modal = function (n) {
332        return this.each(function () {
333            var r = e(this),
334                i = r.data("modal"),
335                s = e.extend({}, e.fn.modal.defaults, r.data(), typeof n == "object" && n);
336            i || r.data("modal", i = new t(this, s)), typeof n == "string" ? i[n]() : s.show && i.show()
337        })
338    }, e.fn.modal.defaults = {
339        backdrop: !0,
340        keyboard: !0,
341        show: !0
342    }, e.fn.modal.Constructor = t, e(function () {
343        e("body").on("click.modal.data-api", '[data-toggle="modal"]', function (t) {
344            var n = e(this),
345                r = n.attr("href"),
346                i = e(n.attr("data-target") || r && r.replace(/.*(?=#[^\s]+$)/, "")),
347                s = i.data("modal") ? "toggle" : e.extend({
348                    remote: !/#/.test(r) && r
349                }, i.data(), n.data());
350            t.preventDefault(), i.modal(s).one("hide", function () {
351                n.focus()
352            })
353        })
354    })
355}(window.jQuery), ! function (e) {
356    "use strict";
357    var t = function (e, t) {
358        this.init("tooltip", e, t)
359    };
360    t.prototype = {
361        constructor: t,
362        init: function (t, n, r) {
363            var i, s;
364            this.type = t, this.$element = e(n), this.options = this.getOptions(r), this.enabled = !0, this.options.trigger == "click" ? this.$element.on("click." + this.type, this.options.selector, e.proxy(this.toggle, this)) : this.options.trigger != "manual" && (i = this.options.trigger == "hover" ? "mouseenter" : "focus", s = this.options.trigger == "hover" ? "mouseleave" : "blur", this.$element.on(i + "." + this.type, this.options.selector, e.proxy(this.enter, this)), this.$element.on(s + "." + this.type, this.options.selector, e.proxy(this.leave, this))), this.options.selector ? this._options = e.extend({}, this.options, {
365                trigger: "manual",
366                selector: ""
367            }) : this.fixTitle()
368        },
369        getOptions: function (t) {
370            return t = e.extend({}, e.fn[this.type].defaults, t, this.$element.data()), t.delay && typeof t.delay == "number" && (t.delay = {
371                show: t.delay,
372                hide: t.delay
373            }), t
374        },
375        enter: function (t) {
376            var n = e(t.currentTarget)[this.type](this._options).data(this.type);
377            if (!n.options.delay || !n.options.delay.show) return n.show();
378            clearTimeout(this.timeout), n.hoverState = "in", this.timeout = setTimeout(function () {
379                n.hoverState == "in" && n.show()
380            }, n.options.delay.show)
381        },
382        leave: function (t) {
383            var n = e(t.currentTarget)[this.type](this._options).data(this.type);
384            this.timeout && clearTimeout(this.timeout);
385            if (!n.options.delay || !n.options.delay.hide) return n.hide();
386            n.hoverState = "out", this.timeout = setTimeout(function () {
387                n.hoverState == "out" && n.hide()
388            }, n.options.delay.hide)
389        },
390        show: function () {
391            var e, t, n, r, i, s, o;
392            if (this.hasContent() && this.enabled) {
393                e = this.tip(), this.setContent(), this.options.animation && e.addClass("fade"), s = typeof this.options.placement == "function" ? this.options.placement.call(this, e[0], this.$element[0]) : this.options.placement, t = /in/.test(s), e.remove().css({
394                    top: 0,
395                    left: 0,
396                    display: "block"
397                }).appendTo(t ? this.$element : document.body), n = this.getPosition(t), r = e[0].offsetWidth, i = e[0].offsetHeight;
398                switch (t ? s.split(" ")[1] : s) {
399                case "bottom":
400                    o = {
401                        top: n.top + n.height,
402                        left: n.left + n.width / 2 - r / 2
403                    };
404                    break;
405                case "top":
406                    o = {
407                        top: n.top - i,
408                        left: n.left + n.width / 2 - r / 2
409                    };
410                    break;
411
412                case "left":
413                    o = {
414                        top: n.top + n.height / 2 - i / 2,
415                        left: n.left - r
416                    };
417                    break;
418                case "right":
419                    o = {
420                        top: n.top + n.height / 2 - i / 2,
421                        left: n.left + n.width
422                    }
423                }
424                e.css(o).addClass(s).addClass("in")
425            }
426        },
427        setContent: function () {
428            var e = this.tip(),
429                t = this.getTitle();
430            e.find(".tooltip-inner")[this.options.html ? "html" : "text"](t), e.removeClass("fade in top bottom left right")
431        },
432        hide: function () {
433            function r() {
434                var t = setTimeout(function () {
435                    n.off(e.support.transition.end).remove()
436                }, 500);
437                n.one(e.support.transition.end, function () {
438                    clearTimeout(t), n.remove()
439                })
440            }
441            var t = this,
442                n = this.tip();
443            return n.removeClass("in"), e.support.transition && this.$tip.hasClass("fade") ? r() : n.remove(), this
444        },
445        fixTitle: function () {
446            var e = this.$element;
447            (e.attr("title") || typeof e.attr("data-original-title") != "string") && e.attr("data-original-title", e.attr("title") || "").removeAttr("title")
448        },
449        hasContent: function () {
450            return this.getTitle()
451        },
452        getPosition: function (t) {
453            return e.extend({}, t ? {
454                top: 0,
455                left: 0
456            } : this.$element.offset(), {
457                width: this.$element[0].offsetWidth,
458                height: this.$element[0].offsetHeight
459            })
460        },
461        getTitle: function () {
462            var e, t = this.$element,
463                n = this.options;
464            return e = t.attr("data-original-title") || (typeof n.title == "function" ? n.title.call(t[0]) : n.title), e
465        },
466        tip: function () {
467            return this.$tip = this.$tip || e(this.options.template)
468        },
469        validate: function () {
470            this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)
471        },
472        enable: function () {
473            this.enabled = !0
474        },
475        disable: function () {
476            this.enabled = !1
477        },
478        toggleEnabled: function () {
479            this.enabled = !this.enabled
480        },
481        toggle: function () {
482            this[this.tip().hasClass("in") ? "hide" : "show"]()
483        },
484        destroy: function () {
485            this.hide().$element.off("." + this.type).removeData(this.type)
486        }
487    }, e.fn.tooltip = function (n) {
488        return this.each(function () {
489            var r = e(this),
490                i = r.data("tooltip"),
491                s = typeof n == "object" && n;
492            i || r.data("tooltip", i = new t(this, s)), typeof n == "string" && i[n]()
493        })
494    }, e.fn.tooltip.Constructor = t, e.fn.tooltip.defaults = {
495        animation: !0,
496        placement: "top",
497        selector: !1,
498        template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
499        trigger: "hover",
500        title: "",
501        delay: 0,
502        html: !0
503    }
504}(window.jQuery), ! function (e) {
505    "use strict";
506    var t = function (e, t) {
507        this.init("popover", e, t)
508    };
509    t.prototype = e.extend({}, e.fn.tooltip.Constructor.prototype, {
510        constructor: t,
511        setContent: function () {
512            var e = this.tip(),
513                t = this.getTitle(),
514                n = this.getContent();
515            e.find(".popover-title")[this.options.html ? "html" : "text"](t), e.find(".popover-content > *")[this.options.html ? "html" : "text"](n), e.removeClass("fade top bottom left right in")
516        },
517        hasContent: function () {
518            return this.getTitle() || this.getContent()
519        },
520        getContent: function () {
521            var e, t = this.$element,
522                n = this.options;
523            return e = t.attr("data-content") || (typeof n.content == "function" ? n.content.call(t[0]) : n.content), e
524        },
525        tip: function () {
526            return this.$tip || (this.$tip = e(this.options.template)), this.$tip
527        },
528        destroy: function () {
529            this.hide().$element.off("." + this.type).removeData(this.type)
530        }
531    }), e.fn.popover = function (n) {
532        return this.each(function () {
533            var r = e(this),
534                i = r.data("popover"),
535                s = typeof n == "object" && n;
536            i || r.data("popover", i = new t(this, s)), typeof n == "string" && i[n]()
537        })
538    }, e.fn.popover.Constructor = t, e.fn.popover.defaults = e.extend({}, e.fn.tooltip.defaults, {
539        placement: "right",
540        trigger: "click",
541        content: "",
542        template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
543    })
544}(window.jQuery), ! function (e) {
545    "use strict";
546
547    function t(t, n) {
548        var r = e.proxy(this.process, this),
549            i = e(t).is("body") ? e(window) : e(t),
550            s;
551        this.options = e.extend({}, e.fn.scrollspy.defaults, n), this.$scrollElement = i.on("scroll.scroll-spy.data-api", r), this.selector = (this.options.target || (s = e(t).attr("href")) && s.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li > a", this.$body = e("body"), this.refresh(), this.process()
552    }
553    t.prototype = {
554        constructor: t,
555        refresh: function () {
556            var t = this,
557                n;
558            this.offsets = e([]), this.targets = e([]), n = this.$body.find(this.selector).map(function () {
559                var t = e(this),
560                    n = t.data("target") || t.attr("href"),
561                    r = /^#\w/.test(n) && e(n);
562                return r && r.length && [
563                    [r.position().top, n]
564                ] || null
565            }).sort(function (e, t) {
566                return e[0] - t[0]
567            }).each(function () {
568                t.offsets.push(this[0]), t.targets.push(this[1])
569            })
570        },
571        process: function () {
572            var e = this.$scrollElement.scrollTop() + this.options.offset,
573                t = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight,
574                n = t - this.$scrollElement.height(),
575                r = this.offsets,
576                i = this.targets,
577                s = this.activeTarget,
578                o;
579            if (e >= n) return s != (o = i.last()[0]) && this.activate(o);
580            for (o = r.length; o--;) s != i[o] && e >= r[o] && (!r[o + 1] || e <= r[o + 1]) && this.activate(i[o])
581        },
582        activate: function (t) {
583            var n, r;
584            this.activeTarget = t, e(this.selector).parent(".active").removeClass("active"), r = this.selector + '[data-target="' + t + '"],' + this.selector + '[href="' + t + '"]', n = e(r).parent("li").addClass("active"), n.parent(".dropdown-menu").length && (n = n.closest("li.dropdown").addClass("active")), n.trigger("activate")
585        }
586    }, e.fn.scrollspy = function (n) {
587        return this.each(function () {
588            var r = e(this),
589                i = r.data("scrollspy"),
590                s = typeof n == "object" && n;
591            i || r.data("scrollspy", i = new t(this, s)), typeof n == "string" && i[n]()
592        })
593    }, e.fn.scrollspy.Constructor = t, e.fn.scrollspy.defaults = {
594        offset: 10
595    }, e(window).on("load", function () {
596        e('[data-spy="scroll"]').each(function () {
597            var t = e(this);
598            t.scrollspy(t.data())
599        })
600    })
601}(window.jQuery), ! function (e) {
602    "use strict";
603    var t = function (t) {
604        this.element = e(t)
605    };
606    t.prototype = {
607        constructor: t,
608        show: function () {
609            var t = this.element,
610                n = t.closest("ul:not(.dropdown-menu)"),
611                r = t.attr("data-target"),
612                i, s, o;
613            r || (r = t.attr("href"), r = r && r.replace(/.*(?=#[^\s]*$)/, ""));
614            if (t.parent("li").hasClass("active")) return;
615            i = n.find(".active a").last()[0], o = e.Event("show", {
616                relatedTarget: i
617            }), t.trigger(o);
618            if (o.isDefaultPrevented()) return;
619            s = e(r), this.activate(t.parent("li"), n), this.activate(s, s.parent(), function () {
620                t.trigger({
621                    type: "shown",
622                    relatedTarget: i
623                })
624            })
625        },
626        activate: function (t, n, r) {
627            function o() {
628                i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), t.addClass("active"), s ? (t[0].offsetWidth, t.addClass("in")) : t.removeClass("fade"), t.parent(".dropdown-menu") && t.closest("li.dropdown").addClass("active"), r && r()
629            }
630            var i = n.find("> .active"),
631                s = r && e.support.transition && i.hasClass("fade");
632            s ? i.one(e.support.transition.end, o) : o(), i.removeClass("in")
633        }
634    }, e.fn.tab = function (n) {
635        return this.each(function () {
636            var r = e(this),
637                i = r.data("tab");
638            i || r.data("tab", i = new t(this)), typeof n == "string" && i[n]()
639        })
640    }, e.fn.tab.Constructor = t, e(function () {
641        e("body").on("click.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function (t) {
642            t.preventDefault(), e(this).tab("show")
643        })
644    })
645}(window.jQuery), ! function (e) {
646    "use strict";
647    var t = function (t, n) {
648        this.$element = e(t), this.options = e.extend({}, e.fn.typeahead.defaults, n), this.matcher = this.options.matcher || this.matcher, this.sorter = this.options.sorter || this.sorter, this.highlighter = this.options.highlighter || this.highlighter, this.updater = this.options.updater || this.updater, this.$menu = e(this.options.menu).appendTo("body"), this.source = this.options.source, this.shown = !1, this.listen()
649    };
650    t.prototype = {
651        constructor: t,
652        select: function () {
653            var e = this.$menu.find(".active").attr("data-value");
654            return this.$element.val(this.updater(e)).change(), this.hide()
655        },
656        updater: function (e) {
657            return e
658        },
659        show: function () {
660            var t = e.extend({}, this.$element.offset(), {
661                height: this.$element[0].offsetHeight
662            });
663            return this.$menu.css({
664                top: t.top + t.height,
665                left: t.left
666            }), this.$menu.show(), this.shown = !0, this
667        },
668        hide: function () {
669            return this.$menu.hide(), this.shown = !1, this
670        },
671        lookup: function (t) {
672            var n;
673            return this.query = this.$element.val(), !this.query || this.query.length < this.options.minLength ? this.shown ? this.hide() : this : (n = e.isFunction(this.source) ? this.source(this.query, e.proxy(this.process, this)) : this.source, n ? this.process(n) : this)
674        },
675        process: function (t) {
676            var n = this;
677            return t = e.grep(t, function (e) {
678                return n.matcher(e)
679            }), t = this.sorter(t), t.length ? this.render(t.slice(0, this.options.items)).show() : this.shown ? this.hide() : this
680        },
681        matcher: function (e) {
682            return~ e.toLowerCase().indexOf(this.query.toLowerCase())
683        },
684        sorter: function (e) {
685            var t = [],
686                n = [],
687                r = [],
688                i;
689            while (i = e.shift()) i.toLowerCase().indexOf(this.query.toLowerCase()) ? ~i.indexOf(this.query) ? n.push(i) : r.push(i) : t.push(i);
690            return t.concat(n, r)
691        },
692        highlighter: function (e) {
693            var t = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
694            return e.replace(new RegExp("(" + t + ")", "ig"), function (e, t) {
695                return "<strong>" + t + "</strong>"
696            })
697        },
698        render: function (t) {
699            var n = this;
700            return t = e(t).map(function (t, r) {
701                return t = e(n.options.item).attr("data-value", r), t.find("a").html(n.highlighter(r)), t[0]
702            }), t.first().addClass("active"), this.$menu.html(t), this
703        },
704        next: function (t) {
705            var n = this.$menu.find(".active").removeClass("active"),
706                r = n.next();
707            r.length || (r = e(this.$menu.find("li")[0])), r.addClass("active")
708        },
709        prev: function (e) {
710            var t = this.$menu.find(".active").removeClass("active"),
711                n = t.prev();
712            n.length || (n = this.$menu.find("li").last()), n.addClass("active")
713        },
714        listen: function () {
715            this.$element.on("blur", e.proxy(this.blur, this)).on("keypress", e.proxy(this.keypress, this)).on("keyup", e.proxy(this.keyup, this)), (e.browser.chrome || e.browser.webkit || e.browser.msie) && this.$element.on("keydown", e.proxy(this.keydown, this)), this.$menu.on("click", e.proxy(this.click, this)).on("mouseenter", "li", e.proxy(this.mouseenter, this))
716        },
717        move: function (e) {
718            if (!this.shown) return;
719            switch (e.keyCode) {
720            case 9:
721            case 13:
722            case 27:
723                e.preventDefault();
724                break;
725            case 38:
726                e.preventDefault(), this.prev();
727                break;
728            case 40:
729                e.preventDefault(), this.next()
730            }
731            e.stopPropagation()
732        },
733        keydown: function (t) {
734            this.suppressKeyPressRepeat = !~e.inArray(t.keyCode, [40, 38, 9, 13, 27]), this.move(t)
735        },
736        keypress: function (e) {
737            if (this.suppressKeyPressRepeat) return;
738            this.move(e)
739        },
740        keyup: function (e) {
741            switch (e.keyCode) {
742            case 40:
743            case 38:
744                break;
745            case 9:
746            case 13:
747                if (!this.shown) return;
748                this.select();
749                break;
750            case 27:
751                if (!this.shown) return;
752                this.hide();
753                break;
754            default:
755                this.lookup()
756            }
757            e.stopPropagation(), e.preventDefault()
758        },
759        blur: function (e) {
760            var t = this;
761            setTimeout(function () {
762                t.hide()
763            }, 150)
764        },
765        click: function (e) {
766            e.stopPropagation(), e.preventDefault(), this.select()
767        },
768        mouseenter: function (t) {
769            this.$menu.find(".active").removeClass("active"), e(t.currentTarget).addClass("active")
770        }
771    }, e.fn.typeahead = function (n) {
772        return this.each(function () {
773            var r = e(this),
774                i = r.data("typeahead"),
775                s = typeof n == "object" && n;
776            i || r.data("typeahead", i = new t(this, s)), typeof n == "string" && i[n]()
777        })
778    }, e.fn.typeahead.defaults = {
779        source: [],
780        items: 8,
781        menu: '<ul class="typeahead dropdown-menu"></ul>',
782        item: '<li><a href="#"></a></li>',
783        minLength: 1
784    }, e.fn.typeahead.Constructor = t, e(function () {
785        e("body").on("focus.typeahead.data-api", '[data-provide="typeahead"]', function (t) {
786            var n = e(this);
787            if (n.data("typeahead")) return;
788            t.preventDefault(), n.typeahead(n.data())
789        })
790    })
791}(window.jQuery), ! function (e) {
792    "use strict";
793    var t = function (t, n) {
794        this.options = e.extend({}, e.fn.affix.defaults, n), this.$window = e(window).on("scroll.affix.data-api", e.proxy(this.checkPosition, this)), this.$element = e(t), this.checkPosition()
795    };
796    t.prototype.checkPosition = function () {
797        if (!this.$element.is(":visible")) return;
798        var t = e(document).height(),
799            n = this.$window.scrollTop(),
800            r = this.$element.offset(),
801            i = this.options.offset,
802            s = i.bottom,
803            o = i.top,
804            u = "affix affix-top affix-bottom",
805            a;
806        typeof i != "object" && (s = o = i), typeof o == "function" && (o = i.top()), typeof s == "function" && (s = i.bottom()), a = this.unpin != null && n + this.unpin <= r.top ? !1 : s != null && r.top + this.$element.height() >= t - s ? "bottom" : o != null && n <= o ? "top" : !1;
807        if (this.affixed === a) return;
808        this.affixed = a, this.unpin = a == "bottom" ? r.top - n : null, this.$element.removeClass(u).addClass("affix" + (a ? "-" + a : ""))
809    }, e.fn.affix = function (n) {
810        return this.each(function () {
811            var r = e(this),
812                i = r.data("affix"),
813                s = typeof n == "object" && n;
814            i || r.data("affix", i = new t(this, s)), typeof n == "string" && i[n]()
815        })
816    }, e.fn.affix.Constructor = t, e.fn.affix.defaults = {
817        offset: 0
818    }, e(window).on("load", function () {
819        e('[data-spy="affix"]').each(function () {
820            var t = e(this),
821                n = t.data();
822            n.offset = n.offset || {}, n.offsetBottom && (n.offset.bottom = n.offsetBottom), n.offsetTop && (n.offset.top = n.offsetTop), t.affix(n)
823        })
824    })
825}(window.jQuery);

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.