PageSourceSearch

https://www.lameziere.com/wp-content/themes/citeo/assets/js/beaver.min.js?ver=20150316

js lameziere.com collected 2026-10-02 19:33:36 UTC 129,326 bytes, 2,146 lines download raw bytes

1! function(a, b, c, d) {
2    function e(b, c) {
3        b.owlCarousel = {
4            name: "Owl Carousel",
5            author: "Bartosz Wojciechowski",
6            version: "2.0.0-beta.2.1"
7        }, this.settings = null, this.options = a.extend({}, e.Defaults, c), this.itemData = a.extend({}, l), this.dom = a.extend({}, m), this.width = a.extend({}, n), this.num = a.extend({}, o), this.drag = a.extend({}, q), this.state = a.extend({}, r), this.e = a.extend({}, s), this.plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = null, this.dom.el = b, this.dom.$el = a(b);
8        for (var d in e.Plugins) this.plugins[d[0].toLowerCase() + d.slice(1)] = new e.Plugins[d](this);
9        this.init()
10    }
11
12    function f(a) {
13        var b, d, e = c.createElement("div"),
14            f = a;
15        for (b in f)
16            if (d = f[b], "undefined" != typeof e.style[d]) return e = null, [d, b];
17        return [!1]
18    }
19
20    function g() {
21        return f(["transition", "WebkitTransition", "MozTransition", "OTransition"])[1]
22    }
23
24    function h() {
25        return f(["transform", "WebkitTransform", "MozTransform", "OTransform", "msTransform"])[0]
26    }
27
28    function i() {
29        return f(["perspective", "webkitPerspective", "MozPerspective", "OPerspective", "MsPerspective"])[0]
30    }
31
32    function j() {
33        return "ontouchstart" in b || !!navigator.msMaxTouchPoints
34    }
35
36    function k() {
37        return b.navigator.msPointerEnabled
38    }
39    var l, m, n, o, p, q, r, s;
40    l = {
41        index: !1,
42        indexAbs: !1,
43        posLeft: !1,
44        clone: !1,
45        active: !1,
46        loaded: !1,
47        lazyLoad: !1,
48        current: !1,
49        width: !1,
50        center: !1,
51        page: !1,
52        hasVideo: !1,
53        playVideo: !1
54    }, m = {
55        el: null,
56        $el: null,
57        stage: null,
58        $stage: null,
59        oStage: null,
60        $oStage: null,
61        $items: null,
62        $oItems: null,
63        $cItems: null,
64        $content: null
65    }, n = {
66        el: 0,
67        stage: 0,
68        item: 0,
69        prevWindow: 0,
70        cloneLast: 0
71    }, o = {
72        items: 0,
73        oItems: 0,
74        cItems: 0,
75        active: 0,
76        merged: []
77    }, q = {
78        start: 0,
79        startX: 0,
80        startY: 0,
81        current: 0,
82        currentX: 0,
83        currentY: 0,
84        offsetX: 0,
85        offsetY: 0,
86        distance: null,
87        startTime: 0,
88        endTime: 0,
89        updatedX: 0,
90        targetEl: null
91    }, r = {
92        isTouch: !1,
93        isScrolling: !1,
94        isSwiping: !1,
95        direction: !1,
96        inMotion: !1
97    }, s = {
98        _onDragStart: null,
99        _onDragMove: null,
100        _onDragEnd: null,
101        _transitionEnd: null,
102        _resizer: null,
103        _responsiveCall: null,
104        _goToLoop: null,
105        _checkVisibile: null
106    }, e.Defaults = {
107        items: 3,
108        loop: !1,
109        center: !1,
110        mouseDrag: !0,
111        touchDrag: !0,
112        pullDrag: !0,
113        freeDrag: !1,
114        margin: 0,
115        stagePadding: 0,
116        merge: !1,
117        mergeFit: !0,
118        autoWidth: !1,
119        startPosition: 0,
120        smartSpeed: 250,
121        fluidSpeed: !1,
122        dragEndSpeed: !1,
123        responsive: {},
124        responsiveRefreshRate: 200,
125        responsiveBaseElement: b,
126        responsiveClass: !1,
127        fallbackEasing: "swing",
128        info: !1,
129        nestedItemSelector: !1,
130        itemElement: "div",
131        stageElement: "div",
132        themeClass: "owl-theme",
133        baseClass: "owl-carousel",
134        itemClass: "owl-item",
135        centerClass: "center",
136        activeClass: "active"
137    }, e.Plugins = {}, e.prototype.init = function() {
138        if (this.setResponsiveOptions(), this.trigger("initialize"), this.dom.$el.hasClass(this.settings.baseClass) || this.dom.$el.addClass(this.settings.baseClass), this.dom.$el.hasClass(this.settings.themeClass) || this.dom.$el.addClass(this.settings.themeClass), this.settings.rtl && this.dom.$el.addClass("owl-rtl"), this.browserSupport(), this.settings.autoWidth && this.state.imagesLoaded !== !0) {
139            var a, b, c;
140            if (a = this.dom.$el.find("img"), b = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : d, c = this.dom.$el.children(b).width(), a.length && 0 >= c) return this.preloadAutoWidthImages(a), !1
141        }
142        this.width.prevWindow = this.viewport(), this.createStage(), this.fetchContent(), this.eventsCall(), this.internalEvents(), this.dom.$el.addClass("owl-loading"), this.refresh(!0), this.dom.$el.removeClass("owl-loading").addClass("owl-loaded"), this.trigger("initialized"), this.addTriggerableEvents()
143    }, e.prototype.setResponsiveOptions = function() {
144        if (this.options.responsive) {
145            var b = this.viewport(),
146                c = this.options.responsive,
147                d = -1;
148            a.each(c, function(a) {
149                b >= a && a > d && (d = Number(a))
150            }), this.settings = a.extend({}, this.options, c[d]), delete this.settings.responsive, this.settings.responsiveClass && this.dom.$el.attr("class", function(a, b) {
151                return b.replace(/\b owl-responsive-\S+/g, "")
152            }).addClass("owl-responsive-" + d)
153        } else this.settings = a.extend({}, this.options)
154    }, e.prototype.optionsLogic = function() {
155        this.dom.$el.toggleClass("owl-center", this.settings.center), this.settings.loop && this.num.oItems < this.settings.items && (this.settings.loop = !1), this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1)
156    }, e.prototype.createStage = function() {
157        var b = c.createElement("div"),
158            d = c.createElement(this.settings.stageElement);
159        b.className = "owl-stage-outer", d.className = "owl-stage", b.appendChild(d), this.dom.el.appendChild(b), this.dom.oStage = b, this.dom.$oStage = a(b), this.dom.stage = d, this.dom.$stage = a(d), b = null, d = null
160    }, e.prototype.createItemContainer = function() {
161        var b = c.createElement(this.settings.itemElement);
162        return b.className = this.settings.itemClass, a(b)
163    }, e.prototype.fetchContent = function(b) {
164        b ? this.dom.$content = b instanceof jQuery ? b : a(b) : this.settings.nestedItemSelector ? this.dom.$content = this.dom.$el.find("." + this.settings.nestedItemSelector).not(".owl-stage-outer") : this.dom.$content = this.dom.$el.children().not(".owl-stage-outer"), this.num.oItems = this.dom.$content.length, 0 !== this.num.oItems && this.initStructure()
165    }, e.prototype.initStructure = function() {
166        this.createNormalStructure()
167    }, e.prototype.createNormalStructure = function() {
168        var a, b;
169        for (a = 0; a < this.num.oItems; a++) b = this.createItemContainer(), this.initializeItemContainer(b, this.dom.$content[a]), this.dom.$stage.append(b);
170        this.dom.$content = null
171    }, e.prototype.createCustomStructure = function(a) {
172        var b, c;
173        for (b = 0; a > b; b++) c = this.createItemContainer(), this.createItemContainerData(c), this.dom.$stage.append(c)
174    }, e.prototype.initializeItemContainer = function(a, b) {
175        this.trigger("change", {
176            property: {
177                name: "item",
178                value: a
179            }
180        }), this.createItemContainerData(a), a.append(b), this.trigger("changed", {
181            property: {
182                name: "item",
183                value: a
184            }
185        })
186    }, e.prototype.createItemContainerData = function(b, c) {
187        var d = a.extend({}, this.itemData);
188        c && a.extend(d, c.data("owl-item")), b.data("owl-item", d)
189    }, e.prototype.cloneItemContainer = function(a) {
190        var b = a.clone(!0, !0).addClass("cloned");
191        return this.createItemContainerData(b, b), b.data("owl-item").clone = !0, b
192    }, e.prototype.updateLocalContent = function() {
193        var b, c;
194        for (this.dom.$oItems = this.dom.$stage.find("." + this.settings.itemClass).filter(function() {
195                return a(this).data("owl-item").clone === !1
196            }), this.num.oItems = this.dom.$oItems.length, b = 0; b < this.num.oItems; b++) c = this.dom.$oItems.eq(b), c.data("owl-item").index = b
197    }, e.prototype.loopClone = function() {
198        if (!this.settings.loop || this.num.oItems < this.settings.items) return !1;
199        var b, c, d, e = this.settings.items,
200            f = this.num.oItems - 1;
201        for (this.settings.stagePadding && 1 === this.settings.items && (e += 1), this.num.c
201Items = 2 * e, d = 0; e > d; d++) b = this.cloneItemContainer(this.dom.$oItems.eq(d)), c = this.cloneItemContainer(this.dom.$oItems.eq(f - d)), this.dom.$stage.append(b), this.dom.$stage.prepend(c);
202        this.dom.$cItems = this.dom.$stage.find("." + this.settings.itemClass).filter(function() {
203            return a(this).data("owl-item").clone === !0
204        })
205    }, e.prototype.reClone = function() {
206        null !== this.dom.$cItems && (this.dom.$cItems.remove(), this.dom.$cItems = null, this.num.cItems = 0), this.settings.loop && this.loopClone()
207    }, e.prototype.calculate = function() {
208        var a, b, c, d, e, f, g, h = 0,
209            i = 0;
210        for (this.width.el = this.dom.$el.width() - 2 * this.settings.stagePadding, this.width.view = this.dom.$el.width(), c = this.width.el - this.settings.margin * (1 === this.settings.items ? 0 : this.settings.items - 1), this.width.el = this.width.el + this.settings.margin, this.width.item = (c / this.settings.items + this.settings.margin).toFixed(3), this.dom.$items = this.dom.$stage.find(".owl-item"), this.num.items = this.dom.$items.length, this.settings.autoWidth && this.dom.$items.css("width", ""), this._coordinates = [], this.num.merged = [], d = this.settings.rtl ? this.settings.center ? -(this.width.el / 2) : 0 : this.settings.center ? this.width.el / 2 : 0, this.width.mergeStage = 0, a = 0; a < this.num.items; a++) this.settings.merge ? (g = this.dom.$items.eq(a).find("[data-merge]").attr("data-merge") || 1, this.settings.mergeFit && g > this.settings.items && (g = this.settings.items), this.num.merged.push(parseInt(g)), this.width.mergeStage += this.width.item * this.num.merged[a]) : this.num.merged.push(1), f = this.width.item * this.num.merged[a], this.settings.autoWidth && (f = this.dom.$items.eq(a).width() + this.settings.margin, this.settings.rtl ? this.dom.$items[a].style.marginLeft = this.settings.margin + "px" : this.dom.$items[a].style.marginRight = this.settings.margin + "px"), this._coordinates.push(d), this.dom.$items.eq(a).data("owl-item").posLeft = h, this.dom.$items.eq(a).data("owl-item").width = f, this.settings.rtl ? (d += f, h += f) : (d -= f, h -= f), i -= Math.abs(f), this.settings.center && (this._coordinates[a] = this.settings.rtl ? this._coordinates[a] + f / 2 : this._coordinates[a] - f / 2);
211        for (this.settings.autoWidth ? this.width.stage = this.settings.center ? Math.abs(i) : Math.abs(d) : this.width.stage = Math.abs(i), e = this.num.oItems + this.num.cItems, b = 0; e > b; b++) this.dom.$items.eq(b).data("owl-item").indexAbs = b;
212        this.setSizes()
213    }, e.prototype.setSizes = function() {
214        this.settings.stagePadding !== !1 && (this.dom.oStage.style.paddingLeft = this.settings.stagePadding + "px", this.dom.oStage.style.paddingRight = this.settings.stagePadding + "px"), this.settings.rtl ? b.setTimeout(a.proxy(function() {
215            this.dom.stage.style.width = this.width.stage + "px"
216        }, this), 0) : this.dom.stage.style.width = this.width.stage + "px";
217        for (var c = 0; c < this.num.items; c++) this.settings.autoWidth || (this.dom.$items[c].style.width = this.width.item - this.settings.margin + "px"), this.settings.rtl ? this.dom.$items[c].style.marginLeft = this.settings.margin + "px" : this.dom.$items[c].style.marginRight = this.settings.margin + "px", 1 === this.num.merged[c] || this.settings.autoWidth || (this.dom.$items[c].style.width = this.width.item * this.num.merged[c] - this.settings.margin + "px");
218        this.width.stagePrev = this.width.stage
219    }, e.prototype.responsive = function() {
220        if (!this.num.oItems) return !1;
221        var a = this.isElWidthChanged();
222        return a ? this.trigger("resize").isDefaultPrevented() ? !1 : (this.state.responsive = !0, this.refresh(), this.state.responsive = !1, void this.trigger("resized")) : !1
223    }, e.prototype.refresh = function() {
224        var a = this.dom.$oItems && this.dom.$oItems.eq(this.normalize(this.current(), !0));
225        return this.trigger("refresh"), this.setResponsiveOptions(), this.updateLocalContent(), this.optionsLogic(), 0 === this.num.oItems ? !1 : (this.dom.$stage.addClass("owl-refresh"), this.reClone(), this.calculate(), this.dom.$stage.removeClass("owl-refresh"), a ? this.reset(a.data("owl-item").indexAbs) : (this.dom.oStage.scrollLeft = 0, this.reset(this.dom.$oItems.eq(0).data("owl-item").indexAbs)), this.state.orientation = b.orientation, this.watchVisibility(), void this.trigger("refreshed"))
226    }, e.prototype.updateActiveItems = function() {
227        this.trigger("change", {
228            property: {
229                name: "items",
230                value: this.dom.$items
231            }
232        });
233        var a, b, c, d, e, f;
234        for (a = 0; a < this.num.items; a++) this.dom.$items.eq(a).data("owl-item").active = !1, this.dom.$items.eq(a).data("owl-item").current = !1, this.dom.$items.eq(a).removeClass(this.settings.activeClass).removeClass(this.settings.centerClass);
235        for (this.num.active = 0, padding = 2 * this.settings.stagePadding, stageX = this.coordinates(this.current()) + padding, view = this.settings.rtl ? this.width.view : -this.width.view, b = 0; b < this.num.items; b++) c = this.dom.$items.eq(b), d = c.data("owl-item").posLeft, e = c.data("owl-item").width, f = this.settings.rtl ? d - e - padding : d - e + padding, (this.op(d, "<=", stageX) && this.op(d, ">", stageX + view) || this.op(f, "<", stageX) && this.op(f, ">", stageX + view)) && (this.num.active++, c.data("owl-item").active = !0, c.data("owl-item").current = !0, c.addClass(this.settings.activeClass), this.settings.lazyLoad || (c.data("owl-item").loaded = !0), this.settings.loop && this.updateClonedItemsState(c.data("owl-item").index));
236        this.settings.center && (this.dom.$items.eq(this.current()).addClass(this.settings.centerClass).data("owl-item").center = !0), this.trigger("changed", {
237            property: {
238                name: "items",
239                value: this.dom.$items
240            }
241        })
242    }, e.prototype.updateClonedItemsState = function(a) {
243        var b, c, d;
244        for (this.settings.center && (b = this.dom.$items.eq(this.current()).data("owl-item").index), d = 0; d < this.num.items; d++) c = this.dom.$items.eq(d), c.data("owl-item").index === a && (c.data("owl-item").current = !0, c.data("owl-item").index === b && c.addClass(this.settings.centerClass))
245    }, e.prototype.eventsCall = function() {
246        this.e._onDragStart = a.proxy(function(a) {
247            this.onDragStart(a)
248        }, this), this.e._onDragMove = a.proxy(function(a) {
249            this.onDragMove(a)
250        }, this), this.e._onDragEnd = a.proxy(function(a) {
251            this.onDragEnd(a)
252        }, this), this.e._transitionEnd = a.proxy(function(a) {
253            this.transitionEnd(a)
254        }, this), this.e._resizer = a.proxy(function() {
255            this.responsiveTimer()
256        }, this), this.e._responsiveCall = a.proxy(function() {
257            this.responsive()
258        }, this), this.e._preventClick = a.proxy(function(a) {
259            this.preventClick(a)
260        }, this)
261    }, e.prototype.responsiveTimer = function() {
262        return this.viewport() === this.width.prevWindow ? !1 : (b.clearTimeout(this.resizeTimer), this.resizeTimer = b.setTimeout(this.e._responsiveCall, this.settings.responsiveRefreshRate), void(this.width.prevWindow = this.viewport()))
263    }, e.prototype.internalEvents = function() {
264        var a = j(),
265            d = k();
266        a && !d ? this.dragType = ["touchstart", "touchmove", "touchend", "touchcancel"] : a && d ? this.dragType = ["MSPointerDown", "MSPointerMove", "MSPointerUp", "MSPointerCancel"] : this.dragType = ["mousedown", "mousemove", "mouseup"], (a || d) && this.settings.touchDrag ? this.on(c, this.dragType[3], this.e._onDragEnd) : (this.dom.$stage.on("dragstart", function() {
267            return !1
268        }), this.settings.mouseDrag ? this.dom.stage.onselectstart = function() {
269            return !1
270        } : this.dom.$el.addClass("owl-text-select-on")), this.transitionEndVendor && this.on(this.dom.stage, this.transitionEndVendor, this.e._transitionEnd, !1), this.settings.responsive !== !1 && this.on(b, "resize", this.e._resizer, !1), this.dragEvents()
271    }, e.prototype.dragEvents = function() {
272        !this.settings.touchDrag || "touchstart" !== this.dragType[0] && "MSPointerDown" !== this.dragType[0] ? this.settings.mouseDrag && "mousedown" === this.dragType[0] ? this.on(this.dom.stage, this.dragType[0], this.e._onDragStart, !1) : this.off(this.dom.stage, this.dragType[0], this.e._onDragStart) : this.on(this.dom.stage, this.dragType[0], this.e._onDragStart, !1)
273    }, e.prototype.onDragStart = function(a) {
274        var d, e, f, g, h;
275        if (d = a.originalEvent || a || b.event, 3 === d.which) return !1;
276        if ("mousedown" === this.dragType[0] && this.dom.$stage.addClass("owl-grab"), this.trigger("drag"), this.drag.startTime = (new Date).getTime(), this.speed(0), this.state.isTouch = !0, this.state.isScrolling = !1, this.state.isSwiping = !1, this.drag.distance = 0, e = "touchstart" === d.t
276ype, f = e ? a.targetTouches[0].pageX : d.pageX || d.clientX, g = e ? a.targetTouches[0].pageY : d.pageY || d.clientY, this.drag.offsetX = this.dom.$stage.position().left - this.settings.stagePadding, this.drag.offsetY = this.dom.$stage.position().top, this.settings.rtl && (this.drag.offsetX = this.dom.$stage.position().left + this.width.stage - this.width.el + this.settings.margin), this.state.inMotion && this.support3d) h = this.getTransformProperty(), this.drag.offsetX = h, this.animate(h), this.state.inMotion = !0;
277        else if (this.state.inMotion && !this.support3d) return this.state.inMotion = !1, !1;
278        this.drag.startX = f - this.drag.offsetX, this.drag.startY = g - this.drag.offsetY, this.drag.start = f - this.drag.startX, this.drag.targetEl = d.target || d.srcElement, this.drag.updatedX = this.drag.start, ("IMG" === this.drag.targetEl.tagName || "A" === this.drag.targetEl.tagName) && (this.drag.targetEl.draggable = !1), this.on(c, this.dragType[1], this.e._onDragMove, !1), this.on(c, this.dragType[2], this.e._onDragEnd, !1)
279    }, e.prototype.onDragMove = function(a) {
280        var c, e, f, g, h, i, j;
281        this.state.isTouch && (this.state.isScrolling || (c = a.originalEvent || a || b.event, e = "touchmove" == c.type, f = e ? c.targetTouches[0].pageX : c.pageX || c.clientX, g = e ? c.targetTouches[0].pageY : c.pageY || c.clientY, this.drag.currentX = f - this.drag.startX, this.drag.currentY = g - this.drag.startY, this.drag.distance = this.drag.currentX - this.drag.offsetX, this.drag.distance < 0 ? this.state.direction = this.settings.rtl ? "right" : "left" : this.drag.distance > 0 && (this.state.direction = this.settings.rtl ? "left" : "right"), this.settings.loop ? this.op(this.drag.currentX, ">", this.coordinates(this.minimum())) && "right" === this.state.direction ? this.drag.currentX -= (this.settings.center && this.coordinates(0)) - this.coordinates(this.num.oItems) : this.op(this.drag.currentX, "<", this.coordinates(this.maximum())) && "left" === this.state.direction && (this.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this.num.oItems)) : (h = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()), i = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()), j = this.settings.pullDrag ? this.drag.distance / 5 : 0, this.drag.currentX = Math.max(Math.min(this.drag.currentX, h + j), i + j)), (this.drag.distance > 8 || this.drag.distance < -8) && (c.preventDefault !== d ? c.preventDefault() : c.returnValue = !1, this.state.isSwiping = !0), this.drag.updatedX = this.drag.currentX, (this.drag.currentY > 16 || this.drag.currentY < -16) && this.state.isSwiping === !1 && (this.state.isScrolling = !0, this.drag.updatedX = this.drag.start), this.animate(this.drag.updatedX)))
282    }, e.prototype.onDragEnd = function() {
283        var a, b, d;
284        if (this.state.isTouch) {
285            if ("mousedown" === this.dragType[0] && this.dom.$stage.removeClass("owl-grab"), this.trigger("dragged"), this.drag.targetEl.removeAttribute("draggable"), this.state.isTouch = !1, this.state.isScrolling = !1, this.state.isSwiping = !1, 0 === this.drag.distance && this.state.inMotion !== !0) return this.state.inMotion = !1, !1;
286            this.drag.endTime = (new Date).getTime(), a = this.drag.endTime - this.drag.startTime, b = Math.abs(this.drag.distance), (b > 3 || a > 300) && this.removeClick(this.drag.targetEl), d = this.closest(this.drag.updatedX), this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(d), this.settings.pullDrag || this.drag.updatedX !== this.coordinates(d) || this.transitionEnd(), this.drag.distance = 0, this.off(c, this.dragType[1], this.e._onDragMove), this.off(c, this.dragType[2], this.e._onDragEnd)
287        }
288    }, e.prototype.removeClick = function(c) {
289        this.drag.targetEl = c, a(c).on("click.preventClick", this.e._preventClick), b.setTimeout(function() {
290            a(c).off("click.preventClick")
291        }, 300)
292    }, e.prototype.preventClick = function(b) {
293        b.preventDefault ? b.preventDefault() : b.returnValue = !1, b.stopPropagation && b.stopPropagation(), a(b.target).off("click.preventClick")
294    }, e.prototype.getTransformProperty = function() {
295        var a, c;
296        return a = b.getComputedStyle(this.dom.stage, null).getPropertyValue(this.vendorName + "transform"), a = a.replace(/matrix(3d)?\(|\)/g, "").split(","), c = 16 === a.length, c !== !0 ? a[4] : a[12]
297    }, e.prototype.closest = function(b) {
298        var c = 0,
299            d = 30;
300        return this.settings.freeDrag || a.each(this.coordinates(), a.proxy(function(a, e) {
301            b > e - d && e + d > b ? c = a : this.op(b, "<", e) && this.op(b, ">", this.coordinates(a + 1) || e - this.width.el) && (c = "left" === this.state.direction ? a + 1 : a)
302        }, this)), this.settings.loop || (this.op(b, ">", this.coordinates(this.minimum())) ? c = b = this.minimum() : this.op(b, "<", this.coordinates(this.maximum())) && (c = b = this.maximum())), c
303    }, e.prototype.animate = function(b) {
304        this.trigger("translate"), this.state.inMotion = this.speed() > 0, this.support3d ? this.dom.$stage.css({
305            transform: "translate3d(" + b + "px,0px, 0px)",
306            transition: this.speed() / 1e3 + "s"
307        }) : this.state.isTouch ? this.dom.$stage.css({
308            left: b + "px"
309        }) : this.dom.$stage.animate({
310            left: b
311        }, this.speed() / 1e3, this.settings.fallbackEasing, a.proxy(function() {
312            this.state.inMotion && this.transitionEnd()
313        }, this))
314    }, e.prototype.current = function(a) {
315        if (a === d) return this._current;
316        if (0 === this.num.oItems) return d;
317        if (a = this.normalize(a), this._current === a) this.animate(this.coordinates(this._current));
318        else {
319            var b = this.trigger("change", {
320                property: {
321                    name: "position",
322                    value: a
323                }
324            });
325            b.data !== d && (a = this.normalize(b.data)), this._current = a, this.animate(this.coordinates(this._current)), this.updateActiveItems(), this.trigger("changed", {
326                property: {
327                    name: "position",
328                    value: this._current
329                }
330            })
331        }
332        return this._current
333    }, e.prototype.reset = function(a) {
334        this.suppress(["change", "changed"]), this.speed(0), this.current(a), this.release(["change", "changed"])
335    }, e.prototype.normalize = function(a, b) {
336        if (a === d || !this.dom.$items) return d;
337        if (this.settings.loop) {
338            var c = this.dom.$items.length;
339            a = (a % c + c) % c
340        } else a = Math.max(this.minimum(), Math.min(this.maximum(), a));
341        return b ? this.dom.$items.eq(a).data("owl-item").index : a
342    }, e.prototype.maximum = function() {
343        var b, c, d = this.settings;
344        if (!d.loop && d.center) b = this.num.oItems - 1;
345        else if (d.loop || d.center)
346            if (d.loop || d.center) b = this.num.oItems + d.items;
347            else {
348                if (!d.autoWidth && !d.merge) throw "Can not detect maximum absolute position.";
349                revert = d.rtl ? 1 : -1, c = this.dom.$stage.width() - this.$el.width(), a.each(this.coordinates(), function(a, d) {
350                    return d * revert >= c ? !1 : void(b = a + 1)
351                })
352            }
353        else b = this.num.oItems - d.items;
354        return b
355    }, e.prototype.minimum = function() {
356        return this.dom.$oItems.eq(0).data("owl-item").indexAbs
357    }, e.prototype.speed = function(a) {
358        return a !== d && (this._speed = a), this._speed
359    }, e.prototype.coordinates = function(a) {
360        return a !== d ? this._coordinates[a] : this._coordinates
361    }, e.prototype.duration = function(a, b, c) {
362        return Math.min(Math.max(Math.abs(b - a), 1), 6) * Math.abs(c || this.settings.smartSpeed)
363    }, e.prototype.to = function(c, d) {
364        if (this.settings.loop) {
365            var e = c - this.normalize(this.current(), !0),
366                f = this.current(),
367                g = this.current(),
368                h = this.current() + e,
369                i = 0 > g - h ? !0 : !1;
370            h < this.settings.items && i === !1 ? (f = this.num.items - (this.settings.items - g) - this.settings.items, this.reset(f)) : h >= this.num.items - this.settings.items && i === !0 && (f = g - this.num.oItems, this.reset(f)), b.clearTimeout(this.e._goToLoop), this.e._goToLoop = b.setTimeout(a.proxy(function() {
371                this.speed(this.duration(this.current(), f + e, d)), this.current(f + e)
372            }, this), 30)
373        } else this.speed(this.duration(this.current(), c, d)), this.current(c)
374    }, e.prototype.next = function(a) {
375        a = a || !1, this.to(this.normalize(this.current(), !0) + 1, a)
376    }, e.prototype.prev = function(a) {
377        a = a || !1, this.to(this.normalize(this.current(), !0) - 1, a)
378    }, e.prototype.transitionEnd = function(a) {
379        if (a !== d) {
380            a.stopPropagation();
381            var b = a.target || a.srcElement || a.originalTarget;
382            if (b !== this.dom.stage) return !1
383        }
384        this.state.inMotion = !1, this.trigger("translated")
385    }, e.prototype.isElWidthChanged = function() {
386        var a = this.dom.$el.width() - this.settings.stagePadding,
387            b = this.width.el + this.settings.margin;
388        return a !== b
389    }, e.prototype.viewport = function() {
390        var d;
391        if (this.options.responsiveBaseElement !== b) d = a(this.options.responsiveBaseElement).width();
392        else if (b.innerWidth) d = b.innerWidth;
393        else {
394            if (!c.documentElement || !c.documentElement.clientWidth) throw "Can not detect viewport width.";
395            d = c.documentElement.clientWidth
396        }
397        return d
398    }, e.prototype.insertContent = function(a) {
399        this.dom.$stage.empty(), this.fetchContent(a), this.refresh()
400    }, e.prototype.addItem = function(a, b) {
401        var c = this.createItemContainer();
402        b = b || 0, this.initializeItemContainer(c, a), 0 === this.dom.$oItems.length ? this.dom.$stage.append(c) : -1 !== p ? this.dom.$oItems.eq(b).before(c) : this.dom.$oItems.eq(b).after(c), this.refresh()
403    }, e.prototype.removeItem = function(a) {
404        this.dom.$oItems.eq(a).remove(), this.refresh()
405    }, e.prototype.addTriggerableEvents = function() {
406        var b = a.proxy(function(b, c) {
407            return a.proxy(function(a) {
408                a.relatedTarget !== this && (this.suppress([c]), b.apply(this, [].slice.call(arguments, 1)), this.release([c]))
409            }, this)
410        }, this);
411        a.each({
412            next: this.next,
413            prev: this.prev,
414            to: this.to,
415            destroy: this.destroy,
416            refresh: this.refresh,
417            replace: this.insertContent,
418            add: this.addItem,
419            remove: this.removeItem
420        }, a.proxy(function(a, c) {
421            this.dom.$el.on(a + ".owl.carousel", b(c, a + ".owl.carousel"))
422        }, this))
423    }, e.prototype.watchVisibility = function() {
424        function c(a) {
425            return a.offsetWidth > 0 && a.offsetHeight > 0
426        }
427
428        function d() {
429            c(this.dom.el) && (this.dom.$el.removeClass("owl-hidden"), this.refresh(), b.clearInterval(this.e._checkVisibile))
430        }
431        c(this.dom.el) || (this.dom.$el.addClass("owl-hidden"), b.clearInterval(this.e._checkVisibile), this.e._checkVisibile = b.setInterval(a.proxy(d, this), 500))
432    }, e.prototype.preloadAutoWidthImages = function(b) {
433        var c, d, e, f;
434        c = 0, d = this, b.each(function(g, h) {
435            e = a(h), f = new Image, f.onload = function() {
436                c++, e.attr("src", f.src), e.css("opacity", 1), c >= b.length && (d.state.imagesLoaded = !0, d.init())
437            }, f.src = e.attr("src") || e.attr("data-src") || e.attr("data-src-retina")
438        })
439    }, e.prototype.destroy = function() {
440        this.dom.$el.hasClass(this.settings.themeClass) && this.dom.$el.removeClass(this.settings.themeClass), this.settings.responsive !== !1 && this.off(b, "resize", this.e._resizer), this.transitionEndVendor && this.off(this.dom.stage, this.transitionEndVendor, this.e._transitionEnd);
441        for (var a in this.plugins) this.plugins[a].destroy();
442        (this.settings.mouseDrag || this.settings.touchDrag) && (this.off(this.dom.stage, this.dragType[0], this.e._onDragStart), this.settings.mouseDrag && this.off(c, this.dragType[3], this.e._onDragStart), this.settings.mouseDrag && (this.dom.$stage.off("dragstart", function() {
443            return !1
444        }), this.dom.stage.onselectstart = function() {})), this.dom.$el.off(".owl"), null !== this.dom.$cItems && this.dom.$cItems.remove(), this.e = null, this.dom.$el.data("owlCarousel", null), delete this.dom.el.owlCarousel, this.dom.$stage.unwrap(), this.dom.$items.unwrap(), this.dom.$items.contents().unwrap(), this.dom = null
445    }, e.prototype.op = function(a, b, c) {
446        var d = this.settings.rtl;
447        switch (b) {
448            case "<":
449                return d ? a > c : c > a;
450            case ">":
451                return d ? c > a : a > c;
452            case ">=":
453                return d ? c >= a : a >= c;
454            case "<=":
455                return d ? a >= c : c >= a
456        }
457    }, e.prototype.on = function(a, b, c, d) {
458        a.addEventListener ? a.addEventListener(b, c, d) : a.attachEvent && a.attachEvent("on" + b, c)
459    }, e.prototype.off = function(a, b, c, d) {
460        a.removeEventListener ? a.removeEventListener(b, c, d) : a.detachEvent && a.detachEvent("on" + b, c)
461    }, e.prototype.trigger = function(b, c, d) {
462        var e = {
463                item: {
464                    count: this.num.oItems,
465                    index: this.current()
466                }
467            },
468            f = a.camelCase(a.grep(["on", b, d], function(a) {
469                return a
470            }).join("-").toLowerCase()),
471            g = a.Event([b, "owl", d || "carousel"].join(".").toLowerCase(), a.extend({
472                relatedTarget: this
473            }, e, c));
474        return this._supress[g.type] || (a.each(this.plugins, function(a, b) {
475            b.onTrigger && b.onTrigger(g)
476        }), this.dom.$el.trigger(g), "function" == typeof this.settings[f] && this.settings[f].apply(this, g)), g
477    }, e.prototype.suppress = function(b) {
478        a.each(b, a.proxy(function(a, b) {
479            this._supress[b] = !0
480        }, this))
481    }, e.prototype.release = function(b) {
482        a.each(b, a.proxy(function(a, b) {
483            delete this._supress[b]
484        }, this))
485    }, e.prototype.browserSupport = function() {
486        if (this.support3d = i(), this.support3d) {
487            this.transformVendor = h();
488            var a = ["transitionend", "webkitTransitionEnd", "transitionend", "oTransitionEnd"];
489            this.transitionEndVendor = a[g()], this.vendorName = this.transformVendor.replace(/Transform/i, ""), this.vendorName = "" !== this.vendorName ? "-" + this.vendorName.toLowerCase() + "-" : ""
490        }
491        this.state.orientation = b.orientation
492    }, a.fn.owlCarousel = function(b) {
493        return this.each(function() {
494            a(this).data("owlCarousel") || a(this).data("owlCarousel", new e(this, b))
495        })
496    }, a.fn.owlCarousel.Constructor = e
497}(window.Zepto || window.jQuery, window, document),
498function(a, b, c, d) {
499    LazyLoad = function(b) {
500        this.owl = b, this.owl.options = a.extend({}, LazyLoad.Defaults, this.owl.options), this.handlers = {
501            "changed.owl.carousel": a.proxy(function(a) {
502                "items" == a.property.name && a.property.value && !a.property.value.is(":empty") && this.check()
503            }, this)
504        }, this.owl.dom.$el.on(this.handlers)
505    }, LazyLoad.Defaults = {
506        lazyLoad: !1
507    }
507, LazyLoad.prototype.check = function() {
508        var a, c, d, e, f = b.devicePixelRatio > 1 ? "data-src-retina" : "data-src";
509        for (d = 0; d < this.owl.num.items; d++) e = this.owl.dom.$items.eq(d), e.data("owl-item").current === !0 && e.data("owl-item").loaded === !1 && (c = e.find(".owl-lazy"), a = c.attr(f), a = a || c.attr("data-src"), a && (c.css("opacity", "0"), this.preload(c, e)))
510    }, LazyLoad.prototype.preload = function(c, d) {
511        var e, f, g;
512        c.each(a.proxy(function(c, h) {
513            this.owl.trigger("load", null, "lazy"), e = a(h), f = new Image, g = b.devicePixelRatio > 1 ? e.attr("data-src-retina") : e.attr("data-src"), g = g || e.attr("data-src"), f.onload = a.proxy(function() {
514                d.data("owl-item").loaded = !0, e.is("img") ? e.attr("src", f.src) : e.css("background-image", "url(" + f.src + ")"), e.css("opacity", 1), this.owl.trigger("loaded", null, "lazy")
515            }, this), f.src = g
516        }, this))
517    }, LazyLoad.prototype.destroy = function() {
518        var a, b;
519        for (a in this.handlers) this.owl.dom.$el.off(a, this.handlers[a]);
520        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
521    }, a.fn.owlCarousel.Constructor.Plugins.lazyLoad = LazyLoad
522}(window.Zepto || window.jQuery, window, document),
523function(a, b, c, d) {
524    AutoHeight = function(b) {
525        this.owl = b, this.owl.options = a.extend({}, AutoHeight.Defaults, this.owl.options), this.handlers = {
526            "changed.owl.carousel": a.proxy(function(a) {
527                "position" == a.property.name && this.owl.settings.autoHeight && this.setHeight()
528            }, this)
529        }, this.owl.dom.$el.on(this.handlers)
530    }, AutoHeight.Defaults = {
531        autoHeight: !1,
532        autoHeightClass: "owl-height"
533    }, AutoHeight.prototype.setHeight = function() {
534        var a, c = this.owl.dom.$items.eq(this.owl.current()),
535            d = this.owl.dom.$oStage,
536            e = 0;
537        this.owl.dom.$oStage.hasClass(this.owl.settings.autoHeightClass) || this.owl.dom.$oStage.addClass(this.owl.settings.autoHeightClass), a = b.setInterval(function() {
538            e += 1, c.data("owl-item").loaded ? (d.height(c.height() + "px"), clearInterval(a)) : 500 === e && clearInterval(a)
539        }, 100)
540    }, AutoHeight.prototype.destroy = function() {
541        var a, b;
542        for (a in this.handlers) this.owl.dom.$el.off(a, this.handlers[a]);
543        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
544    }, a.fn.owlCarousel.Constructor.Plugins.autoHeight = AutoHeight
545}(window.Zepto || window.jQuery, window, document),
546function(a, b, c, d) {
547    Video = function(b) {
548        this.owl = b, this.owl.options = a.extend({}, Video.Defaults, this.owl.options), this.handlers = {
549            "resize.owl.carousel": a.proxy(function(a) {
550                this.owl.settings.video && !this.isInFullScreen() && a.preventDefault()
551            }, this),
552            "refresh.owl.carousel changed.owl.carousel": a.proxy(function(a) {
553                this.owl.state.videoPlay && this.stopVideo()
554            }, this),
555            "refresh.owl.carousel refreshed.owl.carousel": a.proxy(function(a) {
556                return this.owl.settings.video ? void(this.refreshing = "refresh" == a.type) : !1
557            }, this),
558            "changed.owl.carousel": a.proxy(function(a) {
559                this.refreshing && "items" == a.property.name && a.property.value && !a.property.value.is(":empty") && this.checkVideoLinks()
560            }, this)
561        }, this.owl.dom.$el.on(this.handlers), this.owl.dom.$el.on("click.owl.video", ".owl-video-play-icon", a.proxy(function(a) {
562            this.playVideo(a)
563        }, this))
564    }, Video.Defaults = {
565        video: !1,
566        videoHeight: !1,
567        videoWidth: !1
568    }, Video.prototype.checkVideoLinks = function() {
569        var a, b, c;
570        for (c = 0; c < this.owl.num.items; c++) b = this.owl.dom.$items.eq(c), b.data("owl-item").hasVideo || (a = b.find(".owl-video"), a.length && (this.owl.state.hasVideos = !0, this.owl.dom.$items.eq(c).data("owl-item").hasVideo = !0, a.css("display", "none"), this.getVideoInfo(a, b)))
571    }, Video.prototype.getVideoInfo = function(a, b) {
572        var c, d, e, f, g = a.data("vimeo-id"),
573            h = a.data("youtube-id"),
574            i = a.data("width") || this.owl.settings.videoWidth,
575            j = a.data("height") || this.owl.settings.videoHeight,
576            k = a.attr("href");
577        if (g) d = "vimeo", e = g;
578        else if (h) d = "youtube", e = h;
579        else {
580            if (!k) throw new Error("Missing video link.");
581            e = k.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/), e[3].indexOf("youtu") > -1 ? d = "youtube" : e[3].indexOf("vimeo") > -1 && (d = "vimeo"), e = e[6]
582        }
583        b.data("owl-item").videoType = d, b.data("owl-item").videoId = e, b.data("owl-item").videoWidth = i, b.data("owl-item").videoHeight = j, c = {
584            type: d,
585            id: e
586        }, f = i && j ? 'style="width:' + i + "px;height:" + j + 'px;"' : "", a.wrap('<div class="owl-video-wrapper"' + f + "></div>"), this.createVideoTn(a, c)
587    }, Video.prototype.createVideoTn = function(b, c) {
588        function d(a) {
589            f = '<div class="owl-video-play-icon"></div>', e = k.settings.lazyLoad ? '<div class="owl-video-tn ' + j + '" ' + i + '="' + a + '"></div>' : '<div class="owl-video-tn" style="opacity:1;background-image:url(' + a + ')"></div>', b.after(e), b.after(f)
590        }
591        var e, f, g, h = b.find("img"),
592            i = "src",
593            j = "",
594            k = this.owl;
595        return this.owl.settings.lazyLoad && (i = "data-src", j = "owl-lazy"), h.length ? (d(h.attr(i)), h.remove(), !1) : void("youtube" === c.type ? (g = "http://img.youtube.com/vi/" + c.id + "/hqdefault.jpg", d(g)) : "vimeo" === c.type && a.aja
595x({
596            type: "GET",
597            url: "http://vimeo.com/api/v2/video/" + c.id + ".json",
598            jsonp: "callback",
599            dataType: "jsonp",
600            success: function(a) {
601                g = a[0].thumbnail_large, d(g), k.settings.loop && k.updateActiveItems()
602            }
603        }))
604    }, Video.prototype.stopVideo = function() {
605        this.owl.trigger("stop", null, "video");
606        var a = this.owl.dom.$items.eq(this.owl.state.videoPlayIndex);
607        a.find(".owl-video-frame").remove(), a.removeClass("owl-video-playing"), this.owl.state.videoPlay = !1
608    }, Video.prototype.playVideo = function(b) {
609        this.owl.trigger("play", null, "video"), this.owl.state.videoPlay && this.stopVideo();
610        var c, d, e, f = a(b.target || b.srcElement),
611            g = f.closest("." + this.owl.settings.itemClass);
612        e = g.data("owl-item").videoType, id = g.data("owl-item").videoId, width = g.data("owl-item").videoWidth || Math.floor(g.data("owl-item").width - this.owl.settings.margin), height = g.data("owl-item").videoHeight || this.owl.dom.$stage.height(), "youtube" === e ? c = '<iframe width="' + width + '" height="' + height + '" src="http://www.youtube.com/embed/' + id + "?autoplay=1&v=" + id + '" frameborder="0" allowfullscreen></iframe>' : "vimeo" === e && (c = '<iframe src="http://player.vimeo.com/video/' + id + '?autoplay=1" width="' + width + '" height="' + height + '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'),
613            g.addClass("owl-video-playing"), this.owl.state.videoPlay = !0, this.owl.state.videoPlayIndex = g.data("owl-item").indexAbs, d = a('<div style="height:' + height + "px; width:" + width + 'px" class="owl-video-frame">' + c + "</div>"), f.after(d)
614    }, Video.prototype.isInFullScreen = function() {
615        var d = c.fullscreenElement || c.mozFullScreenElement || c.webkitFullscreenElement;
616        return d && a(d.parentNode).hasClass("owl-video-frame") && (this.owl.speed(0), this.owl.state.isFullScreen = !0), d && this.owl.state.isFullScreen && this.owl.state.videoPlay ? !1 : this.owl.state.isFullScreen ? (this.owl.state.isFullScreen = !1, !1) : this.owl.state.videoPlay && this.owl.state.orientation !== b.orientation ? (this.owl.state.orientation = b.orientation, !1) : !0
617    }, Video.prototype.destroy = function() {
618        var a, b;
619        this.owl.dom.$el.off("click.owl.video");
620        for (a in this.handlers) this.owl.dom.$el.off(a, this.handlers[a]);
621        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
622    }, a.fn.owlCarousel.Constructor.Plugins.video = Video
623}(window.Zepto || window.jQuery, window, document),
624function(a, b, c, d) {
625    Animate = function(b) {
626        this.core = b, this.core.options = a.extend({}, Animate.Defaults, this.core.options), this.swapping = !0, this.previous = d, this.next = d, this.handlers = {
627            "change.owl.carousel": a.proxy(function(a) {
628                "position" == a.property.name && (this.previous = this.core.current(), this.next = a.property.value)
629            }, this),
630            "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": a.proxy(function(a) {
631                this.swapping = "translated" == a.type
632            }, this),
633            "translate.owl.carousel": a.proxy(function(a) {
634                this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap()
635            }, this)
636        }, this.core.dom.$el.on(this.handlers)
637    }, Animate.Defaults = {
638        animateOut: !1,
639        animateIn: !1
640    }, Animate.prototype.swap = function() {
641        if (1 === this.core.settings.items && this.core.support3d) {
642            this.core.speed(0);
643            var b, c = a.proxy(this.clear, this),
644                d = this.core.dom.$items.eq(this.previous),
645                e = this.core.dom.$items.eq(this.next),
646                f = this.core.settings.animateIn,
647                g = this.core.settings.animateOut;
648            this.core.current() !== this.previous && (g && (b = this.core.coordinates(this.previous) - this.core.coordinates(this.next), d.css({
649                left: b + "px"
650            }).addClass("animated owl-animated-out").addClass(g).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", c)), f && e.addClass("animated owl-animated-in").addClass(f).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", c))
651        }
652    }, Animate.prototype.clear = function(b) {
653        a(b.target).css({
654            left: ""
655        }).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.transitionEnd()
656    }, Animate.prototype.destroy = function() {
657        var a, b;
658        for (a in this.handlers) this.core.dom.$el.off(a, this.handlers[a]);
659        for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
660    }, a.fn.owlCarousel.Constructor.Plugins.Animate = Animate
661}(window.Zepto || window.jQuery, window, document),
662function(a, b, c, d) {
663    Autoplay = function(b) {
664        this.core = b, this.core.options = a.extend({}, Autoplay.Defaults, this.core.options), this.handlers = {
665            "translated.owl.carousel refreshed.owl.carousel": a.proxy(function() {
666                this.autoplay()
667            }, this),
668            "play.owl.autoplay": a.proxy(function(a, b, c) {
669                this.play(b, c)
670            }, this),
671            "stop.owl.autoplay": a.proxy(function() {
672                this.stop()
673            }, this),
674            "mouseover.owl.autoplay": a.proxy(function() {
675                this.core.settings.autoplayHoverPause && this.pause()
676            }, this),
677            "mouseleave.owl.autoplay": a.proxy(function() {
678                this.core.settings.autoplayHoverPause && this.autoplay()
679            }, this)
680        }, this.core.dom.$el.on(this.handlers)
681    }, Autoplay.Defaults = {
682        autoplay: !1,
683        autoplayTimeout: 5e3,
684        autoplayHoverPause: !1,
685        autoplaySpeed: !1
686    }, Autoplay.prototype.autoplay = function() {
687        this.core.settings.autoplay && !this.core.state.videoPlay ? (b.clearInterval(this.interval), this.interval = b.setInterval(a.proxy(function() {
688            this.play()
689        }, this), this.core.settings.autoplayTimeout)) : b.clearInterval(this.interval)
690    }, Autoplay.prototype.play = function(a, d) {
691        return c.hidden === !0 || this.core.state.isTouch || this.core.state.isScrolling || this.core.state.isSwiping || this.core.state.inMotion ? void 0 : this.core.settings.autoplay === !1 ? void b.clearInterval(this.interval) : void this.core.next(this.core.settings.autoplaySpeed)
692    }, Autoplay.prototype.stop = function() {
693        b.clearInterval(this.interval)
694    }, Autoplay.prototype.pause = function() {
695        b.clearInterval(this.interval)
696    }, Autoplay.prototype.destroy = function() {
697        var a, c;
698        b.clearInterval(this.interval);
699        for (a in this.handlers) this.core.dom.$el.off(a, this.handlers[a]);
700        for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
701    }, a.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay
702}(window.Zepto || window.jQuery, window, document),
703function(a, b, c, d) {
704    "use strict";
705    var e = function(b) {
706        this.core = b, this.initialized = !1, this.pages = [], this.controls = {}, this.template = null, this.$element = this.core.dom.$el, this.overrides = {
707            next: this.core.next,
708            prev: this.core.prev,
709            to: this.core.to
710        }, this.handlers = {
711            "changed.owl.carousel": a.proxy(function(b) {
712                "items" == b.property.name && (this.initialized || (this.initialize(), this.initialized = !0), this.update(), this.draw()), this.filling && (b.property.value.data("owl-item").dot = a(":first-child", b.property.value).find("[data-dot]").andSelf().data("dot"))
713            }, this),
714            "change.owl.carousel": a.proxy(function(a) {
715                if ("position" == a.property.name && !this.core.state.revert && !this.core.settings.loop && this.core.settings.navRewind) {
716                    var b = this.core.current(),
717                        c = this.core.maximum(),
718                        d = this.core.minimum();
719                    a.data = a.property.value > c ? b >= c ? d : c : a.property.value < d ? c : a.property.value
720                }
721                this.filling = this.core.settings.dotsData && "item" == a.property.name && a.property.value && a.property.value.is(":empty")
722            }, this),
723            "refreshed.owl.carousel": a.proxy(function() {
724                this.initialized && (this.update(), this.draw())
725            }, this)
726        }, this.core.options = a.extend({}, e.Defaults, this.core.options), this.$element.on(this.handlers)
727    };
728    e.Defaults = {
729        nav: !1,
730        navRewind: !0,
731        navText: ["prev", "next"],
732        navSpeed: !1,
733        navElement: "div",
734        navContainer: !1,
735        navContainerClass: "owl-nav",
736        navClass: ["owl-prev", "owl-next"],
737        slideBy: 1,
738        dotClass: "owl-dot",
739        dotsClass: "owl-dots",
740        dots: !0,
741        dotsEach: !1,
742        dotData: !1,
743        dotsSpeed: !1,
744        dotsContainer: !1,
745        controlsClass: "owl-controls"
746    }, e.prototype.initialize = function() {
747        var b, c, d = this.core.settings;
748        d.dotsData || (this.template = a("<div>").addClass(d.dotClass).append(a("<span>")).prop("outerHTML")), d.navContainer && d.dotsContainer || (this.controls.$container = a("<div>").addClass(d.controlsClass).appendTo(this.$element)), this.controls.$indicators = d.dotsContainer ? a(d.dotsContainer) : a("<div>").hide().addClass(d.dotsClass).appendTo(this.controls.$container), this.controls.$indicators.on(this.core.dragType[2], "div", a.proxy(function(b) {
749            var c = a(b.target).parent().is(this.controls.$indicators) ? a(b.target).index() : a(b.target).parent().index();
750            b.preventDefault(), this.to(c, d.dotsSpeed)
751        }, this)), b = d.navContainer ? a(d.navContainer) : a("<div>").addClass(d.navContainerClass).prependTo(this.controls.$container), this.controls.$next = a("<" + d.navElement + ">"), this.controls.$previous = this.controls.$next.clone(), this.controls.$previous.addClass(d.navClass[0]).html(d.navText[0]).hide().prependTo(b).on(this.core.dragType[2], a.proxy(function(a) {
752            this.prev()
753        }, this)), this.controls.$next.addClass(d.navClass[1]).html(d.navText[1]).hide().appendTo(b).on(this.core.dragType[2], a.proxy(function(a) {
754            this.next()
755        }, this));
756        for (c in this.overrides) this.core[c] = a.proxy(this[c], this)
757    }, e.prototype.destroy = function() {
758        var a, b, c, d;
759        for (a in this.handlers) this.$element.off(a, this.handlers[a]);
760        for (b in this.controls) this.controls[b].remove();
761        for (d in this.overides) this.core[d] = this.overrides[d];
762        for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
763    }, e.prototype.update = function() {
764        var a, b, c, d = this.core.settings,
765            e = this.core.num.cItems / 2,
766            f = this.core.num.items - e,
767            g = d.center || d.autoWidth || d.dotData ? 1 : d.dotsEach || d.items;
768        if ("page" !== d.slideBy && (d.slideBy = Math.min(d.slideBy, d.items)), d.dots)
769            for (this.pages = [], a = e, b = 0, c = 0; f > a; a++)(b >= g || 0 === b) && (this.pages.push({
770                start: a - e,
771                end: a - e + g - 1
772            }), b = 0, ++c), b += this.core.num.merged[a]
773    }, e.prototype.draw = function() {
774        var b, c, d = "",
775            e = this.core.settings,
776            f = this.core.dom.$oItems,
777            g = this.core.normalize(this.core.current(), !0);
778        if (!e.nav || e.loop || e.navRewind || (this.controls.$previous.toggleClass("disabled", 0 >= g), this.controls.$next.toggleClass("disabled", g >= this.core.maximum())), this.controls.$previous.toggle(e.nav), this.controls.$next.toggle(e.nav), e.dots) {
779            if (b = this.pages.length - this.controls.$indicators.children().length, b > 0) {
780                for (c = 0; c < Math.abs(b); c++) d += e.dotData ? f.eq(c).data("owl-item").dot : this.template;
781                this.controls.$indicators.append(d)
782            } else 0 > b && this.controls.$indicators.children().slice(b).remove();
783            this.controls.$indicators.find(".active").removeClass("active"), this.controls.$indicators.children().eq(a.inArray(this.current(), this.pages)).addClass("active")
784        }
785        this.controls.$indicators.toggle(e.dots)
786    }, e.prototype.onTrigger = function(b) {
787        var c = this.core.settings;
788        b.page = {
789            index: a.inArray(this.current(), this.pages),
790            count: this.pages.length,
791            size: c.center || c.autoWidth || c.dotData ? 1 : c.dotsEach || c.items
792        }
793    }, e.prototype.current = function() {
794        var b = this.core.normalize(this.core.current(), !0);
795        return a.grep(this.pages, function(a) {
796            return a.start <= b && a.end >= b
797        }).pop()
798    }, e.prototype.getPosition = function(b) {
799        var c, d, e = this.core.settings;
800        return "page" == e.slideBy ? (c = a.inArray(this.current(), this.pages), d = this.pages.length, b ? ++c : --c, c = this.pages[(c % d + d) % d].start) : (c = this.core.normalize(this.core.current(), !0), d = this.core.num.oItems, b ? c += e.
800slideBy : c -= e.slideBy), c
801    }, e.prototype.next = function(b) {
802        a.proxy(this.overrides.to, this.core)(this.getPosition(!0), b)
803    }, e.prototype.prev = function(b) {
804        a.proxy(this.overrides.to, this.core)(this.getPosition(!1), b)
805    }, e.prototype.to = function(b, c, d) {
806        var e;
807        d ? a.proxy(this.overrides.to, this.core)(b, c) : (e = this.pages.length, a.proxy(this.overrides.to, this.core)(this.pages[(b % e + e) % e].start, c))
808    }, a.fn.owlCarousel.Constructor.Plugins.Navigation = e
809}(window.Zepto || window.jQuery, window, document),
810function(a, b, c, d) {
811    "use strict";
812    var e = function(c) {
813        this.core = c, this.hashes = {}, this.$element = this.core.dom.$el, this.handlers = {
814            "initialized.owl.carousel": a.proxy(function() {
815                b.location.hash.substring(1) && a(b).trigger("hashchange.owl.navigation")
816            }, this),
817            "changed.owl.carousel": a.proxy(function(b) {
818                this.filling && (b.property.value.data("owl-item").hash = a(":first-child", b.property.value).find("[data-hash]").andSelf().data("hash"), this.hashes[b.property.value.data("owl-item").hash] = b.property.value)
819            }, this),
820            "change.owl.carousel": a.proxy(function(a) {
821                "position" == a.property.name && this.core.current() === d && "URLHash" == this.core.settings.startPosition && (a.data = this.hashes[b.location.hash.substring(1)]), this.filling = "item" == a.property.name && a.property.value && a.property.value.is(":empty")
822            }, this)
823        }, this.core.options = a.extend({}, e.Defaults, this.core.options), this.$element.on(this.handlers), a(b).on("hashchange.owl.navigation", a.proxy(function() {
824            var a = b.location.hash.substring(1),
825                c = this.core.dom.$oItems,
826                d = this.hashes[a] && c.index(this.hashes[a]) || 0;
827            return a ? (this.core.dom.oStage.scrollLeft = 0, void this.core.to(d, !1, !0)) : !1
828        }, this))
829    };
830    e.Defaults = {
831        URLhashListener: !1
832    }, e.prototype.destroy = function() {
833        var c, d;
834        a(b).off("hashchange.owl.navigation");
835        for (c in this.handlers) this.owl.dom.$el.off(c, this.handlers[c]);
836        for (d in Object.getOwnPropertyNames(this)) "function" != typeof this[d] && (this[d] = null)
837    }, a.fn.owlCarousel.Constructor.Plugins.Hash = e
838}(window.Zepto || window.jQuery, window, document),
839function(a, b) {
840    "object" == typeof exports ? module.exports = b() : "function" == typeof define && define.amd && define("GMaps", [], b), a.GMaps = b()
841},
842// Intervention pour commenter la partie Google Map
843// (this, function() {
844//     if ("object" != typeof window.google || !window.google.maps) throw "Google Maps API is required. Please register the following JavaScript library http://maps.google.com/maps/api/js?sensor=true.";
845//     var a = function(a, b) {
846//             var c;
847//             if (a === b) return a;
848//             for (c in b) a[c] = b[c];
849//             return a
850//         },
851//         b = function(a, b) {
852//             var c, d = Array.prototype.slice.call(arguments, 2),
853//                 e = [],
854//                 f = a.length;
855//             if (Array.prototype.map && a.map === Array.prototype.map) e = Array.prototype.map.call(a, function(a) {
856//                 var c = d.slice(0);
857//                 return c.splice(0, 0, a), b.apply(this, c)
858//             });
859//             else
860//                 for (c = 0; f > c; c++) callback_params = d, callback_params.splice(0, 0, a[c]), e.push(b.apply(this, callback_params));
861//             return e
862//         },
863//         c = function(a) {
864//             var b, c = [];
865//             for (b = 0; b < a.length;
865 b++) c = c.concat(a[b]);
866//             return c
867//         },
868//         d = function(a, b) {
869//             var c = a[0],
870//                 d = a[1];
871//             return b && (c = a[1], d = a[0]), new google.maps.LatLng(c, d)
872//         },
873//         f = function(a, b) {
874//             var c;
875//             for (c = 0; c < a.length; c++) a[c] instanceof google.maps.LatLng || (a[c].length > 0 && "object" == typeof a[c][0] ? a[c] = f(a[c], b) : a[c] = d(a[c], b));
876//             return a
877//         },
878//         g = function(a, b) {
879//             var c, d = a.replace(".", "");
880//             return c = "jQuery" in this && b ? $("." + d, b)[0] : document.getElementsByClassName(d)[0]
881//         },
882//         h = function(a, b) {
883//             var c, a = a.replace("#", "");
884//             return c = "jQuery" in window && b ? $("#" + a, b)[0] : document.getElementById(a)
885//         },
886//         i = function(a) {
887//             var b = 0,
888//                 c = 0;
889//             if (a.offsetParent)
890//                 do b += a.offsetLeft, c += a.offsetTop; while (a = a.offsetParent);
891//             return [b, c]
892//         },
893//         j = function(b) {
894//             "use strict";
895//             var c = document,
896//                 d = function(b) {
897//                     if (!this) return new d(b);
898//                     b.zoom = b.zoom || 15, b.mapType = b.mapType || "roadmap";
899//                     var e, f = this,
900//                         j = ["bounds_changed", "center_changed", "click", "dblclick", "drag", "dragend", "dragstart", "idle", "maptypeid_changed", "projection_changed", "resize", "tilesloaded", "zoom_changed"],
901//                         k = ["mousemove", "mouseout", "mouseover"],
902//                         l = ["el", "lat", "lng", "mapType", "width", "height", "markerClusterer", "enableNewStyle"],
903//                         m = b.el || b.div,
904//                         n = b.markerClusterer,
905//                         o = google.maps.MapTypeId[b.mapType.toUpperCase()],
906//                         p = new google.maps.LatLng(b.lat, b.lng),
907//                         q = b.zoomControl || !0,
908//                         r = b.zoomControlOpt || {
909//                             style: "DEFAULT",
910//                             position: "TOP_LEFT"
911//                         },
912//                         s = r.style || "DEFAULT",
913//                         t = r.position || "TOP_LEFT",
914//                         u = b.panControl || !0,
915//                         v = b.mapTypeControl || !0,
916//                         w = b.scaleControl || !0,
917//                         x = b.streetViewControl || !0,
918//                         y = y || !0,
919//                         z = {},
920//                         A = {
921//                             zoom: this.zoom,
922//                             center: p,
923//                             mapTypeId: o
924//                         },
925//                         B = {
926//                             panControl: u,
927//                             zoomControl: q,
928//                             zoomControlOptions: {
929//                                 style: google.maps.ZoomControlStyle[s],
930//                                 position: google.maps.ControlPosition[t]
931//                             },
932//                             mapTypeControl: v,
933//                             scaleControl: w,
934//                             streetViewControl: x,
935//                             overviewMapControl: y
936//                         };
937//                     if ("string" == typeof b.el || "string" == typeof b.div ? m.indexOf("#") > -1 ? this.el = h(m, b.context) : this.el = g.apply(this, [m, b.context]) : this.el = m, "undefined" == typeof this.el || null === this.el) throw "No element defined.";
938//                     for (window.context_menu = window.context_menu || {}, window.context_menu[f.el.id] = {}, this.controls = [], this.overlays = [], this.layers = [], this.singleLayers = {}, this.markers = [], this.polylines = [], this.routes = [], this.polygons = [], this.infoWindow = null, this.overlay_el = null, this.zoom = b.zoom, this.registered_events = {}, this.el.style.width = b.width || this.el.scrollWidth || this.el.offsetWidth, this.el.style.height = b.he
938ight || this.el.scrollHeight || this.el.offsetHeight, google.maps.visualRefresh = b.enableNewStyle, e = 0; e < l.length; e++) delete b[l[e]];
939//                     for (1 != b.disableDefaultUI && (A = a(A, B)), z = a(A, b), e = 0; e < j.length; e++) delete z[j[e]];
940//                     for (e = 0; e < k.length; e++) delete z[k[e]];
941//                     this.map = new google.maps.Map(this.el, z), n && (this.markerClusterer = n.apply(this, [this.map]));
942//                     var C = function(a, b) {
943//                         var c = "",
944//                             d = window.context_menu[f.el.id][a];
945//                         for (var e in d)
946//                             if (d.hasOwnProperty(e)) {
947//                                 var g = d[e];
948//                                 c += '<li><a id="' + a + "_" + e + '" href="#">' + g.title + "</a></li>"
949//                             } if (h("gmaps_context_menu")) {
950//                             var j = h("gmaps_context_menu");
951//                             j.innerHTML = c;
952//                             var e, k = j.getElementsByTagName("a"),
953//                                 l = k.length;
954//                             for (e = 0; l > e; e++) {
955//                                 var m = k[e],
956//                                     n = function(c) {
957//                                         c.preventDefault(), d[this.id.replace(a + "_", "")].action.apply(f, [b]), f.hideContextMenu()
958//                                     };
959//                                 google.maps.event.clearListeners(m, "click"), google.maps.event.addDomListenerOnce(m, "click", n, !1)
960//                             }
961//                             var o = i.apply(this, [f.el]),
962//                                 p = o[0] + b.pixel.x - 15,
963//                                 q = o[1] + b.pixel.y - 15;
964//                             j.style.left = p + "px", j.style.top = q + "px", j.style.display = "block"
965//                         }
966//                     };
967//                     this.buildContextMenu = function(a, b) {
968//                         if ("marker" === a) {
969//                             b.pixel = {};
970//                             var c = new google.maps.OverlayView;
971//                             c.setMap(f.map), c.draw = function() {
972//                                 var d = c.getProjection(),
973//                                     e = b.marker.getPosition();
974//                                 b.pixel = d.fromLatLngToContainerPixel(e), C(a, b)
975//                             }
976//                         } else C(a, b)
977//                     }, this.setContextMenu = function(a) {
978//                         window.context_menu[f.el.id][a.control] = {};
979//                         var b, d = c.createElement("ul");
980//                         for (b in a.options)
981//                             if (a.options.hasOwnProperty(b)) {
982//                                 var e = a.options[b];
983//                                 window.context_menu[f.el.id][a.control][e.name] = {
984//                                     title: e.title,
985//                                     action: e.action
986//                                 }
987//                             } d.id = "gmaps_context_menu", d.style.display = "none", d.style.position = "absolute", d.style.minWidth = "100px", d.style.background = "white", d.style.listStyle = "none", d.style.padding = "8px", d.style.boxShadow = "2px 2px 6px #ccc", c.body.appendChild(d);
988//                         var g = h("gmaps_context_menu");
989//                         google.maps.event.addDomListener(g, "mouseout", function(a) {
990//                             a.relatedTarget && this.contains(a.relatedTarget) || window.setTimeout(function() {
991//                                 g.style.display = "none"
992//                             }, 400)
993//                         }, !1)
994//                     }, this.hideContextMenu = function() {
995//                         var a = h("gmaps_context_menu");
996//                         a && (a.style.display = "none")
997//                     };
998//                     var D = function(a, c) {
999//                         google.maps.event.addListener(a, c, function(a) {
1000//                             void 0 == a && (a = this), b[c].apply(this, [a]), f.hideContextMenu()
1001//                         })
1002//                     };
1003//                     google.maps.event.addListener(this.map, "zoom_changed", this.hideContextMenu);
1004//                     for (var E = 0; E < j.length; E++) {
1005//                         var F = j[E];
1006//                         F in b && D(this.map, F)
1007//                     }
1008//                     for (var E = 0; E < k.length; E++) {
1009//                         var F = k[E];
1010//                         F in b && D(this.map, F)
1011//                     }
1012//                     google.maps.event.addListener(this.map, "rightclick", function(a) {
1013//                         b.rightclick && b.rightclick.apply(this, [a]), void 0 != window.context_menu[f.el.id].map && f.buildContextMenu("map", a)
1014//                     }), this.refresh = function() {
1015//                         google.maps.event.trigger(this.map, "resize")
1016//                     }, this.fitZoom = function() {
1017//                         var a, b = [],
1018//                             c = this.markers.length;
1019//                         for (a = 0; c > a; a++) "boolean" == typeof this.markers[a].visible && this.markers[a].visible && b.push(this.markers[a].getPosition());
1020//                         this.fitLatLngBounds(b)
1021//                     }, this.fitLatLngBounds = function(a) {
1022//                         var b, c = a.length,
1023//                             d = new google.maps.LatLngBounds;
1024//                         for (b = 0; c > b; b++) d.extend(a[b]);
1025//                         this.map.fitBounds(d)
1026//                     }, this.setCenter = function(a, b, c) {
1027//                         this.map.panTo(new google.maps.LatLng(a, b)), c && c()
1028//                     }, this.getElement = function() {
1029//                         return this.el
1030//                     }, this.zoomIn = function(a) {
1031//                         a = a || 1, this.zoom = this.map.getZoom() + a, this.map.setZoom(this.zoom)
1032//                     }, this.zoomOut = function(a) {
1033//                         a = a || 1, this.zoom = this.map.getZoom() - a, this.map.setZoom(this.zoom)
1034//                     };
1035//                     var G, H = [];
1036//                     for (G in this.map) "function" != typeof this.map[G] || this[G] || H.push(G);
1037//                     for (e = 0; e < H.length; e++) ! function(a, b, c) {
1038//                         a[c] = function() {
1039//                             return b[c].apply(b, arguments)
1040//                         }
1041//                     }(this, this.map, H[e])
1042//                 };
1043//             return d
1044//         }(this);
1045//     j.prototype.createControl = function(a) {
1046//         var b = document.createElement("div");
1047//         b.style.cursor = "pointer", a.disableDefaultStyles !== !0 && (b.style.fontFamily = "Roboto, Arial, sans-serif", b.style.fontSize = "11px", b.style.boxShadow = "rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px");
1048//         for (var c in a.style) b.style[c] = a.style[c];
1049//         a.id && (b.id = a.id), a.classes && (b.className = a.classes), a.content && ("string" == typeof a.content ? b.innerHTML = a.content : a.content instanceof HTMLElement && b.appendChild(a.content)), a.position && (b.position = google.maps.ControlPosition[a.position.toUpperCase()]);
1050//         for (var d in a.events) ! function(b, c) {
1051//             google.maps.event.addDomListener(b, c, function() {
1052//                 a.events[c].apply(this, [this])
1053//             })
1054//         }(b, d);
1055//         return b.index = 1, b
1056//     }, j.prototype.addControl = function(a) {
1057//         var b = this.createControl(a);
1058//         return this.controls.push(b), this.map.controls[b.position].push(b), b
1059//     }, j.prototype.removeControl = function(a) {
1060//         var b, c = null;
1061//         for (b = 0; b < this.controls.length; b++) this.controls[b] == a && (c = this.controls[b].position, this.controls.splice(b, 1));
1062//         if (c)
1063//             for (b = 0; b < this.map.controls.length; b++) {
1064//                 var d = this.map.controls[a.position];
1065//                 if (d.getAt(b) == a) {
1066//                     d.removeAt(b);
1067//                     break
1068//                 }
1069//             }
1070//         return a
1071//     }, j.prototype.createMarker = function(b) {
1072//         if (void 0 == b.lat && void 0 == b.lng && void 0 == b.position) throw "No latitude or longitude defined.";
1073//         var c = this,
1074//             d = b.details,
1075//             e = b.fences,
1076//             f = b.outside,
1077//             g = {
1078//                 position: new google.maps.LatLng(b.lat, b.lng),
1079//                 map: null
1080//             },
1081//             h = a(g, b);
1082//         delete h.lat, delete h.lng, delete h.fences, delete h.outside;
1083//         var i = new google.maps.Marker(h);
1084//         if (i.fences = e, b.infoWindow) {
1085//             i.infoWindow = new google.maps.InfoWindow(b.infoWindow);
1086//             for (var j = ["closeclick", "content_changed", "domready", "position_changed", "zindex_changed"], k = 0; k < j.length; k++) ! function(a, c) {
1087//                 b.infoWindow[c] && google.maps.event.addListener(a, c, function(a) {
1088//                     b.infoWindow[c].apply(this, [a])
1089//                 })
1090//             }(i.infoWindow, j[k])
1091//         }
1092//         for (var l = ["animation_changed", "clickable_changed", "cursor_changed", "draggable_changed", "flat_changed", "icon_changed", "position_changed", "shadow_changed", "shape_changed", "title_changed", "visible_changed", "zindex_changed"], m = ["dblclick", "drag", "dragend", "dragstart", "mousedown", "mouseout", "mouseover", "mouseup"], k = 0; k < l.length; k++) ! function(a, c) {
1093//             b[c] && google.maps.event.addListener(a, c, function() {
1094//                 b[c].apply(this, [this])
1095//             })
1096//         }(i, l[k]);
1097//         for (var k = 0; k < m.length; k++) ! function(a, c, d) {
1098//             b[d] && google.maps.event.addListener(c, d, function(c) {
1099//                 c.pixel || (c.pixel = a.getProjection().fromLatLngToPoint(c.latLng)), b[d].apply(this, [c])
1100//             })
1101//         }(this.map, i, m[k]);
1102//         return google.maps.event.addListener(i, "click", function() {
1103//             this.details = d, b.click && b.click.apply(this, [this]), i.infoWindow && (c.hideInfoWindows(), i.infoWindow.open(c.map, i))
1104//         }), google.maps.event.addListener(i, "rightclick", function(a) {
1105//             a.marker = this, b.rightclick && b.rightclick.apply(this, [a]), void 0 != window.context_menu[c.el.id].marker && c.buildContextMenu("marker", a)
1106//         }), i.fences && google.maps.event.addListener(i, "dragend", function() {
1107//             c.checkMarkerGeofence(i, function(a, b) {
1108//                 f(a, b)
1109//             })
1110//         }), i
1111//     }, j.prototype.addMarker = function(a) {
1112//         var b;
1113//         if (a.hasOwnProperty("gm_accessors_")) b = a;
1114//         else {
1115//             if (!(a.hasOwnProperty("lat") && a.hasOwnProperty("lng") || a.position)) throw "No latitude or longitude defined.";
1116//             b = this.createMarker(a)
1117//         }
1118//         return b.setMap(this.map), this.markerClusterer && this.markerClusterer.addMarker(b), this.markers.push(b), j.fire("marker_added", b, this), b
1119//     }, j.prototype.addMarkers = function(a) {
1120//         for (var b, c = 0; b = a[c]; c++) this.addMarker(b);
1121//         return this.markers
1122//     }, j.prototype.hideInfoWindows = function() {
1123//         for (var a, b = 0; a = this.markers[b]; b++) a.infoWindow && a.infoWindow.close()
1124//     }, j.prototype.removeMarker = function(a) {
1125//         for (var b = 0; b < this.markers.length; b++)
1126//             if (this.markers[b] === a) {
1127//                 this.markers[b].setMap(null), this.markers.splice(b, 1), this.markerClusterer && this.markerClusterer.removeMarker(a), j.fire("marker_removed", a, this);
1128//                 break
1129//             } return a
1130//     }, j.prototype.removeMarkers = function(a) {
1131//         var b = [];
1132//         if ("undefined" == typeof a) {
1133//             for (var c = 0; c < this.markers.length; c++) {
1134//                 var d = this.markers[c];
1135//                 d.setMap(null), this.markerClusterer && this.markerClusterer.removeMarker(d), j.fire("marker_removed", d, this)
1136//             }
1137//             this.markers = b
1138//         } else {
1139//             for (var c = 0; c < a.length; c++) {
1140//                 var e = this.markers.indexOf(a[c]);
1141//                 if (e > -1) {
1142//                     var d = this.markers[e];
1143//                     d.setMap(null), this.markerClusterer && this.markerClusterer.removeMarker(d), j.fire("marker_removed", d, this)
1144//                 }
1145//             }
1146//             for (var c = 0; c < this.markers.length; c++) {
1147//                 var d = this.markers[c];
1148//                 null != d.getMap() && b.push(d)
1149//             }
1150//             this.markers = b
1151//         }
1152//     }, j.prototype.drawOverlay = function(a) {
1153//         var b = new google.maps.OverlayView,
1154//             c = !0;
1155//         return b.setMap(this.map), null != a.auto_show && (c = a.auto_show), b.onAdd = function() {
1156//             var c = document.createElement("div");
1157//             c.style.borderStyle = "none", c.style.borderWidth = "0px", c.style.position = "absolute", c.style.zIndex = 100, c.innerHTML = a.content, b.el = c, a.layer || (a.layer = "overlayLayer");
1158//             var d = this.getPanes(),
1159//                 e = d[a.layer],
1160//                 f = ["contextmenu", "DOMMouseScroll", "dblclick", "mousedown"];
1161//             e.appendChild(c);
1162//             for (var g = 0; g < f.length; g++) ! function(a, b) {
1163//                 google.maps.event.addDomListener(a, b, function(a) {
1164//                     -1 != navigator.userAgent.toLowerCase().indexOf("msie") && document.all ? (a.cancelBubble = !0, a.returnValue = !1) : a.stopPropagation()
1165//                 })
1166//             }(c, f[g]);
1167//             a.click && (d.overlayMouseTarget.appendChild(b.el), google.maps.event.addDomListener(b.el, "click", function() {
1168//                 a.click.apply(b, [b])
1169//             })), google.maps.event.trigger(this, "ready")
1170//         }, b.draw = function() {
1171//             var d = this.getProjection(),
1172//                 e = d.fromLatLngToDivPixel(new google.maps.LatLng(a.lat, a.lng));
1173//             a.horizontalOffset = a.horizontalOffset || 0, a.verticalOffset = a.verticalOffset || 0;
1174//             var f = b.el,
1175//                 g = f.children[0],
1176//                 h = g.clientHeight,
1177//                 i = g.clientWidth;
1178//             switch (a.verticalAlign) {
1179//                 case "top":
1180//                     f.style.top = e.y - h + a.verticalOffset + "px";
1181//                     break;
1182//                 default:
1183//                 case "middle":
1184//                     f.style.top = e.y - h / 2 + a.verticalOffset + "px";
1185//                     break;
1186//                 case "bottom":
1187//                     f.style.top = e.y + a.verticalOffset + "px"
1188//             }
1189//             switch (a.horizontalAlign) {
1190//                 case "left":
1191//                     f.style.left = e.x - i + a.horizontalOffset + "px";
1192//                     break;
1193//                 default:
1194//                 case "center":
1195//                     f.style.left = e.x - i / 2 + a.horizontalOffset + "px";
1196//                     break;
1197//                 case "right":
1198//                     f.style.left = e.x + a.horizontalOffset + "px"
1199//             }
1200//             f.style.display = c ? "block" : "none", c || a.show.apply(this, [f])
1201//         }, b.onRemove = function() {
1202//             var c = b.el;
1203//             a.remove ? a.remove.apply(this, [c]) : (b.el.parentNode.removeChild(b.el), b.el = null)
1204//         }, this.overlays.push(b), b
1205//     }, j.prototype.removeOverlay = function(a) {
1206//         for (var b = 0; b < this.overlays.length; b++)
1207//             if (this.overlays[b] === a) {
1208//                 this.overlays[b].setMap(null), this.overlays.splice(b, 1);
1209//                 break
1210//             }
1211//     }, j.prototype.removeOverlays = function() {
1212//         for (var a, b = 0; a = this.overlays[b]; b++) a.setMap(null);
1213//         this.overlays = []
1214//     }, j.prototype.drawPolyline = function(a) {
1215//         var b = [],
1216//             c = a.path;
1217//         if (c.length)
1218//             if (void 0 === c[0][0]) b = c;
1219//             else
1220//                 for (var d, e = 0; d = c[e]; e++) b.push(new google.maps.LatLng(d[0], d[1]));
1221//         var f = {
1222//             map: this.map,
1223//             path: b,
1224//             strokeColor: a.strokeColor,
1225//             strokeOpacity: a.strokeOpacity,
1226//             strokeWeight: a.strokeWeight,
1227//             geodesic: a.geodesic,
1228//             clickable: !0,
1229//             editable: !1,
1230//             visible: !0
1231//         };
1232//         a.hasOwnProperty("clickable") && (f.clickable = a.clickable), a.hasOwnProperty("editable") && (f.editable = a.editable), a.hasOwnProperty("icons") && (f.icons = a.icons), a.hasOwnProperty("zIndex") && (f.zIndex = a.zIndex);
1233//         for (var g = new google.maps.Polyline(f), h = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], i = 0; i < h.length; i++) ! function(b, c) {
1234//             a[c] && google.maps.event.addListener(b, c, function(b) {
1235//                 a[c].apply(this, [b])
1236//             })
1237//         }(g, h[i]);
1238//         return this.polylines.push(g), j.fire("polyline_added", g, this), g
1239//     }, j.prototype.removePolyline = function(a) {
1240//         for (var b = 0; b < this.polylines.length; b++)
1241//             if (this.polylines[b] === a) {
1242//                 this.polylines[b].setMap(null), this.polylines.splice(b, 1), j.fire("polyline_removed", a, this);
1243//                 break
1244//             }
1245//     }, j.prototype.removePolylines = function() {
1246//         for (var a, b = 0; a = this.polylines[b]; b++) a.setMap(null);
1247//         this.polylines = []
1248//     }, j.prototype.drawCircle = function(b) {
1249//         b = a({
1250//             map: this.map,
1251//             center: new google.maps.LatLng(b.lat, b.lng)
1252//         }, b), delete b.lat, delete b.lng;
1253//         for (var c = new google.maps.Circle(b), d = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], e = 0; e < d.length; e++) ! function(a, c) {
1254//             b[c] && google.maps.event.addListener(a, c, function(a) {
1255//                 b[c].apply(this, [a])
1256//             })
1257//         }(c, d[e]);
1258//         return this.polygons.push(c), c
1259//     }, j.prototype.drawRectangle = function(b) {
1260//         b = a({
1261//             map: this.map
1262//         }, b);
1263//         var c = new google.maps.LatLngBounds(new google.maps.LatLng(b.bounds[0][0], b.bounds[0][1]), new google.maps.LatLng(b.bounds[1][0], b.bounds[1][1]));
1264//         b.bounds = c;
1265//         for (var d = new google.maps.Rectangle(b), e = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], f = 0; f < e.length; f++) ! function(a, c) {
1266//             b[c] && google.maps.event.addListener(a, c, function(a) {
1267//                 b[c].apply(this, [a])
1268//             })
1269//         }(d, e[f]);
1270//         return this.polygons.push(d), d
1271//     }, j.prototype.drawPolygon = function(d) {
1272//         var e = !1;
1273//         d.hasOwnProperty("useGeoJSON") && (e = d.useGeoJSON), delete d.useGeoJSON, d = a({
1274//             map: this.map
1275//         }, d), 0 == e && (d.paths = [d.paths.slice(0)]), d.paths.length > 0 && d.paths[0].length > 0 && (d.paths = c(b(d.paths, f, e)));
1276//         for (var g = new google.maps.Polygon(d), h = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"], i = 0; i < h.length; i++) ! function(a, b) {
1277//             d[b] && google.maps.event.addListener(a, b, function(a) {
1278//                 d[b].apply(this, [a])
1279//             })
1280//         }(g, h[i]);
1281//         return this.polygons.push(g), j.fire("polygon_added", g, this), g
1282//     }, j.prototype.removePolygon = function(a) {
1283//         for (var b = 0; b < this.polygons.length; b++)
1284//             if (this.polygons[b] === a) {
1285//                 this.polygons[b].setMap(null), this.polygons.splice(b, 1), j.fire("polygon_removed", a, this);
1286//                 break
1287//             }
1288//     }, j.prototype.removePolygons = function() {
1289//         for (var a, b = 0; a = this.polygons[b]; b++) a.setMap(null);
1290//         this.polygons = []
1291//     }, j.prototype.getFromFusionTables = function(a) {
1292//         var b = a.events;
1293//         delete a.events;
1294//         var c = a,
1295//             d = new google.maps.FusionTablesLayer(c);
1296//         for (var e in b) ! function(a, c) {
1297//             google.maps.event.addListener(a, c, function(a) {
1298//                 b[c].apply(this, [a])
1299//             })
1300//         }(d, e);
1301//         return this.layers.push(d), d
1302//     }, j.prototype.loadFromFusionTables = function(a) {
1303//         var b = this.getFromFusionTables(a);
1304//         return b.setMap(this.map), b
1305//     }, j.prototype.getFromKML = function(a) {
1306//         var b = a.url,
1307//             c = a.events;
1308//         delete a.url, delete a.events;
1309//         var d = a,
1310//             e = new google.maps.KmlLayer(b, d);
1311//         for (var f in c) ! function(a, b) {
1312//             google.maps.event.addListener(a, b, function(a) {
1313//                 c[b].apply(this, [a])
1314//             })
1315//         }(e, f);
1316//         return this.layers.push(e), e
1317//     }, j.prototype.loadFromKML = function(a) {
1318//         var b = this.getFromKML(a);
1319//         return b.setMap(this.map), b
1320//     }, j.prototype.addLayer = function(a, b) {
1321//         b = b || {};
1322//         var c;
1323//         switch (a) {
1324//             case "weather":
1325//                 this.singleLayers.weather = c = new google.maps.weather.WeatherLayer;
1326//                 break;
1327//             case "clouds":
1328//                 this.singleLayers.clouds = c = new google.maps.weather.CloudLayer;
1329//                 break;
1330//             case "traffic":
1331//                 this.singleLayers.traffic = c = new google.maps.TrafficLayer;
1332//                 break;
1333//             case "transit":
1334//                 this.singleLayers.transit = c = new google.maps.TransitLayer;
1335//                 break;
1336//             case "bicycling":
1337//                 this.singleLayers.bicycling = c = new google.maps.BicyclingLayer;
1338//                 break;
1339//             case "panoramio":
1340//                 this.singleLayers.panoramio = c = new google.maps.panoramio.PanoramioLayer, c.setTag(b.filter), delete b.filter, b.click && google.maps.event.addListener(c, "click", function(a) {
1341//                     b.click(a), delete b.click
1342//                 });
1343//                 break;
1344//             case "places":
1345//                 if (this.singleLayers.places = c = new google.maps.places.PlacesService(this.map), b.search || b.nearbySearch || b.radarSearch) {
1346//                     var d = {
1347//                         bounds: b.bounds || null,
1348//                         keyword: b.keyword || null,
1349//                         location: b.location || null,
1350//                         name: b.name || null,
1351//                         radius: b.radius || null,
1352//                         rankBy: b.rankBy || null,
1353//                         types: b.types || null
1354//                     };
1355//                     b.radarSearch && c.radarSearch(d, b.radarSearch), b.search && c.search(d, b.search), b.nearbySearch && c.nearbySearch(d, b.nearbySearch)
1356//                 }
1357//                 if (b.textSearch) {
1358//                     var e = {
1359//                         bounds: b.bounds || null,
1360//                         location: b.location || null,
1361//                         query: b.query || null,
1362//                         radius: b.radius || null
1363//                     };
1364//                     c.textSearch(e, b.textSearch)
1365//                 }
1366//         }
1367//         return void 0 !== c ? ("function" == typeof c.setOptions && c.setOptions(b), "function" == typeof c.setMap && c.setMap(this.map), c) : void 0
1368//     }, j.prototype.removeLayer = function(a) {
1369//         if ("string" == typeof a && void 0 !== this.singleLayers[a]) this.singleLayers[a].setMap(null), delete this.singleLayers[a];
1370//         else
1371//             for (var b = 0; b < this.layers.length; b++)
1372//                 if (this.layers[b] === a) {
1373//                     this.layers[b].setMap(null), this.layers.splice(b, 1);
1374//                     break
1375//                 }
1376//     };
1377//     var k, l;
1378//     return j.prototype.getRoutes = function(b) {
1379//         switch (b.travelMode) {
1380//             case "bicycling":
1381//                 k = google.maps.TravelMode.BICYCLING;
1382//                 break;
1383//             case "transit":
1384//                 k = google.maps.TravelMode.TRANSIT;
1385//                 break;
1386//             case "driving":
1387//                 k = google.maps.TravelMode.DRIVING;
1388//                 break;
1389//             default:
1390//                 k = google.maps.TravelMode.WALKING
1391//         }
1392//         l = "imperial" === b.unitSystem ? google.maps.UnitSystem.IMPERIAL : google.maps.UnitSystem.METRIC;
1393//         var c = {
1394//                 avoidHighways: !1,
1395//                 avoidTolls: !1,
1396//                 optimizeWaypoints: !1,
1397//                 waypoints: []
1398//             },
1399//             d = a(c, b);
1400//         d.origin = /string/.test(typeof b.origin) ? b.origin : new google.maps.LatLng(b.origin[0], b.origin[1]), d.destination = /string/.test(typeof b.destination) ? b.destination : new google.maps.LatLng(b.destination[0], b.destination[1]), d.travelMode = k, d.unitSystem = l, delete d.callback, delete d.error;
1401//         var e = this,
1402//             f = new google.maps.DirectionsService;
1403//         f.route(d, function(a, c) {
1404//             if (c === google.maps.DirectionsStatus.OK) {
1405//                 for (var d in a.routes) a.routes.hasOwnProperty(d) && e.routes.push(a.routes[d]);
1406//                 b.callback && b.callback(e.routes)
1407//             } else b.error && b.error(a, c)
1408//         })
1409//     }, j.prototype.removeRoutes = function() {
1410//         this.routes = []
1411//     }, j.prototype.getElevations = function(d) {
1412//         d = a({
1413//             locations: [],
1414//             path: !1,
1415//             samples: 256
1416//         }, d), d.locations.length > 0 && d.locations[0].length > 0 && (d.locations = c(b([d.locations], f, !1)));
1417//         var e = d.callback;
1418//         delete d.callback;
1419//         var g = new google.maps.ElevationService;
1420//         if (d.path) {
1421//             var h = {
1422//                 path: d.locations,
1423//                 samples: d.samples
1424//             };
1425//             g.getElevationAlongPath(h, function(a, b) {
1426//                 e && "function" == typeof e && e(a, b)
1427//             })
1428//         } else delete d.path, delete d.samples, g.getElevationForLocations(d, function(a, b) {
1429//             e && "function" == typeof e && e(a, b)
1430//         })
1431//     }, j.prototype.cleanRoute = j.prototype.removePolylines, j.prototype.drawRoute = function(a) {
1432//         var b = this;
1433//         this.getRoutes({
1434//             origin: a.origin,
1435//             destination: a.destination,
1436//             travelMode: a.travelMode,
1437//             waypoints: a.waypoints,
1438//             unitSystem: a.unitSystem,
1439//             error: a.error,
1440//             callback: function(c) {
1441//                 if (c.length > 0) {
1442//                     var d = {
1443//                         path: c[c.length - 1].overview_path,
1444//                         strokeColor: a.strokeColor,
1445//                         strokeOpacity: a.strokeOpacity,
1446//                         strokeWeight: a.strokeWeight
1447//                     };
1448//                     a.hasOwnProperty("icons") && (d.icons = a.icons), b.drawPolyline(d), a.callback && a.callback(c[c.length - 1])
1449//                 }
1450//             }
1451//         })
1452//     }, j.prototype.travelRoute = function(a) {
1453//         if (a.origin && a.destination) this.getRoutes({
1454//             origin: a.origin,
1455//             destination: a.destination,
1456//             travelMode: a.travelMode,
1457//             waypoints: a.waypoints,
1458//             unitSystem: a.unitSystem,
1459//             error: a.error,
1460//             callback: function(b) {
1461//                 if (b.length > 0 && a.start && a.start(b[b.length - 1]), b.length > 0 && a.step) {
1462//                     var c = b[b.length - 1];
1463//                     if (c.legs.length > 0)
1464//                         for (var d, e = c.legs[0].steps, f = 0; d = e[f]; f++) d.step_number = f, a.step(d, c.legs[0].steps.length - 1)
1465//                 }
1466//                 b.length > 0 && a.end && a.end(b[b.length - 1])
1467//             }
1468//         });
1469//         else if (a.route && a.route.legs.length > 0)
1470//             for (var b, c = a.route.legs[0].steps, d = 0; b = c[d]; d++) b.step_number = d,
1471//                 a.step(b)
1472//     }, j.prototype.drawSteppedRoute = function(a) {
1473//         var b = this;
1474//         if (a.origin && a.destination) this.getRoutes({
1475//             origin: a.origin,
1476//             destination: a.destination,
1477//             travelMode: a.travelMode,
1478//             waypoints: a.waypoints,
1479//             error: a.error,
1480//             callback: function(c) {
1481//                 if (c.length > 0 && a.start && a.start(c[c.length - 1]), c.length > 0 && a.step) {
1482//                     var d = c[c.length - 1];
1483//                     if (d.legs.length > 0)
1484//                         for (var e, f = d.legs[0].steps, g = 0; e = f[g]; g++) {
1485//                             e.step_number = g;
1486//                             var h = {
1487//                                 path: e.path,
1488//                                 strokeColor: a.strokeColor,
1489//                                 strokeOpacity: a.strokeOpacity,
1490//                                 strokeWeight: a.strokeWeight
1491//                             };
1492//                             a.hasOwnProperty("icons") && (h.icons = a.icons), b.drawPolyline(h), a.step(e, d.legs[0].steps.length - 1)
1493//                         }
1494//                 }
1495//                 c.length > 0 && a.end && a.end(c[c.length - 1])
1496//             }
1497//         });
1498//         else if (a.route && a.route.legs.length > 0)
1499//             for (var c, d = a.route.legs[0].steps, e = 0; c = d[e]; e++) {
1500//                 c.step_number = e;
1501//                 var f = {
1502//                     path: c.path,
1503//                     strokeColor: a.strokeColor,
1504//                     strokeOpacity: a.strokeOpacity,
1505//                     strokeWeight: a.strokeWeight
1506//                 };
1507//                 a.hasOwnProperty("icons") && (f.icons = a.icons), b.drawPolyline(f), a.step(c)
1508//             }
1509//     }, j.Route = function(a) {
1510//         this.origin = a.origin, this.destination = a.destination, this.waypoints = a.waypoints, this.map = a.map, this.route = a.route, this.step_count = 0, this.steps = this.route.legs[0].steps, this.steps_length = this.steps.length;
1511//         var b = {
1512//             path: new google.maps.MVCArray,
1513//             strokeColor: a.strokeColor,
1514//             strokeOpacity: a.strokeOpacity,
1515//             strokeWeight: a.strokeWeight
1516//         };
1517//         a.hasOwnProperty("icons") && (b.icons = a.icons), this.polyline = this.map.drawPolyline(b).getPath()
1518//     }, j.Route.prototype.getRoute = function(a) {
1519//         var b = this;
1520//         this.map.getRoutes({
1521//             origin: this.origin,
1522//             destination: this.destination,
1523//             travelMode: a.travelMode,
1524//             waypoints: this.waypoints || [],
1525//             error: a.error,
1526//             callback: function() {
1527//                 b.route = e[0], a.callback && a.callback.call(b)
1528//             }
1529//         })
1530//     }, j.Route.prototype.back = function() {
1531//         if (this.step_count > 0) {
1532//             this.step_count--;
1533//             var a = this.route.legs[0].steps[this.step_count].path;
1534//             for (var b in a) a.hasOwnProperty(b) && this.polyline.pop()
1535//         }
1536//     }, j.Route.prototype.forward = function() {
1537//         if (this.step_count < this.steps_length) {
1538//             var a = this.route.legs[0].steps[this.step_count].path;
1539//             for (var b in a) a.hasOwnProperty(b) && this.polyline.push(a[b]);
1540//             this.step_count++
1541//         }
1542//     }, j.prototype.checkGeofence = function(a, b, c) {
1543//         return c.containsLatLng(new google.maps.LatLng(a, b))
1544//     }, j.prototype.checkMarkerGeofence = function(a, b) {
1545//         if (a.fences)
1546//             for (var c, d = 0; c = a.fences[d]; d++) {
1547//                 var e = a.getPosition();
1548//                 this.checkGeofence(e.lat(), e.lng(), c) || b(a, c)
1549//             }
1550//     }, j.prototype.toImage = function(a) {
1551//         var a = a || {},
1552//             b = {};
1553//         if (b.size = a.size || [this.el.clientWidth, this.el.clientHeight], b.lat = this.getCenter().lat(), b.lng = this.getCenter().lng(), this.markers.length > 0) {
1554//             b.markers = [];
1555//             for (var c = 0; c < this.markers.length; c++) b.markers.push({
1556//                 lat: this.markers[c].getPosition().lat(),
1557//                 lng: this.markers[c].getPosition().lng()
1558//             })
1559//         }
1560//         if (this.polylines.length > 0) {
1561//             var d = this.polylines[0];
1562//             b.polyline = {}, b.polyline.path = google.maps.geometry.encoding.encodePath(d.getPath()), b.polyline.strokeColor = d.strokeColor, b.polyline.strokeOpacity = d.strokeOpacity, b.polyline.strokeWeight = d.strokeWeight
1563//         }
1564//         return j.staticMapURL(b)
1565//     }, j.staticMapURL = function(a) {
1566//         function b(a, b) {
1567//             if ("#" === a[0] && (a = a.replace("#", "0x"), b)) {
1568//                 if (b = parseFloat(b), b = Math.min(1, Math.max(b, 0)), 0 === b) return "0x00000000";
1569//                 b = (255 * b).toString(16), 1 === b.length && (b += b), a = a.slice(0, 8) + b
1570//             }
1571//             return a
1572//         }
1573//         var c, d = [],
1574//             e = ("file:" === location.protocol ? "http:" : location.protocol) + "//maps.googleapis.com/maps/api/staticmap";
1575//         a.url && (e = a.url, delete a.url), e += "?";
1576//         var f = a.markers;
1577//         delete a.markers, !f && a.marker && (f = [a.marker], delete a.marker);
1578//         var g = a.styles;
1579//         delete a.styles;
1580//         var h = a.polyline;
1581//         if (delete a.polyline, a.center) d.push("center=" + a.center), delete a.center;
1582//         else if (a.address) d.push("center=" + a.address), delete a.address;
1583//         else if (a.lat) d.push(["center=", a.lat, ",", a.lng].join("")), delete a.lat, delete a.lng;
1584//         else if (a.visible) {
1585//             var i = encodeURI(a.visible.join("|"));
1586//             d.push("visible=" + i)
1587//         }
1588//         var j = a.size;
1589//         j ? (j.join && (j = j.join("x")), delete a.size) : j = "630x300", d.push("size=" + j), a.zoom || a.zoom === !1 || (a.zoom = 15);
1590//         var k = a.hasOwnProperty("sensor") ? !!a.sensor : !0;
1591//         delete a.sensor, d.push("sensor=" + k);
1592//         for (var l in a) a.hasOwnProperty(l) && d.push(l + "=" + a[l]);
1593//         if (f)
1594//             for (var m, n, o = 0; c = f[o]; o++) {
1595//                 m = [], c.size && "normal" !== c.size ? (m.push("size:" + c.size), delete c.size) : c.icon && (m.push("icon:" + encodeURI(c.icon)), delete c.icon), c.color && (m.push("color:" + c.color.replace("#", "0x")), delete c.color), c.label && (m.push("label:" + c.label[0].toUpperCase()), delete c.label), n = c.address ? c.address : c.lat + "," + c.lng, delete c.address, delete c.lat, delete c.lng;
1596//                 for (var l in c) c.hasOwnProperty(l) && m.push(l + ":" + c[l]);
1597//                 m.length || 0 === o ? (m.push(n), m = m.join("|"), d.push("markers=" + encodeURI(m))) : (m = d.pop() + encodeURI("|" + n), d.push(m))
1598//             }
1599//         if (g)
1600//             for (var o = 0; o < g.length; o++) {
1601//                 var p = [];
1602//                 g[o].featureType && p.push("feature:" + g[o].featureType.toLowerCase()), g[o].elementType && p.push("element:" + g[o].elementType.toLowerCase());
1603//                 for (var q = 0; q < g[o].stylers.length; q++)
1604//                     for (var r in g[o].stylers[q]) {
1605//                         var s = g[o].stylers[q][r];
1606//                         ("hue" == r || "color" == r) && (s = "0x" + s.substring(1)), p.push(r + ":" + s)
1607//                     }
1608//                 var t = p.join("|");
1609//                 "" != t && d.push("style=" + t)
1610//             }
1611//         if (h) {
1612//             if (c = h, h = [], c.strokeWeight && h.push("weight:" + parseInt(c.strokeWeight, 10)), c.strokeColor) {
1613//                 var u = b(c.strokeColor, c.strokeOpacity);
1614//                 h.push("color:" + u)
1615//             }
1616//             if (c.fillColor) {
1617//                 var v = b(c.fillColor, c.fillOpacity);
1618//                 h.push("fillcolor:" + v)
1619//             }
1620//             var w = c.path;
1621//             if (w.join)
1622//                 for (var x, q = 0; x = w[q]; q++) h.push(x.join(","));
1623//             else h.push("enc:" + w);
1624//             h = h.join("|"), d.push("path=" + encodeURI(h))
1625//         }
1626//         var y = window.devicePixelRatio || 1;
1627//         return d.push("scale=" + y), d = d.join("&"), e + d
1628//     }, j.prototype.addMapType = function(a, b) {
1629//         if (!b.hasOwnProperty("getTileUrl") || "function" != typeof b.getTileUrl) throw "'getTileUrl' function required.";
1630//         b.tileSize = b.tileSize || new google.maps.Size(256, 256);
1631//         var c = new google.maps.ImageMapType(b);
1632//         this.map.mapTypes.set(a, c)
1633//     }, j.prototype.addOverlayMapType = function(a) {
1634//         if (!a.hasOwnProperty("getTile") || "function" != typeof a.getTile) throw "'getTile' function required.";
1635//         var b = a.index;
1636//         delete a.index, this.map.overlayMapTypes.insertAt(b, a)
1637//     }, j.prototype.removeOverlayMapType = function(a) {
1638//         this.map.overlayMapTypes.removeAt(a)
1639//     }, j.prototype.addStyle = function(a) {
1640//         var b = new google.maps.StyledMapType(a.styles, {
1641//             name: a.styledMapName
1642//         });
1643//         this.map.mapTypes.set(a.mapTypeId, b)
1644//     }, j.prototype.setStyle = function(a) {
1645//         this.map.setMapTypeId(a)
1646//     }, j.prototype.createPanorama = function(a) {
1647//         return a.hasOwnProperty("lat") && a.hasOwnProperty("lng") || (a.lat = this.getCenter().lat(), a.lng = this.getCenter().lng()), this.panorama = j.createPanorama(a), this.map.setStreetView(this.panorama), this.panorama
1648//     }, j.createPanorama = function(b) {
1649//         var c = h(b.el, b.context);
1650//         b.position = new google.maps.LatLng(b.lat, b.lng), delete b.el, delete b.context, delete b.lat, delete b.lng;
1651//         for (var d = ["closeclick", "links_changed", "pano_changed", "position_changed", "pov_changed", "resize", "visible_changed"], e = a({
1652//                 visible: !0
1653//             }, b), f = 0; f < d.length; f++) delete e[d[f]];
1654//         for (var g = new google.maps.StreetViewPanorama(c, e), f = 0; f < d.length; f++) ! function(a, c) {
1655//             b[c] && google.maps.event.addListener(a, c, function() {
1656//                 b[c].apply(this)
1657//             })
1658//         }(g, d[f]);
1659//         return g
1660//     }, j.prototype.on = function(a, b) {
1661//         return j.on(a, this, b)
1662//     }, j.prototype.off = function(a) {
1663//         j.off(a, this)
1664//     }, j.custom_events = ["marker_added", "marker_removed", "polyline_added", "polyline_removed", "polygon_added", "polygon_removed", "geolocated", "geolocation_failed"], j.on = function(a, b, c) {
1665//         if (-1 == j.custom_events.indexOf(a)) return b instanceof j && (b = b.map), google.maps.event.addListener(b, a, c);
1666//         var d = {
1667//             handler: c,
1668//             eventName: a
1669//         };
1670//         return b.registered_events[a] = b.registered_events[a] || [], b.registered_events[a].push(d), d
1671//     }, j.off = function(a, b) {
1672//         -1 == j.custom_events.indexOf(a) ? (b instanceof j && (b = b.map), google.maps.event.clearListeners(b, a)) : b.registered_events[a] = []
1673//     }, j.fire = function(a, b, c) {
1674//         if (-1 == j.custom_events.indexOf(a)) google.maps.event.trigger(b, a, Array.prototype.slice.apply(arguments).slice(2));
1675//         else if (a in c.registered_events)
1676//             for (var d = c.registered_events[a], e = 0; e < d.length; e++) ! function(a, b, c) {
1677//                 a.apply(b, [c])
1678//             }(d[e].handler, c, b)
1679//     }, j.geolocate = function(a) {
1680//         var b = a.always || a.complete;
1681//         navigator.geolocation ? navigator.geolocation.getCurrentPosition(function(c) {
1682//             a.success(c), b && b()
1683//         }, function(c) {
1684//             a.error(c), b && b()
1685//         }, a.options) : (a.not_supported(), b && b())
1686//     }, j.geocode = function(a) {
1687//         this.geocoder = new google.maps.Geocoder;
1688//         var b = a.callback;
1689//         a.hasOwnProperty("lat") && a.hasOwnProperty("lng") && (a.latLng = new google.maps.LatLng(a.lat, a.lng)), delete a.lat, delete a.lng, delete a.callback, this.geocoder.geocode(a, function(a, c) {
1690//             b(a, c)
1691//         })
1692//     }, google.maps.Polygon.prototype.getBounds || (google.maps.Polygon.prototype.getBounds = function(a) {
1693//         for (var b, c = new google.maps.LatLngBounds, d = this.getPaths(), e = 0; e < d.getLength(); e++) {
1694//             b = d.getAt(e);
1695//             for (var f = 0; f < b.getLength(); f++) c.extend(b.getAt(f))
1696//         }
1697//         return c
1698//     }), google.maps.Polygon.prototype.containsLatLng || (google.maps.Polygon.prototype.containsLatLng = function(a) {
1699//         var b = this.getBounds();
1700//         if (null !== b && !b.contains(a)) return !1;
1701//         for (var c = !1, d = this.getPaths().getLength(), e = 0; d > e; e++)
1702//             for (var f = this.getPaths().getAt(e), g = f.getLength(), h = g - 1, i = 0; g > i; i++) {
1703//                 var j = f.getAt(i),
1704//                     k = f.getAt(h);
1705//                 (j.lng() < a.lng() && k.lng() >= a.lng() || k.lng() < a.lng() && j.lng() >= a.lng()) && j.lat() + (a.lng() - j.lng()) / (k.lng() - j.lng()) * (k.lat() - j.lat()) < a.lat() && (c = !c), h = i
1706//             }
1707//         return c
1708//     }), google.maps.Circle.prototype.containsLatLng || (google.maps.Circle.prototype.containsLatLng = function(a) {
1709//         return google.maps.geometry ? google.maps.geometry.spherical.computeDistanceBetween(this.getCenter(), a) <= this.getRadius() : !0
1710//     }), google.maps.LatLngBounds.prototype.containsLatLng = function(a) {
1711//         return this.contains(a)
1712//     }, google.maps.Marker.prototype.setFences = function(a) {
1713//         this.fences = a
1714//     }, google.maps.Marker.prototype.addFence = function(a) {
1715//         this.fences.push(a)
1716//     }, google.maps.Marker.prototype.getId = function() {
1717//         return this.__gm_id
1718//     }, Array.prototype.indexOf || (Array.prototype.indexOf = function(a) {
1719//         "use strict";
1720//         if (null == this) throw new TypeError;
1721//         var b = Object(this),
1722//             c = b.length >>> 0;
1723//         if (0 === c) return -1;
1724//         var d = 0;
1725//         if (arguments.length > 1 && (d = Number(arguments[1]), d != d ? d = 0 : 0 != d && d != 1 / 0 && d != -(1 / 0) && (d = (d > 0 || -1) * Math.floor(Math.abs(d)))), d >= c) return -1;
1726//         for (var e = d >= 0 ? d : Math.max(c - Math.abs(d), 0); c > e; e++)
1727//             if (e in b && b[e] === a) return e;
1728//         return -1
1729//     }), j
1730// }), + 
1731function(a) {
1732    "use strict";
1733    var b = function(c, d) {
1734        this.$element = a(c), this.options = a.extend({}, b.DEFAULTS, d), this.state = null, this.placement = null, this.options.recalc && (this.calcClone(), a(window).on("resize", a.proxy(this.recalc, this))), this.options.autohide && a(document).on("click", a.proxy(this.autohide, this)), this.options.toggle && this.toggle(), this.options.disablescrolling && (this.options.disableScrolling = this.options.disablescrolling, delete this.options.disablescrolling)
1735    };
1736    b.DEFAULTS = {
1737        toggle: !0,
1738        placement: "auto",
1739        autohide: !0,
1740        recalc: !0,
1741        disableScrolling: !0
1742    }, b.prototype.offset = function() {
1743        switch (this.placement) {
1744            case "left":
1745            case "right":
1746                return this.$element.outerWidth();
1747            case "top":
1748            case "bottom":
1749                return this.$element.outerHeight()
1750        }
1751    }, b.prototype.calcPlacement = function() {
1752        function b(a, b) {
1753            if ("auto" === e.css(b)) return a;
1754            if ("auto" === e.css(a)) return b;
1755            var c = parseInt(e.css(a), 10),
1756                d = parseInt(e.css(b), 10);
1757            return c > d ? b : a
1758        }
1759        if ("auto" !== this.options.placement) return void(this.placement = this.options.placement);
1760        this.$element.hasClass("in") || this.$element.css("visiblity", "hidden !important").addClass("in");
1761        var c = a(window).width() / this.$element.width(),
1762            d = a(window).height() / this.$element.height(),
1763            e = this.$element;
1764        this.placement = c >= d ? b("left", "right") : b("top", "bottom"), "hidden !important" === this.$element.css("visibility") && this.$element.removeClass("in").css("visiblity", "")
1765    }, b.prototype.opposite = function(a) {
1766        switch (a) {
1767            case "top":
1768                return "bottom";
1769            case "left":
1770                return "right";
1771            case "bottom":
1772                return "top";
1773            case "right":
1774                return "left"
1775        }
1776    }, b.prototype.getCanvasElements = function() {
1777        var b = this.options.canvas ? a(this.options.canvas) : this.$element,
1778            c = b.find("*").filter(function() {
1779                return "fixed" === a(this).css("position")
1780            }).not(this.options.exclude);
1781        return b.add(c)
1782    }, b.prototype.slide = function(b, c, d) {
1783        if (!a.support.transition) {
1784            var e = {};
1785            return e[this.placement] = "+=" + c, b.animate(e, 350, d)
1786        }
1787        var f = this.placement,
1788            g = this.opposite(f);
1789        b.each(function() {
1790            "auto" !== a(this).css(f) && a(this).css(f, (parseInt(a(this).css(f), 10) || 0) + c), "auto" !== a(this).css(g) && a(this).css(g, (parseInt(a(this).css(g), 10) || 0) - c)
1791        }), this.$element.one(a.support.transition.end, d).emulateTransitionEnd(350)
1792    }, b.prototype.disableScrolling = function() {
1793        var b = a("body").width(),
1794            c = "padding-" + this.opposite(this.placement);
1795        if (void 0 === a("body").data("offcanvas-style") && a("body").data("offcanvas-style", a("body").attr("style") || ""), a("body").css("overflow", "hidden"), a("body").width() > b) {
1796            var d = parseInt(a("body").css(c), 10) + a("body").width() - b;
1797            setTimeout(function() {
1798                a("body").css(c, d)
1799            }, 1)
1800        }
1801    }, b.prototype.show = function() {
1802        if (!this.state) {
1803            var b = a.Event("show.bs.offcanvas");
1804            if (this.$element.trigger(b), !b.isDefaultPrevented()) {
1805                this.state = "slide-in", this.calcPlacement();
1806                var c = this.getCanvasElements(),
1807                    d = this.placement,
1808                    e = this.opposite(d),
1809                    f = this.offset(); - 1 !== c.index(this.$element) && (a(this.$element).data("offcanvas-style", a(this.$element).attr("style") || ""), this.$element.css(d, -1 * f), this.$element.css(d)), c.addClass("canvas-sliding").each(function() {
1810                    void 0 === a(this).data("offcanvas-style") && a(this).data("offcanvas-style", a(this).attr("style") || ""), "static" === a(this).css("position") && a(this).css("position", "relative"), "auto" !== a(this).css(d) && "0px" !== a(this).css(d) || "auto" !== a(this).css(e) && "0px" !== a(this).css(e) || a(this).css(d, 0)
1811                }), this.options.disableScrolling && this.disableScrolling();
1812                var g = function() {
1813                    "slide-in" == this.state && (this.state = "slid", c.removeClass("canvas-sliding").addClass("canvas-slid"), this.$element.trigger("shown.bs.offcanvas"))
1814                };
1815                setTimeout(a.proxy(function() {
1816                    this.$element.addClass("in"), this.slide(c, f, a.proxy(g, this))
1817                }, this), 1)
1818            }
1819        }
1820    }, b.prototype.hide = function(b) {
1821        if ("slid" === this.state) {
1822            var c = a.Event("hide.bs.offcanvas");
1823            if (this.$element.trigger(c), !c.isDefaultPrevented()) {
1824                this.state = "slide-out";
1825                var d = a(".canvas-slid"),
1826                    e = (this.placement, -1 * this.offset()),
1827                    f = function() {
1828                        "slide-out" == this.state && (this.state = null, this.placement = null, this.$element.removeClass("in"), d.removeClass("canvas-sliding"), d.add(this.$element).add("body").each(function() {
1829                            a(this).attr("style", a(this).data("offcanvas-style")).removeData("offcanvas-style")
1830                        }), this.$element.trigger("hidden.bs.offcanvas"))
1831                    };
1832                d.removeClass("canvas-slid").addClass("canvas-sliding"), setTimeout(a.proxy(function() {
1833                    this.slide(d, e, a.proxy(f, this))
1834                }, this), 1)
1835            }
1836        }
1837    }, b.prototype.toggle = function() {
1838        "slide-in" !== this.state && "slide-out" !== this.state && this["slid" === this.state ? "hide" : "show"]()
1839    }, b.prototype.calcClone = function() {
1840        this.$calcClone = this.$element.clone().html("").addClass("offcanvas-clone").removeClass("in").appendTo(a("body"))
1841    }, b.prototype.recalc = function() {
1842        if ("none" !== this.$calcClone.css("display") && ("slid" === this.state || "slide-in" === this.state)) {
1843            this.state = null, this.placement = null;
1844            var b = this.getCanvasElements();
1845            this.$element.removeClass("in"), b.removeClass("canvas-slid"), b.add(this.$element).add("body").each(function() {
1846                a(this).attr("style", a(this).data("offcanvas-style")).removeData("offcanvas-style")
1847            })
1848        }
1849    }, b.prototype.autohide = function(b) {
1850        0 === a(b.target).closest(this.$element).length && this.hide()
1851    };
1852    var c = a.fn.offcanvas;
1853    a.fn.offcanvas = function(c) {
1854        return this.each(function() {
1855            var d = a(this),
1856                e = d.data("bs.offcanvas"),
1857                f = a.extend({}, b.DEFAULTS, d.data(), "object" == typeof c && c);
1858            e || d.data("bs.offcanvas", e = new b(this, f)), "string" == typeof c && e[c]()
1859        })
1860    }, a.fn.offcanvas.Constructor = b, a.fn.offcanvas.noConflict = function() {
1861        return a.fn.offcanvas = c, this
1862    }, a(document).on("click.bs.offcanvas.data-api", "[data-toggle=offcanvas]", function(b) {
1863        var c, d = a(this),
1864            e = d.attr("data-target") || b.preventDefault() || (c = d.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, ""),
1865            f = a(e),
1866            g = f.data("bs.offcanvas"),
1867            h = g ? "toggle" : d.data();
1868        b.stopPropagation(), g ? g.toggle() : f.offcanvas(h)
1869    })
1870}(window.jQuery);
1871var outdatedBrowser = function(a) {
1872    function b(a) {
1873        h.style.opacity = a / 100, h.style.filter = "alpha(opacity=" + a + ")"
1874    }
1875
1876    function c(a) {
1877        b(a), 1 == a && (h.style.display = "block"), 100 == a && (i = !0)
1878    }
1879
1880    function d() {
1881        var a = document.getElementById("btnCloseUpdateBrowser"),
1882            b = document.getElementById("btnUpdateBrowser");
1883        h.style.backgroundColor = bkgColor, h.style.color = txtColor, h.children[0].style.color = txtColor, h.children[1].style.color = txtColor, b.style.color = txtColor, b.style.borderColor = txtColor, a.style.color = txtColor, a.onmousedown = function() {
1884            return h.style.display = "none", !1
1885        }, b.onmouseover = function() {
1886            this.style.color = bkgColor, this.style.backgroundColor = txtColor
1887        }, b.onmouseout = function() {
1888            this.style.color = txtColor, this.style.backgroundColor = bkgColor
1889        }
1890    }
1891
1892    function e() {
1893        var a = !1;
1894        if (window.XMLHttpRequest) a = new XMLHttpRequest;
1895        else if (window.ActiveXObject) try {
1896            a = new ActiveXObject("Msxml2.XMLHTTP")
1897        } catch (b) {
1898            try {
1899                a = new ActiveXObject("Microsoft.XMLHTTP")
1900            } catch (b) {
1901                a = !1
1902            }
1903        }
1904        return a
1905    }
1906
1907    function f(a) {
1908        var b = e();
1909        return b && (b.onreadystatechange = function() {
1910            g(b)
1911        }, b.open("GET", a, !0), b.send(null)), !1
1912    }
1913
1914    function g(a) {
1915        var b = document.getElementById("outdated");
1916        return 4 == a.readyState && (200 == a.status || 304 == a.status ? b.innerHTML = a.responseText : b.innerHTML = l, d()), !1
1917    }
1918    var h = document.getElementById("outdated");
1919    this.defaultOpts = {
1920        bgColor: "#f25648",
1921        color: "#ffffff",
1922        lowerThan: "transform",
1923        languagePath: "../outdatedbrowser/lang/en.html"
1924    }, a ? ("IE8" == a.lowerThan || "borderSpacing" == a.lowerThan ? a.lowerThan = "borderSpacing" : "IE9" == a.lowerThan || "boxShadow" == a.lowerThan ? a.lowerThan = "boxShadow" : "IE10" == a.lowerThan || "transform" == a.lowerThan || "" == a.lowerThan || "undefined" == typeof a.lowerThan ? a.lowerThan = "transform" : ("IE11" == a.lowerThan || "borderImage" == a.lowerThan) && (a.lowerThan = "borderImage"), this.defaultOpts.bgColor = a.bgColor, this.defaultOpts.color = a.color, this.defaultOpts.lowerThan = a.lowerThan, this.defaultOpts.languagePath = a.languagePath, bkgColor = this.defaultOpts.bgColor, txtColor = this.defaultOpts.color, cssProp = this.defaultOpts.lowerThan, languagePath = this.defaultOpts.languagePath) : (bkgColor = this.defaultOpts.bgColor, txtColor = this.defaultOpts.color, cssProp = this.defaultOpts.lowerThan, languagePath = this.defaultOpts.languagePath);
1925    var i = !0,
1926        j = function() {
1927            var a = document.createElement("div"),
1928                b = "Khtml Ms O Moz Webkit".split(" "),
1929                c = b.length;
1930            return function(d) {
1931                if (d in a.style) return !0;
1932                for (d = d.replace(/^[a-z]/, function(a) {
1933                        return a.toUpperCase()
1934                    }); c--;)
1935                    if (b[c] + d in a.style) return !0;
1936                return !1
1937            }
1938        }();
1939    if (!j("" + cssProp) && i && "1" !== h.style.opacity) {
1940        i = !1;
1941        for (var k = 1; 100 >= k; k++) setTimeout(function(a) {
1942            return function() {
1943                c(a)
1944            }
1945        }(k), 8 * k)
1946    }
1947    " " === languagePath || 0 == languagePath.length ? d() : f(languagePath);
1948    var l = '<h6>Your browser is out-of-date!</h6><p>Update your browser to view this website correctly. <a id="btnUpdateBrowser" href="http://outdatedbrowser.com/">Update my browser now </a></p><p class="last"><a href="#" id="btnCloseUpdateBrowser" title="Close">×</a></p>'
1949};
1950! function() {
1951    "use strict";
1952
1953    function a(b, d) {
1954        function e(a, b) {
1955            return function() {
1956                return a.apply(b, arguments)
1957            }
1958        }
1959        var f;
1960        if (d = d || {}, this.trackingClick = !1, this.trackingClickStart = 0, this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, this.touchBoundary = d.touchBoundary || 10, this.layer = b, this.tapDelay = d.tapDelay || 200, this.tapTimeout = d.tapTimeout || 700, !a.notNeeded(b)) {
1961            for (var g = ["onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel"], h 
vendor: 5,537 bytes, lines 1961-2058
1961= this, i = 0, j = g.length; j > i; i++) h[g[i]] = e(h[g[i]], h);
1962            c && (b.addEventListener("mouseover", this.onMouse, !0), b.addEventListener("mousedown", this.onMouse, !0), b.addEventListener("mouseup", this.onMouse, !0)), b.addEventListener("click", this.onClick, !0), b.addEventListener("touchstart", this.onTouchStart, !1), b.addEventListener("touchmove", this.onTouchMove, !1), b.addEventListener("touchend", this.onTouchEnd, !1), b.addEventListener("touchcancel", this.onTouchCancel, !1), Event.prototype.stopImmediatePropagation || (b.removeEventListener = function(a, c, d) {
1963                var e = Node.prototype.removeEventListener;
1964                "click" === a ? e.call(b, a, c.hijacked || c, d) : e.call(b, a, c, d)
1965            }, b.addEventListener = function(a, c, d) {
1966                var e = Node.prototype.addEventListener;
1967                "click" === a ? e.call(b, a, c.hijacked || (c.hijacked = function(a) {
1968                    a.propagationStopped || c(a)
1969                }), d) : e.call(b, a, c, d)
1970            }), "function" == typeof b.onclick && (f = b.onclick, b.addEventListener("click", function(a) {
1971                f(a)
1972            }, !1), b.onclick = null)
1973        }
1974    }
1975    var b = navigator.userAgent.indexOf("Windows Phone") >= 0,
1976        c = navigator.userAgent.indexOf("Android") > 0 && !b,
1977        d = /iP(ad|hone|od)/.test(navigator.userAgent) && !b,
1978        e = d && /OS 4_\d(_\d)?/.test(navigator.userAgent),
1979        f = d && /OS [6-7]_\d/.test(navigator.userAgent),
1980        g = navigator.userAgent.indexOf("BB10") > 0;
1981    a.prototype.needsClick = function(a) {
1982        switch (a.nodeName.toLowerCase()) {
1983            case "button":
1984            case "select":
1985            case "textarea":
1986                if (a.disabled) return !0;
1987                break;
1988            case "input":
1989                if (d && "file" === a.type || a.disabled) return !0;
1990                break;
1991            case "label":
1992            case "iframe":
1993            case "video":
1994                return !0
1995        }
1996        return /\bneedsclick\b/.test(a.className)
1997    }, a.prototype.needsFocus = function(a) {
1998        switch (a.nodeName.toLowerCase()) {
1999            case "textarea":
2000                return !0;
2001            case "select":
2002                return !c;
2003            case "input":
2004                switch (a.type) {
2005                    case "button":
2006                    case "checkbox":
2007                    case "file":
2008                    case "image":
2009                    case "radio":
2010                    case "submit":
2011                        return !1
2012                }
2013                return !a.disabled && !a.readOnly;
2014            default:
2015                return /\bneedsfocus\b/.test(a.className)
2016        }
2017    }, a.prototype.sendClick = function(a, b) {
2018        var c, d;
2019        document.activeElement && document.activeElement !== a && document.activeElement.blur(), d = b.changedTouches[0], c = document.createEvent("MouseEvents"), c.initMouseEvent(this.determineEventType(a), !0, !0, window, 1, d.screenX, d.screenY, d.clientX, d.clientY, !1, !1, !1, !1, 0, null), c.forwardedTouchEvent = !0, a.dispatchEvent(c)
2020    }, a.prototype.determineEventType = function(a) {
2021        return c && "select" === a.tagName.toLowerCase() ? "mousedown" : "click"
2022    }, a.prototype.focus = function(a) {
2023        var b;
2024        d && a.setSelectionRange && 0 !== a.type.indexOf("date") && "time" !== a.type && "month" !== a.type ? (b = a.value.length, a.setSelectionRange(b, b)) : a.focus()
2025    }, a.prototype.updateScrollParent = function(a) {
2026        var b, c;
2027        if (b = a.fastClickScrollParent, !b || !b.contains(a)) {
2028            c = a;
2029            do {
2030                if (c.scrollHeight > c.offsetHeight) {
2031                    b = c, a.fastClickScrollParent = c;
2032                    break
2033                }
2034                c = c.parentElement
2035            } while (c)
2036        }
2037        b && (b.fastClickLastScrollTop = b.scrollTop)
2038    }, a.prototype.getTargetElementFromEventTarget = function(a) {
2039        return a.nodeType === Node.TEXT_NODE ? a.parentNode : a
2040    }, a.prototype.onTouchStart = function(a) {
2041        var b, c, f;
2042        if (a.targetTouches.length > 1) return !0;
2043        if (b = this.getTargetElementFromEventTarget(a.target), c = a.targetTouches[0], d) {
2044            if (f = window.getSelection(), f.rangeCount && !f.isCollapsed) return !0;
2045            if (!e) {
2046                if (c.identifier && c.identifier === this.lastTouchIdentifier) return a.preventDefault(), !1;
2047                this.lastTouchIdentifier = c.identifier, this.updateScrollParent(b)
2048            }
2049        }
2050        return this.trackingClick = !0, this.trackingClickStart = a.timeStamp, this.targetElement = b, this.touchStartX = c.pageX, this.touchStartY = c.pageY, a.timeStamp - this.lastClickTime < this.tapDelay && a.preventDefault(), !0
2051    }, a.prototype.touchHasMoved = function(a) {
2052        var b = a.changedTouches[0],
2053            c = this.touchBoundary;
2054        return Math.abs(b.pageX - this.touchStartX) > c || Math.abs(b.pageY - this.touchStartY) > c ? !0 : !1
2055    }, a.prototype.onTouchMove = function(a) {
2056        return this.trackingClick ? ((this.targetElement !== this.getTargetElementFromEventTarget(a.target) || this.touchHasMoved(a)) && (this.trackingClick = !1, this.targetElement = null), !0) : !0
2057    }, a.prototype.findControl = function(a) {
2058        return void 0 !== a.control ? a.control : a.htmlFor ? document.getElementById(a.htmlFor) : a.querySelector("button, input
2058:not([type=hidden]), keygen, meter, output, progress, select, textarea")
2059    }, a.prototype.onTouchEnd = function(a) {
2060        var b, g, h, i, j, k = this.targetElement;
2061        if (!this.trackingClick) return !0;
2062        if (a.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0, !0;
2063        if (a.timeStamp - this.trackingClickStart > this.tapTimeout) return !0;
2064        if (this.cancelNextClick = !1, this.lastClickTime = a.timeStamp, g = this.trackingClickStart, this.trackingClick = !1, this.trackingClickStart = 0, f && (j = a.changedTouches[0], k = document.elementFromPoint(j.pageX - window.pageXOffset, j.pageY - window.pageYOffset) || k, k.fastClickScrollParent = this.targetElement.fastClickScrollParent), h = k.tagName.toLowerCase(), "label" === h) {
2065            if (b = this.findControl(k)) {
2066                if (this.focus(k), c) return !1;
2067                k = b
2068            }
2069        } else if (this.needsFocus(k)) return a.timeStamp - g > 100 || d && window.top !== window && "input" === h ? (this.targetElement = null, !1) : (this.focus(k), this.sendClick(k, a), d && "select" === h || (this.targetElement = null, a.preventDefault()), !1);
2070        return d && !e && (i = k.fastClickScrollParent, i && i.fastClickLastScrollTop !== i.scrollTop) ? !0 : (this.needsClick(k) || (a.preventDefault(), this.sendClick(k, a)), !1)
2071    }, a.prototype.onTouchCancel = function() {
2072        this.trackingClick = !1, this.targetElement = null
2073    }, a.prototype.onMouse = function(a) {
2074        return this.targetElement ? a.forwardedTouchEvent ? !0 : a.cancelable && (!this.needsClick(this.targetElement) || this.cancelNextClick) ? (a.stopImmediatePropagation ? a.stopImmediatePropagation() : a.propagationStopped = !0, a.stopPropagation(), a.preventDefault(), !1) : !0 : !0
2075    }, a.prototype.onClick = function(a) {
2076        var b;
2077        return this.trackingClick ? (this.targetElement = null, this.trackingClick = !1, !0) : "submit" === a.target.type && 0 === a.detail ? !0 : (b = this.onMouse(a), b || (this.targetElement = null), b)
2078    }, a.prototype.destroy = function() {
2079        var a = this.layer;
2080        c && (a.removeEventListener("mouseover", this.onMouse, !0), a.removeEventListener("mousedown", this.onMouse, !0), a.removeEventListener("mouseup", this.onMouse, !0)), a.removeEventListener("click", this.onClick, !0), a.removeEventListener("touchstart", this.onTouchStart, !1), a.removeEventListener("touchmove", this.onTouchMove, !1), a.removeEventListener("touchend", this.onTouchEnd, !1), a.removeEventListener("touchcancel", this.onTouchCancel, !1)
2081    }, a.notNeeded = function(a) {
2082        var b, d, e, f;
2083        if ("undefined" == typeof window.ontouchstart) return !0;
2084        if (d = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1]) {
2085            if (!c) return !0;
2086            if (b = document.querySelector("meta[name=viewport]")) {
2087                if (-1 !== b.content.indexOf("user-scalable=no")) return !0;
2088                if (d > 31 && document.documentElement.scrollWidth <= window.outerWidth) return !0
2089            }
2090        }
2091        if (g && (e = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/), e[1] >= 10 && e[2] >= 3 && (b = document.querySelector("meta[name=viewport]")))) {
2092            if (-1 !== b.content.indexOf("user-scalable=no")) return !0;
2093            if (document.documentElement.scrollWidth <= window.outerWidth) return !0
2094        }
2095        return "none" === a.style.msTouchAction || "manipulation" === a.style.touchAction ? !0 : (f = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1], f >= 27 && (b = document.querySelector("meta[name=viewport]"), b && (-1 !== b.content.indexOf("user-scalable=no") || document.documentElement.scrollWidth <= window.outerWidth)) ? !0 : "none" === a.style.touchAction || "manipulation" === a.style.touchAction ? !0 : !1)
2096    }, a.attach = function(b, c) {
2097        return new a(b, c)
2098    }, "function" == typeof define && "object" == typeof define.amd && define.amd ? define(function() {
2099        return a
2100    }) : "undefined" != typeof module && module.exports ? (module.exports = a.attach, module.exports.FastClick = a) : window.FastClick = a
2101}(), $(function() {
2102    function a(a) {
2103        return a.replace(/[-_]([a-z])/g, function(a) {
2104            return a[1].toUpperCase()
2105        })
2106    }
2107
2108    function b(b, c) {
2109        return delete c.ride, delete c.toggle, $.each(c, function(d, e) {
2110            var f = a(d);
2111            b[f] = c[d]
2112        }), b
2113    }
2114    $('[data-toggle="popover"]').each(function() {
2115        var a = {
2116                html: !0
2117            },
2118            c = $(this).data(),
2119            c = b(a, c);
2120        $(this).popover(c)
2121    }), $.fn.owlCarousel && $('[data-ride="owl-carousel"]').each(function() {
2122        var a = {
2123                autoplaySpeed: 750,
2124                dotsSpeed: 450,
2125                autoplayTimeout: 5e3,
2126                autoplayHoverPause: !0,
2127                autoplay: !1,
2128                dots: !1,
2129                navText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'],
2130                nav: !0,
2131                items: 1,
2132                loop: !0
2133            },
2134            c = $(this).data(),
2135            c = b(a, c);
2136        $(this).owlCarousel(c)
2137    }), $(".panel-collapse").on("show.bs.collapse", function() {
2138        var a = $(this).attr("id");
2139        $('[href="#' + a + '"]').addClass("active")
2140    }), $(".panel-collapse").on("hide.bs.collapse", function() {
2141        var a = $(this).attr("id");
2142        $('[href="#' + a + '"]').removeClass("active")
2143    }), $(".line-collapse").on("show.bs.collapse", function() {
2144        $(".line-collapse.in").collapse("hide")
2145    })
2146});

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.