var _____WB$wombat$assign$function_____=function(name){return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name))||self[name];};if(!self.__WB_pmw){self.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{ let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opens = _____WB$wombat$assign$function_____("opens"); /* =================================================== * bootstrap-transition.js v3.0.0 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ========================================================== */!function($) { "use strict"; $(function() { $.support.transition = function() { var transitionEnd = function() { var el = document.createElement("bootstrap"), transEndEventNames = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }, name; for (name in transEndEventNames) if (el.style[name] !== undefined) return transEndEventNames[name]; }(); return transitionEnd && { end: transitionEnd }; }(); }); }(window.jQuery); !function($) { "use strict"; var dismiss = '[data-dismiss="alert"]', Alert = function(el) { $(el).on("click", dismiss, this.close); }; Alert.prototype.close = function(e) { function removeElement() { $parent.trigger("closed").remove(); } var $this = $(this), selector = $this.attr("data-target"), $parent; if (!selector) { selector = $this.attr("href"); selector = selector && selector.replace(/.*(?=#[^\s]*$)/, ""); } $parent = $(selector); e && e.preventDefault(); $parent.length || ($parent = $this.hasClass("alert") ? $this : $this.parent()); $parent.trigger(e = $.Event("close")); if (e.isDefaultPrevented()) return; $parent.removeClass("in"); $.support.transition && $parent.hasClass("fade") ? $parent.on($.support.transition.end, removeElement) : removeElement(); }; var old = $.fn.alert; $.fn.alert = function(option) { return this.each(function() { var $this = $(this), data = $this.data("alert"); data || $this.data("alert", data = new Alert(this)); typeof option == "string" && data[option].call($this); }); }; $.fn.alert.Constructor = Alert; $.fn.alert.noConflict = function() { $.fn.alert = old; return this; }; $(document).on("click.alert.data-api", dismiss, Alert.prototype.close); }(window.jQuery); !function($) { "use strict"; var Button = function(element, options) { this.$element = $(element); this.options = $.extend({}, $.fn.button.defaults, options); }; Button.prototype.setState = function(state) { var d = "disabled", $el = this.$element, data = $el.data(), val = $el.is("input") ? "val" : "html"; state += "Text"; data.resetText || $el.data("resetText", $el[val]()); $el[val](data[state] || this.options[state]); setTimeout(function() { state == "loadingText" ? $el.addClass(d).attr(d, d) : $el.removeClass(d).removeAttr(d); }, 0); }; Button.prototype.toggle = function() { var $parent = this.$element.closest('[data-toggle="buttons-radio"]'); $parent && $parent.find(".active").removeClass("active"); this.$element.toggleClass("active"); }; var old = $.fn.button; $.fn.button = function(option) { return this.each(function() { var $this = $(this), data = $this.data("button"), options = typeof option == "object" && option; data || $this.data("button", data = new Button(this, options)); option == "toggle" ? data.toggle() : option && data.setState(option); }); }; $.fn.button.defaults = { loadingText: "loading..." }; $.fn.button.Constructor = Button; $.fn.button.noConflict = function() { $.fn.button = old; return this; }; $(document).on("click.button.data-api", "[data-toggle^=button]", function(e) { var $btn = $(e.target); $btn.hasClass("btn") || ($btn = $btn.closest(".btn")); $btn.button("toggle"); }); }(window.jQuery); !function($) { "use strict"; var Carousel = function(element, options) { this.$element = $(element); this.options = options; this.options.pause == "hover" && this.$element.on("mouseenter", $.proxy(this.pause, this)).on("mouseleave", $.proxy(this.cycle, this)); }; Carousel.prototype = { cycle: function(e) { e || (this.paused = !1); this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)); return this; }, to: function(pos) { var $active = this.$element.find(".item.active"), children = $active.parent().children(), activePos = children.index($active), that = this; if (pos > children.length - 1 || pos < 0) return; return this.sliding ? this.$element.one("slid", function() { that.to(pos); }) : activePos == pos ? this.pause().cycle() : this.slide(pos > activePos ? "next" : "prev", $(children[pos])); }, pause: function(e) { e || (this.paused = !0); if (this.$element.find(".next, .prev").length && $.support.transition.end) { this.$element.trigger($.support.transition.end); this.cycle(); } clearInterval(this.interval); this.interval = null; return this; }, next: function() { if (this.sliding) return; return this.slide("next"); }, prev: function() { if (this.sliding) return; return this.slide("prev"); }, slide: function(type, next) { var $active = this.$element.find(".item.active"), $next = next || $active[type](), isCycling = this.interval, direction = type == "next" ? "left" : "right", fallback = type == "next" ? "first" : "last", that = this, e; this.sliding = !0; isCycling && this.pause(); $next = $next.length ? $next : this.$element.find(".item")[fallback](); e = $.Event("slide", { relatedTarget: $next[0] }); if ($next.hasClass("active")) return; if ($.support.transition && this.$element.hasClass("slide")) { this.$element.trigger(e); if (e.isDefaultPrevented()) return; $next.addClass(type); $next[0].offsetWidth; $active.addClass(direction); $next.addClass(direction); this.$element.one($.support.transition.end, function() { $next.removeClass([ type, direction ].join(" ")).addClass("active"); $active.removeClass([ "active", direction ].join(" ")); that.sliding = !1; setTimeout(function() { that.$element.trigger("slid"); }, 0); }); } else { this.$element.trigger(e); if (e.isDefaultPrevented()) return; $active.removeClass("active"); $next.addClass("active"); this.sliding = !1; this.$element.trigger("slid"); } isCycling && this.cycle(); return this; } }; var old = $.fn.carousel; $.fn.carousel = function(option) { return this.each(function() { var $this = $(this), data = $this.data("carousel"), options = $.extend({}, $.fn.carousel.defaults, typeof option == "object" && option), action = typeof option == "string" ? option : options.slide; data || $this.data("carousel", data = new Carousel(this, options)); typeof option == "number" ? data.to(option) : action ? data[action]() : options.interval && data.cycle(); }); }; $.fn.carousel.defaults = { interval: 5e3, pause: "hover" }; $.fn.carousel.Constructor = Carousel; $.fn.carousel.noConflict = function() { $.fn.carousel = old; return this; }; $(document).on("click.carousel.data-api", "[data-slide]", function(e) { var $this = $(this), href, $target = $($this.attr("data-target") || (href = $this.attr("href")) && href.replace(/.*(?=#[^\s]+$)/, "")), options = $.extend({}, $target.data(), $this.data()); $target.carousel(options); e.preventDefault(); }); }(window.jQuery); !function($) { "use strict"; var Collapse = function(element, options) { this.$element = $(element); this.options = $.extend({}, $.fn.collapse.defaults, options); this.options.parent && (this.$parent = $(this.options.parent)); this.options.toggle && this.toggle(); }; Collapse.prototype = { constructor: Collapse, dimension: function() { var hasWidth = this.$element.hasClass("width"); return hasWidth ? "width" : "height"; }, show: function() { var dimension, scroll, actives, hasData; if (this.transitioning) return; dimension = this.dimension(); scroll = $.camelCase([ "scroll", dimension ].join("-")); actives = this.$parent && this.$parent.find("> .accordion-group > .in"); if (actives && actives.length) { hasData = actives.data("collapse"); if (hasData && hasData.transitioning) return; actives.collapse("hide"); hasData || actives.data("collapse", null); } this.$element[dimension](0); this.transition("addClass", $.Event("show"), "shown"); $.support.transition && this.$element[dimension](this.$element[0][scroll]); }, hide: function() { var dimension; if (this.transitioning) return; dimension = this.dimension(); this.reset(this.$element[dimension]()); this.transition("removeClass", $.Event("hide"), "hidden"); this.$element[dimension](0); }, reset: function(size) { var dimension = this.dimension(); this.$element.removeClass("collapse")[dimension](size || "auto")[0].offsetWidth; this.$element[size !== null ? "addClass" : "removeClass"]("collapse"); return this; }, transition: function(method, startEvent, completeEvent) { var that = this, complete = function() { startEvent.type == "show" && that.reset(); that.transitioning = 0; that.$element.trigger(completeEvent); }; this.$element.trigger(startEvent); if (startEvent.isDefaultPrevented()) return; this.transitioning = 1; this.$element[method]("in"); $.support.transition && this.$element.hasClass("collapse") ? this.$element.one($.support.transition.end, complete) : complete(); }, toggle: function() { this[this.$element.hasClass("in") ? "hide" : "show"](); } }; var old = $.fn.collapse; $.fn.collapse = function(option) { return this.each(function() { var $this = $(this), data = $this.data("collapse"), options = typeof option == "object" && option; data || $this.data("collapse", data = new Collapse(this, options)); typeof option == "string" && data[option](); }); }; $.fn.collapse.defaults = { toggle: !0 }; $.fn.collapse.Constructor = Collapse; $.fn.collapse.noConflict = function() { $.fn.collapse = old; return this; }; $(document).on("click.collapse.data-api", "[data-toggle=collapse]", function(e) { var $this = $(this), href, target = $this.attr("data-target") || e.preventDefault() || (href = $this.attr("href")) && href.replace(/.*(?=#[^\s]+$)/, ""), option = $(target).data("collapse") ? "toggle" : $this.data(); $this[$(target).hasClass("in") ? "addClass" : "removeClass"]("collapsed"); $(target).collapse(option); }); }(window.jQuery); !function($) { "use strict"; function clearMenus() { $(toggle).each(function() { getParent($(this)).removeClass("open"); }); } function getParent($this) { var selector = $this.attr("data-target"), $parent; if (!selector) { selector = $this.attr("href"); selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, ""); } $parent = $(selector); $parent.length || ($parent = $this.parent()); return $parent; } var toggle = "[data-toggle=dropdown]", Dropdown = function(element) { var $el = $(element).on("click.dropdown.data-api", this.toggle); $("html").on("click.dropdown.data-api", function() { $el.parent().removeClass("open"); }); }; Dropdown.prototype = { constructor: Dropdown, toggle: function(e) { var $this = $(this), $parent, isActive; if ($this.is(".disabled, :disabled")) return; $parent = getParent($this); isActive = $parent.hasClass("open"); clearMenus(); isActive || $parent.toggleClass("open"); $this.focus(); return !1; }, keydown: function(e) { var $this, $items, $active, $parent, isActive, index; if (!/(38|40|27)/.test(e.keyCode)) return; $this = $(this); e.preventDefault(); e.stopPropagation(); if ($this.is(".disabled, :disabled")) return; $parent = getParent($this); isActive = $parent.hasClass("open"); if (!isActive || isActive && e.keyCode == 27) return $this.click(); $items = $("[role=menu] li:not(.divider):visible a", $parent); if (!$items.length) return; index = $items.index($items.filter(":focus")); e.keyCode == 38 && index > 0 && index--; e.keyCode == 40 && index < $items.length - 1 && index++; ~index || (index = 0); $items.eq(index).focus(); } }; var old = $.fn.dropdown; $.fn.dropdown = function(option) { return this.each(function() { var $this = $(this), data = $this.data("dropdown"); data || $this.data("dropdown", data = new Dropdown(this)); typeof option == "string" && data[option].call($this); }); }; $.fn.dropdown.Constructor = Dropdown; $.fn.dropdown.noConflict = function() { $.fn.dropdown = old; return this; }; $(document).on("click.dropdown.data-api touchstart.dropdown.data-api", clearMenus).on("click.dropdown touchstart.dropdown.data-api", ".dropdown form", function(e) { e.stopPropagation(); }).on("touchstart.dropdown.data-api", ".dropdown-menu", function(e) { e.stopPropagation(); }).on("click.dropdown.data-api touchstart.dropdown.data-api", toggle, Dropdown.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api", toggle + ", [role=menu]", Dropdown.prototype.keydown); }(window.jQuery); !function($) { "use strict"; var Modal = function(element, options) { this.options = options; this.$element = $(element).delegate('[data-dismiss="modal"]', "click.dismiss.modal", $.proxy(this.hide, this)); this.options.remote && this.$element.find(".modal-body").load(this.options.remote); }; Modal.prototype = { constructor: Modal, toggle: function() { return this[this.isShown ? "hide" : "show"](); }, show: function() { var that = this, e = $.Event("show"); this.$element.trigger(e); if (this.isShown || e.isDefaultPrevented()) return; this.isShown = !0; this.escape(); this.backdrop(function() { var transition = $.support.transition && that.$element.hasClass("fade"); that.$element.parent().length || that.$element.appendTo(document.body); that.$element.show(); transition && that.$element[0].offsetWidth; that.$element.addClass("in").attr("aria-hidden", !1); that.enforceFocus(); transition ? that.$element.one($.support.transition.end, function() { that.$element.focus().trigger("shown"); }) : that.$element.focus().trigger("shown"); }); }, hide: function(e) { e && e.preventDefault(); var that = this; e = $.Event("hide"); this.$element.trigger(e); if (!this.isShown || e.isDefaultPrevented()) return; this.isShown = !1; this.escape(); $(document).off("focusin.modal"); this.$element.removeClass("in").attr("aria-hidden", !0); $.support.transition && this.$element.hasClass("fade") ? this.hideWithTransition() : this.hideModal(); }, enforceFocus: function() { var that = this; $(document).on("focusin.modal", function(e) { that.$element[0] !== e.target && !that.$element.has(e.target).length && that.$element.focus(); }); }, escape: function() { var that = this; this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.modal", function(e) { e.which == 27 && that.hide(); }) : this.isShown || this.$element.off("keyup.dismiss.modal"); }, hideWithTransition: function() { var that = this, timeout = setTimeout(function() { that.$element.off($.support.transition.end); that.hideModal(); }, 500); this.$element.one($.support.transition.end, function() { clearTimeout(timeout); that.hideModal(); }); }, hideModal: function(that) { this.$element.hide().trigger("hidden"); this.backdrop(); }, removeBackdrop: function() { this.$backdrop.remove(); this.$backdrop = null; }, backdrop: function(callback) { var that = this, animate = this.$element.hasClass("fade") ? "fade" : ""; if (this.isShown && this.options.backdrop) { var doAnimate = $.support.transition && animate; this.$backdrop = $('
').appendTo(document.body); this.$backdrop.click(this.options.backdrop == "static" ? $.proxy(this.$element[0].focus, this.$element[0]) : $.proxy(this.hide, this)); doAnimate && this.$backdrop[0].offsetWidth; this.$backdrop.addClass("in"); doAnimate ? this.$backdrop.one($.support.transition.end, callback) : callback(); } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass("in"); $.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) : this.removeBackdrop(); } else callback && callback(); } }; var old = $.fn.modal; $.fn.modal = function(option) { return this.each(function() { var $this = $(this), data = $this.data("modal"), options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == "object" && option); data || $this.data("modal", data = new Modal(this, options)); typeof option == "string" ? data[option]() : options.show && data.show(); }); }; $.fn.modal.defaults = { backdrop: !0, keyboard: !0, show: !0 }; $.fn.modal.Constructor = Modal; $.fn.modal.noConflict = function() { $.fn.modal = old; return this; }; $(document).on("click.modal.data-api", '[data-toggle="modal"]', function(e) { var $this = $(this), href = $this.attr("href"), $target = $($this.attr("data-target") || href && href.replace(/.*(?=#[^\s]+$)/, "")), option = $target.data("modal") ? "toggle" : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()); e.preventDefault(); $target.modal(option).one("hide", function() { $this.focus(); }); }); }(window.jQuery); !function($) { "use strict"; var Tooltip = function(element, options) { this.init("tooltip", element, options); }; Tooltip.prototype = { constructor: Tooltip, init: function(type, element, options) { var eventIn, eventOut; this.type = type; this.$element = $(element); this.options = this.getOptions(options); this.enabled = !0; if (this.options.trigger == "click") this.$element.on("click." + this.type, this.options.selector, $.proxy(this.toggle, this)); else if (this.options.trigger != "manual") { eventIn = this.options.trigger == "hover" ? "mouseenter" : "focus"; eventOut = this.options.trigger == "hover" ? "mouseleave" : "blur"; this.$element.on(eventIn + "." + this.type, this.options.selector, $.proxy(this.enter, this)); this.$element.on(eventOut + "." + this.type, this.options.selector, $.proxy(this.leave, this)); } this.options.selector ? this._options = $.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle(); }, getOptions: function(options) { options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()); options.delay && typeof options.delay == "number" && (options.delay = { show: options.delay, hide: options.delay }); return options; }, enter: function(e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type); if (!self.options.delay || !self.options.delay.show) return self.show(); clearTimeout(this.timeout); self.hoverState = "in"; this.timeout = setTimeout(function() { self.hoverState == "in" && self.show(); }, self.options.delay.show); }, leave: function(e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type); this.timeout && clearTimeout(this.timeout); if (!self.options.delay || !self.options.delay.hide) return self.hide(); self.hoverState = "out"; this.timeout = setTimeout(function() { self.hoverState == "out" && self.hide(); }, self.options.delay.hide); }, show: function() { var $tip, inside, pos, actualWidth, actualHeight, placement, tp; if (this.hasContent() && this.enabled) { $tip = this.tip(); this.setContent(); this.options.animation && $tip.addClass("fade"); placement = typeof this.options.placement == "function" ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement; inside = /in/.test(placement); $tip.detach().css({ top: 0, left: 0, display: "block" }).insertAfter(this.$element); pos = this.getPosition(inside); actualWidth = $tip[0].offsetWidth; actualHeight = $tip[0].offsetHeight; switch (inside ? placement.split(" ")[1] : placement) { case "bottom": tp = { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 }; break; case "top": tp = { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 }; break; case "left": tp = { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth }; break; case "right": tp = { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }; } $tip.offset(tp).addClass(placement).addClass("in"); } }, setContent: function() { var $tip = this.tip(), title = this.getTitle(); $tip.find(".tooltip-inner")[this.options.html ? "html" : "text"](title); $tip.removeClass("fade in top bottom left right"); }, hide: function() { function removeWithAnimation() { var timeout = setTimeout(function() { $tip.off($.support.transition.end).detach(); }, 500); $tip.one($.support.transition.end, function() { clearTimeout(timeout); $tip.detach(); }); } var that = this, $tip = this.tip(); $tip.removeClass("in"); $.support.transition && this.$tip.hasClass("fade") ? removeWithAnimation() : $tip.detach(); return this; }, fixTitle: function() { var $e = this.$element; ($e.attr("title") || typeof $e.attr("data-original-title") != "string") && $e.attr("data-original-title", $e.attr("title") || "").removeAttr("title"); }, hasContent: function() { return this.getTitle(); }, getPosition: function(inside) { return $.extend({}, inside ? { top: 0, left: 0 } : this.$element.offset(), { width: this.$element[0].offsetWidth, height: this.$element[0].offsetHeight }); }, getTitle: function() { var title, $e = this.$element, o = this.options; title = $e.attr("data-original-title") || (typeof o.title == "function" ? o.title.call($e[0]) : o.title); return title; }, tip: function() { return this.$tip = this.$tip || $(this.options.template); }, validate: function() { if (!this.$element[0].parentNode) { this.hide(); this.$element = null; this.options = null; } }, enable: function() { this.enabled = !0; }, disable: function() { this.enabled = !1; }, toggleEnabled: function() { this.enabled = !this.enabled; }, toggle: function(e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type); self[self.tip().hasClass("in") ? "hide" : "show"](); }, destroy: function() { this.hide().$element.off("." + this.type).removeData(this.type); } }; var old = $.fn.tooltip; $.fn.tooltip = function(option) { return this.each(function() { var $this = $(this), data = $this.data("tooltip"), options = typeof option == "object" && option; data || $this.data("tooltip", data = new Tooltip(this, options)); typeof option == "string" && data[option](); }); }; $.fn.tooltip.Constructor = Tooltip; $.fn.tooltip.defaults = { animation: !0, placement: "top", selector: !1, template: '