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